説明

データ再生装置

【課題】 符号化された複数の静止画データを含むアニメーションデータを適切に再生することができるデータ再生装置を提供する。
【解決手段】 アニメーションオブジェクト30は、非活性化状態に遷移する際に、最後の描画タイミングにおけるフレーム番号を削除すると共に、Pixel Buffer17に記憶されている復号化データを削除し、再び活性化状態に遷移する際に、最後の描画タイミングにおけるフレーム番号を算出するために使用したパラメータを初期化する。これにより、MNGエレメントデータを一度再生した後に再度再生しても、前回の再生時の最後に描画された静止画データのフレーム番号の次のフレーム番号に対応する静止画データから描画されることなく、最初のフレーム番号に対応する静止画データから描画されることになる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化された複数の静止画データを含むアニメーションデータを再生するデータ再生装置に関する。
【背景技術】
【0002】
上記技術分野のデータ再生装置として、アニメーション演出テーブルに基づいて、特定再生時間に再生すべき全ての対象オブジェクトの位置情報、選定オブジェクト情報、選定オブジェクトの拡大縮小値情報を設定し、これらの情報に基づいて、特定再生時間毎に全ての対象オブジェクトの再生画像データを画像合成し、表示部に表示させるものが知られている(例えば、特許文献1参照)。
【特許文献1】特開2006−107132号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、複数の静止画データを含むアニメーションデータを再生する場合において、例えば当該アニメーションデータを一度再生した後に再度再生すると、前回の再生時の最後に描画された静止画データのフレーム番号の次のフレーム番号に対応する静止画データから描画されるなど、アニメーションデータが適切に再生されないおそれがある。
【0004】
そこで、本発明は、このような事情に鑑みてなされたものであり、符号化された複数の静止画データを含むアニメーションデータを適切に再生することができるデータ再生装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明に係るデータ再生装置は、符号化された複数の静止画データを含むアニメーションデータを再生するデータ再生装置であって、アニメーションデータに対し、その再生処理に関するアニメーションオブジェクトを設定する設定手段と、アニメーションオブジェクトに対し、再生状態である活性化状態への遷移及び非再生状態である非活性化状態への遷移を選択的に指示する指示手段と、アニメーションオブジェクトが活性化状態である場合に、所定の描画タイミングにおける静止画データの復号化データを記憶する記憶手段と、を備え、アニメーションオブジェクトは、所定の描画タイミングにおける静止画データのフレーム番号を所定のパラメータに基づいて算出する算出手段と、算出されたフレーム番号を管理する管理手段と、を有すると共に、活性化状態に遷移する際及び非活性化状態に遷移する際の少なくとも一方において所定のパラメータを初期化し、活性化状態に遷移する際及び非活性化状態に遷移する際の少なくとも一方においてフレーム番号を削除することを特徴とする。
【発明の効果】
【0006】
本発明によれば、符号化された複数の静止画データを含むアニメーションデータを適切に再生することができる。
【発明を実施するための最良の形態】
【0007】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
【0008】
図1に示されるように、データ再生装置1は、Data Access Manager2、Data Cache3、Navigation Manager4、Presentation Engine5及びAV Renderer6を備えたHD DVD(High Definition Digital Versatile Disc)プレーヤである。
【0009】
Data Access Manager2は、File Cache3等からの指示によって、ディスクやネットワーク等にアクセスしてファイルの読み書き等の操作を行うモジュールである。Data Access Manager2は、Persistent Storage Manager7、Network Manager8及びDisk Manager9を有している。
【0010】
Persistent Storage Manager7は、上位からの指示に従って、Persistent Storage内のファイルの読み書きや削除等の操作を行うモジュールである。
【0011】
Network Manager8は、上位モジュールからの指示によって、Network Serverからファイルをダウンロードしたり、逆にファイルをアップロードしたりするモジュールである。
【0012】
Disk Manager9は、上位からの指示で、HD DVDのディスク上にあるファイルの読み出しを行うモジュールである。
【0013】
Data Cache3は、読み出したファイル等を一時的に格納する64MByteのバッファである。Data Cache3は、Navigation Manager4やPresentation Engine5がファイルを読み出す時のキャッシュとして動作するFile Cache、及びSecondary Video Player21がNetwork Server上のビデオデータをストリーミング再生する際のバッファリングに使用するStreaming Bufferを有している。
【0014】
Navigation Manager4は、アドバンスドコンテンツの全体制御、マークアップやECMAスクリプトで記述された内容の再生処理、リモコンからの入力の対応動作等を行うモジュールである。Navigation Manager4は、File Cache Manager11、Playlist Manager12、Parser13、Advanced Application Manager14、User Interface Engine15を有している。
【0015】
File Cache Manager11は、Playlist Manager12やAdvanced Application Manager14からの指示を受けると、Data Access Manager2やPrimary Video Player22を制御して、目的のファイルをディスクやネットワーク等からData Cache3に読み込んで管理するモジュールである。
【0016】
Playlist Manager12は、アドバンスドコンテンツの再生開始時にPlaylistよりコンテンツの構成情報等を読み出して各モジュールの初期化制御を行ったり、Title Timelineの制御を行ったりするモジュールである。
【0017】
Advanced Application Manager14は、アドバンスドコンテンツの再生動作の全体的な制御を行うモジュールである。Advanced Application Manager14は、Declarative Engine及びProgramming Engineを有している。Declarative Engineは、マークアップの記述に従って、タイミングの制御やPresentation Engine5の制御によるグラフィック表示や文字表示を行うモジュールである。Programming Engineは、ECMAスクリプトで記述されたスクリプトを解釈して実行するモジュールである。ECMAスクリプトからは、HD DVD規格で定義されたAPIを呼び出すことで、プレーヤの制御やグラフィック描画、ファイル操作等ができるようになっている。Programming Engineは、Presentation Engine5を制御することで、API経由でスクリプトから指示されたグラフィック描画やプレーヤ制御を実現する。
【0018】
User Interface Engine15は、カーソルを制御したり、リモコンからの入力等をイベントとしてAdvanced Application Manager14に伝えたりするモジュールである。
【0019】
Presentation Engine5は、グラフィックやビデオ、オーディオ等のデータを適宜デコードし、最終的なグラフィック画像やビデオのフレーム画像等を作成して、AV Renderer6に送り出すモジュールである。Presentation Engine5は、Advanced Application Presentation Engine16、Pixel Buffer17、Font Rendering System18、Advanced Subtitle Player19、Secondary Video Player21、Primary Video Player22及びDecoder Engine23を有している。
【0020】
Advanced Application Presentation Engine16は、図2に示されるように、Sound Decoder24、Graphics Decoder25及びLayout Manager26を有している。Advanced Application Presentation Engine16は、Navigation Manager4からの指示に従って、PNG(Portable Network Graphics)やMNG(Multiple-image Network Graphics)、JPEG(Joint Photographic Experts Group)等の画像等のエレメントをData Cache3から読み出してデコードし、グラフィックプレーンに最終的な出力画像を作成してAV Renderer6に出力したり、Data Cache3から読み出したWAVファイルをLPCMデータにしてAV Renderer6に出力したりするモジュールである。
【0021】
Graphics Decoder25は、PNGやMNG、JPEG等の画像のデコードや、デコード済みの画像をPixel Buffer17に登録/削除する処理を行う。
【0022】
Layout Manager26は、Advanced Application Manager14から来るレイアウト情報に従って、Pixel Buffer17内に登録されたデコード済みの画像を持ってきて描画したり、Font Rendering System18に文字フォントの描画指示を出したりして、グラフィックプレーン上に最終的な表示画像を構築する。そして、完成した表示画像をAV Renderer6に送出する。
【0023】
図1に示されるように、Advanced Subtitle Player19は、Layout Manager26と同じような要領で、Advanced Subtitle内のマークアップ記述に従って、出力画像をサブピクチャプレーン上に生成し、AV Renderer6に送出する。
【0024】
Primary Video Player22及びSecondary Video Player21は、Video Playerとしての再生制御を行うモジュールである。Primary Video Player22及びSecondary Video Player21は、再生時にはTMAPを解析して必要な場所をData Access Manager2から読み出し、ビデオ映像のデータや音声データ、サブピクチャデータ等に分類して、Decoder Engine23内の各デコーダに出力する。
【0025】
Decoder Engine23は、送られてきたMPEG2等で符号化されたビデオ映像のデータや音声データ等をデコードし、最終的な画像データやPCMデータにしてAV Renderer6に出力する。
【0026】
次に、データ再生装置1おけるMNGエレメントデータ(アニメーションデータ)の再生処理について説明する。
【0027】
MNGは、符号化された静止画データであるPNGを複数集め、静止画(フレーム)の連続変化として、動画に必要な情報を加味することで、動画を表現するフォーマットである。MNGは、フレーム進行速度(フレームレート)等の情報を有し、内蔵する静止画群をどのような速さで進行させればよいかが分かるようになっている。MNGのフォーマットは、PNGと同様に、チャンクと呼ばれるデータブロックを単位として各種情報を格納する。
【0028】
再生指示されたMNGエレメントデータは、Data Cache3に読み込まれる。Graphics Decoder(設定手段)25は、Data Cache3からMNGエレメントデータを取得し、1つのMNGエレメントデータに対して1つのアニメーションオブジェクト機能を与える。つまり、Graphics Decoder25は、MNGエレメントデータに対し、その再生処理に関するアニメーションオブジェクトを設定する。
【0029】
図3に示されるように、アニメーションオブジェクト30は、データ再生装置1の時刻情報生成部27から現在の時刻を取得する時刻取得部31、MNGエレメントデータに格納されているフレームを管理するフレーム管理部(管理手段)32、及び描画タイミング毎に描画すべきフレーム番号を決定する表示フレーム決定部(算出手段)33を有している。
【0030】
Advanced Application Presentation Engine(指示手段)16は、時刻情報に基づいて、適切なMNGエレメントデータに対して再生命令を発する。MNGエレメントデータの場合、再生命令を受けることは、独立したオブジェクトとして指定された領域で、MNGエレメントデータが他の状態に依存せずに自走することを指す。この再生状態をアニメーションオブジェクト30の活性化状態とする。
【0031】
また、アニメーションオブジェクト30の活性化状態中に当該MNGエレメントデータが再生されるタイミングでない状態になると、Advanced Application Presentation Engine16は、当該MNGエレメントデータに対して再生中止命令を発する。この非再生状態をアニメーションオブジェクト30の非活性化状態とする。
【0032】
このように、Advanced Application Presentation Engine16は、アニメーションオブジェクト30に対し、再生状態である活性化状態への遷移及び非再生状態である非活性化状態への遷移を選択的に指示する。なお、アニメーションオブジェクト30は、一度再生命令を受けると、再生中止命令を受けるまで描画タイミング毎に静止画データの描画を行い続ける。
【0033】
図4は、データ再生装置1おけるMNGエレメントデータの再生処理の手順を示すフローチャートである。
【0034】
Advanced Application Presentation Engine16の指示によりアニメーションオブジェクト30が活性化状態に遷移すると、時刻取得部31は、描画タイミング毎に各描画タイミングにおける時刻を時刻情報生成部27から取得する(ステップS41)。そして、今回の描画タイミングにおける時刻が最初の描画タイミングであるか否かを判断する(ステップS42)。
【0035】
その結果、今回の描画タイミングにおける時刻が最初の描画タイミングでない場合には、表示フレーム決定部33は、今回の描画タイミングにおける時刻と前回の描画タイミングにおける時刻との差分を計算し、当該差分及びフレームレートを基に、前回の描画タイミングにおける静止画データのフレーム番号から何フレーム進んだかを計算することで、今回の描画タイミングにおける静止画データのフレーム番号を算出する(ステップS43)。
【0036】
一方、今回の描画タイミングにおける時刻が最初の描画タイミングである場合には、前回の描画タイミングにおける時刻情報が存在しないため、表示フレーム決定部33は、前回の描画タイミングにおける時刻に替えて、Advanced Application Presentation Engine16がアニメーションオブジェクト30に対して活性化状態への遷移を指示した時刻を採用して、今回の描画タイミングにおける静止画データのフレーム番号を算出する(ステップS44)。
【0037】
描画すべきフレーム番号が算出されると、フレーム管理部32は、算出されたフレーム番号を管理する。また、アニメーションオブジェクト30は、Pixel Buffer(記憶手段)17を参照して、算出されたフレーム番号に対応する静止画データの復号化データが記憶されているか否かを調査する(ステップS45)。
【0038】
その結果、当該復号化データがPixel Buffer17に記憶されている場合には、アニメーションオブジェクト30は、算出されたフレーム番号に対応する静止画データを復号化しないと判定し、Pixel Buffer17から当該復号化データを取得して、当該復号化データを描画させる(ステップS46)。
【0039】
一方、当該復号化データがPixel Buffer17に記憶されていない場合には、アニメーションオブジェクト30は、算出されたフレーム番号に対応する静止画データを復号化すると判定し、MNGエレメントデータ及びフレーム番号を復号部28に送る。そして、アニメーションオブジェクト30は、復号部28に対し、当該フレーム番号に対応する静止画データを復号化させて復号化データを生成させ(ステップS47)、当該復号化データをPixel Buffer17に記憶させると共に当該復号化データをPixel Buffer17から取得して、当該復号化データを描画させる(ステップS48)。
【0040】
ステップS47,S48の処理は、Advanced Application Presentation Engine16がアニメーションオブジェクト30に対して活性化状態への遷移を指示した時刻を採用して、今回の描画タイミングにおける静止画データのフレーム番号を算出した場合(ステップS44)にも実行される。
【0041】
なお、生成された復号化データがPixel Buffer17に記憶されると、これまで記憶されていた復号化データは削除される。このように、Pixel Buffer17は、アニメーションオブジェクト30が活性化状態である場合に、所定の描画タイミングにおける静止画データの復号化データを記憶する。
【0042】
Pixel Buffer17から取得された復号化データは、図2に示されるように、Layout Manager26を経てAV Renderer6へ送出されて、画面に表示されることになる。
【0043】
図5は、マークアップから読み取れるMNGエレメントデータの動作タイミングのリストを示す図である。例えば、CCC.mngというMNGエレメントデータは、Chapter8に入って、0秒後に自走を開始し、90秒間自走を続けることを示している。
【0044】
図6は、この場合のMNGエレメントデータのアニメーションオブジェクトの状態遷移図である。このように、アニメーションオブジェクト30は、活性化状態と非活性化状態との間を何度も遷移する可能性を有している。これは、アニメーションオブジェクト30が有効となるタイミングがマークアップで指定されており、指定タイミングで活性化状態となるためである。例えば、ビデオのチャプタ番号に関連付けられたMNGエレメントデータの場合、利用者の操作によって容易にチャプタ番号の移動が行われる。すなわち、活性化状態に遷移するタイミングと非活性化状態に遷移するタイミングを事前に知ることはできない。
【0045】
ところで、アニメーションオブジェクト30は、処理負荷の問題から、非活性化状態に遷移する際にオブジェクト解放処理を行わないことが望ましい。よって、オブジェクト解放処理が行われないと、非活性化状態に遷移した後、再び活性化状態に遷移するMNGエレメントデータのアニメーションオブジェクト30は、前回活性化状態にあった最後のパラメータを有していることになる。そのため、アニメーションオブジェクト30を再利用した状態で描画を開始すると、前回活性化状態にあった最後の描画タイミングの情報を基に再始動してしまうことになる。つまり、前回の再生時の最後に描画された静止画データのフレーム番号の次のフレーム番号に対応する静止画データから描画されてしまうことになる。これでは、コンテンツ製作者の意図に反してフレームを表示するおそれが高くなる。
【0046】
そこで、データ再生装置1においては、アニメーションオブジェクト30は、非活性化状態に遷移する際に、最後の描画タイミングにおけるフレーム番号を削除すると共に、Pixel Buffer17に記憶されている復号化データを削除し、再び活性化状態に遷移する際に、最後の描画タイミングにおけるフレーム番号を算出するために使用したパラメータを初期化する。これにより、MNGエレメントデータを一度再生した後に再度再生しても、前回の再生時の最後に描画された静止画データのフレーム番号の次のフレーム番号に対応する静止画データから描画されることなく、最初のフレーム番号に対応する静止画データから描画されることになる。
【0047】
以上説明したように、一度作成されたMNGエレメントデータのアニメーションオブジェクト30は、当該MNGエレメントデータが非表示になっても破棄されずに保持されているため、処理時間の短縮化を図ることができる。そして、保持されたアニメーションオブジェクト30の再利用に際しては、前回の表示パラメータを引きずることなく、あたかもアニメーションオブジェクト30を再作成したかのように振る舞い、HD DVDの規格を満足する動作を行うことができる。
【0048】
本発明は、上述した実施形態に限定されるものではない。
【0049】
例えば、アニメーションオブジェクト30は、活性化状態に遷移する際及び非活性化状態に遷移する際の少なくとも一方において、フレーム番号を算出するために使用したパラメータを初期化し、活性化状態に遷移する際及び非活性化状態に遷移する際の少なくとも一方において、算出したフレーム番号を削除すればよい。また、フレーム番号を算出するためのパラメータとして、一の活性化状態におけるMNGエレメントデータの再生繰返し回数や、一の活性化状態におけるMNGエレメントデータの再生動作情報等を使用してもよい。
【図面の簡単な説明】
【0050】
【図1】本発明に係るデータ再生装置の一実施形態の内部構成を示すブロック図である。
【図2】図1に示されたAdvanced Application Presentation Engineの内部構成を示すブロック図である。
【図3】図2に示されたGraphics Decoderの内部構成を示すブロック図である。
【図4】データ再生装置おけるMNGエレメントデータの再生処理の手順を示すフローチャートである。
【図5】マークアップから読み取れるMNGエレメントデータの動作タイミングのリストを示す図である。
【図6】MNGエレメントデータのアニメーションオブジェクトの状態遷移図である。
【符号の説明】
【0051】
1…データ再生装置、16…Advanced Application Presentation Engine(指示手段)、17…Pixel Buffer(記憶手段)、25…Graphics Decoder(設定手段)、30…アニメーションオブジェクト、32…フレーム管理部(管理手段)、33…表示フレーム決定部(算出手段)。

【特許請求の範囲】
【請求項1】
符号化された複数の静止画データを含むアニメーションデータを再生するデータ再生装置であって、
前記アニメーションデータに対し、その再生処理に関するアニメーションオブジェクトを設定する設定手段と、
前記アニメーションオブジェクトに対し、再生状態である活性化状態への遷移及び非再生状態である非活性化状態への遷移を選択的に指示する指示手段と、
前記アニメーションオブジェクトが前記活性化状態である場合に、所定の描画タイミングにおける前記静止画データの復号化データを記憶する記憶手段と、を備え、
前記アニメーションオブジェクトは、前記所定の描画タイミングにおける前記静止画データのフレーム番号を所定のパラメータに基づいて算出する算出手段と、算出された前記フレーム番号を管理する管理手段と、を有すると共に、前記活性化状態に遷移する際及び前記非活性化状態に遷移する際の少なくとも一方において前記所定のパラメータを初期化し、前記活性化状態に遷移する際及び前記非活性化状態に遷移する際の少なくとも一方において前記フレーム番号を削除することを特徴とするデータ再生装置。
【請求項2】
前記アニメーションオブジェクトは、前記非活性化状態に遷移する際に前記フレーム番号を削除し、前記活性化状態に遷移する際に前記所定のパラメータを初期化することを特徴とする請求項1記載のデータ再生装置。
【請求項3】
前記算出手段は、前記所定の描画タイミングにおける時刻、前回の描画タイミングにおける時刻、前回の描画タイミングにおける前記静止画データのフレーム番号、及びフレームレートに基づいて、前記所定の描画タイミングにおける前記静止画データのフレーム番号を算出し、
前記アニメーションオブジェクトは、算出された前記フレーム番号に対応する前記静止画データの前記復号化データが前記記憶手段に記憶されている場合には、算出された前記フレーム番号に対応する前記静止画データを復号化しないと判定し、算出された前記フレーム番号に対応する前記静止画データの前記復号化データが前記記憶手段に記憶されていない場合には、算出された前記フレーム番号に対応する前記静止画データを復号化すると判定すると共に、前記非活性化状態に遷移する際に、前記記憶手段に記憶されている前記復号化データを削除することを特徴とする請求項2記載のデータ再生装置。
【請求項4】
前記所定のパラメータは、前記指示手段が前記アニメーションオブジェクトに対して前記活性化状態への遷移を指示した時刻、一の前記活性化状態における前記アニメーションデータの再生繰返し回数、及び一の前記活性化状態における前記アニメーションデータの再生動作情報の少なくとも1つを含むことを特徴とする請求項1〜3のいずれか一項記載のデータ再生装置。
【請求項5】
前記指示手段は、前記アニメーションデータと同期して再生されるビデオに関するチャプタ、及び時刻の少なくとも1つに基づいて、前記アニメーションデータの活性化状態への遷移及び前記非活性化状態への遷移を選択的に指示することを特徴とする請求項1〜4のいずれか一項記載のデータ再生装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−152478(P2008−152478A)
【公開日】平成20年7月3日(2008.7.3)
【国際特許分類】
【出願番号】特願2006−339022(P2006−339022)
【出願日】平成18年12月15日(2006.12.15)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】