(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたクライアントとの共同作業によりデジタル・コンテンツに対する編集を行うデジタル・コンテンツ編集方法であって、
少なくともデジタル・コンテンツの初期データを記憶し、
クライアントからの要求により、デジタル・コンテンツ編集開始のために必要となる情報を該クライアントに送り、
クライアントから送られるデジタル・コンテンツに対する編集操作をデータ化した編集操作情報を履歴として順次蓄積するとともに、該編集操作情報をクライアントに送り、
前記クライアントから送られる編集操作情報に対し、所定期間毎に前記編集操作情報を蓄積情報として蓄え、
前記所定期間経過後、所定の選択ルールに従い前記蓄積情報として蓄えられた編集操作情報を順次選択し、
前記選択された編集操作情報を順次履歴として蓄積するとともに、該編集操作情報をクライアントに送る処理を行う
ことを特徴とするデジタル・コンテンツ編集方法。
【請求項２】
ネットワークを介して接続されたクライアントとの共同作業によりデジタル・コンテンツに対する編集を行うデジタル・コンテンツ編集装置であって、
少なくともデジタル・コンテンツの初期データ及び該デジタル・コンテンツに対する編集操作をデータ化した編集操作情報を蓄積する記憶部と、
クライアントからの要求により、デジタル・コンテンツ編集開始のために必要となる情報を該クライアントに送る要求処理部と、
クライアントからの編集操作情報を前記記憶部に履歴として順次蓄積し、該編集操作情報をクライアントに送る操作情報処理部と
を備え、
前記操作情報処理部は、クライアントが編集操作情報の履歴に対する編集を編集操作情報として送ってきた場合、該履歴に対する編集が適切か否か判断を行い、不適切な場合にはその旨を該クライアントに通知し、該編集操作情報をクライアントに送らない処理を行う
ことを特徴とするデジタル・コンテンツ編集装置。
【請求項３】
ネットワークを介して接続されたクライアントとの共同作業によりデジタル・コンテンツに対する編集を行うデジタル・コンテンツ編集装置であって、
少なくともデジタル・コンテンツの初期データ及び該デジタル・コンテンツに対する編集操作をデータ化した編集操作情報を蓄積する記憶部と、
クライアントからの要求により、デジタル・コンテンツ編集開始のために必要となる情報を該クライアントに送る要求処理部と、
クライアントからの編集操作情報を前記記憶部に履歴として順次蓄積し、該編集操作情報をクライアントに送る操作情報処理部と、
所定期間毎にクライアントから送られる編集操作情報を蓄積情報として前記記憶部に蓄える操作情報蓄積部と、
前記所定期間経過後、選択ルールに従い前記蓄積情報として蓄えられた編集操作情報を順次選択していく選択部と
を備え、
前記操作情報処理部は、前記選択部により選択された編集操作情報を前記記憶部に履歴として順次蓄積し、該編集操作情報をクライアントに送る処理を行う
ことを特徴とするデジタル・コンテンツ編集装置。
【請求項４】
前記操作情報蓄積部は、アクセスするクライアントの数に基づき前記所定期間を決定する
ことを特徴とする請求項３記載のデジタル・コンテンツ編集装置。
【請求項５】
前記クライアントから発信時刻情報の付加された前記編集操作情報が送られる場合に、前記選択部は、発信時刻に基づく選択ルールに従い前記蓄積情報として蓄えられた編集操作情報を順次選択する
ことを特徴とする請求項３記載のデジタル・コンテンツ編集装置。
【請求項６】
前記クライアントからクライアント名情報の付加された編集操作情報が送られる場合に、前記選択部は、クライアント名に基づく選択ルールに従い前記蓄積情報として蓄えられた編集操作情報を順次選択する
ことを特徴とする請求項３記載のデジタル・コンテンツ編集装置。
【請求項７】
前記選択部は、前記クライアント名に基づく選択ルールを、所定時間ごとに変更する
ことを特徴とする請求項６記載のデジタル・コンテンツ編集装置。
【請求項８】
前記クライアント名に基づく選択ルールは、クライアントが接続を開始した時刻順に選択の選択順位が定められる
ことを特徴とする請求項６記載のデジタル・コンテンツ編集装置。
【請求項９】
前記クライアント名情報に基づく選択ルールは、クライアントによる処理量の順に選択順位が定められる
ことを特徴とする請求項６記載のデジタル・コンテンツ編集装置。
【請求項１０】
ネットワークを介して接続されたサーバとの共同作業によりデジタル・コンテンツに対する編集を行うデジタル・コンテンツ編集装置であって、
デジタル・コンテンツ編集開始のために必要となる情報やデジタル・コンテンツに対する編集操作をデータ化した編集操作情報を蓄積する記憶部と、
前記デジタル・コンテンツ編集開始のために必要となる情報をサーバから取得し、前記記憶部に記憶させる初期化部と、
デジタル・コンテンツに対する編集操作をデータ化し、編集操作情報としてサーバに送る操作処理部と、
サーバから送られてくる編集操作情報を必要に応じて記憶する操作情報取得部と
を備え、
前記操作処理部は、前記サーバから送られてくる編集操作情報を履歴として順次記憶する処理を行い、前記記憶部に記憶された編集操作情報の履歴に対して編集が行われた場合、該履歴に対する編集情報を編集操作情報としてサーバに送る
ことを特徴とするデジタル・コンテンツ編集装置。
【請求項１１】
前記操作処理部は、前記履歴に対する編集が適切か否か判断を行い、適切な場合のみ該履歴に対する編集情報を操作編集情報としてサーバに送る
ことを特徴とする請求項１０記載のデジタル・コンテンツ編集装置。
【請求項１２】
ネットワークを介して接続されたクライアントとの共同作業によりデジタル・コンテンツに対する編集を行うデジタル・コンテンツ編集プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
少なくともデジタル・コンテンツの初期データを記憶し、
クライアントからの要求により、デジタル・コンテンツ編集開始のために必要となる情報を該クライアントに送り、
クライアントから送られるデジタル・コンテンツに対する編集操作をデータ化した編集操作情報を履歴として順次蓄積するとともに、該編集操作情報をクライアントに送り、
前記クライアントから送られる編集操作情報を処理する場合において、所定期間毎に該編集操作情報を蓄積情報として蓄え、
前記所定期間経過後、所定の選択ルールに従い前記蓄積情報として蓄えられた編集操作情報を順次選択し、
前記選択された編集操作情報を順次履歴として蓄積するとともに、該編集操作情報をクライアントに送る処理
をコンピュータに行わせるデジタル・コンテンツ編集プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ上のディジタル化されたデータまたはデータ群に対する編集方法、装置に関するものである。
【０００２】
【従来の技術】
従来、コンピュータ上のディジタル化されたデータまたはデータ群（以下、ディジタル・コンテンツと称す。）に対する編集作業、例えばコンピュータグラフィックスにおけるモデリングのような編集作業をネットワークを介して複数のコンピュータ上で行う場合、まずサーバにあるコンテンツデータをネットワークを介してクライアントにダウンロードし、該クライアント上で編集作業を行い、その結果得られたコンテンツデータを再びネットワークを介してサーバに送り返していた。
【０００３】
【発明が解決しようとする課題】
しかしながら、前記方法では、コンテンツデータのデータ量が多い場合はネットワークに負荷が生じるという問題があった。
本発明の目的は、ディジタル・コンテンツの編集作業を、ネットワークに負荷をかけることなく複数のコンピュータ上で実行可能なディジタル・コンテンツ編集方法および装置を提供することにある。
【０００４】
上記目的を達成するために、本発明は、ネットワークを介して接続されたクライアントとの共同作業によりデジタル・コンテンツに対する編集を行うデジタル・コンテンツ編集方法であって、少なくともデジタル・コンテンツの初期データを記憶し、クライアントからの要求により、デジタル・コンテンツ編集開始のために必要となる情報を該クライアントに送り、クライアントから送られるデジタル・コンテンツに対する編集操作をデータ化した編集操作情報を履歴として順次蓄積するとともに、該編集操作情報をクライアントに送り、前記クライアントから送られる編集操作情報に対し、所定期間毎に前記編集操作情報を蓄積情報として蓄え、前記所定期間経過後、所定の選択ルールに従い前記蓄積情報として蓄えられた編集操作情報を順次選択し、前記選択された編集操作情報を順次履歴として蓄積するとともに、該編集操作情報をクライアントに送る処理を行うことを特徴とする。
【０００５】
また、本発明は、ネットワークを介して接続されたクライアントとの共同作業によりデジタル・コンテンツに対する編集を行うデジタル・コンテンツ編集装置であって、少なくともデジタル・コンテンツの初期データ及び該デジタル・コンテンツに対する編集操作をデータ化した編集操作情報を蓄積する記憶部と、クライアントからの要求により、デジタル・コンテンツ編集開始のために必要となる情報を該クライアントに送る要求処理部と、クライアントからの編集操作情報を前記記憶部に履歴として順次蓄積し、該編集操作情報をクライアントに送る操作情報処理部とを備え、前記操作情報処理部が、クライアントが編集操作情報の履歴に対する編集を編集操作情報として送ってきた場合、該履歴に対する編集が適切か否か判断を行い、不適切な場合にはその旨を該クライアントに通知し、該編集操作情報をクライアントに送らない処理を行うことを特徴とする。
【０００６】
また、本発明は、ネットワークを介して接続されたクライアントとの共同作業によりデジタル・コンテンツに対する編集を行うデジタル・コンテンツ編集装置であって、少なくともデジタル・コンテンツの初期データ及び該デジタル・コンテンツに対する編集操作をデータ化した編集操作情報を蓄積する記憶部と、クライアントからの要求により、デジタル・コンテンツ編集開始のために必要となる情報を該クライアントに送る要求処理部と、クライアントからの編集操作情報を前記記憶部に履歴として順次蓄積し、該編集操作情報をクライアントに送る操作情報処理部と、所定期間毎にクライアントから送られる編集操作情報を蓄積情報として前記記憶部に蓄える操作情報蓄積部と、前記所定期間経過後、選択ルールに従い前記蓄積情報として蓄えられた編集操作情報を順次選択していく選択部とを備え、前記操作情報処理部が、前記選択部により選択された編集操作情報を前記記憶部に履歴として順次蓄積し、該編集操作情報をクライアントに送る処理を行うことを特徴とする。
【０００７】
また、本発明は、前記操作情報蓄積部が、アクセスするクライアントの数に基づき前記所定期間を決定することを特徴とする。また、本発明は、前記クライアントから発信時刻情報の付加された前記編集操作情報が送られる場合に、前記選択部が、発信時刻に基づく選択ルールに従い前記蓄積情報として蓄えられた編集操作情報を順次選択することを特徴とする。また、本発明は、前記クライアントからクライアント名情報の付加された編集操作情報が送られる場合に、前記選択部が、クライアント名に基づく選択ルールに従い前記蓄積情報として蓄えられた編集操作情報を順次選択することを特徴とする。
【０００８】
また、本発明は、前記選択部が、前記クライアント名に基づく選択ルールを、所定時間ごとに変更することを特徴とする。また、本発明は、前記クライアント名に基づく選択ルールは、クライアントが接続を開始した時刻順に選択の選択順位が定められることを特徴とする。また、本発明は、前記クライアント名情報に基づく選択ルールは、クライアントによる処理量の順に選択順位が定められることを特徴とする。
【０００９】
また、本発明は、ネットワークを介して接続されたサーバとの共同作業によりデジタル・コンテンツに対する編集を行うデジタル・コンテンツ編集装置であって、デジタル・コンテンツ編集開始のために必要となる情報やデジタル・コンテンツに対する編集操作をデータ化した編集操作情報を蓄積する記憶部と、前記デジタル・コンテンツ編集開始のために必要となる情報をサーバから取得し、前記記憶部に記憶させる初期化部と、デジタル・コンテンツに対する編集操作をデータ化し、編集操作情報としてサーバに送る操作処理部と、サーバから送られてくる編集操作情報を必要に応じて記憶する操作情報取得部とを備え、前記操作処理部が、前記サーバから送られてくる編集操作情報を履歴として順次記憶する処理を行い、前記記憶部に記憶された編集操作情報の履歴に対して編集が行われた場合、該履歴に対する編集情報を編集操作情報としてサーバに送ることを特徴とする。また、本発明は、前記操作処理部が、前記履歴に対する編集が適切か否か判断を行い、適切な場合のみ該履歴に対する編集情報を操作編集情報としてサーバに送ることを特徴とする。
【００１０】
また、本発明は、ネットワークを介して接続されたクライアントとの共同作業によりデジタル・コンテンツに対する編集を行うデジタル・コンテンツ編集プログラムを記録したコンピュータ読み取り可能な記録媒体であって、少なくともデジタル・コンテンツの初期データを記憶し、クライアントからの要求により、デジタル・コンテンツ編集開始のために必要となる情報を該クライアントに送り、クライアントから送られるデジタル・コンテンツに対する編集操作をデータ化した編集操作情報を履歴として順次蓄積するとともに、該編集操作情報をクライアントに送り、前記クライアントから送られる編集操作情報を処理する場合において、所定期間毎に該編集操作情報を蓄積情報として蓄え、前記所定期間経過後、所定の選択ルールに従い前記蓄積情報として蓄えられた編集操作情報を順次選択し、前記選択された編集操作情報を順次履歴として蓄積するとともに、該編集操作情報をクライアントに送る処理をコンピュータに行わせるデジタル・コンテンツ編集プログラムを記録した記録媒体である。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明を詳細に説明する。
【００１５】
（実施例１）
図１は本発明の実施の形態の一例、ここではネットワークを介して接続された１台のサーバと複数のクライアントＡ，Ｂ，Ｃ……とがディジタル・コンテンツの編集作業を行うようすの概要を示すものである。サーバ及び各クライアントは、ディジタル・コンテンツの初期データ、編集操作情報及びその時点の（編集された）コンテンツデータを保持する。
【００１６】
ここで、クライアントによる編集操作と、この編集操作をデータ化した編集操作情報およびコンテンツデータについて説明する。なお、ここでは初期データとして、デジタル・コンテンツが何もない状態から編集作業が開始したものとする。例えば、クライアントによる編集操作が、
・半径１０の円を位置（１００，１００）に描く
・その円の色を赤に変える
・その円の位置を（１５０，５０）に移動する
・線を（２０，２０）から（１３０，８０）に描く
・その線の色を青に変える
の順で行われたとする。これら編集操作をデータ化した編集操作情報は、一例として図６のようになる。なお、このように編集操作情報をその順番で蓄積したものを「編集操作情報の履歴」という。また、上記の編集操作が終えた時点でのコンテンツデータは、一例として図７のようになる。このようにコンテンツデータは、生成された図形などの最終的な状態が記述されたものである。なお、初期データは、編集作業を開始する初期のコンテンツデータとなる。
【００１７】
図２はサーバの制御フローチャート、図３はクライアントの制御フローチャートである。
【００１８】
前記構成において、編集作業に加わろうとする一のクライアントがサーバにデータの要求を出すと（ステップＳ２１）、サーバはその時点（ステップＳ１１）で他のクライアントによる操作履歴があるか否かを調べ（ステップＳ１２）、操作履歴がなければコンテンツの初期データのみを転送し（ステップＳ１３）、また、既に操作履歴があれば、全ての情報、即ちディジタル・コンテンツの初期データ、編集操作情報及びその時点のコンテンツデータを転送する（ステップＳ１４）（なお、データ量を減らすため、初期データ及び編集操作情報のみ、あるいはその時点のコンテンツデータのみを転送するようにしても良い。すなわち、初期データと編集操作情報とのデータ量の和と、コンテンツデータのデータ量との比較を行い、データ量の少ないほうをデジタル・コンテンツ編集開始のために必要となる情報として転送するようにしてもよい。）
【００１９】
一方、前記情報を受けとったクライアントはこれを保持する（ステップＳ２２，２３）。なお、ここで受け取った情報がデジタル・コンテンツ編集開始のために必要となる情報となる。このクライアント上でコンテンツデータに対して編集操作を行う（操作入力）（ステップＳ２４）と、該クライアント上のコンテンツデータを変更し（ステップＳ２５）、これを保存するとともに（ステップＳ２６）、該編集操作をデータ化して編集操作情報を作成し、これをサーバに転送する（ステップＳ２７）。
【００２０】
また、サーバは一のクライアントから操作情報を受けとると（ステップＳ１５）、該サーバ上のコンテンツデータを変更するとともに（ステップＳ１６）、この操作情報を全てのクライアントに転送する（ステップＳ１７）。
【００２１】
さらにまた、前記操作情報を受けとったクライアントはその操作情報が直前の操作入力と一致するか否かを判定し（ステップＳ２９）、一致した場合は自らの操作入力による情報として無視し、一致しなければコンテンツデータを変更して保存する（ステップＳ３０，３１）。
【００２２】
次に、上記のような制御フローにより動作するサーバとクライアントの装置構成を図８、図９に示す。なお、図１に示すクライアントＡ，Ｂ，Ｃ，・・・等が図９の装置構成となる。
図８は、サーバとなるデジタル・コンテンツ編集装置の装置構成を示した図である。なお、以下ではサーバとなるデジタル・コンテンツ編集装置のことを単に”サーバ”と呼ぶ。
サーバ１は、大別して、サーバ機能を実現るための処理部１０と、各種データを記憶する記憶部２０とにより構成される。
また、処理部１０は、統括部１１、要求処理部１２、操作情報処理部１３により構成される。ここで、統括部１１は、クライアントから送られる情報や要求の内容解析を行い、それらの処理をするために要求処理部１２もしくは操作情報処理部１３を起動する。要求処理部１２は、クライアントからの要求により、デジタル・コンテンツ編集開始のために必要となる情報を該クライアントに送る処理をする。また、操作情報処理部１３は、クライアントからの編集操作情報を記憶部２０に履歴として順次蓄積し、この編集操作情報をクライアントに送る処理をする。
【００２３】
ここで、各処理部と図２の制御フローの関係を説明する。
統括部１１は、ステップＳ１１およびステップＳ１５の判断を行う。そして、ステップＳ１１の判断において条件を満たすようであれば、要求処理部１２を起動し、その要求に対する処理を行わせる。また、ステップＳ１５の判断において条件を満たすようであれば、操作情報処理部１３を起動し、クライアントから送られてきた編集操作情報の処理を行わせる。なお、統括部１１は、常時クライアントからの要求（ステップＳ１１）とクライアントから送られる編集操作情報（ステップＳ１５）を監視し、条件を満たすと、要求処理部１２や操作情報処理部１３を起動することになる。
また、要求処理部１２の動作はステップＳ１２〜Ｓ１４となる。そして、操作情報処理部１３の動作はステップＳ１６、Ｓ１７となる。
なお、この処理部１０は、専用のハードウェアにより実現されるものであっても、プログラムとして提供され処理部１０内の図示しないＣＰＵ（中央演算装置）により実行されることにより、その機能が実現されるものであってもよい。
また、記憶部２０には、初期データ２１、編集操作情報の履歴２２、コンテンツデータ２３が記憶される。なお、記憶部２０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）もしくはハードディスク等の記憶装置により構成されるものとする。
【００２４】
図９は、クライアントとなるデジタル・コンテンツ編集装置の装置構成を示した図である。なお、以下ではクライアントとなるデジタル・コンテンツ編集装置のことを単に”クライアント”と呼ぶ。
クライアント２は、大別して、クライアント機能を実現るための処理部３０と、各種データを記憶する記憶部４０とにより構成される。
また、処理部３０は、統括部３１、初期化部３２、操作処理部３３、操作情報取得部３４により構成される。ここで、統括部３１は、この装置のユーザによる入力内容やサーバから送られる情報の解析を行い、それらの処理をするために初期化部３２、操作処理部３３、操作情報取得部３４のいずれかを起動する。初期化部３２は、デジタル・コンテンツ編集開始のために必要となる情報をサーバから取得し、記憶部４０に記憶させる処理をする。操作処理部３３は、デジタル・コンテンツに対する編集操作をデータ化し、編集操作情報としてサーバに送る処理をする。操作情報取得部３４は、サーバから送られてくる編集操作情報を必要に応じて記憶部４０に記憶させる処理をする。
【００２５】
ここで、各処理部と図３の制御フローの関係を説明する。
統括部３１は、デジタル・コンテンツの編集に参加する際に初期化部３２の起動を行う。また、ステップＳ２４やステップＳ２８の判断を行う。ステップＳ２４の判断において条件を満たすようであれば、操作処理部３３を起動しその入力に対する処理を行わせる。また、ステップＳ２８の判断において条件を満たすようであれば、操作情報取得部３４を起動し、サーバから送られてきた編集操作情報の処理を行わせる。なお、統括部３１は、常時ユーザの操作入力（ステップＳ２４）やサーバからの編集操作情報の転送（ステップＳ２８）を監視し、条件を満たすと、操作処理部３３もしくは操作情報取得部３４を起動することになる。初期化部３２の動作は図３のステップＳ２１〜Ｓ２３となる。そして、操作処理部３３の動作はステップＳ２５〜Ｓ２７となる。また、操作情報取得部３４の動作はステップＳ２９〜Ｓ３１となる。
なお、この処理部３０は、専用のハードウェアにより実現されるものであっても、プログラムとして提供され処理部３０内の図示しないＣＰＵ（中央演算装置）により実行されることにより、その機能が実現されるものであってもよい。
また、記憶部４０には、初期データ４１、編集操作情報の履歴４２、コンテンツデータ４３が記憶される。なお、記憶部２０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）もしくはハードディスク等の記憶装置により構成されるものとする。
【００２６】
なお、図８、図９においては図示していないが、ネットワーク通信に必要となる装置がサーバ１やクライアント２の内部に含まれるか、サーバ１やクライアント２に接続される。また、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）や液晶表示装置等の表示装置、マウスやキーボード等の入力装置が、必要に応じてサーバ１やクライアント２に接続される。
【００２７】
次に、ネットワークを介して接続されたサーバとクライアントとの共同作業によるデジタル・コンテンツに対する編集イメージを図１、図４、図５を用いて説明する。
【００２８】
例えば、図１に示すように、クライアントＡにおいて、コンテンツの初期データに対し操作ａ１を行うとその操作情報ａ１がサーバに送られ、この操作情報をサーバから得たクライアントＢでは操作ａ１をふまえた操作ｂ１が行われ、それがサーバに送られる。このようにして、ネットワークを介したコンテンツデータの編集作業が行われる。
【００２９】
また、図４に示すように、クライアントＡで行われたコンテンツデータへの編集操作ａ２が操作情報としてサーバへ送られると、サーバにあるコンテンツデータに対してもその編集操作が行われ、コンテンツデータが変更される（ｃｈａｎｇｅｄ）。また、この時、サーバに接続している全てのクライアントに対し、その変更を促すために操作情報ａ２が送られる（ｕｐｄａｔｅ）が、前記編集操作を行ったクライアントＡにおいては無視され、他のクライアントＢ，Ｃ，……においてのみ編集操作が実行される。このようにして、ネットワーク上で行われる編集操作の同期が簡単にとれる。
【００３０】
図５は編集操作情報の履歴に対する編集のようすを示すものである。本発明方法では編集操作に対応する編集操作情報をネットワーク上に流すことによって、ネットワークにかかる負荷の軽減を行うだけでなく、編集操作のカット＆ペーストや操作順の並び替え等の編集が可能である。
【００３１】
図５の符号ａに示すように、クライアントＡにおいて、操作情報の履歴の１つ（操作ｂ１）を削除し、任意の位置に挿入して操作の順番を入れ替えたり、同様の操作を組み合わせる等が行え、また、図５の符号ｂに示すように他のクライアントの好ましくない操作（操作ｃ２）を削除する等の編集操作自体の編集が行える。
編集操作を編集することによって、クライアントが保持する操作情報の履歴を軽減することもできるが、操作の可換性をうまく考えないと異なる結果を得てしまう。例えば、操作情報の履歴として、
１：線を描く
２：線に緑色を塗る
３：円を描く
となっている場合に、編集操作情報の履歴を  ２→１→３  とするような場合である。この場合、編集操作情報２の色を塗る対象がなくなってしまう。そこで、サーバ１の操作情報処理部１３は、クライアントが編集操作情報の履歴に対する編集を編集操作情報として送ってきた場合、この履歴に対する編集が適切か否か判断を行い、不適切な場合にはその旨をそのクライアントに通知し、送られてきた編集操作情報を他のクライアントに送らない処理を行うようにする。
あるいは、クライアント２の記操作処理部３３が、履歴に対する編集が適切か否か判断を行い、適切な場合のみこの履歴に対する編集を操作編集情報としてサーバー１に送るようにしてもよい。
【００３２】
また、これを利用して異なる結果を意図した操作の編集として利用することもできる。すなわち、編集操作情報の履歴に対する編集により芸術的な図形等ができる場合がある。
【００３３】
以上のように、クライアント上のコンテンツデータに対する編集操作を個々に記述し、それらを編集操作情報とし、その編集操作情報の履歴だけをネットワーク上に送ることによって、従来のようなコンテンツデータの全データを読み込む必要がなくなり、ネットワークに大きな負荷をかけることなく、編集作業が行えるようになる。
【００３４】
サーバにあるディジタル・コンテンツに複数のクライアントがアクセスし、そのコンテンツデータに対して編集操作を行う際、各クライアントで行われた編集操作情報だけをネットワークに送る。クライアントは、ディジタル・コンテンツの初期状態のデータとそれに対する編集操作情報の履歴を保持する。これによって、そのディジタル・コンテンツを構成する全データを読み込まなくても、ネットワークを利用したコンテンツデータへの編集操作が可能となり、即応性のある操作感が実現できる。
【００３５】
この際、クライアントからの編集操作によるコンテンツデータの変更を操作情報としてサーバに送り返すが、このクライアントによる編集操作情報はサーバだけでなく、他のクライアントに対しても送られるようにし、同期をとらなくてはならない。そこで、サーバにあるコンテンツデータに何らかの変更があると、サーバは全てのクライアントに対して操作情報を流し、コンテンツデータの変更を促す。そして、各クライアントはその変更を編集操作の履歴として保持し、コンテンツデータを変更する。これによって、コンテンツデータに対する編集操作の同期が簡単にとることができる。
【００３６】
また、コンテンツデータへの編集操作が個々の操作履歴として保持されるため、各クライアントでコンテンツデータに対する編集操作のカット＆ペーストや組み合わせ、操作順の組み替え等が可能となる。つまり、操作履歴自体の編集が行えるため、他のクライアントによって行われた好ましくないコンテンツデータへの編集操作を自由に変更することもできる。
【００３７】
（実施例２）
各クライアントとサーバ間のネットワーク品質等に違いがある場合、転送速度に差が生じる。このように各クライアント間で、転送速度に差があると、サーバにおいて、転送速度の速いクライアントほど優先的にデジタル・コンテンツの編集作業処理がなされることになる。例えば、３つのクライアントＡ，Ｂ，Ｃがサーバにアクセスしているとする。ある時点における１情報（例えば、編集操作情報の平均的なデータ量）の転送時間がそれぞれ、５０、１００、１０であるとする。この場合、クライアントＢが１情報転送している間にクライアントＡは２情報（２＝１００／５０）、クライアントＣは１０情報（１０＝１００／１０）送ることが可能である。よって、サーバが、サーバに到着した時刻順に編集操作情報の処理を行うとすると、各クライアント間にサーバの編集操作情報に対する処理の不公平が生じる。そこで、本実施例は、図８のサーバ１の処理部１０に新たな処理を加え、転送速度の差により生じる問題を解決するサーバについて説明する。
【００３８】
まず始めに、本実施例の装置構成を図１０に示す。図８との相違点は、所定期間毎にクライアントから送られる編集操作情報を蓄積情報２４として記憶部２０に蓄える操作情報蓄積部１４と、その所定期間経過後、所定の選択ルールに従い蓄積情報２４として蓄えられた編集操作情報を順次選択していく選択部１５とが備えられている点にある。なお、同図において図８の各部に対応する部分には同一の符号を付け、その説明を省略する。以下では、実施例１と相違する点を中心にサーバの動作について図１１を参照し、説明を行う。
【００３９】
まず、操作情報蓄積部１４は、クライアントから送られる編集操作情報を蓄積する期間の決定を行い、図１０に図示しないタイマーをスタートさせる（ステップＳ３１）。なお、この期間の決定方法については別途詳細に説明する。
そして、統括部１１は、クライアントから編集操作情報を受けると、操作情報蓄積部１４を起動するとともに、その編集操作情報を引き渡す。操作情報蓄積部１４は、ステップＳ３１で決定された期間において、その編集操作情報を蓄積情報２４として記憶部２０に順次蓄えていく（ステップＳ３２）。
【００４０】
タイマーがステップ３１で決定された期間となったとき、選択部１５が起動される。そして、選択部１５は、所定の選択ルールに従い蓄積情報２４として蓄えられた編集操作情報を選択していく（ステップＳ３３）。この選択ルールについては、別途詳細に説明する。
ステップＳ３３で選択された編集操作情報は、操作情報処理部１３に引き渡される。そして、操作情報処理部１３は、引き渡された編集操作情報に対し図２のステップＳ１６、Ｓ１７で説明した処理を行う。なお、選択された編集操作情報は、処理が終了しだい蓄積情報２４内から削除されるものとする。
選択部１２は、蓄積情報２４内に、まだ未処理の編集操作情報があるか判断を行う（ステップＳ３５）。未処理のものがあれば、次に処理されるの編集操作情報の選択のためにステップＳ３３に戻り、そうでなければステップＳ３１に進み、次の期間での蓄積処理をする。
なお、図１１には示されていないが、統括部１１は、クライアントからのデータ要求（図２のステップＳ１１）の監視も常時行っており、要求があるとその処理を行うために、要求処理部１２を起動する。
以上のようにして、サーバ１は動作する。
【００４１】
次に、ステップＳ３１で決定される期間の決定方法について説明する。この期間の決定方法として、大別して３通りあり、そられについて順次説明を行う。
［第１の期間決定方法］
固定の期間を用いる。すなわち、常に予め定められた期間とする。なお、この場合、ステップＳ３１による蓄積期間の決定処理は省略されることになる。
【００４２】
［第２の期間決定方法］
クライアントとの間のネットワークの転送速度に基づき期間を決定する。ここで、統括部１１は、クライアントから送られる編集操作情報を取得する際に、その情報のサイズ（バイト数）および取得に要した時間（秒）により、クライアントごとの転送速度に関する情報を記憶部２０に記憶させる。そして、操作情報蓄積部１４は、その転送速度を参照して期間の決定を行う。クライアントから複数の編集操作情報が送られてきている場合には、それらから求められる転送速度の平均値を記憶部２０に記憶するようにしてもよい。上記転送速度の計測方法は一例であり、これに限定されるものではない。なお、クライアントは、編集操作情報にクライアント名情報を付加して、サーバ１送るものとする。これにより、サーバ１は、各クライアントの識別が可能となる。ここで「クライアント名情報」とは、クライアントとなるデジタル・コンテンツ編集装置名、もしくは、その装置を利用するユーザ名、あるいは、それら両方であるものとする。
転送速度に基づく期間決定の具体例としては、各クライアントの転送速度の中で一番遅い転送速度を基準に、少なくとも１情報（例えば、編集操作情報の平均的なデータ量）取得できる期間とする。例えば、一番遅い転送速度がα［ｂｉｔ／ｓ］で、１情報の情報量β［ｂｉｔ］である場合、β／α［ｓ］以上とする。なぜならば、これ以上遅くすると、そのクライアントから送られる編集操作情報が決定された期間内に蓄積できないからである。
【００４３】
［第３の期間決定方法］
アクセスするクライアントの数に基づき期間を決定する。すなわち、クライアント数が多ければその期間を長くする。なぜならば、クライアントの数が多ければ、サーバへ転送される編集操作情報の数もほぼ比例して多くなると考えられ、相対的に期間を長くすることにより統計的に均等な配分の転送が得られるようなるからである。このために、統括部１１は、サーバにアクセスしているクライアント数の監視も行い、操作情報蓄積部１４は、この数を参照して期間を決定する。
【００４４】
なお、上記３通りの期間決定方法のいずれを用いてもよい。また、第２と第３の期間決定方法を組み合わせてもよい。
【００４５】
次に、ステップＳ３３の選択ルールについて詳細に説明する。この選択ルールとして、クライアントからの編集操作情報の発信時刻に基づく選択ルールと、クライアント名に基つく選択ルールとがある。以下、それぞれについて説明する。
［発信時刻に基づく選択ルール］
発信時刻に基づく選択ルールとは、その発信時刻が早い順に編集操作情報を選択する、というものである。発信時刻に基づいて選択を行う場合、クライアントは、発信時刻情報を付加した編集操作情報を送るものとする。そして、選択部１５は、編集操作情報に付加された発信時刻を参照することで、蓄積情報２４内に蓄積された複数の編集操作情報から順に編集操作情報を選択する。これにより、クライアントがサーバに発信した時刻順に処理され、先にサーバに対し発信したのに後に処理されるということがなくなる。
【００４６】
［クライアント名に基づく選択ルール］
クライアント名に基づく選択ルールは、大別して４つあり、以下でそれらを順に説明する。クライアント名に基づいて、編集操作情報を選択するために、クライアントはクライアント名情報の付加された編集操作情報を送るものとする。そして、選択部１５は、編集操作情報に付加されたクライアント名を参照することで、蓄積情報２４内に蓄積された複数の編集操作情報から順に編集操作情報を選択する。
［第１のルール］
各クライアントの選択順位が固定である選択ルール。
たとえば、クライアントＡ、クライアントＢ、クライアントＣの順に固定的に優先順位が付けられ、常にその順に選択を行う。なお、この処理は、クライアントとサーバ間の送信速度に差があり、かつ、送信速度の変化が少ないときに有効である。
【００４７】
［第２のルール］
各クライアントの選択順位を所定時間ごとに変更するルール。
たとえば、３つのクライアントの場合に、
１回目の所定期間の選択順位  クライアントＡ、Ｂ、Ｃの順
２回目の所定期間の選択順位  クライアントＢ、Ｃ、Ａの順
３回目の所定期間の選択順位  クライアントＣ、Ａ、Ｂの順
のように、選択順位を変更する。これにより、各クライアントの編集操作情報の処理が均等に振り分けられて行われるようになる。なお、この変更は、優先順位の変更処理を簡便にするために、ステップＳ３２で行われる各蓄積期間ごとに行うとよい。
［第３のルール］
クライアントが接続を開始した時刻順に選択の選択順位を定める。すなわち、統括部１１は、各クライアント名とその接続開始時間を記憶部２０に記憶しておき、選択部１５はこの値を参照して接続開始時間が速いほど選択順次を高くする。
［第４のルール］
クライアントによる処理量の順に選択順位が定められる。このために、統括部１１は、一定時間内、あるいは、過去に行った処理量を各クライアント毎に記憶しておき、選択部１５はこの値を参照してその処理量が多いほど選択順位を高くする。
【００４８】
以上のクライアント名に基づく選択ルールのうちいずれを用いてもよい。なお、蓄積情報２４内に各クライアントの編集操作情報が複数ある場合において、選択順位がクライアントＡ，Ｂ，Ｃであれば、選択部１５は、
Ａ）クライアントＡからの編集操作情報を全て選択した後、クライアントＢからの編集操作情報を全て選択し、最後にクライアントＢからの編集操作情報を全て選択する
という選択処理を行ってもよいし、
Ｂ）クライアントＡからの１個目の編集集操作情報、クライアントＢからの１個目の編集集操作情報、クライアントＣからの１個目の編集集操作情報、クライアントＡからの２個目の編集集操作情報、・・・
という選択処理を行ってもよい。
【００４９】
以上により、各クライアントとサーバ間の転送速度に差があっても、サーバは、クライアントからの編集操作情報を所定時間蓄積し、選択ルールに従って処理する編集操作情報を選択し、処理をするようになる。これにより、転送速度の速いクライアントほど優先的にデジタル・コンテンツの編集作業処理がなされることがなくなる。
【００５０】
（実施例３）
実施例２のように、クライアントから送られる編集操作情報を常に所定期間蓄積する処理を行うと、そのオーバ・ヘッドによりデジタル・コンテンツに対する編集効率が低下する。特に、そのような処理を必要としない場合、例えば、各クライアントとサーバとの間の転送速度に差がない場合、単に編集効率が低下するだけとなる。
そこで、本実施例においては、図８のサーバ１の処理部１０に新たな処理を加え、編集効率の低下を防止するサーバについて説明する。
【００５１】
まず始めに、本実施例の装置構成を図１２に示す。図１０との相違点は、実施例２の蓄積処理を行うか否かを判断する蓄積判断部１６をさらに備えられた点にある。なお、同図において図１０の各部に対応する部分には同一の符号を付け、その説明を省略する。以下では、実施例２と相違する点を中心にサーバの動作について図１３を参照して説明を行う。
【００５２】
まず、蓄積判断部１６は、クライアントからの編集操作情報を所定期間蓄積して処理するか否かの判断を行う（ステップＳ４１）。なお、この判断方法については別途詳細に説明する。
クライアントからの編集操作情報を所定期間蓄積して処理する必要があると判断した場合には、クライアントから送られる編集操作情報を前記操作情報蓄積部、選択部、操作情報処理部に処理させる（ステップＳ３１〜Ｓ３５）。なお、この処理は、図１１のステップＳ３１〜Ｓ３５と同じであり、説明を省略する。
一方、クライアントからの編集操作情報を所定期間蓄積して処理する必要がないと判断した場合にはクライアントから送られた編集操作情報を到着順に前記操作情報処理部に処理させる（ステップＳ４２）。なお、このステップＳ４２の処理は、図２のステップＳ１６、Ｓ１７の処理と同じであり、説明を省略する。
以上のようにして、サーバ１は動作する。
【００５３】
次に、ステップＳ４１の判断方法について、詳細に説明する。判断方法としては、２通りあり、以下にそれぞれについて説明を行う。
［第１の判断方法］
各クライアント間のネットワークの転送速度の差が所定値以上の場合に、ステップＳ３１からＳ３５の処理を行うと判断し、そうでない場合にはステップＳ４２の処理を行うと判断する。具体的には、各クライアント間の転送速度の差を求め、差の最大値が、予め決められた値以上になるか否かで判断を行う。各クライアント間の転送速度の差が小さい場合には、クライアントからの編集操作情報が発信時刻順にサーバに到着するので、ステップＳ３１〜Ｓ３５による処理をしなくてもよくなるからである。
【００５４】
［第２の判断方法］
クライアントとの間のネットワークの転送速度が所定値以下の場合に、ステップＳ３１からＳ３５の処理を行うと判断し、そうでない場合にはステップＳ４２の処理を行うと判断する。具体的には、各クライアントの転送速度のうち最低の転送速度が、予め決められた値以下となるか否かにより判断を行う。最低の転送速度が予め決められた値以下の場合、すなわち、転送速度が遅い場合、一般的に他のクライアントの転送速度差が大きい可能性が高いからである。
【００５５】
なお、上記２つの判断方法のいずれを用いてもかまわない。ここで、各クライアントの転送速度の求め方については、実施例２で説明したので、その説明を省略する。
【００５６】
以上のように、サーバ１は、図１３のステップＳ３１〜Ｓ３５の処理が必要な場合にのみその処理を行うようになる。よって、デジタル・コンテンツへの編集効率の低下を防げるようになる。
【００５７】
なお、図８、図１０、図１２におけるサーバ１の処理部１０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりネットワークを介して接続されたクライアントとの共同作業によりデジタル・コンテンツに対する編集を行うサーバ機能を実現してもよい。また、図９における処理部３０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりネットワークを介して接続されたサーバとの共同作業によりデジタル・コンテンツに対する編集を行うクライアント機能を実現してもよい。なお、上記の「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００５８】
【発明の効果】
以上述べたように、本発明によれば、ディジタル・コンテンツに対する編集作業を、ネットワークに負担をかけることなく、しかも編集操作の同期を確実にとりながら複数のコンピュータ上に実現でき、さらにディジタル・コンテンツに対する編集操作自体の編集、即ち編集操作の変更を行うことも可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態の一例の概要を示す説明図である。
【図２】サーバの制御フローチャートである。
【図３】クライアントの制御フローチャートである。
【図４】編集操作の同期をとるようすを示す説明図である。
【図５】編集操作情報の履歴に対する編集のようすを示す説明図である。
【図６】編集操作情報の一例を示した図である。
【図７】コンテンツデータの一例を示した図である。
【図８】実施例１によるサーバの構成例を示した図である。
【図９】クライアントの構成例を示した図である。
【図１０】実施例２によるサーバの構成例を示した図である。
【図１１】実施例２におけるサーバの制御フローチャートである。
【図１２】実施例３によるサーバの構成例を示した図である。
【図１３】実施例４におけるサーバの制御フローチャートである。
【符号の説明】
１  サーバ                            ２  クライアント
１０  処理部                          １１  統括部
１２  要求処理部                      １３  操作情報処理部
２０  記憶部                          ２１  初期データ
２２  編集操作情報の履歴              ２３  コンテンツデータ
３０  処理部                          ３１  統括部
３２  初期化部                        ３３  操作処理部
３４  操作情報取得部
４０  記憶部                          ４１  初期データ
４２  編集操作情報の履歴              ４３  コンテンツデータ
【図１】
0003602326.tif 000002
【図２】
0003602326.tif 000003
【図３】
0003602326.tif 000004
【図４】
0003602326.tif 000005
【図５】
0003602326.tif 000006
【図６】
0003602326.tif 000007
【図７】
0003602326.tif 000008
【図８】
0003602326.tif 000009
【図９】
0003602326.tif 000010
【図１０】
0003602326.tif 000011
【図１１】
0003602326.tif 000012
【図１２】
0003602326.tif 000013
【図１３】
0003602326.tif 000014