説明

メタデータのデータ構造及びメタデータの再生装置と方法

【課題】利用可能なメモリサイズに上限のある再生機器において、データサイズの小さなスクリプトやハイパーテキスト(HTML)を多数含む動画像のメタデータの再生時に発生するCDやDVDのシーク回数や多数のネットワーク経由でのファイル要求送受信回数を抑制することができるメタデータの構造を提供する。
【解決手段】動画像のメタデータにおいて、アクセスユニットAU#2〜AU#3がEF#1を、AU#2〜AU#4がEF#2を必要とする場合、EF#1、EF#2がAU#2よりも前に埋め込み、AU内のスクリプトは、参照するEFの特定にはファイル名やファイル識別子や仮想バッファオフセットを用い、ファイル埋め込みとそのファイルの特定は、EF、AUにそれぞれファイル識別情報を持たせておき、スクリプトからファイル識別情報を指定することで実現する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアント装置にある動画像データと、クライアント装置もしくはネットワーク上のサーバー装置にあるメタデータとを組み合わせて動画像ハイパーメディアを実現したり、また動画像にテロップや吹き出しを表示したりするメタデータのデータ構造及びメタデータの再生装置と方法に関する。
【背景技術】
【0002】
ハイパーメディアは、動画像、静止画像、音声、テキストなどのメディア間にハイパーリンクと呼ばれる関連性を定義し、相互に、または一方から他方を参照できるようにしたものである。例えばインターネットを使って閲覧することのできるHTMLで記述されたホームページには、テキストや静止画が配置されており、これらテキストや静止画のいたるところにリンクが定義されている。そしてこれらのリンクを指定することにより直ちにリンク先である関連情報を表示させることができる。興味のある語句を直接指示すれば関連情報にアクセスできるため、操作が容易かつ直感的である。
【0003】
一方、テキストや静止画ではなく動画像を中心にしたハイパーメディアでは、動画像中に登場する人や物などのオブジェクトからそれを説明するテキストや静止画などの関連コンテンツへのリンクが定義されており、視聴者がこのオブジェクトを指示することによりこれら関連コンテンツが表示される。このとき、動画像に登場するオブジェクトの時空間的な領域とその関連コンテンツへのリンクを定義するには、動画像中のオブジェクトの時空間的な領域を表すデータ(オブジェクト領域データ)が必要となる。
【0004】
オブジェクト領域データとしては、2値以上の値を持つマスク画像系列、MPEG−4の任意形状符号化、特許文献1で説明されている図形の特徴点の軌跡を記述する方法、さらに特許文献2で説明されている方法などを用いることができる。動画像中心のハイパーメディアを実現するためには、このほかにもオブジェクトが指定されたときに他の関連コンテンツを表示させるという動作を記述したデータ(動作情報)などが必要となる。これらの動画像以外のデータを動画像のメタデータと呼ぶことにする。
【0005】
動画像とメタデータを視聴者に提供する方法としては、まず動画像とメタデータの両方が記録された記録媒体(ビデオCD、DVDなど)を作る方法がある。また、すでにビデオCDやDVDとして所有している動画像のメタデータを提供するには、メタデータのみをネットワーク上からダウンロード、もしくはストリーミングにより配信すればよい。さらに、動画像とメタデータの両方のデータをネットワークで配信しても良い。このとき、メタデータは効率的にバッファを使用することが可能で、ランダムアクセスに適しており、ネットワークにおけるデータロスに強い形式であることが望ましい。
【0006】
また、メタデータが必要とするテキストや静止画などの関連コンテンツデータ(以下、コンテンツファイルと呼ぶ)は、メタデータ中への埋め込みが可能であることが望ましい。
【特許文献1】特開2000−285253公報
【特許文献2】特開2001−111996公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
視聴者の手元にある動画像に関連したメタデータであり、ネットワークを介して視聴者の元にストリーミング配信されたり、視聴者の元にあって再生されたりするメタデータに於いては、メタデータが必要とするテキストや静止画などの関連コンテンツデータのメタデータへの埋め込み、及び埋め込まれた関連コンテンツデータのメタデータ内からの参照が可能であることが望まれる。
【0008】
本発明は上記の課題を解決すべくなされたものである。
【課題を解決するための手段】
【0009】
本発明の一実施の形態に係る動画像メタデータ(そのデータ構造)は、独立して処理可能なデータ単位であるアクセスユニットを、一つまたは複数含むことにより構成される。ここで、アクセスユニット(図4のVclick_AU)は、動画像の時間軸に対して定義される有効期間内に関する情報として、前記有効期間を特定する第1データ(402)と、前記動画像中の時空間領域を記述したオブジェクト領域データ(400)と、前記時空間領域に関連した表示方法を特定するデータ及び前記時空間領域を指定された際に行う処理を特定するデータのうちの少なくとも1つを含む第2データ(403)を含んで構成される。
【0010】
アクセスユニットが必要とするファイル(図47のEF)を、そのファイルを必要とするアクセスユニット(図47のAU)の前にファイル管理情報とともに埋め込むことで、関連コンテンツデータのメタデータへの埋め込みを可能とする。
【0011】
また、ファイル管理情報にファイル名を含めておき、メタデータに埋め込まれた関連コンテンツデータからファイル名を指定することで、関連コンテンツデータのメタデータ内からの参照を可能とする。
【発明の効果】
【0012】
関連コンテンツデータは、ファイルサイズ(コンテンツファイルのデータ長)の小さいコンテンツファイルとして提供されることが多い。このようなファイルをそれぞれ別々に記録すると、ビデオCDやDVDに記録する際はそれらのシーク回数の増加を招きやすい。メタデータをネットワークで配信する際は、ファイル送信要求のための接続回数が増加しやすく、ネットワーク負荷の増大を招きやすい。メタデータへの埋め込みを可能とすることで、これらの問題を解決できる。さらに、メタデータを記録あるいは配信する際に暗号化が施されていれば、関連コンテンツデータも同じ方法で保護することができる。
【発明を実施するための最良の形態】
【0013】
以下、図面を参照しながら本発明の一実施形態を説明する。
【0014】
(1)アプリケーションの概要
図1は本発明のオブジェクト・メタデータを動画像と共に利用することにより実現されるアプリケーション(動画像ハイパーメディア)の画面上の表示例である。図1(a)の100は動画像の再生画面、そして101はマウスカーソルである。動画像の再生画面100で再生される動画像のデータは、ローカルにある動画像データ記録媒体に記録されている。102は動画像中に登場するオブジェクトの領域である。ユーザがオブジェクトの領域内にマウスカーソルを移動させてクリック等によりオブジェクトを選択すると、所定の機能が実行される。例えば図1(b)では、ローカル及び/またはネットワーク上にあるドキュメント(クリックされたオブジェクトに関連した情報)103が表示されている。そのほか、動画像の別の場面にジャンプしたり、別の動画像ファイルが再生されたり、再生モードを変更するなどの機能を実行することができる。
【0015】
オブジェクトの領域102のデータ及びこの領域がクリック等により指定された場合のクライアント装置の動作データなどをまとめて、オブジェクト・メタデータまたはVclickデータと呼ぶことにする。Vclickデータはローカルにある動画像データ記録媒体(光ディスク、ハードディスク、半導体メモリ等)に動画像データと共に記録されていても良いし、ネットワーク上のサーバーに蓄積されていてネットワーク経由でクライアントに送られるようにしても良い。
【0016】
図44は本発明のVclickデータを動画像と共に利用することにより実現されるアプリ
ケーション(動画像ハイパーメディア)の図1とは別の画面上の表示例である。図1では動画像、関連情報を表示するウインドウはそれぞれ別々であったが、図44では一つのウインドウA01に動画像A02と関連情報A03が表示されている。関連情報としてテキストのみでなく、静止画A04やA02とは別の動画像を表示させることも可能である。
【0017】
以下ではこれらのアプリケーションがどのように実現されるかについて詳細に説明する。
【0018】
(2)システム構成
図2は本発明の一実施形態に係るストリーミング装置(ネットワーク対応ディスクプレーヤ)の概略構成を示す図である。この図を用いて各構成要素の機能について説明する。
【0019】
200はクライアント装置、201はサーバー装置、221はサーバー装置とクライアント装置を結ぶネットワークである。クライアント装置200は、動画再生エンジン203、Vclickエンジン202、ディスク装置230、ユーザ・インタフェース240、ネットワーク・マネージャー208、ディスク装置マネージャー213、を備えている。また、204から206は動画再生エンジンに含まれる装置、207、209から212、214から218はVclickエンジンに含まれる装置、219と220はサーバー装置に含まれる装置である。クライアント装置200はディスク装置230にある動画像データの再生や、HTML等のマークアップ言語で書かれたドキュメントの表示を行うことができる。また、ネットワーク上にあるHTML等のドキュメントの表示を行うことも可能である。
【0020】
動画像データ記録媒体231に記録された動画像データに関連したVclickデータは、動
画像データ記録媒体231に動画像データと共に記録されている場合と、サーバー装置201のメタデータ記録媒体219に記録されている場合とがある。Vclickデータがサーバー装置201に存在する場合、クライアント装置200はこのVclickデータとディスク装置230にある動画像データとを利用した再生を以下のように行うことが可能である。まず、サーバー装置201はクライアント装置200からの要求によりネットワーク221を介してクライアント装置200にVclickデータを含むメディアデータM1を送る。クライアント装置200では、送られてきたVcilckデータを動画像の再生と同期させて処理することでハイパーメディアなどの付加機能を実現させる。
【0021】
動画再生エンジン203は、ディスク装置230にある動画像データを再生するためのエンジンであり、204、205、206の装置を有している。231は動画像データ記録媒体であり、具体的にはDVD、ビデオCD、ビデオテープ、ハードディスク、半導体メモリなどである。動画像データ記録媒体231にはデジタル及び/またはアナログの動画像データが記録されている。動画像データに関連したメタデータは、動画像データと共に動画像データ記録媒体231に記録されている場合もある。205は、動画像再生制御用のコントローラであり、Vclickエンジン202のインタフェース・ハンドラー207から出力される“コントロール”信号に応じて、動画像データ記録媒体231からの映像・音声・副映像データD1の再生を制御することもできるように構成されている。
【0022】
具体的には、動画像再生コントローラ205は、動画像の再生時に、インタフェース・ハンドラー207からあるイベント(例えばユーザ指示によるメニュー・コールやタイトル・ジャンプ)が発生した際に送信される“コントロール”信号に応じて、インタフェース・ハンドラー207に対して、映像・音声・副映像データD1の再生状況を示す“トリガ”信号を出力することができる。その際(トリガ信号の出力と同時に、あるいはその前後の適当なタイミングで)、動画像再生コントローラ205は、プロパティ情報(例えばプレーヤに設定されている音声言語、副映像字幕言語、再生動作、再生位置、各種時間情報、ディスクの内容等)を示す“ステータス”信号をインタフェース・ハンドラー207に出力することができる。これらの信号の送受信により動画像データ読み出しの開始及び停止や、動画像データ中の所望の位置へのアクセスが可能となる。
【0023】
AVデコーダ206は、動画像データ記録媒体231に記録されている映像データ、音声データ、及び副映像データをそれぞれデコードし、デコードされた映像データ(前述の映像データと前述の副映像データを合成したもの)と音声データをそれぞれ出力する機能を持っている。これにより、動画再生エンジン203は、既存のDVDビデオ規格に基づいて製造される通常のDVDビデオプレーヤの再生エンジンと同じ機能を持つようになる。つまり、図2のクライアント装置200は、MPEG2プログラムストリーム構造の映像、音声等のデータを通常のDVDビデオプレーヤと同様に再生することができ、これにより既存のDVDビデオディスク(従来のDVDビデオ規格に則ったディスク)の再生が可能となる(既存DVDソフトに対する再生互換確保)。
【0024】
インタフェース・ハンドラー207は、動画像再生エンジン203、ディスク装置マネージャー213、ネットワーク・マネージャー208、メタデータ・マネージャー210、バッファ・マネージャー211、スクリプト・インタプリタ212、メディア・デコーダ216(メタデータ・デコーダ217を含む)、レイアウト・マネージャー215、AVレンダラー218などのモジュール間のインタフェース制御を行う。また、ユーザ操作(マウス、タッチパネル、キーボード等の入力デバイスへの操作)による入力イベントをユーザ・インタフェース240から受け取り、適切なモジュールにイベントを送信する。
【0025】
インタフェース・ハンドラー207はVclickアクセス・テーブル(後述)を解釈するアクセステーブル・パーサー、Vclick情報ファイル(後述)を解釈する情報ファイル・パーサー、Vclickエンジンの管理するプロパティを記録しておくプロパティ・バッファ、Vclickエンジンのシステムクロック、動画再生エンジンにある動画像クロック204のクロックをコピーした動画像クロック等を有している。
【0026】
ネットワーク・マネージャー208は、ネットワークを介してHTML等のドキュメントや静止画・音声等のデータをバッファ209へ取得する機能を持っており、インターネット接続部222の動作を制御する。ネットワーク・マネージャー212は、ユーザ操作または、メタデータ・マネージャー210からの要求を受けたインタフェース・ハンドラー207より、ネットワークへの接続や非接続の指示が来ると、インターネット接続部222の接続・非接続の切替を行う。また、サーバー装置201とインターネット接続部222とのネットワーク確立時には、制御データやVclickデータ等のメディアデータの送受信を行う。メディアデータにはVclickデータ、HTML等のドキュメントやこれに付随する静止画・動画像データなどが含まれる。
【0027】
クライアント装置200からサーバー装置201へ送信するデータとしては、セッション構築の要求、セッション終了の要求、Vclickデータ等のメディアデータ送信の要求、OKやエラーなどのステータス情報などがある。また、クライアント装置の状態情報の送信を行うようにしても良い。一方、サーバー装置からクライアント装置へ送信するデータにはVclickデータ等のメディアデータ、OKやエラーなどのステータス情報がある。
【0028】
ディスク装置マネージャー213は、HTML等のドキュメントや静止画・音声等のデータをバッファ209へ取得する機能及び、動画再生エンジン203へ映像・音声・副映像データD1を送信する機能を持っている。ディスク装置マネージャー213は、メタデータ・マネージャー210からの指示に従ってデータ送信処理を行う。
【0029】
バッファ209は、ネットワークを介して(ネットワーク・マネージャー経由で)サーバー装置201から送られてきたVclickデータ等のメディアデータM1を一時的に蓄積する。なお、動画像データ記録媒体231にメディアデータM2が記録されている場合にも、同様にディスク装置マネージャー経由でバッファ209へメディアデータM2を蓄積する。
【0030】
動画像データ記録媒体231にメディアデータM2が記録されている場合は、映像・音声・副映像データD1の再生を開始する前にあらかじめ動画像データ記録媒体231からメディアデータM2を読み出し、バッファ209に記憶しておいてもよい。これは、動画像データ記録媒体231上のメディアデータM2と映像・音声・副映像データD1のデータ記録位置が異なるため、通常の再生を行った場合にはディスクのシーク等が発生してシームレスな再生が保障できなくなってしまうため、これを回避するための手段となる。
【0031】
以上のように、サーバー装置201からダウンロードしたVclickデータ等のメディアデータM1も、動画像データ記録媒体231に記録されているVclickデータ等のメディアデータM2と同様に、バッファ209に記憶させることにより、映像・音声・副映像データD1とメディアデータを同時に読み出して再生することが可能になる。
【0032】
なお、バッファ209の記憶容量には限界がある。つまり、バッファ209に記憶できるメディアデータM1、M2のデータサイズには限りがある。このため、メタデータ・マネージャー210、及び/またはバッファ・マネージャー211の制御(バッファ・コントロール)により、不必要なデータの消去を行うことにしてもよい。
【0033】
メタデータ・マネージャー210は、バッファ209に蓄積されたメタデータを管理しており、インタフェース・ハンドラー207からの動画像の再生に同期させた適切なタイミング(“動画像クロック”信号)を受けて、該当するタイムスタンプを持つメタデータをバッファ209よりメディア・デコーダ216に転送する。
【0034】
なお、該当するタイムスタンプを持つVcilckデータがバッファ209に存在しない場合は、メディア・デコーダ216に転送しなくてもよい。また、メタデータ・マネージャー210は、バッファ209より送出したVclickデータのサイズ分、または、任意のサイズのデータをサーバー装置201、またはディスク装置230からバッファ209へ読み込むためのコントロールを行う。具体的な処理としては、メタデータ・マネージャー210は、インタフェース・ハンドラー207経由で、ネットワーク・マネージャー208、またはディスク装置マネージャー213に対し、指定サイズ分のVcilckデータ取得要求を行う。ネットワーク・マネージャー208、またはディスク装置マネージャー213は、指定サイズ分のVclickデータをバッファ209に読み込み、Vclickデータ取得済の応答をインタフェース・ハンドラー207経由で、メタデータ・マネージャー210へ通知する。
【0035】
バッファ・マネージャー211は、バッファ209に蓄積されたVclickデータ以外のデータ(HTML等のドキュメントやこれに付随する静止画・動画像データなど)の管理をしており、インタフェース・ハンドラー207からの動画像の再生に同期させた適切なタイミング(“動画像クロック”信号)を受けてバッファ209に蓄積されたVclickデータ以外のデータをパーサー214やメディア・デコーダ216に送る。バッファ・マネージャー211は、不要になったデータをバッファ209から削除してもよい。
【0036】
パーサー214は、HTML等のマークアップ言語で書かれたドキュメントの構文解析を行い、スクリプトはスクリプト・インタプリタ212へ、そしてレイアウトに関する情報はレイアウト・マネージャー215に送る。
【0037】
スクリプト・インタプリタ212は、パーサー214から入力されるスクリプトを解釈し、実行する。スクリプトの実行には、インタフェース・ハンドラー207から入力されるイベントやプロパティの情報を利用することもできる。動画像中のオブジェクトがユーザにより指定された場合には、スクリプトはメタデータ・デコーダ217からスクリプト・インタプリタ212へ入力される。
【0038】
AVレンダラー218は、映像・音声・テキスト出力を制御する機能をもつ。具体的には、AVレンダラー218は、レイアウト・マネージャー215から出力される“レイアウト・コントロール”信号に応じて、例えば、映像・テキストの表示位置、表示サイズや(これらとともに表示タイミング、表示時間を含むこともある)、音声の大きさ(これらとともに出力タイミング、出力時間を含むこともある)を制御したり、指定されているモニターの種別かつ/または表示する映像の種類に応じて、その映像の画素変換を行う。制御の対象となる映像・音声・テキスト出力は、動画再生エンジン203及びメディア・デコーダ216からの出力である。さらに、AVレンダラー218は、インタフェース・ハンドラー207から出力される“AV出力コントロール”信号に従って、動画再生エンジン203から入力される映像・音声データとメディア・デコーダから入力される映像・音声・テキストデータのミキシング(混合)、スイッチング(切替)を制御する機能をもつ。
【0039】
レイアウト・マネージャー215は、“レイアウト・コントロール”信号をAVレンダラー218に出力する。“レイアウト・コントロール”信号には、出力する動画・静止画・テキストの大きさやその位置に関する情報(表示開始・終了・継続といった表示時間に関する情報を含む場合もある)が含まれており、どのようなレイアウトで表示すべきかをAVレンダラー218に指示するための情報となっている。また、インタフェース・ハンドラー207から入力されるユーザのクリック等の入力情報に対して、どのオブジェクトが指定されたのかを判定し、指定されたオブジェクトに対して定義された関連情報の表示などの動作命令を取り出すようにメタデータ・デコーダ217に対して指示する。取り出された動作命令は、スクリプト・インタプリタ212に送られ実行される。
【0040】
メディア・デコーダ216(メタデータ・デコーダを含む)は、動画・静止画・テキストデータをデコードする。これらデコードされた映像データ、テキスト画像データをメディア・デコーダ216からAVレンダラー218に送信する。また、これらデコードデータは、インタフェース・ハンドラー202からの“メディア・コントロール”信号の指示によりデコードを行うとともに、インタフェース・ハンドラー202からの“タイミング”信号に同期してデコードが行われる。
【0041】
219はサーバー装置のメタデータ記録媒体であり、クライアント装置200に送信するVcilckデータが記録されたハードディスク、半導体メモリ、磁気テープなどである。このVclickデータは、動画像データ記録媒体231に記録されている動画像データに関連したメタデータである。このVclickデータには、後で説明するオブジェクト・メタデータが含まれている。220はサーバーのネットワーク・マネージャーであり、クライアント装置200とネットワーク221を介してデータの送受信を行う。
【0042】
(3)EDVDデータ構造とIFOファイル
図35は、動画像データ記録媒体231としてエンハンスドDVDビデオディスクを用いた際のデータ構造の一例を示す図である。エンハンスドDVDビデオディスクのDVDビデオエリアは、DVDビデオ規格と同じデータ構造のDVDビデオコンテンツ(MPEG2プログラムストリーム構造を持つ)を格納する。さらに、エンハンスドDVDビデオディスクの他の記録エリアは、ビデオコンテンツの再生をバラエティに富んだものにできるエンハンスド・ナビゲーション(以下ENAVと略記する)コンテンツを格納する。なお、上記記録エリアは、DVDビデオ規格でも存在が認められている。
【0043】
ここで、DVDビデオディスクの基本的なデータ構造について説明する。すなわち、DVDビデオディスクの記録エリアは、内周から順にリードインエリア、ボリュームスペース、及びリードアウトエリアを含んでいる。ボリュームスペースは、ボリューム/ファイル構造情報エリア、及びDVDビデオエリア(DVDビデオゾーン)を含み、さらにオプションで他の記録エリア(DVDアザーゾーン)を含むことができる。
【0044】
上記ボリューム/ファイル構造情報エリア2は、UDF(Universal Disk Format)ブリッジ構造のために割り当てられたエリアである。UDFブリッジフォーマットのボリュームは、ISO/IEC13346のパート2に従って認識されるようになっている。このボリュームを認識するスペースは、連続したセクタからなり、図35のボリュームスペースの最初の論理セクタから始まる。その最初の16論理セクタは、ISO9660で規定されるシステム使用のために予約されている。従来のDVDビデオ規格との互換性を確保するには、このような内容のボリューム/ファイル構造情報エリアが必要となる。
【0045】
また、DVDビデオエリアには、ビデオマネージャVMGという管理情報と、ビデオ・タイトルセットVTS(VTS#1〜VTS#n)というビデオコンテンツが1つ以上記録されている。VMGは、DVDビデオエリアに存在する全てのVTSに対する管理情報であり、制御データVMGI、VMGメニュー用データVMGM_VOBS(オプション)、及びVMGのバックアップデータを含んでいる。また、各VTSは、そのVTSの制御データVTSI、VTSメニュー用データVTSM_VOBS(オプション)、そのVTS(タイトル)の内容(映画等)のデータVTSTT_VOBS、及びVTSIのバックアップデータを含んでいる。従来のDVDビデオ規格との互換性を確保するには、このような内容のDVDビデオエリアも必要となる。
【0046】
各タイトル(VTS#1〜VTS#n)の再生選択メニュー等は、VMGを用いてプロバイダ(DVDビデオディスクの制作者)により予め与えられ、特定タイトル(例えばVTS#1)内での再生チャプター選択メニューや記録内容(セル)の再生手順等は、VTSIを用いてプロバイダにより予め与えられている。従って、ディスクの視聴者(DVDビデオプレーヤのユーザ)は、予めプロバイダにより用意されたVMG/VTSIのメニューやVTSI内の再生制御情報(プログラムチェーン情報PGCI)に従ってそのディスク1の記録内容を楽しむことができる。しかし、DVDビデオ規格では、視聴者(ユーザ)が、プロバイダが用意したVMG/VTSIと異なる方法でVTSの内容(映画や音楽)を再生することはできない。
【0047】
プロバイダが用意したVMG/VTSIと異なる方法でVTSの内容(映画や音楽)を再生したり、プロバイダが用意したVMG/VTSIとは異なる内容を付加して再生したりする仕組みのために用意したのが、図35のエンハンスドDVDビデオディスクである。このディスクに含まれるENAVコンテンツは、DVDビデオ規格に基づき製造されたDVDビデオプレーヤではアクセスできない(仮にアクセスできたとしてもその内容を利用できない)が、本発明の一実施形態のDVDビデオプレーヤではアクセスでき、その再生内容を利用できるようになっている。
【0048】
ENAVコンテンツは、音声、静止画、フォント・テキスト、動画、アニメーション、Vclickデータ等のデータと、これらの再生を制御するための情報であるENAVドキュメント(これはMarkup/Script言語で記述されている)を含むように構成される。この再生を制御するための情報には、ENAVコンテンツ(音声、静止画、フォント・テキスト、動画、アニメーション、Vclick等から構成される)及び/またはDVDビデオコンテンツの再生方法(表示方法、再生手順、再生切換手順、再生対象の選択等)がMarkup言語やScript言語を用いて記述されている。例えば、Markup言語として、HTML(Hyper Text Markup Language)/XHTML(eXtensible Hyper Text Markup Language)やSMIL(Synchronized Multimedia Integration Language)、Script言語として、ECMA(European Computer Manufacturers Association)ScriptやJavaScriptのようなScript言語などを組み合わせながら用いることができる。
【0049】
ここで、図35のエンハンスドDVDビデオディスクは、他の記録エリア以外の内容がDVDビデオ規格に従っているので、既に普及しているDVDビデオプレーヤを用いても、DVDビデオエリアに記録されたビデオコンテンツを再生できる(つまり従来のDVDビデオディスクと互換性がある)。他の記録エリアに記録されたENAVコンテンツは従来のDVDビデオプレーヤでは再生できない(あるいは利用できない)が、本発明の一実施形態に係るDVDビデオプレーヤでは再生でき利用できる。従って、本発明の一実施形態に係るDVDビデオプレーヤを用いENAVコンテンツを再生すれば、プロバイダが予め用意したVMG/VTSIの内容だけに限定されることなく、よりバラエティに富んだビデオ再生が可能になる。
【0050】
特に、図35に示すように、ENAVコンテンツはVclickデータを含み、このVclickデータは、Vclick情報ファイル(Vclickインフォ)、Vclickアクセス・テーブル、Vclickストリーム、Vclick情報ファイル・バックアップ(Vclickインフォ・バックアップ)、Vclickアクセス・テーブル・バックアップを含んで構成される。
【0051】
Vclick情報ファイルは、後述のVclickストリームが、DVDビデオコンテンツのどの箇所(例えば、DVDビデオコンテンツのタイトル全体、チャプター全体、あるいはその一部等)に付加しているかを表すデータである。Vclickアクセス・テーブルは、後述のVclickストリームごとに存在し、Vclickストリームにアクセスするためのテーブルである。Vclickストリームは、動画像中のオブジェクトの位置情報やオブジェクトがクリックされた際の動作記述等のデータを含むストリームである。Vclick情報ファイル・バックアップは、前述のVclick情報ファイルのバックアップであり、Vclick情報ファイルと常に同じ内容のものである。また、Vclickアクセス・テーブル・バックアップは、前述のVclickアクセス・テーブルのバックアップであり、Vclickアクセス・テーブルと常に同じ内容のものである。図35の例ではVclickデータはエンハンスドDVDビデオディスク上に記録されている。しかし、前述したようにVclickデータはネットワーク上のサーバー装置に置かれている場合もある。
【0052】
図36は、上述した、Vclick情報ファイル、Vclickアクセス・テーブル、Vclickストリーム、Vclick情報ファイル・バックアップ、Vclickアクセス・テーブル・バックアップを構成するためのファイルの例を示す。Vclick情報ファイルを構成するファイル(VCKINDEX.IFO)は、XML(Extensible Markup Language)言語で記述されており、Vclickストリームと、そのVclickストリームが付加されるDVDビデオコンテンツの位置情報(VTS番号、タイトル番号、PGC番号等)が記述されている。Vclickアクセス・テーブルは、一つ以上のファイルから構成されており(VCKSTR01.IFO〜VCKSTR99.IFO、または、任意のファイル・ネーム)、一つのアクセス・テーブル・ファイルは、一つのVclickストリームに対応する。
【0053】
Vclickストリーム・ファイルは、Vclickストリームの位置情報(ファイルの先頭からの相対バイト・サイズ)と時間情報(対応する動画像のタイムスタンプもしくはファイルの先頭からの相対時間情報)の関係が記述されており、与えられた時間に対応する再生開始位置を検索することができる。
【0054】
Vclickストリームは、一つ以上のファイルから構成されており(VCKSTR01.VCK〜VCKSTR99.VCK、または、任意のファイル・ネーム)、前述のVclick情報ファイルの記述を参照して、付加されるDVDビデオコンテンツとともに再生できる。また、複数の属性が存在する場合(例えば、日本語用Vclickデータと英語用Vclickデータ等)、属性ごとに異なるVclickストリーム、つまり異なるファイルとして構成することも可能であり、それぞれの属性をマルチプレクスして、一つのVclickストリーム、つまり一つのファイルとして構成することも可能である。なお、前者(異なる属性を複数のVclickストリームで構成)の場合は、再生装置(プレーヤ)にいったん記憶させるときのバッファ占有容量を少なくすることができる。また、後者(異なる属性を一つのVclickストリームで構成)の場合は、属性を切り替えるとき、ファイルを切り替えずに、一つのファイルを再生したままでよいので、切り替える速度を速くすることができる。
【0055】
ここで、VclickストリームとVclickアクセス・テーブルの関連付けは、例えば、ファイル名にて行うことが可能である。前述の例においては、一つのVclickストリーム(VCKSTRXX.VCK、XXは01〜99)に対して、一つのVclickアクセス・テーブル(VCKSTRXX.IFO、XXは01〜99)を割り当てており、拡張子以外のファイル名を同じものにすることにより、VclickストリームとVclickアクセス・テーブルの関連付けが識別可能になる。
【0056】
これ以外にも、Vclick情報ファイルにて、VclickストリームとVclickアクセス・テーブルの関連付けを記述することにより(並行に記述することにより)、VclickストリームとVclickアクセス・テーブルの関連付けが識別可能になる。
【0057】
Vclick情報ファイル・バックアップはVCKINDEX.BUPファイルにて構成されており、前述のVclick情報ファイル(VCKINDEX.IFO)と全く同じ内容のものである。VCKINDEX.IFOが何らかの理由により(ディスクの傷や汚れ等により)、読み込みが不可能な場合、このVCKINDEX.BUPを代わりに読み込むことにより、所望の手続きを行うことができる。Vclickアクセス・テーブル・バックアップはVCKSTR01.BUP〜VCKSTR99.BUPファイルにて構成されており、前述のVclickアクセス・テーブル(VCKSTR01.IFO〜VCKSTR99.IFO)と全く同じ内容のものである。一つのVclickアクセス・テーブル(VCKSTRXX.IFO、XXは01〜99)に対して、一つのVclickアクセス・テーブル・バックアップ(VCKSTRXX.BUP、XXは01〜99)を割り当てており、拡張子以外のファイル名を同じものにすることにより、Vclickアクセス・テーブルとVclickアクセス・テーブル・バックアップの関連付けが識別可能になる。VCKSTRXX.IFOが何らかの理由により(ディスクの傷や汚れ等により)、読み込みが不可能な場合、このVCKSTRXX.BUPを代わりに読み込むことにより、所望の手続きを行うことができる。
【0058】
(4)データ構造の概略とアクセス・テーブル
Vclickストリームには、動画像データ記録媒体231に記録されている動画像に登場する人・物などのオブジェクトの領域に関するデータと、クライアント装置200におけるオブジェクトの表示方法とユーザがそれらオブジェクトを指定したときにクライアント装置が取るべき動作のデータが含まれている。以下では、Vclickデータの構造とその構成要素の概要について説明する。
【0059】
まず動画像に登場する人・物などのオブジェクトの領域に関するデータであるオブジェクト領域データについて説明する。
【0060】
図3はオブジェクト領域データの構造を説明する図である。300は、1つのオブジェクトの領域が描く軌跡をX(映像の水平方向の座標値)、Y(映像の垂直方向の座標値)、T(映像の時刻)の3次元座標上に表現したものである。オブジェクト領域はあらかじめ決められた範囲内の時間(例えば0.5秒から1.0秒の間や、2秒から5秒の間、など)ごとにオブジェクト領域データに変換される。図3では1つのオブジェクト領域300が301から305の5つのオブジェクト領域データに変換されており、これらオブジェクト領域データは別々のVclickアクセスユニット(AU)(後述)に格納される。このときの変換方法としては、例えばMPEG−4の形状符号化やMPEG−7の時空間領域記述子などを使うことができる。MPEG―4形状符号化やMPEG−7時空間記述子はオブジェクト領域の時間的な相関を利用してデータ量を削減する方式であるため、途中からデータが復号できないことや、ある時刻のデータが欠落した場合に周囲の時刻のデータも復号できなくなるという問題がある。図3のように長い時間連続して動画像中に登場しているオブジェクトの領域を時間方向に分割してデータ化することにより、ランダムアクセスを容易にし、一部のデータの欠落の影響を軽減することができる。各Vclick_AUは動画像の中である特定の時間区間でのみ有効である。このVclick_AUが有効な時間区間をVclick_AUの有効期間(lifetime)と呼ぶ。
【0061】
図4は、本発明の一実施形態で用いるVclickストリーム中の、独立にアクセス可能な1単位(Vclick_AU)の構造を表したものである。400はオブジェクト領域データである。図3で説明したとおり、ここには1つのオブジェクト領域のある連続した時間区間における軌跡がデータ化されている。このオブジェクト領域が記述されている時間区間をそのVclick_AUのアクティブ期間(active time)と呼ぶ。通常はVclick_AUのアクティブ期間はそのVclick_AUの有効期間と同一である。しかし、Vclick_AUのアクティブ期間をそのVclick_AUの有効期間の一部とすることも可能である。
【0062】
401はVclick_AUのヘッダである。ヘッダ401には、Vclick_AUを識別するためのIDと、そのAUのデータサイズを特定するデータが含まれる。402はタイムスタンプであり、このVclick_AUの有効期間開始のタイムスタンプを示している。通常はVclick_AUのアクティブ期間と有効期間が同一であるため、オブジェクト領域データ400に記述されたオブジェクト領域が動画像のどの時刻に相当するかも示している。図3に示されるように、オブジェクト領域はある時間範囲に及んでいるため、通常はタイムスタンプ402にはオブジェクト領域の先頭の時刻を記述しておく。もちろんオブジェクト領域データに記述されたオブジェクト領域の時間間隔やオブジェクト領域の末尾の時刻も記述するようにしても良い。403はオブジェクト属性情報であり、例えばオブジェクトの名称、オブジェクトが指定された際の動作記述、オブジェクトの表示属性などが含まれる。これらVclick_AU内のデータに関しては、後でより詳細に説明する。Vclick_AUは、先頭から順に処理可能なようにタイムスタンプ順に並べて記録しておくほうが良い。
【0063】
図5は複数のAUをタイムスタンプ順に並べてVclickストリームを生成する方法を説明する図である。この図では、カメラアングル1とカメラアングル2の2つのカメラアングルがあり、クライアント装置でカメラアングルを切り替えると表示される動画像も切り替えられることを想定している。また、選択可能な言語モードには日本語と英語の2種類があり、それぞれの言語に対して別々のVclickデータが用意されている場合を想定している。
【0064】
図5に於いて、カメラアングル1かつ日本語用のVclick_AUは500、501、502であり、カメラアングル2かつ日本語用のVclick_AUのAUは503である。そして英語用のVclick_AUは504と505である。500から505はそれぞれ動画像中の一つのオブジェクトに対応したデータである。すなわち、図3と図4で説明したとおり一つのオブジェクトに関するメタデータは一つまたは複数のVclick_AUで構成されている(図5では1つの長方形が1つのAUを表している)。この図の横軸は動画像中の時間に対応しており、オブジェクトの登場時間に対応させて500から505を表示してある。
【0065】
各Vclick_AUの時間的な区切りは任意でもよいが、図5に例示されるように、全てのオブジェクトに対してVclick_AUの区切りを揃えておくと、データの管理が容易になる。506は、これらのVclick_AU(500から705)から構成されたVclickストリームである。Vclickストリームは、ヘッダ部507に続いてVclick_AUをタイムスタンプ順にならべることにより構成される。
【0066】
選択しているカメラアングルはユーザが視聴中に変更する可能性が高いため、このようにVclickストリームに異なるカメラアングルのVclick_AUを多重化してVclickストリームを作る方が良い。これは、クライアント装置で高速な表示切り替えが可能だからである。例えば、Vclickデータがサーバー装置201に置かれているとき、複数のカメラアングルのVclick_AUを含むVclickストリームをそのままクライアント装置に送信すれば、クライアント装置では視聴中のカメラアングルに対応したVclick_AUが常に届いているため、瞬時にカメラアングルの切り替えができる。もちろん、クライアント装置200の設定情報をサーバー装置201に送り、必要なVclick_AUのみをVclickストリームから選択して送信することも可能であるが、この場合はサーバーとの通信を行う必要があるため多少処理が遅くなる(ただし通信に光ファイバなどの高速手段を用いればこの処理遅延の問題は解決できる)。
【0067】
一方、動画像タイトル、DVDビデオのPGC、動画像のアスペクト比、視聴地域等の属性は変更の頻度が低いため、別々のVclickストリームとして作成しておく方がクライアント装置の処理が軽くなり、ネットワークの付加も軽くなる。複数のVclickストリームがある場合にどのVclickストリームを選択すべきかは、すでに説明したようにVclick情報ファイルを参照して決定できる。
【0068】
サーバー装置201にVclickデータがある場合、動画像が先頭から再生される場合にはサーバー装置201はVclickストリームを先頭から順にクライアント装置に配信すればよい。しかし、ランダムアクセスが生じた場合にはVclickストリームの途中からデータを配信する必要がある。このときに、Vclickストリーム中の所望の位置に高速にアクセスするためには、Vclickアクセス・テーブルが必要となる。
【0069】
図6はVclickアクセス・テーブルの例である。このテーブルはあらかじめ作成され、Vclickストリームと共に記録されている。Vclick情報ファイルと同じファイルにしておくことも可能である。600はタイムスタンプの配列であり、動画像のタイムスタンプが列挙されている。601はアクセスポイントの配列であり、動画像のタイムスタンプに対応したVclickストリームの先頭からのオフセット値が列挙されている。動画像のランダムアクセス先のタイムスタンプに対応した値がVclickアクセス・テーブルにない場合は、近い値のタイムスタンプのアクセスポイントを参照し、そのアクセスポイント周辺でVclickストリーム内のタイムスタンプを参照しながら送信開始場所を探索する。もしくは、Vclickアクセス・テーブルから動画像のランダムアクセス先のタイムスタンプよりも手前の時刻のタイムスタンプを探索し、そのタイムスタンプに対応したアクセスポイントからVclickストリームを送信する。
【0070】
上記Vclickアクセス・テーブルは、サーバー装置が格納しており、サーバー装置がクライアントからのランダムアクセスに応じて、送信すべきVclickデータの検索の便宜に資する為のものである。しかし、サーバー装置が格納しているVclickアクセス・テーブルをクライアント装置にダウンロードして、Vclickストリームの検索をクライアント装置に行わせるようにしても良い。特に、Vclickストリームが、サーバー装置からクライアント装置に一括ダウンロードされる場合、Vclickアクセス・テーブルも又、サーバー装置からクライアント装置に一括ダウンロードされる。
【0071】
一方、VclickストリームがDVDなどの動画像記録媒体に記録されて提供される場合もあるが、この場合も再生コンテンツのランダムアクセスに応じて、利用すべきデータを検索するために、クライアント装置がVclickアクセス・テーブルを利用する事は有効である。この場合Vclickアクセス・テーブルは、Vclickストリーム同様、動画像記録媒体に記録されており、クライアント装置は当該動画像記録媒体から当該Vclickアクセス・テーブルを内部の主記憶等に読み出して利用する。
【0072】
動画像のランダム再生などに伴って発生する、Vclickストリームのランダム再生は、メタデータ・デコーダ217によって処理される。図6のVclickアクセス・テーブルにおいて、タイムスタンプtimeは、動画像記録媒体に記録された動画像のタイムスタンプの形式を有する時刻情報である。例えば、動画像がMPEG-2で圧縮されて記録されているなら、timeはMPEG-2のPTSの形式をとる。更に、動画像が、例えばDVDのように、タイトルやプログラム・チェーンなどのナビゲーション構造を持つ場合、それらを表現するパラメータ(TTN、VTS_TTN、TT_PGCN、PTTNなど)がtimeの形式に含まれる。タイムスタンプの値は昇順または降順に並べられている。例えば、タイムスタンプとしてPTSが用いられている場合には時刻の順に並べることができる。DVDのパラメータを含むタイムスタンプについても、DVDの自然な再生順序に従って順序関係を定義できるため、タイムスタンプを順番に並べることが可能である。
【0073】
図6のVclickアクセス・テーブルにおいて、アクセスポイントoffsetはVclickストリーム上の位置を指し示す。例えば、Vclickストリームはファイルであり、offsetは当該ファイルのファイル・ポインタの値を指し示す。タイムスタンプtimeと組になっているアクセスポイントoffsetの関係は次のようになっている:
i)offsetの示す位置は、あるVclick_AUの先頭位置である。
【0074】
ii)当該AUがもつタイムスタンプの値は、timeの値以下である。
【0075】
iii)当該AUより一つ前にあるAUがもつタイムスタンプの値は、timeより真に小さい。
【0076】
Vclickアクセス・テーブルにおけるtimeの並びの間隔は任意で良いし、均等である必要もない。しかし、検索等の便宜を考慮して、均等にとっても良い。
【0077】
次にサーバー装置・クライアント装置間のプロトコルについて説明する。Vclickデータをサーバー装置201からクライアント装置200に送信するときに使用するプロトコルとしては、例えばRTP(Real-time Transport Protocol)がある。RTPはUDP/IPとの相性が良く、リアルタイム性を重視しているためにパケットが欠落する可能性がある。RTPを用いると、Vclickストリームは送信用パケット(RTPパケット)に分割されて送信される。ここではVclickストリームの送信用パケットへの格納方法例を説明する。
【0078】
図7と図8はそれぞれVclick_AUのデータサイズが小さい場合と大きい場合の送信用パケット構成方法を説明する図である。図7の700はVclickストリームである。送信用パケットはパケットヘッダー701とペイロードからなる。パケットヘッダー701にはパケットのシリアル番号、送信時刻、発信元の特定情報などが含まれている。ペイロードは送信データを格納するデータ領域である。ペイロードにVclick_AU700から順に取り出したVclick_AU(702)を納めていく。ペイロードに次のVclick_AUが入りきらない場合には残りの部分にパディングデータ703を挿入する。パディングデータはデータのサイズを合わせるためのダミーデータであり、例えば0値の連続である。ペイロードのサイズを1つまたは複数のVclick_AUサイズと等しくできる場合にはパディングデータは不要である。
【0079】
一方、図8はペイロードに1つのVclick_AUが収まりきらない場合の送信用パケットの構成方法である。Vclick_AU(800)はまず1番目の送信用パケットのペイロードに入りきる部分(802)のみペイロードに格納される。残りのデータ(804)は第2の送信用パケットのペイロードに格納され、ペイロードの格納サイズに余りが生じていればパディングデータ805で埋める。一つのVclick_AUを3つ以上のパケットに分割する場合の方法も同様である。
【0080】
RTP以外のプロトコルとしては、HTTP(Hypertext Transport Protocol)またはHTTPSを用いることができる。HTTPはTCP/IPとの相性が良く、この場合欠落したデータは再送されるため信頼性の高いデータ通信が行えるが、ネットワークのスループットが低い場合にはデータの遅延が生じるおそれがある。HTTPではデータの欠落がないため、Vclickストリームをどのようにパケットに分割して格納するかを特に考慮する必要はない。
【0081】
(5)Vclickデータがサーバー装置にある場合の再生手順
次に、Vclickストリームがサーバー装置201上にある場合における再生処理の手順について説明する。
【0082】
図37はユーザが再生開始を指示してから再生が開始されるまでの再生開始処理手順を表す流れ図である。まずステップS3700でユーザにより再生開始の指示が入力される。この入力は、インタフェース・ハンドラー207が受け取り、動画像再生コントローラ205に動画像再生準備の命令を出す。次に、分岐処理ステップS3701として、すでにサーバー装置201とのセッションが構築されているかどうかの判定を行う。セッションがまだ構築されていなければステップS3702に、すでに構築されていればステップS3703に処理を移す。ステップS3702ではサーバーとクライアント間のセッションを構築する処理を行う。
【0083】
図9はサーバー・クライアント間の通信プロトコルとしてRTP用いた場合の、セッション構築からセッション切断までの通信手順例である。セッションの始めにサーバー・クライアント間でネゴシエーションを行う必要があるが、RTPの場合にはRTSP(Real Time Streaming Protocol)が用いられることが多い。ただし、RTSPの通信には高信頼性が要求されるため、RTSPはTCP/IPで、RTPはUDP/IPで通信を行うのが好ましい。まず、セッションを構築するために、クライアント装置(図2の例では200)はストリーミングされるVclickデータに関する情報提供をサーバー装置(図2の例では201)に要求する(RTSPのDESCRIBEメソッド)。
【0084】
ここで、再生される動画像に対応したデータを配信するサーバーのアドレスは、例えば動画像データ記録媒体にアドレス情報を記録しておくなどの方法であらかじめクライアントに知らされているものとする。サーバー装置はこの応答としてVclickデータの情報をクライアント装置に送る。具体的には、セッションのプロトコルバージョン、セッション所有者、セッション名、接続情報、セッションの時間情報、メタデータ名、メタデータ属性といった情報がクライアント装置に送られる。これらの情報記述方法としては、例えばSDP(Session Description Protocol)を使用する。次にクライアント装置はサーバー装置にセッションの構築を要求する(RTSPのSETUPメソッド)。サーバー装置はストリーミングの準備を整え、セッションIDをクライアント装置に返す。ここまでの処理がRTPを用いる場合のステップS3702の処理である。
【0085】
RTPではなくHTTPが使われている場合の通信手順は、例えば図10のように行う。まず、HTTPより下位の階層であるTCPでのセッション構築(3 way handshake)を行う。ここで、先ほどと同様に、再生される動画像に対応したデータを配信するサーバーのアドレスはあらかじめクライアントに知らされているものとする。この後、クライアント装置の状態(例えば、製造国、言語、各種パラメータの選択状態など)をSDP等を用いてサーバー装置に送る処理が行われるようにしてもよい。ここまでがHTTPの場合のステップS3702の処理となる。
【0086】
ステップS3703では、サーバー装置とクライアント装置間のセッションが構築された状態で、サーバーにVclickデータ送信を要求する処理を行う。これはインタフェース・ハンドラーがネットワーク・マネージャー208に指示を出し、ネットワーク・マネージャー208がサーバーに要求を出すことにより行われる。RTPの場合には、ネットワーク・マネージャー208はRTSPのPLAYメソッドをサーバーに送ることでVclickデータ送信を要求する。サーバー装置は、これまでにクライアントから受け取った情報とサーバー装置内にあるVclickインフォを参照して送信すべきVclickストリームを特定する。さらに、Vclickデータ送信要求に含まれる再生開始位置のタイムスタンプ情報とサーバー装置内にあるVclickアクセス・テーブルを用いてVclickストリーム中の送信開始位置を特定し、Vclickストリームをパケット化してRTPによりクライアント装置に送る。
【0087】
一方HTTPの場合には、ネットワーク・マネージャー208はHTTPのGETメソッドを送信することによりVclickデータ送信を要求する。この要求には、動画像の再生開始位置のタイムスタンプの情報を含めても良い。サーバー装置は、RTPの時と同様の方法により送信すべきVclickストリームと、このストリーム中の送信開始位置を特定し、VclickストリームをHTTPによりクライアント装置に送る。
【0088】
次に、ステップS3704では、サーバーから送られてくるVclickストリームをバッファ209にバッファリングする処理を行う。これは、Vclickストリームの再生中にサーバーからのVclickストリーム送信が間に合わず、バッファが空になってしまうことをさけるために行われる。メタデータ・マネージャー210からバッファに十分なVclickストリームが蓄積されたことがインタフェース・ハンドラーに通知されると、ステップS3705の処理に移る。ステップS3705では、インタフェース・ハンドラーがコントローラ205に動画像の再生開始命令を出し、さらにメタデータ・マネージャー210にVclickストリームのメタデータ・デコーダ217への送出を開始するよう命令を出す。
【0089】
図38は図37とは別の再生開始処理の手順を説明する流れ図である。図37の流れ図で説明される処理では、ネットワークの状態やサーバー、クライアント装置の処理能力により、ステップS3704でのVclickストリームを一定量バッファリングする処理に時間がかかる場合がある。すなわち、ユーザが再生を指示してから実際に再生が始まるまでに時間がかかってしまうことがある。図38の処理手順では、ステップS3800でユーザが再生開始を指示すると、次のステップS3801で直ちに動画像の再生が開始される。すなわち、ユーザからの再生開始指示を受けたインタフェース・ハンドラー207は、直ちにコントローラ205に再生開始命令を出す。これにより、ユーザは再生を指示してから動画像を視聴するまで待たされることがなくなる。次の処理ステップS3802からステップS3805までは、図37のステップS3701からステップS3704と同一の処理である。
【0090】
ステップS3806では、再生中の動画像に同期させてVclickストリームを復号する処理を行う。すなわち、インタフェース・ハンドラー207は、メタデータ・マネージャー210からバッファに一定量のVclickストリームが蓄積された通知を受け取ると、メタデータ・マネージャー210にVclickストリームのメタデータ・デコーダへの送出開始を命令する。メタデータ・マネージャー210はインタフェース・ハンドラーから再生中の動画像のタイムスタンプを受け取り、バッファに蓄積されたデータからこのタイムスタンプに該当するVclick_AUを特定し、メタデータ・デコーダへ送出する。
【0091】
図38の処理手順では、ユーザは再生を指示してから動画像を視聴するまで待たされることがないが、再生開始直後はVclickストリームの復号が行われないため、オブジェクトに関する表示が行われなかったり、オブジェクトをクリックしても何も動作が起こらなかったりするなどの問題点がある。
【0092】
動画像の再生中、クライアント装置のネットワーク・マネージャー208はサーバー装置から次々に送られてくるVclickストリームを受信し、バッファ209に蓄積する。蓄積されたオブジェクト・メタデータは適切なタイミングでメタデータ・デコーダ217に送られる。すなわち、メタデータ・マネージャー208は、メタデータ・マネージャー210から送られてくる再生中の動画像のタイムスタンプを参照し、バッファ209に蓄積されているデータからそのタイムスタンプに対応したVclick_AUを特定し、この特定されたオブジェクト・メタデータをAU単位でメタデータ・デコーダ217に送る。メタデータ・デコーダ217は受け取ったデータを復号する。ただし、クライアント装置が現在選択しているカメラアングルと異なるカメラアングル用のデータの復号は行わないようにしても良い。また、再生中の動画像のタイムスタンプに対応したVclick_AUがすでにメタデータ・デコーダ217にあることがわかっている場合には、オブジェクト・メタデータをメタデータ・デコーダに送らないようにしても良い。
【0093】
再生中の動画像のタイムスタンプは逐次インタフェース・ハンドラーからメタデータ・デコーダ217に送られている。メタデータ・デコーダではこのタイムスタンプに同期させてVclick_AUを復号し、必要なデータをAVレンダラー218に送る。例えば、Vclick_AUに記述された属性情報によりオブジェクト領域の表示が指示されている場合には、オブジェクト領域のマスク画像や輪郭線などを生成し、再生中の動画像のタイムスタンプに合わせてA/Vレンダラー218に送る。また、メタデータ・デコーダは再生中の動画像のタイムスタンプとVclick_AUの有効時刻とを比較し、不要になった古いオブジェクト・メタデータを判定してそのデータを削除する。
【0094】
図39は再生停止処理の手順を説明する流れ図である。ステップS3900では、ユーザにより動画像の再生中に再生停止が指示される。次にステップS3901で動画像再生を停止する処理が行われる。これはインタフェース・ハンドラー207がコントローラ205に停止命令を出すことにより行われる。また、同時にインタフェース・ハンドラーはメタデータ・マネージャー210にオブジェト・メタデータのメタデータ・デコーダへの送出停止を命令する。
【0095】
ステップS3902はサーバーとのセッションを切断する処理である。RTPを用いている場合には、図9に示すようにRTSPのTEARDOWNメソッドをサーバーに送る。TEARDOWNのメッセージを受け取ったサーバー装置はデータ送信を中止してセッションを終了し、クライアント装置に確認メッセージを送る。この処理により、セッションに使用していたセッションIDが無効となる。一方、HTTPを用いている場合には、図10に示されているようにHTTPのCloseメソッドをサーバーに送り、セッションを終了させる。
【0096】
(6)Vclickデータがサーバー装置にある場合のランダムアクセス手順
次に、Vclickストリームがサーバー装置201上にある場合におけるランダムアクセス再生の手順について説明する。
【0097】
図40はユーザがランダムアクセス再生の開始を指示してから再生が開始されるまでの処理手順を表す流れ図である。まずステップS4000でユーザによりランダムアクセス再生の開始指示が入力される。入力の方法としては、チャプター等のアクセス可能位置のリストからユーザが選択する方法、動画像のタイムスタンプに対応づけられたスライドバー上からユーザが一点を指定する方法、直接動画像のタイムスタンプを入力する方法などがある。入力されたタイムスタンプは、インタフェース・ハンドラー207が受け取り、動画再生コントローラ205に動画像再生準備の命令を出す。もしもすでに動画像を再生中である場合には、再生中の動画像の再生停止を指示してから動画像再生準備の命令を出す。次に、分岐処理ステップS4001として、すでにサーバー装置201とのセッションが構築されているかどうかの判定を行う。動画像を再生中である場合など、すでにセッションが構築されている場合にはステップS4002のセッション切断処理を行う。セッションがまだ構築されていればステップS4002の処理を行わずにステップS4003に処理を移す。ステップS4003ではサーバーとクライアント間のセッションを構築する処理を行う。この処理は図37のステップS3702と同一の処理である。
【0098】
次にステップS4004では、サーバー装置とクライアント装置間のセッションが構築された状態で、サーバーに再生開始位置のタイムスタンプを指定してVclickデータ送信を要求する処理を行う。これはインタフェース・ハンドラーがネットワーク・マネージャー208に指示を出し、ネットワーク・マネージャー208がサーバーに要求を出すことにより行われる。RTPの場合には、ネットワーク・マネージャー208はRTSPのPLAYメソッドをサーバーに送ることでVclickデータ送信を要求する。このとき、Range記述を用いるなどの方法で再生開始位置を特定するタイムスタンプもサーバーに送る。サーバー装置は、これまでにクライアントから受け取った情報とサーバー装置内にあるVclickインフォを参照して送信すべきオブジェクト・メタデータ・ストリームを特定する。さらに、Vclickデータ送信要求に含まれる再生開始位置のタイムスタンプ情報とサーバー装置内にあるVclickアクセス・テーブルを用いてVclickストリーム中の送信開始位置を特定し、Vclickストリームをパケット化してRTPによりクライアント装置に送る。
【0099】
一方HTTPの場合には、ネットワーク・マネージャー208はHTTPのGETメソッドを送信することによりVclickデータ送信を要求する。この要求には、動画像の再生開始位置のタイムスタンプの情報が含まれている。サーバー装置はRTPの時と同様に、Vclick情報ファイルを参照して送信すべきVclickストリームを特定し、さらにタイムスタンプ情報とサーバー装置内にあるVclickアクセス・テーブルを用いてVclickストリーム中の送信開始位置を特定し、VclickストリームをHTTPによりクライアント装置に送る。
【0100】
次に、ステップS4005では、サーバーから送られてくるVclickストリームをバッファ209にバッファリングする処理を行う。これは、Vclickストリームの再生中にサーバーからのVclickストリーム送信が間に合わず、バッファが空になってしまうことをさけるために行われる。メタデータ・マネージャー210からバッファに十分なVclickストリームが蓄積されたことがインタフェース・ハンドラーに通知されると、ステップS4006の処理に移る。ステップS4006では、インタフェース・ハンドラーがコントローラ205に動画像の再生開始命令を出し、さらにメタデータ・マネージャー210にVclickストリームのメタデータ・デコーダへの送出を開始するよう命令を出す。
【0101】
図41は図40とは別のランダムアクセス再生開始処理の手順を説明する流れ図である。図40の流れ図で説明される処理では、ネットワークの状態やサーバー、クライアント装置の処理能力により、ステップS4005でのVclickストリームを一定量バッファリングする処理に時間がかかる場合がある。すなわち、ユーザが再生を指示してから実際に再生が始まるまでに時間がかかってしまうことがある。
【0102】
これに対し、図41の処理手順では、ステップS4100でユーザが再生開始を指示すると、次のステップS4101で直ちに動画像の再生が開始される。すなわち、ユーザからの再生開始指示を受けたインタフェース・ハンドラー207は、直ちにコントローラ205にランダムアクセス再生開始命令を出す。これにより、ユーザは再生を指示してから動画像を視聴するまで待たされることがなくなる。次からの処理ステップS4102からステップS4106までは、図40のステップS4001からステップS4005と同一の処理である。
【0103】
ステップS4107では、再生中の動画像に同期させてVclickストリームを復号する処理を行う。すなわち、インタフェース・ハンドラー207は、メタデータ・マネージャー210からバッファに一定量のVclickストリームが蓄積された通知を受け取ると、メタデータ・マネージャー210にVclickストリームのメタデータ・デコーダへの送出開始を命令する。メタデータ・マネージャー210はインタフェース・ハンドラーから再生中の動画像のタイムスタンプを受け取り、バッファに蓄積されたデータからこのタイムスタンプに該当するVclick_AUを特定し、メタデータ・デコーダへ送出する。
【0104】
図41の処理手順では、ユーザは再生を指示してから動画像を視聴するまで待たされることがないが、再生開始直後はVclickストリームの復号が行われないため、オブジェクトに関する表示が行われなかったり、オブジェクトをクリックしても何も動作が起こらないなどの問題点がある。
【0105】
なお、動画像の再生中の処理と動画像停止処理は通常の再生処理の場合と同一であるため、説明は省略する。
【0106】
(7)Vclickデータがクライアント装置にある場合の再生手順
次に、Vclickストリームが動画像データ記録媒体231上にある場合における再生処理の手順について説明する。
【0107】
図42はユーザが再生開始を指示してから再生が開始されるまでの再生開始処理手順を表す流れ図である。まずステップS4200でユーザにより再生開始の指示が入力される。この入力は、インタフェース・ハンドラー207が受け取り、動画再生コントローラ205に動画像再生準備の命令を出す。次に、ステップS4201では、使用するVclickストリームを特定する処理が行われる。この処理では、インタフェース・ハンドラーは動画像データ記録媒体231上にあるVclick情報ファイルを参照し、ユーザが再生を指定した動画像に対応するVclickストリームを特定する。
【0108】
ステップS4202では、バッファにVclickストリームを格納する処理が行われる。この処理を行うため、インタフェース・ハンドラー207はまずメタデータ・マネージャー210にバッファを確保する命令を出す。確保すべきバッファのサイズは、特定されたVclickストリームを格納するのに十分なサイズとして決められるが、通常はこのサイズを記述したバッファ初期化用文書が動画像データ記録媒体231に記録されている。初期化用文書がない場合には、あらかじめ決められているサイズを適用する。バッファの確保が完了すると、インタフェース・ハンドラー207はコントローラ205に特定されたVclickストリームを読み出してバッファに格納する命令を出す。
【0109】
Vclickストリームがバッファに格納されると、次にステップS4203の再生開始処理が行われる。この処理では、インタフェース・ハンドラー207が動画再生コントローラ205に動画像の再生命令を出し、同時にメタデータ・マネージャー210にVclickストリームのメタデータ・デコーダへの送出を開始するよう命令を出す。
【0110】
動画像の再生中、動画像データ記録媒体231から読み出されたVclick_AUはバッファ209に蓄積される。蓄積されたVclickストリームは適切なタイミングでメタデータ・デコーダ217に送られる。すなわち、メタデータ・マネージャー208は、メタデータ・マネージャー210から送られてくる再生中の動画像のタイムスタンプを参照し、バッファ209に蓄積されているデータからそのタイムスタンプに対応したVclick_AUを特定し、この特定されたVclick_AUをメタデータ・デコーダ217に送る。メタデータ・デコーダ217は受け取ったデータを復号する。ただし、クライアント装置が現在選択しているカメラアングルと異なるカメラアングル用のデータの復号は行わないようにしても良い。また、再生中の動画像のタイムスタンプに対応したVclick_AUがすでにメタデータ・デコーダ217にあることがわかっている場合には、Vclickストリームをメタデータ・デコーダに送らないようにしても良い。
【0111】
再生中の動画像のタイムスタンプは逐次インタフェース・ハンドラーからメタデータ・デコーダ217に送られている。メタデータ・デコーダではこのタイムスタンプに同期させてVclick_AUを復号し、必要なデータをAVレンダラー218に送る。例えば、オブジェクト・メタデータのAUに記述された属性情報によりオブジェクト領域の表示が指示されている場合には、オブジェクト領域のマスク画像や輪郭線などを生成し、再生中の動画像のタイムスタンプに合わせてA/Vレンダラー218に送る。また、メタデータ・デコーダは再生中の動画像のタイムスタンプとVclick_AUの有効時刻とを比較し、不要になった古いVclick_AUを判定してそのデータを削除する。
【0112】
ユーザにより動画像の再生中に再生停止が指示されると、インタフェース・ハンドラー207はコントローラ205に動画像再生の停止命令と、Vclickストリームの読み出しの停止命令を出す。この指示により、動画像の再生が終了する。
【0113】
(8)Vclickデータがクライアント装置にある場合のランダムアクセス手順
次に、Vclickストリームが動画像データ記録媒体231上にある場合におけるランダムアクセス再生の処理手順について説明する。
【0114】
図43はユーザがランダムアクセス再生の開始を指示してから再生が開始されるまでの処理手順を表す流れ図である。まずステップS4300でユーザによりランダムアクセス再生開始の指示が入力される。入力の方法としては、チャプター等のアクセス可能位置のリストからユーザが選択する方法、動画像のタイムスタンプに対応づけられたスライドバー上からユーザが一点を指定する方法、直接動画像のタイムスタンプを入力する方法などがある。入力されたタイムスタンプは、インタフェース・ハンドラー207が受け取り、動画再生コントローラ205に動画像のランダムアクセス再生準備の命令を出す。
【0115】
次に、ステップS4301では、使用するVclickストリームを特定する処理が行われる。この処理では、インタフェース・ハンドラーは動画像データ記録媒体231上にあるVclick情報ファイルを参照し、ユーザが再生を指定した動画像に対応するVclickストリームを特定する。さらに、動画像データ記録媒体231上にあるVclickアクセス・テーブル、もしくはメモリ上に読み込んであるVclickアクセス・テーブルを参照し、動画像のランダムアクセス先に対応するVclickストリーム中のアクセスポイントを特定する。
【0116】
ステップS4302は分岐処理であり、特定されたVclickストリームが現在バッファ209に読み込まれているかどうかを判定する。バッファに読み込まれていない場合にはステップS4303の処理を行ってからステップS4304の処理に移る。現在バッファに読み込まれている場合には、ステップS4303の処理は行わずにステップS4304の処理に移る。ステップS4304は動画像のランダムアクセス再生開始、及びVclickストリームの復号開始である。この処理では、インタフェース・ハンドラー207が動画再生コントローラ205に動画像のランダムアクセス再生命令を出し、同時にメタデータ・マネージャー210にVclickストリームのメタデータ・デコーダへの送出を開始するよう命令を出す。その後は動画像の再生に同期させてVclickストリームの復号処理が行われる。動画像再生中、及び動画像再生停止処理については通常の再生処理と同一であるため、説明は省略する。
【0117】
(9)クリックから関連情報表示までの手順
次に、ユーザがマウス等のポインティングデバイスを使ってオブジェクト領域内をクリックした場合のクライアント装置の動作について説明する。ユーザがクリックを行うと、まず動画像上のクリックされた座標位置がインタフェース・ハンドラー207に入力される。インタフェース・ハンドラーはメタデータ・デコーダ217にクリック時の動画像のタイムスタンプと座標を送る。メタデータ・デコーダはタイムスタンプと座標から、ユーザによって指示されたオブジェクトがどれであるかを特定する処理を行う。
【0118】
メタデータ・デコーダでは、動画像の再生に同期させてVclickストリームをデコードしており、従ってクリックされた時のタイムスタンプにおけるオブジェクトの領域が生成されているため、この処理は容易に実行できる。クリックされた座標に複数のオブジェクト領域が存在する場合には、Vclick_AU内に含まれる階層情報を参照して最も前面にあるオブジェクトを特定する。
【0119】
ユーザによって指定されたオブジェクトが特定されると、メタデータ・デコーダ217はそのオブジェクト属性情報403に記述されたアクション記述(動作を指示するスクリプト)をスクリプト・インタプリタ212に送る。アクション記述を受け取ったスクリプト・インタプリタはその動作内容を解釈し、実行する。例えば、指定されたHTMLファイルの表示を行ったり、指定された動画像の再生を開始したりする。これらHTMLファイルや動画像データは、クライアント装置200に記録されている場合、サーバー装置201からネットワーク経由で送られてくる場合、ネットワーク上の別のサーバー上に存在している場合のいずれでも良い。
【0120】
(10)データ構造の詳細
次に、より具体的なデータ構造の構成例について説明する。図5で説明したとおり、Vclickストリーム506はVclickストリームのヘッダと複数のVclick AUから成る。図11はVclickストリームのヘッダのデータ構造の例である。各データ要素の意味は以下の通りである。
【0121】
vclick_versionは、Vclickストリームのヘッダの始まりを示すとともに、フォーマットのバージョンを指定する。
【0122】
vclick_lengthは、このVclickストリームにおけるvclick_lengthより後の部分のデータ長をバイトで指定する。
【0123】
次に、Vclick AUの詳細なデータ構造を説明する。Vclick AUの大まかなデータ構造は図4で説明したとおりである。
【0124】
図12はVclick AUのヘッダ401のデータ構造の例である。各データ要素の意味は以下の通りである。
【0125】
vu_start_codeは、各Vclick_AUの始まりを示す。
【0126】
vau_lengthは、このVclick_AUのヘッダにおけるvau_lengthより後の部分のデータ長をバイトで指定する。
【0127】
vau_idはVclick_AUの識別IDである。クライアント装置の状態を表すパラメータとこのIDにより、復号すべきVclick_AUかどうかを判定するためのデータである。
【0128】
object_idはVclickデータで記述されるオブジェクトの識別番号である。object_idの同じ値が2つのVclick_AUの中で使用される場合、両者は意味的に同一のオブジェクト用のデータである。
【0129】
object_subidはオブジェクトの意味的な連続性を表す。2つのVclick_AUにおいてobject_id及びobject_subidの両方が同じである場合、両者は連続的な(同一シーンに登場する同一の)オブジェクトを意味する。
【0130】
continue_flagはフラグである。最初の1ビットが"1"である場合、このVclick_AUに記述されたオブジェクト領域と、同一のobject_idを有する前のVclick_AUに記述されたオブジェクト領域とは連続していることを示す。そうでない場合にはこのフラグは"0"となる。2番目のビットは同様に、このVclick_AUに記述されたオブジェクト領域と、同一のobject_idを有する次のVclick_AUに記述されたオブジェクト領域との連続性を示す。
【0131】
layerは、オブジェクトの階層値を表す。階層値が大きい(または小さい)ほどオブジェクトが画面上で手前にあることを意味する。クリックされた場所に複数のオブジェクトが存在する場合には、最も会装置が大きい(または小さい)オブジェクトがクリックされたものと判定する。
【0132】
図13はVclick_AUのタイムスタンプ402のデータ構造の例である。この例では、動画像データ記録媒体204としてDVDを用いる場合を仮定している。以下のタイムスタンプを用いることにより、DVD上の動画像の任意の時刻を指定することが可能となり、動画像とVclickデータの同期が実現できる。各データ要素の意味は以下の通りである。
【0133】
time_typeは、DVD用タイムスタンプの始まりを示す。
【0134】
VTSNは、DVDビデオのVTS(ビデオ・タイトルセット)番号を示す。
【0135】
TTNは、DVDビデオのタイトル・ドメインにおけるタイトル番号を示す。DVDプレーヤのシステムパラメータSPRM(4)にストアされる値に相当する。
【0136】
VTS_TTNは、DVDビデオのタイトル・ドメインにおけるVTSタイトル番号を示す。DVDプレーヤのシステムパラメータSPRM(5)にストアされる値に相当する。
【0137】
TT_PGCNは、DVDビデオのタイトル・ドメインにおけるタイトルPGC(プログラム・チェーン)番号を示す。DVDプレーヤのシステムパラメータSPRM(6)にストアされる値に相当する。
【0138】
PTTNは、DVDビデオの部分タイト(Part_of_Title)番号を示す。DVDプレーヤのシステムパラメータSPRM(7)にストアされる値に相当する。
【0139】
CNは、DVDビデオのセル番号を示す。
【0140】
AGLNは、DVDビデオのアングル番号を示す。
【0141】
PTS[s .. e]は、DVDビデオの表示タイムスタンプのうち、sビット目からeビット目までのデータを示す。
【0142】
図14はVclick_AUのタイムスタンプ・スキップのデータ構造の例である。タイムスタンプ・スキップがタイムスタンプの代わりにVclick_AUに記述されている場合、このVclick_AUのタイムスタンプが直前のVclick_AUのタイムスタンプと同一である事を意味している。各データ要素の意味は以下の通りである。
【0143】
time_typeは、タイムスタンプ・スキップの始まりを示す。
【0144】
図15はVclick_AUのオブジェクト属性情報403のデータ構造の例である。各データ要素の意味は以下の通りである。
【0145】
attribute_lengthは、このオブジェクト属性情報のうちattribute_lengthより後の部分のデータ長をバイトで指定する。
【0146】
data_bytesはオブジェクト属性情報のデータ部である。この部分には図16に示した属性データの1つまたは複数が記述される。図18の最大値の欄には、それぞれの属性について、一つのVclick AU内に記述可能な最大のデータ数の例を示した。attribute_idは各属性データ中に含まれるIDで、属性の種類を見分けるためのデータである。名前属性は、オブジェクトの名前を特定するための情報である。アクション属性は、動画像中のオブジェクト領域がクリックされたときに、どのようなアクションを行うべきかが記述される。輪郭線属性は、オブジェクトの輪郭線をどのように表示させるかの属性を表す。点滅領域属性は、オブジェクト領域を点滅して表示する際の点滅色を特定する。モザイク領域属性は、オブジェクト領域をモザイク化して表示する際のモザイク化の仕方が記述されている。塗りつぶし領域属性は、オブジェクト領域に色を付けて表示させる際の色を特定する。
【0147】
テキストカテゴリーに属する属性は、動画像に文字を表示させたいときに、表示させる文字に関する属性を定義する。テキスト情報には、表示させるテキストを記述する。テキスト属性は、表示させるテキストの色やフォント等の属性を特定する。ハイライト効果属性は、テキストの一部または全てをハイライト表示させる際に、どの文字をどのようにハイライト表示させるかを特定する。点滅効果属性は、テキストの一部または全てを点滅表示させる際に、どの文字をどのように点滅表示させるかを特定する。スクロール効果属性には、表示させるテキストをスクロールさせる際に、どの方向にどのような速さでスクロールさせるかが記述されている。カラオケ効果属性は、テキストの色を順次変更していく際に、どのようなタイミングでどこの文字の色を変更させるかを特定する。最後に、階層拡張属性は、オブジェクトの階層値がVclick_AU内で変化する場合に、階層値の変化のタイミングとその値を定義するために用いられる。以上の属性のデータ構造について、以下で個々に説明する。
【0148】
図17はオブジェクトの名前属性のデータ構造の例である。各データ要素の意味は以下の通りである:
attribute_idは、属性データのタイプを指定する。名前属性については、この値は00hとする。
【0149】
data_lengthは、名前属性データのdata_lengthより後のデータ長をバイトで表す。
【0150】
languageは、以下の要素(nameとannotation)の記述に用いた言語を特定する。言語の指定にはISO-639「code for the representation of names of languages」を用いる。
【0151】
name_lengthは、バイトでname要素のデータ長さを指定する。
【0152】
nameは文字列であり、このVclick_AUで記述されているオブジェクトの名前を表す。
【0153】
annotation_lengthは、バイトでannotation要素のデータ長を表す。
【0154】
annotationは文字列であり、このVclick_AUで記述されているオブジェクトに関する注釈を表す。
【0155】
図18はオブジェクトのアクション属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【0156】
attribute_idは、属性データのタイプを指定する。アクション属性については、この値は01hとする。
【0157】
data_lengthは、アクション属性データのうちdata_lengthより後の部分のデータ長をバイトで表す。
【0158】
script_languageは、script要素に記述されているスクリプト言語の種類を特定する。
【0159】
script_lengthは、バイト単位でscript要素のデータ長を表す。
【0160】
scriptは文字列であり、このVclick_AUで記述されているオブジェクトがユーザにより指定された場合に実行すべきアクションをscript_languageで指定されたスクリプト言語で記述されている。
【0161】
図19はオブジェクトの輪郭線属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【0162】
attribute_idは、属性のタイプを指定する。輪郭線属性については、この値は02hとする。
【0163】
data_lengthは、輪郭線属性データうちdata_lengthより後の部分のデータ長を指定する。
【0164】
color_r、color_g、color_b、color_aは、このオブジェクト・メタデータAUで記述されているオブジェクトの輪郭の表示色を指定する。
【0165】
color_r、color_g及びcolor_bはそれぞれ色のRGB表現における赤、緑及び青の値を指定する。一方、color_aは透明度を示す。
【0166】
line_typeは、このVclick_AUで記述されているオブジェクトの輪郭線の種類(実線、破線など)指定する。
【0167】
thicknessは、このVclick_AUで記述されているオブジェクトの輪郭線の太さをポイントで指定する。
【0168】
図20はオブジェクトの点滅領域属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【0169】
attribute_idは、属性データのタイプを指定する。点滅領域属性データについては、この値は03hとする。
【0170】
data_lengthは、点滅領域属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【0171】
color_r、color_g、color_b、color_aは、このVclick_AUで記述されているオブジェクトの領域の表示色を指定する。color_r、color_g及びcolor_bはそれぞれ色のRGB表現における赤、緑及び青の値を指定する。一方、color_aは透明度を示す。オブジェクト領域の点滅は、塗りつぶし領域属性の中で指定された色とこの属性で指定された色とを交互に表示させることにより実現される。
【0172】
intervalは、点滅の時間間隔を指定する。
【0173】
図21はオブジェクトのモザイク領域属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【0174】
attribute_idは、属性データのタイプを指定する。モザイク領域属性データについては、この値は04hとする。
【0175】
data_lengthは、モザイク領域属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【0176】
mosaic_sizeは、モザイク・ブロックのサイズをピクセル単位で指定する。
【0177】
randomnessはモザイク化したブロックの位置を入れ替える場合に、どの程度ランダムに入れ替えるかを表す。
【0178】
図22はオブジェクトのモザイク領域属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【0179】
attribute_idは、属性データのタイプを指定する。塗りつぶし領域属性データについては、この値は05hとする。
【0180】
data_lengthは、塗りつぶし属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【0181】
color_r、color_g、color_b、color_aは、このVclick_AUで記述されているオブジェクト領域の表示色を指定する。color_r、color_g及びcolor_bはそれぞれ色のRGB表現における赤、緑及び青の値を指定する。一方、color_aは透明度を示す。
【0182】
図23はオブジェクトのテキスト情報のデータ構造の例である。各データ要素の意味は以下の通りである。
【0183】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト情報については、この値は06hとする。
【0184】
data_lengthは、オブジェクトのテキスト情報のうちdata_lengthより後の部分のデータ長をバイトで指定する。
【0185】
languageは、記述されたテキストの言語を示す。言語の指定方法は、例えばISO-639「code for the representation of names of languages」を使うことができる。
【0186】
char_codeは、テキストのコード種類を特定する。例えば、UTF-8、UTF-16、ASCII、Shift JISなどを指定する。
【0187】
directionは、文字を並べる際の方向として、左方向、右方向、下方向、上方向を特定する。例えば、英語やフランス語ならば通常文字は左方向に並べる。一方、アラビア語ならば右方向に、日本語ならば左方向か下方向のどちらかに並べる。ただし、言語ごとに決まっている並び方向以外を指定しても良い。また、斜め方向を指定できるようにしても良い。
【0188】
text_lengthは、バイトでtimed textの長さを指定する。
【0189】
textは文字列であり、char_codeで指定された文字コードを用いて記述されたテキストである。
【0190】
図24はオブジェクトのテキスト属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【0191】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト属性については、この値は07hとする。
【0192】
data_lengthは、オブジェクトのテキスト属性のうちdata_lengthより後の部分のデータ長をバイトで指定する。
【0193】
font_lengthは、フォントの記述長をバイト単位で指定する。
【0194】
fontは文字列であり、テキストを表示する際に用いるフォントを指定する。
【0195】
color_r、color_g、color_b、color_aは、テキストを表示する際の表示色を指定する。色はRGBにより表現される。また、color_r、color_g及びcolor_bは、赤、緑及び青の値をそれぞれ指定する。また、color_aは透過度を示す。
【0196】
図25はオブジェクトのテキスト・ハイライト効果属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【0197】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト・ハイライト効果属性データについては、この値は08hとする。
【0198】
data_lengthは、オブジェクトのテキスト・ハイライト効果属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【0199】
entryは、このテキスト・ハイライト効果属性データ中のhighlight_effect_entryの数を示す。
【0200】
highlight_entriesにentry個のhighlight_effect_entryが含まれる。
【0201】
highlight_effect_entryの仕様は以下に示す通りである。
【0202】
図26はオブジェクトのテキスト・ハイライト効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
【0203】
start_positionは、強調される文字の開始位置を先頭から当該文字までの文字数により指定する。
【0204】
end_positionは、強調される文字の終了位置を先頭から当該文字までの文字数により指定する。
【0205】
color_r、color_g、color_b、color_aは、強調後の文字の表示色を指定する。色はRGBにより表現される。また、color_r、color_g及びcolor_bは、赤、緑及び青の値をそれぞれ指定する。また、color_aは透過度を示す。
【0206】
図27はオブジェクトのテキスト点滅効果属性のデータ構造の例である。各データ要素の意味は以下の通りである。
【0207】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト点滅効果属性データについては、この値は09hとする。
【0208】
data_lengthは、テキスト点滅効果属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【0209】
entryは、このテキスト点滅効果属性データ中のblink_effect_entryの数を示す。
【0210】
data_bytesにentry個のblink_effect_entryを含む。
【0211】
blink_effect_entryの仕様は以下の通りである。
【0212】
図28はオブジェクトのテキスト点滅効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
【0213】
start_positionは、点滅させる文字の開始位置を先頭から当該文字までの文字数により指定する。
【0214】
end_positionは、点滅させる文字の終了位置を先頭から当該文字までの文字数により指定する。
【0215】
color_r、color_g、color_b、color_aは、点滅文字の表示色を指定する。色はRGBにより表現される。また、color_r、color_g及びcolor_bは、赤、緑及び青の値をそれぞれ指定する。また、color_aは透過度を示す。ここで指定された色と、テキスト属性で指定された色とを交互に表示させることで文字を点滅させる。
【0216】
intervalは、点滅の時間間隔を指定する。
【0217】
図29はオブジェクトのテキスト・スクロール効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
【0218】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト・スクロール効果属性データについては、この値は0ahとする。
【0219】
data_lengthは、テキスト・スクロール効果属性データのうちdeta_lengthより後の部分のデータ長をバイト単位で指定する。
【0220】
directionは文字をスクロールする方向を指定する。例えば、0は右から左を、1は左から右を、2は上から下を、3は下から上を示す。
【0221】
delayは、スクロールの速度を、表示させる先頭の文字が表示されてから最後の文字が表示されるまでの時間差により指定する。
【0222】
図30はオブジェクトのテキスト・カラオケ効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
【0223】
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト・カラオケ効果属性データについては、この値は0bhとする。
【0224】
data_lengthは、テキスト・カラオケ効果属性データのうちdeta_lengthより後の部分のデータ長をバイト単位で指定する。
【0225】
start_timeはこの属性データのdata_bytesに含まれる先頭のkaraoke_effect_entryで指定される文字列の文字色の変更開始時刻を指定する。
【0226】
entryは、このテキスト・カラオケ効果属性データ中のkaraoke_effect_entryの数を示す;
karaoke_entriesにentry個のkaraoke_effect_entryを含む。
【0227】
karaoke_effect_entryの仕様は次に示す。
【0228】
図31はオブジェクトのテキスト・カラオケ効果属性のエントリー(karaoke_effect_entry)のデータ構造の例である。各データ要素の意味は以下の通りである。
【0229】
end_timeはこのエントリーで指定される文字列の文字色の変更終了時刻を表す。また、このエントリーに続くエントリーがある場合には、次のエントリーで指定される文字列の文字色の変更開始時刻も表す。
【0230】
start_positionは文字色を変更すべき文字列の先頭文字の位置を、先頭から当該文字までの文字数により指定する。
【0231】
end_positionは文字色を変更すべき文字列の最後の文字の位置を、先頭から当該文字までの文字数により指定する。
【0232】
図32はオブジェクトの階層属性拡張のデータ構造の例である。各データ要素の意味は以下の通りである。
【0233】
attribute_idは、属性データのタイプを指定する。オブジェクトの階層属性拡張データについては、この値は0chとする。
【0234】
data_lengthは、階層属性拡張データのうちdeta_lengthより後の部分のデータ長をバイト単位で指定する。
【0235】
start_timeはこの属性データのdata_bytesに含まれる先頭のlayer_extension_entryで指定される階層値が有効となる開始時刻を指定する。
【0236】
entryは、この階層属性拡張データに含まれるlayer_extension_entryの数を指定する。
【0237】
layer_entriesにentry個のlayer_extension_entryが含まれる。
【0238】
layer_extension_entryの仕様を次に説明する。
【0239】
図33はオブジェクトの階層属性拡張のエントリー(layer_extension_entry)のデータ構造の例である。各データ要素の意味は以下の通りである。
【0240】
end_timeは、このlayer_extension_entryで指定される階層値が無効になる時刻を指定する。また、このエントリーの次にもエントリーがある場合には、次のエントリーで指定sれる階層値が有効になる開始時刻も同時に指定する。
【0241】
layerは、オブジェクトの階層値を指定する。
【0242】
図34はオブジェクト・メタデータのAUのオブジェクト領域データ400のデータ構造の例である。各データ要素の意味は以下の通りである。
【0243】
vcr_start_codeは、オブジェクト領域データの開始を意味する。
【0244】
data_lengthは、オブジェクト領域データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
【0245】
data_bytesはオブジェクト領域が記述されているデータ部である。オブジェクト領域の記述には、例えばMPEG-7のSpatioTemporalLocatorのバイナリフォーマットを用いることができる。
【0246】
(10)Vclick Embeded File
Vclick におけるコンテンツファイルの埋め込みにかかる実施形態について、図47〜図51を用いて説明する。
【0247】
Vclick AU において、オブジェクトのアクション属性はスクリプトを含んでいる。このスクリプトで他のコンテンツを参照すると、例えばHTMLやJavaScript、画像などを用いたコンテンツの再生が可能である。これらのコンテンツはDVDなどに記録しておくことも、ネットワークからダウンロードすることもできる。スクリプト再生の一般的な方法では、スクリプトはコンテンツが必要となった時点で、DVDなどからの読み込みやネットワークからのダウンロードを行い、コンテンツを取得する。このとき、コンテンツの取得にはDVDなどのメディアのシーク、ネットワークからのダウンロードなど時間がかかる処理が必要となる。特に、データサイズの小さなコンテンツを多数読み込む必要がある場合、この遅延は顕著にあらわれる。また、多数の小さなコンテンツをネットワークからダウンロードするとリクエスト回数が増加するため、プロトコルによってはネットワーク負荷も増える。
【0248】
そこで、本実施形態では、Vclick自身にコンテンツを埋め込むことでこれらの問題を解決する。
【0249】
以下、埋め込まれるコンテンツをEmbedded FileまたはEFと呼ぶ。EFは、図47に示すようにAUの間に埋め込まれる。埋め込み時には、EFを必要とするAUの前に埋め込むべきである。
【0250】
例えば、図47では、AU#2〜AU#3がEF#1を、AU#2〜AU#4がEF#2を必要とする。この場合、EF#1、EF#2がAU#2よりも前に埋め込まれていないと再生時にAU#2以降も解析する必要があり、またストリーミング配信ではEFが配信されるまで再生が開始できない。AU内のスクリプトは、参照するEFの特定にはファイル名やファイル識別子や仮想バッファオフセット(これらをまとめてファイル識別情報と呼ぶ)を用いる。ファイル埋め込みとそのファイルの特定は、EF、AUにそれぞれファイル識別情報を持たせておき、スクリプトからファイル識別情報を指定することで実現する。
【0251】
(10−1)Vclick Embedded Fileのデータ構造
EFの例を図45に示す。この例では、ヘッダはスタートコード(vef_start_code)、データ長(vef_length)、参照開始時刻(vef_timebegin)、参照終了時刻(vef_timeend)、仮想バッファオフセット(vef_buffer_offset)、ファイルのデータ長(vef_data_length)、仮想ディレクトリインデックス(vef_vdir_index)、ファイル名の長さ(file_name_length)、ファイル名(file_name)及びコンテンツファイルデータ(data)からなる。
【0252】
スタートコードは、このデータがEFであることを区別するためのID(例えば整数)である。
【0253】
データ長は、EFパケットの長さ(EFヘッダとコンテンツデータをあわせた長さ)を表す値(例えばバイト数を与える整数)である。スタートコード及びデータ長でEFパケットを他のパケットと区別する。
【0254】
ファイル名の長さ(file_name_length)は、ファイル名(file_name)の長さを与える値(例えばバイト数を与える整数)である。
【0255】
ファイル名はコンテンツの区別に用いるもの(例えば文字列)である。ファイル名は識別情報として使えるものであれば文字列に限定されず、例えば整数の識別子でも良い。
【0256】
参照開始時刻、参照終了時刻は、例えば図13のタイムスタンプ形式で与えられる時刻であり、動画像の一部を再生するためVclickデータの一部をネットワークから取得する場合に、要求を受けたサーバが、対象となるEFを送信する必要があるか判別するために利用できる。また再生機器では、EFを保持すべき時間の算出に使える。なお、参照終了時刻の代わりに生存時間(参照終了時刻から参照開始時刻を引いた値)を記録しても良い。
【0257】
ファイルのデータ長(vef_data_length)は、コンテンツファイルデータの長さをあらわす値(例えばバイト数を与える整数)である。
【0258】
仮想バッファオフセット、仮想ディレクトリインデックスは再生機器のためのバッファ管理用データである。仮想バッファオフセットは後述の仮想バッファにおけるコンテンツファイルデータの保存位置(例えば整数)である。
【0259】
仮想ディレクトリインデックスは後述の仮想ディレクトリにおけるファイル管理情報の保存位置(例えば整数)である。仮想バッファ、仮想ディレクトリについては再生機器仮想バッファの説明において述べる。
【0260】
コンテンツファイルデータ(data)は、埋め込まれたファイルで、スクリプトが必要とする任意のデータである。このようにしてファイルを埋め込むことで、外部ファイル参照によるオーバーヘッドをなくすことができる。
【0261】
(10−2)Vclick Embedded Fileのスクリプトからの参照方法
EFからのスクリプトの参照は、スクリプトからファイル名(識別情報)を指定することで行われる。ファイル名には、ネットワークを介したファイルと区別するための情報(プリフィックス)を付加することが望ましい。
【0262】
例えば、インターネットで使われている識別情報であるURIは、「プロトコル:ネットワーク上のファイル名」の形式をしている。プロトコルとはHTTPやFTPなどデータ取得の際に用いる手段のことである。このプロトコルとして例えば「embed」のように他と区別できるプロトコルを与えてスクリプトから参照すれば良い。例えば、埋め込まれたファイル「example.jpg」を参照するには、「embed://example.jpg」とすれば、ほかのファイルと区別できる。
【0263】
(10−3)再生機器の仮想バッファ
次に、Vclick EFにおける再生機器の仮想バッファについて説明する。
【0264】
DVDプレーヤなどコンテンツ再生機器は余分なメモリを持たないことが多いため、埋め込みファイルが使用するメモリサイズが明らかになるようなメタデータのデータ構造が望ましい。これを実現するには、別途再生機器がファイルを一意保存するためのバッファ、ファイル名の長さの最大値、ファイル数の最大値の3つを定めておき、図46のような仮想ディレクトリと仮想バッファを考えて、この仮想ディレクトリ・仮想バッファ上に一時保存するための位置情報(ファイルを管理するための仮想ディレクトリ上のインデックス、及び、データの開始オフセット)をメタデータが持てば良い。
【0265】
これらがあれば再生機器側は必要なメモリを再生開始時に確保するだけでよく、そのメモリ管理は容易になる。
【0266】
(10−4)再生機器におけるEFの再生方法
EFを含むメタデータを受け取った再生機器の再生方法について説明する。
【0267】
再生機器はまず定められたディレクトリバッファ、データバッファを図46のように確保する。再生機器は図48のようにメタデータを順に解析し、EFを見つけるたびに、指定されたディレクトリインデックスの情報をEF中のファイル管理情報(データバッファの先頭からのオフセット、及びデータのサイズ)で上書きし、また開始オフセットからコンテンツサイズ分のメモリをEFのデータで上書きする。ここで、図45のデータ構造と図46のディレクトリバッファ、データバッファに格納されるデータを対応を説明する。ディレクトリバッファにおいては、#0などのデータが、仮想ディレクトリインデックス(vef_vdir_index)に対応し、filenameは、ファイル名の長さ(file_name_length)は、ファイル名(file_name)に対応し、offset,sizeは仮想バッファオフセット(vef_buffer_offset)、ファイルのデータ長(vef_data_length)に対応する。また、データバッファは、コンテンツファイルデータ(data)のみを格納する。
【0268】
スクリプトからファイルが参照されたときには、再生機器は図49のように仮想ディレクトリから指定されたファイルを検索し、そこに保存されたバッファのオフセット及びサイズを取得し、埋め込まれたデータを取得する。再生機器はこの方法により、埋め込まれたデータを再生できるようになる。
【0269】
(10−5)再生機器によるシーク
再生機器は映像の途中から再生するためのシーク機能を備えることが多い。
【0270】
Vclick EF データは Vclick ストリームの一部であり、巻き戻し(前方シーク)の際はストリームの最初から再度解析を行う必要がある。
【0271】
Vclick EF にタイムスタンプ(図45の vef_timebegin及び vef_timeend) があればディレクトリバッファ及びデータバッファの不要な更新が避けられる。なぜなら、再生機器は Vclick EF の vef_timebegin、vef_timeend で指定された区間に含まれるかどうかを判定し、再生区間に含まれる場合のみディレクトリバッファ及びデータバッファを更新すれば良いからである。
【0272】
(10−6)EFの変更例1
EFのデータ構造としてはディレクトリバッファ及びデータバッファは独立である。
【0273】
しかし、これを1つのバッファを共有するデータ構造としても良い。
【0274】
また、これらを独立とするとバッファを1つのデバイスとすることも、2つのデバイスとすることも容易である。例えば、メモリに余裕がある再生機器ではすべてをメモリ上とし、ハードディスクは搭載しているがメモリに余裕がない機器ではディレクトリバッファをメモリ、データバッファをハードディスクとすることで、再生機器にあわせたバッファの割り当てが可能である。
【0275】
(10−7)EFの変更例2
上記実施形態では、スクリプトがAUの属性として埋め込まれているものとして説明したが、スクリプトも埋め込みファイルとすることもできる。
【0276】
スクリプトを埋め込むには、Vclick AUにおいて、図18のscript_languageでスクリプトがAUの外に記述されていることを宣言し、scriptにスクリプトのファイル名を記述する。これにより、同一スクリプトのコピーを何度も送信する必要がなくなり、データ量が減らせる。
【0277】
(10−8)EFの変更例3
上記実施形態では、図47に示すように、EFをAUに並べてデータストリームを構成したが、これに代えて、図50に示すように、EFをAUに埋め込むこともできる。
【0278】
EFをAUに埋め込む場合、複数のAUに同一のEFのコピーを埋め込むためにデータ量は増加するが、必要なファイルをAUにすべて埋め込むことが可能なため、その再生が容易になる。
【0279】
なお、EFをAUに埋め込む場合、例えばオブジェクト属性として埋め込むことができる。この場合、図51に示すように、ヘッダのスタートコード及びデータ長の代わりに、オブジェクト属性attribute_id及び属性の長さdata_lengthを用いて、そのオブジェクト属性がEFであることを識別する。また、データがそのAUからのみ参照されるのであれば、参照開始時刻・参照終了時刻を与えるタイムスタンプは不要となる。
【0280】
(11)変更例
なお、本発明は上記した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。例えば、本発明は現在世界的に普及しているDVD−ROMビデオのみならず、近年急速に需要が伸びている録画再生可能なDVD−VR(ビデオレコーダ)にも適用できる。さらには、近々普及が始まるであろう次世代HD−DVDの再生系または録再系にも適用可能である。
【0281】
また、上記した実施形態に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施形態に係る構成要素を適宜組み合わせても良い。
【図面の簡単な説明】
【0282】
【図1】本発明の一実施形態に係るハイパーメディアの表示例を説明する図である。
【図2】本発明の一実施形態に係るシステムの構成例を示すブロック図である。
【図3】本発明の一実施形態に係るオブジェクト領域とオブジェクト領域データの関係を説明する図である。
【図4】本発明の一実施形態に係るオブジェクト・メタデータのアクセスユニットのデータ構造例を説明する図である。
【図5】本発明の一実施形態に係るVclickストリームの構成方法を説明する図である。
【図6】本発明の一実施形態に係るVclickアクセス・テーブルの構成例を説明する図である。
【図7】本発明の一実施形態に係る送信用パケットの構成例を説明する図である。
【図8】本発明の一実施形態に係る送信用パケットの別の構成例を説明する図である。
【図9】本発明の一実施形態に係るサーバー・クライアント間の通信例を説明する図である。
【図10】本発明の一実施形態に係るサーバー・クライアント間の別の通信例を説明する図である。
【図11】本発明の一実施形態に係るVclickストリームのヘッダのデータ要素の例を説明する図である。
【図12】本発明の一実施形態に係るVclickアクセスユニット(AU)のヘッダのデータ要素の例を説明する図である。
【図13】本発明の一実施形態に係るVclickアクセスユニット(AU)のタイムスタンプのデータ要素の例を説明する図である。
【図14】本発明の一実施形態に係るVclickアクセスユニット(AU)のタイムスタンプ・スキップのデータ要素の例を説明する図である。
【図15】本発明の一実施形態に係るオブジェクト属性情報のデータ要素の例を説明する図である。
【図16】本発明の一実施形態に係るオブジェクト属性情報の種類の例を説明する図である。
【図17】本発明の一実施形態に係るオブジェクトの名前属性のデータ要素の例を説明する図である。
【図18】本発明の一実施形態に係るオブジェクトのアクション属性のデータ要素の例を説明する図である。
【図19】本発明の一実施形態に係るオブジェクトの輪郭線属性のデータ要素の例を説明する図である。
【図20】本発明の一実施形態に係るオブジェクトの点滅領域属性のデータ要素の例を説明する図である。
【図21】本発明の一実施形態に係るオブジェクトのモザイク領域属性のデータ要素の例を説明する図である。
【図22】本発明の一実施形態に係るオブジェクトの塗りつぶし領域属性のデータ要素の例を説明する図である。
【図23】本発明の一実施形態に係るオブジェクトのテキスト情報データのデータ要素の例を説明する図である。
【図24】本発明の一実施形態に係るオブジェクトのテキスト属性のデータ要素の例を説明する図である。
【図25】本発明の一実施形態に係るオブジェクトのテキスト・ハイライト効果属性のデータ要素の例を説明する図である。
【図26】本発明の一実施形態に係るオブジェクトのテキスト・ハイライト効果属性のエントリーのデータ要素の例を説明する図である。
【図27】本発明の一実施形態に係るオブジェクトのテキスト点滅効果属性のデータ要素の例を説明する図である。
【図28】本発明の一実施形態に係るオブジェクトのテキスト点滅効果属性のエントリーのデータ要素の例を説明する図である。
【図29】本発明の一実施形態に係るオブジェクトのテキストスクロール効果属性のデータ要素の例を説明する図である。
【図30】本発明の一実施形態に係るオブジェクトのテキスト・カラオケ効果属性のデータ要素の例を説明する図である。
【図31】本発明の一実施形態に係るオブジェクトのテキスト・カラオケ効果属性のエントリーのデータ要素の例を説明する図である。
【図32】本発明の一実施形態に係るオブジェクトの階層属性拡張のデータ要素の例を説明する図である。
【図33】本発明の一実施形態に係るオブジェクトの階層属性拡張のエントリーのデータ要素の例を説明する図である。
【図34】本発明の一実施形態に係るVclickアクセスユニット(AU)のオブジェクト領域データのデータ要素の例を説明する図である。
【図35】本発明の一実施形態に係るエンハンスドDVDビデオディスクの構造の例を説明する図である。
【図36】本発明の一実施形態に係るエンハンスドDVDビデオディスク内のディレクトリ構成の例を説明する図である。
【図37】本発明の一実施形態に係る通常再生の開始処理手順を表す流れ図であるVclickデータがサーバー装置にある場合)。
【図38】本発明の一実施形態に係る別の通常再生の開始処理手順を表す流れ図であるVclickデータがサーバー装置にある場合)。
【図39】本発明の一実施形態に係る通常再生の終了処理手順を表す流れ図であるVclickデータがサーバー装置にある場合)。
【図40】本発明の一実施形態に係るランダムアクセス再生の開始処理手順を表す流れ図であるVclickデータがサーバー装置にある場合)。
【図41】本発明の一実施形態に係る別のランダムアクセス再生の開始処理手順を表す流れ図であるVclickデータがサーバー装置にある場合)。
【図42】本発明の一実施形態に係る通常再生の開始処理手順を表す流れ図であるVclickデータがクライアント装置にある場合)。
【図43】本発明の一実施形態に係るランダムアクセス再生の開始処理手順を表す流れ図であるVclickデータがクライアント装置にある場合)。
【図44】本発明の一実施形態に係るハイパーメディアの表示例を説明する図である。
【図45】本発明の一実施形態に係るEmbedded Fileのデータ要素の例を説明する図である。
【図46】本発明の一実施形態に係るEmbedded Fileが再生時に保持されるファイル管理情報(ディレクトリ)及び埋め込みファイルデータを保持するためのバッファを説明する図である。
【図47】本発明の一実施形態に係るEmbedded FileのVclick ストリームへの埋め込みの位置を説明する図である。
【図48】本発明の一実施形態に係るEmbedded Fileに対応した再生機器においてEmbedded Fileを保持する処理の流れを説明する図である。
【図49】本発明の一実施形態に係るEmbedded Fileに対応した再生機器において参照されたEmbedded Fileを読み込む処理の流れを説明する図である。
【図50】本発明の一実施形態の変更例に係るもので、EFをAUに埋め込む場合の説明図である。
【図51】オブジェクト属性attribute_id及び属性の長さdata_lengthを用いて、そのオブジェクト属性がEFであることを識別する場合のデータ要素の例を説明する図である。
【符号の説明】
【0283】
200…クライアント装置
201…サーバー装置
202…Vclickエンジン
203…動画再生エンジン
221…サーバー装置とクライアント装置を結ぶネットワーク
301〜305…Vclickアクセスユニット
201400…Vclickアクセスユニットのオブジェクト領域データ
401…Vclickアクセスユニットのヘッダ
402…Vclickアクセスユニットのタイムスタンプ
403…Vclickアクセスユニットのオブジェクト属性情報

【特許請求の範囲】
【請求項1】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを1以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第1データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域が指定されたときに行う処理を特定する第2データと、
を有し、
前記メタデータは、前記第2データにより参照されて前記時空間領域が指定されたときに処理するための第3データと、前記第3データを特定する第4データを有し、
前記第2データは、前記第3データを参照するために前記第4データの識別データを有する
ことを特徴とするメタデータのデータ構造。
【請求項2】
前記第3データ及び第4データからなる埋め込みデータと前記アクセスユニットとが並んだストリームをなし、
前記埋め込みデータは、この埋め込みデータにおける第3データを参照するアクセスユニットの前に埋め込められている
ことを特徴とする請求項1記載のメタデータのデータ構造。
【請求項3】
前記第3データ及び第4データは、この第3データを参照するアクセスユニットの中に埋め込められている
ことを特徴とする請求項1記載のメタデータのデータ構造。
【請求項4】
前記第4データは、前記アクセスユニットによって第3データが参照される時間区間のデータを持つ
ことを特徴とする請求項1記載のメタデータのデータ構造。
【請求項5】
前記第4データは、前記第3データを保持する記憶装置上での位置のデータを含む
ことを特徴とする請求項1記載のメタデータのデータ構造。
【請求項6】
前記第4データは、前記第4データの一部または全部を保持する記憶装置上での位置のデータを含む
ことを特徴とする請求項1記載のメタデータのデータ構造。
【請求項7】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを1以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第1データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域が指定されたときに行う処理を特定する第2データと、
を有し、
前記メタデータは、前記第2データにより参照されて前記時空間領域が指定されたときに処理するための第3データと、前記第3データを特定する第4データを有し、
前記第2データは、前記第3データを参照するために前記第4データの識別データを有し、
前記第4データは前記第3データを保持する記憶装置上での位置のデータである記憶位置情報を有するメタデータの再生方法において、
前記第4データにおける記憶位置情報で指定された位置に基づき、前記第3データを保持する前記記憶装置上の位置を決定する位置決定手段と、
前記決定された記記憶装置上の位置に前記第3データを記憶する記憶手段と、
前記第2データにより前記第3データが参照されるときに、前記第2データの識別データによって前記第4データを識別する識別手段と、
前記識別された第4データによって前記記憶装置から前記第3データを取得する取得手段と、
を具備する
ことを特徴とするメタデータの再生装置。
【請求項8】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを1以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第1データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域が指定されたときに行う処理を特定する第2データと、
を有し、
前記メタデータは、前記第2データにより参照されて前記時空間領域が指定されたときに処理するための第3データと、前記第3データを特定する第4データを有し、
前記第2データは、前記第3データを参照するために前記第4データの識別データを有し、
前記第4データは前記第3データを保持する記憶装置上での位置のデータである記憶位置情報を有するメタデータの再生方法において、
前記第4データにおける記憶位置情報で指定された位置に基づき、前記第3データを保持する前記記憶装置上の位置を決定する位置決定ステップと、
前記決定された記記憶装置上の位置に前記第3データを記憶する記憶ステップと、
前記第2データにより前記第3データが参照されるときに、前記第2データの識別データによって前記第4データを識別する識別ステップと、
前記識別された第4データによって前記記憶装置から前記第3データを取得する取得ステップと、
を具備する
ことを特徴とするメタデータの再生方法。
【請求項9】
動画像に関連したメタデータは、独立して処理可能なデータ単位であるアクセスユニットを1以上含んで構成されるストリームのデータ構造をなし、
前記各アクセスユニットは、
前記動画像の時間軸に対して定義される有効期間を特定する第1データと、
前記動画像中の時空間領域を記述したオブジェクト領域データと、
前記時空間領域が指定されたときに行う処理を特定する第2データと、
を有し、
前記メタデータは、前記第2データにより参照されて前記時空間領域が指定されたときに処理するための第3データと、前記第3データを特定する第4データを有し、
前記第2データは、前記第3データを参照するために前記第4データの識別データを有し、
前記第4データは前記第3データを保持する記憶装置上での位置のデータである記憶位置情報を有するメタデータの再生方法をコンピュータによって実現すプログラムにおいて、
前記第4データにおける記憶位置情報で指定された位置に基づき、前記第3データを保持する前記記憶装置上の位置を決定する位置決定機能と、
前記決定された記記憶装置上の位置に前記第3データを記憶する記憶機能と、
前記第2データにより前記第3データが参照されるときに、前記第2データの識別データによって前記第4データを識別する識別機能と、
前記識別された第4データによって前記記憶装置から前記第3データを取得する取得機能と、
を実現する
ことを特徴とするメタデータの再生方法のプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate


【公開番号】特開2006−80918(P2006−80918A)
【公開日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願番号】特願2004−262972(P2004−262972)
【出願日】平成16年9月9日(2004.9.9)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】