(57)【特許請求の範囲】
【請求項１】
注釈を検索して取り出すための方法であって、
サーバコンピュータシステムによって、クライアント装置で表示されているメディアファイルの第１のインスタンスの第１のセグメントに対応付けられた注釈のリクエストを該クライアント装置から受信することと、ここで、前記リクエストは、前記クライアント装置で表示されている前記メディアファイルの前記第１のインスタンスの前記第１のセグメントのコンテンツから引き出された特徴を含んでおり、
前記リクエストに応じて、前記サーバコンピュータシステムによって、前記クライアント装置から離隔されたホスト装置に記憶された前記メディアファイルの第２のインスタンスにおいて前記特徴を検索し、これにより前記メディアファイルの前記第２のインスタンスの第２のセグメントを特定することと、
前記サーバコンピュータシステムによって、前記メディアファイルの前記第２のインスタンスの前記特定された第２のセグメントに対応付けられた注釈を検索して取り出すことと、
前記サーバコンピュータシステムによって、前記クライアント装置で処理するために前記クライアント装置に前記取り出された注釈を送信することと
を具える方法。
【請求項２】
前記メディアファイルは動画を含む請求項１に記載の方法。
【請求項３】
前記メディアファイルの第２のインスタンスにおいて前記特徴を検索することは、前記特徴に基づく前記メディアファイルの前記第２のインスタンスの前記第２のセグメントの対応するフレームに対して、前記メディアファイルの前記第１のインスタンスの前記第１のセグメントの第１のフレームをマッピングすることからなる請求項１に記載の方法。
【請求項４】
前記注釈はオーディオのセグメントを含む請求項１に記載の方法。
【請求項５】
前記注釈はメディアファイルの説明を含む請求項１に記載の方法。
【請求項６】
前記注釈は広告を含む請求項１に記載の方法。
【請求項７】
前記注釈は命令を含む請求項１に記載の方法。
【請求項８】
前記メディアファイルの第２のインスタンスにおいて前記特徴を検索することは、
前記メディアファイルの前記第１のインスタンス内の前記第１のセグメントの時間的な位置の情報を前記リクエストに含んで受信することと、
前記第１のセグメントの前記時間的な位置に少なくとも部分的に基づくセグメントの候補セットを、前記メディアファイルの前記第２のインスタンスの複数のセグメントの中から選択することと、ここで、前記候補セットは前記第２のインスタンスの少なくとも２つのセグメントを含んでおり、
前記候補セット内の各セグメント毎に、前記第１のセグメントの前記特徴と該候補セット内のセグメントの特徴との間の距離を計算することと、
最も距離の短い前記候補セット内のセグメントを前記第２のセグメントとして選択することと
を含む請求項１に記載の方法。
【請求項９】
メディアファイルに関連付けられた注釈を処理するための方法であって、
クライアント装置のコンピュータによって、該クライアント装置で表示されているメディアファイルの第１のインスタンスの第１のセグメントのコンテンツに基づいて特徴を決定することと、
前記コンピュータによって、前記メディアファイルに関連付けられた注釈のリクエストをサーバに送信することと、ここで、該リクエストは前記特徴を含んでおり、該リクエストに応じて前記サーバが前記メディアファイルの第２のインスタンスにおいて前記特徴を検索し、これにより前記メディアファイルの前記第２のインスタンスの第２のセグメントが前記サーバで特定されるようにするものであり、
前記リクエストに対する応答として、前記コンピュータによって、前記メディアファイルの前記第２のインスタンスの前記第２のセグメントに対応付けられた注釈からなる応答を前記サーバから受信することと、
前記コンピュータによって、前記受信した注釈を処理することと
を具える方法。
【請求項１０】
前記メディアファイルは動画を含む請求項９に記載の方法。
【請求項１１】
前記第１のセグメントは第１のフレームを含み、前記第２のセグメントは第２のフレームを含む請求項９に記載の方法。
【請求項１２】
前記注釈はオーディオのセグメントを含む請求項９に記載の方法。
【請求項１３】
前記注釈はメディアファイルの説明を含む請求項９に記載の方法。
【請求項１４】
前記注釈は広告を含む請求項９に記載の方法。
【請求項１５】
前記注釈は命令を含む請求項９に記載の方法。
【請求項１６】
前記注釈を前記サーバにリクエストすることは、前記第１のセグメントの時間的な位置の情報を前記リクエストに含めて送信することを含み、前記サーバが、
前記第１のセグメントの前記時間的な位置に少なくとも部分的に基づくセグメントの候補セットを、前記メディアファイルの前記第２のインスタンスの複数のセグメントの中から選択し、ここで、前記候補セットは前記第２のインスタンスの少なくとも２つのセグメントを含んでおり、
前記候補セット内の各セグメント毎に、前記第１のセグメントの前記特徴と該候補セット内のセグメントの特徴との間の距離を計算し、
最も距離の短い前記候補セット内のセグメントを前記第２のセグメントとして選択する、
請求項９に記載の方法。
【請求項１７】
前記注釈を処理することは、前記メディアファイルの第１のインスタンスの第１のセグメントに関連した注釈を出力することを含む請求項９に記載の方法。
【請求項１８】
注釈を記憶するための方法であって、
サーバコンピュータシステムによって、クライアント装置で表示されているメディアファイルの第１のインスタンスの第１のセグメントに対応付けられた第１の注釈を該クライアント装置から受信することと、
サーバコンピュータシステムによって、前記メディアファイルの前記第１のインスタンスの前記第１のセグメントのコンテンツから引き出された特徴を前記クライアント装置から受信することと、
サーバコンピュータシステムによって、前記メディアファイルの第２のインスタンスにおいて前記特徴を検索し、これにより該特徴に対応する前記メディアファイルの前記第２のインスタンスの第２のセグメントを特定することと、ここで、前記メディアファイルの第２のインスタンスは前記クライアント装置から離隔されたホスト装置に記憶されており、
サーバコンピュータシステムによって、前記メディアファイルの前記第２のインスタンスの前記第２のセグメントにインデックス付けして前記第１の注釈を記憶することと
を具える方法。
【請求項１９】
前記メディアファイルは動画を含む請求項１８に記載の方法。
【請求項２０】
前記メディアファイルの第２のインスタンスにおいて前記特徴を検索することは、前記特徴に基づく前記メディアファイルの前記第２のインスタンスの前記第２のセグメントの対応するフレームに対して、前記メディアファイルの前記第１のインスタンスの前記第１のセグメントの第１のフレームをマッピングすることからなる請求項１８に記載の方法。
【請求項２１】
前記第１の注釈はオーディオのセグメントを含む請求項１８に記載の方法。
【請求項２２】
前記第１の注釈はメディアファイルの説明を含む請求項１８に記載の方法。
【請求項２３】
前記第１の注釈は広告を含む請求項１８に記載の方法。
【請求項２４】
前記第１の注釈は命令を含む請求項１８に記載の方法。
【請求項２５】
第２の注釈を第２のクライアントから受信することと、
前記第２の注釈を記憶することと
を更に具え、前記第２の注釈は前記メディアファイルの前記第２のインスタンスの前記第２のセグメントにインデックス付けされる、請求項１８に記載の方法。
【請求項２６】
前記メディアファイルの第２のインスタンスにおいて前記特徴を検索することは、
前記メディアファイルの前記第１のインスタンス内の前記第１のセグメントの時間的な位置の情報を受信することと、
前記第１のセグメントの前記時間的な位置に少なくとも部分的に基づくセグメントの候補セットを、前記メディアファイルの前記第２のインスタンスの複数のセグメントの中から選択することと、ここで、前記候補セットは前記第２のインスタンスの少なくとも２つのセグメントを含んでおり、
前記候補セット内の各セグメント毎に、前記第１のセグメントの前記特徴と該候補セット内のセグメントの特徴との間の距離を計算することと、
最も距離の短い前記候補セット内のセグメントを前記第２のセグメントとして選択することと
を含む請求項１８に記載の方法。
【請求項２７】
注釈をインデックス付けるためのシステムであって、
或るメディアファイルの第１のインスタンスにおいて該メディアファイルの第２のインスタンスのコンテンツから引き出された特徴を検索し、これにより該メディアファイルの該第１のインスタンスに対する該メディアファイルの前記第２のインスタンスのマッピングを生成する特徴検出手段と、
前記メディアファイルの前記第１のインスタンスにインデックス付けられた注釈を取得する注釈取得手段と、
前記マッピングを用いて前記メディアファイルの前記第２のインスタンスに前記取得した注釈をインデックス付ける注釈インデックス付け手段と
を具えるシステム。
【請求項２８】
さらに、前記メディアファイルの前記第２のインスタンスと一緒に前記注釈を表示する注釈表示手段を具える請求項２７に記載のシステム。
【請求項２９】
前記特徴検出手段は、
前記メディアファイルの前記第２のインスタンスから引き出された時間的な位置の情報を受信し、
前記第２のインスタンスから引き出された前記時間的な位置に少なくとも部分的に基づくセグメントの候補セットを、前記メディアファイルの前記第１のインスタンスの複数のセグメントの中から選択し、ここで、前記候補セットは前記第１のインスタンスの少なくとも２つのセグメントを含んでおり、
前記候補セット内の各セグメント毎に、前記第２のインスタンスの前記特徴と該候補セット内のセグメントの特徴との間の距離を計算し、
最も距離の短い前記候補セット内のセグメントに対して前記第２のインスタンスをマッピングする
ように構成されている請求項２７に記載のシステム。
【請求項３０】
注釈を検索して取り出すためのシステムであって、
メディアファイルの第１のインスタンスの第１のセグメントに対応付けられた注釈のリクエストをクライアント装置から受信する手段と、ここで、前記リクエストは前記メディアファイルの前記第１のインスタンスの前記第１のセグメントのコンテンツから引き出された特徴を含んでおり、
前記リクエストに応じて、前記メディアファイルの第２のインスタンスにおいて前記特徴を検索し、これにより前記メディアファイルの前記第２のインスタンスの第２のセグメントを特定する手段と、ここで、前記メディアファイルの前記第２のインスタンスは前記クライアント装置から離隔されたホスト装置に記憶されており、
前記メディアファイルの前記第２のインスタンスの前記特定された第２のセグメントに対応付けられた注釈を検索して取り出す手段と、
前記クライアント装置で表示するために該クライアント装置に前記取り出された注釈を送信する手段と
を具えるシステム。
【請求項３１】
前記メディアファイルの前記第１のインスタンス内の前記第１のセグメントの時間的な位置の情報を前記リクエストに含んで受信する手段と、
前記第１のセグメントの前記時間的な位置に少なくとも部分的に基づくセグメントの候補セットを、前記メディアファイルの前記第２のインスタンスの複数のセグメントの中から選択する手段と、ここで、前記候補セットは前記第２のインスタンスの少なくとも２つのセグメントを含んでおり、
前記候補セット内の各セグメント毎に、前記第１のセグメントの前記特徴と該候補セット内のセグメントの特徴との間の距離を計算する手段と、
最も距離の短い前記候補セット内のセグメントを前記第２のセグメントとして選択する手段と
を更に備える請求項３０に記載のシステム。
【請求項３２】
注釈を検索して取り出すためのコンピュータプログラムであって、コンピュータに、
クライアント装置で表示されているメディアファイルの第１のインスタンスの第１のセグメントに対応付けられた注釈のリクエストを該クライアント装置から受信する手順と、ここで、前記リクエストは、前記クライアント装置で表示されている前記メディアファイルの前記第１のインスタンスの前記第１のセグメントのコンテンツから引き出された特徴を含んでおり、
前記リクエストに応じて、前記クライアント装置から離隔されたホスト装置に記憶された前記メディアファイルの第２のインスタンスにおいて前記特徴を検索し、これにより前記メディアファイルの前記第２のインスタンスの第２のセグメントを特定する手順と、
前記メディアファイルの前記第２のインスタンスの前記特定された第２のセグメントに対応付けられた注釈を検索して取り出す手順と、
前記クライアント装置で処理するために前記クライアント装置に前記取り出された注釈を送信する手順と
を実行させるためのコンピュータプログラム。
【請求項３３】
前記第２のインスタンスにおいて前記特徴を検索する前記手順は、前記コンピュータに、
前記メディアファイルの前記第１のインスタンス内の前記第１のセグメントの時間的な位置の情報を前記リクエストに含んで受信する手順と、
前記第１のセグメントの前記時間的な位置に少なくとも部分的に基づくセグメントの候補セットを、前記メディアファイルの前記第２のインスタンスの複数のセグメントの中から選択する手順と、ここで、前記候補セットは前記第２のインスタンスの少なくとも２つのセグメントを含んでおり、
前記候補セット内の各セグメント毎に、前記第１のセグメントの前記特徴と該候補セット内のセグメントの特徴との間の距離を計算する手順と、
最も距離の短い前記候補セット内のセグメントを前記第２のセグメントとして選択する手順と
を実行させること含む請求項３２に記載のコンピュータプログラム。
【請求項３４】
メディアファイルに関連付けられた注釈を処理するためのコンピュータプログラムであって、コンピュータに、
クライアント装置で表示されているメディアファイルの第１のインスタンスの第１のセグメントのコンテンツに基づいて特徴を決定する手順と、
前記メディアファイルに関連付けられた注釈のリクエストをサーバに送信する手順と、ここで、該リクエストは前記特徴を含んでおり、該リクエストに応じて前記サーバが前記メディアファイルの第２のインスタンスにおいて前記特徴を検索し、これにより前記メディアファイルの前記第２のインスタンスの第２のセグメントが前記サーバで特定されるようにするものであり、
前記リクエストに対する応答として、前記メディアファイルの前記第２のインスタンスの前記特定された第２のセグメントに対応付けられた注釈からなる応答を前記サーバから受信する手順と、
前記受信した注釈を処理する手順と
を実行させるためのコンピュータプログラム。
【請求項３５】
前記注釈をサーバにリクエストする前記手順は、前記コンピュータに、前記第１のセグメントの時間的な位置の情報を前記リクエストに含めて送信する手順を実行させることを含み、前記サーバが、
前記第１のセグメントの前記時間的な位置に少なくとも部分的に基づくセグメントの候補セットを、前記メディアファイルの前記第２のインスタンスの複数のセグメントの中から選択し、ここで、前記候補セットは前記第２のインスタンスの少なくとも２つのセグメントを含んでおり、
前記候補セット内の各セグメント毎に、前記第１のセグメントの前記特徴と該候補セット内のセグメントの特徴との間の距離を計算し、
最も距離の短い前記候補セット内のセグメントを前記第２のセグメントとして選択する、
ようにした請求項３４に記載のコンピュータプログラム。
【請求項３６】
前記注釈を処理する前記手順は、前記コンピュータに、前記メディアファイルの第１のインスタンスの第１のセグメントに関連した注釈を出力する手順を実行させることを含む請求項３４に記載のコンピュータプログラム。
【請求項３７】
注釈を記憶するためのコンピュータプログラムであって、コンピュータに、
クライアント装置で表示されているメディアファイルの第１のインスタンスの第１のセグメントに対応付けられた第１の注釈を該クライアント装置から受信する手順と、
前記メディアファイルの前記第１のインスタンスの前記第１のセグメントのコンテンツから引き出された特徴を該クライアント装置から受信する手順と、
前記メディアファイルの第２のインスタンスにおいて前記特徴を検索し、これにより該特徴に対応する前記メディアファイルの前記第２のインスタンスの第２のセグメントを特定する手順と、ここで、前記メディアファイルの第２のインスタンスは前記クライアント装置から離隔されたホスト装置に記憶されており、
前記メディアファイルの前記第２のインスタンスの前記第２のセグメントにインデックス付けして前記第１の注釈を記憶する手順と
を実行させるためのコンピュータプログラム。
【請求項３８】
前記第２のインスタンスにおいて前記特徴を検索する前記手順は、前記コンピュータに、
前記メディアファイルの前記第１のインスタンス内の前記第１のセグメントの時間的な位置の情報を受信する手順と、
前記第１のセグメントの前記時間的な位置に少なくとも部分的に基づくセグメントの候補セットを、前記メディアファイルの前記第２のインスタンスの複数のセグメントの中から選択する手順と、ここで、前記候補セットは前記第２のインスタンスの少なくとも２つのセグメントを含んでおり、
前記候補セット内の各セグメント毎に、前記第１のセグメントの前記特徴と該候補セット内のセグメントの特徴との間の距離を計算する手順と、
最も距離の短い前記候補セット内のセグメントを前記第２のセグメントとして選択する手順と
を実行させることを含む請求項３７に記載のコンピュータプログラム。
【請求項３９】
視聴覚的コンテンツを持つメディアファイルの第１のインスタンスを記憶する手順と、
前記メディアファイルの第２のインスタンスを記憶する手順と、ここで、前記メディアファイルの前記第２のインスタンスは前記メディアファイルの前記第１のインスタンスとは少なくとも部分的に異なるものであり、
前記メディアファイルの前記第１のインスタンスの第１のセグメントの視聴覚的コンテンツから引き出した特徴を受信する手順と、
前記メディアファイルの前記第２のインスタンスにおいて前記特徴を検索し、これにより前記メディアファイルの前記第２のインスタンスの第２のセグメントを特定する手順と、
前記第２のセグメントに対する前記第１のセグメントのマッピングを記憶する手順と
をコンピュータに実行させるためのコンピュータプログラム。
【請求項４０】
前記第２のインスタンスにおいて前記特徴を検索することは、前記コンピュータに、
前記メディアファイルの前記第１のインスタンス内の前記第１のセグメントの時間的な位置の情報を受信する手順と、
前記第１のセグメントの前記時間的な位置に少なくとも部分的に基づくセグメントの候補セットを、前記メディアファイルの前記第２のインスタンスの複数のセグメントの中から選択する手順と、ここで、前記候補セットは前記第２のインスタンスの少なくとも２つのセグメントを含んでおり、
前記候補セット内の各セグメント毎に、前記第１のセグメントの前記特徴と該候補セット内のセグメントの特徴との間の距離を計算する手順と、
最も距離の短い前記候補セット内のセグメントを前記第２のセグメントとして選択する手順と
を実行させることからなる請求項３９に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概して動画の注釈のオーサリングと表示に関し、また、ネットワークを介しての注釈の共同的な共有と編集に関する。
【背景技術】
【０００２】
注釈は、動画を補うためのメカニズムに有用な情報を提供する。注釈は、例えば動画、サブタイトル、あるいは添付されたオーディオトラックのコンテンツを記述しているメタデータを含み得る。注釈は、文字、オーディオ、画像、あるいは他の種類を含む種々のデータタイプになり得る。それらのコンテンツを有意義にするために、注釈は特定の動画、あるいは動画の特定の一部分に典型的には対応付けられる。
【０００３】
注釈に含まれる有用な情報がやり取りされうる１つの方式は、ネットワークを介して注釈付きの動画を転送することによる。しかしながら、ネットワークを介して動画コンテンツを転送することは、いくつかの障害をもたらす。第一に、動画ファイルは一般的に非常に大きく、そして必要とされる回線容量と記憶ニーズをサポートすることができるホストと受信側のコンピュータを必要とするのと同様に、動画を転送することはかなりの回線容量が必要である。第二に、多くの動画ファイルはおそらく著作権が取られている、あるいはさもなければ費用の支払いなしで配布を禁じられている。著作権制限のコンプライアンスは、無許可のコピーを妨げるために付加的なソフトウェアとハードウェア投資を要求する。第三に、注釈付きの動画の受信者がすでに動画の注釈付きでない動画のコピーを持っているかもしれないとき、データ効率観点から、このような受信者への注釈付きの動画のコピーの転送は不必要に回線容量と記憶の両方を消費する。
【０００４】
従って、完全な動画のコピーを転送することによって注釈付きの動画を交換することは不適当な解決法である。
【発明の概要】
【０００５】
メディアファイルに関連付けられた注釈は、メディアファイルのどんなセグメントとでも該注釈の適当な時間あるいは空間な関係を維持しながら、対応するメディアファイルとは無関係にデバイス間で転送される。メディアファイルに関連付けられた注釈は、そのメディアファイルの第１のインスタンスにインデックス付けられる。マッピングは、２つのインスタンスの特徴を比較することに基づいて、メディアファイルの第１のインスタンスとメディアファイルの第２のインスタンスとの間に作成される。第１および第２のインスタンスの間のマッピングを使って第２のインスタンスに注釈がインデックス付けられる。第２のインスタンスのインデックスに基づき、注釈は表示、記憶、又は修正され得る。
【０００６】
インスタンスの特徴を比較することは、注釈が、メディアファイルの複数の無関係に獲得されたインスタンスに相次いでインデックス付けられるようにする。注釈の相次ぐインデックス付けは注釈が共有されることを手助けし、そして注釈者、編集者と消費者の共同のコミュニティを可能にする。注釈は、広告又はプレミアムな有料のコンテンツを含むことができる。注釈を投稿する、編集するあるいは見るための特典は、予約基準価格、無料で売りに出され得るか、あるいはメディアファイルの購入とつながり得る。
【０００７】
一実施例によれば、最初のユーザは注釈サーバにメディアファイルの彼のインスタンスにインデックスされた注釈を提出する。注釈サーバは、メディアファイルの第１のユーザのインスタンスをメディアファイルの正規インスタンスにマップし、そしてメディアファイルの正規インスタンスにインデックスされた提出された注釈を記憶する。第２のユーザは注釈をリクエストする、そして注釈サーバはメディアファイルの第２のユーザのインスタンスをメディアファイルの正規インスタンスにマップする。注釈サーバは、メディアファイルの第２のユーザのインスタンスにインデックスされた第２のユーザに注釈を送る。
【０００８】
この要約に記述された特徴と効果及び詳細な記述は包括的ではない。 多くの付加的な特徴と効果が、図面、明細書、請求項に照らして当業者に明らかであるであろう。
【図面の簡単な説明】
【０００９】
【図１】動画プロバイダのコミュニティとコンシューマとをつなぐネットワークを示す。
【００１０】
【図２】動画のフレーム、１以上のフレームへの注釈のインデックス付けを表す。
【００１１】
【図３】動画の２つのインスタンスのフレームを表す。
【００１２】
【図４（ａ）】動画の正規インスタンスにインデックス付けた注釈を表す。
【００１３】
【図４（ｂ）】動画のクライアントインスタンスを動画の正規インスタンスにマッピングすることを表す。
【００１４】
【図５】動画と注釈を記憶することの一実施例を表す。
【００１５】
【図６】表示のイベントトレースと動画に対応付けられた注釈の変更である。
【００１６】
【図７（ａ）】注釈を見る、作成する、編集するためのユーザインタフェースを表す。
【００１７】
【図７（ｂ）】新しい注釈を作成するためのユーザインタフェースを表す。
【００１８】
【図８】表示する注釈を決定するための方法を表す。
【００１９】
上記図面は本発明の好適な実施例を例示しただけである。当業者であれば、ここで説明する発明の本質から逸脱せずに、ここに例示されている構造及び方法について他の実施例を用いることが可能であることを以下の説明から容易に理解するであろう。
【発明を実施するための形態】
【００２０】
図１は、動画プロバイダのコミュニティとコンシューマとをつなぐネットワークを示す。図１は、複数のユーザが動画と注釈を交換することができる一実施例を表す。動画は、注釈が対応付けられ得るメディアファイルの例としてここに使用される。この例は説明の目的のために選ばれたにすぎず、本発明におけるメディアファイルとは動画に限定されない。注釈が対応付けられ得るメディアファイルの他のタイプは、これらに限られないが、オーディオプログラム、フラッシュ、映画（どんな符号化様式ででも）、スライドプレゼンテーション、フォトコレクション、アニメ番組、他のドキュメントを含む。 他の例は、当業者であればこの発明の本質から逸脱せずに明らかであろう。
【００２１】
ユーザは、クライアント１０４を使って注釈を見たり、執筆したり、編集したりする。注釈は、メディアファイルを有効に補うことができるどんなデータでもある。例えば、注釈はオーディオ又はテキストの記録、翻訳、広告あるいは要点、前もって決定された尺度での評価（１乃至５の星）、メタデータ、あるいはどのようにメディアファイルが表示されるべきであるかの命令であり得る。注釈はまた、動画コンテンツを含み得る。クライアント１０４は、動画を表示するためのソフトウェアとハードウェアを含む。例えば、クライアント１０４は、テレビジョン、パーソナルコンピュータ、ディジタルビデオレコーダ（ＤＶＲ）、個人情報端末（ＰＤＡ）、携帯電話、あるいは表示装置を持っている又はつながれた他のデバイス；ＭＰＥＧ−２，ＭＰＥＧ−４，クィックタイム，ＶｅＤ，あるいは他のいかなる現在あるいは将来の動画様式のような動画ファイルをデコードするのに適したどんなビデオプレーヤーでも含むソフトウェアとして実施され得る。クライアントの他の例は、当業者であればこの発明の本質から逸脱せずに明らかであろう。一実施例によればクライアント１０４によって使われるグラフィカル・ユーザ・インタフェースが、図７（ａ）と図７（ｂ）に関連して記述されている。
【００２２】
クライアント１０４は、ネットワーク１０５につながれる。ネットワーク１０５は、注釈コンテンツを転送しうるどんな電子媒体で構成されていてもよい。ネットワーク１０５を通して、クライアント１０４は他のクライアント１０４からデータを送受信することができる。ネットワーク１０５は、世界的規模の（例えば、インターネット）、地方の、広域の、あるいはローカルエリアのネットワークであり得る。
【００２３】
動画サーバ１０６は、電子媒体に動画のコレクションを記憶する。クライアント１０４による特定の動画（あるいは特定基準に一致する動画セット）のリクエストに対応して、動画サーバ１０６はネットワーク１０５を介してクライアント１０４に動画を転送する。動画サーバ１０６は、クライアントに動画を提供するサービスに対して費用を請求するように設定されるかもしれない、あるいは無料で動画を提供するかもしれない。動画サーバ１０６は、例えばオンデマンドコンテンツサービス、オンラインストア、あるいはストリームビデオサーバで実施され得る。動画サーバの他の例は、当業者であればこの発明の本質から逸脱せずに明らかであろう。
【００２４】
クライアント１０４の一部はまた、動画情報源１０２につながれる。動画情報源１０２は、クライアントに動画を供給する装置である。例えば、動画情報源１０２は、ケーブルボックス、テレビジョンアンテナ、ディジタルビデオレコーダ、ビデオカセットプレーヤ、カメラ、ゲーム操作卓、ディジタルビデオディスク（ＤＶＤ）装置、あるいはクライアント１０４によって読み取り可能なフォーマットで動画出力を作成し得る他のいかなる装置であり得る。動画情報源１０２の他の例は、当業者であればこの発明の本質から逸脱せずに明らかであろう。
【００２５】
この発明の一実施例によれば、クライアント１０４はネットワーク１０５を介して動画を送ることができる。例えば、クライアント１０４Ｂは動画情報源１０２Ｂから動画を受け取ることができ、そしてネットワークを通してクライアント１０４Ｄのような他のクライアントにそれを転送することができる。クライアント１０４はまた、ネットワーク１０５を通して動画サーバ１０６に動画を送ることができる。クライアント１０４から動画サーバ１０６に送られた動画は、電子媒体に記憶され、他のクライアント１０４にとって入手可能である。
【００２６】
注釈サーバ１１０は、ネットワーク１０５につながれる。注釈サーバ１１０は、電子媒体に注釈を記憶する。特定のメディアファイルに関連付けられた注釈のクライアント１０４からのリクエストに対応して、注釈サーバ１１０はメディアファイルに関連付けられた１以上の注釈をネットワーク１０５を通してクライアント１０４へ送る。クライアント１０４によるメディアファイルに関連付けられた１以上の注釈の提出に対応して、注釈サーバ１１０はメディアファイルに関連付けられた１以上の注釈を記憶する。注釈サーバ１１０は、１以上のメディアファイルあるいはその一部のインスタンスにインデックスされた注釈を記憶する。注釈サーバ１１０によって用いられる方法が、この発明のさまざまな実施例に従って、図４−６に関連して記述される。
【００２７】
オプションとして、動画サーバ１０８は、ローカルに又はネットワーク１０５を介して注釈サーバ１１０に通信可能につながれる。動画サーバ１０８は、動画サーバ１０６に関連してここに記述されたように多くの同じ能力を持つことができる。動画サーバ１０８は、ネットワーク１０５を介してクライアント１０４へ動画を転送することができる。一実施例において、注釈サーバ１１０と動画サーバ１０８は一緒に、クライアント１０４へ注釈付けられた動画を転送する。他の実施例において、動画サーバ１０８は図５に関連して記述されたように、動画の正規インスタンスを記憶する。
【００２８】
図に示されるように、いかなるクライアントでもいろいろな情報源から動画を入手できるようになっていてよい。例えば、クライアント１０４Ａは、ネットワーク１０５を経由して動画情報源１０２Ａあるいは動画サーバ１０６から直接的に動画を受け取ることができる。様々なクライアントは、様々な動画情報源に時々アクセスできる。例えば、クライアント１０４Ａのように、クライアント１０４Ｂはネットワーク１０５を経由して動画サーバ１０６から動画を受け取ることができる、しかし、クライアント１０４Ａと対照的に、動画情報源１０２Ａの代わりに動画情報源１０２Ｂに直接アクセスできる。
【００２９】
クライアントは潜在的に広い動画情報源の範囲から動画を入手することができるけれども、この発明はクライアントの動画のコピーが入手された情報源にかかわらず、特定のメディアファイル及びその一部に常に関連付けられるために、注釈サーバ１１０からクライアントへ注釈を送ることを許可する。メディアファイルと一体の一貫した注釈の関連性は、所定のメディアファイルの異なったインスタンス（あるいはコピー）を持っているユーザの間で注釈の交換を容易にする。この発明は、クライアントメディアファイルのさまざまなインスタンスのために注釈を再インデックス付けすることにより、複数のクライアント間で注釈の共有と交換を可能にする。例えば、２つのクライアントが異なる情報源から動画のコピーを獲得するかもしれない事実にもかかわらず、注釈サーバ１１０はクライアント１０４Ａの動画のインスタンスにインデックスされた注釈を送り、そしてクライアント１０４Ｂの動画のインスタンスにインデックスされた注釈を送る。注釈サーバ１１０は、図４に関連して記述されたように、クライアント１０４によって表示された動画にふさわしいだけでなく、クライアント１０４が表示している動画の特定のインスタンスにふさわしい注釈を有利に提供する。
【００３０】
図２を参照すると、どのようにして注釈が時間的及び／又は空間的に動画ファイル及び１以上のフレームに関連付けられるのかを説明する概念図が示されている。図２は、フレーム２００からフレーム２５１までを流れる、動画フレームの一組を示す。クライアント１０４はこれらのフレームを表示する、そしてまた一時停止、巻戻し、早送り、飛び越しすることができ、あるいは別のやり方でフレームが表示される命令やスピードを調整する。
【００３１】
説明の目的のため、以下の議論はフレームからなるものとして動画に言及する。動画は時々記憶されるか、又はフレームのブロック、フィールド、マクロブロックとして、あるいは不完全なフレームの一部の中で転送される。ここでフレームからなる動画について参照されるときに、中間段階の間で、動画が事実上種々の他のフォームのうちのいずれかとして記憶されてよいことが理解されるべきである。用語「フレーム」は明瞭さのためにここで用いられ、そして特定のフォーマット又は動画の記憶や表示の規約のどれにも限定されない。
【００３２】
フレームのいくつかは、特定のユーザによって提供されたものとして、それらに関連付けられた（対応付けられた）注釈を持つ。示された例において、フレーム２０１はその対応付けられた注釈のいくつかを説明するために今まで以上に詳しく描かれている。図中に示されるように、複数の注釈が１フレーム中の特定の空間的位置に対応付けられ得るし、あるいは当該フレーム全体に対応付けられ得る。例えば、注釈１はフレーム２０１の上段の左隅を囲む長方形の箱（ボックス）と対応付けられる。その一方、注釈４はフレーム全体に対応付けられる。
【００３３】
また、複数の注釈が、重複する複数の空間的位置に対応付けられ得る。例えば、注釈１は注釈２に対応付けられた異なる長方形の箱に重複している長方形の箱と対応付けられる。一実施例において、注釈は閉じられた外観を持つ如何なる形状によって定義された空間的位置に対応付けられ得る。例えば、図２に示すように、注釈３は楕円形の形状によって定義された空間的位置に対応付けられている。
【００３４】
注釈リスト２８０は、注釈の空間的位置と注釈のコンテンツとの間の関連性を保持する。フレーム２０１において長方形の箱に対応付けられた注釈１は、文字「大統領」を含む。注釈１は、補足情報を強調するあるいはフレームの特定の部分に補足情報を加えるのに役立つ注釈の例である。注釈４はフレーム２０１全体に対応付けられ、そして文字「一般教書演説」を含む。注釈４は、フレームのコンテンツを要約するために使用された注釈の例である。 注釈５はフレーム２０１全体に対応付けられ、そして何らかのオーディオ、この場合、フランス語のオーディオ翻訳である、を含む。注釈５は補足のオーディオコンテンツを提供するために使用された注釈の例である。
【００３５】
注釈はまた、メディアファイルやそのどの部分とでも時間の関連性を持ちうる。例えば、注釈は特定のフレーム、あるいはフレームの特定の範囲と対応付けられ得る。図２において、例えば、注釈５はフレーム２０１に対応付けられるだけなのに、注釈２はフレーム２００〜２５１に対応付けられ得る。また、或る注釈に対応付けられた空間的位置の定義は時間的に変えることができる。例えば、注釈１はフレーム２０１において第１の領域と対応付けられ得る、そしてフレーム２０２において第２の領域と対応付けられ得る。時間と空間に依存する注釈の対応付けは、動いているオブジェクトに関して補足的情報を提供するのに特に有用であって、そして図に示された例のように、アメリカ合衆国大統領の動きに対応することができる。時間の注釈は、フレーム番号、タイムコード、あるいは他のインデックス基準によって定義されうる。テーブルとして例示した注釈リスト２８０は、そのような図示例で使用された内在する記憶様式に限定することを意味しておらず、記憶構成要素を減らす及び／又は検索スピードを増やすように最適化された様式を含めて、注釈情報のどんな様式や構成が用いられるようになっていてもよい。
【００３６】
メディアファイルを再生している間に、クライアント１０４はファイルのフレームに対応付けられた注釈を表示するようになっている。例えば、動画フレームに重ねあわされた文字として、あるいはフレームと並んで見せられた図形として、あるいは動画と時を同じくして再生されたオーディオとして、注釈は表示され得る、注釈はまた別個の表示窓あるいは動画の直前のフレームに現われるかもしれない。注釈はまた、対応付けられたメディアファイルがどのように表示されるべきであるかに関しての命令を含み得る。注釈によって指示されるように、命令注釈は動画を表示することを含み得る。例えば、注釈に対応して、クライアント１０４は動画の異なった場所にスキップする、スローモーションで動画の一部分を表示する、又は一緒に異なる動画へジャンプするようになっていてもよい。
【００３７】
クライアント１０４は、利用可能な注釈の一部を示すことができる。例えば、図２の動画を見ているユーザは、さまざまな基準の指定に従ってクライアント１０４により表示されるべき注釈を選択することができる。ユーザは、注釈の特定のタイプ（例えば、コメント、文字、図形、オーディオ）だけを、あるいは表示の特定の領域によって定義された注釈だけを受信することを選ぶことができる。ユーザは、（キーワードのような）特定の検索基準と一致するか、あるいは特定のユーザによって著作された、特定の言語内の注釈を受信することを選ぶことができる。他の例として、注釈が共同のユーザコミュニティの中で書かれた又は編集されたときに、ユーザは特定の閾値以上の評判をもつユーザによって著作された注釈だけを受信すること、あるいは特定の閾値以上のレーティングをもつ注釈だけを受信することを選ぶことができる。ユーザはまた注釈を検索し、そして注釈検索の結果に基づき対応付けられた動画を取り出すことができる。
【００３８】
特定の注釈は、それらが表示されないようにすることをユーザに認めない優先順位を与えられ得る。例えば、広告注釈もまた表示される場合を除き、他の注釈が表示されない故に作成される、広告を含み得る。このような構成は、広告注釈の支払いを避けている間、ユーザが特定の注釈を見ることを妨げるであろう。表示するための注釈を決定する方法が、図８に関連して記述される。
【００３９】
ユーザはまた、クライアント１０４を使って注釈を編集することができる。例えば、図２に示された注釈を見ているユーザは、注釈１に不満であるかもしれない。ユーザはクライアント１０４につながれた入力装置を使って、注釈文字「副大統領」を「合衆国副大統領」に変更する。注釈の将来の表示（このユーザあるいはもしかすると他のユーザへ）は、変更された文字「合衆国副大統領」を含むであろう。他の選択肢として、ユーザは注釈がもつあるいは関連した時間的又は空間的な定義を変更することができる。例えば、鋭いユーザは、フレームの右端に示された文書が実際は１５合衆国法典§§７８dd -1からの抜粋であること、そして憲法（ほとんど完全に大統領の位置によって不明瞭にされているにもかかわらず）がフレームの左端でただかろうじて目に見えることを認識するかもしれない。例えばクライアント１０４につながれた入力装置を使って、異なる場所へ空間的な定義をドラッグする（例えば、動画のフレームを説明している直接操作ユーザインタフェースで）ことによって、ユーザは、結果的に注釈３が対応付けられた時間的な定義を変更することができる。
【００４０】
どのようにしてクライアントは注釈とそれらに対応付けられたフレームをまとめることができるかの１つの例として、注釈リスト２８０は説明の目的のために図２に示される。注釈リスト２８０は、フレームあるいはフレームの範囲に対応付けられた注釈を管理又は表示するために利用される、しかし種々のクライアントはこの発明の本質から逸脱せずに別に注釈をまとめることができる。
【００４１】
図１に示すように、１つのクライアントは時々同じ動画の多重インスタンスにアクセスでき、また、異なったクライアントはさまざまな異なったインスタンスにしばしばアクセスできる。図３は、同じ動画の２つのインスタンスを作り出しているフレームの系列を示す。例えば、動画インスタンス３０４はオンライン動画ストアから受信した同じ動画の複写であり得るのに、動画インスタンス３０２はケーブルチャンネルから受信した動画の複写であり得る。他の例として、動画インスタンス３０２は第１の放送局から信号を受信する第１のユーザのディジタルビデオレコーダによって記録された動画の複写であり得るのに対して、動画インスタンス３０４は第２の放送局から信号を受信する第２のユーザのディジタルビデオレコーダによって記録された同じ動画の複写であり得る。
【００４２】
動画インスタンス３０２は動画インスタンス３０４とは無関係に獲得されるけれども、２つのコピーは時間的に同期されていない及び／又は長さの異なっていることがありうる。例えば、動画インスタンス３０２はチューリッヒチャンネル、その時間の正確さと良いセンスで知られているテレビジョン系列から記録されたかもしれない。動画インスタンス３０４は、他方、タルサＴＶ、そのいい加減な番組とでたらめなタイミングで知られているテレビジョン系列から記録されたかもしれない。それで、図３に示されるように、第１のインスタンスのフレームは、必ずしも第２のインスタンスのフレームに対応しないかもしれない。さらに、所定の番組又は放送の異なるインスタンスの間に生じうる多数の他の相違点がある。これらは限られないが、符号化パラメーター（例えば、分解能、フレーム率）の違いとファイル形式の違いを含む。
【００４３】
示された例において、動画インスタンス３０２のフレーム３０６は、動画インスタンス３０４のフレーム３０８に関してタイムシフトされている。フレーム３０８の第１のフレームは、フレーム３０６の３番目のフレームと同じコンテンツを持つ。注釈が１ユーザによって動画の特定のフレームに対応付けられるならば、動画のさまざまなインスタンスの間でタイムシフトされる可能性にもかかわらず他のユーザに示されるとき、それらがそれらのフレームで表示されることは望ましい。なお、動画インスタンス３０４は４つのフレームを持つのに対して、動画インスタンス３０２は６つのフレームを持つ。
【００４４】
注釈が動画のさまざまなインスタンスで適切に表示され得るように、注釈サーバ１１０はフレームのこのタイムシフティングの責任をとる。例えば、フレーム３０６の３番目のフレームに入る運転者を記述する注釈を仮定する。もしこの注釈がフレーム３０６に関してインデックス付けられているならば、注釈が動画インスタンス３０４に適切に表示され得るように、注釈サーバ１１０はフレーム３０８に関するインデックスへこのインデックスを転送する。注釈サーバ１１０は、１つの動画インスタンスを他へマッピングすることによって、注釈インデックスを転送する。
【００４５】
図４（ａ）を参照すると、注釈４０４は動画の正規インスタンス４０６にインデックス付けられる。説明の目的のため、それにインデックス付けられた注釈を持つ動画インスタンスは正規インスタンス（「第２のインスタンス」という）として参照される、そしてクライアントで表示されるであろう動画のインスタンスはクライアントインスタンス（「第１のインスタンス」という）として参照される。１実施例によれば、注釈は２以上のクライアント間で多方向に共用され得る。従って、動画の正規インスタンスが確定的でない可能性がある。 用語「正規インスタンス」とは、注釈を交換する際の動画のインスタンスの役割に言及していることを理解されるべきであって、全体としての動画分配システム又は注釈フレームワーク内における動画のコピーのステータスを必ずしも言及するものではない。
【００４６】
ビデオサーバ１０８は、チャンクに動画コンテンツを記憶するかもしれない。チャンクに動画を記憶するための１つのシステム及び方法は、２００６年６月３０日付特許出願第１１／４２８，３１９号「動的なメディア提供インフラストラクチャー」マニッシュ・ガプタ他、代理人整理番号２４２０７‐１１５８４、２００６年１月６日付仮出願第６０／７５６，７８７号「メディア記事の不連続なダウンロード」マイケル・ユー他、代理人整理番号２４２０７‐１１０８１に開示され、両方ともがそれら全体における参照によりここに組み込まれる。図４（ａ）は、チャンク４０２Ａとチャンク４０２Ｂとして記憶された動画の正規インスタンスを示す。１つのチャンクは、動画を記憶するための１つのデータ要素である。チャンクに動画を記憶することは、効率的なインデックス付けと動画の転送に有益であって、そしてより処理しやすいサイズの動画データとしての取り扱いを可能にさせる。
【００４７】
図２に関連して記述されたように、注釈は動画中の特定のフレームに対応付けられ得る。注釈と特定のフレームの間の関連性は、注釈を動画の特定のインスタンス内のフレームにインデックス付けることによって記憶される。注釈４０４Ａは、例えば、動画の正規インスタンス４０６のフレームに、この場合チャンク４０２Ａ内のフレームに、インデックス付けられる。
【００４８】
図２に関連してまた記述されたように、注釈は動画内中のフレームの範囲に対応付けられ得る。動画の１以上のフレームセットは、時々動画のセグメントとして言及される。注釈４０４Ｄは、例えば、動画の正規インスタンス４０６の動画のセグメントに、この場合チャンク４０２Ｂの１以上のフレームに含まれているセグメントに、インデックス付けられる。
【００４９】
クライアントは動画源又はサーバ（図１に関連して記述されるそれらの１つのように）から動画を受け取り、そして動画のクライアントインスタンス４０８としてコピーを記憶する。クライアントは動画を表示するけれども、クライアントは定期的に、注釈サーバから、表示しようとしている動画のフレームに対応付けられた注釈を受け取る。それらに対応付けられたフレームと一緒に表示するのに十分な時間内で、注釈がリクエストされ、取り出され、伝送されそして受け取られることを確実にするために、フレームが表示される前の或る時点でクライアントは該フレームに対応付けられた注釈をリクエストする。
【００５０】
更なる効率性のために、クライアントは、動画のセグメントに対応付けられた注釈のリクエストの中に特定のフレームに対応付けられた注釈を組み合わせることができる。リクエストは、例えば、所定の動画に対応付けられた注釈のすべてを取り出すために捜し求めることができる。示された例において、クライアントは動画のセグメント４０９に対応付けられた注釈をリクエストする。注釈のリクエストは、セグメントの個々のフレームに対応付けられた注釈、又はセグメントのフレームの上位セット又はサブセットに対応付けられた注釈を返すであろう。例えば、クライアントは、動画のセグメント４０９に正確に対応付けられた注釈、動画のセグメント４０９の個々の動画に対応付けられた注釈、あるいは全部の動画に対応付けられた注釈をリクエストすることができる。
【００５１】
図４（ｂ）を参照すると、注釈サーバ１１０は、動画のクライアントインスタンス４０８を動画の正規インスタンス４０６にマップする。マッピング４１２は、動画のクライアントインスタンス４０８のフレームと動画の正規インスタンス４０６のフレームとの間の対応付けを記述するものである。注釈サーバ１１０は、いろいろなテクニックを使って動画のクライアントインスタンス４０８を動画の正規インスタンス４０６にマップすることができる。この発明の１実施例によれば、注釈のクライアントリクエストは、動画のクライアントインスタンス４０８の特徴を含む。特徴は、似たような動画の１以上のフレームのコンテンツの簡潔な表現である。例えば、注釈サーバ１１０は、シーンあるいはショットのような、論理的な単位にフレームをグループ化してよい。注釈サーバ１１０は、自動的にフレームをグループ化するためのシーン検出アルゴリズムを使ってよい。１つのシーン検出アルゴリズムは、ここに参照によって組み込まれた、Ｎａｐｈａｄｅ，Ｍ．Ｒ．など、「多重キューを使った高効率ショット境界検出アルゴリズム」、イメージプロッセシングの１９９８年インターナショナルカンファレンス（１９９８年１０月４-７日）、第１巻８８４‐８８７ページに記述されている。
【００５２】
従って、注釈サーバ１１０は、同じシーン（情景）に属するすべてのフレームのための１つの特徴を計算することができる。その特徴は、例えば、時間的、空間的、あるいは周波数の領域における特徴の記述であり得る。例えば、クライアントは、特定のフレームに対応付けられた注釈をリクエストすることができ、そして、その時間的、場所的、そして周波数の領域の特徴によって該フレームを記述することができる。クライアントは、ここに参照によって組み込まれた、Ｚａｂｉｈ，Ｒ．，Ｍｉｌｌｅｒ，Ｊ．，そしてＭａｉ，Ｋ．、「シーンブレイクを検出し分類するための特徴をベースとしたアルゴリズム」、Ｐｒｏｃ．ＡＣＭマルチメディア９５、サンフランシスコ、カリフォルニア州（１９９３年１１月）、１８９‐２００ページ、Ａｒｍａｎ，Ｆ．，Ｈｓｕ，Ａ．，及びＣｈｉｕ，Ｍ‐Ｙ、「エンコードされた動画シーケンス上のイメージプロセッシング」、マルチメディアシステム（１９９４年）、第１巻，５番，２１１‐２１９ページ、Ｆｏｒｄ，Ｒ．Ｍ．他、「ディジタル動画シーケンス中のショット境界検出のための測定基準」、マルチメディアシステム（２０００年）、第８巻，３７‐４６ページ、に記述されるように、動画の特徴を決定するためにどんなテクニックでも使うことができる。当業者であれば、動画の特徴を決定するための様々なテクニックを理解するであろう。
【００５３】
一般的に、距離関数は、フレームの潜在的なセットの親密さを獲得する特徴のユニバースの上に定義される。注釈サーバ１１０がその特徴セットとともに、或るフレームのために注釈のリクエストを受けるとき、サーバは最初に動画の正規インスタンス４０６内の最も近いフレームに当該リクエスト内のフレームをマップすることを試みる。注釈サーバ１１０は、動画のクライアントインスタンス４０８中のフレームの時間的な位置（特徴セットの中の特徴の１つ）を使用し、例えば選択されたフレームの前後に時間又はフレームの固定量の範囲内でフレームのための候補セットを制限することによって、このフレームにもしかしたらマップするかもしれない正規動画４０６中のフレームセットを絞り込む。候補セット中のすべてのフレームのために、注釈サーバ１１０はクライアント４０８のフレームの特徴セットと、正規動画４０６のフレームの特徴セットとの間の距離を計算する。最も短い距離を持つ正規動画４０６のフレームは、マッチングフレームとして名づけられる。クライアントフレームは、それからマッチングフレームにマップされる。もし最も近いフレームへの距離がある閾値より大きいならば、良いマッチの不在を示し、注釈は返送されない。このマッピングを生成するために使われた特徴によって記述されたコンポーネントは、注釈がリクエストされている動画セグメント中に存在してよいが、しかし必ずしもそうである必要がない。同様に、特徴によって示されるコンポーネントは、注釈がインデックスされたところの動画のセグメント中に存在してよいし存在していなくてもよい。
【００５４】
これらの特徴は一連のもの（ストリング）として表現されていてよく、例えば、注釈サーバ１１０が、特徴ストリングからフレームへ反転されたインデックスを使って該特徴を検索できるようにする。注釈サーバ１１０はまた、特徴セットについて距離測定基準を定義することによって、そして最小の距離を持つ候補フレームを選択することによって、特徴を検索するようにしてよい。このようなマッピングはサーバ１１０がクライアントリクエストを受信するときに起こるようにしてもよいし、あるいは注釈サーバ１１０がオフライン処理で距離を前もって計算し維持するようにしてもよい。
【００５５】
マッピング４１２を使って、注釈サーバ１１０は動画の正規インスタンス中の動画の対応するセグメント４１４を決定する。動画の対応するセグメント４１４は、上述したように、動画のセグメント４０９のコンテンツに密接にマッチするコンテンツを持つ。理想的な条件の下で、動画の対応するセグメント４１４は、動画のセグメント４０９として同じフレームのインスタンスを含む。注釈サーバ１１０は、動画の正規インスタンス中のフレームにマップするクライアント動画４０８中のそれぞれのフレームをフレーム番号に対応付けて、そしてそれぞれのフレームマッピングのためにフレーム番号のリストを維持する。１例において、フレーム番号のリストの長さは動画のクライアントインスタンス４０８中のフレーム数と等しく、各エントリーは対応するフレームを動画の正規インスタンス４０６中のフレームにマップする。
【００５６】
注釈サーバは、動画の対応するセグメント４１４に（あるいは動画の対応するセグメント４１４の上位セット又はサブセット）にインデックスされた注釈を決定する。図４（ｂ）の例に示されるように、注釈４０４Ｄは動画の対応するセグメント４１４に合った動画のセグメントにインデックスされる。セグメント４０９のための注釈のリクエストに応えて、注釈サーバ１１０はクライアントに注釈４０４Ｄを転送する。
【００５７】
随意的に、注釈サーバはまた、注釈が対応付けられた動画のセグメントを記述している情報を送ることができる。例えば、参照ポイントとして特徴を使って、注釈サーバはその参照ポイントに関してフレーム（あるいはフレームの範囲）を記述し得る。
【００５８】
図５は、動画と注釈の構成を表す。図５は、どのようにして注釈が注釈サーバの中で動画の正規インスタンスにインデックス付けされ得るかを示す。
【００５９】
１実施例によれば、注釈は注釈の保管庫（リポジトリ）に記憶される。動画の正規インスタンスは、動画の保管庫（リポジトリ）に記憶される。注釈と保管庫は同じサーバに含められ得る、又はそれらは異なるサーバに含められ得る。例えば、注釈は注釈サーバ１１０に記憶され得るし、そして動画は動画サーバ１０８に記憶され得る。
【００６０】
注釈は、動画のセグメントへの指示を含む。例えば、注釈４０４Ｄは、時間的な定義５１０Ｄを含む。時間的な定義は、動画の正規インスタンスの１以上のフレームを指定する。示された例において、時間的な定義５１０Ｄは、動画の正規インスタンス４０６のフレーム５０４の１つを参照する。他の例として、注釈４０４Ｆは時間的な定義５１０Ｆを含む。時間的な定義５１０Ｆは、動画の正規インスタンス４０６のフレームの範囲を参照する。前記時間的な定義は、限らないが、文書の識別子、フレーム識別子、タイムコード、フレームで表した長さ、ミリ秒で表した長さ、種々の他の組合せを含むいろいろな測定基準を使って記述され得る。
【００６１】
前記時間的な定義は、どのようにして注釈は動画のセグメントに対応付けられ得るかの１つの例である。注釈を動画のセグメントに対応付けるための他の方法は、ここで説明する発明の本質から逸脱せずに、当業者に明らかであろう。
【００６２】
注釈はまた、注釈コンテンツ５１１を含む。注釈コンテンツは、例えば、オーディオ、文字、メタデータ、命令、メディアファイルに対応付けられるのに有用な他のいかなるデータを含む。注釈は、注釈が対応付けられたフレームの領域（あるいはフレーム）を指示する空間的な定義５０９をオプションとして含み得る。空間的な定義５０９の使用は、フレーム上で特定の空間的な位置に注釈を対応付けるための１方法の例である。
【００６３】
１例として、動画の対応するセグメント４１４がフレーム５０４を含むと仮定する。動画の対応するセグメント４１４は、タイムコードの領域として定義され得る。注釈サーバは、動画の対応するセグメント４１４を定義しているタイムコードの領域内にある又は重なっているタイムコードを参照して注釈を検索することによって注釈を取り出す。注釈サーバは、注釈コンテンツ５１１Ｄを含めて、注釈４０４Ｄを取り出す。注釈サーバは、注釈コンテンツ５１１Ｄを表示するクライアントに注釈コンテンツ５１１Ｄ（あるいは注釈コンテンツ５１１Ｄを含む注釈４０４Ｄ）を転送する。
【００６４】
図６は、この発明の１実施例に従い、表示のイベントトレースと動画に対応付けられた注釈の変更例である。クライアント１０４は、動画サーバ１０６又は動画情報源１０２から動画のセグメントを受け取り、そして動画のクライアントインスタンス（第１のインスタンス）としてコピーを記憶する。クライアントは、特徴検出アルゴリズムを使ってセグメントを処理し、動画の第１のセグメントに基づく特徴を決定する６０２。クライアントは、注釈サーバ１１０へ、動画の第２のセグメントに対応付けられた注釈のためのリクエスト、すなわち該特徴を含むリクエスト、を送る。
【００６５】
動画の第１のセグメントは、動画の第２のセグメントと同じようにいくつかのフレームを含むかもしれないが、しかし必ずしもそうである必要もない。動画の第２のセグメントに対応付けられた注釈のためのリクエストに含まれている特徴は、隣り合ったセグメントから動画の第２のセグメントまでさらに特徴を含んでいてもよい。
【００６６】
注釈サーバが適切な注釈を取り出すことができるように、リクエストはまた動画のコンテンツ又はタイトルを記述しているメタデータを含み得る。例えば、オンラインストアから購入された動画は、利用できる注釈のセットを通すために使用されうる動画タイトルを持っているかもしれない。他の例として、放送テレビジョン又はケーブルから獲得された動画のために注釈サーバに送られたメタデータは、動画が獲得された時間とチャンネルの記述を含み得る。注釈サーバは、適切な動画を決定し、その動画に対応付けられた注釈を取り出すために、この時間とチャンネル情報を使用することができる。
【００６７】
注釈サーバ１１０は、注釈のためのリクエストを受信する。注釈サーバ１１０は、動画の正規インスタンス中のリクエストに含まれている特徴を検索し６０４、そして動画のクライアントインスタンスと動画の正規インスタンスとの間にマッピングを作成する。１実施例において、注釈のためのリクエストは、注釈を取り出すための特定の動画を示しているメタデータを含み、そして注釈サーバ１１０は特徴のためのこのメタデータによって示された動画中の正規のインスタンス内を検索する６０４。
【００６８】
注釈サーバ１１０は、動画に対応付けられた注釈のための注釈保管庫を検索し、注釈を返す。例えば、注釈サーバ１１０は動画の正規インスタンスにインデックス付けされた注釈を検索することができる。２つのインスタンス間のマッピングを使って、注釈サーバ１１０は動画のクライアントインスタンスのインデックスへ動画の正規インスタンスのインデックスを転送することができる。
【００６９】
注釈サーバ１１０は、クライアントへ動画に対応付けられた注釈を送る。１実施例によれば、注釈はまた、該注釈に対応付けられた１以上のフレームセットを定義しているインデックス情報を含む。注釈サーバ１１０は、例えば、特徴に関しての関連性をインデックス付けることにより、注釈に対応付けられたフレームを定義することができる。
【００７０】
クライアント１０４は、注釈を受け取り表示する６１０。クライアント１０４はまた、注釈が動画のクライアントインスタンスとともに適切に表示されるように、注釈のためのインデックス情報を処理することができる。
【００７１】
随意的に、クライアントはユーザから注釈の変更を受け取る６１２。例えば、ユーザは文字を編集すること、オーディオを再録すること、注釈コンテンツ中に含まれるメタデータを変更すること、あるいは注釈命令を変えることができる。クライアント１０４は、注釈サーバ１１０に変更された注釈を送る、あるいは、代わりに、注釈サーバ１１０に変更内容を送る。
【００７２】
注釈サーバ１１０は、変更された注釈を受け取る。注釈サーバ１１０は、変更された注釈を記憶し６１４、動画の正規インスタンスへ変更された注釈をインデックス付ける。注釈サーバ１１０は、いろいろな方式を使って動画の正規インスタンスと一緒に、変更された注釈をインデックス付けることができる。例えば、注釈サーバ１１０は、前に確立されたマッピングを使って動画のクライアントインスタンスにインデックスを転送することができる。他の例として、クライアント１０４は変更された注釈と一緒に特徴を含むことができる、そして注釈サーバ１１０は動画のクライアントインスタンスと動画の正規インスタンスとの間に新しいマッピングを確立することができる。
【００７３】
説明の目的のために、特徴はクライアント１０４から注釈サーバ１１０までのフローとして示されている。しかしながら、動画のクライアントインスタンスと動画の正規インスタンスとの間にマッピングを確立する目的のために、特徴はどちらの方向でも流れ得る。クライアント１０４によって送られた特徴に基づいてこのマッピングを維持している注釈サーバ１１０の例は説明の目的のために与えられるものであり、これに限定されない。他の実施例において、例えば、クライアント１０４へ注釈サーバ１１０によって送られた動画の正規インスタンスの特徴に基づいて、クライアントは動画のクライアントインスタンスと動画の正規インスタンスとの間にマッピングを維持する。さらに他の実施例において、サードパーティは注釈サーバ１１０とクライアント１０４の両方から特徴を受け取ることによって、動画のクライアントインスタンスと動画の正規インスタンスとの間にマッピングを維持する。
【００７４】
クライアント１０４はまた、新しい注釈を提示するために使われ得る。例えば、ユーザは注釈コンテンツを作成して、それを動画に対応付けることができる。ユーザはまた、新しい注釈のために空間的な定義を指定し、注釈がインデックス付けられるであろう動画のクライアントインスタンスのフレームの範囲を選択することができる。クライアント１０４は、保管庫のために注釈サーバ１１０へ新しい注釈を転送する。
【００７５】
図７（ａ）を参照すると、ユーザはグラフィカル・ユーザ・インタフェースを使って、注釈を検索、作成、編集することができる。示された例において、注釈のためのグラフィカル・ユーザ・インタフェースは、ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２に組み入れられる。ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、クライアント１０４の表示装置上に示されるかもしれないインタフェースの例である。ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、メディアファイルを選択する、再生する、一時停止する、早送りする、そして巻き戻しするためのコントロールボタンのみならず、メディアファイル（示された例において動画）を提示するための表示エリアを含む。ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２はまた、図７（ａ）に示された国立公文書館の広告のような、広告を含む。
【００７６】
ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、動画のフレームを提示する。動画のフレームと一緒に示されるのは、注釈定義７０４である。注釈定義７０４は、注釈の空間的な定義及び／又は時間的な定義を図式的に示す。例えば、図７（ａ）に示される注釈定義７０４は、注釈が対応付けられたフレームのサブセットを描写する。他の例として、注釈定義７０４は、注釈が対応付けられたフレームの範囲を描写することができる。図７（ａ）には１つの注釈定義７０４が示されているが、ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、この発明の本質から逸脱することなく、複数の注釈定義７０４を含み得る。
【００７７】
注釈定義７０４は、ユーザ選択に応じて、あるいは既存の注釈の表示の一部として表示され得る。例えば、ユーザは新しい注釈が対応付けられるであろうフレームの領域を選択するために入力装置を使うことができ、そしてその選択に応じてビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２はユーザによって作成された注釈定義７０４を表示する。他の例として、ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、動画と対応付けた注釈を表示することができ、そして対応付けた注釈を表示することにあわせて注釈定義７０４を表示することができる。
【００７８】
ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２はまた、ユーザがコンテンツ及び注釈の表示をコントロールできるようにする注釈コントロールボタン７０６を含む。例えば、ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、注釈を検索するためのボタンを含み得る。検索注釈ボタンの選択に応じて、クライアントは注釈定義７０４（あるいは類似の定義）に対応付けられた注釈又はキーワードに対応付けられた注釈を検索する。検索結果はそれから、ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２に表示され得る。他の例として、ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、注釈を編集するためのボタンを含み得る。検索編集ボタンの選択に応じて、ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は注釈定義７０４に対応付けられた１以上の注釈を表示し、ユーザが１以上の注釈を修正できるようにする。さらに他の例として、ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、新しい注釈を作成するためのボタンを含み得る。新しい注釈作成ボタンの選択に応じて、ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、図７（ｂ）に示されたようなオプションを表示する。
【００７９】
図７（ｂ）を参照すると、注釈コントロールボタン７０６は新しい注釈作成ボタンが選択されていることを示す。ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、新しい注釈コンテンツのユーザ入力を受け取るための表示領域を含む。示された例において、新しい注釈コンテンツはいくつかの新しい注釈文字７０８を含む。図７（ｂ）に示されるように、ユーザが記述「マッカーサー将軍」を入力するときに、新しい注釈文字７０８が表示される。注釈コンテンツのオーサリングが完了したことを示す更なるユーザ選択に応じて、新しい注釈が例えば注釈サーバ１１０に提出されて、ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２に表示される。
【００８０】
新しい注釈文字７０８の記入は、注釈コンテンツの執筆者の１例として示されている。ビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、その上注釈コンテンツの他のタイプを受信するようになっている。例えば、注釈コンテンツはオーディオを含むことができ、そしてビデオプレーヤーグラフィカル・ユーザ・インタフェース７０２は、マイクを通してオーディオのレコーディングをスタートするためのボタン、あるいは記憶媒体上の指定区域からオーディオファイルを選択するためのボタンを含み得る。注釈の他のタイプとユーザによるそれらの提出を受け取るための方法は、この発明の本質から逸脱せずに、当業者に明らかであろう。
【００８１】
図８は、表示する注釈を決定するための方法を表す。１実施例において、クライアント１０４は受信した注釈のいくつかだけを表示する。クライアント１０４は、どちらの注釈が表示されるべきかあるいは表示されるべきでないかを決定するために、図８に示された１つのような方法を実行する。
【００８２】
クライアント１０４は、注釈を受信する８０２。クライアントは、その注釈が最優先かどうかを判断する８０４。最優先の注釈は、注釈の表示のためのユーザ設定にかかわらず表示される。最優先の注釈は、例えば、広告、緊急の放送メッセージ、あるいはローカルなユーザ設定に取って代わるべき重要性がある他の通信を含む。
【００８３】
もしクライアント１０４が注釈が最優先であると８０４で判断するならば、クライアントはその注釈を表示する８１２。もしクライアント１０４が注釈が最優先でないと８０４で判断するならば、クライアントは注釈が有効にされるかどうかを判断する８０６。注釈は、例えば、注釈表示モードのユーザ選択によって有効にされ得る又は無効にされ得る。もしユーザが注釈を無効にすることを選択していたならば、クライアント１０４は注釈を表示しない８１０。もしユーザが注釈を有効にすることを選択していたならば、クライアント１０４は注釈がユーザ定義基準にマッチするかどうかを判断する８０８。
【００８４】
ここに記述されるように、クライアント１０４はユーザがいろいろな基準に基づき表示のための注釈を選択できるようにする。１実施例において、ユーザ定義基準は、注釈サーバ１１０によって送られた注釈を限定する、注釈用リクエストの中に記述され得る。他の実施例において、ユーザ定義基準は、注釈がクライアント１０４で受信されるやいなや、どの注釈を表示するかを制限するのに使われ得る。ユーザ定義基準は、例えば、言語、注釈コンテンツ、主要な著作者又は著作者のグループ、あるいは他の注釈属性に基づいて、どの注釈を表示すべきかを特定することができる。
【００８５】
もしクライアント１０４が注釈はユーザ定義基準を満足すると８０８で判断するならば、クライアント１０４は注釈を表示する８１２。 もしクライアント１０４が注釈はユーザ定義基準を満たさないと８０８で判断するならば、クライアント１０４は注釈を表示しない８１０。
【００８６】
図８は、クライアント１０４がどの注釈を表示すべきかを如何にして決定するかの１つの例を表す。注釈プロバイダーと注釈消費者によって確立された注釈優先順位を裁定するための他の方法は、この発明の本質から逸脱せずに、当業者に明らかであろう。
【００８７】
ここに開示された動画の正規インスタンスを参照すると、動画の正規インスタンスはさまざまな実施例に従っていろいろな方法に組み入れられ得る。ある場合には、注釈サーバ１１０は新しい注釈の提出に先立って動画の正規インスタンスを選択した。クライアント１０４は、動画の正規インスタンスに対する新しい注釈のインデックス付けを容易にするために特徴を送ることができる。他の場合では、例えば、その注釈が或る特定の動画に対応付けられるべき最初のものであるとき、注釈サーバ１１０はまだ動画の正規インスタンスを特定しなかったかもしれない。 注釈サーバ１１０は、動画のクライアントインスタンスにインデックス付けされた注釈を記憶し、そして将来の注釈トランザクションのために動画の正規インスタンスとして動画のクライアントインスタンスを確立する。
【００８８】
この発明の１実施例によれば、注釈は、記憶され、その注釈を提出したクライアントによって使われる動画のインスタンスの特徴にインデックス付けされる。注釈は記憶されることができ、そして内在している正規インスタンスなしで取り出されることができる。例えば、それぞれの注釈は、提出者の動画のインスタンスを参照するそれ自身の「動画の正規インスタンス」にインデックス付けされ得る。このようなアプローチは、注釈サーバ１１０が維持しないあるいは動画それ自身のコピーへのアクセスを持つ状況のために特に有益である。基本的に、注釈サーバ１１０は、それらの注釈が対応付けられた動画のそれ自身のコピーなしで執筆者から消費者まで注釈を送っている、注釈の見えないブローカーとしての機能を果たすことができる。
【００８９】
コンテンツ‐ブラインド注釈サーバは、例えば、動画コンテンツが著作権を取得している、私的である、あるいはさもなければ秘密であるときに、有益であり得る。例えば、得意な母親は彼女の息子の最初の入浴のフィルムに注釈を付けたいかもしれない、しかし中央注釈サーバに動画の参照インスタンスさえ提出することに気が進まないかもしれない。コンテンツ‐ブラインド注釈サーバは、それ自身のインスタンスへのアクセスなしで、動画の母親のインスタンスにインデックス付けられた注釈を記憶する。叔母、叔父、あるいは動画のインスタンスと一緒の他の信頼できるユーザが注釈をリクエストするとき、彼のインスタンスは注釈の提出と一緒に受け取られた母親のインスタンスの特徴に彼のインスタンスの特徴の比較によって母親のインスタンスにマップされる。特徴は、フレームのコンテンツを見つけるために簡単に無効にされえないこのような方法で決定され得、このようにして動画のプライバシーを維持され得る。
【００９０】
このような注釈サーバとクライアントのケースは、この発明が動画用の注釈の共有と分配のために有益に用いられるかもしれない１つの例でしかない。対応付けられた動画を転送する必要性なしに注釈を転送するためのここに記述された方法は、この発明の本質から逸脱せずに多様な他の利用法を持つであろうことを、当業者に明らかであろう。例えば、ここに記述された特徴は、直接的に動画を転送する又は受け入れる負担なしで、ユーザが執筆、編集、書評、公開、そして協力し合って注釈を見ることができるオンラインコミュニティの中で使用することができる。このようなコミュニティは、それらの注釈が対応付けられた動画の著作権保護を侵害することなしに、注釈のオープンソース様式の生成を許可するであろう。
【００９１】
付加的な特徴として、そのようなコミュニティ内のユーザはまた、例えば、そのユーザの以前の執筆又は編集の品質の他のユーザのレビューに基づいて、評判を蓄積することができる。注釈を見たいユーザは、特定の閾値を下回る評判をもつユーザからの注釈を無視する、あるいはことのほか高い価値の評判をもつユーザによる注釈を検索するためにオプションを持つことができる。他の例として、 ユーザはただ特定のユーザからのみあるいはユーザの特定のグループからのみの注釈を見ることを選択することができる。
【００９２】
ここに記述されたように、注釈はまたどのように動画は表示されるべきであるかを記述している命令、例えば、表示装置にその動画の正方向に読みとばすことをあるいは完全に他の動画に飛ぶことを教える命令を含み得る。ユーザは、ジャンプトゥ命令（jump-to command）注釈の文字列を執筆することができ、より大きい断片の中に動画セグメントの組合せのための示唆を効果的に提供することができる。１例として、命令注釈は１以上の他の映画の構成要素から新しい映画を作るために使用され得る。注釈サーバは、注釈によって指定された様々なセグメントを獲得し、ユーザへ表示するために断片を集めるクライアントに注釈を提供する。
【００９３】
この発明は、それに限定されるものではないが、ピアツーピア (peer-to-peer)、分散型ホスティング、ウィキスタイル (wiki-style) ホスティング、集中型サービング、あるいはネットワークを介してデータを共有するための他の周知の方法を含む、様々なホスティングモデルのいずれにも適用可能である。
【００９４】
ここに記述された注釈フレームワークは、複数の収益モデルのための機会を提供する。1例として、注釈サーバのオーナーは注釈に広告を含めるための費用を請求することができる。注釈サーバは、いろいろな要因に基づいてユーザに広告注釈をターゲットにすることができる。例えば、注釈サーバは、クライアントが表示している動画のタイトルやカテゴリ、ユーザについての知り得た事実、最近の注釈検索リクエスト（キーワード検索のような）、動画のために以前提出した他の注釈、クライアントの地理的位置、あるいは広告を効果的にターゲットにするために役立つ他の基準、に基づき、該クライアントへ送信するための広告を選択することができる。
【００９５】
注釈へのアクセスは予約購読根拠の状態で供給され得る、あるいは注釈は動画コンテンツそれ自身を持っているパッケージで売られ得る。例えば、オンライン動画ストアから動画を購入するユーザは、その動画または他の動画のどちらかに対応付けられている注釈を見る、編集する、あるいは執筆（オーサリング）するための許可を与えられるかもしれない。オンライン動画ストアは、例えば、１カ月の動画の所定数の購入がその月の注釈サーバ上でユーザ特典を与える、という販売促進を持つかもしれない。
【００９６】
代わりに、オンライン動画ストアからの動画の購入は、その動画に対応付けられた注釈を執筆（オーサリング）する、編集する、あるいは見るための特典に結びつけられるかもしれない。もし特定の注釈サーバがユーザにことさら評判が良くなるならば、注釈サーバへの制御されたアクセスは動画の著作権の保護を手助けすることができる。例えば、ユーザは、注釈を見る、編集する、あるいは執筆（オーサリング）することが許可される前に、彼が資格を持っている合法的に獲得された動画のコピーを持つことを証明しなければならないかもしれない。このような要件は、不法に獲得された動画のコピーの有用性又は望ましさを損ない得る。
【００９７】
収益モデルのこれらの例は、説明の目的のために与えられて限定されない。他の応用例と潜在的な収益性の高い用途は、この発明の本質から逸脱せずに、当業者に明らかであろう。
【００９８】
明細書内での「１実施例」あるいは「実施例」は、特定の特徴、仕組み、あるいは実施例に関連して記述した特徴がこの発明の少なくとも１実施例に含まれることを意味する。明細書内のあらゆる箇所でのフレーズ「１実施例において」の出現は、必ずしもすべて同じ実施例に言及していない。
【００９９】
なお、この発明に係る処理ステップと命令群はソフトウェア、ファームウェアあるいはハードウェアの形態で実装されるようになっていてよく、また、ソフトウェアの形態で実装されたときには、いろいろなオペレーティング・システムによって使われる異なったプラットホームに属して操作されるためにダウンロードされるようになっていてよい。
【０１００】
この発明はまた、ここに演算を実行するための機構と関係を持つ。この機構は、所要の目的のために特に組み立てられるかもしれない、あるいはそれはコンピュータに記憶されたコンピュータプログラムによって選択的に作動される又は再構成される多用途のコンピュータを意味するかもしれない。そのようなコンピュータプログラムは、それに限定されるものではないが、フレキシブル磁気ディスク、光学式ディスク、ＣＤ−ＲＯＭ 、磁性−光学式ディスク、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁性あるいは光学式カード、特定用途向け集積回路（ＡＳＩＣ）を含むディスクのあらゆるタイプ、あるいは電子命令群を記憶するのに適したメディアのあらゆるタイプ、のようなコンピュータ読み取り可能な記憶媒体に記憶されるようになっていてよく、そして各媒体がコンピュータシステムバスにつながれるようになっていてよい。さらに、明細書内で言及されたコンピュータは、シングルプロセッサを含むかもしれないし、また増大した演算能力のためにマルチプロセッサデザインを採用している構造であるかもしれない。
【０１０１】
ここに示されたアルゴリズムと動作は、どの特定のコンピュータや他の装置と本質的に関連付けられない。様々な多用途のシステムもやはりここの教示を踏まえてプログラムで用いられるかもしれない、あるいは必要とされた方法手順を実行するためのより専門の装置を組み立てるほうが都合がよいとわかるかもしれない。必要とされるこれらのシステムの多様性の仕組みは、同等の変形物に従って当業者に明らかであろう。さらに、この発明は特定のプログラミング言語に関連付けられて記述されない。プログラミング言語の種類はここに記述されたようなこの発明の教示を実装するのに用いられるかもしれないこと、そして特定の言語へのどんな言及でも実施要件の開示とこの発明の最良の形態が規定されていることが分かる。
【０１０２】
この発明は、好ましい実施例といくつかの代わりの実施例に対応付けられて詳しく示され記述されているとはいえ、この発明の精神と要旨から逸脱せずに形式と明細のさまざまな変更が行われうることが当業者に理解されるであろう。
【０１０３】
最後に、明細書に用いられた言語は読みやすさと教育の目的のために主に選択されること、そして発明の主題を描写する又は制限するために選択されなかったかもしれないことは指摘されるべきである。したがって、この発明の開示が説明に役立つものであることが意図されるが、次のクレームで示される発明の目的を制限するものでない。
【図１】
0004774461.tif 000002
【図２】
0004774461.tif 000003
【図３】
0004774461.tif 000004
【図４（ａ）】
0004774461.tif 000005
【図４（ｂ）】
0004774461.tif 000006
【図５】
0004774461.tif 000007
【図６】
0004774461.tif 000008
【図７（ａ）】
0004774461.tif 000009
【図７（ｂ）】
0004774461.tif 000010
【図８】
0004774461.tif 000011