(57)【要約】【課題】  同じコンテンツ内の別の部分を同時に編集することのできるコンテンツ編集システムを提供する。【解決手段】  編集サーバ１００は、コンテンツをブロック単位で格納し、この単位でクライアント２００Ａなどに編集を許可する。編集サーバ１００は、コンテンツの編集を要求されると要求されたブロックに他から編集されないようロックをかけ、要求元のクライアントへそのブロックを送信する。クライアント２００Ａでは、ブロックに対して行った編集操作を順次編集履歴情報として蓄積し、編集終了時にまとめて編集サーバ１００に送信する。編集履歴情報を受信した編集サーバ１００は、編集履歴情報に含まれる編集操作をコンテンツに対して施し、コンテンツを更新する。そして、かけていたロックを外す。【選択図】  図１
2006166289.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを格納するサーバ装置と、該サーバ装置に通信ネットワークを介して接続され、サーバ装置に格納されているコンテンツデータから作成された編集用データを編集するクライアント装置とから構成されるコンテンツ編集システムであって、
前記サーバ装置は、
編集対象のコンテンツデータをブロック単位で読み書き可能に格納するサーバ側格納手段と、
編集対象のコンテンツデータに対し、他から編集されないようブロック単位でロックをかけるデータロック手段と、
クライアント装置からコンテンツデータの送信要求をブロック単位で受け付ける送信要求受付手段と、
前記送信要求受付手段で要求されたコンテンツデータのブロックに前記データロック手段でロックをかけ、該コンテンツデータのブロックを編集用データとしてクライアント装置に送信するコンテンツ送信手段と、
クライアントから送信される編集内容を示す編集内容データを受信する編集内容受信手段と、
前記サーバ側格納手段に格納されているコンテンツデータに、前記編集内容受信手段で受信した編集内容データで指示される編集を行ってコンテンツデータを更新するサーバ側編集手段と、
前記サーバ側編集手段で編集され更新されたコンテンツデータのブロックに対して前記データロック手段がかけたロックを解除するロック解除手段と、
を具備し、
前記クライアント装置は、
前記コンテンツ送信手段により送信された編集用データを受信するコンテンツ受信手段と、
前記コンテンツ受信手段で受信した編集用データを格納するクライアント側格納手段と、
編集指示要求を受け付ける編集指示受付手段と、
前記クライアント側格納手段に格納している編集用データに、前記編集指示受付手段で受け付けた編集指示要求で指示された編集を行って編集用データを更新するクライアント側編集手段と、
前記クライアント側編集手段で行った編集内容を示す前記編集内容データを前記サーバ装置へ送信する編集内容送信手段と、
を具備する、
ことを特徴とするコンテンツ編集システム。
【請求項２】
前記サーバ装置はさらに、
前記サーバ側編集手段における編集によりコンテンツの長さが変化したか否かを判別する判別手段と、
前記判別手段で編集によりコンテンツの長さが変化したと判別した場合に、該コンテンツを構成する各ブロックの長さが同一となるようブロックを更新するブロック更新手段と、
を具備することを特徴とする請求項１に記載のコンテンツ編集システム。
【請求項３】
前記サーバ装置はさらに、
前記ブロックと１対１に対応付けられたサムネイル画像を格納するサムネイル画像格納手段を具備し、
前記ブロック更新手段は、分割し直したコンテンツデータの各ブロックからサムネイル画像を生成し更新すること、
を特徴とする請求項２に記載のコンテンツ編集システム。
【請求項４】
通信ネットワークを介してクライアント装置と接続された編集サーバ装置であって、
編集対象のコンテンツデータをブロック単位で読み書き可能に格納する格納手段と、
編集対象のコンテンツデータに対し、他から編集されないようブロック単位でロックをかけるデータロック手段と、
クライアント装置からコンテンツデータの送信要求をブロック単位で受け付ける送信要求受付手段と、
前記送信要求受付手段で送信要求を受けたコンテンツデータのブロックに前記データロック手段でロックをかけ、該コンテンツデータのブロックを編集用データとしてクライアント装置に送信するコンテンツ送信手段と、
前記クライアント装置が編集用データに対して行った編集内容を示す編集内容データを受信する編集内容受信手段と、
前記格納手段に格納されているコンテンツデータに、前記編集内容受信手段で受信した編集内容データで指示される編集を行ってコンテンツデータを更新する編集手段と、
前記サーバ側編集手段で編集され更新されたコンテンツデータのブロックに対して前記データロック手段がかけたロックを解除するロック解除手段と、
を具備することを特徴とする編集サーバ装置。
【請求項５】
コンテンツデータをブロック単位で読み書き可能格納するサーバ装置と、通信ネットワークを介してサーバ装置と接続されたクライアント装置とから構成されるコンテンツ編集システムにおいて、
前記サーバ装置が、送信要求を出されたコンテンツのブロックに対し、他から編集されないようロックをかけるデータロックステップと、
前記サーバ装置が、送信要求を出したクライアント装置へ、要求されたコンテンツデータのブロックを編集用データとして送信するコンテンツ送信ステップと、
前記クライアント装置が、前記コンテンツ送信ステップで送信された編集用データを受信する受信ステップと、
前記クライアント装置が、編集者から、編集用データに対する編集の要求を受け付ける編集指示受付ステップと、
前記クライアント装置が、前記編集指示受付ステップで受け付けた編集の要求に従って、受信した編集用データを編集するクライアント側編集ステップと、
前記クライアント装置が、通信ネットワークを介して、前記編集指示受付ステップで受け付けた編集の要求の内容を表す編集内容データを前記サーバ装置に送信する編集指示送信ステップと、
前記サーバ装置が、前記編集指示送信ステップで送信された編集内容データを受信する編集指示受信ステップと、
前記サーバ装置が、前記編集指示受信ステップで受信した編集指示データに従って、コンテンツデータを編集して更新するサーバ側編集ステップと、
前記データロックステップでかけられたロックを解除するロック解除ステップと、
を備えることを特徴とするコンテンツ編集方法。
【請求項６】
コンテンツデータをブロック単位で読み書き可能に格納する格納手段を具備するコンピュータ装置を、
通信ネットワークを介して接続されたクライアント装置からコンテンツデータの送信要求をブロック単位で受け付け、
送信要求を受け付けたコンテンツデータのブロックに対し他の編集がされないようロックをかけ、
前記通信ネットワークを介して、送信要求を受け付けたコンテンツデータのブロックを編集用データとして要求元のクライアント装置に送信し、
前記クライアント装置が編集用データに対して行った編集内容を示したデータを受信し、
格納手段に格納しているコンテンツデータに、受信した編集内容を示したデータで指示される編集を行って、コンテンツデータを更新し、
編集されたコンテンツデータのブロックに対してかけられていたロックを解除する、
編集サーバ装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ編集システム、編集サーバ装置、コンテンツ編集方法及びプログラムに関し、特に、サーバに格納された動画像等のコンテンツをクライアント装置側で編集するコンテンツ編集システム、編集サーバ装置、コンテンツ編集方法及びプログラムに関する。
【背景技術】
【０００２】
公衆回線やネットワークを使用してアクセス可能なコンテンツサーバのハードディスク上に格納されたデジタル動画像コンテンツ（以下、単に動画像コンテンツと称する）を、遠隔地に置かれたパソコンやワークステーションからデジタル編集（以下、単に編集と称する）することが行われている。
【０００３】
例えば、特許文献１に開示されている同時編集システムでは、各端末装置に仮想サーバが形成され、サーバに格納されたブックデータをミラーブックオブジェクトとして受信する。端末装置は編集コマンドを端末装置自身が保持しているミラーブックオブジェクトに対して実行しミラーブックオブジェクトを更新する。また、この編集コマンドを同時編集サーバと他の端末装置とに送信する。編集コマンドを送信されたサーバは、編集コマンドに従ってブックデータを編集して更新する。同様に、端末装置は、編集コマンドに従ってミラーブックオブジェクトを編集して更新する。
【特許文献１】特開２００１−２５６２１０号公報（第３、４頁、図１、４）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載された同時編集システムでは、動画像コンテンツの再生時間が長かったり動画像コンテンツが高品質だったり、あるいはサーバ装置からクライアントへの通信速度が遅かったりする場合、サーバ装置からクライアントへのコンテンツの転送時間が長くなる。このため、編集者は動画像コンテンツの編集要求を出してから、編集を開始できるまで長い間待たされてしまうという問題があった。
編集者が動画像コンテンツの編集要求を出してから、編集を開始するまで待たされるという問題は、編集するコンテンツの種類に限らず起こる問題である。
【０００５】
本発明は、上記問題点に鑑みてなされたもので、編集サーバ装置とクライアント装置との間で送受信されるデータ量の少ないコンテンツ編集システム、編集サーバ装置、コンテンツ編集方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の観点にかかるコンテンツ編集システムは、
コンテンツデータを格納するサーバ装置と、該サーバ装置に通信ネットワークを介して接続され、サーバ装置に格納されているコンテンツデータから作成された編集用データを編集するクライアント装置とから構成されるコンテンツ編集システムであって、
前記サーバ装置は、
編集対象のコンテンツデータをブロック単位で読み書き可能に格納するサーバ側格納手段と、
編集対象のコンテンツデータに対し、他から編集されないようブロック単位でロックをかけるデータロック手段と、
クライアント装置からコンテンツデータの送信要求をブロック単位で受け付ける送信要求受付手段と、
前記送信要求受付手段で要求されたコンテンツデータのブロックに前記データロック手段でロックをかけ、該コンテンツデータのブロックを編集用データとしてクライアント装置に送信するコンテンツ送信手段と、
クライアントから送信される編集内容を示す編集内容データを受信する編集内容受信手段と、
前記サーバ側格納手段に格納されているコンテンツデータに、前記編集内容受信手段で受信した編集内容データで指示される編集を行ってコンテンツデータを更新するサーバ側編集手段と、
前記サーバ側編集手段で編集され更新されたコンテンツデータのブロックに対して前記データロック手段がかけたロックを解除するロック解除手段と、
を具備し、
前記クライアント装置は、
前記コンテンツ送信手段により送信された編集用データを受信するコンテンツ受信手段と、
前記コンテンツ受信手段で受信した編集用データを格納するクライアント側格納手段と、
編集指示要求を受け付ける編集指示受付手段と、
前記クライアント側格納手段に格納している編集用データに、前記編集指示受付手段で受け付けた編集指示要求で指示された編集を行って編集用データを更新するクライアント側編集手段と、
前記クライアント側編集手段で行った編集内容を示す前記編集内容データを前記サーバ装置へ送信する編集内容送信手段と、
を具備することを特徴とする。
【０００７】
この発明によれば、サーバ装置はコンテンツデータをブロック単位で他から編集できないようにロックをかけて、クライアント装置へ送信する。このため、複数の編集者が同一のコンテンツデータの異なるブロックを同時に編集できる。また、クライアント装置ではコンテンツに対して行った、シーンのカット、入れ替え、各種エフェクトなどの編集に対応する編集内容データを、サーバ装置に送信する。サーバ装置は、サーバ側格納手段に格納されたコンテンツに対し、クライアント装置から送信された編集内容データで指示される編集を適用して、更新する。このため、クライアント装置はサーバ装置の処理待ちや通信遅延の影響を受けにくい。
【０００８】
上記コンテンツ編集システムにおいて、
前記サーバ装置はさらに、
前記サーバ側編集手段における編集によりコンテンツの長さが変化したか否かを判別する判別手段と、
前記判別手段で編集によりコンテンツの長さが変化したと判別した場合に、該コンテンツを構成する各ブロックの長さが同一となるようブロックを更新するブロック更新手段と、
を具備することが望ましい。
【０００９】
このコンテンツ編集システムにおいて、
前記サーバ装置はさらに、前記ブロックと１対１に対応付けられたサムネイル画像を格納するサムネイル画像格納手段を具備してもよい。
この場合、前記ブロック更新手段は、分割し直したコンテンツデータの各ブロックからサムネイル画像を生成し更新する。
【００１０】
本発明の第２の観点にかかる編集サーバ装置は、
通信ネットワークを介してクライアント装置と接続された編集サーバ装置であって、
編集対象のコンテンツデータをブロック単位で読み書き可能に格納する格納手段と、
編集対象のコンテンツデータに対し、他から編集されないようブロック単位でロックをかけるデータロック手段と、
クライアント装置からコンテンツデータの送信要求をブロック単位で受け付ける送信要求受付手段と、
前記送信要求受付手段で送信要求を受けたコンテンツデータのブロックに前記データロック手段でロックをかけ、該コンテンツデータのブロックを編集用データとしてクライアント装置に送信するコンテンツ送信手段と、
前記クライアント装置が編集用データに対して行った編集内容を示す編集内容データを受信する編集内容受信手段と、
前記格納手段に格納されているコンテンツデータに、前記編集内容受信手段で受信した編集内容データで指示される編集を行ってコンテンツデータを更新する編集手段と、
前記サーバ側編集手段で編集され更新されたコンテンツデータのブロックに対して前記データロック手段がかけたロックを解除するロック解除手段と、
を具備する。
【００１１】
本発明の第３の観点にかかるコンテンツ編集方法は、
コンテンツデータをブロック単位で読み書き可能に格納するサーバ装置と、通信ネットワークを介してサーバ装置と接続されたクライアント装置とから構成されるコンテンツ編集システムにおいて、
前記サーバ装置が、送信要求を出されたコンテンツのブロックに対し、他から編集されないようロックをかけるデータロックステップと、
前記サーバ装置が、送信要求を出したクライアント装置へ、要求されたコンテンツデータのブロックを編集用データとして送信するコンテンツ送信ステップと、
前記クライアント装置が、前記コンテンツ送信ステップで送信された編集用データを受信する受信ステップと、
前記クライアント装置が、編集者から、編集用データに対する編集の要求を受け付ける編集指示受付ステップと、
前記クライアント装置が、前記編集指示受付ステップで受け付けた編集の要求に従って、受信した編集用データを編集するクライアント側編集ステップと、
前記クライアント装置が、通信ネットワークを介して、前記編集指示受付ステップで受け付けた編集の要求の内容を表す編集内容データを前記サーバ装置に送信する編集指示送信ステップと、
前記サーバ装置が、前記編集指示送信ステップで送信された編集内容データを受信する編集指示受信ステップと、
前記サーバ装置が、前記編集指示受信ステップで受信した編集指示データに従って、コンテンツデータを編集して更新するサーバ側編集ステップと、
前記データロックステップでかけられたロックを解除するロック解除ステップと、
を備える。
【００１２】
本発明の第４の観点にかかるプログラムは、
コンテンツデータをブロック単位で読み書き可能に格納する格納手段を具備するコンピュータ装置を、
通信ネットワークを介して接続されたクライアント装置からコンテンツデータの送信要求をブロック単位で受け付け、
送信要求を受け付けたコンテンツデータのブロックに対し他の編集がされないようロックをかけ、
前記通信ネットワークを介して、送信要求を受け付けたコンテンツデータのブロックを編集用データとして要求元のクライアント装置に送信し、
前記クライアント装置が編集用データに対して行った編集内容を示したデータを受信し、
格納手段に格納しているコンテンツデータに、受信した編集内容を示したデータで指示される編集を行って、コンテンツデータを更新し、
編集されたコンテンツデータのブロックに対してかけられていたロックを解除する、
編集サーバ装置として機能させる。
【発明の効果】
【００１３】
本発明によれば、コンテンツ内の重複しないブロックを同時に編集できる。
【発明を実施するための最良の形態】
【００１４】
本発明にかかる実施形態を、以下図面を参照して説明する。
【００１５】
図１に示すように、本発明の実施形態にかかるコンテンツ編集システム１は、編集サーバ１００と、通信ネットワークＣを介して編集サーバ１００に接続されたクライアント２００Ａ、２００Ｂ、・・・、２００Ｎとを備える。以下特に、クライアントを区別しない場合は、クライアント２００と称する。なお、図１ではクライアントが３台示されてされているが、台数は何台でもよい。また、編集するコンテンツをＭＰＥＧ（Motion Picture Experts Group）−４フォーマット（ISO/IEC 14996-2）で圧縮された動画像データファイルとする。
【００１６】
通信ネットワークＣは、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）などの通信プロトコルに基づく公衆ＡＤＳＬ（Asymmetric Digital Subscriber Line）回線の通信ネットワークである。
【００１７】
編集サーバ１００は、クライアント２００から、コンテンツ送信の要求をブロック単位で受け付け、要求されたコンテンツデータのブロックを要求元のクライアント２００に送信する。そして、このクライアント２００からコンテンツになされた編集操作の指示を示す編集内容データを受信し、編集サーバ１００に格納しているコンテンツデータのブロックに対し同じ編集操作を行い、コンテンツデータのブロックを更新する。ここで、コンテンツデータは単一のデータファイルから構成され、コンテンツデータのブロックはブロック同士が時間的に同じ長さになるようデータファイルを所定の個数に分割した仮想的な単位である。編集サーバ１００はコンテンツデータのブロックを指定するとき、コンテンツデータのフォーマットとブロックの先頭からの個数とに基づいて、そのブロックの先頭位置のデータファイルの先頭位置からのオフセット値（バイト数で計算する）と、そのブロックのバイト数とを求め、データファイルの名前と、求めたオフセット値とブロックのバイト数と、を指定することでコンテンツデータのブロックを指定する。
【００１８】
コンテンツデータのブロックは、編集によりその長さが変動しブロック間で長さが異なる状態が発生する。編集サーバ１００はコンテンツデータがロックされていない状態で、ブロックの長さが同一となるよう随時ブロックを分割し直す。これにより、各ブロックの先頭位置のオフセット値とバイト数とが変動する。以下、データファイルをファイル、コンテンツデータをコンテンツ、コンテンツデータのブロックをコンテンツブロックと称する。
【００１９】
編集サーバ１００の構成を図２に示す。図示するように、編集サーバ１００は、制御部１１０と、記憶部１２０と、入力制御部１３０と、出力制御部１４０と、通信制御部１５０とを備える。
【００２０】
制御部１１０は、例えば、中央演算処理装置（ＣＰＵ、Central Processing Unit）やワークエリアとなる記憶装置（ＲＡＭ（Random Access Memory）等）を備える。制御部１１０は、記憶部１２０内に格納されている動作プログラムに基づいて、各部を制御しつつ、サーバ側の編集処理などを実行する。
【００２１】
記憶部１２０は、ハードディスク装置などの記憶装置から構成され、制御部１１０が実行する種々の動作プログラムやコンテンツ編集システム１の編集対象となっているコンテンツ、それらのコンテンツにかけられているロックの状態を示すロック情報などを格納する。図３に示すように、記憶部１２０は、コンテンツ記憶部１２１と、ロック情報記憶部１２２と、プログラム記憶部１２３とを含む。
【００２２】
図４に示すコンテンツ記憶部１２１に格納されるコンテンツは、ブロック単位で読み書き、ロック可能である。クライアント２００Ａなどでコンテンツブロックが編集された場合、制御部１１０によりそのコンテンツブロックが編集され、更新される。さらに、編集によりコンテンツの長さが変化した場合、随時コンテンツブロック同士の時間的長さが同一となるよう、コンテンツブロックが分割し直され更新される。また、各コンテンツブロックにはそのコンテンツブロックの内容を特徴づけるようなサムネイル画像が対応づけられている。サムネイル画像は、例えば、ブロックの先頭に位置するＩピクチャから作成され、コンテンツブロックの更新に合わせて更新される。
【００２３】
図５に、ロック情報の例を示す。図示するように、ロック情報はロック情報記憶部１２２に格納され、各コンテンツにかけられたロックの状態を示す情報をブロック単位（ここでは８ブロック）で格納している。図で「Ｅ」と示しているのは、編集者からの送信要求により当該部分にロックがかけられていることを示す。また、図で「Ｎ」と示しているのは、コンテンツが編集可能であることを示す。
【００２４】
制御部１１０がコンテンツをロックしようとするとき、制御部１１０は、編集要求を出されたコンテンツのロック情報を検索し、クライアント装置２００で編集されようとしている時間帯すべてが編集可能となっているか否かを判別する。編集しようとする時間帯すべてが編集可能な状態の時は、制御部１１０はその時間帯のロック情報を編集可能の状態から編集中の状態に更新する。編集しようとする時間帯のうち１つでも編集中の状態である時は、制御部１１０は送信できないと判別し、その旨を要求元のクライアント２００へ送信する。
【００２５】
また、制御部１１０がロックを解除しようとするとき、送信前にロックをかけた部分を編集中の状態から編集可能の状態に更新する。
【００２６】
プログラム記憶部１２３に格納される動作プログラムには、編集サーバ１００の基本動作を司る任意のＯＳ（Operating System：基本ソフトウェア）の他に、ＯＳと協働して後述するサーバ側の編集処理を実現するための、編集サーバプログラム、などが含まれている。
【００２７】
図２に戻って、入力制御部１３０には、例えば、キーボードやポインティング・デバイスなどの入力装置１３が接続される。入力制御部１３０は、入力装置１３から入力された制御部１１０への指示などを受け付けて制御部１１０に伝達する。
【００２８】
出力制御部１４０には、例えば、ディスプレイ装置やプリンタなどの出力装置１４が接続される。出力制御部１４０は、制御部１１０の処理結果などを必要に応じて出力装置１４に出力する。
【００２９】
通信制御部１５０は、例えば、ＮＩＣ（Network Interface Card）やルータなどの通信装置から構成され、通信ネットワークＣを介した、編集サーバ１００とクライアント２００との通信を制御する。
【００３０】
図１に戻り、クライアント２００Ａ、２００Ｂ、・・・、２００Ｎは、編集サーバ１００からコンテンツを受信し、受信したコンテンツブロックに対して映像編集を行い、映像編集時に行った編集操作の履歴を編集サーバ１００に送信する。クライアント２００Ａ、２００Ｂ、・・・、２００Ｎの構成は同一であるので、代表してクライアント２００Ａの構成を図６に示す。
【００３１】
図示するように、クライアント２００（２００Ａ）は、制御部２１０と、記憶部２２０と、入力制御部２３０と、出力制御部２４０と、通信制御部２５０とを備える。
【００３２】
制御部２１０は、例えば、ＣＰＵや、ワークエリアとなる記憶装置、などから構成される。制御部２１０は、記憶部２２０に格納されている動作プログラムに基づいて、各部を制御しつつ後述するクライアント側の編集処理などを実行する。
【００３３】
記憶部２２０は、例えば、記憶装置（ＲＡＭ、ハードディスク等）から構成される。記憶部２２０は、制御部２１０の動作プログラム（本実施形態特有の編集クライアントプログラムを含む）、および編集中のコンテンツブロック、コンテンツブロックに対する編集操作手順を記録した編集履歴情報などを記憶している。
【００３４】
ここで、編集クライアントプログラムは、コンテンツブロックに対し、シーンの削除、入れ換え、特殊効果（例えば、スーパーインポーズ、フェードアウトなど）などの各種映像編集用編集操作をＧＯＰ（Group Of Pictures）単位で行うプログラムである。
【００３５】
図７に示すように、編集履歴情報は、「手順識別子」、「開始時間」、「終了時間」、「編集内容特定情報」などを含む。
ここで、「手順識別子」は、編集者がクライアント２００でコンテンツブロックに対して行った編集操作の指示を特定する識別情報であり、編集操作の順序を特定する情報である。「開始時間」および「終了時間」とは、コンテンツブロックに対して行った編集操作がコンテンツブロック中のどの部分であるかを特定する情報である。本実施形態では、コンテンツの編集開始前のタイムコードを格納している。なお、編集開始前のピクチャの先頭からのフレーム数で指定するようにしたり、編集部分の先頭から計測される時間で指定するようにしたりして構成することもできる。「編集内容特定情報」は、コンテンツブロックの「開始時間」から「終了時間」までの部分、またはコンテンツブロックの「開始時間」で指定された位置に対してなされた編集操作の内容を示す情報である。なお、手順識別子４が割り当てられた編集操作のように、「開始時間」や「終了時間」と関連づけられない編集操作も存在する。また、図７では、理解を容易にするために、「編集内容特定情報」を自然言語で記載しているが、実際には、制御部２１０において「編集内容特定情報」の情報として記載されている内容の解釈を容易にするため、専用の記述言語、マークアップ言語等を用いて記述したものや、編集操作に対応した編集サーバ１００やクライアント２００の編集命令などを格納する。
【００３６】
図６に戻って、入力制御部２３０には、例えば、キーボードやポインティング・デバイス（マウス）などの入力装置２３が接続される。入力制御部２３０は、入力装置２３から入力された制御部２１０への指示などを受け付けて制御部２１０に伝達する。
【００３７】
出力制御部２４０には、例えば、ディスプレイ装置やプリンタなどの出力装置２４が接続される。出力制御部２４０は、制御部２１０の処理結果などを必要に応じて出力装置２４に出力する。
【００３８】
通信制御部２５０は、例えば、ネットワークカードを備え、編集サーバ１００からクライアント２００で編集するコンテンツブロックを受信する。また、受信したコンテンツブロックに対して行った編集操作の内容を示す編集履歴情報を編集サーバ１００に送信する。
【００３９】
次に、図８、図９及び図１０を参照して編集処理を説明する。図８は、編集処理を説明するためのフローチャートである。そして、図９及び図１０は、編集処理において、出力装置２４に表示される画面の例を示したものである。以下の説明において、特に必要がなければ、制御部１１０、２１０などの個々の動作を述べず、編集サーバ１００やクライアント２００全体の動作として説明する。
【００４０】
クライアント２００において編集クライアントプログラムが起動されると、制御部２１０は編集サーバ１００に対しコンテンツブロックに対応づけられたサムネイル画像を、通信ネットワークＣを介して要求する。サムネイル画像を要求された制御部１１０は、コンテンツ記憶部１２１からサムネイル画像を読み出し、要求元のクライアント２００へ送信する。サムネイル画像を受信したクライアント２００は、サムネイル画像を所定の位置に配置することで、図９に示すようなコンテンツ選択画面４００を出力装置２４に表示させる。
【００４１】
コンテンツ選択画面４００には、コンテンツの各ブロックと１対１に対応づけられたサムネイル画像が画像表示エリア４０１に表示されている。各画像表示エリア４０１の下には、チェックボックス４０２が配置されており、編集者は入力装置（マウス）２３を操作してチェックボックス４０２にチェックを入れることで、編集したいコンテンツのブロックを指定する。
【００４２】
編集者は、入力装置２３を操作して決定ボタン４０３をクリックすることで、編集サーバ１００にコンテンツ送信の要求の指示を出す。制御部２１０は、送信の指示を受け取ると、送信を要求されたコンテンツブロックを指定する情報（例えば、コンテンツＸのファイル名およびブロック番号（このブロックがファイル内で先頭から数えて何番目にあたるか）を示す情報やサムネイル画像を指定する情報など）と送信要求とを編集サーバ１００へ送信する（図８：ステップＳ２０１）。
【００４３】
コンテンツブロック送信の要求を受けた編集サーバ１００の制御部１１０は、コンテンツブロックを指定する情報から、要求されたコンテンツブロックに対応するデータファイル名、オフセット値、およびブロックのバイト数を特定し、特定したデータファイル名、オフセット値、およびブロックのバイト数を指定して、コンテンツブロックにロックをかける（ステップＳ１０１）。例えば、コンテンツブロックを指定する情報が、コンテンツＸの先頭から数えたブロックの個数を示す情報である場合、制御部１１０は、まず「ブロック番号」からブロックのオフセット値とバイト数とを求める。さらに、制御部１１０はこの部分を含む時間帯のロック情報を編集中の状態に更新する。そして、データファイル名、オフセット値、およびブロックのバイト数により特定されるコンテンツブロックをコンテンツ記憶部１２１から読み出し、通信ネットワークＣを介して、コンテンツ編集を要求したクライアント２００へ送信する（ステップＳ１０２）。なお、ロックをかけるのに失敗した場合、そこで制御部１１０はコンテンツブロックにロックをかけることに失敗した旨のエラーメッセージを要求元のクライアントへ返信し、編集処理を終了する。
【００４４】
コンテンツブロックを受信すると（ステップＳ２０２）、制御部２１０は、編集クライアントプログラムを動作させ、例えば、図１０に示すような編集画面を表示する。
【００４５】
図１０に示した編集画面５００には、編集中のコンテンツブロック内のピクチャを表示するエリア５０１、コンテンツの時間軸や目印を付けられているコンテンツブロックの部分などを示すエリア５０２、エリア５０１に表示されているピクチャを変更する指示（巻き戻し、早送りなど。なお、エリア５０２内に配置されている目印やスライダもこの機能を果たす。）や編集操作の対象となる区間を入力するためのボタンが配置されたエリア５０３、コンテンツブロックに対する編集指示を入力するためのボタンが配置されたエリア５０４、現在の編集位置を示すエリア５０５や、編集者が編集の終了を編集クライアントプログラムに伝達する終了ボタン５０６などが配置されている。
【００４６】
編集者は、クライアント２００の入力装置２３（例えば、マウス）を操作し、編集画面５００上に配置されたボタン等をクリックすることで、コンテンツブロックに対する編集指示を入力する。すると、制御部２１０は入力された編集指示を受け付ける（ステップＳ２０３）。制御部２１０は、編集画面５００上のクリックされた位置を特定し、特定した画面上の位置に応じて、どの編集操作が指示されたか、およびコンテンツブロックのどの部分が編集操作の対象であるかを特定する。そして、受け付けた編集操作の指示が編集終了の指示であるか否かを判別する（ステップＳ２０４）。受け付けた編集操作の指示が編集終了の指示でない場合（ステップＳ２０４：ＮＯ）、制御部２１０は、指示された編集操作およびコンテンツブロックの部分に基づいて、１回分の編集履歴情報を生成し、記憶部２２０に追加する（ステップＳ２０５）。さらに、制御部２１０は、記憶部２２０に格納されているコンテンツブロックに、入力された編集操作を施す（ステップＳ２０６）。編集されたコンテンツブロックは、記憶部２２０に格納される。そして、制御部２１０は、コンテンツブロックの時間軸や目印を付けられているコンテンツブロックの部分などを示すエリア５０２などの表示内容を、更新されたコンテンツブロックに応じて更新する。例えば、編集操作により、コンテンツブロックの一部が削除された場合、制御部２１０は、変更後のコンテンツブロックの長さに合わせて、エリア５０２に表示されているスライダや目印の表示位置、ならびに、現在の編集位置を示すエリア５０５の編集位置を示している数値を変更する。そして、制御部２１０は新たな編集指示の要求を受け付けるため待機する。処理はステップＳ２０３に戻る。
【００４７】
編集者が、コンテンツブロックの範囲指定や編集操作の指示の入力を繰り返した後、終了ボタン５０６をクリックして、コンテンツブロックの編集終了を指示すると（図８、Ｓ２０４：ＹＥＳ）、制御部２１０は、記憶部２２０に蓄積された編集履歴情報およびコンテンツブロックを指定する情報を通信制御部２５０から、通信ネットワークＣを介して、編集サーバ１００に送信する（ステップＳ２０７）。ここで、制御部２１０は、編集履歴情報を先頭から走査し、直前の編集操作を取り消す旨の指示（アンドゥ）を見つけた場合、直前の編集操作を取り消す旨の指示とその直前の編集指示とを編集履歴情報から削除する。例えば、図７に即して説明すると、制御部２１０は、手順識別子４が付与された編集操作がアンドゥであることを判別し、手順識別子３、４が付与された編集操作を編集履歴情報から削除する。
【００４８】
クライアント２００から編集履歴情報を受信すると（ステップＳ１０７）、編集サーバ１００の制御部１１０は、受信した編集履歴情報に含まれる編集操作を指示順にコンテンツ記憶部１２１に格納されているコンテンツに対して先頭の編集操作から適用し（ステップＳ１０８）、クライアント２００側で行われた編集操作をなぞる。
【００４９】
制御部１１０は、編集されたコンテンツをコンテンツ記憶部１２１に格納し、更新する（ステップＳ１０９）。最後に、制御部１１０はコンテンツブロックに対してかけていたロックを解除し（ステップＳ１１０）、コンテンツの編集された部分を含む時間帯のロック情報を編集可能の状態に更新する。そして編集処理を終了する。
【００５０】
次に、図１１に示したフローチャートを参照してコンテンツブロック更新処理を説明する。
【００５１】
制御部１１０は、ロック情報が更新されると（図８：ステップＳ１１０）、コンテンツブロック更新処理を開始する。まず、制御部１１０は更新されたロック情報を参照し、いずれかのブロックが編集中の状態となっているか否か、すなわちコンテンツがロックされているか否かを判別する（ステップＳ３０１）。
【００５２】
コンテンツがロックされていると判別すれば（ステップＳ３０１：ＹＥＳ）、制御部１１０は何もしないでコンテンツブロック更新処理を終了する。コンテンツがロックされていないと判別すれば（ステップＳ３０１：ＮＯ）、制御部１１０はそのコンテンツの時間的な長さからコンテンツブロックの時間的な長さを算出し、各コンテンツブロックの先頭位置のオフセット値を求めることで、コンテンツブロックを更新する（ステップＳ３０２）。また、更新されたコンテンツブロックからサムネイル画像を作成し、コンテンツ記憶部１２１に格納して更新する。そして、コンテンツブロック更新処理を終了する。
【００５３】
以上説明したように、実施形態にかかるコンテンツ編集システム１によれば、複数の編集者が同じコンテンツのそれぞれ異なるブロックを編集できる。
【００５４】
なお、本発明は上記実施形態に限定されず、種々の変形及び応用が可能である。
【００５５】
例えば、上記実施形態では、コンテンツデータを分割する個数を固定し、コンテンツブロックの時間が可変であったが、コンテンツブロックの時間を固定し、コンテンツデータを分割する個数を可変とすることができる。ただし、編集による画質の劣化を防ぐため、コンテンツブロックの長さはＧＯＰの長さより長くすることが望ましい。
【００５６】
また、上記実施形態では、予めブロックの長さを同一にしていたが、ブロックの長さが異なっていてもよい。また、編集によりコンテンツデータの長さが変化しても、コンテンツブロックを更新せず、そのままにしてもよい。これらの場合において、あるコンテンツブロックの長さが他のコンテンツブロックの長さと比較して余りに長くなったり短くなったりした際には、コンテンツブロックを更新するように構成することができる。例えば、最長のコンテンツブロックの長さと最短のコンテンツブロックの長さとの比が閾値を超えた場合に、編集サーバ１００は、最長のコンテンツブロックを分割したり、最長のコンテンツブロックから一部分を切り出して時間的に前後のコンテンツブロックと結合したりする。
【００５７】
また、上記実施形態では、コンテンツデータが単一のデータファイルから構成されている場合を説明したが、コンテンツデータが複数のデータファイルから構成される場合にも上述のコンテンツ編集システム１を適用できる。この場合、データファイル単位でコンテンツブロックが生成されており、例えば、編集サーバ１００やクライアント２００はデータファイル名とブロック番号とを指定することで、コンテンツブロックを指定することができる。
【００５８】
また、データファイル内のコンテンツブロックの位置を求める方法は、上述したものに限らず、ブロック番号とオフセット値とを対応づけた表からオフセット値やブロックのサイズを求めるなど既知の手法を利用することができる。
【００５９】
また、上記実施形態では、ロック情報をフラグの形式で格納していたが、ロックしたクライアントとロックしたコンテンツおよびその時間帯とをリスト形式で格納するようにしてもよい。この場合、編集操作によりコンテンツの長さが変更された場合、同じコンテンツの他の部分を他の編集者が編集していれば、制御部１１０はその編集によりロックしている時間帯を変更後の時間帯に変更する。
【００６０】
また、上記実施形態では、単一のコンテンツを編集する場面を想定して説明したが、２つ以上のコンテンツブロックを組み合わせた編集に適用することができる。この場合、クライアント２００は編集に必要なだけ、コンテンツブロックの送信を編集サーバ１００に要求する。編集サーバ１００は、要求されただけ各コンテンツに対しロックをかける。この際、編集サーバ１００およびクライアント２００は、例えば、コンテンツブロックごとにファイル名やブロック番号などによりコンテンツブロックを区別して取り扱う。
【００６１】
また、上記実施形態では、コンテンツがＭＰＥＧ−４フォーマットで圧縮された動画像データファイルである場合で説明したが、コンテンツはこれに限らず、他のフォーマットで圧縮された動画像や、音声、テキスト、あるいはこれらが融合したものでもよい。なお、テキストのように、時間的な長さを考慮できないコンテンツはファイルの長さに基づいてコンテンツをブロックに分割する。
【００６２】
また、編集操作の指示を受け付けるごとにクライアント２００から編集サーバ１００に編集操作の指示を表すデータを送信するようにしてもよい。あるいは、編集途中で、編集操作の指示を表すデータを送信するようにしてもよい。この場合、制御部２１０は、編集者から明示的に編集操作の指示を表すデータの送信を指示されたり、一定の時間ごとに自動的に送信したりする。また、制御部２１０は編集操作の指示を表すデータを送信する際に、編集履歴情報をクリアする。
【００６３】
また、クライアント２００は、編集終了後（図８：ステップＳ２０７の後）に、記憶部２２０に格納しているコンテンツブロックを削除してもよい。
【００６４】
また、編集サーバ１００は、ステップＳ１０９において、コンテンツを更新するのではなく、別のコンテンツとしてコンテンツ記憶部１２１に格納するようにしてもよい。この場合、編集サーバ１００は、新たに格納したコンテンツのロック情報を生成する。
【００６５】
また、上述のコンテンツブロック更新処理は、所定の時間間隔（例えば、３０分）ごとに実行するようにしてもよい。
【００６６】
また、図８に示したステップＳ１０８より後の処理は、ステップＳ１０７の処理の直後に行う必要はない。例えば、編集サーバ１００は夜間バッチ処理によりコンテンツの編集を行ってもよい。このように構成すれば、編集サーバ１００は、処理が空いているときにコンテンツの編集ができ、負荷分散に役立つ。
【００６７】
また、上記実施形態において、制御部２１０は、コンテンツの編集操作のために生成したデータを、そのデータのコンテンツへの適用方法を示したデータと共に送信してもよい。この場合、編集サーバ１００は、受信した編集操作のために生成したデータとそのデータのコンテンツへの適用方法を示したデータとに基づいて、コンテンツ記憶部１２１に格納しているコンテンツを編集する。
【００６８】
また、上記実施形態では、下りの通信速度が、上りの通信速度よりも早い通信ネットワークＣにより、編集サーバ１００とクライアント２００とを接続していたが、通信ネットワークＣの構成はこれに限られない。
【００６９】
また、編集サーバ１００は、クライアント２００への通信速度や、制御部２１０の処理能力、出力装置２４の画面解像度、などに応じて、コンテンツの送信データ量を変えて送信するようにしてもよい。
【００７０】
なお、上記各実施形態におけるコンテンツ編集システム１は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体（ＦＤ、ＣＤ−ＲＯＭ、ＤＶＤ等）に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行する、編集サーバ１００やクライアント２００Ａ、２００Ｂ、・・・、２００Ｎなどを構成してもよい。また、インターネット等のネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えばコンピュータにダウンロード等するようにしてもよい。
【００７１】
また、上述の機能を、ＯＳとアプリケーションとの分担、またはＯＳとアプリケーションとの協動により実現する場合などには、ＯＳ以外の部分のみを媒体に格納してもよい。
【００７２】
また、搬送波にプログラムを重畳し、通信ネットワークを介して配信することも可能である。例えば、通信ネットワーク上の掲示板（ＢＢＳ、Bulletin Board System）に該プログラムを掲示し、ネットワークを介して該プログラムを配信してもよい。そして、このプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行できるように構成しても構わない。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態にかかるコンテンツ編集システムのブロック図である。
【図２】図１の編集サーバのブロック図である。
【図３】図２の記憶部の構成を示すブロック図である。
【図４】図３のコンテンツ記憶部に格納されるコンテンツおよびサムネイル画像の関係を示す図である。
【図５】図３の記憶部に格納されるロック情報の例を示す図である。
【図６】図１のクライアントのブロック図である。
【図７】図６の記憶部に格納される編集履歴情報の例を示す図である。
【図８】本発明の実施形態にかかる編集処理を説明するためのフローチャートである。
【図９】本発明の実施形態にかかる編集処理において、クライアント側の出力装置に表示されるコンテンツ選択画面の例を説明するための図である。
【図１０】本発明の実施形態にかかる編集処理において、クライアント側の出力装置に表示される編集画面の例を説明するための図である。
【図１１】本発明の実施形態にかかるコンテンツブロック更新処理を説明するためのフローチャートである。
【符号の説明】
【００７４】
１００  編集サーバ
１１０、２１０  制御部
１２０、２２０  記憶部
１２１  コンテンツ記憶部
１２２  ロック情報記憶部
１２３  プログラム記憶部
１３０、２３０  入力制御部
１３、２３  入力装置
１４０、２４０  出力制御部
１４、２４  出力装置
１５０、２５０  通信制御部
２００、２００Ａ、２００Ｂ、２００Ｎ  クライアント
【図１】
2006166289.tif 000003
【図２】
2006166289.tif 000004
【図３】
2006166289.tif 000005
【図４】
2006166289.tif 000006
【図５】
2006166289.tif 000007
【図６】
2006166289.tif 000008
【図７】
2006166289.tif 000009
【図８】
2006166289.tif 000010
【図９】
2006166289.tif 000011
【図１０】
2006166289.tif 000012
【図１１】
2006166289.tif 000013