JP2006005682A - 動画像のメタデータのデータ構造及びその再生方法 - Google Patents

動画像のメタデータのデータ構造及びその再生方法 Download PDF

Info

Publication number
JP2006005682A
JP2006005682A JP2004180266A JP2004180266A JP2006005682A JP 2006005682 A JP2006005682 A JP 2006005682A JP 2004180266 A JP2004180266 A JP 2004180266A JP 2004180266 A JP2004180266 A JP 2004180266A JP 2006005682 A JP2006005682 A JP 2006005682A
Authority
JP
Japan
Prior art keywords
data
metadata
buffer
vclick
moving image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004180266A
Other languages
English (en)
Inventor
Toshimitsu Kaneko
敏充 金子
Tatsu Kamibayashi
達 上林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004180266A priority Critical patent/JP2006005682A/ja
Priority to US11/065,558 priority patent/US7472136B2/en
Priority to CNB2005101098722A priority patent/CN100481023C/zh
Publication of JP2006005682A publication Critical patent/JP2006005682A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】動画像データと同様に、動画像のメタデータもバッファオーバーフローやアンダーフローが生じないようにバッファサイズや再生開始前のデータバッファリングサイズを決定する必要がある。
【解決手段】動画像のメタデータにおいて、バッファ内のデータ量のダイナミックレンジを記述し、バッファサイズ及びメタデータの再生開始前のデータバッファリングサイズをこのダイナミックレンジにより決定する。
【選択図】 図56

Description

本発明は、クライアント装置にある動画像データと、クライアント装置もしくはネットワーク上のサーバー装置にあるメタデータとを組み合わせて動画像ハイパーメディアを実現したり、また動画像にテロップや吹き出しを表示したりするためのメタデータのデータ構造及びその再生方法に関する。
ハイパーメディアは、動画像、静止画像、音声、テキストなどのメディア間にハイパーリンクと呼ばれる関連性を定義し、相互に、または一方から他方を参照できるようにしたものである。例えばインターネットを使って閲覧することのできるHTMLで記述されたホームページには、テキストや静止画が配置されており、これらテキストや静止画のいたるところにリンクが定義されている。そしてこれらのリンクを指定することにより直ちにリンク先である関連情報を表示させることができる。興味のある語句を直接指示すれば関連情報にアクセスできるため、操作が容易かつ直感的である。
一方、テキストや静止画ではなく動画像を中心にしたハイパーメディアでは、動画像中に登場する人や物などのオブジェクトからそれを説明するテキストや静止画などの関連コンテンツへのリンクが定義されており、視聴者がこのオブジェクトを指示することによりこれら関連コンテンツが表示される。このとき、動画像に登場するオブジェクトの時空間的な領域とその関連コンテンツへのリンクを定義するには、動画像中のオブジェクトの時空間的な領域を表すデータ(オブジェクト領域データ)が必要となる。
オブジェクト領域データとしては、2値以上の値を持つマスク画像系列、MPEG−4の任意形状符号化、特許文献1で説明されている図形の特徴点の軌跡を記述する方法、さらに特許文献2で説明されている方法などを用いることができる。動画像中心のハイパーメディアを実現するためには、このほかにもオブジェクトが指定されたときに他の関連コンテンツを表示させるという動作を記述したデータ(動作情報)などが必要となる。これらの動画像以外のデータを動画像のメタデータと呼ぶことにする。
動画像とメタデータを視聴者に提供する方法としては、まず動画像とメタデータの両方が記録された記録媒体(ビデオCD、DVDなど)を作る方法がある。また、すでにビデオCDやDVDとして所有している動画像のメタデータを提供するには、メタデータのみをネットワーク上からダウンロード、もしくはストリーミングにより配信すればよい。さらに、動画像とメタデータの両方のデータをネットワークで配信しても良い。このとき、メタデータは効率的にバッファを使用することが可能で、ランダムアクセスに適しており、ネットワークにおけるデータロスに強い形式であることが望ましい。
また、動画像の切り替えが頻繁に生じる場合には(例えば、複数のカメラアングルで撮影された動画像が用意されており、視聴者は自由にカメラアングルを選択できるような場合…DVDビデオのマルチアングル映像のようなものなど)、動画像の切り替えに対応して高速にメタデータの切り替えができなければならない。
さらに、メタデータはバッファオーバーフローやアンダーフローが生じないようにバッファサイズや再生開始前のデータバッファリングサイズを決定できることが必要である。
特開2000−285253公報 特開2001−111996公報
視聴者の手元にある動画像に関連したメタデータであり、ネットワークを介して視聴者の元にストリーミング配信されたり、視聴者の元にあって再生されたりするメタデータに於いては、データの転送速度や使用するネットワークプロトコルに応じて、バッファサイズや再生開始前のデータバッファリングサイズを決定できることが望まれる。
そこで、本発明は、上記問題点に鑑み、データの転送速度や使用するネットワークプロトコルに応じて、バッファサイズや再生開始前のデータバッファリングサイズを決定できる発明を提供する。
本実施形態は、動画像に関連したメタデータであって、かつ、前記メタデータの再生まではバッファ内に一時的に蓄積されるものである。
前記メタデータ(そのデータ構造)は、独立して処理可能なデータ単位であるアクセスユニットを、一つまたは複数含むことにより構成される。
ここで、アクセスユニット(図4のVclick_AU)は、動画像の時間軸に対して定義される有効期間内に関する情報として、前記有効期間を特定する第1データ(402)と、前記動画像中の時空間領域を記述したオブジェクト領域データ(400)と、前記時空間領域に関連した表示方法を特定するデータ及び前記時空間領域を指定された際に行う処理を特定するデータのうちの少なくとも1つを含む第2データ(403)を含んで構成される。
さらに、動画像メタデータに、一定速度でバッファにメタデータが入力される場合には、バッファ内のデータ量のダイナミックレンジを記述し、メタデータの再生開始前のデータバッファリングサイズをこのダイナミックレンジのサイズとし、さらにバッファサイズをダイナミックレンジの2倍以上とする。
さらに、動画像メタデータに、一定速度で入力、または、入力が停止される状態でバッファにメタデータが入力される場合には、バッファ内のデータ量の最小ダイナミックレンジを記述し、メタデータの再生開始前のデータバッファリングサイズをこのダイナミックレンジのサイズとし、さらにバッファサイズをダイナミックレンジ以上とする。
動画像に同期させたメタデータ再生に於いて、バッファオーバーフロー、アンダーフローが生じないことが保証できる。さらにストリームごとに適切なバッファサイズを決めるので無駄がなく、また、再生開始までの待ち時間が小さくなる。バッファサイズが少なくて済む場合には、記録媒体を他の用途に利用することもできる。
以下、図面を参照しながら本発明の一実施例を説明する。
(1)アプリケーションの概要
図1は、本実施例のオブジェクト・メタデータを動画像と共に利用することにより実現されるアプリケーション(動画像ハイパーメディア)の画面上の表示例である。
図1(a)の100は動画像の再生画面を示し、そして101はマウスカーソルを示す。動画像の再生画面100で再生される動画像のデータは、ローカルにある動画像データ記録媒体に記録されている。102は動画像中に登場するオブジェクトの領域を示す。ユーザがオブジェクトの領域内にマウスカーソルを移動させてクリック等によりオブジェクトを選択すると、所定の機能が実行される。例えば図1(b)では、ローカル及び/またはネットワーク上にあるドキュメント(クリックされたオブジェクトに関連した情報)103が表示されている。そのほか、動画像の別の場面にジャンプしたり、別の動画像ファイルが再生されたり、再生モードを変更するなどの機能を実行することができる。
オブジェクトの領域102のデータ及びこの領域がクリック等により指定された場合のクライアント装置の動作データなどをまとめて、オブジェクト・メタデータまたはVclickデータと呼ぶことにする。Vclickデータはローカルにある動画像データ記録媒体(光ディスク、ハードディスク、半導体メモリ等)に動画像データと共に記録されていても良いし、ネットワーク上のサーバーに蓄積されていてネットワーク経由でクライアントに送られるようにしても良い。
図44は、本実施例のVclickデータを動画像と共に利用することにより実現されるアプリケーション(動画像ハイパーメディア)の図1とは別の画面上の表示例である。
図1では動画像、関連情報を表示するウインドウはそれぞれ別々であったが、図44では一つのウインドウA01に動画像A02と関連情報A03が表示されている。関連情報としてテキストのみでなく、静止画A04やA02とは別の動画像を表示させることも可能である。
以下ではこれらのアプリケーションがどのように実現されるかについて詳細に説明する。
(2)システム構成
図2は本発明の一実施例に係るストリーミング装置(ネットワーク対応ディスクプレーヤ)の概略構成を示す図である。この図2を用いて各構成要素の機能について説明する。
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等のドキュメントの表示を行うことも可能である。
動画像データ記録媒体231に記録された動画像データに関連したVclickデータは、動
画像データ記録媒体231に動画像データと共に記録されている場合と、サーバー装置201のメタデータ記録媒体219に記録されている場合とがある。Vclickデータがサーバー装置201に存在する場合、クライアント装置200はこのVclickデータとディスク装置230にある動画像データとを利用した再生を以下のように行うことが可能である。まず、サーバー装置201はクライアント装置200からの要求によりネットワーク221を介してクライアント装置200にVclickデータを含むメディアデータM1を送る。クライアント装置200では、送られてきたVcilckデータを動画像の再生と同期させて処理することでハイパーメディアなどの付加機能を実現させる。
動画再生エンジン203は、ディスク装置230にある動画像データを再生するためのエンジンであり、204、205、206の装置を有している。231は動画像データ記録媒体であり、具体的にはDVD、ビデオCD、ビデオテープ、ハードディスク、半導体メモリなどである。動画像データ記録媒体231にはデジタル及び/またはアナログの動画像データが記録されている。動画像データに関連したメタデータは、動画像データと共に動画像データ記録媒体231に記録されている場合もある。205は、動画像再生制御用のコントローラであり、Vclickエンジン202のインタフェース・ハンドラー207から出力される“コントロール”信号に応じて、動画像データ記録媒体231からの映像・音声・副映像データD1の再生を制御することもできるように構成されている。
具体的には、動画像再生コントローラ205は、動画像の再生時に、インタフェース・ハンドラー207からあるイベント(例えばユーザ指示によるメニュー・コールやタイトル・ジャンプ)が発生した際に送信される“コントロール”信号に応じて、インタフェース・ハンドラー207に対して、映像・音声・副映像データD1の再生状況を示す“トリガ”信号を出力することができる。その際(トリガ信号の出力と同時に、あるいはその前後の適当なタイミングで)、動画像再生コントローラ205は、プロパティ情報(例えばプレーヤに設定されている音声言語、副映像字幕言語、再生動作、再生位置、各種時間情報、ディスクの内容等)を示す“ステータス”信号をインタフェース・ハンドラー207に出力することができる。これらの信号の送受信により動画像データ読み出しの開始及び停止や、動画像データ中の所望の位置へのアクセスが可能となる。
AVデコーダ206は、動画像データ記録媒体231に記録されている映像データ、音声データ、及び副映像データをそれぞれデコードし、デコードされた映像データ(前述の映像データと前述の副映像データを合成したもの)と音声データをそれぞれ出力する機能を持っている。これにより、動画再生エンジン203は、既存のDVDビデオ規格に基づいて製造される通常のDVDビデオプレーヤの再生エンジンと同じ機能を持つようになる。つまり、図2のクライアント装置200は、MPEG2プログラムストリーム構造の映像、音声等のデータを通常のDVDビデオプレーヤと同様に再生することができ、これにより既存のDVDビデオディスク(従来のDVDビデオ規格に則ったディスク)の再生が可能となる(既存DVDソフトに対する再生互換確保)。
インタフェース・ハンドラー207は、動画像再生エンジン203、ディスク装置マネージャー213、ネットワーク・マネージャー208、メタデータ・マネージャー210、バッファ・マネージャー211、スクリプト・インタプリタ212、メディア・デコーダ216(メタデータ・デコーダ217を含む)、レイアウト・マネージャー215、AVレンダラー218などのモジュール間のインタフェース制御を行う。また、ユーザ操作(マウス、タッチパネル、キーボード等の入力デバイスへの操作)による入力イベントをユーザ・インタフェース240から受け取り、適切なモジュールにイベントを送信する。
インタフェース・ハンドラー207はVclickアクセス・テーブル(後述)を解釈するアクセステーブル・パーサー、Vclick情報ファイル(後述)を解釈する情報ファイル・パーサー、Vclickエンジンの管理するプロパティを記録しておくプロパティ・バッファ、Vclickエンジンのシステムクロック、動画再生エンジンにある動画像クロック204のクロックをコピーした動画像クロック等を有している。
ネットワーク・マネージャー208は、ネットワークを介してHTML等のドキュメントや静止画・音声等のデータをバッファ209へ取得する機能を持っており、インターネット接続部222の動作を制御する。ネットワーク・マネージャー212は、ユーザ操作または、メタデータ・マネージャー210からの要求を受けたインタフェース・ハンドラー207より、ネットワークへの接続や非接続の指示が来ると、インターネット接続部222の接続・非接続の切替を行う。また、サーバー装置201とインターネット接続部222とのネットワーク確立時には、制御データやVclickデータ等のメディアデータの送受信を行う。メディアデータにはVclickデータ、HTML等のドキュメントやこれに付随する静止画・動画像データなどが含まれる。
クライアント装置200からサーバー装置201へ送信するデータとしては、セッション構築の要求、セッション終了の要求、Vclickデータ等のメディアデータ送信の要求、OKやエラーなどのステータス情報などがある。また、クライアント装置の状態情報の送信を行うようにしても良い。一方、サーバー装置からクライアント装置へ送信するデータにはVclickデータ等のメディアデータ、OKやエラーなどのステータス情報がある。
ディスク装置マネージャー213は、HTML等のドキュメントや静止画・音声等のデータをバッファ209へ取得する機能及び、動画再生エンジン203へ映像・音声・副映像データD1を送信する機能を持っている。ディスク装置マネージャー213は、メタデータ・マネージャー210からの指示に従ってデータ送信処理を行う。
バッファ209は、ネットワークを介して(ネットワーク・マネージャー経由で)サーバー装置201から送られてきたVclickデータ等のメディアデータM1を一時的に蓄積する。なお、動画像データ記録媒体231にメディアデータM2が記録されている場合にも、同様にディスク装置マネージャー経由でバッファ209へメディアデータM2を蓄積する。
動画像データ記録媒体231にメディアデータM2が記録されている場合は、映像・音声・副映像データD1の再生を開始する前に予め動画像データ記録媒体231からメディアデータM2を読み出し、バッファ209に記憶しておいてもよい。これは、動画像データ記録媒体231上のメディアデータM2と映像・音声・副映像データD1のデータ記録位置が異なるため、通常の再生を行った場合にはディスクのシーク等が発生してシームレスな再生が保障できなくなってしまうため、これを回避するための手段となる。
以上のように、サーバー装置201からダウンロードしたVclickデータ等のメディアデータM1も、動画像データ記録媒体231に記録されているVclickデータ等のメディアデータM2と同様に、バッファ209に記憶させることにより、映像・音声・副映像データD1とメディアデータを同時に読み出して再生することが可能になる。
なお、バッファ209の記憶容量には限界がある。つまり、バッファ209に記憶できるメディアデータM1、M2のデータサイズには限りがある。このため、メタデータ・マネージャー210、及び/またはバッファ・マネージャー211の制御(バッファ・コントロール)により、不必要なデータの消去を行うことにしてもよい。
メタデータ・マネージャー210は、バッファ209に蓄積されたメタデータを管理しており、インタフェース・ハンドラー207からの動画像の再生に同期させた適切なタイミング(“動画像クロック”信号)を受けて、該当するタイムスタンプを持つメタデータをバッファ209よりメディア・デコーダ216に転送する。
尚、該当するタイムスタンプを持つVcilckデータがバッファ209に存在しない場合は、メディア・デコーダ216に転送しなくてもよい。また、メタデータ・マネージャー210は、バッファ209より送出したVclickデータのサイズ分、または、任意のサイズのデータをサーバー装置201、またはディスク装置230からバッファ209へ読み込むためのコントロールを行う。具体的な処理としては、メタデータ・マネージャー210は、インタフェース・ハンドラー207経由で、ネットワーク・マネージャー208、またはディスク装置マネージャー213に対し、指定サイズ分のVcilckデータ取得要求を行う。ネットワーク・マネージャー208、またはディスク装置マネージャー213は、指定サイズ分のVclickデータをバッファ209に読み込み、Vclickデータ取得済の応答をインタフェース・ハンドラー207経由で、メタデータ・マネージャー210へ通知する。
バッファ・マネージャー211は、バッファ209に蓄積されたVclickデータ以外のデータ(HTML等のドキュメントやこれに付随する静止画・動画像データなど)の管理をしており、インタフェース・ハンドラー207からの動画像の再生に同期させた適切なタイミング(“動画像クロック”信号)を受けてバッファ209に蓄積されたVclickデータ以外のデータをパーサー214やメディア・デコーダ216に送る。バッファ・マネージャー211は、不要になったデータをバッファ209から削除してもよい。
パーサー214は、HTML等のマークアップ言語で書かれたドキュメントの構文解析を行い、スクリプトはスクリプト・インタプリタ212へ、そしてレイアウトに関する情報はレイアウト・マネージャー215に送る。
スクリプト・インタプリタ212は、パーサー214から入力されるスクリプトを解釈し、実行する。スクリプトの実行には、インタフェース・ハンドラー207から入力されるイベントやプロパティの情報を利用することもできる。動画像中のオブジェクトがユーザにより指定された場合には、スクリプトはメタデータ・デコーダ217からスクリプト・インタプリタ212へ入力される。
AVレンダラー218は、映像・音声・テキスト出力を制御する機能をもつ。具体的には、AVレンダラー218は、レイアウト・マネージャー215から出力される“レイアウト・コントロール”信号に応じて、例えば、映像・テキストの表示位置、表示サイズや(これらとともに表示タイミング、表示時間を含むこともある)、音声の大きさ(これらとともに出力タイミング、出力時間を含むこともある)を制御したり、指定されているモニターの種別かつ/または表示する映像の種類に応じて、その映像の画素変換を行う。制御の対象となる映像・音声・テキスト出力は、動画再生エンジン203及びメディア・デコーダ216からの出力である。さらに、AVレンダラー218は、インタフェース・ハンドラー207から出力される“AV出力コントロール”信号に従って、動画再生エンジン203から入力される映像・音声データとメディア・デコーダから入力される映像・音声・テキストデータのミキシング(混合)、スイッチング(切替)を制御する機能をもつ。
レイアウト・マネージャー215は、“レイアウト・コントロール”信号をAVレンダラー218に出力する。“レイアウト・コントロール”信号には、出力する動画・静止画・テキストの大きさやその位置に関する情報(表示開始・終了・継続といった表示時間に関する情報を含む場合もある)が含まれており、どのようなレイアウトで表示すべきかをAVレンダラー218に指示するための情報となっている。また、インタフェース・ハンドラー207から入力されるユーザのクリック等の入力情報に対して、どのオブジェクトが指定されたのかを判定し、指定されたオブジェクトに対して定義された関連情報の表示などの動作命令を取り出すようにメタデータ・デコーダ217に対して指示する。取り出された動作命令は、スクリプト・インタプリタ212に送られ実行される。
メディア・デコーダ216(メタデータ・デコーダを含む)は、動画・静止画・テキストデータをデコードする。これらデコードされた映像データ、テキスト画像データをメディア・デコーダ216からAVレンダラー218に送信する。また、これらデコードデータは、インタフェース・ハンドラー202からの“メディア・コントロール”信号の指示によりデコードを行うとともに、インタフェース・ハンドラー202からの“タイミング”信号に同期してデコードが行われる。
219はサーバー装置のメタデータ記録媒体であり、クライアント装置200に送信するVcilckデータが記録されたハードディスク、半導体メモリ、磁気テープなどである。このVclickデータは、動画像データ記録媒体231に記録されている動画像データに関連したメタデータである。このVclickデータには、後で説明するオブジェクト・メタデータが含まれている。220はサーバーのネットワーク・マネージャーであり、クライアント装置200とネットワーク221を介してデータの送受信を行う。
(3)EDVDデータ構造とIFOファイル
図35は、動画像データ記録媒体231としてエンハンスドDVDビデオディスクを用いた際のデータ構造の一例を示す図である。エンハンスドDVDビデオディスクのDVDビデオエリアは、DVDビデオ規格と同じデータ構造のDVDビデオコンテンツ(MPEG2プログラムストリーム構造を持つ)を格納する。さらに、エンハンスドDVDビデオディスクの他の記録エリアは、ビデオコンテンツの再生をバラエティに富んだものにできるエンハンスド・ナビゲーション(以下ENAVと略記する)コンテンツを格納する。なお、上記記録エリアは、DVDビデオ規格でも存在が認められている。
ここで、DVDビデオディスクの基本的なデータ構造について説明する。すなわち、DVDビデオディスクの記録エリアは、内周から順にリードインエリア、ボリュームスペース、及びリードアウトエリアを含んでいる。ボリュームスペースは、ボリューム/ファイル構造情報エリア、及びDVDビデオエリア(DVDビデオゾーン)を含み、さらにオプションで他の記録エリア(DVDアザーゾーン)を含むことができる。
上記ボリューム/ファイル構造情報エリア2は、UDF(Universal Disk Format)ブリッジ構造のために割り当てられたエリアである。UDFブリッジフォーマットのボリュームは、ISO/IEC13346のパート2に従って認識されるようになっている。このボリュームを認識するスペースは、連続したセクタからなり、図35のボリュームスペースの最初の論理セクタから始まる。その最初の16論理セクタは、ISO9660で規定されるシステム使用のために予約されている。従来のDVDビデオ規格との互換性を確保するには、このような内容のボリューム/ファイル構造情報エリアが必要となる。
また、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ビデオエリアも必要となる。
各タイトル(VTS#1〜VTS#n)の再生選択メニュー等は、VMGを用いてプロバイダ(DVDビデオディスクの制作者)により予め与えられ、特定タイトル(例えばVTS#1)内での再生チャプター選択メニューや記録内容(セル)の再生手順等は、VTSIを用いてプロバイダにより予め与えられている。従って、ディスクの視聴者(DVDビデオプレーヤのユーザ)は、予めプロバイダにより用意されたVMG/VTSIのメニューやVTSI内の再生制御情報(プログラムチェーン情報PGCI)に従ってそのディスク1の記録内容を楽しむことができる。しかし、DVDビデオ規格では、視聴者(ユーザ)が、プロバイダが用意したVMG/VTSIと異なる方法でVTSの内容(映画や音楽)を再生することはできない。
プロバイダが用意したVMG/VTSIと異なる方法でVTSの内容(映画や音楽)を再生したり、プロバイダが用意したVMG/VTSIとは異なる内容を付加して再生したりする仕組みのために用意したのが、図35のエンハンスドDVDビデオディスクである。このディスクに含まれるENAVコンテンツは、DVDビデオ規格に基づき製造されたDVDビデオプレーヤではアクセスできない(仮にアクセスできたとしてもその内容を利用できない)が、本発明の一実施例のDVDビデオプレーヤではアクセスでき、その再生内容を利用できるようになっている。
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言語などを組み合わせながら用いることができる。
ここで、図35のエンハンスドDVDビデオディスクは、他の記録エリア以外の内容がDVDビデオ規格に従っているので、既に普及しているDVDビデオプレーヤを用いても、DVDビデオエリアに記録されたビデオコンテンツを再生できる(つまり従来のDVDビデオディスクと互換性がある)。他の記録エリアに記録されたENAVコンテンツは従来のDVDビデオプレーヤでは再生できない(あるいは利用できない)が、本発明の一実施例に係るDVDビデオプレーヤでは再生でき利用できる。従って、本発明の一実施例に係るDVDビデオプレーヤを用いENAVコンテンツを再生すれば、プロバイダが予め用意したVMG/VTSIの内容だけに限定されることなく、よりバラエティに富んだビデオ再生が可能になる。
特に、図35に示すように、ENAVコンテンツはVclickデータを含み、このVclickデータは、Vclick情報ファイル(Vclickインフォ)、Vclickアクセス・テーブル、Vclickストリーム、Vclick情報ファイル・バックアップ(Vclickインフォ・バックアップ)、Vclickアクセス・テーブル・バックアップを含んで構成される。
Vclick情報ファイルは、後述のVclickストリームが、DVDビデオコンテンツのどの箇所(例えば、DVDビデオコンテンツのタイトル全体、チャプター全体、あるいはその一部等)に付加しているかを表すデータである。Vclickアクセス・テーブルは、後述のVclickストリームごとに存在し、Vclickストリームにアクセスするためのテーブルである。Vclickストリームは、動画像中のオブジェクトの位置情報やオブジェクトがクリックされた際の動作記述等のデータを含むストリームである。Vclick情報ファイル・バックアップは、前述のVclick情報ファイルのバックアップであり、Vclick情報ファイルと常に同じ内容のものである。また、Vclickアクセス・テーブル・バックアップは、前述のVclickアクセス・テーブルのバックアップであり、Vclickアクセス・テーブルと常に同じ内容のものである。図35の例ではVclickデータはエンハンスドDVDビデオディスク上に記録されている。しかし、前述したようにVclickデータはネットワーク上のサーバー装置に置かれている場合もある。
図36は、上述した、Vclick情報ファイル、Vclickアクセス・テーブル、Vclickストリーム、Vclick情報ファイル・バックアップ、Vclickアクセス・テーブル・バックアップを構成するためのファイルの例を示す。Vclick情報ファイルを構成するファイル(VCKINDEX.IFO)は、XML(Extensible Markup Language)言語で記述されており、Vclickストリームと、そのVclickストリームが付加されるDVDビデオコンテンツの位置情報(VTS番号、タイトル番号、PGC番号等)が記述されている。Vclickアクセス・テーブルは、一つ以上のファイルから構成されており(VCKSTR01.IFO〜VCKSTR99.IFO、または、任意のファイル・ネーム)、一つのアクセス・テーブル・ファイルは、一つのVclickストリームに対応する。
Vclickストリーム・ファイルは、Vclickストリームの位置情報(ファイルの先頭からの相対バイト・サイズ)と時間情報(対応する動画像のタイムスタンプもしくはファイルの先頭からの相対時間情報)の関係が記述されており、与えられた時間に対応する再生開始位置を検索することができる。
Vclickストリームは、一つ以上のファイルから構成されており(VCKSTR01.VCK〜VCKSTR99.VCK、または、任意のファイル・ネーム)、前述のVclick情報ファイルの記述を参照して、付加されるDVDビデオコンテンツとともに再生できる。また、複数の属性が存在する場合(例えば、日本語用Vclickデータと英語用Vclickデータ等)、属性ごとに異なるVclickストリーム、つまり異なるファイルとして構成することも可能であり、それぞれの属性をマルチプレクスして、一つのVclickストリーム、つまり一つのファイルとして構成することも可能である。なお、前者(異なる属性を複数のVclickストリームで構成)の場合は、再生装置(プレーヤ)にいったん記憶させるときのバッファ占有容量を少なくすることができる。また、後者(異なる属性を一つのVclickストリームで構成)の場合は、属性を切り替えるとき、ファイルを切り替えずに、一つのファイルを再生したままでよいので、切り替える速度を速くすることができる。
ここで、VclickストリームとVclickアクセス・テーブルの関連付けは、例えば、ファイル名にて行うことが可能である。前述の例においては、一つのVclickストリーム(VCKSTRXX.VCK、XXは01〜99)に対して、一つのVclickアクセス・テーブル(VCKSTRXX.IFO、XXは01〜99)を割り当てており、拡張子以外のファイル名を同じものにすることにより、VclickストリームとVclickアクセス・テーブルの関連付けが識別可能になる。
これ以外にも、Vclick情報ファイルにて、VclickストリームとVclickアクセス・テーブルの関連付けを記述することにより(並行に記述することにより)、VclickストリームとVclickアクセス・テーブルの関連付けが識別可能になる。
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を代わりに読み込むことにより、所望の手続きを行うことができる。
(4)データ構造の概略とアクセス・テーブル
Vclickストリームには、動画像データ記録媒体231に記録されている動画像に登場する人・物などのオブジェクトの領域に関するデータと、クライアント装置200におけるオブジェクトの表示方法とユーザがそれらオブジェクトを指定したときにクライアント装置が取るべき動作のデータが含まれている。以下では、Vclickデータの構造とその構成要素の概要について説明する。
まず動画像に登場する人・物などのオブジェクトの領域に関するデータであるオブジェクト領域データについて説明する。
図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)と呼ぶ。
図4は、本発明の一実施例で用いるVclickストリーム中の、独立にアクセス可能な1単位(Vclick_AU)の構造を表したものである。400はオブジェクト領域データである。図3で説明したとおり、ここには1つのオブジェクト領域のある連続した時間区間における軌跡がデータ化されている。このオブジェクト領域が記述されている時間区間をそのVclick_AUのアクティブ期間(active time)と呼ぶ。通常はVclick_AUのアクティブ期間はそのVclick_AUの有効期間と同一である。しかし、Vclick_AUのアクティブ期間をそのVclick_AUの有効期間の一部とすることも可能である。
401はVclick_AUのヘッダである。ヘッダ401には、Vclick_AUを識別するためのIDと、そのAUのデータサイズを特定するデータが含まれる。402はタイムスタンプであり、このVclick_AUの有効期間開始のタイムスタンプを示している。通常はVclick_AUのアクティブ期間と有効期間が同一であるため、オブジェクト領域データ400に記述されたオブジェクト領域が動画像のどの時刻に相当するかも示している。図3に示されるように、オブジェクト領域はある時間範囲に及んでいるため、通常はタイムスタンプ402にはオブジェクト領域の先頭の時刻を記述しておく。もちろんオブジェクト領域データに記述されたオブジェクト領域の時間間隔やオブジェクト領域の末尾の時刻も記述するようにしても良い。403はオブジェクト属性情報であり、例えばオブジェクトの名称、オブジェクトが指定された際の動作記述、オブジェクトの表示属性などが含まれる。これらVclick_AU内のデータに関しては、後でより詳細に説明する。Vclick_AUは、先頭から順に処理可能なようにタイムスタンプ順に並べて記録しておくほうが良い。
図5は複数のAUをタイムスタンプ順に並べてVclickストリームを生成する方法を説明する図である。この図では、カメラアングル1とカメラアングル2の2つのカメラアングルがあり、クライアント装置でカメラアングルを切り替えると表示される動画像も切り替えられることを想定している。また、選択可能な言語モードには日本語と英語の2種類があり、それぞれの言語に対して別々のVclickデータが用意されている場合を想定している。
図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を表示してある。
各Vclick_AUの時間的な区切りは任意でもよいが、図5に例示されるように、全てのオブジェクトに対してVclick_AUの区切りを揃えておくと、データの管理が容易になる。506は、これらのVclick_AU(500から705)から構成されたVclickストリームである。Vclickストリームは、ヘッダ部507に続いてVclick_AUをタイムスタンプ順にならべることにより構成される。
選択しているカメラアングルはユーザが視聴中に変更する可能性が高いため、このようにVclickストリームに異なるカメラアングルのVclick_AUを多重化してVclickストリームを作る方が良い。これは、クライアント装置で高速な表示切り替えが可能だからである。例えば、Vclickデータがサーバー装置201に置かれているとき、複数のカメラアングルのVclick_AUを含むVclickストリームをそのままクライアント装置に送信すれば、クライアント装置では視聴中のカメラアングルに対応したVclick_AUが常に届いているため、瞬時にカメラアングルの切り替えができる。もちろん、クライアント装置200の設定情報をサーバー装置201に送り、必要なVclick_AUのみをVclickストリームから選択して送信することも可能であるが、この場合はサーバーとの通信を行う必要があるため多少処理が遅くなる(ただし通信に光ファイバなどの高速手段を用いればこの処理遅延の問題は解決できる)。
一方、動画像タイトル、DVDビデオのPGC、動画像のアスペクト比、視聴地域等の属性は変更の頻度が低いため、別々のVclickストリームとして作成しておく方がクライアント装置の処理が軽くなり、ネットワークの付加も軽くなる。複数のVclickストリームがある場合にどのVclickストリームを選択すべきかは、すでに説明したようにVclick情報ファイルを参照して決定できる。
サーバー装置201にVclickデータがある場合、動画像が先頭から再生される場合にはサーバー装置201はVclickストリームを先頭から順にクライアント装置に配信すればよい。しかし、ランダムアクセスが生じた場合にはVclickストリームの途中からデータを配信する必要がある。このときに、Vclickストリーム中の所望の位置に高速にアクセスするためには、Vclickアクセス・テーブルが必要となる。
図6はVclickアクセス・テーブルの例である。このテーブルは予め作成され、Vclickストリームと共に記録されている。Vclick情報ファイルと同じファイルにしておくことも可能である。600はタイムスタンプの配列であり、動画像のタイムスタンプが列挙されている。601はアクセスポイントの配列であり、動画像のタイムスタンプに対応したVclickストリームの先頭からのオフセット値が列挙されている。動画像のランダムアクセス先のタイムスタンプに対応した値がVclickアクセス・テーブルにない場合は、近い値のタイムスタンプのアクセスポイントを参照し、そのアクセスポイント周辺でVclickストリーム内のタイムスタンプを参照しながら送信開始場所を探索する。もしくは、Vclickアクセス・テーブルから動画像のランダムアクセス先のタイムスタンプよりも手前の時刻のタイムスタンプを探索し、そのタイムスタンプに対応したアクセスポイントからVclickストリームを送信する。
上記Vclickアクセス・テーブルは、サーバー装置が格納しており、サーバー装置がクライアントからのランダムアクセスに応じて、送信すべきVclickデータの検索の便宜に資する為のものである。しかし、サーバー装置が格納しているVclickアクセス・テーブルをクライアント装置にダウンロードして、Vclickストリームの検索をクライアント装置に行わせるようにしても良い。特に、Vclickストリームが、サーバー装置からクライアント装置に一括ダウンロードされる場合、Vclickアクセス・テーブルも又、サーバー装置からクライアント装置に一括ダウンロードされる。
一方、VclickストリームがDVDなどの動画像記録媒体に記録されて提供される場合もあるが、この場合も再生コンテンツのランダムアクセスに応じて、利用すべきデータを検索するために、クライアント装置がVclickアクセス・テーブルを利用する事は有効である。この場合Vclickアクセス・テーブルは、Vclickストリーム同様、動画像記録媒体に記録されており、クライアント装置は当該動画像記録媒体から当該Vclickアクセス・テーブルを内部の主記憶等に読み出して利用する。
動画像のランダム再生などに伴って発生する、Vclickストリームのランダム再生は、メタデータ・デコーダ217によって処理される。図6のVclickアクセス・テーブルにおいて、タイムスタンプtimeは、動画像記録媒体に記録された動画像のタイムスタンプの形式を有する時刻情報である。例えば、動画像がMPEG-2で圧縮されて記録されているなら、timeはMPEG-2のPTSの形式をとる。更に、動画像が、例えばDVDのように、タイトルやプログラム・チェーンなどのナビゲーション構造を持つ場合、それらを表現するパラメータ(TTN、VTS_TTN、TT_PGCN、PTTNなど)がtimeの形式に含まれる。タイムスタンプの値は昇順または降順に並べられている。例えば、タイムスタンプとしてPTSが用いられている場合には時刻の順に並べることができる。DVDのパラメータを含むタイムスタンプについても、DVDの自然な再生順序に従って順序関係を定義できるため、タイムスタンプを順番に並べることが可能である。
図6のVclickアクセス・テーブルにおいて、アクセスポイントoffsetはVclickストリーム上の位置を指し示す。例えば、Vclickストリームはファイルであり、offsetは当該ファイルのファイル・ポインタの値を指し示す。タイムスタンプtimeと組になっているアクセスポイントoffsetの関係は次のようになっている:
i)offsetの示す位置は、あるVclick_AUの先頭位置である。
ii)当該AUがもつタイムスタンプの値は、timeの値以下である。
iii)当該AUより一つ前にあるAUがもつタイムスタンプの値は、timeより真に小さい。
Vclickアクセス・テーブルにおけるtimeの並びの間隔は任意で良いし、均等である必要もない。しかし、検索等の便宜を考慮して、均等にとっても良い。
次にサーバー装置・クライアント装置間のプロトコルについて説明する。Vclickデータをサーバー装置201からクライアント装置200に送信するときに使用するプロトコルとしては、例えばRTP(Real-time Transport Protocol)がある。RTPはUDP/IPとの相性が良く、リアルタイム性を重視しているためにパケットが欠落する可能性がある。RTPを用いると、Vclickストリームは送信用パケット(RTPパケット)に分割されて送信される。ここではVclickストリームの送信用パケットへの格納方法例を説明する。
図7と図8はそれぞれVclick_AUのデータサイズが小さい場合と大きい場合の送信用パケット構成方法を説明する図である。図7の700はVclickストリームである。送信用パケットはパケットヘッダー701とペイロードからなる。パケットヘッダー701にはパケットのシリアル番号、送信時刻、発信元の特定情報などが含まれている。ペイロードは送信データを格納するデータ領域である。ペイロードにVclick_AU700から順に取り出したVclick_AU(702)を納めていく。ペイロードに次のVclick_AUが入りきらない場合には残りの部分にパディングデータ703を挿入する。パディングデータはデータのサイズを合わせるためのダミーデータであり、例えば0値の連続である。ペイロードのサイズを1つまたは複数のVclick_AUサイズと等しくできる場合にはパディングデータは不要である。
一方、図8はペイロードに1つのVclick_AUが収まりきらない場合の送信用パケットの構成方法である。Vclick_AU(800)はまず1番目の送信用パケットのペイロードに入りきる部分(802)のみペイロードに格納される。残りのデータ(804)は第2の送信用パケットのペイロードに格納され、ペイロードの格納サイズに余りが生じていればパディングデータ805で埋める。一つのVclick_AUを3つ以上のパケットに分割する場合の方法も同様である。
RTP以外のプロトコルとしては、HTTP(Hypertext Transport Protocol)またはHTTPSを用いることができる。HTTPはTCP/IPとの相性が良く、この場合欠落したデータは再送されるため信頼性の高いデータ通信が行えるが、ネットワークのスループットが低い場合にはデータの遅延が生じるおそれがある。HTTPではデータの欠落がないため、Vclickストリームをどのようにパケットに分割して格納するかを特に考慮する必要はない。
(5)Vclickデータがサーバー装置にある場合の再生手順
次に、Vclickストリームがサーバー装置201上にある場合における再生処理の手順について説明する。
図37はユーザが再生開始を指示してから再生が開始されるまでの再生開始処理手順を表す流れ図である。まずステップS3700でユーザにより再生開始の指示が入力される。この入力は、インタフェース・ハンドラー207が受け取り、動画像再生コントローラ205に動画像再生準備の命令を出す。次に、分岐処理ステップS3701として、すでにサーバー装置201とのセッションが構築されているかどうかの判定を行う。セッションがまだ構築されていなければステップS3702に、すでに構築されていればステップS3703に処理を移す。ステップS3702ではサーバーとクライアント間のセッションを構築する処理を行う。
図9はサーバー・クライアント間の通信プロトコルとしてRTP用いた場合の、セッション構築からセッション切断までの通信手順例である。セッションの始めにサーバー・クライアント間でネゴシエーションを行う必要があるが、RTPの場合にはRTSP(Real Time Streaming Protocol)が用いられることが多い。ただし、RTSPの通信には高信頼性が要求されるため、RTSPはTCP/IPで、RTPはUDP/IPで通信を行うのが好ましい。まず、セッションを構築するために、クライアント装置(図2の例では200)はストリーミングされるVclickデータに関する情報提供をサーバー装置(図2の例では201)に要求する(RTSPのDESCRIBEメソッド)。
ここで、再生される動画像に対応したデータを配信するサーバーのアドレスは、例えば動画像データ記録媒体にアドレス情報を記録しておくなどの方法で予めクライアントに知らされているものとする。サーバー装置はこの応答としてVclickデータの情報をクライアント装置に送る。具体的には、セッションのプロトコルバージョン、セッション所有者、セッション名、接続情報、セッションの時間情報、メタデータ名、メタデータ属性といった情報がクライアント装置に送られる。これらの情報記述方法としては、例えばSDP(Session Description Protocol)を使用する。次にクライアント装置はサーバー装置にセッションの構築を要求する(RTSPのSETUPメソッド)。サーバー装置はストリーミングの準備を整え、セッションIDをクライアント装置に返す。ここまでの処理がRTPを用いる場合のステップS3702の処理である。
RTPではなくHTTPが使われている場合の通信手順は、例えば図10のように行う。まず、HTTPより下位の階層であるTCPでのセッション構築(3 way handshake)を行う。ここで、先ほどと同様に、再生される動画像に対応したデータを配信するサーバーのアドレスは予めクライアントに知らされているものとする。この後、クライアント装置の状態(例えば、製造国、言語、各種パラメータの選択状態など)をSDP等を用いてサーバー装置に送る処理が行われるようにしてもよい。ここまでがHTTPの場合のステップS3702の処理となる。
ステップS3703では、サーバー装置とクライアント装置間のセッションが構築された状態で、サーバーにVclickデータ送信を要求する処理を行う。これはインタフェース・ハンドラーがネットワーク・マネージャー208に指示を出し、ネットワーク・マネージャー208がサーバーに要求を出すことにより行われる。RTPの場合には、ネットワーク・マネージャー208はRTSPのPLAYメソッドをサーバーに送ることでVclickデータ送信を要求する。サーバー装置は、これまでにクライアントから受け取った情報とサーバー装置内にあるVclickインフォを参照して送信すべきVclickストリームを特定する。さらに、Vclickデータ送信要求に含まれる再生開始位置のタイムスタンプ情報とサーバー装置内にあるVclickアクセス・テーブルを用いてVclickストリーム中の送信開始位置を特定し、Vclickストリームをパケット化してRTPによりクライアント装置に送る。
一方HTTPの場合には、ネットワーク・マネージャー208はHTTPのGETメソッドを送信することによりVclickデータ送信を要求する。この要求には、動画像の再生開始位置のタイムスタンプの情報を含めても良い。サーバー装置は、RTPの時と同様の方法により送信すべきVclickストリームと、このストリーム中の送信開始位置を特定し、VclickストリームをHTTPによりクライアント装置に送る。
次に、ステップS3704では、サーバーから送られてくるVclickストリームをバッファ209にバッファリングする処理を行う。これは、Vclickストリームの再生中にサーバーからのVclickストリーム送信が間に合わず、バッファが空になってしまうことをさけるために行われる。メタデータ・マネージャー210からバッファに十分なVclickストリームが蓄積されたことがインタフェース・ハンドラーに通知されると、ステップS3705の処理に移る。ステップS3705では、インタフェース・ハンドラーがコントローラ205に動画像の再生開始命令を出し、さらにメタデータ・マネージャー210にVclickストリームのメタデータ・デコーダ217への送出を開始するよう命令を出す。
図38は図37とは別の再生開始処理の手順を説明する流れ図である。図37の流れ図で説明される処理では、ネットワークの状態やサーバー、クライアント装置の処理能力により、ステップS3704でのVclickストリームを一定量バッファリングする処理に時間がかかる場合がある。すなわち、ユーザが再生を指示してから実際に再生が始まるまでに時間がかかってしまうことがある。図38の処理手順では、ステップS3800でユーザが再生開始を指示すると、次のステップS3801で直ちに動画像の再生が開始される。すなわち、ユーザからの再生開始指示を受けたインタフェース・ハンドラー207は、直ちにコントローラ205に再生開始命令を出す。これにより、ユーザは再生を指示してから動画像を視聴するまで待たされることがなくなる。次の処理ステップS3802からステップS3805までは、図37のステップS3701からステップS3704と同一の処理である。
ステップS3806では、再生中の動画像に同期させてVclickストリームを復号する処理を行う。すなわち、インタフェース・ハンドラー207は、メタデータ・マネージャー210からバッファに一定量のVclickストリームが蓄積された通知を受け取ると、メタデータ・マネージャー210にVclickストリームのメタデータ・デコーダへの送出開始を命令する。メタデータ・マネージャー210はインタフェース・ハンドラーから再生中の動画像のタイムスタンプを受け取り、バッファに蓄積されたデータからこのタイムスタンプに該当するVclick_AUを特定し、メタデータ・デコーダへ送出する。
図38の処理手順では、ユーザは再生を指示してから動画像を視聴するまで待たされることがないが、再生開始直後はVclickストリームの復号が行われないため、オブジェクトに関する表示が行われなかったり、オブジェクトをクリックしても何も動作が起こらなかったりするなどの問題点がある。
動画像の再生中、クライアント装置のネットワーク・マネージャー208はサーバー装置から次々に送られてくるVclickストリームを受信し、バッファ209に蓄積する。蓄積されたオブジェクト・メタデータは適切なタイミングでメタデータ・デコーダ217に送られる。すなわち、メタデータ・マネージャー208は、メタデータ・マネージャー210から送られてくる再生中の動画像のタイムスタンプを参照し、バッファ209に蓄積されているデータからそのタイムスタンプに対応したVclick_AUを特定し、この特定されたオブジェクト・メタデータをAU単位でメタデータ・デコーダ217に送る。メタデータ・デコーダ217は受け取ったデータを復号する。ただし、クライアント装置が現在選択しているカメラアングルと異なるカメラアングル用のデータの復号は行わないようにしても良い。また、再生中の動画像のタイムスタンプに対応したVclick_AUがすでにメタデータ・デコーダ217にあることがわかっている場合には、オブジェクト・メタデータをメタデータ・デコーダに送らないようにしても良い。
再生中の動画像のタイムスタンプは逐次インタフェース・ハンドラーからメタデータ・デコーダ217に送られている。メタデータ・デコーダではこのタイムスタンプに同期させてVclick_AUを復号し、必要なデータをAVレンダラー218に送る。例えば、Vclick_AUに記述された属性情報によりオブジェクト領域の表示が指示されている場合には、オブジェクト領域のマスク画像や輪郭線などを生成し、再生中の動画像のタイムスタンプに合わせてA/Vレンダラー218に送る。また、メタデータ・デコーダは再生中の動画像のタイムスタンプとVclick_AUの有効時刻とを比較し、不要になった古いオブジェクト・メタデータを判定してそのデータを削除する。
図39は再生停止処理の手順を説明する流れ図である。ステップS3900では、ユーザにより動画像の再生中に再生停止が指示される。次にステップS3901で動画像再生を停止する処理が行われる。これはインタフェース・ハンドラー207がコントローラ205に停止命令を出すことにより行われる。また、同時にインタフェース・ハンドラーはメタデータ・マネージャー210にオブジェト・メタデータのメタデータ・デコーダへの送出停止を命令する。
ステップS3902はサーバーとのセッションを切断する処理である。RTPを用いている場合には、図9に示すようにRTSPのTEARDOWNメソッドをサーバーに送る。TEARDOWNのメッセージを受け取ったサーバー装置はデータ送信を中止してセッションを終了し、クライアント装置に確認メッセージを送る。この処理により、セッションに使用していたセッションIDが無効となる。一方、HTTPを用いている場合には、図10に示されているようにHTTPのCloseメソッドをサーバーに送り、セッションを終了させる。
(6)Vclickデータがサーバー装置にある場合のランダムアクセス手順
次に、Vclickストリームがサーバー装置201上にある場合におけるランダムアクセス再生の手順について説明する。
図40はユーザがランダムアクセス再生の開始を指示してから再生が開始されるまでの処理手順を表す流れ図である。まずステップS4000でユーザによりランダムアクセス再生の開始指示が入力される。入力の方法としては、チャプター等のアクセス可能位置のリストからユーザが選択する方法、動画像のタイムスタンプに対応づけられたスライドバー上からユーザが一点を指定する方法、直接動画像のタイムスタンプを入力する方法などがある。入力されたタイムスタンプは、インタフェース・ハンドラー207が受け取り、動画再生コントローラ205に動画像再生準備の命令を出す。もしもすでに動画像を再生中である場合には、再生中の動画像の再生停止を指示してから動画像再生準備の命令を出す。次に、分岐処理ステップS4001として、すでにサーバー装置201とのセッションが構築されているかどうかの判定を行う。動画像を再生中である場合など、すでにセッションが構築されている場合にはステップS4002のセッション切断処理を行う。セッションがまだ構築されていればステップS4002の処理を行わずにステップS4003に処理を移す。ステップS4003ではサーバーとクライアント間のセッションを構築する処理を行う。この処理は図37のステップS3702と同一の処理である。
次にステップS4004では、サーバー装置とクライアント装置間のセッションが構築された状態で、サーバーに再生開始位置のタイムスタンプを指定してVclickデータ送信を要求する処理を行う。これはインタフェース・ハンドラーがネットワーク・マネージャー208に指示を出し、ネットワーク・マネージャー208がサーバーに要求を出すことにより行われる。RTPの場合には、ネットワーク・マネージャー208はRTSPのPLAYメソッドをサーバーに送ることでVclickデータ送信を要求する。このとき、Range記述を用いるなどの方法で再生開始位置を特定するタイムスタンプもサーバーに送る。サーバー装置は、これまでにクライアントから受け取った情報とサーバー装置内にあるVclickインフォを参照して送信すべきオブジェクト・メタデータ・ストリームを特定する。さらに、Vclickデータ送信要求に含まれる再生開始位置のタイムスタンプ情報とサーバー装置内にあるVclickアクセス・テーブルを用いてVclickストリーム中の送信開始位置を特定し、Vclickストリームをパケット化してRTPによりクライアント装置に送る。
一方HTTPの場合には、ネットワーク・マネージャー208はHTTPのGETメソッドを送信することによりVclickデータ送信を要求する。この要求には、動画像の再生開始位置のタイムスタンプの情報が含まれている。サーバー装置はRTPの時と同様に、Vclick情報ファイルを参照して送信すべきVclickストリームを特定し、さらにタイムスタンプ情報とサーバー装置内にあるVclickアクセス・テーブルを用いてVclickストリーム中の送信開始位置を特定し、VclickストリームをHTTPによりクライアント装置に送る。
次に、ステップS4005では、サーバーから送られてくるVclickストリームをバッファ209にバッファリングする処理を行う。これは、Vclickストリームの再生中にサーバーからのVclickストリーム送信が間に合わず、バッファが空になってしまうことをさけるために行われる。メタデータ・マネージャー210からバッファに十分なVclickストリームが蓄積されたことがインタフェース・ハンドラーに通知されると、ステップS4006の処理に移る。ステップS4006では、インタフェース・ハンドラーがコントローラ205に動画像の再生開始命令を出し、さらにメタデータ・マネージャー210にVclickストリームのメタデータ・デコーダへの送出を開始するよう命令を出す。
図41は図40とは別のランダムアクセス再生開始処理の手順を説明する流れ図である。図40の流れ図で説明される処理では、ネットワークの状態やサーバー、クライアント装置の処理能力により、ステップS4005でのVclickストリームを一定量バッファリングする処理に時間がかかる場合がある。すなわち、ユーザが再生を指示してから実際に再生が始まるまでに時間がかかってしまうことがある。
これに対し、図41の処理手順では、ステップS4100でユーザが再生開始を指示すると、次のステップS4101で直ちに動画像の再生が開始される。すなわち、ユーザからの再生開始指示を受けたインタフェース・ハンドラー207は、直ちにコントローラ205にランダムアクセス再生開始命令を出す。これにより、ユーザは再生を指示してから動画像を視聴するまで待たされることがなくなる。次からの処理ステップS4102からステップS4106までは、図40のステップS4001からステップS4005と同一の処理である。
ステップS4107では、再生中の動画像に同期させてVclickストリームを復号する処理を行う。すなわち、インタフェース・ハンドラー207は、メタデータ・マネージャー210からバッファに一定量のVclickストリームが蓄積された通知を受け取ると、メタデータ・マネージャー210にVclickストリームのメタデータ・デコーダへの送出開始を命令する。メタデータ・マネージャー210はインタフェース・ハンドラーから再生中の動画像のタイムスタンプを受け取り、バッファに蓄積されたデータからこのタイムスタンプに該当するVclick_AUを特定し、メタデータ・デコーダへ送出する。
図41の処理手順では、ユーザは再生を指示してから動画像を視聴するまで待たされることがないが、再生開始直後はVclickストリームの復号が行われないため、オブジェクトに関する表示が行われなかったり、オブジェクトをクリックしても何も動作が起こらないなどの問題点がある。
なお、動画像の再生中の処理と動画像停止処理は通常の再生処理の場合と同一であるため、説明は省略する。
(7)Vclickデータがクライアント装置にある場合の再生手順
次に、Vclickストリームが動画像データ記録媒体231上にある場合における再生処理の手順について説明する。
図42はユーザが再生開始を指示してから再生が開始されるまでの再生開始処理手順を表す流れ図である。まずステップS4200でユーザにより再生開始の指示が入力される。この入力は、インタフェース・ハンドラー207が受け取り、動画再生コントローラ205に動画像再生準備の命令を出す。次に、ステップS4201では、使用するVclickストリームを特定する処理が行われる。この処理では、インタフェース・ハンドラーは動画像データ記録媒体231上にあるVclick情報ファイルを参照し、ユーザが再生を指定した動画像に対応するVclickストリームを特定する。
ステップS4202では、バッファにVclickストリームを格納する処理が行われる。この処理を行うため、インタフェース・ハンドラー207はまずメタデータ・マネージャー210にバッファを確保する命令を出す。確保すべきバッファのサイズは、特定されたVclickストリームを格納するのに十分なサイズとして決められるが、通常はこのサイズを記述したバッファ初期化用文書が動画像データ記録媒体231に記録されている。初期化用文書がない場合には、予め決められているサイズを適用する。バッファの確保が完了すると、インタフェース・ハンドラー207はコントローラ205に特定されたVclickストリームを読み出してバッファに格納する命令を出す。
Vclickストリームがバッファに格納されると、次にステップS4203の再生開始処理が行われる。この処理では、インタフェース・ハンドラー207が動画再生コントローラ205に動画像の再生命令を出し、同時にメタデータ・マネージャー210にVclickストリームのメタデータ・デコーダへの送出を開始するよう命令を出す。
動画像の再生中、動画像データ記録媒体231から読み出されたVclick_AUはバッファ209に蓄積される。蓄積されたVclickストリームは適切なタイミングでメタデータ・デコーダ217に送られる。すなわち、メタデータ・マネージャー208は、メタデータ・マネージャー210から送られてくる再生中の動画像のタイムスタンプを参照し、バッファ209に蓄積されているデータからそのタイムスタンプに対応したVclick_AUを特定し、この特定されたVclick_AUをメタデータ・デコーダ217に送る。メタデータ・デコーダ217は受け取ったデータを復号する。ただし、クライアント装置が現在選択しているカメラアングルと異なるカメラアングル用のデータの復号は行わないようにしても良い。また、再生中の動画像のタイムスタンプに対応したVclick_AUがすでにメタデータ・デコーダ217にあることがわかっている場合には、Vclickストリームをメタデータ・デコーダに送らないようにしても良い。
再生中の動画像のタイムスタンプは逐次インタフェース・ハンドラーからメタデータ・デコーダ217に送られている。メタデータ・デコーダではこのタイムスタンプに同期させてVclick_AUを復号し、必要なデータをAVレンダラー218に送る。例えば、オブジェクト・メタデータのAUに記述された属性情報によりオブジェクト領域の表示が指示されている場合には、オブジェクト領域のマスク画像や輪郭線などを生成し、再生中の動画像のタイムスタンプに合わせてA/Vレンダラー218に送る。また、メタデータ・デコーダは再生中の動画像のタイムスタンプとVclick_AUの有効時刻とを比較し、不要になった古いVclick_AUを判定してそのデータを削除する。
ユーザにより動画像の再生中に再生停止が指示されると、インタフェース・ハンドラー207はコントローラ205に動画像再生の停止命令と、Vclickストリームの読み出しの停止命令を出す。この指示により、動画像の再生が終了する。
(8)Vclickデータがクライアント装置にある場合のランダムアクセス手順
次に、Vclickストリームが動画像データ記録媒体231上にある場合におけるランダムアクセス再生の処理手順について説明する。
図43はユーザがランダムアクセス再生の開始を指示してから再生が開始されるまでの処理手順を表す流れ図である。まずステップS4300でユーザによりランダムアクセス再生開始の指示が入力される。入力の方法としては、チャプター等のアクセス可能位置のリストからユーザが選択する方法、動画像のタイムスタンプに対応づけられたスライドバー上からユーザが一点を指定する方法、直接動画像のタイムスタンプを入力する方法などがある。入力されたタイムスタンプは、インタフェース・ハンドラー207が受け取り、動画再生コントローラ205に動画像のランダムアクセス再生準備の命令を出す。
次に、ステップS4301では、使用するVclickストリームを特定する処理が行われる。この処理では、インタフェース・ハンドラーは動画像データ記録媒体231上にあるVclick情報ファイルを参照し、ユーザが再生を指定した動画像に対応するVclickストリームを特定する。さらに、動画像データ記録媒体231上にあるVclickアクセス・テーブル、もしくはメモリ上に読み込んであるVclickアクセス・テーブルを参照し、動画像のランダムアクセス先に対応するVclickストリーム中のアクセスポイントを特定する。
ステップS4302は分岐処理であり、特定されたVclickストリームが現在バッファ209に読み込まれているかどうかを判定する。バッファに読み込まれていない場合にはステップS4303の処理を行ってからステップS4304の処理に移る。現在バッファに読み込まれている場合には、ステップS4303の処理は行わずにステップS4304の処理に移る。ステップS4304は動画像のランダムアクセス再生開始、及びVclickストリームの復号開始である。この処理では、インタフェース・ハンドラー207が動画再生コントローラ205に動画像のランダムアクセス再生命令を出し、同時にメタデータ・マネージャー210にVclickストリームのメタデータ・デコーダへの送出を開始するよう命令を出す。その後は動画像の再生に同期させてVclickストリームの復号処理が行われる。動画像再生中、及び動画像再生停止処理については通常の再生処理と同一であるため、説明は省略する。
(9)クリックから関連情報表示までの手順
次に、ユーザがマウス等のポインティングデバイスを使ってオブジェクト領域内をクリックした場合のクライアント装置の動作について説明する。ユーザがクリックを行うと、まず動画像上のクリックされた座標位置がインタフェース・ハンドラー207に入力される。インタフェース・ハンドラーはメタデータ・デコーダ217にクリック時の動画像のタイムスタンプと座標を送る。メタデータ・デコーダはタイムスタンプと座標から、ユーザによって指示されたオブジェクトがどれであるかを特定する処理を行う。
メタデータ・デコーダでは、動画像の再生に同期させてVclickストリームをデコードしており、従ってクリックされた時のタイムスタンプにおけるオブジェクトの領域が生成されているため、この処理は容易に実行できる。クリックされた座標に複数のオブジェクト領域が存在する場合には、Vclick_AU内に含まれる階層情報を参照して最も前面にあるオブジェクトを特定する。
ユーザによって指定されたオブジェクトが特定されると、メタデータ・デコーダ217はそのオブジェクト属性情報403に記述されたアクション記述(動作を指示するスクリプト)をスクリプト・インタプリタ212に送る。アクション記述を受け取ったスクリプト・インタプリタはその動作内容を解釈し、実行する。例えば、指定されたHTMLファイルの表示を行ったり、指定された動画像の再生を開始したりする。これらHTMLファイルや動画像データは、クライアント装置200に記録されている場合、サーバー装置201からネットワーク経由で送られてくる場合、ネットワーク上の別のサーバー上に存在している場合のいずれでも良い。
(10)データ構造の詳細
次に、より具体的なデータ構造の構成例について説明する。図5で説明したとおり、Vclickストリーム506はVclickストリームのヘッダと複数のVclick AUから成る。図11はVclickストリームのヘッダのデータ構造の例である。各データ要素の意味は以下の通りである。
vclick_versionは、Vclickストリームのヘッダの始まりを示すとともに、フォーマットのバージョンを指定する。
vclick_lengthは、このVclickストリームにおけるvclick_lengthより後の部分のデータ長をバイトで指定する。
次に、Vclick AUの詳細なデータ構造を説明する。Vclick AUの大まかなデータ構造は図4で説明したとおりである。
図12はVclick AUのヘッダ401のデータ構造の例である。各データ要素の意味は以下の通りである。
vu_start_codeは、各Vclick_AUの始まりを示す。
vau_lengthは、このVclick_AUのヘッダにおけるvau_lengthより後の部分のデータ長をバイトで指定する。
vau_idはVclick_AUの識別IDである。クライアント装置の状態を表すパラメータとこのIDにより、復号すべきVclick_AUかどうかを判定するためのデータである。
object_idはVclickデータで記述されるオブジェクトの識別番号である。object_idの同じ値が2つのVclick_AUの中で使用される場合、両者は意味的に同一のオブジェクト用のデータである。
object_subidはオブジェクトの意味的な連続性を表す。2つのVclick_AUにおいてobject_id及びobject_subidの両方が同じである場合、両者は連続的な(同一シーンに登場する同一の)オブジェクトを意味する。
continue_flagはフラグである。最初の1ビットが"1"である場合、このVclick_AUに記述されたオブジェクト領域と、同一のobject_idを有する前のVclick_AUに記述されたオブジェクト領域とは連続していることを示す。そうでない場合にはこのフラグは"0"となる。2番目のビットは同様に、このVclick_AUに記述されたオブジェクト領域と、同一のobject_idを有する次のVclick_AUに記述されたオブジェクト領域との連続性を示す。
layerは、オブジェクトの階層値を表す。階層値が大きい(または小さい)ほどオブジェクトが画面上で手前にあることを意味する。クリックされた場所に複数のオブジェクトが存在する場合には、最も会装置が大きい(または小さい)オブジェクトがクリックされたものと判定する。
図13はVclick_AUのタイムスタンプ402のデータ構造の例である。この例では、動画像データ記録媒体204としてDVDを用いる場合を仮定している。以下のタイムスタンプを用いることにより、DVD上の動画像の任意の時刻を指定することが可能となり、動画像とVclickデータの同期が実現できる。各データ要素の意味は以下の通りである。
time_typeは、DVD用タイムスタンプの始まりを示す。
VTSNは、DVDビデオのVTS(ビデオ・タイトルセット)番号を示す。
TTNは、DVDビデオのタイトル・ドメインにおけるタイトル番号を示す。DVDプレーヤのシステムパラメータSPRM(4)にストアされる値に相当する。
VTS_TTNは、DVDビデオのタイトル・ドメインにおけるVTSタイトル番号を示す。DVDプレーヤのシステムパラメータSPRM(5)にストアされる値に相当する。
TT_PGCNは、DVDビデオのタイトル・ドメインにおけるタイトルPGC(プログラム・チェーン)番号を示す。DVDプレーヤのシステムパラメータSPRM(6)にストアされる値に相当する。
PTTNは、DVDビデオの部分タイト(Part_of_Title)番号を示す。DVDプレーヤのシステムパラメータSPRM(7)にストアされる値に相当する。
CNは、DVDビデオのセル番号を示す。
AGLNは、DVDビデオのアングル番号を示す。
PTS[s .. e]は、DVDビデオの表示タイムスタンプのうち、sビット目からeビット目までのデータを示す。
図14はVclick_AUのタイムスタンプ・スキップのデータ構造の例である。タイムスタンプ・スキップがタイムスタンプの代わりにVclick_AUに記述されている場合、このVclick_AUのタイムスタンプが直前のVclick_AUのタイムスタンプと同一である事を意味している。各データ要素の意味は以下の通りである。
time_typeは、タイムスタンプ・スキップの始まりを示す。
図15はVclick_AUのオブジェクト属性情報403のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_lengthは、このオブジェクト属性情報のうちattribute_lengthより後の部分のデータ長をバイトで指定する。
data_bytesはオブジェクト属性情報のデータ部である。この部分には図16に示した属性データの1つまたは複数が記述される。図18の最大値の欄には、それぞれの属性について、一つのVclick AU内に記述可能な最大のデータ数の例を示した。attribute_idは各属性データ中に含まれるIDで、属性の種類を見分けるためのデータである。名前属性は、オブジェクトの名前を特定するための情報である。アクション属性は、動画像中のオブジェクト領域がクリックされたときに、どのようなアクションを行うべきかが記述される。輪郭線属性は、オブジェクトの輪郭線をどのように表示させるかの属性を表す。点滅領域属性は、オブジェクト領域を点滅して表示する際の点滅色を特定する。モザイク領域属性は、オブジェクト領域をモザイク化して表示する際のモザイク化の仕方が記述されている。塗りつぶし領域属性は、オブジェクト領域に色を付けて表示させる際の色を特定する。
テキストカテゴリーに属する属性は、動画像に文字を表示させたいときに、表示させる文字に関する属性を定義する。テキスト情報には、表示させるテキストを記述する。テキスト属性は、表示させるテキストの色やフォント等の属性を特定する。ハイライト効果属性は、テキストの一部または全てをハイライト表示させる際に、どの文字をどのようにハイライト表示させるかを特定する。点滅効果属性は、テキストの一部または全てを点滅表示させる際に、どの文字をどのように点滅表示させるかを特定する。スクロール効果属性には、表示させるテキストをスクロールさせる際に、どの方向にどのような速さでスクロールさせるかが記述されている。カラオケ効果属性は、テキストの色を順次変更していく際に、どのようなタイミングでどこの文字の色を変更させるかを特定する。最後に、階層拡張属性は、オブジェクトの階層値がVclick_AU内で変化する場合に、階層値の変化のタイミングとその値を定義するために用いられる。以上の属性のデータ構造について、以下で個々に説明する。
図17はオブジェクトの名前属性のデータ構造の例である。各データ要素の意味は以下の通りである:
attribute_idは、属性データのタイプを指定する。名前属性については、この値は00hとする。
data_lengthは、名前属性データのdata_lengthより後のデータ長をバイトで表す。
languageは、以下の要素(nameとannotation)の記述に用いた言語を特定する。言語の指定にはISO-639「code for the representation of names of languages」を用いる。
name_lengthは、バイトでname要素のデータ長さを指定する。
nameは文字列であり、このVclick_AUで記述されているオブジェクトの名前を表す。
annotation_lengthは、バイトでannotation要素のデータ長を表す。
annotationは文字列であり、このVclick_AUで記述されているオブジェクトに関する注釈を表す。
図18はオブジェクトのアクション属性のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。アクション属性については、この値は01hとする。
data_lengthは、アクション属性データのうちdata_lengthより後の部分のデータ長をバイトで表す。
script_languageは、script要素に記述されているスクリプト言語の種類を特定する。
script_lengthは、バイト単位でscript要素のデータ長を表す。
scriptは文字列であり、このVclick_AUで記述されているオブジェクトがユーザにより指定された場合に実行すべきアクションをscript_languageで指定されたスクリプト言語で記述されている。
図19はオブジェクトの輪郭線属性のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性のタイプを指定する。輪郭線属性については、この値は02hとする。
data_lengthは、輪郭線属性データうちdata_lengthより後の部分のデータ長を指定する。
color_r、color_g、color_b、color_aは、このオブジェクト・メタデータAUで記述されているオブジェクトの輪郭の表示色を指定する。
color_r、color_g及びcolor_bはそれぞれ色のRGB表現における赤、緑及び青の値を指定する。一方、color_aは透明度を示す。
line_typeは、このVclick_AUで記述されているオブジェクトの輪郭線の種類(実線、破線など)指定する。
thicknessは、このVclick_AUで記述されているオブジェクトの輪郭線の太さをポイントで指定する。
図20はオブジェクトの点滅領域属性のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。点滅領域属性データについては、この値は03hとする。
data_lengthは、点滅領域属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
color_r、color_g、color_b、color_aは、このVclick_AUで記述されているオブジェクトの領域の表示色を指定する。color_r、color_g及びcolor_bはそれぞれ色のRGB表現における赤、緑及び青の値を指定する。一方、color_aは透明度を示す。オブジェクト領域の点滅は、塗りつぶし領域属性の中で指定された色とこの属性で指定された色とを交互に表示させることにより実現される。
intervalは、点滅の時間間隔を指定する。
図21はオブジェクトのモザイク領域属性のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。モザイク領域属性データについては、この値は04hとする。
data_lengthは、モザイク領域属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
mosaic_sizeは、モザイク・ブロックのサイズをピクセル単位で指定する。
randomnessはモザイク化したブロックの位置を入れ替える場合に、どの程度ランダムに入れ替えるかを表す。
図22はオブジェクトのモザイク領域属性のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。塗りつぶし領域属性データについては、この値は05hとする。
data_lengthは、塗りつぶし属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
color_r、color_g、color_b、color_aは、このVclick_AUで記述されているオブジェクト領域の表示色を指定する。color_r、color_g及びcolor_bはそれぞれ色のRGB表現における赤、緑及び青の値を指定する。一方、color_aは透明度を示す。
図23はオブジェクトのテキスト情報のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト情報については、この値は06hとする。
data_lengthは、オブジェクトのテキスト情報のうちdata_lengthより後の部分のデータ長をバイトで指定する。
languageは、記述されたテキストの言語を示す。言語の指定方法は、例えばISO-639「code for the representation of names of languages」を使うことができる。
char_codeは、テキストのコード種類を特定する。例えば、UTF-8、UTF-16、ASCII、Shift JISなどを指定する。
directionは、文字を並べる際の方向として、左方向、右方向、下方向、上方向を特定する。例えば、英語やフランス語ならば通常文字は左方向に並べる。一方、アラビア語ならば右方向に、日本語ならば左方向か下方向のどちらかに並べる。ただし、言語ごとに決まっている並び方向以外を指定しても良い。また、斜め方向を指定できるようにしても良い。
text_lengthは、バイトでtimed textの長さを指定する。
textは文字列であり、char_codeで指定された文字コードを用いて記述されたテキストである。
図24はオブジェクトのテキスト属性のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト属性については、この値は07hとする。
data_lengthは、オブジェクトのテキスト属性のうちdata_lengthより後の部分のデータ長をバイトで指定する。
font_lengthは、フォントの記述長をバイト単位で指定する。
fontは文字列であり、テキストを表示する際に用いるフォントを指定する。
color_r、color_g、color_b、color_aは、テキストを表示する際の表示色を指定する。色はRGBにより表現される。また、color_r、color_g及びcolor_bは、赤、緑及び青の値をそれぞれ指定する。また、color_aは透過度を示す。
図25はオブジェクトのテキスト・ハイライト効果属性のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト・ハイライト効果属性データについては、この値は08hとする。
data_lengthは、オブジェクトのテキスト・ハイライト効果属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
entryは、このテキスト・ハイライト効果属性データ中のhighlight_effect_entryの数を示す。
highlight_entriesにentry個のhighlight_effect_entryが含まれる。
highlight_effect_entryの仕様は以下に示す通りである。
図26はオブジェクトのテキスト・ハイライト効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
start_positionは、強調される文字の開始位置を先頭から当該文字までの文字数により指定する。
end_positionは、強調される文字の終了位置を先頭から当該文字までの文字数により指定する。
color_r、color_g、color_b、color_aは、強調後の文字の表示色を指定する。色はRGBにより表現される。また、color_r、color_g及びcolor_bは、赤、緑及び青の値をそれぞれ指定する。また、color_aは透過度を示す。
図27はオブジェクトのテキスト点滅効果属性のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト点滅効果属性データについては、この値は09hとする。
data_lengthは、テキスト点滅効果属性データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
entryは、このテキスト点滅効果属性データ中のblink_effect_entryの数を示す。
data_bytesにentry個のblink_effect_entryを含む。
blink_effect_entryの仕様は以下の通りである。
図28はオブジェクトのテキスト点滅効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
start_positionは、点滅させる文字の開始位置を先頭から当該文字までの文字数により指定する。
end_positionは、点滅させる文字の終了位置を先頭から当該文字までの文字数により指定する。
color_r、color_g、color_b、color_aは、点滅文字の表示色を指定する。色はRGBにより表現される。また、color_r、color_g及びcolor_bは、赤、緑及び青の値をそれぞれ指定する。また、color_aは透過度を示す。ここで指定された色と、テキスト属性で指定された色とを交互に表示させることで文字を点滅させる。
intervalは、点滅の時間間隔を指定する。
図29はオブジェクトのテキスト・スクロール効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト・スクロール効果属性データについては、この値は0ahとする。
data_lengthは、テキスト・スクロール効果属性データのうちdeta_lengthより後の部分のデータ長をバイト単位で指定する。
directionは文字をスクロールする方向を指定する。例えば、0は右から左を、1は左から右を、2は上から下を、3は下から上を示す。
delayは、スクロールの速度を、表示させる先頭の文字が表示されてから最後の文字が表示されるまでの時間差により指定する。
図30はオブジェクトのテキスト・カラオケ効果属性のエントリーのデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。オブジェクトのテキスト・カラオケ効果属性データについては、この値は0bhとする。
data_lengthは、テキスト・カラオケ効果属性データのうちdeta_lengthより後の部分のデータ長をバイト単位で指定する。
start_timeはこの属性データのdata_bytesに含まれる先頭のkaraoke_effect_entryで指定される文字列の文字色の変更開始時刻を指定する。
entryは、このテキスト・カラオケ効果属性データ中のkaraoke_effect_entryの数を示す。
karaoke_entriesにentry個のkaraoke_effect_entryを含む。
karaoke_effect_entryの仕様は次に示す。
図31はオブジェクトのテキスト・カラオケ効果属性のエントリー(karaoke_effect_entry)のデータ構造の例である。各データ要素の意味は以下の通りである。
end_timeはこのエントリーで指定される文字列の文字色の変更終了時刻を表す。また、このエントリーに続くエントリーがある場合には、次のエントリーで指定される文字列の文字色の変更開始時刻も表す。
start_positionは文字色を変更すべき文字列の先頭文字の位置を、先頭から当該文字までの文字数により指定する。
end_positionは文字色を変更すべき文字列の最後の文字の位置を、先頭から当該文字までの文字数により指定する。
図32はオブジェクトの階層属性拡張のデータ構造の例である。各データ要素の意味は以下の通りである。
attribute_idは、属性データのタイプを指定する。オブジェクトの階層属性拡張データについては、この値は0chとする。
data_lengthは、階層属性拡張データのうちdeta_lengthより後の部分のデータ長をバイト単位で指定する。
start_timeはこの属性データのdata_bytesに含まれる先頭のlayer_extension_entryで指定される階層値が有効となる開始時刻を指定する。
entryは、この階層属性拡張データに含まれるlayer_extension_entryの数を指定する。
layer_entriesにentry個のlayer_extension_entryが含まれる。
layer_extension_entryの仕様を次に説明する。
図33はオブジェクトの階層属性拡張のエントリー(layer_extension_entry)のデータ構造の例である。各データ要素の意味は以下の通りである。
end_timeは、このlayer_extension_entryで指定される階層値が無効になる時刻を指定する。また、このエントリーの次にもエントリーがある場合には、次のエントリーで指定sれる階層値が有効になる開始時刻も同時に指定する。
layerは、オブジェクトの階層値を指定する。
図34はオブジェクト・メタデータのAUのオブジェクト領域データ400のデータ構造の例である。各データ要素の意味は以下の通りである。
vcr_start_codeは、オブジェクト領域データの開始を意味する。
data_lengthは、オブジェクト領域データのうちdata_lengthより後の部分のデータ長をバイトで指定する。
data_bytesはオブジェクト領域が記述されているデータ部である。オブジェクト領域の記述には、例えばMPEG-7のSpatioTemporalLocatorのバイナリフォーマットを用いることができる。
(11)Vclickバッファ
次に、バッファ209におけるデータ量の変動について説明した後、動画像の再生開始のタイミングを決定する方法について説明する。
(11−1)データ量の変動モデル(モデル1)について
まず、バッファにおけるデータ量の変動モデル(モデル1)について説明する。
モデル1では、データ転送が最も厳しい状態のときのバッファ内のデータ量の変動を仮定している。ここで「データ転送が最も厳しい状態」とは、ネットワークから、またはディスクから読み出されてバッファに入力される際のデータ転送速度が常に保証できる最低限度の速度r(bps)である状態を意味する。従って、バッファは入力されてくるデータの転送速度を変化させたり、一時停止するなどの制御はできない。モデル1が良く当てはまる例としては、プロトコルとしてUDP/IPを用いたネットワーク経由のデータ・ストリーミングが挙げられる。
(11−1−1)バッファ内のデータ量変動の例
図45はモデル1に従ったバッファ内のデータ量変動の例である。図の横軸は動画時刻、縦軸はバッファ内の(Vcilckストリームの)データ量である。モデル1では、バッファ内のデータは必要とされる動画時刻に一度にバッファから出力される。例えば、時刻Tに必要となるデータのサイズはDであるため、時刻Tにおいてバッファ内のデータ量は一度にDだけ少なくなる。同様に、時刻TにおいてはデータサイズDだけバッファから出力されている。TやTは、Vclick AUのタイムスタンプに相当している。同じタイムスタンプを持つVcilck AU全てのデータサイズ分だけそのタイムスタンプの時刻にバッファから出力される。また、バッファからのデータ出力がない時は、常に速度rでバッファ内のデータは増加する。
図のB及びBはそれぞれ、データ量の変動全体におけるバッファ内データ量の最大値、最小値である。またBminはデータ量のダイナミックレンジであり、Bmin=B−Bにより算出される。モデル1において、Bが0よりも小さくなる場合にはアンダーフローが生じることを意味しており、動画像再生にVclickデータが間に合わないことになる。Bが負の場合にアンダーフローが生じないようにするためには、バッファへのデータ入力開始を動画再生開始よりも前にしておくことにより、動画像再生開始時のバッファ内のデータ量を−Bだけ増加させればよい。バッファ内のデータ一方、Bが実際に使用されるバッファサイズよりも大きい場合にはオーバーフローが生じることを意味しており、データ溢れによりVclickデータが欠落してしまう。Bが使用バッファサイズよりも大きくなってしまう時には、動画像再生開始時のバッファ内のデータ量をより小さくしていくことでオーバーフローが防げる。しかし、Bminが使用するバッファサイズよりも小さい場合には、アンダーフローかオーバーフローを避けることはできない。従ってBminを算出するこのが重要となる。
(11−1−2)Bminの算出方法
minを算出するために、まず定義したモデル1におけるバッファ内のデータ量の変動をT、B、Bのテーブルにより表現する。
図46は図45のデータ量変動をテーブルにより表現したものである。Tは0とデータがバッファから出力される時刻であり、Bはデータが出力される直前のバッファ内のデータ量、Bはデータが出力される直後のバッファ内のデータ量である。明らかにこのテーブルは図46のグラフの情報全てを有している。例えば、このテーブルのBの最大値、Bの最小値からBminを算出することができる。
テーブルは、保証できる最低限度のデータ転送速度rとVclickストリームとから作ることができる。図47はテーブル作成アルゴリズムの例である。
まず、初期化処理であるステップS4700を行う。ここで、変数T、B、Bに初期値0を代入し、テーブルに登録する。また変数にも初期値0を代入しておく。ステップS4701は変数iを1だけ増加させるインクリメント処理を行う。
ステップS4702はデータがバッファから出力される時刻Tを設定する。これはVclcik AUのタイムスタンプを順次見ていき、Ti−1よりも大きなタイムスタンプのうち最小のタイムスタンプを見つけて設定する。
ステップS4703は、時刻Tにバッファから出力されるデータサイズDを設定する。これはタイムスタンプTを持つVclick AU全てのデータサイズの和と等しい。
ステップS4704及びステップS4705ではTにおけるB及びBの値を計
算する。B+r(T−Ti−1)が新しいBに、B−Dが新しいBの値になる。ステップS4706では算出されたT、B、Bをテーブルに登録する。
ステップS4707の分岐処理では、Vclick AUのタイムスタンプが最大かどうかを判定することにより処理の終了を判定する。
以上の処理によりBminが算出される。
(11−1−3)バッファサイズの決定
以上の処理によりBminが算出されると、再生開始時のバッファサイズをBminにすることでアンダーフローを確実に無くすことが可能である。図45は、動画像再生開始時のバッファ内のデータサイズをBminとすることで図48のような変動になる。時刻Tは全てのデータ(Vclickストリーム)をバッファに入力し終える時間である。時刻0からTまでのバッファ内のデータ量の変動の幅はBmin以下であるため、バッファサイズは2×Bminとしておけば十分である。
ランダムアクセスの場合にも同じことが言える。図49は時刻Tから動画像の再生を開始した場合の例である。TからTまでの時刻におけるバッファ量の変動幅はBmin以下であるため、ランダムアクセス再生開始時のバッファ内データ量をBminとしておけばアンダーフローは生じない。また、バッファサイズも先ほどと同様に2×Bmin以上としておけばオーバーフローすることはない。
以上から、バッファ内のデータサイズがBminとなってから再生(ランダムアクセスを含む)を開始する、バッファサイズは2×Bmin以上とする、ことでデータ転送が最も厳しい状態(モデル1)においても問題なく動画像及びVclickデータの再生が可能となる。
(11−2)バッファへのデータ入力の制御として停止/再開が可能である場合のモデル(モデル2)について
次にデータ転送速度がrか0を選択できる場合、すなわち、バッファへのデータ入力の制御として停止/再開が可能である場合のモデル(モデル2)について考える。ローカルのディスクからデータを読み込む場合にはこのような制御が可能であるため、モデル2はモデル1よりも実際に近いモデルである。また、ネットワーク経由でデータを読み出す場合でもプロトコルとしてTCP/IPを利用している場合にはモデル1よりもモデル2が良く当てはまる。
図50は、図45とは別のVcilckデータを用いたときのモデル1におけるバッファ内のデータ量の変動例である。図50ではモデル1を仮定しているため、常にデータ転送速度rでデータがバッファに入力されている。
一方、図51は、図50と同じVclickデータを用いているが、時刻TからTまでの間だけバッファへのデータ入力を停止した場合である。図51の場合のBminは明らかに図50の場合のよりも小さな値となる。このように、モデル2ではモデル1よりもBminの値が小さくできるため、動画像再生の開始までに必要なバッファリング時間が短くなり、さらに必要なバッファサイズも小さくなる。
(11−2−1)最小のダイナミックレンジBminの算出方法
モデル2における最小のダイナミックレンジBminの算出には、例えば図52に示した処理を用いることができる。
初めの処理ステップS5200において、図47で説明した方法によりモデル1に従ったデータ量変動のテーブルを作成する。図50が作成されたテーブルをグラフで表現した例である。
次の処理ステップS5201では、Bの最大値をBMAX1とし、最大値BMAX1を与える時刻をTとする。最大値を与える時刻が複数ある場合には、最小の時刻をTとする。
さらに、ステップS5202において、T≧TとなるTの範囲でのBの最小値を求めてBMINとする。ステップS5203では、T≧TとなるTの範囲での最大値を求めてBMAX2とし、そのときの時刻をTとする。T≧Tの範囲でBMAX2を与える時刻が複数ある場合には、最小の時刻をTとする(図50参照)。
ステップS5204の分岐処理では、BMAX1−BMAX2とBMIN−Bの比較を行う。これは、時刻T以降のバッファ内のデータ量をどれだけ減らすことができるかを判断する処理であり、図50の例では図中のDとDを比較している。BMAX1−BMAX2の方が小さければステップS5205に進み、それ以外であればステップS5207に進む。
ステップS5205では削減データサイズDにBMAX1−BMAX2を代入する。そしてステップS5206で、テーブルのT≧TとなるT全てのデータについてBからDを減らす。ステップS5206の処理は、時刻Tの直前にバッファへのデータ入力を停止させ、時刻T以降のバッファ内のデータ量を減らすことに相当する(図51参照)。この処理後のテーブルは、時刻Tより後のデータ範囲に於いてダイナミックレンジは最小になっている。なぜなら、図51からわかるようにデータ転送速度0(バッファへのデータ入力を停止)の区間は必ずバッファ内データ量の最大値を与えており、この区間の転送速度をrにすると最大値が増加してしまうからである。また逆に、転送速度がrである区間を転送速度0に変更すると、バッファ内データ量の最小値が更に小さくなり、ダイナミックレンジが増加してしまう。これが図52の処理が最小のダイナミックレンジBminを算出できる根拠となっている。
ステップS5204の分岐でステップS5207に進んだ場合には、まずステップS5207で削減データサイズDをBMIN−Bに設定する。そしてステップS5206と同様にテーブルのT≧TとなるT全てのデータについてBからDを減らす処理を行う。
ステップS5206の処理を行った後は、ステップS5209においてステップS5202からの処理を繰り返し行うかどうかを判定する。しかし、ステップS5208の処理を行った場合には直ちにステップS5211でBminを算出・出力して処理を終了する。これは、ステップS5208の後にはすでに最小のダイナミックレンジを与えるテーブルが完成しているからである。
ステップS5209ではTが0であるかどうかをチェックし、0でなければ処理を繰り返すため、ステップS5210に進む。ステップS5210は変数の更新処理であり、BMAX1にBMAX2を、TにTをそれぞれ代入し、再びステップS5202に処理を進める。
ステップS5211はモデル2における最小のダイナミックレンジBminの値をBMAX1−D−Bとして算出し、処理を終える。図53は、図52の処理が終了した後のバッファ内のデータ量変動のグラフである。図50に比べて遙かに小さなBminが得られていることがわかる。
以上の処理によりダイナミックレンジBminが算出される。
(11−2−2)バッファサイズの決定
以上の処理により算出されたダイナミックレンジBminがわかれば、動画像再生時に必要なバッファ内のデータ量と、必要なバッファのサイズがわかる。
すなわち、モデル2に於いて、バッファ内のデータ量がBminとなってから再生を開始すればアンダーフローが生じないことが保証できる。また、バッファサイズをBmin以上にしておけばオーバーフローすることもない。
図54は、時刻Tからのランダムアクセス再生を行った際のバッファ内のデータ量の変位である。バッファ内のデータ量がBminになった時点で再生を開始することにより、先ほどと同様にバッファアンダーフローが生じないことが保証される。バッファサイズについても同様にBmin以上にしておけばオーバーフローしないことが保証できる。
モデル2は、転送速度がrか0かを選択できるモデルである。しかし、転送速度がr以上か0かを選択できる場合にも、モデル2を使って設定した動画像再生開始時のバッファ内のデータ量とバッファサイズを使えばアンダーフロー・オーバーフローが生じない。実際にはネットワークの転送速度には変動があるため、転送速度がr以上か0かを選択できるモデルは実際の動作とほぼ同じである。従って、モデル2を使って設定した動画像再生開始にバッファリングすべきデータ量とバッファサイズを実際のアプリケーションに於いて使用することができる。
(11−3)Vclickストリームのヘッダのデータ構造
図55は、モデル1もしくはモデル2により算出されたダイナミックレンジBminを図2のシステムで利用することを可能にするためのVclickストリームのヘッダのデータ構造である。
図55のデータ構造では図11のデータ構造に加え、新たにmin_bufferが加わっている。min_bufferにはモデル1もしくはモデル2を用いて算出されたBminの値が格納される。どちらのモデルで算出されたダイナミックレンジBminを採用するかは、実際にどちらのモデルが使用状況に近いかにより判断される。どちらのモデルとも判断しがたい場合や、様々な使用環境が考えられる場合にはモデル1により算出した値を採用した方が良い。
なお、min_bufferが2つのモデルのうちのどちらを用いて算出された値であるかを明示するため、モデルを特定するフラグbuffer_modelを図55のデータ構造に加えても良い。たとえば、buffer_modelが0のときモデル1、buffer_modelが1のときモデル2を採用していることを意味するようにしておくことで、モデルの特定が可能である。
(11−4)バッファ制御の手順
図56は図55のデータを使用した場合のバッファ制御の手順である。
まず、ステップS5600において、バッファ・マネージャー211がバッファ209内にVclick用のバッファとしてmin_buffer以上のサイズ(モデル2が使われている場合)か、min_bufferの2倍以上のサイズ(モデル1が使われている場合)の領域を確保する。そしてVclickデータのバッファへの読み込みを開始する。続いてステップS5601で、バッファ209内に蓄積されたVcilckデータのサイズがmin_bufferとなってから動画像及びVclickデータの再生を開始する。ステップS5602では、バッファに空きが生じたらVclickデータをバッファに読み込み、バッファが一杯になったらVclickデータの読み込みを停止する。そして読み込むVclickデータが無くなったら処理を終了する(S5603)。以上の制御により、バッファアンダーフローやオーバーフローを生じさせることなく、Vcilckデータと動画像の同時再生が可能となる。もちろん、min_bufferにダイナミックレンジBminより大きな値を記述しておいても良い。この場合、必要以上のバッファサイズが確保されることになるが、動作上はなんら問題ない。
(11−5)Vclickストリームのヘッダの他のデータ構造
図57は図55とは別のVclickストリームのヘッダのデータ構造である。
この例では、min_buffer_1にモデル1により算出されたダイナミックレンジBminを記述し、min_buffer_2にモデル2により算出されたダイナミックレンジBminを記述する。
クライアント装置200では、Vcilckデータの使用状況に応じて、min_buffer_1とmin_buffer_2のどちらを使用するかを判断する。例えば、サーバー装置201からUDP/IPをベースとしたRTPプロトコルによりVcilckデータを受け取る場合には、モデル1により算出されたダイナミックレンジであるmin_buffer_1を用いてバッファ制御を行う。すなわち、バッファ209内にVclick用のバッファとしてmin_buffer_1の2倍以上のサイズの領域を確保し、さらに動画像の再生を開始するときにはバッファ209内に蓄積されたVcilckデータのサイズがmin_buffer_1となってから再生を開始するよう制御する。
一方、サーバー装置201からTCP/IPをベースとしたHTTPプロトコルによりVcilckデータを受け取る場合には、モデル2により算出されたダイナミックレンジであるmin_buffer_2を用いてバッファ制御を行う。すなわち、バッファ209内にVclick用のバッファとしてmin_buffer_2以上のサイズの領域を確保し、さらに動画像の再生を開始するときにはバッファ209内に蓄積されたVcilckデータのサイズがmin_buffer_2となってから再生を開始するよう制御する。図55のデータ構造と同様に、min_buffer_1やmin_buffer_2にそれぞれモデル1及びモデル2により算出されたダイナミックレンジBminより大きな値を記述しておいても良い。
(11−6)第1の再生開始処理手順
図58はユーザが再生開始を指示してから再生が開始されるまでの第1の再生開始処理手順を表す流れ図であり、基本的な流れは図37で示される手順と同じである。
まず、ステップS3700でユーザにより再生開始の指示が入力される。この入力は、インタフェース・ハンドラー207が受け取り、動画像再生コントローラ205に動画像再生準備の命令を出す。
次に、上記で説明したバッファ209内にVclick用のバッファとしてmin_buffer以上のサイズの領域を確保する。
そして、分岐処理ステップS3701として、すでにサーバー装置201とのセッションが構築されているかどうかの判定を行う。セッションがまだ構築されていなければステップS3702に、すでに構築されていればステップS3703に処理を移す。ステップS3702ではサーバーとクライアント間のセッションを構築する処理を行う。
以下の処理S3703〜S3705は、図37で説明した内容で動画再生が行われる。
(11−7)第2の再生開始処理手順
図59は図58とは他の再生開始処理の手順を説明する流れ図である。
図58の流れ図で説明される処理では、ネットワークの状態やサーバー、クライアント装置の処理能力により、ステップS3704でのVclickストリームを一定量バッファリングする処理に時間がかかる場合がある。すなわち、ユーザが再生を指示してから実際に再生が始まるまでに時間がかかってしまうことがある。
図59の処理手順では、ステップS3800でユーザが再生開始を指示する。
次に、上記で説明したバッファ209内にVclick用のバッファとしてmin_buffer以上のサイズの領域を確保する。
そして、次のステップS3801で直ちに動画像の再生が開始される。次の処理ステップS3802からステップS3806までは、図38のステップS3702からステップS3706と同一の処理である。
(11−8)第3の再生開始処理手順
図60はユーザが再生開始を指示してから再生が開始されるまでの再生開始処理手順を表す流れ図であり、基本的な流れは図47で示される手順と同じである。
まず、ステップS4200でユーザにより再生開始の指示が入力される。この入力は、インタフェース・ハンドラー207が受け取り、動画再生コントローラ205に動画像再生準備の命令を出す。
次に、ステップS4201では、使用するVclickストリームを特定する処理が行われる。この処理では、インタフェース・ハンドラーは動画像データ記録媒体231上にあるVclick情報ファイルを参照し、ユーザが再生を指定した動画像に対応するVclickストリームを特定する。
次に、上記で説明したバッファ209内にVclick用のバッファとしてmin_buffer以上のサイズの領域を確保する。
そして、ステップS4202では、バッファにVclickストリームを格納する処理が行われる。
以下の処理S4703は、図47で説明した内容で動画再生が行われる。
(11−9)第4の再生開始処理手順
図61は図60とは他の再生開始処理の手順を説明する流れ図である。
図60の流れ図で説明される処理では、ネットワークの状態やサーバー、クライアント装置の処理能力により、Vclickストリームを一定量バッファリングする処理に時間がかかる場合がある。すなわち、ユーザが再生を指示してから実際に再生が始まるまでに時間がかかってしまうことがある。
図61の処理手順では、ステップS4200でユーザが再生開始を指示する。
次のステップで直ちに動画像の再生が開始される。
次に、ステップS4201では、使用するVclickストリームを特定する処理が行われる。この処理では、インタフェース・ハンドラーは動画像データ記録媒体231上にあるVclick情報ファイルを参照し、ユーザが再生を指定した動画像に対応するVclickストリームを特定する。
次に、上記で説明したバッファ209内にVclick用のバッファとしてmin_buffer以上のサイズの領域を確保する。
以下の処理は、図47で説明した内容で動画再生が行われる。
(変更例)
なお、本発明は上記した実施例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を種々変形して具体化することができる。
(1)変更例1
例えば、本発明は現在世界的に普及しているDVD−ROMビデオのみならず、近年急速に需要が伸びている録画再生可能なDVD−VR(ビデオレコーダ)にも適用できる。さらには、近々普及が始まるであろう次世代HD−DVDの再生系または録再系にも適用可能である。
(2)変更例2
また、上記した実施例に開示されている複数の構成要素を適宜に組み合わせることにより、種々の発明を形成することができる。例えば、実施例に示される全構成要素から幾つかの構成要素を削除しても良いものである。さらに、異なる実施例に係る構成要素を適宜組み合わせても良い。
本発明の一実施例に係るハイパーメディアの表示例を説明する図である。 本発明の一実施例に係るシステムの構成例を示すブロック図である。 本発明の一実施例に係るオブジェクト領域とオブジェクト領域データの関係を説明する図である。 本発明の一実施例に係るオブジェクト・メタデータのアクセスユニットのデータ構造例を説明する図である。 本発明の一実施例に係るVclickストリームの構成方法を説明する図である。 本発明の一実施例に係るVclickアクセス・テーブルの構成例を説明する図である。 本発明の一実施例に係る送信用パケットの構成例を説明する図である。 本発明の一実施例に係る送信用パケットの別の構成例を説明する図である。 本発明の一実施例に係るサーバー・クライアント間の通信例を説明する図である。 本発明の一実施例に係るサーバー・クライアント間の別の通信例を説明する図である。 本発明の一実施例に係るVclickストリームのヘッダのデータ要素の例を説明する図である。 本発明の一実施例に係るVclickアクセスユニット(AU)のヘッダのデータ要素の例を説明する図である。 本発明の一実施例に係るVclickアクセスユニット(AU)のタイムスタンプのデータ要素の例を説明する図である。 本発明の一実施例に係るVclickアクセスユニット(AU)のタイムスタンプ・スキップのデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクト属性情報のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクト属性情報の種類の例を説明する図である。 本発明の一実施例に係るオブジェクトの名前属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのアクション属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトの輪郭線属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトの点滅領域属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのモザイク領域属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトの塗りつぶし領域属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのテキスト情報データのデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのテキスト属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのテキスト・ハイライト効果属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのテキスト・ハイライト効果属性のエントリーのデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのテキスト点滅効果属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのテキスト点滅効果属性のエントリーのデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのテキストスクロール効果属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのテキスト・カラオケ効果属性のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトのテキスト・カラオケ効果属性のエントリーのデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトの階層属性拡張のデータ要素の例を説明する図である。 本発明の一実施例に係るオブジェクトの階層属性拡張のエントリーのデータ要素の例を説明する図である。 本発明の一実施例に係るVclickアクセスユニット(AU)のオブジェクト領域データのデータ要素の例を説明する図である。 本発明の一実施例に係るエンハンスドDVDビデオディスクの構造の例を説明する図である。 本発明の一実施例に係るエンハンスドDVDビデオディスク内のディレクトリ構成の例を説明する図である。 本発明の一実施例に係る通常再生の開始処理手順を表す流れ図(Vclickデータがサーバー装置にある場合)である。 本発明の一実施例に係る別の通常再生の開始処理手順を表す流れ図(Vclickデータがサーバー装置にある場合)である。 本発明の一実施例に係る通常再生の終了処理手順を表す流れ図(Vclickデータがサーバー装置にある場合)である。 本発明の一実施例に係るランダムアクセス再生の開始処理手順を表す流れ図(Vclickデータがサーバー装置にある場合)である。 本発明の一実施例に係る別のランダムアクセス再生の開始処理手順を表す流れ図(Vclickデータがサーバー装置にある場合)である。 本発明の一実施例に係る通常再生の開始処理手順を表す流れ図(Vclickデータがクライアント装置にある場合)である。 本発明の一実施例に係るランダムアクセス再生の開始処理手順を表す流れ図(Vclickデータがクライアント装置にある場合)である。 本発明の一実施例に係るハイパーメディアの表示例を説明する図である。 本発明の一実施例に係るモデル1におけるバッファ内のVclickデータ量の変動例を説明する図である。 本発明の一実施例に係る図45のグラフと等価なテーブルの構成を説明する図である。 本発明の一実施例に係るモデル1におけるバッファ内のVclickデータ量のダイナミックレンジを算出する処理の例を説明する流れ図である。 本発明の一実施例に係る図47の処理により算出されたダイナミックレンジを用いて再生を行った際のバッファ内のVclickデータ量の変動例を説明する図である。 本発明の一実施例に係る図47の処理により算出されたダイナミックレンジを用いてランダムアクセス再生を行った際のバッファ内のVclickデータ量の変動例を説明する図である。 本発明の一実施例に係るモデル2におけるバッファ内のVclickデータ量の変動例を説明する図である。 本発明の一実施例に係るモデル2におけるバッファ内のVclickデータ量のダイナミックレンジを算出する処理の1ステップを説明する図である。 本発明の一実施例に係るモデル2におけるバッファ内のVclickデータ量のダイナミックレンジを算出する処理の例を説明する流れ図である。 本発明の一実施例に係る図52の処理が終了した時点でのバッファ内のVclickデータ量の変動例を説明する図である。 本発明の一実施例に係る図52の処理により算出されたダイナミックレンジを用いてランダムアクセス再生を行った際のバッファ内のVclickデータ量の変動例を説明する図である。 本発明の一実施例に係る図11とは別のVclickストリームのヘッダのデータ要素の例を説明する図である。 本発明の一実施例に係るバッファ制御手順の流れ図である。 本発明の一実施例に係る図56とは別のVclickストリームのヘッダのデータ要素の例を説明する図である。 本発明の一実施例に係るユーザが再生開始を指示してから再生が開始されるまでの第1の再生開始処理手順を表す流れ図である。 本発明の一実施例に係るユーザが再生開始を指示してから再生が開始されるまでの第2の再生開始処理手順を表す流れ図である。 本発明の一実施例に係るユーザが再生開始を指示してから再生が開始されるまでの第3の再生開始処理手順を表す流れ図である。 本発明の一実施例に係るユーザが再生開始を指示してから再生が開始されるまでの第4の再生開始処理手順を表す流れ図である。
符号の説明
200…クライアント装置
201…サーバー装置
202…Vclickエンジン
203…動画再生エンジン
221…サーバー装置とクライアント装置を結ぶネットワーク
301〜305…Vclickアクセスユニット
201400…Vclickアクセスユニットのオブジェクト領域データ
401…Vclickアクセスユニットのヘッダ
402…Vclickアクセスユニットのタイムスタンプ
403…Vclickアクセスユニットのオブジェクト属性情報

Claims (11)

  1. 動画像に関連したメタデータであって、かつ、前記メタデータの再生まではバッファ内に一時的に蓄積されるメタデータのデータ構造において、
    前記メタデータは、独立して処理可能なデータ単位であるアクセスユニットを1以上含んで構成されるストリームのデータ構造をなし、
    前記各アクセスユニットは、
    前記動画像の時間軸に対して定義される有効期間を特定する第1データと、
    前記動画像中の時空間領域を記述したオブジェクト領域データと、
    前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第2データとを有し、
    さらに、前記メタデータの再生開始時までに前記バッファ内に予め蓄積しておくべきメタデータ量を特定する情報を含んだ第3データを有する
    ことを特徴とするメタデータのデータ構造。
  2. 前記第3データは、
    前記メタデータが前記バッファに一定速度で入力され、前記アクセスユニットの有効期間の開始時刻に前記アクセスユニット単位でバッファから出力される場合のダイナミックレンジである
    ことを特徴とする請求項1のメタデータのデータ構造。
  3. 前記第3データは、
    前記メタデータが前記バッファに一定速度で入力されるか、または、入力が停止されるかが随時選択可能であり、前記アクセスユニットの有効期間の開始時刻に前記アクセスユニット単位でバッファから出力される場合の最小ダイナミックレンジである
    ことを特徴とする請求項1のメタデータのデータ構造。
  4. 前記第3データは、
    前記メタデータが前記バッファに一定速度で入力され、前記アクセスユニットの有効期間の開始時刻に前記アクセスユニット単位でバッファから出力される場合のダイナミックレンジと、
    前記メタデータが前記バッファに一定速度で入力されるか、または、入力が停止されるかが随時選択可能であり、前記アクセスユニットの有効期間の開始時刻に前記アクセスユニット単位でバッファから出力される場合の最小ダイナミックレンジの両方を含む
    ことを特徴とする請求項1のメタデータのデータ構造。
  5. 前記第3データは、再生開始時にバッファ内に予め蓄積しておくべきメタデータ量を特定する情報に加えて、前記メタデータの再生に必要なバッファサイズを特定する情報も有する
    ことを特徴とする請求項1記載のメタデータのデータ構造。
  6. 前記第3データは、
    前記メタデータが前記バッファに一定速度で入力され、前記アクセスユニットの有効期間の開始時刻に前記アクセスユニット単位でバッファから出力される場合のダイナミックレンジであり、
    前記バッファサイズを前記ダイナミックレンジの2倍以上とする
    ことを特徴とする請求項5のメタデータのデータ構造。
  7. 前記第3データは、
    前記メタデータが、前記バッファに一定速度で入力されるか、または、入力が停止されるかが随時選択可能であり、前記アクセスユニットの有効期間の開始時刻に前記アクセスユニット単位でバッファから出力される場合の最小ダイナミックレンジであり、
    前記バッファサイズを前記ダイナミックレンジの大きさ以上とする
    ことを特徴とする請求項5のメタデータのデータ構造。
  8. 前記第3データは、
    前記メタデータが前記バッファに一定速度で入力され、前記アクセスユニットの有効期間の開始時刻に前記アクセスユニット単位でバッファから出力される場合のダイナミックレンジと、
    また、前記メタデータが、前記バッファに一定速度で入力されるか、または、入力が停止されるかが随時選択可能であり、前記アクセスユニットの有効期間の開始時刻に前記アクセスユニット単位でバッファから出力される場合の最小ダイナミックレンジの両方を含み、
    前記バッファサイズが前記ダイナミックレンジの2倍以上もしくは前記最小ダイナミックレンジの大きさ以上とする
    ことを特徴とする請求項5のメタデータのデータ構造。
  9. 動画像に関連したメタデータであって、かつ、前記メタデータの再生まではバッファ内に一時的に蓄積されるメタデータの再生装置において、
    前記メタデータは、独立して処理可能なデータ単位であるアクセスユニットを1以上含んで構成されるストリームのデータ構造をなし、
    前記各アクセスユニットは、
    前記動画像の時間軸に対して定義される有効期間を特定する第1データと、
    前記動画像中の時空間領域を記述したオブジェクト領域データと、
    前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第2データとを有し、
    さらに、前記メタデータの再生開始時までに前記バッファ内に予め蓄積しておくべきメタデータ量を特定する情報を含んだ第3データと、
    を有し、
    前記メタデータの再生指示があった場合に、前記第3データに基づいて前記バッファ内に前記メタデータ量を蓄積させる手段と、
    前記メタデータ量の蓄積後に前記メタデータを再生する手段と、
    を有する
    ことを特徴とするメタデータの再生装置。
  10. 動画像に関連したメタデータであって、かつ、前記メタデータの再生まではバッファ内に一時的に蓄積されるメタデータの再生方法において、
    前記メタデータは、独立して処理可能なデータ単位であるアクセスユニットを1以上含んで構成されるストリームのデータ構造をなし、
    前記各アクセスユニットは、
    前記動画像の時間軸に対して定義される有効期間を特定する第1データと、
    前記動画像中の時空間領域を記述したオブジェクト領域データと、
    前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第2データとを有し、
    さらに、前記メタデータの再生開始時までに前記バッファ内に予め蓄積しておくべきメタデータ量を特定する情報を含んだ第3データと、
    を有し、
    前記メタデータの再生指示があった場合に、前記第3データに基づいて前記バッファ内に前記メタデータ量を蓄積させるステップと、
    前記メタデータ量の蓄積後に前記メタデータを再生するステップと、
    を有する
    ことを特徴とするメタデータの再生方法。
  11. 動画像に関連したメタデータであって、かつ、前記メタデータの再生まではバッファ内に一時的に蓄積されるメタデータの再生方法をコンピュータによって実現するプログラムにおいて、
    前記メタデータは、独立して処理可能なデータ単位であるアクセスユニットを1以上含んで構成されるストリームのデータ構造をなし、
    前記各アクセスユニットは、
    前記動画像の時間軸に対して定義される有効期間を特定する第1データと、
    前記動画像中の時空間領域を記述したオブジェクト領域データと、
    前記時空間領域に関連した表示方法を特定するデータ、または、前記時空間領域が指定された際に行う処理を特定するデータの一方または両方を含む第2データとを有し、
    さらに、前記メタデータの再生開始時までに前記バッファ内に予め蓄積しておくべきメタデータ量を特定する情報を含んだ第3データと、
    を有し、
    前記メタデータの再生指示があった場合に、前記第3データに基づいて前記バッファ内に前記メタデータ量を蓄積させる機能と、
    前記メタデータ量の蓄積後に前記メタデータを再生する機能と、
    を実現する
    ことを特徴とするメタデータの再生方法のプログラム。
JP2004180266A 2004-06-17 2004-06-17 動画像のメタデータのデータ構造及びその再生方法 Pending JP2006005682A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004180266A JP2006005682A (ja) 2004-06-17 2004-06-17 動画像のメタデータのデータ構造及びその再生方法
US11/065,558 US7472136B2 (en) 2004-06-17 2005-02-25 Data structure of metadata of moving image and reproduction method of the same
CNB2005101098722A CN100481023C (zh) 2004-06-17 2005-06-17 活动图像的元数据的再现设备及其再现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004180266A JP2006005682A (ja) 2004-06-17 2004-06-17 動画像のメタデータのデータ構造及びその再生方法

Publications (1)

Publication Number Publication Date
JP2006005682A true JP2006005682A (ja) 2006-01-05

Family

ID=35481841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004180266A Pending JP2006005682A (ja) 2004-06-17 2004-06-17 動画像のメタデータのデータ構造及びその再生方法

Country Status (3)

Country Link
US (1) US7472136B2 (ja)
JP (1) JP2006005682A (ja)
CN (1) CN100481023C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102540968A (zh) * 2010-12-09 2012-07-04 中国科学院沈阳计算技术研究所有限公司 一种面向数控***的数据流反馈调度方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712052B2 (en) 2006-07-31 2010-05-04 Microsoft Corporation Applications of three-dimensional environments constructed from images
US20080027985A1 (en) * 2006-07-31 2008-01-31 Microsoft Corporation Generating spatial multimedia indices for multimedia corpuses
US7764849B2 (en) * 2006-07-31 2010-07-27 Microsoft Corporation User interface for navigating through images
JP5268787B2 (ja) * 2009-06-04 2013-08-21 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP2011239141A (ja) * 2010-05-10 2011-11-24 Sony Corp 情報処理方法、情報処理装置、情景メタデータ抽出装置、欠損補完情報生成装置及びプログラム
TWI453696B (zh) * 2011-02-25 2014-09-21 Altek Corp 影像處理裝置及其處理方法
CN105335364B (zh) * 2014-05-29 2017-03-08 优视科技有限公司 一种实现视图滑动显示加速的方法及装置
US20200081678A1 (en) * 2018-09-07 2020-03-12 Tribune Broadcasting Company, Llc Multi-panel display
CN111680078B (zh) * 2020-06-19 2023-11-14 中国人民解放军国防科技大学 飞行器飞行仿真演示过程中多屏数据控制方法和***

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4226730B2 (ja) 1999-01-28 2009-02-18 株式会社東芝 物体領域情報生成方法及び物体領域情報生成装置並びに映像情報処理方法及び情報処理装置
US6748158B1 (en) * 1999-02-01 2004-06-08 Grass Valley (U.S.) Inc. Method for classifying and searching video databases based on 3-D camera motion
US6405256B1 (en) * 1999-03-31 2002-06-11 Lucent Technologies Inc. Data streaming using caching servers with expandable buffers and adjustable rate of data transmission to absorb network congestion
US6876668B1 (en) * 1999-05-24 2005-04-05 Cisco Technology, Inc. Apparatus and methods for dynamic bandwidth allocation
JP4031184B2 (ja) 1999-08-04 2008-01-09 株式会社東芝 物体領域情報記述方法及び物体領域情報生成装置並びに映像情報処理方法及び映像情報処理装置
GB2354104A (en) * 1999-09-08 2001-03-14 Sony Uk Ltd An editing method and system
CA2303739C (en) * 2000-04-04 2009-06-30 Webhancer Corporation Method and system for managing performance of data transfers for a data access system
TWI230858B (en) * 2000-12-12 2005-04-11 Matsushita Electric Ind Co Ltd File management method, content recording/playback apparatus and content recording program
US7194563B2 (en) * 2001-12-05 2007-03-20 Scientific-Atlanta, Inc. Disk driver cluster management of time shift buffer with file allocation table structure
JP2004120440A (ja) 2002-09-26 2004-04-15 Toshiba Corp サーバー装置及びクライアント装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102540968A (zh) * 2010-12-09 2012-07-04 中国科学院沈阳计算技术研究所有限公司 一种面向数控***的数据流反馈调度方法
CN102540968B (zh) * 2010-12-09 2013-12-04 中国科学院沈阳计算技术研究所有限公司 一种面向数控***的数据流反馈调度方法

Also Published As

Publication number Publication date
CN1738430A (zh) 2006-02-22
US7472136B2 (en) 2008-12-30
US20050283490A1 (en) 2005-12-22
CN100481023C (zh) 2009-04-22

Similar Documents

Publication Publication Date Title
KR100676433B1 (ko) 동화상의 메타 데이터
JP2005332274A (ja) 動画像中のオブジェクトに関するメタデータストリームのデータ構造、検索方法及び再生方法
US7461082B2 (en) Data structure of metadata and reproduction method of the same
US20050244148A1 (en) Meta data for moving picture
US20080104123A1 (en) Data structure of metadata and reproduction method of the same
US20060117352A1 (en) Search table for metadata of moving picture
US20050213666A1 (en) Meta data for moving picture
US7472136B2 (en) Data structure of metadata of moving image and reproduction method of the same
US20060026142A1 (en) Structure of metadata and reproduction apparatus and method of the same
KR100676432B1 (ko) 동화상의 메타 데이터
JP4008951B2 (ja) メタデータストリームを再生するための装置及びプログラム
US20060053150A1 (en) Data structure of metadata relevant to moving image
US7555494B2 (en) Reproducing a moving image in a media stream
US20060053153A1 (en) Data structure of metadata, and reproduction apparatus and method of the metadata
US20060031244A1 (en) Data structure of metadata and processing method of the metadata
US20060050055A1 (en) Structure of metadata and processing method of the metadata
US20060080337A1 (en) Data structure of metadata, reproduction apparatus of the metadata and reproduction method of the same
US20060085479A1 (en) Structure of metadata and processing method of the metadata

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090123

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090217