JP2009003370A - 情報再生装置 - Google Patents
情報再生装置 Download PDFInfo
- Publication number
- JP2009003370A JP2009003370A JP2007166629A JP2007166629A JP2009003370A JP 2009003370 A JP2009003370 A JP 2009003370A JP 2007166629 A JP2007166629 A JP 2007166629A JP 2007166629 A JP2007166629 A JP 2007166629A JP 2009003370 A JP2009003370 A JP 2009003370A
- Authority
- JP
- Japan
- Prior art keywords
- graphic
- graphic object
- decoding
- objects
- decoded
- 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
Links
Images
Abstract
【課題】デコード完了待ちによる画面構成の遅延を抑制する技術を提供すること。
【解決手段】情報再生装置は、グラフィックオブジェクトをデコードするデコード手段と、デコードされたグラフィックオブジェクトを記憶する記憶手段と、複数のグラフィックオブジェクトのレイアウト情報に基づき、これら複数のグラフィックオブジェクトをグラフィックプレーン上の所定位置へ所定順序で描画するグラフィック画面構築処理を実行するとともに、このグラフィック画面構築処理においてデコードが間に合わないグラフィックオブジェクトの描画を後回しにする描画順序変更処理を実行するグラフィック画面構築処理手段と、前記グラフィック画面構築処理手段により前記複数のグラフィックオブジェクトが描画された前記グラフィックプレーンを出力する出力手段とを備えている。
【選択図】 図2
【解決手段】情報再生装置は、グラフィックオブジェクトをデコードするデコード手段と、デコードされたグラフィックオブジェクトを記憶する記憶手段と、複数のグラフィックオブジェクトのレイアウト情報に基づき、これら複数のグラフィックオブジェクトをグラフィックプレーン上の所定位置へ所定順序で描画するグラフィック画面構築処理を実行するとともに、このグラフィック画面構築処理においてデコードが間に合わないグラフィックオブジェクトの描画を後回しにする描画順序変更処理を実行するグラフィック画面構築処理手段と、前記グラフィック画面構築処理手段により前記複数のグラフィックオブジェクトが描画された前記グラフィックプレーンを出力する出力手段とを備えている。
【選択図】 図2
Description
本発明は、例えばHD DVD規格で定義されているアドバンスドコンテンツにおける再生技術に関する。
近年、高画質及び高機能を有するDVDビデオディスク及びそのディスクを再生するビデオプレーヤの普及が進んでいる。しかしながら、ここ数年、タイトル本編も含めメニュー画面や特典映像等のコンテンツにおいて、より色彩に富んだメニューやインタラクティブ性の向上等、コンテンツ内容の拡充によるユーザヘのより魅力的なコンテンツの提供環境がコンテンツ供給者から望まれている。
そこで、色彩に富んだメニューやインタラクティブ性の高いコンテンツとしてアドバンスコンテンツが発案され、アドバンスコンテンツを有する情報記録媒体や、アドバンスコンテンツを再生する情報再生装置が存在している(例えば、特許文献1参照)。アドバンスコンテンツには、音声、静止画(背景画を含む)アニメーション、文字フォント、動画等が含まれており、これらのアドバンスコンテンツのデータは、符号化された状態で情報記録媒体に格納されている。アドバンスコンテンツを再生する情報再生装置は、アドバンスコンテンツの再生を実現する再生システムモデルとして、アドバンスドコントロールプレーヤ(Advanced Content Player)を含んでいる。アドバンスドコントロールプレーヤは、機能モジュールとして、データアクセスマネージャ(Data Access Manager)、データキャッシュ(Data Cache)、ナビゲーションマネージャ(Navigation Manager)、プレゼンテーションエンジン(Presentation Engine)、AVレンダラー(AV Renderer)等で構成される。
特開2007−48348
上記したアドバンスコンテンツの1画面は、例えば複数のオブジェクトにより構成される。即ち、1画面の構成に必要な複数のオブジェクトがデコードされ、これらデコードされた複数のオブジェクトが一つのプレーン上へ描画され、1画面が構成される。なお、複数のオブジェクトは、レイアウト情報に基づき、所定の位置に所定の順序で描画される。このとき、複数のオブジェクトの中に、デコード待ちのオブジェクトが存在すると、描画が一時的に停止し、デコード完了を待ってから描画が再開される。このため、画面構築に遅れが生じる。
本発明の目的は、デコード完了待ちによる画面構築の遅延を抑制する技術を提供することにある。
この発明の一実施形態に係る情報再生装置は、グラフィックオブジェクトをデコードするデコード手段と、デコードされたグラフィックオブジェクトを記憶する記憶手段と、複数のグラフィックオブジェクトのレイアウト情報に基づき、これら複数のグラフィックオブジェクトをグラフィックプレーン上の所定位置へ所定順序で描画するグラフィック画面構築処理を実行するとともに、このグラフィック画面構築処理においてデコードが間に合わないグラフィックオブジェクトの描画を後回しにする描画順序変更処理を実行するグラフィック画面構築処理手段と、前記グラフィック画面構築処理手段により前記複数のグラフィックオブジェクトが描画された前記グラフィックプレーンを出力する出力手段とを備えている。
本発明によれば、デコード完了待ちによる画面構築の遅延を抑制する技術を提供できる。
以下、図面を参照し、本発明の実施形態について説明する。
図1は、アドバンスドHDビデオタイトルセット(AHDVTS : Advanced High Definition Video Title Set)対応のHD−DVDビデオプレーヤ(アドバンスドコントロールプレーヤACP)の概略構成を示す図である。
アドバンスドコントロールプレーヤACPは、データアクセスマネージャ31と、データキャッシュ35と、ナビゲーションマネージャ22と、プレゼンテーションエンジン36と、AVレンダラー44とを備えている。
データアクセスマネージャ31は、データキャッシュ35等からの指示に基づいて、パーシスタントストレージ28、ネットワークサーバ29、HD−DVDディスク30等にアクセスしてファイルの読み書き等の操作を行うモジュールである。データアクセスマネージャ31は、パーシスタントストレージマネージャ(Persistent Storage Manager)32、ネットワークマネージャ(Network Manager)33、及びディスクマネージャ(Disk Manager)34を備えている。
パーシスタントストレージマネージャ32は、上位モジュールからの指示に基づいて、パーシスタントストレージ(Persistent Storage)28の内のファイルの読み書きや削除等の操作を行うモジュールである。ネットワークマネージャ33は、上位モジュールからの指示に基づいて、ネットワークサーバ(Network Server)29からファイルをダウンロードしたり、逆にファイルをアップロードしたりするモジュールである。ディスクマネージャ34は、上位モジュールからの指示に基づいて、HD−DVDディスク30に格納されたファイルの読み出しを行うモジュールである。
データキャッシュ35は、読み出したファイルなどを一時的に格納するバッファであり、データキャッシュ35には符号化された画像データ等が格納される。データキャッシュ35の容量は、例えば64Mバイトである。データキャッシュ35は、ファイルキャッシュ(File Cache)と、ストリーミングバッファ(Streaming Buffer)とを含んで構成される。ファイルキャッシュは、ナビゲーションマネージャ22又はプレゼンテーションエンジン36がファイルを読み出す時のキャッシュとして動作する。ストリーミングバッファは、後述するセカンダリビデオプレーヤ(Secondary Video Player)41がネットワークサーバ29上のビデオデータをストリーミング再生する際に、ビデオデータをバッファリングするために使用される。
ナビゲーションマネージャ22は、アドバンスドコンテンツの全体制御、マークアップ言語やスクリプト(Script)言語(例えば、ECMAスクリプト)で記述された内容の再生処理、及びリモコンからの制御情報に対応した処理動作等を行うモジュールである。ナビゲーションマネージャ22は、ファイルキャッシュマネージャ(File Cache Manager)24、プレイリストマネージャ(Playlist Manager)25、パーサー(Parser)23、アドバンスドアプリケーションマネージャ(Advanced Application Manager)26、及びユーザーインターフェースエンジン(User Interface Engine)27を含んで構成される。
ファイルキャッシュマネージャ24は、プレイリストマネージャ25又はアドバンスドアプリケーションマネージャ26からの指示を受けると、データアクセスマネージャ31を制御して、所望のファイルをHD−DVDディスク30又はネットワークサーバ29等からデータキャッシュ35に読み込んで管理するモジュールである。
プレイリストマネージャ25は、アドバンスドコンテンツの再生開始時にプレイリスト(Playlist)よりコンテンツの構成情報等を読み出して、各モジュールの初期化制御を行うモジュールである。プレイリストマネージャ25は、タイトルタイムライン(Title Timeline)の制御を行うモジュールでもある。
アドバンスドアプリケーションマネージャ26は、アドバンスドコンテンツの再生全般を統括して制御する中心的なモジュールである。アドバンスドアプリケーションマネージャ26は、デクレラティブエンジン(Declarative Engine)とプログラミングエンジン(Programming Engine)とを含んで構成される。
デクレラティブエンジンは、マークアップ言語の記述に従って、タイミングの制御を行うモジュールである。デクレラティブエンジンは、マークアップ言語の記述に従ってプレゼンテーションエンジン36を制御し、グラフィック表示や文字表示を行うモジュールでもある。
プログラミングエンジンは、ECMAスクリプトで記述されたスクリプト言語を解釈して実行するモジュールである。プログラミングエンジンは、ECMAスクリプトからHD−DVD規格で定義されたAPI(Application Interface)を呼び出すことにより、プレーヤの制御、グラフィック描画、及びファイル操作等を行うことができる。プログラミングエンジンは、プレゼンテーションエンジン36を制御することにより、API経由でECMAスクリプトにて指示されているグラフィック描画やプレーヤ制御を実現する。
ユーザーインターフェースエンジン27は、カーソルを制御するモジュールである。ユーザーインターフェースエンジン27は、リモコンから制御情報等をイベントとしてアドバンスドアプリケーションマネージャ26に伝えるモジュールでもある。
プレゼンテーションエンジン36は、グラフィックデータ、ビデオデータ、又はオーディオデータ等をデコードし、最終的なグラフィック画像やビデオのフレーム画像等を作成するモジュールである。プレゼンテーションエンジン36は、作成したグラフィック画像やビデオのフレーム画像等をAVレンダラー44に送る。プレゼンテーションエンジン36は、アドバンスドアプリケーションプレゼンテーションエンジン(Advanced Application Presentation Engine)37、ピクセルバッファ(Pixel Buffer)38、フォントレンダリングシステム(Font Rendering system)39、アドバンスドサブタイトルプレーヤ(Advanced Subtitle Player)40、セカンダリビデオプレーヤ41、プライマリビデオプレーヤ42、及びデコーダエンジン(Decoder Engine)43等を含んで構成される。
図2に示すように、アドバンスドアプリケーションプレゼンテーションエンジン37は、サウンドデコーダ47、グラフィックデコーダ48、及びレイアウトマネージャ49を含んで構成される。アドバンスドアプリケーションプレゼンテーションエンジン37は、ナビゲーションマネージャ22からの指示に従い、様々な形式(例えば、PNG(Portable Network Graphics)、MNG(Multiple-Image Network Graphics)、又はJPEG(Joint Photographic Experts Group)等)の画像をデータキャッシュ35から読み出してデコードし、グラフィックプレーンに最終的な出力画像を作成してAVレンダラー44に出力するモジュールである。アドバンスドアプリケーションプレゼンテーションエンジン37は、データキャッシュ35から読み出したWAVファイルをLPCM(Linear Pulse Code Modulation)データに変換し、AVレンダラー80に出力するモジュールでもある。
グラフィックデコーダ48は、上述した形式の画像をデコードする処理と、デコード処理済み画像をピクセルバッファ38に登録又は削除する処理とを行う。
レイアウトマネージャ49は、グラフィックプレーン上に最終的な表示画像を構築する。このため、レイアウトマネージャ49は、アドバンスドアプリケーションマネージャ26から送れたレイアウト情報に従って、ピクセルバッファ38内に登録されたデコード処理済みの画像を読み込み、描画する。レイアウトマネージャ49は、フォントレンダリングシステム39に文字フォントの描画指示を送る。そして、レイアウトマネージャ49は、完成した表示画面をAVレンダラー44に送出する。
アドバンスドサブタイトルプレーヤ40は、レイアウトマネージャ49と同様の処理により、アドバンスドサブタイトル内のマークアップ言語の記述に従って出力画像をサブピクチャプレーン上に生成し、完成した出力画面をAVレンダラー44に送出する。
プライマリビデオプレーヤ42及びセカンダリビデオプレーヤ41は、ビデオプレーヤとして再生制御を行うモジュールである。プライマリビデオプレーヤ42及びセカンダリビデオプレーヤ41は、再生の際に、TMAP(TimeMap)を解析する。プライマリビデオプレーヤ42及びセカンダリビデオプレーヤ41は、TMAPの解析結果に基づいて、必要な場所をデータアクセスマネージャ31から読み出し、ビデオ映像のデータ、音声データ、又はサブピクチャデータ等に分類する。プライマリビデオプレーヤ42及びセカンダリビデオプレーヤ41は、分類した各データを、デコーダエンジン43内の各デコーダに出力する。
デコーダエンジン43は、MPEG−2方式等で符号化されたビデオ映像のデータや音声データ等をデコードする。デコーダエンジン43は、デコードした各データを、最終的な画像データやPCM(Pulse Code Modulation)データとして、AVレンダラー44に出力する。
HD−DVD規格における表示画面は、図3に示されるように、従来のDVD規格おけるメインビデオプレーン(Main Video Plane)とサブピクチャプレーン(Subpicture Plane)に、サブビデオプレーン(Sub Video Plane)、グラフィックプレーン(Graphic Plane)、及びカーソルプレーン(Cursor Plane)を追加した構成となっている。これら5つのプレーンは、メインビデオプレーンが一番下で、次に、サブビデオプレーン、サブピクチャプレーン、グラフィックプレーン、カーソルプレーンの順番で上に重ねられた状態で合成される。5つのプレーンが合成された画面が、最終的な出力画面となる。
出力画面の構築と更新は、毎フレーム行われる。これに対して、グラフィックプレーンは、後述のティックベース(tickBase)とティックベースディバイザー(tickBaseDivisor)とで指定された周期で、構築と更新を繰り返す。よって、グラフィックプレーンの更新周期は、出力画面と異なってしまう。このため、グラフィックプレーンの描画では、以下の処理を行う。すなわち、グラフィックプレーンは、表示用(Front)グラフィックプレーンと描画用(Back)グラフィックプレーンの2枚が用意されている。表示用グラフィックプレーンを画面表示で使用している間に、描画用グラフィックプレーンに描画し、この描画が完了すると、表示用グラフィックプレーンと描画用グラフィックプレーンとを切り換える。この処理のため、グラフィックプレーンは、2枚のサーフェスを使用している。
ここで、図3を参照して、アドバンスドコンテンツのグラフィック画面構築処理について説明する。
アドバンスドコンテンツの再生は、アドバンスドアプリケーションマネージャ26が最上位で統括し、制御している。画面表示などをおこなうプレゼンテーションエンジン36等は、このアドバンスドアプリケーションマネージャ26からの指示に従って、画面作成やデコード等の処理を実行している。アドバンスドアプリケーションマネージャ26は、後述するアプリケーションティック(Application Tick)に同期して、アドバンスドコンテンツの再生に必要なイベント処理や次の画面の最終的な生成等の処理を繰り返すことにより、再生動作を実現している。
HD−DVDビデオプレーヤでは、アドバンスドコンテンツの再生速度やタイミングの制御のために、内部でアプリケーションティックと呼ばれる周期的な同期用の合図を生成して、各モジュールに送っている。アドバンスドアプリケーションマネージャ26は、このアプリケーションティックに同期を取ることで、アドバンスドコンテンツを指定された速度とタイミングによって再生する。
一方、このアプリケーションティックに同期してアプリケーションクロック(Application Clock)と呼ばれる独自の時刻が刻まれる。アプリケーションクロックの時刻は、アドバンスドコンテンツの再生を開始する時に“0”にリセットされる。アプリケーションクロックは、例えばアドバンスドコンテンツの時間に応じたアニメーションを記述する際等に使われる。
通常、アプリケーションティックは、アプリケーションクロックでの時刻の刻みにも使用されることから、50fpsや60fpsといった値で指定される。アプリケーションティックの周期は、プレイリストのファイル中のティックベースという属性で指定される。fpsは、画面の更新間隔などを示す場合に使用される単位であり、1秒間に何回画面の更新が行われるかを示している。すなわち、画面の更新のための一連の動作が、1秒間に何回繰り返されるかということになる。
グラフィック画面を構成する画像が多いと、アプリケーションティックが例えば60fpsと指定されたとしても、1秒間に60回もグラフィック画面を更新することはパフォーマンス的に不可能な場合がある。そこで、アドバンスドアプリケーションマネージャ26は、アプリケーションティック毎に常に処理を行うのではなく、ティックベースディバイザーという属性で指定されたレートに従って間引かれたアプリケーションティックに同期して一連の処理を行うことになっている。
図4中の(b)に示されるように、例えば、ティックベースが“60”であると共にティックベースディバイザーが“4”である場合、アプリケーションティックは1秒間に60回刻まれる。アプリケーションティックの4個中の1個が、周期処理の開始タイミングとされる。したがって、アドバンスドアプリケーションマネージャ26は、一連の処理を1秒間に15回の周期にて繰り返す。
図4中の(a)に示された例では、各アプリケーションティックにて、アプリケーションティックハンドラ(Application Tick Handler)が実行される。ただし、アドバンスドアプリケーションマネージャ26は、ティックベースディバイザーで指定された数のティックにつき処理を1回行うことになっている。したがって、アドバンスドアプリケーションマネージャ26は、アプリケーションクロックをティックベースディバイザーで割った余りが“0”のときのみ、実処理を行う。
アドバンスドアプリケーションマネージャ26での1周期分の処理は、ECMAスクリプトのイベント処理やマークアップの評価、スケジューリングイベントの処理、及び、次のグラフィック画面を描画するレンダリングの処理等で構成されている。レンダリングの処理の中では、グラフィクプレーンが透明色で塗りつぶされてクリアされた後、z順序(zOrder)の小さいアプリケーションのグラフィックから順番に重ね描きされる。これらのレンダリング処理は、アドバンスドアプリケーションマネージャ26の指示の下、実処理は、プレゼンテーションエンジン36が行う。これらの処理が全て完了すると、完成したグラフィックプレーンをAVレンダラー44に送出し、出力画面に反映させる。
次に、図5及び図6を参照して、デコードと描画のタイミングについて説明する。一般には、PNGやJPEGなどの符号化された画像のデコードには時間がかかる。このため、高速でアニメーションなどをおこなうためには、必要な画像を全て前もってデコードしておく制御が必要となる。HD−DVD規格では、このような制御がコンテンツに記述でできる。具体的には、画面の表示の有無を指定する”style:visibility”というパラメータの他に、HD−DVDビデオプレーヤにデコードの開始を指示するための”style:display”というパラメータが用意されている。実際には、これらのパラメータの変化するタイミングは、パラメータの変化が実際に適用されるタイミングなので、HD−DVDビデオプレーヤは、1個前の周期から、新しいパラメータのための動作を行なう。例えば、図5の例では、”m+5”と”m+6”のフレームで”style:visibility”が”visible”なので、この期間で表示する必要がある。しかし、実際には、ちらつきを抑えるためにダブルバッファになっているため、1フレームの遅延がある。そこで、プレゼンテーションエンジン36は、”m+4”と”m+5”のフレームで描画の指示を出す。デコードの場合は、”style:display”が”m+2”のフレームで”auto”になるため、”m+2”のフレームまでにデコードを完了する必要がある。そこで、プレゼンテーションエンジン36は、”m+1”のフレーム処理で、デコードの指示を出す。
図5に示すケースでは、デコードに時間がかかり、約2周期分の時間を要している。しかし、3周期前にデコードの指示を出すことで、実際の描画は、”style:visibility”の指定通りとなる。
このように、”style:display”によるデコードの指示と”style:display”による表示開始タイミングに時間差を設定することで、デコード時間による表示の遅れを解消できる。
以上により、コンテンツで設定したデコードと表示の時間差が十分大きい場合、大抵のHD−DVDビデオプレーヤは、デコードによる表示遅延を防止できる。しかし、最終的にはHD−DVDビデオプレーヤの処理速度によって決まるため、表示前にデコードを開始したとしても、確実に表示遅延を防止できるとは限らない。
また、図6に示すように、デコードと表示開始が同時だった場合には、表示は3周期分遅れてしまう。
次に、HD−DVDの画像の描画順序について説明する。
HD−DVDで定義されているアドバンスドコンテンツでは、XMLで記述されたマークアップと呼ばれるファイルに従って画面を表示するアプリケーションが複数存在できる。各アプリケーションにはZ順序が定義されており、Z順序は0から始まる。各アプリケーションに定義されたZ順序は一意になっており、同じZ順序が定義されたアプリケーションが複数存在することはない。また、このZ順序が不連続になっていることもない。Z順序0が定義されたアプリケーションの表示画面は、一番下に存在する。つまり、Z順序0が定義されたアプリケーションの表示画面は、一番最初に描画される。各アプリケーションのZ順序は、プレイリストファイルの<ApplicationSegment>タグにある”zOrder”(レイアウト順序情報)で指定される。
また、各アプリケーションが持つ複数の画像などのオブジェクト(グラフィックオブジェクト)にもZ順序が定義される。所定のアプリケーションが持つ複数の画像などのオブジェクトに定義されたZ順序は、この所定のアプリケーションの中でのオブジェクト同士の上下の表示関係を示す。各オブジェクトのZ順序は、マークアップの”style:zIndex”(レイアウト順序情報)で指定される。
HD−DVDの画像表示や図形描画では、色表現として、R(赤)、G(緑)、B(青)の他に透明度を示すαがある。この透明度を示すαにより、画像を半透明に透けたように描画できる。プレゼンテーションエンジン36は、各オブジェクトを一番下から順番に、グラフィックプレーンに対してαブレンドする。つまり、プレゼンテーションエンジン36は、全ての画像を下から順番に描画する。
図7に、複数のアドバンスドアプリケーションによる画像描画の例を示す。ここでは、上述したように、Z順序が小さいアプリケーションのうちZインデックス(zIndex)が小さいエレメントから順に重ね描きされる。すなわち、“星”の画像“star.png”を描画するためのエレメント、“月”の画像“moon.png”を描画するためのエレメント、“太陽”の画像“sun.png”を描画するためのエレメントの順に処理が実行される。この一連の処理により、グラフィックプレーンには、“星”の画像、“月”の画像、及び“太陽”の画像が、下から“星”の画像、“月”の画像、“太陽”の画像の順に重ね描きされる。さらに、“ハート”の画像“heart.png”を描画するためのエレメントの処理が実行される。
プレゼンテーションエンジン36が、各オブジェクトを一番下から順番に描画しなくてはいけないことは以上のとおりである。しかし、他の画像との重なりが無い画像(他の画像と依存関係がない画像)については、必ずしもZ順序に従う必要はない。他の画像と依存関係がない画像については、Z順序に従わなくとも、Z順序に従った場合と同様の結果を得ることができる(順序変更処理)。また、グラフィックデコーダ48によるデコードと、レイアウトマネージャ49によるレイアウトとは、並行して実行可能である(並行処理)。この並行処理を利用して、順序変更処理を実行することにより、描画の効率化を図ることができる。
プレゼンテーションエンジン36が、上記した順序変更処理を実行する。つまり、プレゼンテーションエンジン36は、描画順序を最適化する。具体的には、プレゼンテーションエンジン36は、デコードが完了していない画像(デコードが間に合わない画像)の描画を後回しにして、デコードが完了しており且つ他の後回しになっている画像と重なりの無い画像を先に描画する。これにより、デコード待ちの遅延を最小限に抑えて描画を効率化する。
プレゼンテーションエンジン36に含まれるレイアウトマネージャ49は、アプリケーションのマークアップ画面を、グラフィックプレーン上に構築し、AVレンダラー44に出力する。レイアウトマネージャ49は、グラフィックデコーダ48及びフォントレンダリングシステム39に必要なオブジェクトのデコードを指示する。さらに、レイアウトマネージャ49は、下位グラフィックドライバのAPI経由でグラフィックコントローラを制御し、描画する。レイアウトマネージャ49は、基本的には、グラフィックプレーンの矩形塗りつぶし、又はグラフィックプレーンに対するピクセルバッファ38上の画像のαブレンドにより、最終的な画像を構築する。レイアウトマネージャ49は、マークアップ言語の記述(各オブジェクトのレイアウト情報)に基づき、グラフィックプレーンに対して、複数のオブジェクトを描画する。
例えば、グラフィックプレーンに対して描画されるべき全n個のオブジェクトのうち、m(m<n)番目に描画されるべきオブジェクトmがデコード未完了オブジェクト(例えばデコード途中オブジェクト)である場合、レイアウトマネージャ49は、オブジェクトmの描画を後回しにする。この場合、レイアウトマネージャ49は、オブジェクトmを後で描画できるように、オブジェクトmを描画保留処理リストに登録する。
続いて、レイアウトマネージャ49は、m+1番目に描画されるべきオブジェクトm+1の状況について検証する。検証により、オブジェクトm+1がデコード完了オブジェクトであっても、描画保留処理リストに登録されているオブジェクトと重なることが判明した場合には、レイアウトマネージャ49は、このオブジェクトm+1の描画も後回しにする。この場合、レイアウトマネージャ49は、オブジェクトm+1を後で描画できるように、オブジェクトm+1も描画保留処理リストに登録する。このようにして、全てのオブジェクトについて検証する。
例えば、検証により、オブジェクトm+2がデコード完了オブジェクトであり、しかも描画保留処理リストに登録されているオブジェクトm及びオブジェクトm+1と重ならないことが判明した場合には、レイアウトマネージャ49は、描画保留処理リストに登録されているオブジェクトm及びオブジェクトm+1よりも先にオブジェクトm+2の描画を開始する。
最終オブジェクトであるオブジェクトnの検証が完了し、オブジェクトnが描画される、或いは描画保留処理リストに対してオブジェクトnが登録されると、描画が後回しにされたオブジェクトの処理へ移行する。つまり、描画保留処理リストに登録されたオブジェクトの処理へ移行する。例えば、描画保留処理リストにオブジェクトm及びオブジェクトm+1が登録されているとする。オブジェクトmのデコードが完了していれば、オブジェクトmを描画する。続いて、オブジェクトm+1のデコードが完了していれば、オブジェクトm+1を描画する。なお、オブジェクトmのデコードが完了していなければ、オブジェクトm+1の描画へ移行せずに、オブジェクトmのデコードを待つ。オブジェクトm及びオブジェクトm+1が描画保留処理リストに登録された理由は、オブジェクトm及びオブジェクトm+1の少なくとも一部が重なりあっているため、オブジェクトmを描画してからでないと、オブジェクトm+1を描画できないからである。
以上により、グラフィックプレーン上に、全n個のオブジェクトの描画が完了する。つまり、最終的に出力するグラフィック画面が完成する。アプリケーションスレッド(Application Thread)は、次の処理を開始する前に、描画保留処理リストをリセットする。
図7〜図9を参照して、描画順序(順序変更による効率化なし)と描画順序(順序変更による効率化あり)のケースについて説明する。図8は、順序変更による効率化適用無しの描画処理の一例を示すフローチャートである。図9は、順序変更による効率化適用有りの描画処理の一例を示すフローチャートである。
“star.png”、“sun.png”、“heart.png”のデコードデータがピクセルバッファ38に存在し、“moon.png”のデコードデータはピクセルバッファ38に存在しないと仮定する。つまり、“moon.png”のデータをデコードしてから、“moon.png”を描画する必要がある。また、“heart.png”は、他のオブジェクトと一切重ならないオブジェクトである。
図8に示す順序変更による効率化適用無しの描画処理では、“star.png”、“moon.png”、“sun.png”、“heart.png”の順に描画される。つまりデコード完了を待ちながら描画処理が実行される。このケースでは、全描画時間と“moon.png”のデコード待ち時間とを合計した時間が、実質的な全描画時間となる。
これに対して、図9に示す順序変更による効率化適用有りの描画処理では、“star.png”、“heart.png”、“moon.png”、“sun.png”の順に描画される。つまり、デコード待ちオブジェクト及びデコード待ちオブジェクトに重なるオブジェクトを描画保留処理リストへ登録し、デコードが完了しており且つ他のオブジェクトに重ならないオブジェクトを先に描画する。グラフィックデコーダ48によるデコードと、レイアウトマネージャ49によるレイアウトとは、並行して実行可能である。つまり、描画とデコードの並行処理により、“heart.png”を描画している間に、“moon.png”のデコードが完了したとする。このケースでは、全描画時間が、そのまま実質的な全描画時間となる。
次に、図10を参照して、描画保留処理リストの一例について説明する。レイアウトマネージャ49が管理するメモリ上に、描画保留処理リストが配置される。描画保留処理リストには、後回しにされた描画処理が順に登録される。描画保留処理リストに登録された描画処理情報は、操作ID、ソースの矩形、ソースのサーフェスID、ソースの色、ディスティネーション矩形、ディスティネーションのサーフェスID、オプションフラグ、グローバルαを含む。
操作IDには、BLT(Bit Block Transfer)、Fill Rectangle、又はClear Rectangleがある。オプションフラグには、グローバルα有効、横方向flipあり、縦方向flipあり、又はrepeatありなどがある。なお、横方向flipありは、画像の横方向への反転表示を指定する機能である。縦方向flipありは、画像の縦方向への反転表示を指定する機能である。
上記した描画順序変更は、グラフィックプレーンへの適用だけではなく、ドローイングエリア(Drawing Area)にも適用することができる。これにより、ドローイングAPI(Drawing API)にも、この描画順序変更による効率化を図ることができる。
図11に示すように、ECMAスクリプトではドローイングAPIが定義されている。このドローイングAPIにより、ドローイングエリアに各種図形などを描画することができる。図12に示すように、ドローイングエリアの実体は、PNG画像などと同様に、ピクセルバッファ38にビットマップによって作成される。レンダリング時において、作成されたビットマップは、画像などと同様に、マークアップの記述に従って、グラフィックプレーン上にαブレンドで描画される。
ECMAスクリプトのドローイングAPIでドローイングエリアに描画する場合、2種類の方法がある。1つは、先のグラフィックプレーンと同じように、各ドローイングエリアごとの描画保留処理リストを用意する。デコード中などで、すぐに描画できないオブジェクト及び、描画保留処理リストに登録されているオブジェクトと重なり依存のあるオブジェクトは、描画せずに描画保留処理リストに登録する。ドローイングAPIは、各アプリケーションのマークアップ画面の構築より前に実行される。このため、マークアップ画像の構築開始の前に、再度、ドローイングエリアの描画保留処理リストの処理を実行をしても良い。デコード中の画像をソースとして使用する場合、デコードを待たなくてはいけないため、描画保留処理リストを走査する回数を複数回にして、最後の1回以外は、先に示したように、デコード中で実行できないオブジェクトの描画領域と重ならないオブジェクトを先行して描画するようにすることで、描画順序と開始タイミングの最適化ができる。最終的には、マークアップ画像構築の段階でドローイングエリアをグラフィックプレーンに描画する際に、ドローイングエリアの描画保留リストをチェックし、すぐに描画不可能な描画要求が残っている場合には、このドローイングエリアの描画指示をデコード中画像と同様に、グラフィック画面構築の描画保留処理リストに登録する。最後にグラフィック画面構築の描画保留処理リストに残った要求を処理する段階でドローイングエリアがあった場合には、このドローイングエリアの描画保留処理リストも走査する。この場合には、デコードが完了していないソース画像があった場合、デコードの完了を待つことになる。
また、ドローイングエリアの場合、キャプチャ機能がある。キャプチャ機能が実行されたら、キャプチャ機能の処理の前に、ドローイングエリアの描画保留処理リストに登録されたオブジェクトの描画と必要に応じたデコード完了待ち、描画保留処理リストのクリアを実行する。
図12に示すケースでは、スクリプト処理において、”drawRectangleCoord()”が実行される。これにより、”fish.png”という矩形画像が敷き詰められる。このため、”fish.png”のデコードが完了するまで、描画処理が実行できない。そこで、このスクリプト処理で実行される、ドローイングAPIの描画にまで、描画順序を最適化する。
以上により、HD−DVDビデオプレーヤの描画パフォーマンスの向上を図ることができる。
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
22…ナビゲーションマネージャ、23…パーサー、24…ファイルキャッシュマネージャ、25…プレイリストマネージャ、26…アドバンスドアプリケーションマネージャ、27…ユーザーインターフェースエンジン、31…データアクセスマネージャ、32…パーシスタントストレージマネージャ、33…ネットワークマネージャ、34…ディスクマネージャ、35…データキャッシュ、36…プレゼンテーションエンジン、37…アドバンスドアプリケーションプレゼンテーションエンジン、38…ピクセルバッファ、39…フォントレンダリングシステム、40…アドバンスドサブタイトルプレーヤ、41…セカンダリビデオプレーヤ、42…プライマリビデオプレーヤ、43…デコーダエンジン、44…AVレンダラー、45…グラフィックレンダリングエンジン、49…レイアウトマネージャ
Claims (6)
- グラフィックオブジェクトをデコードするデコード手段と、
デコードされたグラフィックオブジェクトを記憶する記憶手段と、
複数のグラフィックオブジェクトのレイアウト情報に基づき、これら複数のグラフィックオブジェクトをグラフィックプレーン上の所定位置へ所定順序で描画するグラフィック画像構築処理を実行するとともに、このグラフィック画像構築処理においてデコードが間に合わないグラフィックオブジェクトの描画を後回しにする描画順序変更処理を実行するグラフィック画像構築処理手段と、
前記グラフィック画像構築処理手段により、前記複数のグラフィックオブジェクトが描画された前記グラフィックプレーンを出力する出力手段と、
を備えた情報再生装置。 - 前記グラフィック画像構築処理は、複数のグラフィックオブジェクトのレイアウト情報に基づき各グラフィックオブジェクトの重なりを検出し、これら複数のグラフィックオブジェクトのレイアウト情報に基づきデコードされた各グラフィックオブジェクトを順にグラフィックプレーン上へ描画するとともに、前記重なり検出に基づきデコードされた各グラフィックオブジェクト同士の重なり依存の関係を管理する処理であり、
前記描画順序変更処理は、デコードが間に合わないグラフィックオブジェクトの描画を後回しにして、デコード済みで且つ他の後回しになっているグラフィックオブジェクトとの重なり依存が無いグラフィックオブジェクトを先に描画する処理である、
ことを特徴とする請求項1に記載の情報再生装置。 - 前記グラフィック画像構築処理は、複数のグラフィックオブジェクトのレイアウト情報に基づき各グラフィックオブジェクト同士の重なり依存関係を検出して管理するとともに、これら複数のグラフィックオブジェクトのレイアウト情報に基づきデコードされた各グラフィックオブジェクトを順にグラフィックプレーン上へ描画する処理であり、
前記描画順序変更処理は、m番目に描画されるべきグラフィックオブジェクトmのデコードが間に合わない場合、前記グラフィックオブジェクトmをリストに登録するとともに前記リストに登録されたグラフィックオブジェクトmの描画を後回しにして、m+1番目に描画されるべきグラフィックオブジェクトm+1の描画領域を検証し、前記グラフィックオブジェクトm+1がデコード完了オブジェクトであっても、前記リストに登録されているグラフィックオブジェクトmと重なることが判明した場合には、前記グラフィックオブジェクトm+1もリストに登録するとともに前記リストに登録されたグラフィックオブジェクトm+1の描画も後回しにして、m+2番目に描画されるべきグラフィックオブジェクトm+2の描画領域を検証し、前記グラフィックオブジェクトm+2がデコード完了オブジェクトであり且つ前記リストに登録されている前記グラフィックオブジェクトm及び前記グラフィックオブジェクトm+1の両者と重ならないことが判明した場合には、前記リストに登録されている前記グラフィックオブジェクトm及び前記グラフィックオブジェクトm+1よりも先に前記グラフィックオブジェクトm+2を描画する処理である、
ことを特徴とする請求項1に記載の情報再生装置。 - 前記グラフィック画像構築処理手段は、ECMAスクリプトのドローイングAPIによるドローイングエリアへのドローイメージ生成処理において、ドローイングAPIによる描画処理でソースとして使用する画像のデコードが間に合わない場合に、その描画処理を後回しにするように描画順序最適化をドローイングAPIにも適用することを特徴とする請求項1に記載の情報再生装置。
- 前記デコード手段によるデコード処理と、前記グラフィック画像構築処理手段による前記描画処理及び前記描画順序変更処理とは、並行して実行可能であることを特徴とする請求項1に記載の情報再生装置。
- 複数のアプリケーションの夫々に含まれるグラフィックオブジェクトをデコードするデコード手段と、
デコードされたグラフィックオブジェクトを記憶する記憶手段と、
各アプリケーションのZ順序情報及び各アプリケーションに含まれる各グラフィックオブジェクトのZ順序情報に基づき、各グラフィックオブジェクトをグラフィックプレーン上の所定位置へ所定順序で描画するグラフィック画面構築処理を実行するとともに、このグラフィック画面構築処理においてデコードが間に合わないグラフィックオブジェクトの描画を後回しにする描画順序変更処理を実行するグラフィック画面構築処理手段と、
前記グラフィック画面構築処理手段により前記複数のグラフィックオブジェクトが描画された前記グラフィックプレーンを出力する出力手段と、
を備えた情報再生装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007166629A JP2009003370A (ja) | 2007-06-25 | 2007-06-25 | 情報再生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007166629A JP2009003370A (ja) | 2007-06-25 | 2007-06-25 | 情報再生装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009003370A true JP2009003370A (ja) | 2009-01-08 |
Family
ID=40319775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007166629A Pending JP2009003370A (ja) | 2007-06-25 | 2007-06-25 | 情報再生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009003370A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010113731A1 (ja) * | 2009-04-03 | 2010-10-07 | ソニー株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
JP2012134992A (ja) * | 2009-04-03 | 2012-07-12 | Sony Corp | 情報処理装置、情報処理方法、及び、プログラム |
-
2007
- 2007-06-25 JP JP2007166629A patent/JP2009003370A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010113731A1 (ja) * | 2009-04-03 | 2010-10-07 | ソニー株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
JP2010259052A (ja) * | 2009-04-03 | 2010-11-11 | Sony Corp | 情報処理装置、情報処理方法、及び、プログラム |
JP2012134992A (ja) * | 2009-04-03 | 2012-07-12 | Sony Corp | 情報処理装置、情報処理方法、及び、プログラム |
CN103000209A (zh) * | 2009-04-03 | 2013-03-27 | 索尼公司 | 信息处理设备、信息处理方法和程序 |
US8718355B2 (en) | 2009-04-03 | 2014-05-06 | Sony Corporation | Information processing device, information processing method, and program |
US9225956B2 (en) | 2009-04-03 | 2015-12-29 | Sony Corporation | Information processing device, information processing method, and program |
CN103000209B (zh) * | 2009-04-03 | 2017-08-18 | 索尼公司 | 信息处理设备和信息处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2397699T3 (es) | Aparato y método de reproducción de un soporte de almacenamiento que almacena datos de subtítulos basados en texto que incluyen información de estilo | |
US20070101265A1 (en) | Information storage medium, information playback apparatus, information playback method, and information playback program | |
US8020084B2 (en) | Synchronization aspects of interactive multimedia presentation management | |
WO2010113728A1 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
WO2010113730A1 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
WO2010113731A1 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
US7650063B2 (en) | Method and apparatus for reproducing AV data in interactive mode, and information storage medium thereof | |
JP2008108296A (ja) | 情報再生装置及び情報再生方法 | |
JP2008165872A (ja) | デジタルビデオ再生装置および再生方法 | |
JP2009003370A (ja) | 情報再生装置 | |
KR20070014963A (ko) | 기록매체, 데이터 재생방법 및 데이터 재생장치와 데이터기록방법 및 데이터 기록장치 | |
US20050094973A1 (en) | Moving picture reproducing apparatus in which player mode information is set, reproducing method using the same, and storage medium | |
JP2009016931A (ja) | グラフィクス処理方法、グラフィクスプロセッサ、および映像再生装置 | |
JP4962825B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP4962673B1 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP2008152478A (ja) | データ再生装置 | |
JP4998650B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP4962814B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP2009016885A (ja) | 画像転送装置 | |
JP2008165871A (ja) | デジタルビデオ再生装置および再生方法 | |
KR20070103279A (ko) | 데이터 재생방법 및 재생장치 | |
JP2008141427A (ja) | 映像再生装置 |