説明

リモート編集システム、編集処理装置およびそのプログラム

【課題】編集命令の実行順序が命令受付順序と異なる場合であっても同様な編集結果を得ること。
【解決手段】編集処理装置10は、クライアント30から、命令通知および実行可能通知を受け付ける命令処理手段1と、挿入または上書き命令に応じて素材サーバ群20から転送された素材ファイルを受信して蓄積手段5に格納するファイル受信手段4と、受け付けた命令通知の記録をログファイルに保存して管理するログファイル管理手段2と、実行可能通知に対応してログファイルに保存された命令にしたがって完成ファイルに対する編集処理を行うメディアファイル処理手段3とを備え、メディアファイル処理手段3は、受け付けた実行可能通知がログファイルの先頭に保存された命令に対するものではない場合、ログファイルにおいて当該実行可能通知に対応した命令よりも前に保存された未実行の挿入命令を上書き命令に変更するログファイル変更処理手段32を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像や音声等のメディアファイルの編集処理を行うリモート編集システム、編集処理装置およびそのプログラムに関する。
【背景技術】
【0002】
一般に、放送局等の番組制作では、映像や音声等の複数の素材ファイルから、1つの番組ファイルを生成するために、例えばデータの挿入や削除といった編集処理が行われる。これらの映像や音声等のファイルは、フレーム単位の構造をしており、フレームには、時間情報として、タイムコードまたはフレーム番号が付与されている。したがって、ファイル内の特定のフレームを指定する場合、タイムコードまたはフレーム番号により指定される。従来、放送局で使われる映像や音声等のファイルのデータ形式として、SMPTE(Society of Motion Picture and Television Engineers)で標準化されているMXF(Material eXchange Format)が知られている(非特許文献1参照)。
【0003】
MXFでは、様々な形式の映像データや音声データを、統一したKLV(Key Length Value)エンコード形式のデータ構造で格納する。ここで、KLVエンコードは、データの種別を表すKeyフィールドと、データの長さを示すLengthフィールドと、データを格納するデータフィールドとから構成されるデータ形式である。
【0004】
また、MXFでは、映像や音声の格納の方法として、フレームラッピングが定義されている。フレームラッピングは、映像や音声を、1フレーム毎にKLVエンコードして格納する形式である。したがって、MXFのフレームラッピングを使うことで、様々なデータ形式の映像や音声を、データの圧縮形式にかかわらず、フレーム単位に利用することが可能となる。
【0005】
また、MXFでは、格納するKLVの先頭は、KAG(KLV Alignment Grid)で指定されたバイト単位でアライメントされて格納することになっている。したがって、MXFのフレームラッピングでは、映像や音声等の1フレーム分を格納したKLVの先頭をKAGサイズでアライメントした位置で保管されることになる。ここで、KAGサイズは、ファイルを保存する蓄積装置やファイルシステムのアクセス単位であるブロックサイズと同じサイズにして用いるのが一般的である。
【0006】
素材ファイルから、番組ファイルを作成する編集過程では、ファイルへのデータの挿入や、ファイルの一部削除などが頻繁に行われる。また、従来のファイルシステムでは、既存のファイルの途中に新たなデータの挿入や、一部のデータの削除を行った場合、書き換えた部分以降のデータのコピーが生じる。さらに、映像ファイルのファイルサイズは、通常のテキストファイルなどに比べて大きいため、ファイルの一部分の挿入操作や削除操作を行うと、長時間の処理時間がかかる問題がある。これを解決するために、挿入削除機能を持ったファイルシステムが提案されている(非特許文献2参照)。
【0007】
非特許文献2に記載されたファイルシステムでは、ディスク上のデータの保管場所を管理している「エクステントツリー構造」を操作することで、ディスク上のデータのコピーを行うことなく、既存のファイルの途中へのデータ挿入や、一部分のデータ削除を高速に行うことができる。このファイルシステムにおける挿入、削除の単位は、ファイルシステムが管理しているブロックサイズ単位である。そのため、KAGサイズをブロックサイズに合わせたMXFファイルを、このファイルシステムに保管することで、MXFファイルに格納した映像や音声データをフレーム単位に高速に処理することが可能となる。
【0008】
一般に、従来の編集処理装置は、1つの編集装置(単体のローカルサーバ)内の蓄積装置や、編集装置のローカルネットワークにおいて編集装置の近くにあって編集装置のハードディスクと同じような動作環境にある蓄積装置に対して、予め素材ファイルを集めておいてバラバラに保管し、それらを使って編集処理を行っていた。この一般的な編集処理装置は、蓄積装置の内部に予め複数の素材ファイルを蓄積しておき、命令を実行するとき、すなわち、メディアを再生するときに、予め蓄積した各素材ファイルから必要なデータを集めながらメディアを再生する。一方、近年では、ネットワークの高速化に伴い、ネットワークで結ばれた複数の蓄積装置に分散して蓄えられた素材ファイルを使って編集処理を行う、リモート編集装置が提案されている。リモート編集装置の例は、非特許文献3に開示されている。
【0009】
非特許文献3に記載されたシステムでは、素材ファイルおよび、編集ファイルは、バックエンドにある複数のファイルサーバに分散して蓄積されている。ここで、編集ファイルとは、例えば、保持するフレームの一部が削除されたり、素材ファイルの一部が挿入されたりするファイルであって、編集がなされた時点で一応完成しているので、以下では完成ファイルともいう。なお、例えば番組として視聴者に提供される最終形態を特に区別する場合は、最終完成ファイルという。
【0010】
非特許文献3に記載されたシステムでは、番組編集者は、ウェブブラウザに表示される編集用インタフェースを使って編集処理を行う。ファイルの編集処理は、番組編集者が指示した編集処理内容に従い、素材ファイルが保管されているサーバから、完成ファイルが保管されているサーバに、必要な素材ファイルの一部分を転送することで行われる。
編集用インタフェースを介して番組編集者が指示した編集処理の命令は、逐次、時間情報とともに編集履歴情報として保管される。この編集履歴情報は、編集操作のアンドゥ(取り消し)や、新たに素材ファイルから完成ファイルを作成するときに用いられる。
【0011】
非特許文献3に記載されたシステムの構成例を図2に示す。図2に示すリモート編集システム200では、バックエンドにあるファイルサーバの1つである編集装置210には、編集ファイル(完成ファイル)211が蓄積されている。また、編集装置210とネットワークを介してそれぞれ接続された2台のサーバ221,222には、素材ファイル221a,222bがそれぞれ蓄積されているものとする。番組編集者は、編集装置210とネットワークを介して接続されたクライアント装置のウェブブラウザに表示される編集用インタフェース230を使って、編集処理を行う。
【0012】
図2には、編集装置210に対して、編集用インタフェース230を介して指示されたNo.1〜3の編集命令が例示されており、編集装置210は、これら編集命令の順番にしたがって、編集ファイル211への実際の編集処理を行う。具体的には、No.1の編集命令は、編集ファイル211に対して、素材ファイル221aの一部の素材「A」の挿入処理を実行させるものである。また、No.1に続いて行うNo.2の編集命令は、その時点の編集ファイル211の一部である「X」を削除させるものである。さらに、No.2に続いて行うNo.3の編集命令は、その時点の編集ファイル211に対して、素材ファイル222bの一部の素材「B」の挿入処理を実行させるものである。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】SMPTE 377M,“Material eXchange Format (MXF) File Format Specification”
【非特許文献2】金子豊、外4名、「挿入削除機能付きファイルシステムによるMXFファイル編集の性能評価」、映像情報メディア学会年次大会、10-4、2009
【非特許文献3】竹内真也、外3名、「グリッド・コンピューティング技術を用いた番組編集システムの検討」、電子情報通信学会通信ソサエティ大会、B-6-20、2009
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、ネットワーク上に分散しているサーバに保存されている素材を、ネットワーク上で持ってきて編集して番組を作るというリモート編集では、従来一般的なローカルサーバ等における編集およびメディア再生処理とは異なり、ネットワークで接続されたサーバ間では、編集命令毎にネットワークを介したファイル転送が行われることがある。この場合、逐次実行される編集命令に用いる素材ファイルのサイズによっては長い転送時間が必要となる。そのため、大きな素材ファイルを必要とする編集命令があると、それ以降の命令が実行可能状態であっても、処理を実行できないという問題があった。
【0015】
例えば、図2の例では、サーバ221から編集装置210に対して、素材ファイル221aの一部の素材「A」の転送が終了し、No.1の編集命令による挿入処理が実行されないと、それ以降に行われる予定のNo.2の編集命令による削除処理を実行することができない。ここで、編集の1つの削除処理は、事前にファイルの転送を必要とするものではないので、編集装置210は削除の命令を受けたときに、待機せずにすぐに命令を実行することが可能である。ただし、削除命令は、その前にも編集命令があるときには、その前の編集処理が実行された時点の編集ファイルに対して一部を削除する命令なので、仮に命令の順番を守らずに単純に順番を入れ替えて実行すると、番組編集者が希望する編集結果が得られない場合が起こってしまう。
【0016】
また、図2の例では、サーバ221から編集装置210に対して素材ファイル221aの一部の素材「A」の転送が終了し、No.1の編集命令による挿入処理が実行されないと、サーバ222から編集装置210に対して素材ファイル222bの一部の素材「B」の転送が完了していたとしても、No.3の編集命令による挿入処理を実行することができない。ここで、編集装置210が、編集命令として第1の挿入処理と、第2の挿入処理とをこの命令順に指示された場合を想定する。この前提で、第2の挿入処理に必要なファイルの転送が、第1の挿入処理に必要なファイルの転送よりも早く終わったとしたら、編集装置210は第2の挿入処理を第1の挿入処理の前に実行することが可能である。ただし、挿入命令は、その前にも編集命令があるときには、その前の編集処理が実行された時点の編集ファイルに対して転送ファイルの一部を挿入する命令なので、仮に命令の順番を守らずに単純に順番を入れ替えて実行すると、番組編集者が希望する編集結果が得られない場合が起こってしまう。
【0017】
また、リモート編集システムにおいて、バックエンドのファイルサーバがかなり分散して例えばWAN(Wide Area Network)のように広域になった場合、ファイル転送時間が長くなると、番組編集者がクライアント装置のウェブブラウザ上で行う編集処理と、ファイルサーバ上で実際にその時点において作成済みの編集ファイル(完成ファイル)とが、かけ離れたものとなってしまい、番組編集者の希望通りに映像や音声などの番組を再生できなくなってしまうことが考えられる。そのため、番組編集者が編集処理のなんらかの命令を指示したら、それに対応してすぐに編集ファイルをできるだけ早く最終完成ファイルに近づけることが要望されている。
【0018】
本発明は、以上のような問題点に鑑みてなされたものであり、編集処理が実行可能状態となった編集命令から先に実行することで処理速度を向上させると共に、命令実行順序が命令受付順序と異なる場合であっても同様な編集結果を得ることのできるリモート編集システム、編集処理装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0019】
前記課題を解決するために、請求項1に記載のリモート編集システムは、メディアファイルを作成するための編集ファイルの素材となる素材ファイルを蓄積した1以上のサーバからなる素材サーバ群と、前記編集ファイルに前記素材の挿入、削除および上書きのうちの少なくとも1つの編集処理を行うことで前記メディアファイルを作成する編集処理装置と、前記編集処理装置に対して前記編集処理を命令するメッセージである命令通知を通知した後に当該命令が実行可能となった旨を示すメッセージである実行可能通知を通知するクライアントと、を備え、前記編集処理装置、前記素材サーバ群および前記クライアントがネットワーク装置を介して互いに通信可能に接続されたリモート編集システムであって、前記編集処理装置が、蓄積手段と、命令処理手段と、ファイル受信手段と、ログファイル管理手段と、メディアファイル処理手段と、を備え、前記メディアファイル処理手段は、ログファイル変更処理手段を備えることとした。
【0020】
かかる構成によれば、請求項1に記載のリモート編集システムの編集処理装置は、蓄積手段に、前記編集ファイルを記憶し、命令処理手段によって、前記クライアントから、前記命令通知および前記実行可能通知を受け付け、ファイル受信手段によって、挿入および上書きの命令に応じて、前記素材サーバ群から転送された前記素材ファイルの少なくとも一部を受信して前記蓄積手段に格納する。そして、編集処理装置は、ログファイル管理手段によって、前記受け付けた命令通知による命令の記録をログファイルに保存して管理する。そして、編集処理装置は、メディアファイル処理手段によって、前記実行可能通知を受け付けたときに、当該実行可能通知に対応して前記ログファイルに保存されている命令にしたがって前記編集ファイルに対する編集処理を行う。このメディアファイル処理手段は、ログファイル変更処理手段を備え、ログファイル変更処理手段は、前記受け付けた実行可能通知が前記ログファイルに最初に保存された命令に対するものではない場合、前記ログファイルにおいて当該実行可能通知に対応した命令よりも前に保存された未実行の挿入命令を上書き命令に変更する。これにより、実行可能になった命令を先に実行してから、上書き命令に変更された命令を実行したときに、編集ファイル上のタイムコードの場所がずれることはない。したがって、編集処理装置は、編集処理が実行可能状態となった編集命令を、変更した命令よりも先に実行することができるので、処理速度を向上させることができる。なお、挿入や削除の編集処理を実行した場合、編集ファイル上のタイムコードの場所がずれてしまうが、上書き命令は、何度繰り返してもタイムコードの場所がずれることはない。また、編集処理装置は、命令通知の受け付け順序とは異なる順序で受け付けた実行可能通知に対応した未実行の挿入命令を上書き命令に変更するので、編集処理が実行可能状態となった編集命令を、変更した命令よりも先に実行したとしても、命令通知の受け付け順に編集したときと同様な編集結果を得ることができる。
【0021】
また、請求項2に記載の編集処理装置は、メディアファイルを作成するための編集ファイルの素材となる素材ファイルを蓄積した1以上のサーバからなる素材サーバ群と、前記編集ファイルに前記素材の挿入、削除および上書きのうちの少なくとも1つの編集処理を行うことで前記メディアファイルを作成する編集処理装置と、前記編集処理装置に対して前記編集処理を命令するメッセージである命令通知を通知した後に当該命令が実行可能となった旨を示すメッセージである実行可能通知を通知するクライアントとが互いにネットワーク装置を介して通信可能に接続されたリモート編集システムにおける前記編集処理装置であって、蓄積手段と、命令処理手段と、ファイル受信手段と、ログファイル管理手段と、メディアファイル処理手段と、を備え、前記メディアファイル処理手段が、ログファイル変更処理手段を備えることとした。
【0022】
かかる構成によれば、編集処理装置は、蓄積手段に編集ファイルを記憶し、命令処理手段によって、前記クライアントから、前記命令通知および前記実行可能通知を受け付け、ファイル受信手段によって、挿入および上書きの命令に応じて、前記素材サーバ群から転送された前記素材ファイルの少なくとも一部を受信して前記蓄積手段に格納する。そして、編集処理装置は、ログファイル管理手段によって、前記受け付けた命令通知による命令の記録をログファイルに保存して管理する。そして、編集処理装置は、メディアファイル処理手段によって、前記実行可能通知を受け付けたときに、当該実行可能通知に対応して前記ログファイルに保存されている命令にしたがって前記編集ファイルに対する編集処理を行う。そして、このメディアファイル処理手段は、ログファイル変更処理手段によって、前記受け付けた実行可能通知が前記ログファイルに最初に保存された命令に対するものではない場合、前記ログファイルにおいて当該実行可能通知に対応した命令よりも前に保存された未実行の挿入命令を上書き命令に変更する。
【0023】
また、請求項3に記載の編集処理装置は、請求項2に記載の編集処理装置において、前記ログファイル変更処理手段が、未実行命令記録変換手段と、ダミーデータ処理手段と、を備えることとした。
【0024】
かかる構成によれば、編集処理装置は、未実行命令記録変換手段によって、前記受け付けた実行可能通知に対応した命令よりも前に保存された未実行の命令として記録された複数の命令内容項目のうちの少なくとも1つの項目の値を予め定められた変換規則にしたがって別の値に変換する。ここで、変換規則は、編集処理が実行可能状態となった編集命令を、変更した命令よりも先に実行したとしても、命令通知の受け付け順に編集したときと同様な編集結果を得ることができるように、実行可能通知に対応した命令の種別や未実行の命令の処理対象区間等に応じて予め場合分けを行って求められたものを用いることができる。そして、編集処理装置は、ダミーデータ処理手段によって、前記受け付けた実行可能通知に対応した命令が挿入命令の場合、当該挿入命令に基づく前記編集ファイルに対する挿入処理を実行する前に、予め定められたダミーデータを前記編集ファイルへ挿入する。ここで、ダミーデータとしては、未実行の挿入命令における、編集ファイル内での処理対象区間の幅を持った任意のデータを用いることができる。
【0025】
また、請求項4に記載の編集処理装置は、請求項3に記載の編集処理装置において、前記未実行命令記録変換手段が、分割処理手段と、シフト処理手段と、削除処理手段と、命令内容書換手段とを備えることとした。
【0026】
かかる構成によれば、編集処理装置において、未実行命令記録変換手段は、分割処理手段によって、前記未実行の命令として記録された命令内容項目の1つである、編集ファイル内での処理対象区間の値を複数に分割することで、前記命令を複数回に分けて実行できるように分割する命令分割処理を行う。
また、シフト処理手段は、前記未実行の命令として記録された命令内容項目の1つである、編集ファイル内での処理開始位置の値、または前記分割処理後のいずれかの命令における編集ファイル内での処理開始位置の値をずらす命令シフト処理を行う。
また、削除処理手段は、前記未実行の命令または前記分割処理後のいずれかの命令を前記ログファイルから削除する命令削除処理を行う。
また、命令内容書換手段は、前記未実行の命令の内容としてそれぞれ記録された、素材ファイル内での素材抽出位置、前記未実行の命令における編集ファイルへの処理開始位置、および前記未実行の命令における編集ファイル内での処理対象区間のうちの少なくとも1つの項目の値を、命令種別および前記処理対象区間に応じて予め場合分けを行って求められた変換規則にしたがって、前記ログファイル上において前記命令分割処理、前記シフト処理および前記削除処理によって変換された値に書き換える。ここで、未実行命令記録変換手段は、場合分けの条件によっては、命令の分割、シフトおよび削除のうちの複数を適宜組み合わせて実行することができる。
【0027】
また、請求項5に記載の編集処理プログラムは、メディアファイルを作成するための編集ファイルの素材となる素材ファイルを蓄積した1以上のサーバからなる素材サーバ群と、前記編集ファイルに前記素材の挿入、削除および上書きのうちの少なくとも1つの編集処理を行うことで前記メディアファイルを作成する編集処理装置と、前記編集処理装置に対して前記編集処理を命令するメッセージである命令通知を通知した後に当該命令が実行可能となった旨を示すメッセージである実行可能通知を通知するクライアントとが互いにネットワーク装置を介して通信可能に接続されたリモート編集システムにおいて、前記編集処理装置として前記編集ファイルを記憶する蓄積手段を備えたコンピュータを、命令処理手段、ファイル受信手段、ログファイル管理手段、メディアファイル処理手段、として機能させるためのプログラムであることとした。
【0028】
かかる構成によれば、編集処理プログラムは、命令処理手段によって、前記クライアントから、前記命令通知および前記実行可能通知を受け付ける。そして、編集処理プログラムは、ファイル受信手段によって、挿入および上書きの命令に応じて、前記素材サーバ群から転送された前記素材ファイルの少なくとも一部を受信して前記蓄積手段に格納する。そして、編集処理プログラムは、ログファイル管理手段によって、前記受け付けた命令通知による命令の記録をログファイルに保存して管理する。そして、編集処理プログラムは、メディアファイル処理手段によって、前記実行可能通知を受け付けたときに、当該実行可能通知に対応して前記ログファイルに保存されている命令にしたがって前記編集ファイルに対する編集処理を行うと共に、前記受け付けた実行可能通知が前記ログファイルに最初に保存された命令に対するものではない場合、前記ログファイルにおいて当該実行可能通知に対応した命令よりも前に保存された未実行の挿入命令を上書き命令に変更する。
【発明の効果】
【0029】
本発明によれば、次のような優れた効果を奏することができる。
請求項1に記載の発明によれば、リモート編集システムの編集処理装置は、編集処理が実行可能状態となった編集命令から先に実行することで処理速度を向上させると共に、命令実行順序が命令受付順序と異なる場合であっても同様な編集結果を得ることができる。
また、請求項2に記載の発明によれば、編集処理装置は、請求項1に記載のリモート編集システムの編集処理装置と同様の効果を奏することができる。
また、請求項5に記載の発明によれば、編集処理プログラムは、請求項2に記載の編集処理装置と同様の効果を奏することができる。
【0030】
請求項3に記載の発明によれば、編集処理装置は、ダミーデータを挿入できるので、命令通知の受け付け順と異なる順序で受け付けた実行可能通知が挿入命令のためのものである場合、この実行可能となった挿入命令を実行した編集ファイル上のタイムコードの場所がずれることなく、命令通知の受け付け順と同様の編集結果を得ることができる。
【0031】
請求項4に記載の発明によれば、編集処理装置は、命令通知の受け付け順と異なる順序で受け付けた実行可能通知に対応した命令よりも先にログファイルに保存した未実行の命令の分割、シフトおよび削除を変換規則に基づいて適宜実行してから、実行可能となった命令を先に実行することで、命令通知の受け付け順と同様の編集結果を得ることができる。
【図面の簡単な説明】
【0032】
【図1】本発明の実施形態に係る編集処理装置の構成を示すブロック図である。
【図2】リモート編集の概要の説明図である。
【図3】図1に示す編集処理装置を含むリモート編集システムの構成を示すブロック図である。
【図4】図1に示すメディアファイル処理手段の構成例を示すブロック図である。
【図5】図3に示すクライアントの構成例を示すブロック図である。
【図6】図3に示すクライアントの動作の流れを示すフローチャートである。
【図7】図1に示す編集処理装置へ通知する命令のフォーマットを示す図であって、(a)は命令通知、(b)は実行可能通知をそれぞれ示している。
【図8】図1に示す編集処理装置のログファイル管理手段の動作の流れを示すフローチャートである。
【図9】図1に示す編集処理装置のメディアファイル処理手段による編集処理の説明図であって、(a)は挿入処理、(b)は削除処理、(c)は上書き処理をそれぞれ示している。
【図10】図8に示すログファイル変換処理(S2−5)によるログファイルAの遷移を示す図であって、(a)はTID=12の実行可能通知、(b)はログファイルの変換後、(c)はTID=12の実行後をそれぞれ示している。
【図11】図8に示すログファイル変換処理(S2−5)の動作の流れを示すフローチャートである。
【図12】図11に示すK番目までのINS変換処理(S25−6)の動作の流れを示すフローチャートである。
【図13】図12に示す命令の分割処理(S256−7)の説明図であって、(a)は分割前の命令、(b)は分割後の命令をそれぞれ示している。
【図14】図12に示すダミーデータの挿入処理(S256−11)およびOWR命令への変換処理(S256−12)の具体例を示す図であって、(a)は処理の実行前の命令、(b)は処理後の命令をそれぞれ示している。
【図15】図11に示すK番目までのDEL変換処理(S25−7)の動作の流れを示すフローチャートである。
【図16】図15に示すDEL変換処理(S25−7)において場合分けに応じた処理の説明図であって、(a)はS257−5、(b)はS257−6、(c)はS257−7、(d)はS257−8、(e)はS257−9をそれぞれ示している。
【図17】図11に示すK番目までのOWR変換処理(S25−8)の動作の流れを示すフローチャートである。
【図18】図17に示すOWR変換処理(S25−8)において場合分けに応じた処理の説明図であって、(a)はS258−5、(b)はS258−6、(c)はS258−7、(d)はS258−8をそれぞれ示している。
【発明を実施するための形態】
【0033】
以下、本発明に係る編集処理装置およびリモート編集システムを実施するため形態(以下「実施形態」という)について、1.リモート編集システムの概要、2.編集処理装置の概要、3.リモート編集システムの要部、4.編集処理装置の動作の各章に分けて、図面を参照して詳細に説明する。
【0034】
[1.リモート編集システムの概要]
図1に示す編集処理装置10は、メディアファイルを作成するための編集対象である編集ファイルに、素材の挿入(INS)、削除(DEL)および上書き(OWR)のうちの少なくとも1つの編集処理を行うことでメディアファイルを作成するものである。このメディアファイルは、映像や音声のコンテンツとして放送または伝送される。また、編集ファイルは、例えば、保持するフレームの一部が削除されたり、素材ファイルの一部が挿入されたりするファイルであって、編集がなされた時点で一応完成しているので、以下では完成ファイルという。この編集処理装置10を使ったリモート編集システムの例を図3に示す。
【0035】
図3に示すリモート編集システム100は、素材サーバ群20と、編集処理装置10と、クライアント30と、を備え、編集処理装置10、素材サーバ群20およびクライアント30がネットワーク装置40を介して互いに通信可能に接続されている。
素材サーバ群20は、メディアファイルの素材となる素材ファイルを蓄積したサーバからなる。ここで、サーバの配置や個数は任意である。
【0036】
クライアント30は、利用者が操作するものであって、例えばパーソナルコンピュータから構成され、編集処理装置10に対して命令を通知する。本実施形態では、編集処理装置10に通知する命令を、命令自体を通知する編集命令と、通知した命令の遂行を指示する実行可能命令との2つで区別している。また、編集処理を命令するメッセージである編集命令のことを命令通知と呼び、編集命令を通知した後に当該命令が実行可能となった旨を示すメッセージである実行可能命令のことを実行可能通知と呼ぶことにする。
クライアント30は、命令通知を通知した後に当該命令の実行可能通知を通知する。
これにより、編集処理装置10は、命令通知を受信したときに、まだ編集命令を行う準備が整っていないことを認識し、実行可能通知を受信したときに、編集命令を行う準備が既に整ったことを認識することができる。編集命令の種類は、例えば挿入(INS命令)、削除(DEL命令)および上書き(OWR命令)である。クライアント30の機能の詳細については後記する。
【0037】
ネットワーク装置40は、編集処理装置10、素材サーバ群20および、クライアント30を互いに通信可能に接続するものである。このネットワーク装置40は、例えば、イーサネット(登録商標)スイッチから構成される。以下では、イーサネット(登録商標)の上位レイヤの通信方式としてIP(Internet Protocol)を用いることとして説明を行う。なお、本発明は特定の通信方式に限定されるものではない。
【0038】
[2.編集処理装置の概要]
編集処理装置10は、例えば、CPU(Central Processing Unit)等の演算装置と、メモリ、ハードディスク等の記憶装置(記憶手段)と、外部との各種情報の送受信を行うインタフェース装置と、を備え、前記したハードウェア資源がプログラムによって制御されることにより実現され、図1に示すように、命令処理手段1と、ログファイル管理手段2と、メディアファイル処理手段3と、ファイル受信手段4と、蓄積手段5とを備える。
【0039】
蓄積手段5には、ログファイルAと、完成ファイルBと、素材ファイルCとが蓄積される。ログファイルAは、編集命令を時系列に保存しているファイルである。
完成ファイルBは、編集対象のファイルである。
素材ファイルCは、編集命令を実行するために編集命令にしたがって随時外部から転送されるファイルであり、対応する編集命令が実行された後には削除される。
なお、以下では、ログファイルA、完成ファイルB、素材ファイルCの各符号は、図1を参照しないときには適宜省略する。
【0040】
本実施形態では、蓄積手段5で用いるファイルシステムとして、非特許文献2に開示された挿入削除機能付きファイルシステムを用いるものとして説明する。非特許文献2に開示されたファイルシステムでは、ファイル内の一部のデータの削除、他のファイルの一部のデータの移動挿入を、ディスク上のデータのコピーをすることなく、高速に実行できる。なお、本発明は、蓄積手段5で用いるファイルシステムとして非特許文献2に開示されたファイルシステムに限定されるものではなく、どのようなファイルシステムも実施可能である。
【0041】
命令処理手段1は、クライアント30から、命令通知および実行可能通知を受け付けるものである。なお、命令通知および実行可能通知のフォーマットについては後記する。
命令処理手段1は、命令通知を受け付けると、ログファイル管理手段2へその命令を転送する。ログファイル管理手段2は、受け取った命令をログファイルAへ書き込み、それが完了すると、命令処理手段1へ命令の受付完了を通知する。
そして、命令処理手段1は、命令通知を発行したクライアント30に対して、通知された命令の受付完了を送信する。
同様に、命令処理手段1は、実行可能通知を受け付けると、ログファイル管理手段2へ通知し、ログファイル管理手段2の処理の終了を待って、実行可能通知を発行したクライアント30へ処理の完了を送信する。
【0042】
ファイル受信手段4は、所定の通信インタフェース等から構成され、編集命令の種類が、挿入(INS命令)や上書き(OWR命令)の場合、素材サーバ群20から素材ファイルCの少なくとも一部が転送されるので、転送された素材ファイルCを受信して蓄積手段5に格納する。蓄積手段5に保存した素材ファイルCは、どの編集命令で利用する素材ファイルCであるのかを識別するため、例えば、編集命令のトランザクションIDの値を「ファイル名」にして保存する。ここで、ファイルの転送方法としては、例えばRFC959のFTP(File Transfer Protocol)がある。本発明は、ファイル転送の方式に依存するものではないので、これ以上は説明しないが、ファイル転送の方式としてこれに限定されるものではない。
【0043】
ログファイル管理手段2は、受け付けた命令通知の記録をログファイルAに保存し、命令の記録を管理するものである。また、ログファイル管理手段2は、実行済みの命令の記録をログファイルAから削除する。なお、ログファイル管理手段2は、メディアファイル処理手段3との間で情報をやりとりしたり、命令が実行済みか未実行かを示すフラグをログファイルAに書き込んだりすることで、実行済みの命令を識別する。
ログファイル管理手段2は、命令処理手段1が命令通知を受け付けるたびに命令の記録をログファイルAの末尾に追加する。
ログファイル管理手段2は、命令処理手段1が実行可能通知を受け付けるたびに、当該実行可能通知がログファイルAに保存された先頭に位置する命令に対する実行可能通知であるか否かを判別し、先頭に位置するか否かの判別結果をメディアファイル処理手段3に出力する。
【0044】
メディアファイル処理手段3は、命令処理手段1が実行可能通知を受け付けたときに、当該実行可能通知に対応してログファイルAに保存された命令にしたがって完成ファイルBに対する編集処理を行うものである。
メディアファイル処理手段3は、命令が挿入命令の場合、処理対象の完成ファイルBに対して素材ファイルCを挿入する処理を行う。
メディアファイル処理手段3は、命令が削除命令の場合、処理対象の完成ファイルBの指定した部分を削除する処理を行う。
メディアファイル処理手段3は、命令が上書き命令の場合、処理対象の完成ファイルBの指定した位置のフレームを素材ファイルCで上書きする処理を行う。
なお、各編集処理の具体例については後記する。
【0045】
メディアファイル処理手段3は、命令通知の受け付け順序と同じ順序で実行可能通知を受け付けた場合に、ログファイルAにおいて当該実行可能通知に対応した命令を実行する。メディアファイル処理手段3は、命令通知の受け付け順序と異なる順序で実行可能通知を受け付けた場合に、ログファイルAにおいて当該実行可能通知に対応した命令よりも前に保存された未実行の挿入命令を上書き命令に変更する処理(ログファイル変更処理)を実行する。
【0046】
[3.リモート編集システムの要部]
次に、リモート編集システムの要部について、4つに細分化して、3−1.メディアファイル処理手段の機能、3−2.クライアントの機能、3−3.クライアントの動作、3−4.命令通知および実行可能通知、のそれぞれについて詳細に説明する。
【0047】
<3−1.メディアファイル処理手段の機能>
メディアファイル処理手段3の詳細については、編集処理装置10の動作の説明の中で併せて説明するが、ここでは、その前提とする機能について図4を参照して説明する。
メディアファイル処理手段3は、例えばROM等に保存されたプログラムをCPUが読み出してRAMに展開することで実現され、本実施形態では、図4に示すように、編集命令実行手段31と、ログファイル変更処理手段32と、を備えることとした。
編集命令実行手段31は、ログファイルAに保存された命令を解析して実行する機能であって、さらに細分化された機能として、命令種別判別手段33と、命令内容取得手段34と、命令処理手段35とを備えることとした。
【0048】
命令種別判別手段33は、ログファイルAに保存された命令を参照し、挿入(INS)命令、削除(DEL)命令および上書き(OWR)命令のいずれであるかを判別するものである。なお、クライアント30側で区別する命令種別と、編集処理装置10側で区別する編集処理種別とは、実質的に同じものを指している。
【0049】
命令内容取得手段34は、ログファイルAに保存された命令を参照し、命令の内容としてそれぞれ記録された、素材ファイル内での素材抽出位置(IN点)、完成ファイルへの処理開始位置(Sin)、および完成ファイル内での処理対象区間(Duration=K)の情報を取得するものである。
命令処理手段35は、判別された命令種別と、取得した命令内容に基づいて、完成ファイルに対する編集処理として、挿入処理(INS)、削除処理(DEL)および上書き処理(OWR)を実行するものである。
【0050】
ログファイル変更処理手段32は、命令処理手段1で受け付けた実行可能通知がログファイルAに最初に保存された命令に対するものではない場合、ログファイルAにおいて当該実行可能通知に対応した命令よりも前に保存された未実行の挿入命令を上書き命令に変更する機能である。なお、ログファイル変更処理手段32は、前記した編集命令実行手段31の一部であってもよいし、編集命令実行手段31を含んでもよい。ここでは、ログファイル変更処理手段32は、編集命令実行手段31の機能とは異なる機能として、未実行命令記録変換手段36と、ダミーデータ処理手段37とを備えることとした。
【0051】
未実行命令記録変換手段36は、命令処理手段1で受け付けた実行可能通知に対応した命令よりも前に保存された未実行の命令として記録された複数の命令内容項目のうちの少なくとも1つの項目の値を予め定められた変換規則にしたがって別の値に変換するものであって、分割処理手段361と、シフト処理手段362と、削除処理手段363と、命令内容書換手段364とを備える。
【0052】
ここで、予め定められた変換規則は、編集処理が実行可能状態となった編集命令を、変更した命令よりも先に実行したとしても、命令通知の受け付け順に編集したときと同様な編集結果を得ることができるように、実行可能通知に対応した命令の種別や未実行の命令の処理対象区間等に応じて予め場合分けを行って求められたものを用いることができる。なお、場合分けの詳細については、編集処理装置10の動作と共に説明する。
【0053】
分割処理手段361は、未実行の命令として記録された命令内容項目の1つである、完成ファイル内での処理対象区間の値を複数に分割することで、命令を複数回に分けて実行できるように分割する命令分割処理を行う。この命令分割処理については、後記する4−3−3−1.INS変換処理にて説明する。なお、詳細は後記するが、例えば、図13(a)に示す例では、命令1110は、命令内容の項目として、処理対象区間の値(Duration=100)を有している。この命令の処理対象区間の値を、例えばK番目のINS命令の処理開始位置であるIN点(Kin=730)の位置で2つに分割すると、分割処理の直後の結果は、図13(b)に示すように、形式的に2行になった命令1120が得られる。このとき、1行目の処理対象区間の値(Duration=30)と、2行目の処理対象区間の値(Duration=70)との和は、分割前の処理対象区間の値(Duration=100)と等しい。なお、処理対象区間の値を分割することを、以下では単に、命令を分割すると表記する。命令を分割することは、1個の命令通知に対応した編集処理を、形式的に複数回に分けて実行できるようにすることを表している。
【0054】
シフト処理手段362は、未実行の命令として記録された命令内容項目の1つである、完成ファイル内での処理開始位置の値をずらす命令シフト処理を行う。また、シフトの前に分割処理がなされている場合、分割処理後のいずれかの命令における完成ファイル内での処理開始位置の値をずらす。このシフト処理については、後記する4−3−3−2.DEL変換処理にて説明する。なお、詳細は後記するが、例えば、図16(a)に示す例では、完成ファイル141Sは、先に保存されたS番目のOWR命令における完成ファイルのIN点とOUT点とを模式的に示したものである。同様に、図16(a)に示す完成ファイル141Kは、後から保存されたK番目のDEL命令における完成ファイルのIN点とOUT点とを模式的に示したものである。この場合、先に行うDEL処理を見越して、シフト処理手段362は、S番目のOWR命令において、完成ファイルのIN点の値に(−K)を加算したフレーム位置とする。
【0055】
削除処理手段363は、未実行の命令をログファイルから削除する命令削除処理を行う。また、削除の前に分割処理がなされている場合、分割処理後のいずれかの命令をログファイルから削除する。この削除処理については、後記する4−3−3−2.DEL変換処理にて説明する。なお、詳細は後記するが、例えば、図16(e)に示す例では、先に保存されたS番目のOWR命令における完成ファイル145SにおけるIN点とOUT点の間の処理対象区間と、後から保存されたK番目のDEL命令における完成ファイル145KにおけるIN点とOUT点の間の処理対象区間と、の間には重複する区間1451があり、S番目の命令に係る区間は、K番目の命令に係る区間に完全に含まれている。このため、S番目の命令は、K番目のDEL命令の実行後にはすべて削除されてしまうので、削除処理手段363は、S番目の命令をログファイルから削除する。
【0056】
命令内容書換手段364は、未実行の命令の内容としてそれぞれ記録された、素材ファイル内での素材抽出位置(IN点)、未実行の命令における完成ファイルへの処理開始位置(Sin)、および未実行の命令における完成ファイル内での処理対象区間(Duration=K)のうちの少なくとも1つの項目の値を、変換規則にしたがって、ログファイル上において命令分割処理、シフト処理および削除処理によって変換された値に書き換える。なお、本実施形態では、命令内容書換手段364は、予め定められた変換規則に基づいて、前記した分割処理手段361、シフト処理手段362および削除処理手段363を制御する。また、本実施形態では、命令内容書換手段364は、ログファイル変更処理手段32全体を統括制御する。また、変換規則は、命令種別および処理対象区間に応じて予め場合分けを行って求められたものとする。
【0057】
ダミーデータ処理手段37は、命令処理手段1で受け付けた実行可能通知に対応した命令が挿入命令の場合、当該挿入命令に基づく完成ファイルに対する挿入処理を実行する前に、予め定められたダミーデータを完成ファイルへ挿入する。ここで、ダミーデータを挿入する理由は、未実行の挿入命令に対しては、必要な素材ファイルの転送が完了していないが、この未実行の挿入命令を上書き命令に書き換えた後に、素材ファイルの転送が完了して上書き命令を実行できる状態となったときにその時点の完成ファイルの中に上書きされる側のデータが必要だからである。また、ダミーデータとしては、命令通知の受け付け順と、実行可能通知の受け付け順が逆転し、実行可能通知が挿入命令のためのものである場合、完成ファイル上のタイムコードの場所がずれる現象を見越して、未実行の挿入命令の処理対象区間の幅を持った任意のデータを用いることができる。ダミーデータは、例えばすべてが0であるデータ等でもよい。このダミーデータの挿入については、4−3−3−1.INS変換処理にて説明する。なお、詳細は後記するが、例えば、図14に示す例では、図14(a)に示す完成ファイル1212のフレーム番号=730の位置に対して、図14(b)に示すように、素材ファイル1211と同じDurationのダミーデータ1223を挿入する。
【0058】
<3−2.クライアントの機能>
リモート編集システム100において、編集処理装置10に編集命令を通知するクライアント30の前提とする機能について図5を参照して説明する。
クライアント30は、図5に示すように、編集命令入力手段310と、ID生成手段320と、編集命令通知手段330と、判別手段340と、転送要求通知手段350と、転送完了通知受信手段360と、実行可能命令通知手段370とを備える。
【0059】
編集命令入力手段310は、編集命令をID生成手段320に入力するものである。この編集命令入力手段310は、例えば、非特許文献3に記載されたウェブブラウザの編集用インタフェースである。この場合、クライアント30を操作するユーザが、例えばキーボードやマウス等の操作手段から入力する編集命令をID生成手段320に逐次入力することができる。クライアント30を操作するユーザは、編集命令として挿入や上書きを命令する場合、必要な素材ファイルのファイル名や素材ファイルのうち編集に必要なフレームの位置や範囲を指定する情報を入力する。
【0060】
ID生成手段320は、トランザクションID(以下、TIDと略記する場合がある)を生成するものである。トランザクションIDは、このリモート編集システム100内で編集命令を一意に特定するための番号である。トランザクションIDの生成方法としては、例えば、リモート編集システム100内においてシーケンシャルに番号を増加させることでトランザクションIDを生成することができる。また、他の方法としては、汎用一意識別子(UUID)等の生成方法をトランザクションIDの生成に利用することができる。ID生成手段320は、生成したトランザクションIDを編集命令と共に、編集命令通知手段330および判別手段340に出力する。
【0061】
編集命令通知手段330は、所定の通信インタフェースから構成され、ID生成手段320で生成したトランザクションIDと共に、編集命令を編集処理装置10へ通知するものである。
【0062】
判別手段340は、編集処理装置10へ通知した編集命令を実行するために素材ファイルの転送が必要かどうかを判別するものである。ここで、判別手段340は、通知した編集命令が挿入(INS命令)または上書き(OWR命令)の場合に、素材ファイルの転送が必要であると判定し、通知した編集命令が削除(DEL命令)の場合に、素材ファイルの転送が不要であると判定する。判別手段340は、素材の転送が必要な場合には、その旨を転送要求通知手段350に出力し、素材の転送が不要な場合には、その旨を実行可能命令通知手段370に出力する。
【0063】
転送要求通知手段350は、所定の通信インタフェース等から構成され、判別手段340から、素材の転送が必要な旨を通知された場合、通知した編集命令に基づいて、素材サーバ群20の中から、該当する素材ファイルを保存しているサーバを発見し、そのサーバから編集処理装置10に対して素材ファイルの転送を行う指示を通知するものである。なお、この転送は、素材ファイル全体を転送するのではなく、素材ファイルのうち編集に必要なフレームだけを転送するものとする。ここで、ユーザは、編集命令入力手段310によって、編集に必要なフレームを指定する。なお、素材ファイルの転送指示には、編集命令に対して、ID生成手段320によって、トランザクションIDが付加される。
【0064】
転送完了通知受信手段360は、所定の通信インタフェース等から構成され、素材ファイルの転送を行う指示を通知したサーバから、素材の転送が完了した旨の通知をトランザクションID(例えばファイル名)と共に受信するものである。素材の転送が完了した旨の通知およびトランザクションIDは、実行可能命令通知手段370に出力される。
なお、クライアント30は、不図示の記憶手段に、転送が完了した素材ファイルが、どの編集命令で使用される素材ファイルであるのかを、例えばファイル名により識別可能な状態として保存し、編集処理装置10へ転送された素材ファイルのデータを管理する。
【0065】
実行可能命令通知手段370は、所定の通信インタフェース等から構成され、判別手段340または転送完了通知受信手段360からの入力に基づいて、編集処理装置10へ通知した編集命令が実行可能になった旨を示す実行可能通知を編集処理装置10に対して通知するものである。なお、実行可能通知には、トランザクションIDが付加される。
【0066】
<3−3.クライアントの動作>
次に、クライアント30の動作の概要について図6を参照(適宜図5参照)して説明する。まず、クライアント30は、編集命令入力手段310によって、編集命令を取得する(S30−1)。そして、クライアント30は、ID生成手段320によって、トランザクションID(TID)を生成する(S30−2)。クライアント30は、編集命令通知手段330によって、生成したトランザクションIDと共に、取得した編集命令を編集処理装置10へ通知する(S30−3)。クライアント30は、この時点で次の編集命令を取得するためにS30−1へ戻る。
【0067】
それと同時にクライアント30は、判別手段340によって、通知した編集命令の実行に、素材ファイルが必要かどうかの判定を並行して行う(S30−4)。素材の転送が必要な場合(S30−4でYes)には、クライアント30は、必要な素材を保管したサーバから編集処理装置10へ素材ファイルの転送を行わせる(S30−5)。すなわち、クライアント30は、転送要求通知手段350によって、素材サーバ群20の中から、素材ファイルを保存しているサーバを発見し、その素材サーバから編集処理装置10に対して素材の転送を行う指示を通知し、転送完了通知受信手段360によって、素材の転送が完了した旨の通知を受信する。
【0068】
素材ファイルの転送が終了、または、S30−4で素材ファイルの転送が必要ないと判定された場合(S30−4でNo)には、クライアント30は、実行可能命令通知手段370によって、トランザクションIDとともに実行可能命令を編集処理装置10に通知する(S30−6)。
【0069】
したがって、本実施形態のリモート編集システム100では、クライアント30は、編集処理装置10への編集命令の通知が完了した時点で、次の編集命令を取得する動作を行う。これにより、クライアント30は、時間のかかるファイル転送の完了を待たずに、次の編集命令を受け付けることができ、クライアント30を利用する利用者へのレスポンスを速くすることができる。
【0070】
<3−4.命令通知および実行可能通知>
クライアント30が通知し編集処理装置10の命令処理手段1が受け付ける命令通知および実行可能通知のデータフォーマットの一例について図7を参照して説明する。
図7(a)に示すように、命令通知には、項目として、トランザクションID511と、命令種別512と、素材IN点513と、完成IN点514と、Duration515とが含まれる。
【0071】
トランザクションID511は、クライアント30で生成した編集命令を一意に特定するための番号である。
命令種別512は、INS(挿入)、DEL(削除)、OWR(上書き)のいずれかの値を示す。
素材IN点513は、素材ファイルのIN点であって、INS(挿入)またはOWR(上書き)の命令において、素材ファイル内での素材抽出位置のフレームを示す。
完成IN点514は、完成ファイルのIN点であって、各命令において、完成ファイルへの処理開始位置のフレームを示す。
【0072】
Duration515は、各命令において、完成ファイル内での処理対象区間を示す。削除(DEL)については命令実行前の完成ファイル内での処理対象区間を示す。INS(挿入)については命令実行後の完成ファイル内での処理済み区間(処理対象区間)を示す。OWR(上書き)については命令実行前後の完成ファイル内での処理対象区間を示す。Duration515は、INS(挿入)またはOWR(上書き)の命令において、素材ファイル内での素材抽出を開始する位置のフレームから素材抽出を終了する位置のフレームまでの区間と等しい。
【0073】
図7(b)に示すように、実行可能通知には、項目としてトランザクションID520が含まれる。トランザクションID520は、クライアント30で生成した編集命令を一意に特定するための番号である。
【0074】
[4.編集処理装置10の動作]
次に、編集処理装置10の動作について、3つに細分化して、4−1.編集処理装置全体の動作の流れ、4−2.編集動作の具体例、4−3.ログファイル変換処理、のそれぞれについて詳細に説明する。
【0075】
<4−1.集処理装置全体の動作の流れ>
ここでは、編集処理装置10の動作の全体の流れについて図8を参照して説明する。図8では、主にログファイル管理手段2の動作を中心にした流れを示している。
ログファイル管理手段2は、命令処理手段1から通知を受け取ると、通知の種別を識別する(S2−1)。通知の種別が命令通知である場合(S2−1でYes)、ログファイル管理手段2は、その編集命令をログファイルAの末尾に追加書き込みし(S2−2)、処理を終了する。ここで、ログファイルAは、図7に示した命令通知フォーマットを時系列のリスト形式として記録したものである。
【0076】
S2−1でNoの場合、ログファイル管理手段2は、命令処理手段1からの通知が実行可能通知であるか否かを判別する(S2−3)。通知の種別が実行可能通知である場合(S2−3でYes)、以下で説明するファイル編集処理を実行する。
ログファイル管理手段2は、実行可能通知を受け取ると、その通知のトランザクションID(TID)を取得し、ログファイルAからそのTIDの命令を検索する。見つかった命令がログファイルAの先頭の場合(S2−4でYes)には、クライアント30から命令のあった編集の順序と同じ編集順序であるので、完成ファイルBへの実際の編集処理を実行する(S2−6)。なお、この編集処理(S2−6)の動作の詳細は後で説明する。
【0077】
一方、S2−4において、ログファイルAの検索で見つかった命令がログファイルAの先頭ではない場合(S2−4でNo)には、ログファイル管理手段2が受け取った実行可能通知の編集命令の前に未処理の命令があるので、メディアファイル処理手段3は、ログファイル変更処理手段32によって、ログファイルの変換処理を実行後(S2−5)、完成ファイルBへの編集処理を実行する(S2−6)。なお、ログファイルへの変換処理(S2−5)の動作の詳細は後で説明する。
【0078】
メディアファイル処理手段3が完成ファイルBへの編集処理(S2−6)を実行後、ログファイル管理手段2は、ログファイルAに記録された編集命令のリストから、編集を実行したTIDの命令を削除する(S2−7)。
【0079】
<4−2.編集動作の具体例>
次に、前記したS2−6の編集処理の動作を説明する。完成ファイルBへの編集処理は、メディアファイル処理手段3が行う。このとき、ログファイル管理手段2からメディアファイル処理手段3へ渡されるデータは、編集処理種別(命令種別)、素材ファイル名(トランザクションID)、素材ファイルのIN点(素材IN点)、完成ファイルのIN点(完成IN点)、Durationの各データである。
メディアファイル処理手段3は、編集処理の種別にしたがって、挿入処理(INS)、削除処理(DEL)、上書き処理(OWR)のいずれかの編集処理を実行する。
【0080】
挿入処理(INS)、削除処理(DEL)、上書き処理(OWR)の各編集動作の具体例について図9を参照して説明する。
【0081】
挿入処理(INS)は、図9(a)に示すように、完成ファイル720の指定されたIN点の位置(完成ファイルIN点721)に、指定された素材ファイル710の素材のIN点(素材ファイルIN点711)から素材ファイルOUT点712までのDuration分のフレームデータを挿入する編集処理である。
【0082】
なお、本実施形態では、IN点およびDurationの指定は、フレーム単位で行うものとして説明する。素材の抽出開始位置〜抽出終了位置までの両端の一方は含めず、IN点とDurationとを加算した結果のフレーム位置をOUT点とする。例えば、素材ファイルIN点711のフレーム番号=101、完成ファイルIN点のフレーム番号=201、Duration=9、ならば、素材ファイルOUT点712は、素材ファイル710のフレーム番号=110の位置となる。また、IN点とOUT点との両方が指定された場合、処理対象はIN点のフレームからOUT点の1つ前のフレームまでなので、連続して読み出す場合は、OUT点の値をそのままIN点にすれば続きを読むことができる。
【0083】
また、処理後の完成ファイル730では、図9(a)のフレーム位置731に、素材ファイル710の素材が挿入されると、元の完成ファイル720のフレーム位置721にあったフレームは、処理後の完成ファイル730において後方(右側)にずれて、図9(a)のフレーム位置732となる。
【0084】
削除処理(DEL)は、図9(b)に示すように、完成ファイル740の指定されたIN点の位置(完成ファイルIN点741)からDuration分のフレームデータを削除する編集処理である。例えば、元の完成ファイル740からDuration分のフレームが削除されると、処理後の完成ファイル750では、元の完成ファイル740から削除されたフレーム以降の(右側の)フレームが前方(左側)にずれて、図9(b)のフレーム位置751となる。
【0085】
上書き処理(OWR)は、図9(c)に示すように、完成ファイル770の指定されたIN点の位置(完成ファイルIN点771)から完成ファイルOUT点772までのDuration分のフレームに対して、指定された素材ファイルのIN点(素材ファイルIN点761)から素材ファイルOUT点762までのDuration分のフレームで上書きする編集処理である。
【0086】
例えば、処理後の完成ファイル780では、図9(c)のフレーム位置781からフレーム位置782に、素材ファイル760の素材が置き換わって挿入されたときに、処理後の完成ファイル780では、元の完成ファイル770に上書きされたフレーム以前の(左側の)および以降の(右側の)フレームがずれることなく、変化しない。
【0087】
前記したように、挿入処理(INS)および削除処理(DEL)では、処理前と処理後の完成ファイルのフレーム数が増減するのに対して、上書き処理(OWR)ではフレーム数は変わらない。
【0088】
本実施形態の編集処理装置10において、メディアファイル処理手段3は、編集処理種別が挿入処理(INS)および上書き処理(OWR)の場合は、指定された素材ファイル名(トランザクションID)のファイル(素材ファイルC)を、蓄積手段5から検索し、編集処理を実行する。なお、素材ファイルCは、クライアント30からの指示により、素材サーバ群20からファイル受信手段4により転送された素材ファイルである。
【0089】
本実施形態では、蓄積手段5は、非特許文献3の挿入削除機能付きファイルシステムを使うものとして説明しているので、図9で示した編集処理は、ファイルシステムの挿入削除機能を使って実行する。これにより、完成ファイルBへの編集処理が行われる。なお、上書き処理(OWR)に関しては、削除処理(DEL)と挿入処理(INS)とを組み合わせることで実行する。すなわち、指定された完成ファイルのIN点位置から、Duration分のフレームデータを削除した後、そのIN点位置に、素材ファイルのIN点から、Duration分のフレームデータを挿入することで、上書き処理(OWR)を実行する。
メディアファイル処理手段3は、完成ファイルBへの編集処理が完了した後、利用した素材ファイルCを蓄積手段5から削除する。
以上の動作により、クライアント30から出される命令通知の順序と、実行可能通知の順序とが同じ場合の編集処理の動作が可能となる。
【0090】
<4−3.ログファイル変換処理>
次に、ログファイル変換処理(S2−5:図8参照))について、さらに3つに細分化して、4−3−1.ログファイル変換処理の概要、4−3−2.ログファイル変換処理の全体の流れ、4−3−3.ログファイル変換処理の詳細、のそれぞれについて詳細に説明する。
【0091】
≪4−3−1.ログファイル変換処理の概要≫
ログファイル管理手段2の動作の最中に、ログファイル変換処理(S2−5:図8参照)が動作する場合は、クライアント30から出された命令通知の順序と、実行可能通知の順序が異なる場合である。
既に図9を参照して説明したように、挿入処理(INS)および削除処理(DEL)では、処理の前後で完成ファイルBのフレーム数が増減する。そのため、挿入や削除の編集命令の通知(命令通知)が時間的に後の編集を先に実行してしまうと、編集点がずれてしまい、正しい編集結果とならなくなってしまう。しかしながら、上書き処理(OWR)では、編集処理の前後での完成ファイルBのフレーム数には変化がない。そこで、本発明では、編集命令の通知(命令通知)が時間的に後の命令を先に実行するために、それ以前の命令を、上書き(OWR命令)のみになるように変換した上で、対象の編集処理(後の命令)を実行する方式とした。
【0092】
図10はログファイル変換処理の例を模式的に示したものである。この例では、図10(a)に示すように、ログファイルAのある時点810において、ログファイルAに5つの命令811〜815が保管された状態で、TID=12の削除処理(DEL)の実行可能命令(実行可能通知)が通知された場合を示している。なお、図10では、IN点等の編集内容の図示を省略した。
【0093】
この場合、ログファイル変換処理(S2−5:図8参照)では、ログファイル変更処理手段32が、TID=12よりも前に保存された編集命令(TID=10および11)を上書き処理(OWR)に変換する。具体的には、図10(a)において、TID=10の挿入処理(INS)およびTID=11の挿入処理(INS)は、ログファイルAのある時点820において、図10(b)に符号821,822でそれぞれ示す上書き処理(OWR)に変換される。
【0094】
その後、ログファイル変換処理(S2−5:図8参照)では、符号821,822でそれぞれ示す上書き処理(OWR)よりも先に、TID=12の削除処理(DEL)を行なう。そして、ログファイルAのある時点830において、図10(c)に示すように、実行した命令(図10(b)に符号813で示す削除処理(DEL))をログファイルAから削除する。なお、図10では、削除処理(DEL)の実行可能通知が通知された場合を例示したが、ログファイル変更処理手段32は、実行可能通知に対応した命令の種別に応じて、それぞれ異なる動作を行う。以下では、その詳細を説明する。
【0095】
≪4−3−2.ログファイル変換処理の全体の流れ≫
次に、ログファイル変換処理(S2−5)の動作の詳細を説明する。
図11はログファイル変更処理手段32が行うログファイル変換処理(S2−5)の動作の流れを示している。ここでは、蓄積手段5に格納されたログファイルAにおいて先頭からN番目に保存された命令(N番目に古い命令)を実行する場合について説明する。
このとき、ログファイル管理手段2は、受け付けた実行可能通知のトランザクションID(TID)を取得し、ログファイルAからそのTIDの命令について、ログファイル内の順番「N」を取得し、編集処理種別(命令種別)、素材ファイル名(トランザクションID)、素材ファイルのIN点(素材IN点)、完成ファイルのIN点(完成IN点)、Durationの各データと共に、メディアファイル処理手段3へ渡す。
【0096】
メディアファイル処理手段3のログファイル変更処理手段32は、以下の処理を行う。
ログファイル変換処理(S2−5)において、ログファイルAの1番目から(N−1)番目の命令までを順に変換するために、カウンタ用のパラメータKを導入し、パラメータKの値を1にセットする(S25−1)。
そして、ログファイル変更処理手段32は、Kの値がNの値と等しい場合には処理を終了し(S25−2でYes)、Kの値がNの値より小さい場合(S25−2でNo)、S25−3,S25−4,S25−5の各判定処理によりログファイルAのK番目の命令の種別を判別する。
【0097】
具体的には、編集種別が挿入処理(INS)である判別した場合(S25−3でYes)、ログファイル変更処理手段32は、K番目までのINS変換処理を実行する(S25−6)。
編集種別が挿入処理(INS)でない場合(S25−3でNo)、ログファイル変更処理手段32は、編集種別が削除処理(DEL)であるか否かを判別し(S25−4)、削除処理(DEL)の場合(S25−4でYes)、K番目までのDEL変換処理を実行する(S25−7)。
編集種別が削除処理(DEL)でない場合(S25−4でNo)、ログファイル変更処理手段32は、編集種別が上書き処理(OWR)であるか否かを判別し(S25−5)、上書き処理(OWR)の場合(S25−5でYes)、K番目までのOWR変換処理を実行する(S25−8)。
ログファイル変更処理手段32は、編集種別が上書き処理(OWR)ではない場合(S25−5でNo)、または、それぞれの変換処理を行った後、現在のKの値に1を加え(S25−9)、S25−2の判定処理へ戻る。
以上のログファイル変更処理手段32の動作により、ログファイルの1番目の命令から(N−1)番目の命令までの変換処理が行われる。なお、命令の種別を判別する動作は、メディアファイル処理手段3の命令種別判別手段33を用いることができる。
【0098】
≪4−3−3.ログファイル変換処理の詳細≫
この節は、S25−6、S25−7、S25−8の各変換処理のために、さらに3つに細分化して、4−3−3−1.INS変換処理、4−3−3−2.DEL変換処理、4−3−3−3.OWR変換処理、のそれぞれについて詳細に説明する。
【0099】
(4−3−3−1.INS変換処理)
はじめに、INS変換処理(S25−6)の動作について図12の流れ図を使って説明する。INS変換処理(S25−6)は、ログファイルAの先頭からK番目の命令が挿入(INS命令)である場合に、ログファイルAの指定されたK番目までの命令の変換処理を行うものである。
【0100】
このINS変換処理では、はじめに、命令内容取得手段34が、K番目の命令(INS命令)における完成ファイルのIN点(完成IN点)の位置であるKinと、DurationであるKとを取得する(S256−1)。次に、ログファイルの1番目から(K−1)番目の命令を順に処理するため、カウンタ用のパラメータSを導入し、命令内容書換手段364は、パラメータSの値を1にセットし(S256−2)、次いで、Sの値がKの値と等しくなったか否かを判別する(S256−3)。まだSの値がKの値よりも小さい場合(S256−3でNo)には、命令内容取得手段34が、S番目の命令における完成ファイルのIN点(完成IN点)であるSinと、完成ファイルのOUT点であるSoutとを取得する(S256−4)。なお、SoutはSin+(S番目の命令のDuration)の演算から求めることができる。
【0101】
ここで、ログファイルAの(K−1)番目までの命令は、すでにログファイル変換処理(S2−5)が行われているはずなので、ログファイルAの(K−1)番目までの編集命令はOWR処理のみになっている。このことは、図11および図12のフローチャートから明らかである。つまり、ログファイルAにおいて先頭からN番目に保存された命令を実行しようとするときに、カウンタ用のパラメータKが1〜Nまで刻々と変化するので、Kがある値のときにINS変換処理(S25−6)にて当該K番目のINS命令はOWR命令に書き換えられる。具体的には、図10(a)に示す例では、ログファイルAのある時点810から、N=2番目(TID=11)の命令を実行しようとするときに、それよりも先に、K=1のときに、TID=10の命令はOWR命令に書き換えられる。なお、DEL変換処理(S25−7)やOWR変換処理(S25−8)においても同様に成り立つことは図15、図17のフローチャートから明らかである。
【0102】
図12に示すINS変換処理では、S256−4に続いて、K番目の命令であるINS処理のIN点すなわちKinの位置により場合分けされた変換規則にしたがって、S256−5およびS256−6の判別処理を行い、判別結果に応じて、S番目の命令の修正処理をそれぞれ行う。具体的には、命令内容書換手段364がSin<Kin<Soutであると判別した場合(S256−5でYes)、分割処理手段361は、S番目のOWR命令をKinの位置で2つに分割する(S256−7)。ここで、命令の分割とは、図13で示すように、1つの命令を形式的に2つの命令にする処理である。なお、S番目のOWR命令を2つに分割してもパラメータSの値は増加しない。パラメータSの値は、TIDに対応しているからである。例えば、1番目のOWR命令を2つに分割してもパラメータSの値は1のままである。
【0103】
図13(a)に示す例では、命令1110は、TID=13、編集種別=「OWR」、素材ファイルのIN点=0、完成ファイルのIN点=700、Duration=100の各データを有している。命令1110は、図13(a)に示すように、完成ファイル1112の指定されたIN点の位置(フレーム番号700)から処理後の完成ファイルOUT点(フレーム番号800)までのDuration分のフレームに対して、指定された素材ファイル1111のIN点(フレーム番号0)から素材ファイルOUT点(フレーム番号100)までの100フレームで上書きする編集処理である。この命令1110がK番目の命令よりも先に保存されたS番目の命令であるとすると、Sin=700、Sout=800である。
【0104】
ここで、図14(a)に示すように、ログファイルAのリスト1210において、「…」で略記したTID=13の命令(図13(a)における命令1110)よりも後に保存されたTID=14の命令(K番目のINS命令)が、素材ファイルのIN点=0、完成ファイルのIN点=730、Duration=100の各データを有しているものとする。なお、ここでは、素材ファイル1211は、フレーム番号=0からフレーム番号=100までの1つの素材を示している。また、完成ファイル1212は、K番目のINS命令を行う前の状態を示している。この場合、K番目のINS命令のIN点すなわちKinが730なので、S256−5でYesとなるので、分割処理手段361は、命令1110(OWR命令)をKin=730の位置で2つに分割する。分割処理の直後の結果を図13(b)に示す。図13(b)に示す命令1120は、素材ファイルのIN点=0、完成ファイルのIN点=700、Duration=30の各データを有したOWR命令(以下、前部の命令または前半部の命令という)と、素材ファイルのIN点=30、完成ファイルのIN点=730、Duration=70のOWR命令(後部の命令または後半部の命令という)との2つに分割される。ただし、分割された2つのOWR命令のTIDは共に「13」であり、分割された2つのOWR命令全体に対するパラメータSの値は変化しない。
【0105】
図12に戻って、INS変換処理の説明を続ける。S256−7にてS番目のOWR命令を分割処理した後、このS番目として分割した後部のOWR命令については、S番目よりも後に保存されたK番目の編集処理であるINS処理により、K番目のINS命令のDuration(K)の値のフレーム数分だけ後方(時間的に遅い右側)にずれる。図14(a)に示すログファイルAのリスト1210の場合、TID=14の命令(K番目のINS命令)を先に実行すると、TID=14の命令のDuration=100のフレーム数分だけ後方(時間的に遅い右側)にずれる。そのため、シフト処理手段362は、先に行うINS処理を見越して、S番目として分割した後半のOWR命令において、完成ファイルのIN点の値を+Kだけ増加させたフレーム位置とする(S256−8)。例えば、図13(b)に示す例では、命令1120の後部のOWR命令(TID=13)の完成ファイルのIN点は、図示された730から830に改められることになる。
【0106】
一方、S256−5の判別処理にて、命令内容書換手段364がSin<Kin<Soutではないと判別した場合(S256−5でNo)、続けて、S256−6の判別処理を行う。具体的には、命令内容書換手段364がKin≦Sinであると判別した場合(S256−6でYes)、シフト処理手段362は、分割前のS番目のOWR命令において、完成ファイルのIN点の値を+Kだけ増加させたフレーム位置とする(S256−9)。これは、S番目のOWR命令は、後から保存されて先に実行されるK番目の編集処理であるINS処理により、Duration(K)の値のフレーム数分だけ後方(時間的に遅い右側)にずれるからである。
【0107】
一方、S256−6の判別処理にて、命令内容書換手段364がKin>Sinであると判別した場合(S256−6でNo)、S番目のOWR命令は、後から保存されて先に実行されるK番目の編集処理に影響されない。このS256−6でNoの場合、または、前記したS256−8またはS256−9の処理に続いて、命令内容書換手段364は、(K−1)番目の命令まで順番に処理するために、現在のSの値に1を加え(S256−10)、S256−3へ戻る。
【0108】
前記したS256−9までの処理は、ログファイルAに保存された命令の記録上において、分割やシフトの書き換え処理を行うものであったが、S256−3の判別処理においてS=Kとなった場合(S256−3でYes)、K番目の編集処理であるINS処理を実際に行う。そのため、ダミーデータ処理手段37によって、実際の完成ファイルに対して挿入処理(INS)を実行する(S256−11)。ここで、この時点で、K番目の編集処理であるINS処理のための素材ファイルについては、転送ファイルの受信が完了していないため、ダミーデータ処理手段37は、ダミーデータを素材ファイルとして用いる。なお、命令処理手段35がダミーデータを挿入するようにしてもよい。
【0109】
次に、命令内容書換手段364は、ログファイルAにおいて、INS変換処理の処理対象であるK番目の命令の編集種別を、INS命令からOWR命令に書き換える(S256−12)。なお、ログファイル管理手段2が書き換えるようにしてもよい。これらS256−11、S256−12の処理をすることで、K番目の命令(INS)を実行したこととなる。
【0110】
ここで、S256−11、S256−12の動作例を図14に示す。図14(a)に示すように、ログファイルAのリスト1210において、TID=14、Kin=730、K=100のK番目のINS命令を仮定する。このINS命令を、先に保存されたTID=13のS番目の命令よりも先に実施する場合、S256−11の処理により、図14(a)に示す完成ファイル1212のKinの位置(フレーム番号=730の位置)に対して、図14(b)に示すように、素材ファイル1211と同じDurationのダミーデータ1223を挿入する。この場合、処理後の完成ファイル1222では、フレーム番号=729まで変化はなく、フレーム番号=730の位置に、ダミーデータとしてフレーム番号=0〜100まで例えばすべて0のデータが挿入され、元の完成ファイルのフレーム番号=730のフレームは、処理後の完成ファイル1222において、新たなフレーム番号=831の位置まで後方(右側)にずれることになる。
【0111】
その後、S256−12の処理により、図14(b)に示すログファイルAのリスト1220において、K番目の命令として、TID=14、Kin=730、K=100の命令が、1220aで示すようにOWR命令に書き換えられる。
以上の動作により、ログファイルのK番目がINS命令の場合に、このINS命令がOWR命令に変換されることになる。なお、ダミーデータ1223は、本来の素材ファイル1221が転送された後でOWR処理を行うことで、上書きされて消滅する。
【0112】
(4−3−3−2.DEL変換処理)
次に、DEL変換処理(S25−7)の動作について図15の流れ図を使って説明する。DEL変換処理(S25−7)は、ログファイルAの先頭からK番目の命令が削除(DEL命令)である場合に、ログファイルAの指定されたK番目までの命令の変換処理を行うものである。
【0113】
DEL変換処理(S25−7)は、全体の処理の流れとしては、INS変換処理(S25−6)と同様であって、ログファイルの1番目から(K−1)番目の命令(すべてOWR命令に変換されているはず)の修正処理の後、K番目の命令処理を実際の完成ファイルに対して行う。
【0114】
このDEL変換処理では、はじめに、命令内容取得手段34が、K番目の命令(DEL命令)の完成ファイルのIN点(完成IN点)の位置であるKinと、完成ファイルのOUT点の位置であるKoutと、DurationであるKとを取得する(S257−1)。なお、KoutはKin+Kの演算から求めることができる。
【0115】
次に、ログファイルの1番目から(K−1)番目の命令を順に処理するため、カウンタ用のパラメータSを導入し、命令内容書換手段364は、パラメータSの値を1にセットし(S257−2)、次いで、Sの値がKの値と等しくなったか否かを判別する(S257−3)。まだSの値がKの値よりも小さい場合(S257−3でNo)には、命令内容取得手段34が、S番目の命令(OWRのはず)における完成ファイルのIN点(完成IN点)であるSinと、完成ファイルのOUT点であるSoutとを取得する(S257−4)。なお、SoutはSin+(S番目の命令のDuration)の演算から求めることができる。
【0116】
次に、DEL変換処理では、K番目の命令であるDEL処理のIN点すなわちKinと、完成ファイルのOUT点であるKoutと、S番目の命令における完成IN点であるSinと、完成ファイルのOUT点であるSoutとのそれぞれの位置関係により場合分けされた変換規則にしたがって、S257−5ないしS257−9の判別処理を順次行い、判別結果に応じて、S番目の命令の修正処理をそれぞれ行う。
【0117】
具体的には、例えば、Kout<Sinである場合の位置関係を図16(a)に例示する。
図16(a)に示す完成ファイル141Sは、先に保存されたS番目のOWR命令における完成ファイルのIN点とOUT点とを模式的に示したものである。同様に、図16(a)に示す完成ファイル141Kは、後から保存されたK番目のDEL命令における完成ファイルのIN点とOUT点とを模式的に示したものである。図示するように、完成ファイル141SにおけるIN点とOUT点の間の処理対象区間と、完成ファイル141KにおけるIN点とOUT点の間の処理対象区間と、の間には重なりがない。仮にK番目の命令をS番目の命令よりも先に実行すると、完成ファイル141KにおけるIN点とOUT点との間が除去されてしまうので、後からS番目の命令を実行しようとするときには、その時点の完成ファイルのIN点の位置は、利用者が意図した命令通知におけるIN点の位置よりも、図16において左側にずれる。つまり、Kout<Sinである場合、S番目の命令は、S番目よりも後に保存されたK番目の編集処理であるDEL処理により、K番目のDEL命令のDuration(K)の値のフレーム数分だけ前方(時間的に早い左側)にずれる。したがって、図15に示すように、命令内容書換手段364がKout<Sinであると判別した場合(S257−5でYes)、シフト処理手段362は、先に行うDEL処理を見越して、S番目のOWR命令において、完成ファイルのIN点の値に(−K)を加算したフレーム位置とする(S257−10)。
【0118】
また、例えば、Kin<Sin<Koutである場合の位置関係を図16(b)に例示する。図16(b)に示す完成ファイル142Sは、先に保存されたS番目のOWR命令における完成ファイルのIN点とOUT点とを模式的に示したものである。同様に、図16(b)に示す完成ファイル142Kは、後から保存されたK番目のDEL命令における完成ファイルのIN点とOUT点とを模式的に示したものである。図示するように、完成ファイル142SにおけるIN点とOUT点の間の処理対象区間と、完成ファイル142KにおけるIN点とOUT点の間の処理対象区間と、の間には重複する区間1421がある。この場合、K番目の命令をS番目の命令よりも先に実行したとしても、利用者が意図した編集結果を得るためには、単純なシフト処理だけでは困難である。そのため、命令の適切な位置において分割処理、削除処理を行ってからシフト処理を行うという変換規則をあてはめる。
具体的には、図15に示すように、命令内容書換手段364がKin<Sin<Koutであると判別した場合(S257−6でYes)、分割処理手段361は、S番目の命令(OWR命令)をKoutの位置で2つに分割し(S257−11)、削除処理手段363は、分割した前半部の命令を削除し(S257−12)、シフト処理手段362は、先に行うDEL処理を見越して、分割した後半部の命令において、完成ファイルのIN点の値に(−K)を加算したフレーム位置とするフレームシフトを行う(S257−13)。
【0119】
また、例えば、Sin≦Kin、Kout≦Soutである場合の位置関係を図16(c)に例示する。図示するように、完成ファイル143SにおけるIN点とOUT点の間の処理対象区間と、完成ファイル143KにおけるIN点とOUT点の間の処理対象区間と、の間には重複する区間1431がある。この場合も、命令の適切な位置において分割処理、削除処理を行ってからシフト処理を行うという変換規則をあてはめる。具体的には、図15に示すように、命令内容書換手段364がSin≦Kin、Kout≦Soutであると判別した場合(S257−7でYes)、分割処理手段361は、S番目の命令(OWR命令)をKinおよびKoutの位置で3分割し(S257−14)、削除処理手段363は、3分割したうちの2番目の命令を削除し(S257−15)、シフト処理手段362は、先に行うDEL処理を見越して、3番目の命令において、完成ファイルのIN点の値に(−K)を加算したフレーム位置とするフレームシフトを行う(S257−16)。
【0120】
また、例えば、Kin<Sout<Koutである場合の位置関係を図16(d)に例示する。図示するように、完成ファイル144SにおけるIN点とOUT点の間の処理対象区間と、完成ファイル144KにおけるIN点とOUT点の間の処理対象区間と、の間には重複する区間1441がある。この場合、命令の適切な位置において分割処理および削除処理を行うという変換規則をあてはめる。具体的には、図15に示すように、命令内容書換手段364がKin<Sout<Koutであると判別した場合(S257−8でYes)、分割処理手段361は、S番目の命令(OWR命令)をKinの位置で2分割し(S257−17)、削除処理手段363は、分割した後半部の命令を削除する(S257−18)。
【0121】
また、例えば、Kin≦SinかつSout≦Koutである場合の位置関係を図16(e)に例示する。図示するように、完成ファイル145SにおけるIN点とOUT点の間の処理対象区間と、完成ファイル145KにおけるIN点とOUT点の間の処理対象区間と、の間には重複する区間1451があり、S番目の命令に係る区間は、K番目の命令に係る区間に完全に含まれている。このため、S番目の命令は、K番目のDEL命令の実行後にはすべて削除されてしまうので、S番目の命令を予め削除しておくという変換規則をあてはめる。
具体的には、図15に示すように、命令内容書換手段364がKin≦SinかつSout≦Koutであると判別した場合(S257−9でYes)、削除処理手段363は、S番目の命令を削除する(S257−19)。
【0122】
一方、S257−9の処理にて、命令内容書換手段364がKin≦SinかつSout≦Koutではないと判別した場合(S257−9でNo)、S番目のOWR命令は、後から保存されて先に実行されるK番目の編集処理に影響されない。このS257−9でNoの場合、または、前記したS257−10、S257−13、S257−16、S257−18またはS257−19の処理に続いて、命令内容書換手段364は、(K−1)番目の命令まで順番に処理するために、現在のSの値に1を加え(S257−20)、S257−3へ戻る。
【0123】
前記したS257−19までの処理は、ログファイルAに保存された命令の記録上において、分割、削除、シフトといった書き換え処理を行うものであったが、S257−3の判別処理においてS=Kとなった場合(S257−3でYes)、K番目の編集処理であるDEL処理を実際に行う。そのため、命令処理手段35によって、実際の完成ファイルに対して削除処理(DEL)を実行する(S257−21)。
次に、命令内容書換手段364は、DEL変換処理の処理対象であるK番目のDEL命令をログファイルAから削除する(S257−22)。なお、ログファイル管理手段2が削除するようにしてもよい。
これらS257−21、S257−22の処理をすることで、K番目の命令(DEL)を実行したこととなる。
【0124】
以上の動作により、ログファイルのK番目がDEL命令の場合には、ログファイルの1番目から(K−1)番目までの命令の補正処理を行った後、完成ファイルに対して実際の削除処理を行なった上で、DEL命令をログファイルから削除することができる。
【0125】
(4−3−3−3.OWR変換処理)
次に、OWR変換処理(S25−8)の動作について図17の流れ図を使って説明する。OWR変換処理(S25−8)は、ログファイルAの先頭からK番目の命令が上書き(OWR命令)である場合に、ログファイルAの指定されたK番目までの命令の変換処理を行うものである。
【0126】
OWR変換処理(S25−8)は、全体の処理の流れとしては、INS変換処理(S25−6)と同様であって、ログファイルの1番目から(K−1)番目の命令(すべてOWR命令に変換されているはず)の修正処理を行う。
【0127】
このOWR変換処理では、はじめに、命令内容取得手段34が、K番目の命令(OWR命令)の完成ファイルのIN点(完成IN点)の位置であるKinと、完成ファイルのOUT点の位置であるKoutとを取得する(S258−1)。なお、KoutはKin+(K番目の命令のDuration)の演算から求めることができる。
【0128】
次に、ログファイルの1番目から(K−1)番目の命令を順に処理するため、カウンタ用のパラメータSを導入し、命令内容書換手段364は、パラメータSの値を1にセットし(S258−2)、次いで、Sの値がKの値と等しくなったか否かを判別する(S258−3)。まだSの値がKの値よりも小さい場合(S258−3でNo)には、命令内容取得手段34が、S番目の命令(OWRのはず)における完成ファイルのIN点(完成IN点)であるSinと、完成ファイルのOUT点であるSoutとを取得する(S258−4)。なお、SoutはSin+(S番目の命令のDuration)の演算から求めることができる。
【0129】
次に、OWR変換処理では、K番目の命令であるOWR処理のIN点すなわちKinと、完成ファイルのOUT点であるKoutと、S番目の命令における完成IN点であるSinと、完成ファイルのOUT点であるSoutとのそれぞれの位置関係により場合分けされた変換規則にしたがって、S258−5ないしS258−8の判別処理を順次行い、判別結果に応じて、S番目の命令の修正処理をそれぞれ行う。
【0130】
具体的には、例えば、Kin≦Sin、Sout≦Koutである場合の位置関係を図18(a)に例示する。図18(a)に示す完成ファイル151Sは、先に保存されたS番目のOWR命令における完成ファイルのIN点とOUT点とを模式的に示したものである。同様に、図18(a)に示す完成ファイル151Kは、後から保存されたK番目のOWR命令における完成ファイルのIN点とOUT点とを模式的に示したものである。図示するように、完成ファイル151SにおけるIN点とOUT点の間の処理対象区間と、完成ファイル151KにおけるIN点とOUT点の間の処理対象区間と、の間には重複する区間1511があり、S番目の命令に係る区間は、K番目の命令に係る区間に完全に含まれている。このため、S番目の命令は、K番目のOWR命令の実行後にはすべて上書きされてしまうものだったので、S番目の命令に対して削除処理を行うという変換規則をあてはめる。
具体的には、図17に示すように、命令内容書換手段364がKin≦Sin、Sout≦Koutであると判別した場合(S258−5でYes)、削除処理手段363は、S番目の命令を削除する(S258−9)。
【0131】
また、例えば、Kin<Sin<Koutである場合の位置関係を図18(b)に例示する。図示するように、完成ファイル152SにおけるIN点とOUT点の間の処理対象区間と、完成ファイル152KにおけるIN点とOUT点の間の処理対象区間と、の間には重複する区間がある。S番目の命令もK番目の命令もOWR命令なので、重複する区間は、後から行うS番目の命令により上書きされる。したがって、S番目のOWR命令のIN点を変更するという変換規則をあてはめる。
つまり、図17に示すように、命令内容書換手段364がKin<Sin<Koutであると判別した場合(S258−6でYes)、S番目のOWR命令を修正する(S258−10)。すなわち、命令内容書換手段364は、S番目のOWR命令において、素材ファイルのIN点(素材IN点)の値に−(Sin−Kout)を加算し、完成ファイルのIN点(完成IN点)をKoutとし、Durationを(Sout−Kout)に修正する。
【0132】
具体的には、図18(b)に示す例では、S番目の命令は、素材ファイル152mのIN点=0、完成ファイル152SのIN点=700、Duration=100の各データを有している。また、K番目の命令は、完成ファイル152KのIN点=660、Duration=100の各データを有している。この例の場合、素材ファイル152mの元のIN点1521の値(=0)に、−(700−760)を加算し、完成ファイルのIN点(=700)を760とし、Durationを(800−760)に修正する。したがって、素材ファイル152mの修正後のIN点1522の値は60となり、完成ファイル152Sの修正後のIN点1523の値は760となる。
【0133】
また、例えば、Sin≦Kin、Kout<Soutである場合の位置関係を図18(c)に例示する。図示するように、完成ファイル153SにおけるIN点とOUT点の間の処理対象区間と、完成ファイル153KにおけるIN点とOUT点の間の処理対象区間と、の間には重複する区間1531がある。S番目の命令もK番目の命令もOWR命令なので、先に実行するK番目の命令において、重複する区間1531は、後から行うS番目の命令により上書きされてしまう。したがって、S番目のOWR命令において、重複する区間1531のみ除去するように命令を分割するという変換規則をあてはめる。
つまり、図17に示すように、命令内容書換手段364がSin≦Kin、Kout<Soutであると判別した場合(S258−7でYes)、分割処理手段361は、S番目の命令(OWR命令)をKinおよびKoutの位置で3分割し(S258−11)、削除処理手段363は、3分割したうちの2番目の命令を削除する(S258−12)。
【0134】
また、例えば、Kin≦Sout<Koutである場合の位置関係を図18(d)に例示する。図示するように、完成ファイル154SにおけるIN点とOUT点の間の処理対象区間と、完成ファイル154KにおけるIN点とOUT点の間の処理対象区間と、の間には重複する区間がある。S番目の命令もK番目の命令もOWR命令なので、重複する区間は、後から行うS番目の命令により上書きされる。したがって、K番目の命令において重複する区間が、後から行うS番目の命令により上書きされないように、S番目のOWR命令のDurationを変更する(K番目の完成ファイルIN点より図中左側の部分を残すように短縮する)という変換規則をあてはめる。
つまり、図17に示すように、命令内容書換手段364がKin≦Sout<Koutであると判別した場合(S258−8でYes)、S番目のOWR命令を修正する(S258−13)。すなわち、命令内容書換手段364は、S番目のOWR命令において、Durationを(Kin−Sin)に修正する。
【0135】
具体的には、図18(d)に示す例では、S番目の命令は、素材ファイル154mのIN点=0、完成ファイル154SのIN点=700、Duration=100の各データを有している。また、K番目の命令は、完成ファイル154KのIN点=760、Duration=100の各データを有している。この例の場合、素材ファイル154mの元のDuration1541の値(=100)が修正され、素材ファイル154mの変更後のDuration1542の値(=60)となる。なお、OWRの場合、素材ファイルのDurationと完成ファイルのDurationとは等しい。
【0136】
一方、S258−8の判別処理にて、命令内容書換手段364がKin≦Sout<Koutではないと判別した場合(S258−8でNo)、S番目のOWR命令は、後から保存されて先に実行されるK番目の編集処理に影響されない。このS258−8でNoの場合、または、前記したS258−9、S258−10、S258−12またはS258−13の処理に続いて、命令内容書換手段364は、(K−1)番目の命令まで順番に処理するために、現在のSの値に1を加え(S258−14)、S258−3へ戻る。
【0137】
S258−3の判別処理においてS=Kとなった場合(S258−3でYes)、ログファイル変更処理手段32は、ログファイル変更処理を終了する。なお、K番目のOWR命令は命令処理手段35により実行される。以上の動作により、ログファイルのK番目がOWR命令の場合には、ログファイルの1番目から(K−1)番目までの命令の補正処理が行われる。
【0138】
本実施形態によれば、編集処理装置10は、命令通知の順序とは異なる順序で実行可能通知を受け取った場合であっても、ログファイルを変換することによって、実行可能通知の受付順で編集処理を行うことが可能となる。
また、本実施形態によれば、リモート編集システム100において、クライアント30からの編集命令にしたがって、編集処理装置10は素材ファイルから完成ファイルを作成することが可能となる。特に、編集命令の順序とは異なる順序で実行命令が通知された場合であっても、実行命令の順序で編集処理を行うことができるため、高速な編集処理の実行が可能となる。
【0139】
以上、本発明の実施形態について説明したが、本発明は、この実施形態には限定されない。例えば、リモート編集システム100は、放送局での利用に限定されるものではないが、素材サーバ群20は、例えば放送局の本局のネットワークのサーバや、インターネット上のサーバ、インターネット等を介した地方局のネットワークのサーバ等を含む広域ネットワークでも構わない。また、例えば、複数のサーバに、1つのファイルの同一バージョンまたは異なるバージョンを分散配置して、この実質的に同じファイルから異なる素材を編集処理装置10が収集して完成ファイルに挿入等の編集処理をしてもよいし、複数のサーバに、ファイル名の異なる個別のファイルを分散配置して、個別のファイルから異なる素材を編集処理装置10が収集して完成ファイルを編集してもよい。
【0140】
また、クライアント30の編集命令入力手段310は、ウェブブラウザの編集用インタフェースの代わりに、例えば、過去に行われた編集時に保存された編集履歴情報から編集命令を取得して、ID生成手段320に入力するようにしてもよい。この場合、編集履歴情報には、例えば命令種別、命令内容および命令生成時刻等を含む。また、編集履歴情報の保存先は、クライアント30に限らず、クライアント30にネットワーク接続された編集処理装置10や他のサーバでもよい。
【0141】
また、編集処理装置100のメディアファイル処理手段3は、編集処理機能と、ログファイル変更処理機能とを備えていれば、前記した実施形態に限定されるものではないことは勿論である。例えば、編集処理機能の挿入手段を代用すれば、ダミーデータ処理手段37を別に設けなくてもよい。また、編集命令において、素材ファイルや完成ファイルのIN点およびDurationの指定は、フレーム番号で説明したがタイムコードでも構わない。
【0142】
また、本実施形態では、編集処理装置10として説明したが、この装置は、一般的なコンピュータを、前記した各手段として機能させるプログラム(編集処理プログラム)により動作させることで実現することができる。このプログラムは、通信回線を介して提供することも可能であるし、CD−ROM等の記録媒体に書き込んで配布することも可能である。また、この装置の各構成の処理を、完成ファイルを作成するための1つずつの過程ととらえた編集処理方法とみなすことも可能である。この場合も、編集処理装置10と同様の効果を得ることができる。
【符号の説明】
【0143】
100 リモート編集システム
10 編集処理装置
1 命令処理手段
2 ログファイル管理手段
3 メディアファイル処理手段
31 編集命令実行手段
32 ログファイル変更処理手段
33 命令種別判別手段
34 命令内容取得手段
35 命令処理手段
36 未実行命令記録変換手段
361 分割処理手段
362 シフト処理手段
363 削除処理手段
364 命令内容書換手段
37 ダミーデータ処理手段
4 ファイル受信手段
5 蓄積手段
20 素材サーバ群
30 クライアント
310 編集命令入力手段
320 ID生成手段
330 編集命令通知手段
340 判別手段
350 転送要求通知手段
360 転送完了通知受信手段
370 実行可能命令通知手段
40 ネットワーク装置

【特許請求の範囲】
【請求項1】
メディアファイルを作成するための編集ファイルの素材となる素材ファイルを蓄積した1以上のサーバからなる素材サーバ群と、
前記編集ファイルに前記素材の挿入、削除および上書きのうちの少なくとも1つの編集処理を行うことで前記メディアファイルを作成する編集処理装置と、
前記編集処理装置に対して前記編集処理を命令するメッセージである命令通知を通知した後に当該命令が実行可能となった旨を示すメッセージである実行可能通知を通知するクライアントと、を備え、前記編集処理装置、前記素材サーバ群および前記クライアントがネットワーク装置を介して互いに通信可能に接続されたリモート編集システムであって、
前記編集処理装置は、
前記編集ファイルを記憶する蓄積手段と、
前記クライアントから、前記命令通知および前記実行可能通知を受け付ける命令処理手段と、
挿入および上書きの命令に応じて、前記素材サーバ群から転送された前記素材ファイルの少なくとも一部を受信して前記蓄積手段に格納するファイル受信手段と、
前記受け付けた命令通知による命令の記録をログファイルに保存して管理するログファイル管理手段と、
前記実行可能通知を受け付けたときに、当該実行可能通知に対応して前記ログファイルに保存されている命令にしたがって前記編集ファイルに対する編集処理を行うメディアファイル処理手段と、を備え、
前記メディアファイル処理手段は、
前記受け付けた実行可能通知が前記ログファイルに最初に保存された命令に対するものではない場合、前記ログファイルにおいて当該実行可能通知に対応した命令よりも前に保存された未実行の挿入命令を上書き命令に変更するログファイル変更処理手段を備えることを特徴とするリモート編集システム。
【請求項2】
メディアファイルを作成するための編集ファイルの素材となる素材ファイルを蓄積した1以上のサーバからなる素材サーバ群と、前記編集ファイルに前記素材の挿入、削除および上書きのうちの少なくとも1つの編集処理を行うことで前記メディアファイルを作成する編集処理装置と、前記編集処理装置に対して前記編集処理を命令するメッセージである命令通知を通知した後に当該命令が実行可能となった旨を示すメッセージである実行可能通知を通知するクライアントとが互いにネットワーク装置を介して通信可能に接続されたリモート編集システムにおける前記編集処理装置であって、
前記編集ファイルを記憶する蓄積手段と、
前記クライアントから、前記命令通知および前記実行可能通知を受け付ける命令処理手段と、
挿入および上書きの命令に応じて、前記素材サーバ群から転送された前記素材ファイルの少なくとも一部を受信して前記蓄積手段に格納するファイル受信手段と、
前記受け付けた命令通知による命令の記録をログファイルに保存して管理するログファイル管理手段と、
前記実行可能通知を受け付けたときに、当該実行可能通知に対応して前記ログファイルに保存されている命令にしたがって前記編集ファイルに対する編集処理を行うメディアファイル処理手段と、を備え、
前記メディアファイル処理手段は、
前記受け付けた実行可能通知が前記ログファイルに最初に保存された命令に対するものではない場合、前記ログファイルにおいて当該実行可能通知に対応した命令よりも前に保存された未実行の挿入命令を上書き命令に変更するログファイル変更処理手段を備えることを特徴とする編集処理装置。
【請求項3】
前記ログファイル変更処理手段は、
前記受け付けた実行可能通知に対応した命令よりも前に保存された未実行の命令として記録された複数の命令内容項目のうちの少なくとも1つの項目の値を予め定められた変換規則にしたがって別の値に変換する未実行命令記録変換手段と、
前記受け付けた実行可能通知に対応した命令が挿入命令の場合、当該挿入命令に基づく前記編集ファイルに対する挿入処理を実行する前に、予め定められたダミーデータを前記編集ファイルへ挿入するダミーデータ処理手段と、
を備えることを特徴とする請求項2に記載の編集処理装置。
【請求項4】
前記未実行命令記録変換手段は、
前記未実行の命令として記録された命令内容項目の1つである、編集ファイル内での処理対象区間の値を複数に分割することで、前記命令を複数回に分けて実行できるように分割する命令分割処理を行う分割処理手段と、
前記未実行の命令として記録された命令内容項目の1つである、編集ファイル内での処理開始位置の値、または前記分割処理後のいずれかの命令における編集ファイル内での処理開始位置の値をずらす命令シフト処理を行うシフト処理手段と、
前記未実行の命令または前記分割処理後のいずれかの命令を前記ログファイル(A)から削除する命令削除処理を行う削除処理手段と、
前記未実行の命令の内容としてそれぞれ記録された、素材ファイル内での素材抽出位置、前記未実行の命令における編集ファイルへの処理開始位置、および前記未実行の命令における編集ファイル内での処理対象区間のうちの少なくとも1つの項目の値を、命令種別および前記処理対象区間に応じて予め場合分けを行って求められた変換規則にしたがって、前記ログファイル上において前記命令分割処理、前記シフト処理および前記削除処理によって変換された値に書き換える命令内容書換手段と、
を備えることを特徴とする請求項3に記載の編集処理装置。
【請求項5】
メディアファイルを作成するための編集ファイルの素材となる素材ファイルを蓄積した1以上のサーバからなる素材サーバ群と、前記編集ファイルに前記素材の挿入、削除および上書きのうちの少なくとも1つの編集処理を行うことで前記メディアファイルを作成する編集処理装置と、前記編集処理装置に対して前記編集処理を命令するメッセージである命令通知を通知した後に当該命令が実行可能となった旨を示すメッセージである実行可能通知を通知するクライアントとが互いにネットワーク装置を介して通信可能に接続されたリモート編集システムにおいて、前記編集処理装置として前記編集ファイルを記憶する蓄積手段を備えたコンピュータを、
前記クライアントから、前記命令通知および前記実行可能通知を受け付ける命令処理手段、
挿入および上書きの命令に応じて、前記素材サーバ群から転送された前記素材ファイルの少なくとも一部を受信して前記蓄積手段に格納するファイル受信手段、
前記受け付けた命令通知による命令の記録をログファイルに保存して管理するログファイル管理手段、
前記実行可能通知を受け付けたときに、当該実行可能通知に対応して前記ログファイルに保存された命令にしたがって前記編集ファイルに対する編集処理を行うと共に、前記受け付けた実行可能通知が前記ログファイルに最初に保存された命令に対するものではない場合、前記ログファイルにおいて当該実行可能通知に対応した命令よりも前に保存された未実行の挿入命令を上書き命令に変更するメディアファイル処理手段、
として機能させるための編集処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2012−133615(P2012−133615A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−285574(P2010−285574)
【出願日】平成22年12月22日(2010.12.22)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】