(57)【要約】【課題】複雑な形状のオブジェクトを表現することができるメータデータの構造を提供する。【解決手段】オブジェクト領域を構成するサブ平面領域の数vcr_shape_numとサブ平面領域を統合し最終的なオブジェクト領域を決定するための統合方式が書かれていることを示すvcr_rule_code、前記統合方式のデータの長さを示すためのvcr_rule_length、前記統合方式を表すデータvcr_ruleが加えられ、その後にvcr_rule内で出現する各サブ平面領域のデータvcr_subregion_dataがvcr_shape_numで指定されている個数だけ連続で記述されている。【選択図】      図４５
2006050275.tif 000002
【特許請求の範囲】
【請求項１】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを１以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第１データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第２データと、
を有し、
前記オブジェクト領域データは、複数のサブ平面領域を表すサブ平面領域データと、前記複数のサブジェクト領域を重ね合わせる重ね合わせデータを含み、
前記時空間領域は前記複数のサブ平面領域を重ね合わせて表現される
ことを特徴とするメタデータのデータ構造。
【請求項２】
前記サブ平面領域データは、サブ平面領域の輪郭に関する輪郭データと、前記時空間領域が前記サブ平面領域の内部と外部のどちらに該当するかを記述する領域指定データを含む
ことを特徴とする請求項１記載のメタデータのデータ構造。
【請求項３】
前記重ね合わせデータは、前記時空間領域を算出するための演算方法を含む
ことを特徴とする請求項１記載のメタデータのデータ構造。
【請求項４】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを１以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第１データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第２データと、
を有し、
前記オブジェクト領域データは、特定時刻における一つの平面領域の輪郭に関する輪郭データと、前記時空間領域が前記平面領域の内部と外部のどちらに該当するかを記述する領域指定データを含む
ことを特徴とするメタデータのデータ構造。
【請求項５】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを１以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第１データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第２データと、
を有し、
前記オブジェクト領域データは、複数のサブ平面領域を表すサブ平面領域データと、前記複数のサブジェクト領域を重ね合わせる重ね合わせデータを含んだメタデータの再生装置であって、
複数のサブ平面領域データと重ね合わせデータを呼び出し、前記重ね合わせデータに基づいて前記複数のサブ平面領域データで表されたサブ平面領域を重ね合わせて前記時空間領域を表現する表現手段を有する
ことを特徴とするメタデータの再生装置。
【請求項６】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを１以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第１データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第２データと、
を有し、
前記オブジェクト領域データは、複数のサブ平面領域を表すサブ平面領域データと、前記複数のサブジェクト領域を重ね合わせる重ね合わせデータを含んだメタデータの再生方法であって、
複数のサブ平面領域データと重ね合わせデータを呼び出し、前記重ね合わせデータに基づいて前記複数のサブ平面領域データで表されたサブ平面領域を重ね合わせて前記時空間領域を表現する
ことを特徴とするメタデータの再生方法。
【請求項７】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを１以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第１データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第２データと、
を有し、
前記オブジェクト領域データは、複数のサブ平面領域を表すサブ平面領域データと、前記複数のサブジェクト領域を重ね合わせる重ね合わせデータを含んだメタデータの再生方法をコンピュータで実現するプログラムであって、
複数のサブ平面領域データと重ね合わせデータを呼び出し、前記重ね合わせデータに基づいて前記複数のサブ平面領域データで表されたサブ平面領域を重ね合わせて前記時空間領域を表現する機能を実現する
ことを特徴とするメタデータの再生方法のプログラム。
【請求項８】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを１以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第１データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第２データと、
を有し、
前記前記オブジェクト領域データは、特定時刻における一つの平面領域の輪郭に関する輪郭データと、前記時空間領域が前記平面領域の内部と外部のどちらに該当するかを記述する領域指定データを含んだメタデータの再生装置であって、
特定時刻における輪郭データと領域指定データを呼び出し、前記領域指定データに基づいて前記輪郭データで表された平面領域の内部または外部を指定して前記時空間領域を表現する表現手段を有する
ことを特徴とするメタデータの再生装置。
【請求項９】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを１以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第１データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第２データと、
を有し、
前記前記オブジェクト領域データは、特定時刻における一つの平面領域の輪郭に関する輪郭データと、前記時空間領域が前記平面領域の内部と外部のどちらに該当するかを記述する領域指定データを含んだメタデータの再生方法であって、
特定時刻における輪郭データと領域指定データを呼び出し、前記領域指定データに基づいて前記輪郭データで表された平面領域の内部または外部を指定して前記時空間領域を表現する
ことを特徴とするメタデータの再生方法。
【請求項１０】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを１以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第１データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第２データと、
を有し、
前記前記オブジェクト領域データは、特定時刻における一つの平面領域の輪郭に関する輪郭データと、前記時空間領域が前記平面領域の内部と外部のどちらに該当するかを記述する領域指定データを含んだメタデータの再生方法をコンピュータで実現するプログラムであって、
特定時刻における輪郭データと領域指定データを呼び出し、前記領域指定データに基づいて前記輪郭データで表された平面領域の内部または外部を指定して前記時空間領域を表現する機能を実現する
ことを特徴とするメタデータの再生方法のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置にある動画像データと、クライアント装置もしくはネットワーク上のサーバー装置にあるメタデータとを組み合わせて動画像ハイパーメディアを実現したり、また動画像にテロップや吹き出しを表示したりするメタデータの構造及びその再生方法に関する。
【背景技術】
【０００２】
ハイパーメディアは、動画像、静止画像、音声、テキストなどのメディア間にハイパーリンクと呼ばれる関連性を定義し、相互に、または一方から他方を参照できるようにしたものである。例えばインターネットを使って閲覧することのできるＨＴＭＬで記述されたホームページには、テキストや静止画が配置されており、これらテキストや静止画のいたるところにリンクが定義されている。そしてこれらのリンクを指定することにより直ちにリンク先である関連情報を表示させることができる。興味のある語句を直接指示すれば関連情報にアクセスできるため、操作が容易かつ直感的である。
【０００３】
一方、テキストや静止画ではなく動画像を中心にしたハイパーメディアでは、動画像中に登場する人や物などのオブジェクトからそれを説明するテキストや静止画などの関連コンテンツへのリンクが定義されており、視聴者がこのオブジェクトを指示することによりこれら関連コンテンツが表示される。このとき、動画像に登場するオブジェクトの時空間的な領域とその関連コンテンツへのリンクを定義するには、動画像中のオブジェクトの時空間的な領域を表すデータ（オブジェクト領域データ）が必要となる。
【０００４】
オブジェクト領域データとしては、２値以上の値を持つマスク画像系列、ＭＰＥＧ−４の任意形状符号化、特許文献１で説明されている図形の特徴点の軌跡を記述する方法、さらに特許文献２で説明されている方法などを用いることができる。動画像中心のハイパーメディアを実現するためには、このほかにもオブジェクトが指定されたときに他の関連コンテンツを表示させるという動作を記述したデータ（動作情報）などが必要となる。これらの動画像以外のデータを動画像のメタデータと呼ぶことにする。
【０００５】
動画像とメタデータを視聴者に提供する方法としては、まず動画像とメタデータの両方が記録された記録媒体（ビデオＣＤ、ＤＶＤなど）を作る方法がある。また、すでにビデオＣＤやＤＶＤとして所有している動画像のメタデータを提供するには、メタデータのみをネットワーク上からダウンロード、もしくはストリーミングにより配信すればよい。さらに、動画像とメタデータの両方のデータをネットワークで配信しても良い。このとき、メタデータは効率的にバッファを使用することが可能で、ランダムアクセスに適しており、ネットワークにおけるデータロスに強い形式であることが望ましい。
【０００６】
また、動画像の切り替えが頻繁に生じる場合には（例えば、複数のカメラアングルで撮影された動画像が用意されており、視聴者は自由にカメラアングルを選択できるような場合…ＤＶＤビデオのマルチアングル映像のようなものなど）、動画像の切り替えに対応して高速にメタデータの切り替えができなければならない。
【０００７】
さらに、複雑な時空間領域の形状をもつオブジェクトを容易に記述できるものであることが必要である。
【特許文献１】特開２０００−２８５２５３号公報
【特許文献２】特開２００１−１１１９９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
視聴者の手元にある動画像に関連したメタデータであり、ネットワークを介して視聴者の元にストリーミング配信されたり、視聴者の元にあって再生されたりするメタデータに於いては、複雑なオブジェクトの時空間領域情報を容易に記述できることが望まれる。
【０００９】
そこで、本発明は上記の課題を解決すべくなされたものである。
【課題を解決するための手段】
【００１０】
本発明の一実施の形態に係るメタデータは、独立して処理可能なデータ単位であるアクセスユニットを、一つまたは複数含むことにより構成される。ここで、アクセスユニット（図４のVclick_AU）は、動画像の時間軸に対して定義される有効期間内に関する情報として、前記有効期間を特定する第１データ（４０２）と、前記動画像中の時空間領域を記述したオブジェクト領域データ（４００）と、前記時空間領域に関連した表示方法を特定するデータ及び前記時空間領域を指定された際に行う処理を特定するデータのうちの少なくとも１つを含む第２データ（４０３）を含んで構成される。
【００１１】
各アクセスユニットのオブジェクト領域データには、複数の時空間領域の輪郭データと、前記輪郭の内部と外部どちらがオブジェクト領域にあたるかを示す２値データと、前２つのデータから最終的なオブジェクトの形状を求めるための計算方法などを示す重ね合わせデータとを記述しておき、オブジェクトの形状が必要になったときそれらのデータから最終的なオブジェクトの形状を計算することで、データ入力の際に複雑な時空間領域を入力する手間を省く。
【発明の効果】
【００１２】
複雑な形状のオブジェクト領域を複数の単純なサブ平面領域に分割し、それらの重ねあわせで記述することで、複雑な時空間領域の記述が簡素になる。
【００１３】
また、一つの平面領域の内部または外部を指定することによっても複雑な時空間領域の記述が簡素になる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら本発明の一実施形態を説明する。
【００１５】
（１）アプリケーションの概要
図１は本発明のオブジェクト・メタデータを動画像と共に利用することにより実現されるアプリケーション（動画像ハイパーメディア）の画面上の表示例である。図１（ａ）の１００は動画像の再生画面、そして１０１はマウスカーソルである。動画像の再生画面１００で再生される動画像のデータは、ローカルにある動画像データ記録媒体に記録されている。１０２は動画像中に登場するオブジェクトの領域である。ユーザがオブジェクトの領域内にマウスカーソルを移動させてクリック等によりオブジェクトを選択すると、所定の機能が実行される。例えば図１（ｂ）では、ローカル及び／またはネットワーク上にあるドキュメント（クリックされたオブジェクトに関連した情報）１０３が表示されている。そのほか、動画像の別の場面にジャンプしたり、別の動画像ファイルが再生されたり、再生モードを変更するなどの機能を実行することができる。
【００１６】
オブジェクトの領域１０２のデータ及びこの領域がクリック等により指定された場合のクライアント装置の動作データなどをまとめて、オブジェクト・メタデータまたはVclickデータと呼ぶことにする。Vclickデータはローカルにある動画像データ記録媒体（光ディスク、ハードディスク、半導体メモリ等）に動画像データと共に記録されていても良いし、ネットワーク上のサーバーに蓄積されていてネットワーク経由でクライアントに送られるようにしても良い。
【００１７】
図４４は本発明のVclickデータを動画像と共に利用することにより実現されるアプリケーション（動画像ハイパーメディア）の図１とは別の画面上の表示例である。図１では動画像、関連情報を表示するウインドウはそれぞれ別々であったが、図４４では一つのウインドウＡ０１に動画像Ａ０２と関連情報Ａ０３が表示されている。関連情報としてテキストのみでなく、静止画Ａ０４やＡ０２とは別の動画像を表示させることも可能である。
【００１８】
以下ではこれらのアプリケーションがどのように実現されるかについて詳細に説明する
。
【００１９】
（２）システム構成
図２は本発明の一実施形態に係るストリーミング装置（ネットワーク対応ディスクプレーヤ）の概略構成を示す図である。この図を用いて各構成要素の機能について説明する。
【００２０】
２００はクライアント装置、２０１はサーバー装置、２２１はサーバー装置とクライアント装置を結ぶネットワークである。クライアント装置２００は、動画再生エンジン２０３、Vclickエンジン２０２、ディスク装置２３０、ユーザ・インタフェース２４０、ネットワーク・マネージャー２０８、ディスク装置マネージャー２１３、を備えている。また、２０４から２０６は動画再生エンジンに含まれる装置、２０７、２０９から２１２、２１４から２１８はVclickエンジンに含まれる装置、２１９と２２０はサーバー装置に含まれる装置である。クライアント装置２００はディスク装置２３０にある動画像データの再生や、HTML等のマークアップ言語で書かれたドキュメントの表示を行うことができる。また、ネットワーク上にあるHTML等のドキュメントの表示を行うことも可能である。
【００２１】
動画像データ記録媒体２３１に記録された動画像データに関連したVclickデータは、動
画像データ記録媒体２３１に動画像データと共に記録されている場合と、サーバー装置２０１のメタデータ記録媒体２１９に記録されている場合とがある。Vclickデータがサーバー装置２０１に存在する場合、クライアント装置２００はこのVclickデータとディスク装置２３０にある動画像データとを利用した再生を以下のように行うことが可能である。まず、サーバー装置２０１はクライアント装置２００からの要求によりネットワーク２２１を介してクライアント装置２００にVclickデータを含むメディアデータＭ１を送る。クライアント装置２００では、送られてきたVcilckデータを動画像の再生と同期させて処理することでハイパーメディアなどの付加機能を実現させる。
【００２２】
動画再生エンジン２０３は、ディスク装置２３０にある動画像データを再生するためのエンジンであり、２０４、２０５、２０６の装置を有している。２３１は動画像データ記録媒体であり、具体的にはＤＶＤ、ビデオＣＤ、ビデオテープ、ハードディスク、半導体メモリなどである。動画像データ記録媒体２３１にはデジタル及び／またはアナログの動画像データが記録されている。動画像データに関連したメタデータは、動画像データと共に動画像データ記録媒体２３１に記録されている場合もある。２０５は、動画像再生制御用のコントローラであり、Vclickエンジン２０２のインタフェース・ハンドラー２０７から出力される“コントロール”信号に応じて、動画像データ記録媒体２３１からの映像・音声・副映像データＤ１の再生を制御することもできるように構成されている。
【００２３】
具体的には、動画像再生コントローラ２０５は、動画像の再生時に、インタフェース・ハンドラー２０７からあるイベント（例えばユーザ指示によるメニュー・コールやタイトル・ジャンプ）が発生した際に送信される“コントロール”信号に応じて、インタフェース・ハンドラー２０７に対して、映像・音声・副映像データＤ１の再生状況を示す“トリガ”信号を出力することができる。その際（トリガ信号の出力と同時に、あるいはその前後の適当なタイミングで）、動画像再生コントローラ２０５は、プロパティ情報（例えばプレーヤに設定されている音声言語、副映像字幕言語、再生動作、再生位置、各種時間情報、ディスクの内容等）を示す“ステータス”信号をインタフェース・ハンドラー２０７に出力することができる。これらの信号の送受信により動画像データ読み出しの開始及び停止や、動画像データ中の所望の位置へのアクセスが可能となる。
【００２４】
ＡＶデコーダ２０６は、動画像データ記録媒体２３１に記録されている映像データ、音声データ、及び副映像データをそれぞれデコードし、デコードされた映像データ（前述の映像データと前述の副映像データを合成したもの）と音声データをそれぞれ出力する機能を持っている。これにより、動画再生エンジン２０３は、既存のＤＶＤビデオ規格に基づいて製造される通常のＤＶＤビデオプレーヤの再生エンジンと同じ機能を持つようになる。つまり、図２のクライアント装置２００は、ＭＰＥＧ２プログラムストリーム構造の映像、音声等のデータを通常のＤＶＤビデオプレーヤと同様に再生することができ、これにより既存のＤＶＤビデオディスク（従来のＤＶＤビデオ規格に則ったディスク）の再生が可能となる（既存ＤＶＤソフトに対する再生互換確保）。
【００２５】
インタフェース・ハンドラー２０７は、動画像再生エンジン２０３、ディスク装置マネージャー２１３、ネットワーク・マネージャー２０８、メタデータ・マネージャー２１０、バッファ・マネージャー２１１、スクリプト・インタプリタ２１２、メディア・デコーダ２１６（メタデータ・デコーダ２１７を含む）、レイアウト・マネージャー２１５、ＡＶレンダラー２１８などのモジュール間のインタフェース制御を行う。また、ユーザ操作（マウス、タッチパネル、キーボード等の入力デバイスへの操作）による入力イベントをユーザ・インタフェース２４０から受け取り、適切なモジュールにイベントを送信する。
【００２６】
インタフェース・ハンドラー２０７はVclickアクセス・テーブル（後述）を解釈するアクセステーブル・パーサー、Vclick情報ファイル（後述）を解釈する情報ファイル・パーサー、Vclickエンジンの管理するプロパティを記録しておくプロパティ・バッファ、Vclickエンジンのシステムクロック、動画再生エンジンにある動画像クロック２０４のクロックをコピーした動画像クロック等を有している。
【００２７】
ネットワーク・マネージャー２０８は、ネットワークを介してＨＴＭＬ等のドキュメントや静止画・音声等のデータをバッファ２０９へ取得する機能を持っており、インターネット接続部２２２の動作を制御する。ネットワーク・マネージャー２１２は、ユーザ操作または、メタデータ・マネージャー２１０からの要求を受けたインタフェース・ハンドラー２０７より、ネットワークへの接続や非接続の指示が来ると、インターネット接続部２２２の接続・非接続の切替を行う。また、サーバー装置２０１とインターネット接続部２２２とのネットワーク確立時には、制御データやVclickデータ等のメディアデータの送受信を行う。メディアデータにはVclickデータ、ＨＴＭＬ等のドキュメントやこれに付随する静止画・動画像データなどが含まれる。
【００２８】
クライアント装置２００からサーバー装置２０１へ送信するデータとしては、セッション構築の要求、セッション終了の要求、Vclickデータ等のメディアデータ送信の要求、ＯＫやエラーなどのステータス情報などがある。また、クライアント装置の状態情報の送信を行うようにしても良い。一方、サーバー装置からクライアント装置へ送信するデータにはVclickデータ等のメディアデータ、ＯＫやエラーなどのステータス情報がある。
【００２９】
ディスク装置マネージャー２１３は、ＨＴＭＬ等のドキュメントや静止画・音声等のデータをバッファ２０９へ取得する機能及び、動画再生エンジン２０３へ映像・音声・副映像データＤ１を送信する機能を持っている。ディスク装置マネージャー２１３は、メタデータ・マネージャー２１０からの指示に従ってデータ送信処理を行う。
【００３０】
バッファ２０９は、ネットワークを介して（ネットワーク・マネージャー経由で）サーバー装置２０１から送られてきたVclickデータ等のメディアデータＭ１を一時的に蓄積する。なお、動画像データ記録媒体２３１にメディアデータＭ２が記録されている場合にも、同様にディスク装置マネージャー経由でバッファ２０９へメディアデータＭ２を蓄積する。
【００３１】
動画像データ記録媒体２３１にメディアデータＭ２が記録されている場合は、映像・音声・副映像データＤ１の再生を開始する前にあらかじめ動画像データ記録媒体２３１からメディアデータＭ２を読み出し、バッファ２０９に記憶しておいてもよい。これは、動画像データ記録媒体２３１上のメディアデータＭ２と映像・音声・副映像データＤ１のデータ記録位置が異なるため、通常の再生を行った場合にはディスクのシーク等が発生してシームレスな再生が保障できなくなってしまうため、これを回避するための手段となる。
【００３２】
以上のように、サーバー装置２０１からダウンロードしたVclickデータ等のメディアデータＭ１も、動画像データ記録媒体２３１に記録されているVclickデータ等のメディアデータＭ２と同様に、バッファ２０９に記憶させることにより、映像・音声・副映像データＤ１とメディアデータを同時に読み出して再生することが可能になる。
【００３３】
なお、バッファ２０９の記憶容量には限界がある。つまり、バッファ２０９に記憶できるメディアデータＭ１、Ｍ２のデータサイズには限りがある。このため、メタデータ・マネージャー２１０、及び／またはバッファ・マネージャー２１１の制御（バッファ・コントロール）により、不必要なデータの消去を行うことにしてもよい。
【００３４】
メタデータ・マネージャー２１０は、バッファ２０９に蓄積されたメタデータを管理しており、インタフェース・ハンドラー２０７からの動画像の再生に同期させた適切なタイミング（“動画像クロック”信号）を受けて、該当するタイムスタンプを持つメタデータをバッファ２０９よりメディア・デコーダ２１６に転送する。
【００３５】
尚、該当するタイムスタンプを持つVcilckデータがバッファ２０９に存在しない場合は、メディア・デコーダ２１６に転送しなくてもよい。また、メタデータ・マネージャー２１０は、バッファ２０９より送出したVclickデータのサイズ分、または、任意のサイズのデータをサーバー装置２０１、またはディスク装置２３０からバッファ２０９へ読み込むためのコントロールを行う。具体的な処理としては、メタデータ・マネージャー２１０は、インタフェース・ハンドラー２０７経由で、ネットワーク・マネージャー２０８、またはディスク装置マネージャー２１３に対し、指定サイズ分のVcilckデータ取得要求を行う。ネットワーク・マネージャー２０８、またはディスク装置マネージャー２１３は、指定サイズ分のVclickデータをバッファ２０９に読み込み、Vclickデータ取得済の応答をインタフェース・ハンドラー２０７経由で、メタデータ・マネージャー２１０へ通知する。
【００３６】
バッファ・マネージャー２１１は、バッファ２０９に蓄積されたVclickデータ以外のデータ（ＨＴＭＬ等のドキュメントやこれに付随する静止画・動画像データなど）の管理をしており、インタフェース・ハンドラー２０７からの動画像の再生に同期させた適切なタイミング（“動画像クロック”信号）を受けてバッファ２０９に蓄積されたVclickデータ以外のデータをパーサー２１４やメディア・デコーダ２１６に送る。バッファ・マネージャー２１１は、不要になったデータをバッファ２０９から削除してもよい。
【００３７】
パーサー２１４は、ＨＴＭＬ等のマークアップ言語で書かれたドキュメントの構文解析を行い、スクリプトはスクリプト・インタプリタ２１２へ、そしてレイアウトに関する情報はレイアウト・マネージャー２１５に送る。
【００３８】
スクリプト・インタプリタ２１２は、パーサー２１４から入力されるスクリプトを解釈し、実行する。スクリプトの実行には、インタフェース・ハンドラー２０７から入力されるイベントやプロパティの情報を利用することもできる。動画像中のオブジェクトがユーザにより指定された場合には、スクリプトはメタデータ・デコーダ２１７からスクリプト・インタプリタ２１２へ入力される。
【００３９】
ＡＶレンダラー２１８は、映像・音声・テキスト出力を制御する機能をもつ。具体的には、ＡＶレンダラー２１８は、レイアウト・マネージャー２１５から出力される“レイアウト・コントロール”信号に応じて、例えば、映像・テキストの表示位置、表示サイズや（これらとともに表示タイミング、表示時間を含むこともある）、音声の大きさ（これらとともに出力タイミング、出力時間を含むこともある）を制御したり、指定されているモニターの種別かつ／または表示する映像の種類に応じて、その映像の画素変換を行う。制御の対象となる映像・音声・テキスト出力は、動画再生エンジン２０３及びメディア・デコーダ２１６からの出力である。さらに、ＡＶレンダラー２１８は、インタフェース・ハンドラー２０７から出力される“ＡＶ出力コントロール”信号に従って、動画再生エンジン２０３から入力される映像・音声データとメディア・デコーダから入力される映像・音声・テキストデータのミキシング（混合）、スイッチング（切替）を制御する機能をもつ。
【００４０】
レイアウト・マネージャー２１５は、“レイアウト・コントロール”信号をＡＶレンダラー２１８に出力する。“レイアウト・コントロール”信号には、出力する動画・静止画・テキストの大きさやその位置に関する情報（表示開始・終了・継続といった表示時間に関する情報を含む場合もある）が含まれており、どのようなレイアウトで表示すべきかをＡＶレンダラー２１８に指示するための情報となっている。また、インタフェース・ハンドラー２０７から入力されるユーザのクリック等の入力情報に対して、どのオブジェクトが指定されたのかを判定し、指定されたオブジェクトに対して定義された関連情報の表示などの動作命令を取り出すようにメタデータ・デコーダ２１７に対して指示する。取り出された動作命令は、スクリプト・インタプリタ２１２に送られ実行される。
【００４１】
メディア・デコーダ２１６（メタデータ・デコーダを含む）は、動画・静止画・テキストデータをデコードする。これらデコードされた映像データ、テキスト画像データをメディア・デコーダ２１６からＡＶレンダラー２１８に送信する。また、これらデコードデータは、インタフェース・ハンドラー２０２からの“メディア・コントロール”信号の指示によりデコードを行うとともに、インタフェース・ハンドラー２０２からの“タイミング”信号に同期してデコードが行われる。
【００４２】
２１９はサーバー装置のメタデータ記録媒体であり、クライアント装置２００に送信するVcilckデータが記録されたハードディスク、半導体メモリ、磁気テープなどである。このVclickデータは、動画像データ記録媒体２３１に記録されている動画像データに関連したメタデータである。このVclickデータには、後で説明するオブジェクト・メタデータが含まれている。２２０はサーバーのネットワーク・マネージャーであり、クライアント装置２００とネットワーク２２１を介してデータの送受信を行う。
【００４３】
（３）ＥＤＶＤデータ構造とＩＦＯファイル
図３５は、動画像データ記録媒体２３１としてエンハンスドＤＶＤビデオディスクを用いた際のデータ構造の一例を示す図である。エンハンスドＤＶＤビデオディスクのＤＶＤビデオエリアは、ＤＶＤビデオ規格と同じデータ構造のＤＶＤビデオコンテンツ（ＭＰＥＧ２プログラムストリーム構造を持つ）を格納する。さらに、エンハンスドＤＶＤビデオディスクの他の記録エリアは、ビデオコンテンツの再生をバラエティに富んだものにできるエンハンスド・ナビゲーション（以下ＥＮＡＶと略記する）コンテンツを格納する。なお、上記記録エリアは、ＤＶＤビデオ規格でも存在が認められている。
【００４４】
ここで、ＤＶＤビデオディスクの基本的なデータ構造について説明する。すなわち、ＤＶＤビデオディスクの記録エリアは、内周から順にリードインエリア、ボリュームスペース、及びリードアウトエリアを含んでいる。ボリュームスペースは、ボリューム／ファイル構造情報エリア、及びＤＶＤビデオエリア（ＤＶＤビデオゾーン）を含み、さらにオプションで他の記録エリア（ＤＶＤアザーゾーン）を含むことができる。
【００４５】
上記ボリューム／ファイル構造情報エリア２は、ＵＤＦ（Universal Disk Format）ブリッジ構造のために割り当てられたエリアである。ＵＤＦブリッジフォーマットのボリュームは、ＩＳＯ／ＩＥＣ１３３４６のパート２に従って認識されるようになっている。このボリュームを認識するスペースは、連続したセクタからなり、図３５のボリュームスペースの最初の論理セクタから始まる。その最初の１６論理セクタは、ＩＳＯ９６６０で規定されるシステム使用のために予約されている。従来のＤＶＤビデオ規格との互換性を確保するには、このような内容のボリューム／ファイル構造情報エリアが必要となる。
【００４６】
また、ＤＶＤビデオエリアには、ビデオマネージャＶＭＧという管理情報と、ビデオ・タイトルセットＶＴＳ（ＶＴＳ＃１〜ＶＴＳ＃ｎ）というビデオコンテンツが１つ以上記録されている。ＶＭＧは、ＤＶＤビデオエリアに存在する全てのＶＴＳに対する管理情報であり、制御データＶＭＧＩ、ＶＭＧメニュー用データＶＭＧＭ＿ＶＯＢＳ（オプション）、及びＶＭＧのバックアップデータを含んでいる。また、各ＶＴＳは、そのＶＴＳの制御データＶＴＳＩ、ＶＴＳメニュー用データＶＴＳＭ＿ＶＯＢＳ（オプション）、そのＶＴＳ（タイトル）の内容（映画等）のデータＶＴＳＴＴ＿ＶＯＢＳ、及びＶＴＳＩのバックアップデータを含んでいる。従来のＤＶＤビデオ規格との互換性を確保するには、このような内容のＤＶＤビデオエリアも必要となる。
【００４７】
各タイトル（ＶＴＳ＃１〜ＶＴＳ＃ｎ）の再生選択メニュー等は、ＶＭＧを用いてプロバイダ（ＤＶＤビデオディスクの制作者）により予め与えられ、特定タイトル（例えばＶＴＳ＃１）内での再生チャプター選択メニューや記録内容（セル）の再生手順等は、ＶＴＳＩを用いてプロバイダにより予め与えられている。従って、ディスクの視聴者（ＤＶＤビデオプレーヤのユーザ）は、予めプロバイダにより用意されたＶＭＧ／ＶＴＳＩのメニューやＶＴＳＩ内の再生制御情報（プログラムチェーン情報ＰＧＣＩ）に従ってそのディスク１の記録内容を楽しむことができる。しかし、ＤＶＤビデオ規格では、視聴者（ユーザ）が、プロバイダが用意したＶＭＧ／ＶＴＳＩと異なる方法でＶＴＳの内容（映画や音楽）を再生することはできない。
【００４８】
プロバイダが用意したＶＭＧ／ＶＴＳＩと異なる方法でＶＴＳの内容（映画や音楽）を再生したり、プロバイダが用意したＶＭＧ／ＶＴＳＩとは異なる内容を付加して再生したりする仕組みのために用意したのが、図３５のエンハンスドＤＶＤビデオディスクである。このディスクに含まれるＥＮＡＶコンテンツは、ＤＶＤビデオ規格に基づき製造されたＤＶＤビデオプレーヤではアクセスできない（仮にアクセスできたとしてもその内容を利用できない）が、本発明の一実施形態のＤＶＤビデオプレーヤではアクセスでき、その再生内容を利用できるようになっている。
【００４９】
ＥＮＡＶコンテンツは、音声、静止画、フォント・テキスト、動画、アニメーション、Vclickデータ等のデータと、これらの再生を制御するための情報であるＥＮＡＶドキュメント（これはMarkup/Script言語で記述されている）を含むように構成される。この再生を制御するための情報には、ＥＮＡＶコンテンツ（音声、静止画、フォント・テキスト、動画、アニメーション、Vclick等から構成される）及び／またはＤＶＤビデオコンテンツの再生方法（表示方法、再生手順、再生切換手順、再生対象の選択等）がMarkup言語やScript言語を用いて記述されている。例えば、Markup言語として、ＨＴＭＬ（Hyper Text Markup Language）／ＸＨＴＭＬ（eXtensible Hyper Text Markup Language）やＳＭＩＬ（Synchronized Multimedia Integration Language）、Script言語として、ＥＣＭＡ（European Computer Manufacturers Association）ScriptやJavaScriptのようなScript言語などを組み合わせながら用いることができる。
【００５０】
ここで、図３５のエンハンスドＤＶＤビデオディスクは、他の記録エリア以外の内容がＤＶＤビデオ規格に従っているので、既に普及しているＤＶＤビデオプレーヤを用いても、ＤＶＤビデオエリアに記録されたビデオコンテンツを再生できる（つまり従来のＤＶＤビデオディスクと互換性がある）。他の記録エリアに記録されたＥＮＡＶコンテンツは従来のＤＶＤビデオプレーヤでは再生できない（あるいは利用できない）が、本発明の一実施形態に係るＤＶＤビデオプレーヤでは再生でき利用できる。従って、本発明の一実施形態に係るＤＶＤビデオプレーヤを用いＥＮＡＶコンテンツを再生すれば、プロバイダが予め用意したＶＭＧ／ＶＴＳＩの内容だけに限定されることなく、よりバラエティに富んだビデオ再生が可能になる。
【００５１】
特に、図３５に示すように、ＥＮＡＶコンテンツはVclickデータを含み、このVclickデータは、Vclick情報ファイル（Vclickインフォ）、Vclickアクセス・テーブル、Vclickストリーム、Vclick情報ファイル・バックアップ（Vclickインフォ・バックアップ）、Vclickアクセス・テーブル・バックアップを含んで構成される。
【００５２】
Vclick情報ファイルは、後述のVclickストリームが、ＤＶＤビデオコンテンツのどの箇所（例えば、ＤＶＤビデオコンテンツのタイトル全体、チャプター全体、あるいはその一部等）に付加しているかを表すデータである。Vclickアクセス・テーブルは、後述のVclickストリームごとに存在し、Vclickストリームにアクセスするためのテーブルである。Vclickストリームは、動画像中のオブジェクトの位置情報やオブジェクトがクリックされた際の動作記述等のデータを含むストリームである。Vclick情報ファイル・バックアップは、前述のVclick情報ファイルのバックアップであり、Vclick情報ファイルと常に同じ内容のものである。また、Vclickアクセス・テーブル・バックアップは、前述のVclickアクセス・テーブルのバックアップであり、Vclickアクセス・テーブルと常に同じ内容のものである。図３５の例ではVclickデータはエンハンスドＤＶＤビデオディスク上に記録されている。しかし、前述したようにVclickデータはネットワーク上のサーバー装置に置かれている場合もある。
【００５３】
図３６は、上述した、Vclick情報ファイル、Vclickアクセス・テーブル、Vclickストリーム、Vclick情報ファイル・バックアップ、Vclickアクセス・テーブル・バックアップを構成するためのファイルの例を示す。Vclick情報ファイルを構成するファイル（VCKINDEX.IFO）は、XML（Extensible Markup Language）言語で記述されており、Vclickストリームと、そのVclickストリームが付加されるＤＶＤビデオコンテンツの位置情報（ＶＴＳ番号、タイトル番号、ＰＧＣ番号等）が記述されている。Vclickアクセス・テーブルは、一つ以上のファイルから構成されており（VCKSTR０１.IFO〜VCKSTR９９.IFO、または、任意のファイル・ネーム）、一つのアクセス・テーブル・ファイルは、一つのVclickストリームに対応する。
【００５４】
Vclickストリーム・ファイルは、Vclickストリームの位置情報（ファイルの先頭からの相対バイト・サイズ）と時間情報（対応する動画像のタイムスタンプもしくはファイルの先頭からの相対時間情報）の関係が記述されており、与えられた時間に対応する再生開始位置を検索することができる。
【００５５】
Vclickストリームは、一つ以上のファイルから構成されており（VCKSTR０１.VCK〜VCKSTR９９.VCK、または、任意のファイル・ネーム）、前述のVclick情報ファイルの記述を参照して、付加されるＤＶＤビデオコンテンツとともに再生できる。また、複数の属性が存在する場合（例えば、日本語用Vclickデータと英語用Vclickデータ等）、属性ごとに異なるVclickストリーム、つまり異なるファイルとして構成することも可能であり、それぞれの属性をマルチプレクスして、一つのVclickストリーム、つまり一つのファイルとして構成することも可能である。なお、前者（異なる属性を複数のVclickストリームで構成）の場合は、再生装置（プレーヤ）にいったん記憶させるときのバッファ占有容量を少なくすることができる。また、後者（異なる属性を一つのVclickストリームで構成）の場合は、属性を切り替えるとき、ファイルを切り替えずに、一つのファイルを再生したままでよいので、切り替える速度を速くすることができる。
【００５６】
ここで、VclickストリームとVclickアクセス・テーブルの関連付けは、例えば、ファイル名にて行うことが可能である。前述の例においては、一つのVclickストリーム（VCKSTRXX.VCK、XXは０１〜９９）に対して、一つのVclickアクセス・テーブル（VCKSTRXX.IFO、XXは０１〜９９）を割り当てており、拡張子以外のファイル名を同じものにすることにより、VclickストリームとVclickアクセス・テーブルの関連付けが識別可能になる。
【００５７】
これ以外にも、Vclick情報ファイルにて、VclickストリームとVclickアクセス・テーブルの関連付けを記述することにより（並行に記述することにより）、VclickストリームとVclickアクセス・テーブルの関連付けが識別可能になる。
【００５８】
Vclick情報ファイル・バックアップはVCKINDEX.BUPファイルにて構成されており、前述のVclick情報ファイル（VCKINDEX.IFO）と全く同じ内容のものである。VCKINDEX.IFOが何らかの理由により（ディスクの傷や汚れ等により）、読み込みが不可能な場合、このVCKINDEX.BUPを代わりに読み込むことにより、所望の手続きを行うことができる。Vclickアクセス・テーブル・バックアップはVCKSTR０１.BUP〜VCKSTR９９.BUPファイルにて構成されており、前述のVclickアクセス・テーブル（VCKSTR０１.IFO〜VCKSTR９９.IFO）と全く同じ内容のものである。一つのVclickアクセス・テーブル（VCKSTRXX.IFO、XXは０１〜９９）に対して、一つのVclickアクセス・テーブル・バックアップ（VCKSTRXX.BUP、XXは０１〜９９）を割り当てており、拡張子以外のファイル名を同じものにすることにより、Vclickアクセス・テーブルとVclickアクセス・テーブル・バックアップの関連付けが識別可能になる。VCKSTRXX.IFOが何らかの理由により（ディスクの傷や汚れ等により）、読み込みが不可能な場合、このVCKSTRXX.BUPを代わりに読み込むことにより、所望の手続きを行うことができる。
【００５９】
（４）データ構造の概略とアクセス・テーブル
Vclickストリームには、動画像データ記録媒体２３１に記録されている動画像に登場する人・物などのオブジェクトの領域に関するデータと、クライアント装置２００におけるオブジェクトの表示方法とユーザがそれらオブジェクトを指定したときにクライアント装置が取るべき動作のデータが含まれている。以下では、Vclickデータの構造とその構成要素の概要について説明する。
【００６０】
まず動画像に登場する人・物などのオブジェクトの領域に関するデータであるオブジェクト領域データについて説明する。
【００６１】
図３はオブジェクト領域データの構造を説明する図である。３００は、１つのオブジェクトの領域が描く軌跡をＸ（映像の水平方向の座標値）、Ｙ（映像の垂直方向の座標値）、Ｔ（映像の時刻）の３次元座標上に表現したものである。オブジェクト領域はあらかじめ決められた範囲内の時間（例えば０．５秒から１．０秒の間や、２秒から５秒の間、など）ごとにオブジェクト領域データに変換される。図３では１つのオブジェクト領域３００が３０１から３０５の５つのオブジェクト領域データに変換されており、これらオブジェクト領域データは別々のVclickアクセスユニット（ＡＵ）（後述）に格納される。このときの変換方法としては、例えばＭＰＥＧ−４の形状符号化やＭＰＥＧ−７の時空間領域記述子などを使うことができる。ＭＰＥＧ―４形状符号化やＭＰＥＧ−７時空間記述子はオブジェクト領域の時間的な相関を利用してデータ量を削減する方式であるため、途中からデータが復号できないことや、ある時刻のデータが欠落した場合に周囲の時刻のデータも復号できなくなるという問題がある。図３のように長い時間連続して動画像中に登場しているオブジェクトの領域を時間方向に分割してデータ化することにより、ランダムアクセスを容易にし、一部のデータの欠落の影響を軽減することができる。各Vclick_AUは動画像の中である特定の時間区間でのみ有効である。このVclick_AUが有効な時間区間をVclick_AUの有効期間（lifetime）と呼ぶ。
【００６２】
図４は、本発明の一実施形態で用いるVclickストリーム中の、独立にアクセス可能な１単位（Vclick_AU）の構造を表したものである。４００はオブジェクト領域データである。図３で説明したとおり、ここには１つのオブジェクト領域のある連続した時間区間における軌跡がデータ化されている。このオブジェクト領域が記述されている時間区間をそのVclick_AUのアクティブ期間（active time）と呼ぶ。通常はVclick_AUのアクティブ期間はそのVclick_AUの有効期間と同一である。しかし、Vclick_AUのアクティブ期間をそのVclick_AUの有効期間の一部とすることも可能である。
【００６３】
４０１はVclick_AUのヘッダである。ヘッダ４０１には、Vclick_AUを識別するためのＩＤと、そのＡＵのデータサイズを特定するデータが含まれる。４０２はタイムスタンプであり、このVclick_AUの有効期間開始のタイムスタンプを示している。通常はVclick_AUのアクティブ期間と有効期間が同一であるため、オブジェクト領域データ４００に記述されたオブジェクト領域が動画像のどの時刻に相当するかも示している。図３に示されるように、オブジェクト領域はある時間範囲に及んでいるため、通常はタイムスタンプ４０２にはオブジェクト領域の先頭の時刻を記述しておく。もちろんオブジェクト領域データに記述されたオブジェクト領域の時間間隔やオブジェクト領域の末尾の時刻も記述するようにしても良い。４０３はオブジェクト属性情報であり、例えばオブジェクトの名称、オブジェクトが指定された際の動作記述、オブジェクトの表示属性などが含まれる。これらVclick_AU内のデータに関しては、後でより詳細に説明する。Vclick_AUは、先頭から順に処理可能なようにタイムスタンプ順に並べて記録しておくほうが良い。
【００６４】
図５は複数のＡＵをタイムスタンプ順に並べてVclickストリームを生成する方法を説明する図である。この図では、カメラアングル１とカメラアングル２の２つのカメラアングルがあり、クライアント装置でカメラアングルを切り替えると表示される動画像も切り替えられることを想定している。また、選択可能な言語モードには日本語と英語の２種類があり、それぞれの言語に対して別々のVclickデータが用意されている場合を想定している。
【００６５】
図５に於いて、カメラアングル１かつ日本語用のVclick_AUは５００、５０１、５０２であり、カメラアングル２かつ日本語用のVclick_AUのＡＵは５０３である。そして英語用のVclick_AUは５０４と５０５である。５００から５０５はそれぞれ動画像中の一つのオブジェクトに対応したデータである。すなわち、図３と図４で説明したとおり一つのオブジェクトに関するメタデータは一つまたは複数のVclick_AUで構成されている（図５では１つの長方形が１つのＡＵを表している）。この図の横軸は動画像中の時間に対応しており、オブジェクトの登場時間に対応させて５００から５０５を表示してある。
【００６６】
各Vclick_AUの時間的な区切りは任意でもよいが、図５に例示されるように、全てのオブジェクトに対してVclick_AUの区切りを揃えておくと、データの管理が容易になる。５０６は、これらのVclick_AU（５００から７０５）から構成されたVclickストリームである。Vclickストリームは、ヘッダ部５０７に続いてVclick_AUをタイムスタンプ順にならべることにより構成される。
【００６７】
選択しているカメラアングルはユーザが視聴中に変更する可能性が高いため、このようにVclickストリームに異なるカメラアングルのVclick_AUを多重化してVclickストリームを作る方が良い。これは、クライアント装置で高速な表示切り替えが可能だからである。例えば、Vclickデータがサーバー装置２０１に置かれているとき、複数のカメラアングルのVclick_AUを含むVclickストリームをそのままクライアント装置に送信すれば、クライアント装置では視聴中のカメラアングルに対応したVclick_AUが常に届いているため、瞬時にカメラアングルの切り替えができる。もちろん、クライアント装置２００の設定情報をサーバー装置２０１に送り、必要なVclick_AUのみをVclickストリームから選択して送信することも可能であるが、この場合はサーバーとの通信を行う必要があるため多少処理が遅くなる（ただし通信に光ファイバなどの高速手段を用いればこの処理遅延の問題は解決できる）。
【００６８】
一方、動画像タイトル、ＤＶＤビデオのＰＧＣ、動画像のアスペクト比、視聴地域等の属性は変更の頻度が低いため、別々のVclickストリームとして作成しておく方がクライアント装置の処理が軽くなり、ネットワークの付加も軽くなる。複数のVclickストリームがある場合にどのVclickストリームを選択すべきかは、すでに説明したようにVclick情報ファイルを参照して決定できる。
【００６９】
サーバー装置２０１にVclickデータがある場合、動画像が先頭から再生される場合にはサーバー装置２０１はVclickストリームを先頭から順にクライアント装置に配信すればよい。しかし、ランダムアクセスが生じた場合にはVclickストリームの途中からデータを配信する必要がある。このときに、Vclickストリーム中の所望の位置に高速にアクセスするためには、Vclickアクセス・テーブルが必要となる。
【００７０】
図６はVclickアクセス・テーブルの例である。このテーブルはあらかじめ作成され、Vclickストリームと共に記録されている。Vclick情報ファイルと同じファイルにしておくことも可能である。６００はタイムスタンプの配列であり、動画像のタイムスタンプが列挙されている。６０１はアクセスポイントの配列であり、動画像のタイムスタンプに対応したVclickストリームの先頭からのオフセット値が列挙されている。動画像のランダムアクセス先のタイムスタンプに対応した値がVclickアクセス・テーブルにない場合は、近い値のタイムスタンプのアクセスポイントを参照し、そのアクセスポイント周辺でVclickストリーム内のタイムスタンプを参照しながら送信開始場所を探索する。もしくは、Vclickアクセス・テーブルから動画像のランダムアクセス先のタイムスタンプよりも手前の時刻のタイムスタンプを探索し、そのタイムスタンプに対応したアクセスポイントからVclickストリームを送信する。
【００７１】
上記Vclickアクセス・テーブルは、サーバー装置が格納しており、サーバー装置がクライアントからのランダムアクセスに応じて、送信すべきVclickデータの検索の便宜に資する為のものである。しかし、サーバー装置が格納しているVclickアクセス・テーブルをクライアント装置にダウンロードして、Vclickストリームの検索をクライアント装置に行わせるようにしても良い。特に、Vclickストリームが、サーバー装置からクライアント装置に一括ダウンロードされる場合、Vclickアクセス・テーブルも又、サーバー装置からクライアント装置に一括ダウンロードされる。
【００７２】
一方、VclickストリームがＤＶＤなどの動画像記録媒体に記録されて提供される場合もあるが、この場合も再生コンテンツのランダムアクセスに応じて、利用すべきデータを検索するために、クライアント装置がVclickアクセス・テーブルを利用する事は有効である。この場合Vclickアクセス・テーブルは、Vclickストリーム同様、動画像記録媒体に記録されており、クライアント装置は当該動画像記録媒体から当該Vclickアクセス・テーブルを内部の主記憶等に読み出して利用する。
【００７３】
動画像のランダム再生などに伴って発生する、Vclickストリームのランダム再生は、メタデータ・デコーダ２１７によって処理される。図６のVclickアクセス・テーブルにおいて、タイムスタンプtimeは、動画像記録媒体に記録された動画像のタイムスタンプの形式を有する時刻情報である。例えば、動画像がMPEG-２で圧縮されて記録されているなら、timeはMPEG-２のPTSの形式をとる。更に、動画像が、例えばＤＶＤのように、タイトルやプログラム・チェーンなどのナビゲーション構造を持つ場合、それらを表現するパラメータ（TTN、VTS_TTN、TT_PGCN、PTTNなど）がtimeの形式に含まれる。タイムスタンプの値は昇順または降順に並べられている。例えば、タイムスタンプとしてPTSが用いられている場合には時刻の順に並べることができる。ＤＶＤのパラメータを含むタイムスタンプについても、ＤＶＤの自然な再生順序に従って順序関係を定義できるため、タイムスタンプを順番に並べることが可能である。
【００７４】
図６のVclickアクセス・テーブルにおいて、アクセスポイントoffsetはVclickストリーム上の位置を指し示す。例えば、Vclickストリームはファイルであり、offsetは当該ファイルのファイル・ポインタの値を指し示す。タイムスタンプtimeと組になっているアクセスポイントoffsetの関係は次のようになっている：
ｉ）offsetの示す位置は、あるVclick_AUの先頭位置である。
【００７５】
ii）当該ＡＵがもつタイムスタンプの値は、timeの値以下である。
【００７６】
iii）当該ＡＵより一つ前にあるＡＵがもつタイムスタンプの値は、timeより真に小さい。
【００７７】
Vclickアクセス・テーブルにおけるtimeの並びの間隔は任意で良いし、均等である必要もない。しかし、検索等の便宜を考慮して、均等にとっても良い。
【００７８】
次にサーバー装置・クライアント装置間のプロトコルについて説明する。Vclickデータをサーバー装置２０１からクライアント装置２００に送信するときに使用するプロトコルとしては、例えばＲＴＰ（Real-time Transport Protocol）がある。ＲＴＰはＵＤＰ／ＩＰとの相性が良く、リアルタイム性を重視しているためにパケットが欠落する可能性がある。ＲＴＰを用いると、Vclickストリームは送信用パケット（ＲＴＰパケット）に分割されて送信される。ここではVclickストリームの送信用パケットへの格納方法例を説明する。
【００７９】
図７と図８はそれぞれVclick_AUのデータサイズが小さい場合と大きい場合の送信用パケット構成方法を説明する図である。図７の７００はVclickストリームである。送信用パケットはパケットヘッダー７０１とペイロードからなる。パケットヘッダー７０１にはパケットのシリアル番号、送信時刻、発信元の特定情報などが含まれている。ペイロードは送信データを格納するデータ領域である。ペイロードにVclick_AU７００から順に取り出したVclick_AU（７０２）を納めていく。ペイロードに次のVclick_AUが入りきらない場合には残りの部分にパディングデータ７０３を挿入する。パディングデータはデータのサイズを合わせるためのダミーデータであり、例えば０値の連続である。ペイロードのサイズを１つまたは複数のVclick_AUサイズと等しくできる場合にはパディングデータは不要である。
【００８０】
一方、図８はペイロードに１つのVclick_AUが収まりきらない場合の送信用パケットの構成方法である。Vclick_AU（８００）はまず１番目の送信用パケットのペイロードに入りきる部分（８０２）のみペイロードに格納される。残りのデータ（８０４）は第２の送信用パケットのペイロードに格納され、ペイロードの格納サイズに余りが生じていればパディングデータ８０５で埋める。一つのVclick_AUを３つ以上のパケットに分割する場合の方法も同様である。
【００８１】
ＲＴＰ以外のプロトコルとしては、ＨＴＴＰ（Hypertext Transport Protocol）またはＨＴＴＰＳを用いることができる。ＨＴＴＰはＴＣＰ／ＩＰとの相性が良く、この場合欠落したデータは再送されるため信頼性の高いデータ通信が行えるが、ネットワークのスループットが低い場合にはデータの遅延が生じるおそれがある。ＨＴＴＰではデータの欠落がないため、Vclickストリームをどのようにパケットに分割して格納するかを特に考慮する必要はない。
【００８２】
（５）Vclickデータがサーバー装置にある場合の再生手順
次に、Vclickストリームがサーバー装置２０１上にある場合における再生処理の手順について説明する。
【００８３】
図３７はユーザが再生開始を指示してから再生が開始されるまでの再生開始処理手順を表す流れ図である。まずステップＳ３７００でユーザにより再生開始の指示が入力される。この入力は、インタフェース・ハンドラー２０７が受け取り、動画像再生コントローラ２０５に動画像再生準備の命令を出す。次に、分岐処理ステップＳ３７０１として、すでにサーバー装置２０１とのセッションが構築されているかどうかの判定を行う。セッションがまだ構築されていなければステップＳ３７０２に、すでに構築されていればステップＳ３７０３に処理を移す。ステップＳ３７０２ではサーバーとクライアント間のセッションを構築する処理を行う。
【００８４】
図９はサーバー・クライアント間の通信プロトコルとしてＲＴＰ用いた場合の、セッション構築からセッション切断までの通信手順例である。セッションの始めにサーバー・クライアント間でネゴシエーションを行う必要があるが、ＲＴＰの場合にはＲＴＳＰ（Real Time Streaming Protocol）が用いられることが多い。ただし、ＲＴＳＰの通信には高信頼性が要求されるため、ＲＴＳＰはＴＣＰ／ＩＰで、ＲＴＰはＵＤＰ／ＩＰで通信を行うのが好ましい。まず、セッションを構築するために、クライアント装置（図２の例では２００）はストリーミングされるVclickデータに関する情報提供をサーバー装置（図２の例では２０１）に要求する（RTSPのDESCRIBEメソッド）。
【００８５】
ここで、再生される動画像に対応したデータを配信するサーバーのアドレスは、例えば動画像データ記録媒体にアドレス情報を記録しておくなどの方法であらかじめクライアントに知らされているものとする。サーバー装置はこの応答としてVclickデータの情報をクライアント装置に送る。具体的には、セッションのプロトコルバージョン、セッション所有者、セッション名、接続情報、セッションの時間情報、メタデータ名、メタデータ属性といった情報がクライアント装置に送られる。これらの情報記述方法としては、例えばＳＤＰ（Session Description Protocol）を使用する。次にクライアント装置はサーバー装置にセッションの構築を要求する（RTSPのSETUPメソッド）。サーバー装置はストリーミングの準備を整え、セッションＩＤをクライアント装置に返す。ここまでの処理がＲＴＰを用いる場合のステップＳ３７０２の処理である。
【００８６】
ＲＴＰではなくＨＴＴＰが使われている場合の通信手順は、例えば図１０のように行う。まず、ＨＴＴＰより下位の階層であるＴＣＰでのセッション構築（３ way handshake）を行う。ここで、先ほどと同様に、再生される動画像に対応したデータを配信するサーバーのアドレスはあらかじめクライアントに知らされているものとする。この後、クライアント装置の状態（例えば、製造国、言語、各種パラメータの選択状態など）をＳＤＰ等を用いてサーバー装置に送る処理が行われるようにしてもよい。ここまでがＨＴＴＰの場合のステップＳ３７０２の処理となる。
【００８７】
ステップＳ３７０３では、サーバー装置とクライアント装置間のセッションが構築された状態で、サーバーにVclickデータ送信を要求する処理を行う。これはインタフェース・ハンドラーがネットワーク・マネージャー２０８に指示を出し、ネットワーク・マネージャー２０８がサーバーに要求を出すことにより行われる。ＲＴＰの場合には、ネットワーク・マネージャー２０８はRTSPのPLAYメソッドをサーバーに送ることでVclickデータ送信を要求する。サーバー装置は、これまでにクライアントから受け取った情報とサーバー装置内にあるVclickインフォを参照して送信すべきVclickストリームを特定する。さらに、Vclickデータ送信要求に含まれる再生開始位置のタイムスタンプ情報とサーバー装置内にあるVclickアクセス・テーブルを用いてVclickストリーム中の送信開始位置を特定し、Vclickストリームをパケット化してＲＴＰによりクライアント装置に送る。
【００８８】
一方ＨＴＴＰの場合には、ネットワーク・マネージャー２０８はHTTPのGETメソッドを送信することによりVclickデータ送信を要求する。この要求には、動画像の再生開始位置のタイムスタンプの情報を含めても良い。サーバー装置は、ＲＴＰの時と同様の方法により送信すべきVclickストリームと、このストリーム中の送信開始位置を特定し、VclickストリームをＨＴＴＰによりクライアント装置に送る。
【００８９】
次に、ステップＳ３７０４では、サーバーから送られてくるVclickストリームをバッファ２０９にバッファリングする処理を行う。これは、Vclickストリームの再生中にサーバーからのVclickストリーム送信が間に合わず、バッファが空になってしまうことをさけるために行われる。メタデータ・マネージャー２１０からバッファに十分なVclickストリームが蓄積されたことがインタフェース・ハンドラーに通知されると、ステップＳ３７０５の処理に移る。ステップＳ３７０５では、インタフェース・ハンドラーがコントローラ２０５に動画像の再生開始命令を出し、さらにメタデータ・マネージャー２１０にVclickストリームのメタデータ・デコーダ２１７への送出を開始するよう命令を出す。
【００９０】
図３８は図３７とは別の再生開始処理の手順を説明する流れ図である。図３７の流れ図で説明される処理では、ネットワークの状態やサーバー、クライアント装置の処理能力により、ステップＳ３７０４でのVclickストリームを一定量バッファリングする処理に時間がかかる場合がある。すなわち、ユーザが再生を指示してから実際に再生が始まるまでに時間がかかってしまうことがある。図３８の処理手順では、ステップＳ３８００でユーザが再生開始を指示すると、次のステップＳ３８０１で直ちに動画像の再生が開始される。すなわち、ユーザからの再生開始指示を受けたインタフェース・ハンドラー２０７は、直ちにコントローラ２０５に再生開始命令を出す。これにより、ユーザは再生を指示してから動画像を視聴するまで待たされることがなくなる。次の処理ステップＳ３８０２からステップＳ３８０５までは、図３７のステップＳ３７０１からステップＳ３７０４と同一の処理である。
【００９１】
ステップＳ３８０６では、再生中の動画像に同期させてVclickストリームを復号する処理を行う。すなわち、インタフェース・ハンドラー２０７は、メタデータ・マネージャー２１０からバッファに一定量のVclickストリームが蓄積された通知を受け取ると、メタデータ・マネージャー２１０にVclickストリームのメタデータ・デコーダへの送出開始を命令する。メタデータ・マネージャー２１０はインタフェース・ハンドラーから再生中の動画像のタイムスタンプを受け取り、バッファに蓄積されたデータからこのタイムスタンプに該当するVclick_AUを特定し、メタデータ・デコーダへ送出する。
【００９２】
図３８の処理手順では、ユーザは再生を指示してから動画像を視聴するまで待たされることがないが、再生開始直後はVclickストリームの復号が行われないため、オブジェクトに関する表示が行われなかったり、オブジェクトをクリックしても何も動作が起こらなかったりするなどの問題点がある。
【００９３】
動画像の再生中、クライアント装置のネットワーク・マネージャー２０８はサーバー装置から次々に送られてくるVclickストリームを受信し、バッファ２０９に蓄積する。蓄積されたオブジェクト・メタデータは適切なタイミングでメタデータ・デコーダ２１７に送られる。すなわち、メタデータ・マネージャー２０８は、メタデータ・マネージャー２１０から送られてくる再生中の動画像のタイムスタンプを参照し、バッファ２０９に蓄積されているデータからそのタイムスタンプに対応したVclick_AUを特定し、この特定されたオブジェクト・メタデータをＡＵ単位でメタデータ・デコーダ２１７に送る。メタデータ・デコーダ２１７は受け取ったデータを復号する。ただし、クライアント装置が現在選択しているカメラアングルと異なるカメラアングル用のデータの復号は行わないようにしても良い。また、再生中の動画像のタイムスタンプに対応したVclick_AUがすでにメタデータ・デコーダ２１７にあることがわかっている場合には、オブジェクト・メタデータをメタデータ・デコーダに送らないようにしても良い。
【００９４】
再生中の動画像のタイムスタンプは逐次インタフェース・ハンドラーからメタデータ・デコーダ２１７に送られている。メタデータ・デコーダではこのタイムスタンプに同期させてVclick_AUを復号し、必要なデータをＡＶレンダラー２１８に送る。例えば、Vclick_AUに記述された属性情報によりオブジェクト領域の表示が指示されている場合には、オブジェクト領域のマスク画像や輪郭線などを生成し、再生中の動画像のタイムスタンプに合わせてＡ／Ｖレンダラー２１８に送る。また、メタデータ・デコーダは再生中の動画像のタイムスタンプとVclick_AUの有効時刻とを比較し、不要になった古いオブジェクト・メタデータを判定してそのデータを削除する。
【００９５】
図３９は再生停止処理の手順を説明する流れ図である。ステップＳ３９００では、ユーザにより動画像の再生中に再生停止が指示される。次にステップＳ３９０１で動画像再生を停止する処理が行われる。これはインタフェース・ハンドラー２０７がコントローラ２０５に停止命令を出すことにより行われる。また、同時にインタフェース・ハンドラーはメタデータ・マネージャー２１０にオブジェト・メタデータのメタデータ・デコーダへの送出停止を命令する。
【００９６】
ステップＳ３９０２はサーバーとのセッションを切断する処理である。ＲＴＰを用いている場合には、図９に示すようにRTSPのTEARDOWNメソッドをサーバーに送る。TEARDOWNのメッセージを受け取ったサーバー装置はデータ送信を中止してセッションを終了し、クライアント装置に確認メッセージを送る。この処理により、セッションに使用していたセッションＩＤが無効となる。一方、HTTPを用いている場合には、図１０に示されているようにHTTPのCloseメソッドをサーバーに送り、セッションを終了させる。
【００９７】
（６）Vclickデータがサーバー装置にある場合のランダムアクセス手順
次に、Vclickストリームがサーバー装置２０１上にある場合におけるランダムアクセス再生の手順について説明する。
【００９８】
図４０はユーザがランダムアクセス再生の開始を指示してから再生が開始されるまでの処理手順を表す流れ図である。まずステップＳ４０００でユーザによりランダムアクセス再生の開始指示が入力される。入力の方法としては、チャプター等のアクセス可能位置のリストからユーザが選択する方法、動画像のタイムスタンプに対応づけられたスライドバー上からユーザが一点を指定する方法、直接動画像のタイムスタンプを入力する方法などがある。入力されたタイムスタンプは、インタフェース・ハンドラー２０７が受け取り、動画再生コントローラ２０５に動画像再生準備の命令を出す。もしもすでに動画像を再生中である場合には、再生中の動画像の再生停止を指示してから動画像再生準備の命令を出す。次に、分岐処理ステップＳ４００１として、すでにサーバー装置２０１とのセッションが構築されているかどうかの判定を行う。動画像を再生中である場合など、すでにセッションが構築されている場合にはステップＳ４００２のセッション切断処理を行う。セッションがまだ構築されていればステップＳ４００２の処理を行わずにステップＳ４００３に処理を移す。ステップＳ４００３ではサーバーとクライアント間のセッションを構築する処理を行う。この処理は図３７のステップＳ３７０２と同一の処理である。
【００９９】
次にステップＳ４００４では、サーバー装置とクライアント装置間のセッションが構築された状態で、サーバーに再生開始位置のタイムスタンプを指定してVclickデータ送信を要求する処理を行う。これはインタフェース・ハンドラーがネットワーク・マネージャー２０８に指示を出し、ネットワーク・マネージャー２０８がサーバーに要求を出すことにより行われる。ＲＴＰの場合には、ネットワーク・マネージャー２０８はRTSPのPLAYメソッドをサーバーに送ることでVclickデータ送信を要求する。このとき、Range記述を用いるなどの方法で再生開始位置を特定するタイムスタンプもサーバーに送る。サーバー装置は、これまでにクライアントから受け取った情報とサーバー装置内にあるVclickインフォを参照して送信すべきオブジェクト・メタデータ・ストリームを特定する。さらに、Vclickデータ送信要求に含まれる再生開始位置のタイムスタンプ情報とサーバー装置内にあるVclickアクセス・テーブルを用いてVclickストリーム中の送信開始位置を特定し、Vclickストリームをパケット化してＲＴＰによりクライアント装置に送る。
【０１００】
一方ＨＴＴＰの場合には、ネットワーク・マネージャー２０８はHTTPのGETメソッドを送信することによりVclickデータ送信を要求する。この要求には、動画像の再生開始位置のタイムスタンプの情報が含まれている。サーバー装置はＲＴＰの時と同様に、Vclick情報ファイルを参照して送信すべきVclickストリームを特定し、さらにタイムスタンプ情報とサーバー装置内にあるVclickアクセス・テーブルを用いてVclickストリーム中の送信開始位置を特定し、VclickストリームをＨＴＴＰによりクライアント装置に送る。
【０１０１】
次に、ステップＳ４００５では、サーバーから送られてくるVclickストリームをバッファ２０９にバッファリングする処理を行う。これは、Vclickストリームの再生中にサーバーからのVclickストリーム送信が間に合わず、バッファが空になってしまうことをさけるために行われる。メタデータ・マネージャー２１０からバッファに十分なVclickストリームが蓄積されたことがインタフェース・ハンドラーに通知されると、ステップＳ４００６の処理に移る。ステップＳ４００６では、インタフェース・ハンドラーがコントローラ２０５に動画像の再生開始命令を出し、さらにメタデータ・マネージャー２１０にVclickストリームのメタデータ・デコーダへの送出を開始するよう命令を出す。
【０１０２】
図４１は図４０とは別のランダムアクセス再生開始処理の手順を説明する流れ図である。図４０の流れ図で説明される処理では、ネットワークの状態やサーバー、クライアント装置の処理能力により、ステップＳ４００５でのVclickストリームを一定量バッファリングする処理に時間がかかる場合がある。すなわち、ユーザが再生を指示してから実際に再生が始まるまでに時間がかかってしまうことがある。
【０１０３】
これに対し、図４１の処理手順では、ステップＳ４１００でユーザが再生開始を指示すると、次のステップＳ４１０１で直ちに動画像の再生が開始される。すなわち、ユーザからの再生開始指示を受けたインタフェース・ハンドラー２０７は、直ちにコントローラ２０５にランダムアクセス再生開始命令を出す。これにより、ユーザは再生を指示してから動画像を視聴するまで待たされることがなくなる。次からの処理ステップＳ４１０２からステップＳ４１０６までは、図４０のステップＳ４００１からステップＳ４００５と同一の処理である。
【０１０４】
ステップＳ４１０７では、再生中の動画像に同期させてVclickストリームを復号する処理を行う。すなわち、インタフェース・ハンドラー２０７は、メタデータ・マネージャー２１０からバッファに一定量のVclickストリームが蓄積された通知を受け取ると、メタデータ・マネージャー２１０にVclickストリームのメタデータ・デコーダへの送出開始を命令する。メタデータ・マネージャー２１０はインタフェース・ハンドラーから再生中の動画像のタイムスタンプを受け取り、バッファに蓄積されたデータからこのタイムスタンプに該当するVclick_AUを特定し、メタデータ・デコーダへ送出する。
【０１０５】
図４１の処理手順では、ユーザは再生を指示してから動画像を視聴するまで待たされることがないが、再生開始直後はVclickストリームの復号が行われないため、オブジェクトに関する表示が行われなかったり、オブジェクトをクリックしても何も動作が起こらないなどの問題点がある。
【０１０６】
なお、動画像の再生中の処理と動画像停止処理は通常の再生処理の場合と同一であるため、説明は省略する。
【０１０７】
（７）Vclickデータがクライアント装置にある場合の再生手順
次に、Vclickストリームが動画像データ記録媒体２３１上にある場合における再生処理の手順について説明する。
【０１０８】
図４２はユーザが再生開始を指示してから再生が開始されるまでの再生開始処理手順を表す流れ図である。まずステップＳ４２００でユーザにより再生開始の指示が入力される。この入力は、インタフェース・ハンドラー２０７が受け取り、動画再生コントローラ２０５に動画像再生準備の命令を出す。次に、ステップＳ４２０１では、使用するVclickストリームを特定する処理が行われる。この処理では、インタフェース・ハンドラーは動画像データ記録媒体２３１上にあるVclick情報ファイルを参照し、ユーザが再生を指定した動画像に対応するVclickストリームを特定する。
【０１０９】
ステップＳ４２０２では、バッファにVclickストリームを格納する処理が行われる。この処理を行うため、インタフェース・ハンドラー２０７はまずメタデータ・マネージャー２１０にバッファを確保する命令を出す。確保すべきバッファのサイズは、特定されたVclickストリームを格納するのに十分なサイズとして決められるが、通常はこのサイズを記述したバッファ初期化用文書が動画像データ記録媒体２３１に記録されている。初期化用文書がない場合には、あらかじめ決められているサイズを適用する。バッファの確保が完了すると、インタフェース・ハンドラー２０７はコントローラ２０５に特定されたVclickストリームを読み出してバッファに格納する命令を出す。
【０１１０】
Vclickストリームがバッファに格納されると、次にステップＳ４２０３の再生開始処理が行われる。この処理では、インタフェース・ハンドラー２０７が動画再生コントローラ２０５に動画像の再生命令を出し、同時にメタデータ・マネージャー２１０にVclickストリームのメタデータ・デコーダへの送出を開始するよう命令を出す。
【０１１１】
動画像の再生中、動画像データ記録媒体２３１から読み出されたVclick_AUはバッファ２０９に蓄積される。蓄積されたVclickストリームは適切なタイミングでメタデータ・デコーダ２１７に送られる。すなわち、メタデータ・マネージャー２０８は、メタデータ・マネージャー２１０から送られてくる再生中の動画像のタイムスタンプを参照し、バッファ２０９に蓄積されているデータからそのタイムスタンプに対応したVclick_AUを特定し、この特定されたVclick_AUをメタデータ・デコーダ２１７に送る。メタデータ・デコーダ２１７は受け取ったデータを復号する。ただし、クライアント装置が現在選択しているカメラアングルと異なるカメラアングル用のデータの復号は行わないようにしても良い。また、再生中の動画像のタイムスタンプに対応したVclick_AUがすでにメタデータ・デコーダ２１７にあることがわかっている場合には、Vclickストリームをメタデータ・デコーダに送らないようにしても良い。
【０１１２】
再生中の動画像のタイムスタンプは逐次インタフェース・ハンドラーからメタデータ・デコーダ２１７に送られている。メタデータ・デコーダではこのタイムスタンプに同期させてVclick_AUを復号し、必要なデータをＡＶレンダラー２１８に送る。例えば、オブジェクト・メタデータのＡＵに記述された属性情報によりオブジェクト領域の表示が指示されている場合には、オブジェクト領域のマスク画像や輪郭線などを生成し、再生中の動画像のタイムスタンプに合わせてＡ／Ｖレンダラー２１８に送る。また、メタデータ・デコーダは再生中の動画像のタイムスタンプとVclick_AUの有効時刻とを比較し、不要になった古いVclick_AUを判定してそのデータを削除する。
【０１１３】
ユーザにより動画像の再生中に再生停止が指示されると、インタフェース・ハンドラー２０７はコントローラ２０５に動画像再生の停止命令と、Vclickストリームの読み出しの停止命令を出す。この指示により、動画像の再生が終了する。
【０１１４】
（８）Vclickデータがクライアント装置にある場合のランダムアクセス手順
次に、Vclickストリームが動画像データ記録媒体２３１上にある場合におけるランダムアクセス再生の処理手順について説明する。
【０１１５】
図４３はユーザがランダムアクセス再生の開始を指示してから再生が開始されるまでの処理手順を表す流れ図である。まずステップＳ４３００でユーザによりランダムアクセス再生開始の指示が入力される。入力の方法としては、チャプター等のアクセス可能位置のリストからユーザが選択する方法、動画像のタイムスタンプに対応づけられたスライドバー上からユーザが一点を指定する方法、直接動画像のタイムスタンプを入力する方法などがある。入力されたタイムスタンプは、インタフェース・ハンドラー２０７が受け取り、動画再生コントローラ２０５に動画像のランダムアクセス再生準備の命令を出す。
【０１１６】
次に、ステップＳ４３０１では、使用するVclickストリームを特定する処理が行われる。この処理では、インタフェース・ハンドラーは動画像データ記録媒体２３１上にあるVclick情報ファイルを参照し、ユーザが再生を指定した動画像に対応するVclickストリームを特定する。さらに、動画像データ記録媒体２３１上にあるVclickアクセス・テーブル、もしくはメモリ上に読み込んであるVclickアクセス・テーブルを参照し、動画像のランダムアクセス先に対応するVclickストリーム中のアクセスポイントを特定する。
【０１１７】
ステップＳ４３０２は分岐処理であり、特定されたVclickストリームが現在バッファ２０９に読み込まれているかどうかを判定する。バッファに読み込まれていない場合にはステップＳ４３０３の処理を行ってからステップＳ４３０４の処理に移る。現在バッファに読み込まれている場合には、ステップＳ４３０３の処理は行わずにステップＳ４３０４の処理に移る。ステップＳ４３０４は動画像のランダムアクセス再生開始、及びVclickストリームの復号開始である。この処理では、インタフェース・ハンドラー２０７が動画再生コントローラ２０５に動画像のランダムアクセス再生命令を出し、同時にメタデータ・マネージャー２１０にVclickストリームのメタデータ・デコーダへの送出を開始するよう命令を出す。その後は動画像の再生に同期させてVclickストリームの復号処理が行われる。動画像再生中、及び動画像再生停止処理については通常の再生処理と同一であるため、説明は省略する。
【０１１８】
（９）クリックから関連情報表示までの手順
次に、ユーザがマウス等のポインティングデバイスを使ってオブジェクト領域内をクリックした場合のクライアント装置の動作について説明する。ユーザがクリックを行うと、まず動画像上のクリックされた座標位置がインタフェース・ハンドラー２０７に入力される。インタフェース・ハンドラーはメタデータ・デコーダ２１７にクリック時の動画像のタイムスタンプと座標を送る。メタデータ・デコーダはタイムスタンプと座標から、ユーザによって指示されたオブジェクトがどれであるかを特定する処理を行う。
【０１１９】
メタデータ・デコーダでは、動画像の再生に同期させてVclickストリームをデコードしており、従ってクリックされた時のタイムスタンプにおけるオブジェクトの領域が生成されているため、この処理は容易に実行できる。クリックされた座標に複数のオブジェクト領域が存在する場合には、Vclick_AU内に含まれる階層情報を参照して最も前面にあるオブジェクトを特定する。
【０１２０】
ユーザによって指定されたオブジェクトが特定されると、メタデータ・デコーダ２１７はそのオブジェクト属性情報４０３に記述されたアクション記述（動作を指示するスクリプト）をスクリプト・インタプリタ２１２に送る。アクション記述を受け取ったスクリプト・インタプリタはその動作内容を解釈し、実行する。例えば、指定されたＨＴＭＬファイルの表示を行ったり、指定された動画像の再生を開始したりする。これらＨＴＭＬファイルや動画像データは、クライアント装置２００に記録されている場合、サーバー装置２０１からネットワーク経由で送られてくる場合、ネットワーク上の別のサーバー上に存在している場合のいずれでも良い。
【０１２１】
（１０）データ構造の詳細
次に、より具体的なデータ構造の構成例について説明する。図５で説明したとおり、Vclickストリーム５０６はVclickストリームのヘッダと複数のVclick AUから成る。図１１はVclickストリームのヘッダのデータ構造の例である。各データ要素の意味は以下の通りである。
【０１２２】
vclick_versionは、Vclickストリームのヘッダの始まりを示すとともに、フォーマットのバージョンを指定する。
【０１２３】
vclick_lengthは、このVclickストリームにおけるvclick_lengthより後の部分のデータ長をバイトで指定する。
【０１２４】
次に、Vclick AUの詳細なデータ構造を説明する。Vclick AUの大まかなデータ構造は図４で説明したとおりである。
【０１２５】
図１２はVclick AUのヘッダ４０１のデータ構造の例である。各データ要素の意味は以下の通りである。
【０１２６】
vu_start_codeは、各Vclick_AUの始まりを示す。
【０１２７】
vau_lengthは、このVclick_AUのヘッダにおけるvau_lengthより後の部分のデータ長をバイトで指定する。
【０１２８】
vau_idはVclick_AUの識別ＩＤである。クライアント装置の状態を表すパラメータとこのＩＤにより、復号すべきVclick_AUかどうかを判定するためのデータである。
【０１２９】
object_idはVclickデータで記述されるオブジェクトの識別番号である。object_idの同じ値が２つのVclick_AUの中で使用される場合、両者は意味的に同一のオブジェクト用のデータである。
【０１３０】
object_subidはオブジェクトの意味的な連続性を表す。２つのVclick_AUにおいてobject_id及びobject_subidの両方が同じである場合、両者は連続的な（同一シーンに登場する同一の）オブジェクトを意味する。
【０１３１】
continue_flagはフラグである。最初の１ビットが"１"である場合、このVclick_AUに記述されたオブジェクト領域と、同一のobject_idを有する前のVclick_AUに記述されたオブジェクト領域とは連続していることを示す。そうでない場合にはこのフラグは"０"となる。２番目のビットは同様に、このVclick_AUに記述されたオブジェクト領域と、同一のobject_idを有する次のVclick_AUに記述されたオブジェクト領域との連続性を示す。
【０１３２】
layerは、オブジェクトの階層値を表す。階層値が大きい（または小さい）ほどオブジェクトが画面上で手前にあることを意味する。クリックされた場所に複数のオブジェクトが存在する場合には、最も会装置が大きい（または小さい）オブジェクトがクリックされたものと判定する。
【０１３３】
図１３はVclick_AUのタイムスタンプ４０２のデータ構造の例である。この例では、動画像データ記録媒体２０４としてＤＶＤを用いる場合を仮定している。以下のタイムスタンプを用いることにより、ＤＶＤ上の動画像の任意の時刻を指定することが可能となり、動画像とVclickデータの同期が実現できる。各データ要素の意味は以下の通りである。
【０１３４】
time_typeは、ＤＶＤ用タイムスタンプの始まりを示す。
【０１３５】
VTSNは、ＤＶＤビデオのVTS（ビデオ・タイトルセット）番号を示す。
【０１３６】
TTNは、ＤＶＤビデオのタイトル・ドメインにおけるタイトル番号を示す。ＤＶＤプレー
ヤのシステムパラメータSPRM(４)にストアされる値に相当する。
【０１３７】
VTS_TTNは、ＤＶＤビデオのタイトル・ドメインにおけるVTSタイトル番号を示す。ＤＶＤプレーヤのシステムパラメータSPRM(５)にストアされる値に相当する。
【０１３８】
TT_PGCNは、ＤＶＤビデオのタイトル・ドメインにおけるタイトルPGC（プログラム・チェーン）番号を示す。ＤＶＤプレーヤのシステムパラメータSPRM(６)にストアされる値に相当する。
【０１３９】
PTTNは、ＤＶＤビデオの部分タイト（Part_of_Title）番号を示す。ＤＶＤプレーヤのシステムパラメータSPRM(７)にストアされる値に相当する。
【０１４０】
CNは、ＤＶＤビデオのセル番号を示す。
【０１４１】
AGLNは、ＤＶＤビデオのアングル番号を示す。
【０１４２】
PTS[s .. e]は、ＤＶＤビデオの表示タイムスタンプのうち、sビット目からeビット目までのデータを示す。
【０１４３】
図１４はVclick_AUのタイムスタンプ・スキップのデータ構造の例である。タイムスタンプ・スキップがタイムスタンプの代わりにVclick_AUに記述されている場合、このVclick_AUのタイムスタンプが直前のVclick_AUのタイムスタンプと同一である事を意味している。各データ要素の意味は以下の通りである。
【０１４４】
time_typeは、タイムスタンプ・スキップの始まりを示す。
【０１４５】
図１５はVclick_AUのオブジェクト属性情報４０３のデータ構造の例である。各データ要素の意味は以下の通りである。
【０１４６】
attribute_lengthは、このオブジェクト属性情報のうちattribute_lengthより後の部分のデータ長をバイトで指定する。
【０１４７】
data_bytesはオブジェクト属性情報のデータ部である。この部分には図１６に示した属性データの１つまたは複数が記述される。図１８の最大値の欄には、それぞれの属性について、一つのVclick AU内に記述可能な最大のデータ数の例を示した。attribute_idは各属性データ中に含まれるＩＤで、属性の種類を見分けるためのデータである。名前属性は、オブジェクトの名前を特定するための情報である。アクション属性は、動画像中のオブジェクト領域がクリックされたときに、どのようなアクションを行うべきかが記述される。輪郭線属性は、オブジェクトの輪郭線をどのように表示させるかの属性を表す。点滅領域属性は、オブジェクト領域を点滅して表示する際の点滅色を特定する。モザイク領域属性は、オブジェクト領域をモザイク化して表示する際のモザイク化の仕方が記述されている。塗りつぶし領域属性は、オブジェクト領域に色を付けて表示させる際の色を特定する。
【０１４８】
テキストカテゴリーに属する属性は、動画像に文字を表示させたいときに、表示させる文字に関する属性を定義する。テキスト情報には、表示させるテキストを記述する。テキスト属性は、表示させるテキストの色やフォント等の属性を特定する。ハイライト効果属性は、テキストの一部または全てをハイライト表示させる際に、どの文字をどのようにハイライト表示させるかを特定する。点滅効果属性は、テキストの一部または全てを点滅表示させる際に、どの文字をどのように点滅表示させるかを特定する。スクロール効果属性には、表示させるテキストをスクロールさせる際に、どの方向にどのような速さでスクロールさせるかが記述されている。カラオケ効果属性は、テキストの色を順次変更していく際に、どのようなタイミングでどこの文字の色を変更させるかを特定する。最後に、階層拡張属性は、オブジェクトの階層値がVclick_AU内で変化する場合に、階層値の変化のタイミングとその値を定義するために用いられる。以上の属性のデータ構造について、以下で個々に説明する。
【０１４９】
図１７はオブジェクトの名前属性のデータ構造の例である。各データ要素の意味は以下の通りである：
attribute_idは、属性データのタイプを指定する。名前属性については、この値は００hとする。
【０１５０】
data_lengthは、名前属性データのdata_lengthより後のデータ長をバイトで表す。
【０１５１】
languageは、以下の要素（nameとannotation）の記述に用いた言語を特定する。言語の指定にはISO-６３９「code for the representation of names of languages」を用いる。
【０１５２】
name_lengthは、バイトでname要素のデータ長さを指定する。
【０１５３】
nameは文字列であり、このVclick_AUで記述されているオブジェクトの名前を表す。
【０１５４】
annotation_lengthは、バイトでannotation要素のデータ長を表す。
【０１５５】
annotationは文字列であり、このVclick_AUで記述されているオブジェクトに関する注釈を表す。
【０１５６】
図１８はオブジェクトのアクション属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【０１５７】
attribute_idは、属性データのタイプを指定する。アクション属性については、この値は０１hとする。
【０１５８】
data_lengthは、アクション属性データのうちdata_lengthより後の部分のデータ長をバイトで表す。
【０１５９】
script_languageは、script要素に記述されているスクリプト言語の種類を特定する。
【０１６０】
script_lengthは、バイト単位でscript要素のデータ長を表す。
【０１６１】
scriptは文字列であり、このVclick_AUで記述されているオブジェクトがユーザにより指定された場合に実行すべきアクションをscript_languageで指定されたスクリプト言語で記述されている。
【０１６２】
図１９はオブジェクトの輪郭線属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【０１６３】
attribute_idは、属性のタイプを指定する。輪郭線属性については、この値は０２hとする。
【０１６４】
data_lengthは、輪郭線属性データうちdata_lengthより後の部分のデータ長を指定する。
【０１６５】
color_r、color_g、color_b、color_aは、このオブジェクト・メタデータＡＵで記述されているオブジェクトの輪郭の表示色を指定する。
【０１６６】
color_r、color_g及びcolor_bはそれぞれ色のRGB表現における赤、緑及び青の値を指定する。一方、color_aは透明度を示す。
【０１６７】
line_typeは、このVclick_AUで記述されているオブジェクトの輪郭線の種類（実線、破線など）指定する。
【０１６８】
thicknessは、このVclick_AUで記述されているオブジェクトの輪郭線の太さをポイントで指定する。
【０１６９】
図２０はオブジェクトの点滅領域属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【０１７０】
attribute_idは、属性データのタイプを指定する。点滅領域属性データについては、この値は０３hとする。
【０１７１】
data_lengthは、点滅領域属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【０１７２】
color_r、color_g、color_b、color_aは、このVclick_AUで記述されているオブジェクトの領域の表示色を指定する。color_r、color_g及びcolor_bはそれぞれ色のRGB表現における赤、緑及び青の値を指定する。一方、color_aは透明度を示す。オブジェクト領域の点滅は、塗りつぶし領域属性の中で指定された色とこの属性で指定された色とを交互に表示させることにより実現される。
【０１７３】
intervalは、点滅の時間間隔を指定する。
【０１７４】
図２１はオブジェクトのモザイク領域属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【０１７５】
attribute_idは、属性データのタイプを指定する。モザイク領域属性データについては、この値は０４hとする。
【０１７６】
data_lengthは、モザイク領域属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【０１７７】
mosaic_sizeは、モザイク・ブロックのサイズをピクセル単位で指定する。
【０１７８】
randomnessはモザイク化したブロックの位置を入れ替える場合に、どの程度ランダムに入れ替えるかを表す。
【０１７９】
図２２はオブジェクトのモザイク領域属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【０１８０】
attribute_idは、属性データのタイプを指定する。塗りつぶし領域属性データについては、この値は０５hとする。
【０１８１】
data_lengthは、塗りつぶし属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【０１８２】
color_r、color_g、color_b、color_aは、このVclick_AUで記述されているオブジェクト領域の表示色を指定する。color_r、color_g及びcolor_bはそれぞれ色のRGB表現における赤、緑及び青の値を指定する。一方、color_aは透明度を示す。
【０１８３】
図２３はオブジェクトのテキスト情報のデータ構造の例である。各データ要素の意味は以下の通りである。
【０１８４】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト情報については、この値は０６hとする。
【０１８５】
data_lengthは、オブジェクトのテキスト情報のうちdata_lengthより後の部分のデータ長をバイトで指定する。
【０１８６】
languageは、記述されたテキストの言語を示す。言語の指定方法は、例えばISO-６３９「code for the representation of names of languages」を使うことができる。
【０１８７】
char_codeは、テキストのコード種類を特定する。例えば、UTF-８、UTF-１６、ASCII、Shift JISなどを指定する。
【０１８８】
directionは、文字を並べる際の方向として、左方向、右方向、下方向、上方向を特定する。例えば、英語やフランス語ならば通常文字は左方向に並べる。一方、アラビア語ならば右方向に、日本語ならば左方向か下方向のどちらかに並べる。ただし、言語ごとに決まっている並び方向以外を指定しても良い。また、斜め方向を指定できるようにしても良い。
【０１８９】
text_lengthは、バイトでtimed textの長さを指定する。
【０１９０】
textは文字列であり、char_codeで指定された文字コードを用いて記述されたテキストである。
【０１９１】
図２４はオブジェクトのテキスト属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【０１９２】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト属性については、この値は０７hとする。
【０１９３】
data_lengthは、オブジェクトのテキスト属性のうちdata_lengthより後の部分のデータ長をバイトで指定する。
【０１９４】
font_lengthは、フォントの記述長をバイト単位で指定する。
【０１９５】
fontは文字列であり、テキストを表示する際に用いるフォントを指定する。
【０１９６】
color_r、color_g、color_b、color_aは、テキストを表示する際の表示色を指定する。色はRGBにより表現される。また、color_r、color_g及びcolor_bは、赤、緑及び青の値をそれぞれ指定する。また、color_aは透過度を示す。
【０１９７】
図２５はオブジェクトのテキスト・ハイライト効果属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【０１９８】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト・ハイライト効果属性データについては、この値は０８hとする。
【０１９９】
data_lengthは、オブジェクトのテキスト・ハイライト効果属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【０２００】
entryは、このテキスト・ハイライト効果属性データ中のhighlight_effect_entryの数を示す。
【０２０１】
highlight_entriesにentry個のhighlight_effect_entryが含まれる。
【０２０２】
highlight_effect_entryの仕様は以下に示す通りである。
【０２０３】
図２６はオブジェクトのテキスト・ハイライト効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
【０２０４】
start_positionは、強調される文字の開始位置を先頭から当該文字までの文字数により指定する。
【０２０５】
end_positionは、強調される文字の終了位置を先頭から当該文字までの文字数により指定する。
【０２０６】
color_r、color_g、color_b、color_aは、強調後の文字の表示色を指定する。色はRGBにより表現される。また、color_r、color_g及びcolor_bは、赤、緑及び青の値をそれぞれ指定する。また、color_aは透過度を示す。
【０２０７】
図２７はオブジェクトのテキスト点滅効果属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【０２０８】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト点滅効果属性データについては、この値は０９hとする。
【０２０９】
data_lengthは、テキスト点滅効果属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【０２１０】
entryは、このテキスト点滅効果属性データ中のblink_effect_entryの数を示す。
【０２１１】
data_bytesにentry個のblink_effect_entryを含む。
【０２１２】
blink_effect_entryの仕様は以下の通りである。
【０２１３】
図２８はオブジェクトのテキスト点滅効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
【０２１４】
start_positionは、点滅させる文字の開始位置を先頭から当該文字までの文字数により指定する。
【０２１５】
end_positionは、点滅させる文字の終了位置を先頭から当該文字までの文字数により指定する。
【０２１６】
color_r、color_g、color_b、color_aは、点滅文字の表示色を指定する。色はRGBにより表現される。また、color_r、color_g及びcolor_bは、赤、緑及び青の値をそれぞれ指定する。また、color_aは透過度を示す。ここで指定された色と、テキスト属性で指定された色とを交互に表示させることで文字を点滅させる。
【０２１７】
intervalは、点滅の時間間隔を指定する。
【０２１８】
図２９はオブジェクトのテキスト・スクロール効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
【０２１９】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト・スクロール効果属性データについては、この値は０ahとする。
【０２２０】
data_lengthは、テキスト・スクロール効果属性データのうちdeta_lengthより後の部分のデータ長をバイト単位で指定する。
【０２２１】
directionは文字をスクロールする方向を指定する。例えば、０は右から左を、１は左から右を、２は上から下を、３は下から上を示す。
【０２２２】
delayは、スクロールの速度を、表示させる先頭の文字が表示されてから最後の文字が表示されるまでの時間差により指定する。
【０２２３】
図３０はオブジェクトのテキスト・カラオケ効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
【０２２４】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト・カラオケ効果属性データについては、この値は０bhとする。
【０２２５】
data_lengthは、テキスト・カラオケ効果属性データのうちdeta_lengthより後の部分のデータ長をバイト単位で指定する。
【０２２６】
start_timeはこの属性データのdata_bytesに含まれる先頭のkaraoke_effect_entryで指定される文字列の文字色の変更開始時刻を指定する。
【０２２７】
entryは、このテキスト・カラオケ効果属性データ中のkaraoke_effect_entryの数を示す；
karaoke_entriesにentry個のkaraoke_effect_entryを含む。
【０２２８】
karaoke_effect_entryの仕様は次に示す。
【０２２９】
図３１はオブジェクトのテキスト・カラオケ効果属性のエントリー（karaoke_effect_entry）のデータ構造の例である。各データ要素の意味は以下の通りである。
【０２３０】
end_timeはこのエントリーで指定される文字列の文字色の変更終了時刻を表す。また、このエントリーに続くエントリーがある場合には、次のエントリーで指定される文字列の文字色の変更開始時刻も表す。
【０２３１】
start_positionは文字色を変更すべき文字列の先頭文字の位置を、先頭から当該文字までの文字数により指定する。
【０２３２】
end_positionは文字色を変更すべき文字列の最後の文字の位置を、先頭から当該文字までの文字数により指定する。
【０２３３】
図３２はオブジェクトの階層属性拡張のデータ構造の例である。各データ要素の意味は以下の通りである。
【０２３４】
attribute_idは、属性データのタイプを指定する。オブジェクトの階層属性拡張データについては、この値は０chとする。
【０２３５】
data_lengthは、階層属性拡張データのうちdeta_lengthより後の部分のデータ長をバイト単位で指定する。
【０２３６】
start_timeはこの属性データのdata_bytesに含まれる先頭のlayer_extension_entryで指定される階層値が有効となる開始時刻を指定する。
【０２３７】
entryは、この階層属性拡張データに含まれるlayer_extension_entryの数を指定する。
【０２３８】
layer_entriesにentry個のlayer_extension_entryが含まれる。
【０２３９】
layer_extension_entryの仕様を次に説明する。
【０２４０】
図３３はオブジェクトの階層属性拡張のエントリー(layer_extension_entry)のデータ構造の例である。各データ要素の意味は以下の通りである。
【０２４１】
end_timeは、このlayer_extension_entryで指定される階層値が無効になる時刻を指定する。また、このエントリーの次にもエントリーがある場合には、次のエントリーで指定ｓれる階層値が有効になる開始時刻も同時に指定する。
【０２４２】
layerは、オブジェクトの階層値を指定する。
【０２４３】
図３４はオブジェクト・メタデータのＡＵのオブジェクト領域データ４００のデータ構造の例である。各データ要素の意味は以下の通りである。
【０２４４】
vcr_start_codeは、オブジェクト領域データの開始を意味する。
【０２４５】
data_lengthは、オブジェクト領域データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【０２４６】
data_bytesはオブジェクト領域が記述されているデータ部である。オブジェクト領域の記述には、例えばMPEG-７のSpatioTemporalLocatorのバイナリフォーマットを用いることができる。
【０２４７】
（１１）複雑なオブジェクト形状の表現
複雑な形状の時空間領域を持つオブジェクトの形状を記述する場合、複数のサブ平面領域の重ね合わせによって記述することにより作業を簡略化することができる。例えば、一つのオブジェクトが他のオブジェクトを隠蔽する場合などである。以下では複数のサブ平面領域の重ねあわせにより、オブジェクトの時空間領域を効率的に表現する場合について説明する。
【０２４８】
（１１−１）データ構造
まず、データ構造について説明する。
【０２４９】
図４５は図３４とは別のVclick AUのオブジェクト領域データのデータ構造である。図３４との違いはdata_lengthの後ろに、オブジェクト領域を構成するサブ平面領域の数vcr_shape_numとサブ平面領域を統合し最終的なオブジェクト領域を決定するための統合方式が書かれていることを示すvcr_rule_code、前記統合方式のデータの長さを示すためのvcr_rule_length、前記統合方式を表すデータvcr_ruleが加えられ、その後にvcr_rule内で出現する各サブ平面領域のデータvcr_subregion_dataがvcr_shape_numで指定されている個数だけ連続で記述されている点である。
【０２５０】
図４６はvcr_subregion_dataのデータ構造の例である。
【０２５１】
vcr_subregion_dataは、それが一つのサブ平面領域の情報であることを現すデータvcr_shape_code、各サブ平面領域のidとなるvcr_shape_id、オブジェクト領域は当該サブ平面領域の内部と外部いずれであるかを示す２値符号vcr_inside_flag、当該サブ平面領域のデータ長を示すvcr_shape_length、当該サブ平面領域のデータvcr_shape_dataからなる。
【０２５２】
vcr_shape_dataはその内部のデータのみで、該当するサブ平面領域の各時刻における画面上での位置と形を表現することが可能である。このvcr_shape_dataには、例えばMPEG-７のSpatioTemporalLocatorのバイナリフォーマットを用いることができる。
【０２５３】
（１１−２）オブジェクトの形状を得る方法
これらのデータから各時刻のオブジェクトの形状を得る方法を図４７に示す。
【０２５４】
図４７における各図形は、図４４のvcr_shape_dataから復元されたサブ平面領域の特定の時刻における画面上での位置と形を表している。各図形に付随するvcr_inside_flagの値は、当該サブ平面領域の輪郭の内部がオブジェクト領域となる場合１に、外部がオブジェクト領域になる場合に０となる。vcr_ruleにはこれらの領域のIDと集合論理演算に用いられるAND,ORなどの演算子が例えば逆ポーランド記法に従って格納されている。例えばvcr_rule に
【数１】
2006050275.tif 000003
【０２５５】
という式が格納されているとすると、図４７の斜線で示される領域が真のオブジェクト領域となる。vcr_ruleがサブ平面領域IDと集合論理演算の演算子によって構成される列でなおかつ、それらが逆ポーランド記法に沿っている場合、最終的なオブジェクト領域は図４８の手順で得ることができる。
【０２５６】
（１１−３）最終的なオブジェクト形状を得る方法
以下で図４５、図４６に与えられたデータから最終的なオブジェクト形状を得る方法を示す。
【０２５７】
まず、ステップS５３００でフレーム時刻T１を取得する。同時に画像を蓄積するための空スタックをひとつ生成する。
【０２５８】
次に、ステップS５３０１でvcr_ruleに格納されている記号列の先頭からサブ平面領域IDを一つ取得する。
【０２５９】
次に、ステップS５３０２でvcr_shape_code以降に記述された複数のサブ平面領域のデータから、取得したIDと一致する領域データを取得し、当該領域の時刻T１における位置と形状とvcr_inside_flagとを取得する。
【０２６０】
次に、vcr_inside_flagが１の場合はS５３０３へ、０の場合はS５３０４の処理を行う。
【０２６１】
S５３０３では、S５３０２で取得したサブ平面領域の内部の画素は全て１にそれ以外は全て０にした画像を生成しスタックXに積み、S５３０５に進む。
【０２６２】
S５３０４では、S５３０２で取得したサブ平面領域の内部の画素は全て０にそれ以外は全て１にした画像を生成しスタックXに積み、S５３０５に進む。
【０２６３】
S５３０５では、vcr_ruleが空であるかどうかを判定し、空である場合は処理を終了する。そうで無い場合はvcr_ruleから先頭の記号を取り出しS５３０６に進む。
【０２６４】
S５３０６では、それがサブ平面領域IDである場合はS５３０２に演算子である場合はS５３０７に進む。
【０２６５】
S５３０７では、スタックXから２枚の画像をポップし、それらとS５３０６で取得した演算子から生成した画像をスタックXへとプッシュする。生成される画像の各画素の値は、スタックから取得された２枚の画像の対応する位置から得られる２つの画素値に対しS５３０６直前に得られた演算子による論理演算を施した結果とする。最終的にスタックに一つだけ残る画像はオブジェクトの最終的な形状を反映しており、オブジェクトの領域が１で、それ以外の領域が０となる。
【０２６６】
（１１−４）サブ平面領域のデータの変更例１
図４６のvcr_inside_flagはサブ平面領域のデータに含まれる必要は無く、vcr_ruleの中にNOT演算子の形で記述することも可能である。ほかにもvcr_ruleが含むデータについては最終的にサブ平面領域の間の重ね合わせを定義できればよく、その記法が逆ポーランド記法である必要はない。また、図４５のvcr_rule_code、vcr_fule_length、vcr_ruleに関しては、例えば「省略された場合には全てのサブ平面領域のvcr_flag及びサブ平面領域の輪郭から決定される時空間領域に含まれている領域のみをオブジェクト領域とする」といったデフォルトのルールを作成した上で省略するといった実装も可能である。
【０２６７】
（１１−５）サブ平面領域のデータの変更例２
上記実施形態では、複数のサブ平面領域を重ね合わせてオブジェクト領域を表現したが、これに限らず、一つのサブ平面領域の輪郭データと、その輪郭の内部、または、外部を指定する２値化データを用いて、サブ平面領域の内部、または、外部をオブジェクト領域とするようなデータ構造であってもよい。
【０２６８】
（１２）変更例
なお、本発明は上記した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。例えば、本発明は現在世界的に普及しているＤＶＤ−ＲＯＭビデオのみならず、近年急速に需要が伸びている録画再生可能なＤＶＤ−ＶＲ（ビデオレコーダ）にも適用できる。さらには、近々普及が始まるであろう次世代ＨＤ−ＤＶＤの再生系または録再系にも適用可能である。
【０２６９】
また、上記した実施形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施形態に係る構成要素を適宜組み合わせても良い。
【図面の簡単な説明】
【０２７０】
【図１】本発明の一実施形態に係るハイパーメディアの表示例を説明する図である。
【図２】本発明の一実施形態に係るシステムの構成例を示すブロック図である。
【図３】本発明の一実施形態に係るオブジェクト領域とオブジェクト領域データの関係を説明する図である。
【図４】本発明の一実施形態に係るオブジェクト・メタデータのアクセスユニットのデータ構造例を説明する図である。
【図５】本発明の一実施形態に係るVclickストリームの構成方法を説明する図である。
【図６】本発明の一実施形態に係るVclickアクセス・テーブルの構成例を説明する図である。
【図７】本発明の一実施形態に係る送信用パケットの構成例を説明する図である。
【図８】本発明の一実施形態に係る送信用パケットの別の構成例を説明する図である。
【図９】本発明の一実施形態に係るサーバー・クライアント間の通信例を説明する図である。
【図１０】本発明の一実施形態に係るサーバー・クライアント間の別の通信例を説明する図である。
【図１１】本発明の一実施形態に係るVclickストリームのヘッダのデータ要素の例を説明する図である。
【図１２】本発明の一実施形態に係るVclickアクセスユニット（ＡＵ）のヘッダのデータ要素の例を説明する図である。
【図１３】本発明の一実施形態に係るVclickアクセスユニット（ＡＵ）のタイムスタンプのデータ要素の例を説明する図である。
【図１４】本発明の一実施形態に係るVclickアクセスユニット（ＡＵ）のタイムスタンプ・スキップのデータ要素の例を説明する図である。
【図１５】本発明の一実施形態に係るオブジェクト属性情報のデータ要素の例を説明する図である。
【図１６】本発明の一実施形態に係るオブジェクト属性情報の種類の例を説明する図である。
【図１７】本発明の一実施形態に係るオブジェクトの名前属性のデータ要素の例を説明する図である。
【図１８】本発明の一実施形態に係るオブジェクトのアクション属性のデータ要素の例を説明する図である。
【図１９】本発明の一実施形態に係るオブジェクトの輪郭線属性のデータ要素の例を説明する図である。
【図２０】本発明の一実施形態に係るオブジェクトの点滅領域属性のデータ要素の例を説明する図である。
【図２１】本発明の一実施形態に係るオブジェクトのモザイク領域属性のデータ要素の例を説明する図である。
【図２２】本発明の一実施形態に係るオブジェクトの塗りつぶし領域属性のデータ要素の例を説明する図である。
【図２３】本発明の一実施形態に係るオブジェクトのテキスト情報データのデータ要素の例を説明する図である。
【図２４】本発明の一実施形態に係るオブジェクトのテキスト属性のデータ要素の例を説明する図である。
【図２５】本発明の一実施形態に係るオブジェクトのテキスト・ハイライト効果属性のデータ要素の例を説明する図である。
【図２６】本発明の一実施形態に係るオブジェクトのテキスト・ハイライト効果属性のエントリーのデータ要素の例を説明する図である。
【図２７】本発明の一実施形態に係るオブジェクトのテキスト点滅効果属性のデータ要素の例を説明する図である。
【図２８】本発明の一実施形態に係るオブジェクトのテキスト点滅効果属性のエントリーのデータ要素の例を説明する図である。
【図２９】本発明の一実施形態に係るオブジェクトのテキストスクロール効果属性のデータ要素の例を説明する図である。
【図３０】本発明の一実施形態に係るオブジェクトのテキスト・カラオケ効果属性のデータ要素の例を説明する図である。
【図３１】本発明の一実施形態に係るオブジェクトのテキスト・カラオケ効果属性のエントリーのデータ要素の例を説明する図である。
【図３２】本発明の一実施形態に係るオブジェクトの階層属性拡張のデータ要素の例を説明する図である。
【図３３】本発明の一実施形態に係るオブジェクトの階層属性拡張のエントリーのデータ要素の例を説明する図である。
【図３４】本発明の一実施形態に係るVclickアクセスユニット（ＡＵ）のオブジェクト領域データのデータ要素の例を説明する図である。
【図３５】本発明の一実施形態に係るエンハンスドＤＶＤビデオディスクの構造の例を説明する図である。
【図３６】本発明の一実施形態に係るエンハンスドＤＶＤビデオディスク内のディレクトリ構成の例を説明する図である。
【図３７】本発明の一実施形態に係る通常再生の開始処理手順を表す流れ図（Vclickデータがサーバー装置にある場合）。
【図３８】本発明の一実施形態に係る別の通常再生の開始処理手順を表す流れ図である（Vclickデータがサーバー装置にある場合）。
【図３９】本発明の一実施形態に係る通常再生の終了処理手順を表す流れ図である（Vclickデータがサーバー装置にある場合）。
【図４０】本発明の一実施形態に係るランダムアクセス再生の開始処理手順を表す流れ図である（Vclickデータがサーバー装置にある場合）。
【図４１】本発明の一実施形態に係る別のランダムアクセス再生の開始処理手順を表す流れ図である（Vclickデータがサーバー装置にある場合）。
【図４２】本発明の一実施形態に係る通常再生の開始処理手順を表す流れ図である（Vclickデータがクライアント装置にある場合）。
【図４３】本発明の一実施形態に係るランダムアクセス再生の開始処理手順を表す流れ図である（Vclickデータがクライアント装置にある場合）。
【図４４】本発明の一実施形態に係るハイパーメディアの表示例を説明する図である。
【図４５】本発明の一実施形態に係る図３４とは別のVclickアクセスユニット（ＡＵ）のオブジェクト領域データのデータ要素の例を説明する図である。
【図４６】本発明の一実施形態に係る図４５のオブジェクト領域データのに含まれる要素vcr_subregion_dataを説明する図である。
【図４７】本発明の一実施形態に係るオブジェクト領域の表現方法を説明する図である。
【図４８】本発明の一実施形態に係るオブジェクト領域の算出手順を説明する流れ図である。
【符号の説明】
【０２７１】
２００…クライアント装置
２０１…サーバー装置
２０２…Vclickエンジン
２０３…動画再生エンジン
２２１…サーバー装置とクライアント装置を結ぶネットワーク
３０１〜３０５…Vclickアクセスユニット
２０１４００…Vclickアクセスユニットのオブジェクト領域データ
４０１…Vclickアクセスユニットのヘッダ
４０２…Vclickアクセスユニットのタイムスタンプ
４０３…Vclickアクセスユニットのオブジェクト属性情報
【図１】
2006050275.tif 000004
【図２】
2006050275.tif 000005
【図３】
2006050275.tif 000006
【図４】
2006050275.tif 000007
【図５】
2006050275.tif 000008
【図６】
2006050275.tif 000009
【図７】
2006050275.tif 000010
【図８】
2006050275.tif 000011
【図９】
2006050275.tif 000012
【図１０】
2006050275.tif 000013
【図１１】
2006050275.tif 000014
【図１２】
2006050275.tif 000015
【図１３】
2006050275.tif 000016
【図１４】
2006050275.tif 000017
【図１５】
2006050275.tif 000018
【図１６】
2006050275.tif 000019
【図１７】
2006050275.tif 000020
【図１８】
2006050275.tif 000021
【図１９】
2006050275.tif 000022
【図２０】
2006050275.tif 000023
【図２１】
2006050275.tif 000024
【図２２】
2006050275.tif 000025
【図２３】
2006050275.tif 000026
【図２４】
2006050275.tif 000027
【図２５】
2006050275.tif 000028
【図２６】
2006050275.tif 000029
【図２７】
2006050275.tif 000030
【図２８】
2006050275.tif 000031
【図２９】
2006050275.tif 000032
【図３０】
2006050275.tif 000033
【図３１】
2006050275.tif 000034
【図３２】
2006050275.tif 000035
【図３３】
2006050275.tif 000036
【図３４】
2006050275.tif 000037
【図３５】
2006050275.tif 000038
【図３６】
2006050275.tif 000039
【図３７】
2006050275.tif 000040
【図３８】
2006050275.tif 000041
【図３９】
2006050275.tif 000042
【図４０】
2006050275.tif 000043
【図４１】
2006050275.tif 000044
【図４２】
2006050275.tif 000045
【図４３】
2006050275.tif 000046
【図４４】
2006050275.tif 000047
【図４５】
2006050275.tif 000048
【図４６】
2006050275.tif 000049
【図４７】
2006050275.tif 000050
【図４８】
2006050275.tif 000051