(57)【要約】【課題】複数の画像データの重ね合わせ処理をその負荷のピークを一定以内に抑えつつ実行することを可能とする再生装置を提供する。【解決手段】実施形態によれば、再生装置は、出力手段が、第１のビデオデータと、各画素の透明度を示す係数であるアルファデータを含む第２のビデオデータおよびピクチャデータとを出力する。第１のブレンド処理手段は、前記第２のビデオデータと前記ピクチャデータとを合成すると共に、前記第２のビデオデータと前記ピクチャデータとが重ね合わされた領域内の各画素についての新たなアルファデータを、前記第２のビデオデータおよび前記ピクチャデータとのそれぞれに含まれる当該領域内の各画素についてのアルファデータから算出する。第２のブレンド処理手段は、前記第１のブレンド処理手段により得られた前記アルファデータを含む合成データと、前記第１のビデオデータとを合成する。【選択図】図３
2011041294.tif 000002
【特許請求の範囲】
【請求項１】
第１のビデオデータと、各画素の透明度または不透明度を示す係数であるアルファデータを含む第２のビデオデータおよびピクチャデータとを出力する出力手段と、
前記第２のビデオデータと前記ピクチャデータとを合成すると共に、前記第２のビデオデータと前記ピクチャデータとが重ね合わされた領域内の各画素についての新たなアルファデータを、前記第２のビデオデータに含まれる当該領域内の各画素についてのアルファデータと前記ピクチャデータに含まれる当該領域内の各画素についてのアルファデータとから算出する第１のブレンド処理手段と、
前記第１のブレンド処理手段により得られた前記アルファデータを含む合成データと、前記第１のビデオデータとを合成する第２のブレンド処理手段と、
を具備する再生装置。
【請求項２】
前記第１のブレンド処理手段は、前記第２のブレンド処理手段よりも単位時間内に実行される回数が少ない請求項１記載の再生装置。
【請求項３】
前記第１のブレンド処理手段は、前記ブレンド処理の実行時に、前記ピクチャデータを縮小または拡大するスケーリング処理を並行して実行する請求項１記載の再生装置。
【請求項４】
前記第１のブレンド処理手段は、前記ブレンド処理の実行時に、前記第２のビデオデータを縮小または拡大するスケーリング処理を並行して実行する請求項１記載の再生装置。
【請求項５】
前記第１のブレンド処理手段は、前記ブレンド処理の実行時に、前記第２のビデオデータの映像中の背景色を取り除くための前記第２のビデオデータに対に対するルーマキー処理を並行して実行する請求項１または４記載の再生装置。
【請求項６】
第１のビデオデータと、各画素の透明度または不透明度を示す係数であるアルファデータを含む第２のビデオデータおよびピクチャデータとを出力し、
前記第２のビデオデータと前記ピクチャデータとを合成すると共に、前記第２のビデオデータと前記ピクチャデータとが重ね合わされた領域内の各画素についての新たなアルファデータを、前記第２のビデオデータに含まれるアルファデータと前記ピクチャデータに含まれるアルファデータとから算出し、
前記合成により得られた前記アルファデータを含む合成データと、前記第１のビデオデータとを合成する、
再生装置の再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＤ  ＤＶＤ（High Definition Digital Versatile Disc）プレーヤのような再生装置および同装置の再生方法に関する。
【背景技術】
【０００２】
近年、動画像のデジタル圧縮符号化技術の進展に伴い、ＨＤ（High Definition）規格の高精細映像を扱うことが可能な再生装置（プレーヤ）の開発が進められている。
【０００３】
この種のプレーヤにおいては、インタラクティブ性を高めるために、複数の画像データを高次元で融合させるための機能が要求されている。
【０００４】
例えば特許文献１には、グラフィクスデータとビデオデータとをディスプレイコントローラによって合成するシステムが開示されている。このシステムにおいては、ディスプレイコントローラは、ビデオデータをキャプチャし、そのキャプチャしたビデオデータをグラフィクス画面上の一部のエリア上に合成する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２０５０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、この特許文献１に記載のシステムを含むこれまでのシステムでは、比較的低解像度のビデオデータを扱うことを前提としており、ＨＤ規格のビデオデータのような高精細画像を扱うことについては考慮されていない。また、それほど多くの画像データを重ね合わせることを予定していない。
【０００７】
一方、ＨＤ規格では、最多で５つの画像データを適宜に重ね合わせる必要がある。そのため、現実的な処理能力を越える程度にまでその処理量が達する状況にある。従って、この複数の画像データを重ね合わせる処理については、負荷を考慮した適切な分散化や効率化が強く求められている。
【０００８】
この発明は、このような事情を考慮してなされたものであり、複数の画像データの重ね合わせ処理をその負荷のピークを一定以内に抑えつつ実行することを可能とする再生装置および再生装置の再生方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施形態によれば、再生装置は、出力手段と、第１のブレンド処理手段と、第２のブレンド処理手段とを具備する。前記出力手段は、第１のビデオデータと、各画素の透明度または不透明度を示す係数であるアルファデータを含む第２のビデオデータおよびピクチャデータとを出力する。前記第１のブレンド処理手段は、前記第２のビデオデータと前記ピクチャデータとを合成すると共に、前記第２のビデオデータと前記ピクチャデータとが重ね合わされた領域内の各画素についての新たなアルファデータを、前記第２のビデオデータに含まれる当該領域内の各画素についてのアルファデータと前記ピクチャデータに含まれる当該領域内の各画素についてのアルファデータとから算出する。前記第２のブレンド処理手段は、前記第１のブレンド処理手段により得られた前記アルファデータを含む合成データと、前記第１のビデオデータとを合成する。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る再生装置の構成を示すブロック図。
【図２】図１の再生装置で用いられるプレーヤアプリケーションの構成を示す図。
【図３】図２のプレーヤアプリケーションによって実現されるソフトウェアデコーダの機能構成を説明するための図。
【図４】図１の再生装置に設けられたブレンド処理部によって実行されるブレンド処理を説明するための図。
【図５】図１の再生装置に設けられたＧＰＵによって実行されるブレンド処理を説明するための図。
【図６】図１の再生装置においてメインビデオデータ上にサブビデオデータが重ねて表示される様子を示す図。
【図７】図１の再生装置においてサブビデオデータ上の一部の領域にメインビデオデータが表示される様子を示す図。
【図８】図１の再生装置においてＨＤ規格のＡＶコンテンツ中の複数の画像データそれぞれがどのような手順で重ね合わされるのかを示す概念図。
【図９】図１の再生装置においてサブビデオの重ね合わせをＧＰＵまたはブレンド処理部のいずれかで選択的に実行させるための一構成例を示す図。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態を説明する。
【００１２】
図１には、本発明の一実施形態に係る再生装置の構成例が示されている。この再生装置はオーディオ・ビデオ（ＡＶ）コンテンツを再生するメディアプレーヤである。この再生装置は、例えば、ＨＤ  ＤＶＤ（High Definition Digital Versatile Disc）規格のＤＶＤメディアに格納されたオーディオ・ビデオ（ＡＶ）コンテンツを再生するＨＤ  ＤＶＤプレーヤとして実現されている。
【００１３】
このＨＤ  ＤＶＤプレーヤは、図１に示されているように、ＣＰＵ（Central Processing Unit）１１、ノースブリッジ１２、主メモリ１３、サウスブリッジ１４、不揮発性メモリ１５、ＵＳＢ（Universal Serial Bus）コントローラ１７、ＨＤ  ＤＶＤドライブ１８、グラフィクスバス２０、ＰＣＩ（Peripheral Component Interconnect）バス２１、ビデオコントローラ２２、オーディオコントローラ２３、ビデオデコーダ２５、ブレンド処理部３０、メインオーディオデコーダ３１、サブオーディオデコーダ３２、オーディオミキサ（Audio Mix）３３、ビデオエンコーダ４０、およびＨＤＭＩ（High Definition Multimedia Interface）のようなＡＶインタフェース（ＨＤＭＩ−ＴＸ）４１等から構成されている。
【００１４】
本ＨＤ  ＤＶＤプレーヤにおいては、プレーヤアプリケーション１５０と、オペレーティングシステム（ＯＳ）１５１とが予め不揮発性メモリ１５にインストールされている。プレーヤアプリケーション１５０はＯＳ１５１上で動作するソフトウェアであり、ＨＤ  ＤＶＤドライブ１８から読み出されるＡＶコンテンツを再生するための制御を行う。
【００１５】
ＨＤ  ＤＶＤドライブ１８によって駆動されるＨＤ  ＤＶＤメディアのような蓄積メディアに格納されたＡＶコンテンツは、圧縮符号化されたメインビデオデータ、圧縮符号化されたメインオーディオデータ、圧縮符号化されたサブビデオデータ、圧縮符号化されたサブピクチャデータ、アルファデータを含むグラフィクスデータ、圧縮符号化されたサブオーディオデータ、ＡＶコンテンツの再生を制御するナビゲーションデータ等から構成されている。
【００１６】
圧縮符号化されたメインビデオデータは、主映像（主画面イメージ）として用いられる動画像データをＨ．２６４／ＡＶＣ規格の圧縮符号化方式で圧縮符号化したデータである。メインビデオデータはＨＤ規格の高精細画像から構成されている。また、ＳＤ（Standard Definition）規格のメインビデオデータを使用することもできる。圧縮符号化されたメインオーディオデータは、メインビデオデータに対応するオーディオデータである。メインオーディオデータの再生は、メインビデオデータの再生と同期して実行される。
【００１７】
圧縮符号化されたサブビデオデータはメインビデオ上に重ね合わされた状態で表示される副映像（副画面イメージ）であり、メインビデオデータを補足する動画像（例えば映画監督のインタビューシーンなど）から構成されている。圧縮符号化されたサブオーディオデータは、サブビデオデータに対応するオーディオデータである。サブオーディオデータの再生は、サブビデオデータの再生と同期して実行される。
【００１８】
グラフィクスデータもメインビデオ上に重ね合わされた状態で表示される副映像（副画面イメージ）であり、例えば、メニューオブジェクトのような操作ガイダンスを表示するための各種データ（Advanced Elements）から構成されている。各Advanced Elementは、静止画、動画（アニメーションを含む）、またテキストから構成されている。プレーヤアプリケーション１５０はユーザによるマウス操作に従って絵を描くドローウィング機能を有している。このドローウィング機能によって描画されたイメージもグラフィクスデータとして用いられ、メインビデオ上に重ね合わされた状態で表示することができる。
【００１９】
圧縮符号化されたサブピクチャデータは、字幕等のテキストから構成されている。
【００２０】
ナビゲーションデータは、コンテントの再生順を制御するプレイリストと、サブビデオおよびグラフィクス（Advanced Elements）等の再生を制御するスクリプトとを含んでいる。スクリプトは、ＸＭＬのようなマークアップ言語によって記述されている。
【００２１】
ＨＤ規格のメインビデオデータは例えば１９２０×１０８０ピクセルまたは１２８０×７２０ピクセルの解像度を持つ。また、サブビデオデータ、サブピクチャデータ、およびグラフィクスデータの各々は、例えば７２０×４８０ピクセルの解像度を持つ。
【００２２】
本ＨＤ  ＤＶＤプレーヤにおいては、ＨＤ  ＤＶＤドライブ１８から読み出されるＨＤ  ＤＶＤストリームからメインビデオデータ、メインオーディオデータ、サブビデオデータ、サブオーディオデータ、サブピクチャデータを分離する分離処理と、サブビデオデータ、サブピクチャデータ、およびグラフィクスデータをデコードするデコード処理はソフトウェア（プレーヤアプリケーション１５０）によって実行される。一方、多くの処理量を必要とする処理、つまりメインビデオデータをデコードする処理、およびメインオーディオデータおよびサブオーディオデータをデコードするデコード処理等は、ハードウェアによって実行される。
【００２３】
ＣＰＵ１１は、本ＨＤ  ＤＶＤプレーヤの動作を制御するために設けられたプロセッサであり、不揮発性メモリ１５から主メモリ１３にロードされる、ＯＳ１５１およびプレーヤアプリケーション１５０を実行する。主メモリ１３内の記憶領域の一部は、ビデオメモリ（ＶＲＡＭ）１３１として使用される。なお、必ずしも主メモリ１３内の記憶領域の一部をＶＲＡＭ１３１として使用する必要はなく、主メモリ１３とは独立した専用のメモリデバイスをＶＲＡＭ１３１として使用してもよい。
【００２４】
ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１４との間を接続するブリッジデバイスである。このノースブリッジ１２には、主メモリ１３をアクセス制御するメモリコントローラが内蔵されている。さらに、このノースブリッジ１２には、ＧＰＵ（Graphics Processing Unit）１２０も内蔵されている。
【００２５】
ＧＰＵ１２０は、主メモリ１３の一部の記憶領域に割り当てられたビデオメモリ（ＶＲＡＭ）１３１にＣＰＵ１１によって書き込まれたデータから、グラフィクス画面イメージを形成するグラフィクス信号を生成するグラフィクスコントローラである。ＧＰＵ１２０は、ビットブロック転送（bit block transfer）のようなグラフィクス演算機能を用いて、グラフィクス信号を生成する。例えば、ＣＰＵ１１によってＶＲＡＭ１３１上の４つのプレーンにそれぞれ画像データ（サブビデオ、サブピクチャ、グラフィクス、カーソル）が書き込まれた場合、ＧＰＵ１２０は、それら４つのプレーンに対応する画像データ同士をピクセル毎に重ね合わせるブレンド処理をビットブロック転送を用いて実行し、これによってメインビデオと同じ解像度（例えば１９２０×１０８０ピクセル）を有するグラフィクス画面イメージを形成するためのグラフィクス信号を生成する。ブレンド処理は、サブビデオ、サブピクチャ、グラフィクスそれぞれに対応するアルファデータを用いて実行される。アルファデータは、そのアルファデータに対応する画像データの各ピクセルの透明度（または不透過度）を示す係数である。サブビデオ、サブピクチャ、グラフィクスそれぞれに対応するアルファデータは、それらサブビデオ、サブピクチャ、グラフィクスの画像データと一緒にＨＤ  ＤＶＤメディアに格納されている。すなわち、サブビデオ、サブピクチャ、グラフィクスの各々は、画像データとアルファデータとから構成されている。
【００２６】
ＧＰＵ１２０によって生成されたグラフィクス信号はＲＧＢ色空間を有している。グラフィクス信号の各ピクセルはデジタルＲＧＢデータ（２４ｂｉｔ）によって表現される。
【００２７】
ＧＰＵ１２０は、グラフィクス画面イメージを形成するグラフィクス信号を生成するだけでなく、その生成したグラフィクス信号に対応するアルファデータを外部に出力する機能も有している。
【００２８】
具体的には、ＧＰＵ１２０は、生成したグラフィクス信号をデジタルＲＧＢビデオ信号として外部に出力すると共に、その生成したグラフィクス信号に対応するアルファデータも外部に出力する。アルファデータは、生成されたグラフィクス信号（ＲＧＢデータ）の各ピクセルの透明度（または不透明度）を示す係数（８ｂｉｔ）である。ＧＰＵ１２０は、グラフィクス信号（２４ｂｉｔのデジタルＲＧＢビデオ信号）とアルファデータ（８ｂｉｔ）とから構成されるアルファデータ付きのグラフィクス出力データ（３２ｂｉｔのＲＧＢＡデータ）を、ピクセル毎に出力する。アルファデータ付きのグラフィクス出力データ（３２ｂｉｔのＲＧＢＡデータ）は専用のグラフィクスバス２０を介してブレンド処理部３０に送られる。グラフィクスバス２０は、ＧＰＵ１２０とブレンド処理部３０との間を接続する伝送線路である。
【００２９】
このように、本ＨＤ  ＤＶＤプレーヤにおいては、アルファデータ付きのグラフィクス出力データがグラフィクスバス２０を介してＧＰＵ１２０からブレンド処理部３０に直接的に転送される。これにより、ＰＣＩバス２１等を介してアルファデータをＶＲＡＭ１３１からブレンド処理部３０を転送する必要が無くなり、アルファデータの転送によるＰＣＩバス２１のトラフィックの増大を防止することができる。
【００３０】
もしＰＣＩバス２１等を介してアルファデータをＶＲＡＭ１３１からブレンド処理部３０に転送したならば、ＧＰＵ１２０から出力されるグラフィクス信号とＰＣＩバス２１経由で転送されるアルファデータとをブレンド処理部３０内で同期化しなければならず、そのためにブレンド処理部３０の構成が複雑化される。本ＨＤ  ＤＶＤプレーヤにおいては、ＧＰＵ１２０はグラフィクス信号とアルファデータとをピクセル毎に同期して出力する。このため、グラフィクス信号とアルファデータとの同期化を容易に実現することができる。
【００３１】
サウスブリッジ１４は、ＰＣＩバス２１上の各デバイスを制御する。また、サウスブリッジ１４は、ＨＤ  ＤＶＤドライブ１８を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラを内蔵している。さらに、サウスブリッジ１４は、不揮発性メモリ１５、およびＵＳＢコントローラ１７を制御する機能も有している。ＵＳＢコントローラ１７は、マウスデバイス１７１の制御を行う。ユーザは、マウスデバイス１７１を操作することにより、メニューの選択等を行うことができる。もちろん、マウスデバイス１７１の代わりに、リモコンユニット等を用いることもできる。
【００３２】
ＨＤ  ＤＶＤドライブ１８は、ＨＤ  ＤＶＤ規格に対応するオーディオ・ビデオ（ＡＶ）コンテンツが格納されたＨＤ  ＤＶＤメディアのような蓄積メディアを駆動するためのドライブユニットである。
【００３３】
ビデオコントローラ２２は、ＰＣＩバス２１に接続されている。このビデオコントローラ２２は、ビデオデコーダ２５とのインタフェースを実行するためのＬＳＩである。ソフトウェアによってＨＤ  ＤＶＤストリームから分離されたメインビデオデータのストリーム（Video Stream）は、ＰＣＩバス２１およびビデオコントローラ２２を介して、ビデオデコーダ２５に送られる。また、ＣＰＵ１１から出力されるデコード制御情報（Control）も、ＰＣＩバス２１およびビデオコントローラ２２を介して、ビデオデコーダ２５に送られる。
【００３４】
ビデオデコーダ２５は、Ｈ．２６４／ＡＶＣ規格に対応するデコーダであり、ＨＤ規格のメインビデオデータをデコードして例えば１９２０×１０８０ピクセルの解像度のビデオ画面イメージを形成するデジタルＹＵＶビデオ信号を生成する。このデジタルＹＵＶビデオ信号はブレンド処理部３０に送られる。
【００３５】
ブレンド処理部３０は、ＧＰＵ１２０およびビデオデコーダ２５にそれぞれ結合されており、ＧＰＵ１２０から出力されるグラフィクス出力データとビデオデコーダ２５によってデコードされたメインビデオデータとを重ね合わせるためのブレンド処理を実行する。このブレンド処理においては、ＧＰＵ１２０からグラフィクスデータ（ＲＧＢ）と一緒に出力されるアルファデータに基づいて、グラフィクスデータを構成するデジタルＲＧＢビデオ信号とメインビデオデータを構成するデジタルＹＵＶビデオ信号とをピクセル単位で重ね合わせるためのブレンド処理（アルファブレンディング処理）が実行される。この場合、メインビデオデータは下側の画面イメージとして用いられ、グラフィクスデータはメインビデオデータ上に重ねられる上側の画面イメージとして用いられる。
【００３６】
ブレンド処理によって得られる出力画像データは例えばデジタルＹＵＶビデオ信号としてビデオエンコーダ４０およびＡＶインタフェース（ＨＤＭＩ−ＴＸ）４１にそれぞれ供給される。ビデオエンコーダ４０は、ブレンド処理によって得られる出力画像データ（デジタルＹＵＶビデオ信号）をコンポーネントビデオ信号またはＳ−ビデオ信号に変換して、ＴＶ受像機のような外部の表示装置（モニタ）に出力する。ＡＶインタフェース（ＨＤＭＩ−ＴＸ）４１は、デジタルＹＵＶビデオ信号とデジタルオーディオ信号とを含むデジタル信号群を外部のＨＤＭＩ機器に出力する。
【００３７】
オーディオコントローラ２３は、ＰＣＩバス２１に接続されている。オーディオコントローラ２３は、メインオーディオデコーダ３１およびサブオーディオデコーダ３２それぞれとのインタフェースを実行するためのＬＳＩである。ソフトウェアによってＨＤ  ＤＶＤストリームから分離されたメインオーディオデータのストリームは、ＰＣＩバス２１およびオーディオコントローラ２３を介して、メインオーディオデコーダ３１に送られる。また、ソフトウェアによってＨＤ  ＤＶＤストリームから分離されたサブオーディオデータのストリームは、ＰＣＩバス２１およびオーディオコントローラ２３を介して、サブオーディオデコーダ３２に送られる。ＣＰＵ１１から出力されるデコード制御情報（Control）も、ビデオコントローラ２２を介して、メインオーディオデコーダ３１およびサブオーディオデコーダ３２それぞれに供給される。
【００３８】
メインオーディオデコーダ３１は、メインオーディオデータをデコードしてＩ２Ｓ（Inter-IC Sound）形式のデジタルオーディオ信号を生成する。このデジタルオーディオ信号は、オーディオミキサ（Audio Mix）３３に送られる。メインオーディオデータは、予め決められた複数種の圧縮符号化方式（つまり複数種のオーディオコーデック）の中の任意の一つを用いて圧縮符号化されている。このため、メインオーディオデコーダ３１は、複数種の圧縮符号化方式それぞれに対応するデコード機能を有している。すなわち、メインオーディオデコーダ３１は、複数種の圧縮符号化方式の内の任意の一つを用いて圧縮符号化されたメインオーディオデータをデコードしてデジタルオーディオ信号を生成する。メインオーディオデータに対応する圧縮符号化方式の種類は、例えば、ＣＰＵ１１からのデコード制御情報によってメインオーディオデコーダ３１に通知される。
【００３９】
サブオーディオデコーダ３２は、サブオーディオデータをデコードしてＩ２Ｓ（Inter-IC Sound）形式のデジタルオーディオ信号を生成する。このデジタルオーディオ信号は、オーディオミキサ（Audio Mix）３３に送られる。サブオーディオデータも、予め決められた上述の複数種の圧縮符号化方式（つまり複数種のオーディオコーデック）の中の任意の一つを用いて圧縮符号化されている。このため、サブオーディオデコーダ３２も、複数種の圧縮符号化方式それぞれに対応するデコード機能を有している。すなわち、サブオーディオデコーダ３２は、複数種の圧縮符号化方式の内の任意の一つを用いて圧縮符号化されたサブオーディオデータをデコードしてデジタルオーディオ信号を生成する。サブオーディオデータに対応する圧縮符号化方式の種類は、例えば、ＣＰＵ１１からのデコード制御情報によってサブオーディオデコーダ３２に通知される。
【００４０】
オーディオミキサ（Audio Mix）３３は、メインオーディオデコーダ３１によってデコードされたメインオーディオデータとサブオーディオデコーダ３２によってデコードされたサブオーディオデータとをミックスするミキシング処理を実行してデジタルオーディオ出力信号を生成する。このデジタルオーディオ出力信号はＡＶインタフェース（ＨＤＭＩ−ＴＸ）４１に送出されるとともに、アナログオーディオ出力信号に変換された後に外部に出力される。
【００４１】
次に、図２を参照して、ＣＰＵ１１によって実行されるプレーヤアプリケーション１５０の機能構成を説明する。
【００４２】
プレーヤアプリケーション１５０は、デマルチプレクス（Ｄｅｍｕｘ）モジュール、デコード制御モジュール、サブピクチャ（Sub-Picture）デコードモジュール、サブビデオ（Sub-Video）デコードモジュール、グラフィクスデコードモジュール等を備えている。
【００４３】
Ｄｅｍｕｘモジュールは、ＨＤ  ＤＶＤドライブ１８から読み出されたストリームから、メインビデオデータ、メインオーディオデータ、サブピクチャデータ、サブビデオデータ、サブオーディオデータを分離するデマルチプレクス処理を実行するソフトウェアである。デコード制御モジュールは、ナビゲーションデータに基づいて、メインビデオデータ、メインオーディオデータ、サブピクチャデータ、サブビデオデータ、サブオーディオデータ、グラフィクスデータそれぞれのデコード処理を制御するソフトウェアである。
【００４４】
サブピクチャ（Sub-Picture）デコードモジュールは、サブピクチャデータをデコードする。サブビデオ（Sub-Video）デコードモジュールは、サブビデオデータをデコードする。グラフィクスデコードモジュールは、グラフィクスデータ（Advanced Elements）をデコードする。
【００４５】
グラフィクスドライバは、ＧＰＵ１２０を制御するためのソフトウェアである。デコードされたサブピクチャデータ、デコードされたサブビデオデータ、およびデコードされたグラフィクスデータは、グラフィクスドライバを介してＧＰＵ１２０に送られる。また、グラフィクスドライバは、ＧＰＵ１２０に対して各種描画命令を発行する。
【００４６】
ＰＣＩストリーム転送ドライバは、ＰＣＩバス２１を介してストリームを転送するためのソフトウェアである。メインビデオデータ、メインオーディオデータ、およびサブオーディオデータは、ＰＣＩストリーム転送ドライバによって、ＰＣＩバス２１を介してビデオデコーダ２５、メインオーディオデコーダ３１、およびサブオーディオデコーダ３２にそれぞれ転送される。
【００４７】
次に、図３を参照して、ＣＰＵ１１によって実行されるプレーヤアプリケーション１５０によって実現されるソフトウェアデコーダの機能構成を説明する。
【００４８】
ソフトウェアデコーダは、図示のように、データ読み取り部１０１、暗号化解除処理部１０２、デマルチプレクス（Ｄｅｍｕｘ）部１０３、サブピクチャデコーダ１０４、サブビデオデコーダ１０５、グラフィクスデコーダ１０６、およびナビゲーション制御部２０１等を備えている。
【００４９】
ＨＤ  ＤＶＤドライブ１８のＨＤ  ＤＶＤメディアに格納されたコンテント（メインビデオデータ、サブビデオデータ、サブピクチャデータ、メインオーディオデータ、サブオーディオデータ、グラフィクスデータ、ナビゲーションデータ）は、データ読み取り部１０１によってＨＤ  ＤＶＤドライブ１８から読み出される。メインビデオデータ、サブビデオデータ、サブピクチャデータ、メインオーディオデータ、サブオーディオデータ、グラフィクスデータ、ナビゲーションデータはそれぞれ暗号化されている。メインビデオデータ、サブビデオデータ、サブピクチャデータ、メインオーディオデータ、サブオーディオデータは、ＨＤ  ＤＶＤストリームに多重化されている。データ読み取り部１０１によってＨＤ  ＤＶＤメディアから読み出されたメインビデオデータ、サブビデオデータ、サブピクチャデータ、メインオーディオデータ、サブオーディオデータ、グラフィクスデータ、ナビゲーションデータはそれぞれコンテント暗号化解除処理部１０２に入力される。暗号化解除処理部１０２は各データの暗号化を解除するための処理を実行する。暗号化が解除されたナビゲーションデータはナビゲーション制御部２０１に送られる。また、暗号化が解除されたＨＤ  ＤＶＤストリームはデマルチプレクス（Ｄｅｍｕｘ）部１０３に送られる。
【００５０】
ナビゲーション制御部２０１はナビゲーションデータに含まれるスクリプト（ＸＭＬ）を解析して、グラフィクスデータ（Advanced Elements）の再生を制御する。グラフィクスデータ（Advanced Elements）はグラフィクスデコーダ１０６に送られる。グラフィクスデコーダ１０６はプレーヤアプリケーション１５０のグラフィクスデコードモジュールから構成されており、グラフィクスデータ（Advanced Elements）をデコードする。
【００５１】
また、ナビゲーション制御部２０１は、ユーザによるマウスデバイス１７１の操作に応じてカーソルを移動する処理、およびメニュー選択に応答して効果音を再生するため処理等も実行する。前述のドローウィング機能によるイメージの描画は、ユーザによるマウスデバイス１７１の操作をナビゲーション制御部２０１が取得し、その軌跡、つまりカーソルの軌跡からなる絵のグラフィックスデータをＧＰＵ１２０に生成させた後、グラフィクスデコーダ１０６でデコードされるナビゲーションデータによるグラフィックスデータと同等のグラフィクスデータとしてＧＰＵ１２０に再投入することで実現される。
【００５２】
このＤｅｍｕｘ１０３は、プレーヤアプリケーション１５０のＤｅｍｕｘモジュールによって実現されている。Ｄｅｍｕｘ１０３は、ＨＤ  ＤＶＤストリームからメインビデオデータ、メインオーディオデータ、サブオーディオデータ、サブピクチャデータ、サブビデオデータ等を分離する。
【００５３】
メインビデオデータは、ＰＣＩバス２１を介してビデオデコーダ２５に送られる。メインビデオデータはビデオデコーダ２５によってデコードされる。デコードされたメインビデオデータはＨＤ規格の例えば１９２０×１０８０ピクセルの解像度を有し、デジタルＹＵＶビデオ信号としてブレンド処理部３０に送られる。
【００５４】
メインオーディオデータは、ＰＣＩバス２１を介してメインオーディオデコーダ３１に送られる。メインオーディオデータはメインオーディオデコーダ３１によってデコードされる。デコードされたメインオーディオデータは、Ｉ２Ｓ形式のデジタルオーディオ信号としてオーディオミキサ３３に送られる。
【００５５】
サブオーディオデータは、ＰＣＩバス２１を介してサブオーディオデコーダ３２に送られる。サブオーディオデータはサブオーディオデコーダ３２によってデコードされる。デコードされたサブオーディオデータは、Ｉ２Ｓ形式のデジタルオーディオ信号としてオーディオミキサ３３に送られる。
【００５６】
サブピクチャデータおよびサブビデオデータは、それぞれサブピクチャデコーダ１０４およびサブビデオデコーダ１０５にそれぞれ送られる。これらサブピクチャデコーダ１０４およびサブビデオデコーダ１０５は、サブピクチャデータおよびサブビデオデータをそれぞれデコードする。これらサブピクチャデコーダ１０４およびサブビデオデコーダ１０５は、それぞれプレーヤアプリケーション１５０のサブピクチャデコードモジュールおよびサブビデオデコードモジュールによって実現されている。
【００５７】
サブピクチャデコーダ１０４、サブビデオデコーダ１０５、およびグラフィクスデコーダ１０６によってそれぞれデコードされたサブピクチャデータ、サブビデオデータ、およびグラフィクスデータは、ＣＰＵ１１によってＶＲＡＭ１３１に書き込まれる。また、ＶＲＡＭ１３１にはカーソルイメージに対応するカーソルデータもＣＰＵ１１によって書き込まれる。サブピクチャデータ、サブビデオデータ、グラフィクスデータ、およびカーソルデータの各々は、ピクセル毎にＲＧＢデータとアルファデータ（Ａ）とを含む。
【００５８】
ＧＰＵ１２０は、ＣＰＵ１１によってＶＲＡＭ１３１に書き込まれた、サブビデオデータ、グラフィクスデータ、サブピクチャデータ、およびカーソルデータから、例えば１９２０×１０８０ピクセルのグラフィクス画面イメージを形成するグラフィクス出力データを生成する。この場合、サブビデオデータ、グラフィクスデータ、サブピクチャデータ、およびカーソルデータは、ＧＰＵ１２０のミキサ（ＭＩＸ）部１２１によって実行されるアルファブレンディング処理によってピクセル毎に重ね合わされる。
【００５９】
このアルファブレンド処理においては、ＶＲＡＭ１３１に書き込まれた、サブビデオデータ、グラフィクスデータ、サブピクチャデータ、およびカーソルデータそれぞれに対応するアルファデータが用いられる。すなわち、ＶＲＡＭ１３１に書き込まれたサブビデオデータ、グラフィクスデータ、サブピクチャデータ、およびカーソルデータの各々は、画像データとアルファデータとから構成されている。ミキサ（ＭＩＸ）部１２１は、サブビデオデータ、グラフィクスデータ、サブピクチャデータ、およびカーソルデータそれぞれに対応するアルファデータと、ＣＰＵ１１によって指定される、それらサブビデオデータ、グラフィクスデータ、サブピクチャデータ、およびカーソルデータそれぞれの位置情報とに基づいてブレンド処理を実行することにより、例えば１９２０×１０８０ピクセルの背景画像上にサブビデオデータ、グラフィクスデータ、サブピクチャデータ、およびカーソルデータが重ね合わされたグラフィクス画面イメージを生成する。
【００６０】
背景画像の各ピクセルに対応するアルファ値は、当該ピクセルが透明であることを示す値つまり０である。グラフィクス画面イメージの内、画像データ同士が重ね合わされた領域については、その領域に対応する新たなアルファデータがミキサ（ＭＩＸ）部１２１によって算出される。
【００６１】
このようにして、ＧＰＵ１２０は、サブビデオデータ、グラフィクスデータ、サブピクチャデータ、およびカーソルデータから、１９２０×１０８０ピクセルのグラフィクス画面イメージを形成するグラフィクス出力データ（ＲＧＢ）およびそのグラフィクスデータに対応するアルファデータを生成する。なお、サブビデオデータ、グラフィクスデータ、サブピクチャデータ、およびカーソルデータのいずれか一つの画像のみが表示されるシーンについては、１９２０×１０８０ピクセルの背景画像上に当該画像（例えば７２０×４８０）のみが配置されたグラフィクス画面イメージに対応するグラフィクスデータおよびそのグラフィクスデータに対応するアルファデータが生成される。
【００６２】
ＧＰＵ１２０によって生成されたグラフィクスデータ（ＲＧＢ）およびアルファデータは、グラフィクスバス２０を介してＲＧＢＡデータとしてブレンド処理部３０に送られる。
【００６３】
次に、図４を参照して、ブレンド処理部３０によって実行されるブレンド処理（アルファブレンディング処理）を説明する。
【００６４】
アルファブレンディング処理は、グラフィクスデータ（ＲＧＢ）に付随するアルファデータ（Ａ）に基づいて、グラフィクスデータとメインビデオデータとをピクセル単位で重ね合せるブレンド処理である。この場合、グラフィクスデータ（ＲＧＢ）はオーバーサーフェースとして用いられ、ビデオデータ上に重ね合される。ＧＰＵ１２０から出力されるグラフィクスデータの解像度は、ビデオデコーダ２５から出力されるメインビデオデータの解像度と同一である。
【００６５】
いま、１９２０×１０８０ピクセルの解像度を持つメインビデオデータ（Video）が画像データＣとしてブレンド処理部３０に入力され、１９２０×１０８０ピクセルの解像度を持つグラフィクスデータが画像データＧとしてブレンド処理部３０に入力された場合を想定する。ブレンド処理部３０は、１９２０×１０８０ピクセルの解像度を持つアルファデータ（Ａ）に基づき、画像データＣ上に画像データＧをピクセル単位で重ね合わせるための演算を実行する。この演算は、以下の式（１）によって実行される。
【００６６】
Ｖ＝α×Ｇ＋（１−α）Ｃ                        …（１）
ここで、Ｖはアルファブレンディング処理によって得られる出力画像データの各ピクセルの色、αはグラフィクスデータＧの各ピクセルに対応するアルファ値である。
【００６７】
次に、図５を参照して、ＧＰＵ１２０のＭＩＸ部１２１によって実行されるブレンド処理（アルファブレンディング処理）を説明する。
【００６８】
ここでは、ＶＲＡＭ１３１に書き込まれたSub-PictureデータおよびSub-Videoデータから１９２０×１０８０ピクセルの解像度を持つグラフィクスデータを生成する場合を想定する。Sub-PictureデータおよびSub-Videoデータの各々は、例えば７２０×４８０ピクセルの解像度を持つ。この場合、Sub-PictureデータおよびSub-Videoデータの各々には、例えば７２０×４８０ピクセルの解像度のアルファデータも付随する。
【００６９】
例えば、Sub-Pictureデータに対応するイメージはオーバーサーフェースとして使用され、Sub-Videoデータに対応するイメージはアンダーフェースとして使用される。
【００７０】
Sub-Pictureデータに対応するイメージとSub-Videoデータに対応するイメージとが重なった領域の各ピクセルの色は、以下の式（２）によって求められる。
【００７１】
Ｇ＝Ｇｏ×αｏ＋Ｇｕ（１−αｏ）αｕ            …（２）
ここで、Ｇは重なった領域の各ピクセルの色、Ｇｏはオーバーサーフェースとして使用されるSub-Pictureデータの各ピクセルの色、αｏはオーバーサーフェースとして使用されるSub-Pictureデータの各ピクセルのアルファ値、Ｇｕはアンダーフェースとして使用されるSub-Videoデータの各ピクセルの色である。
【００７２】
また、Sub-Pictureデータに対応するイメージとSub-Videoデータに対応するイメージとが重なった領域の各ピクセルのアルファ値は、以下の式（３）によって求められる。
【００７３】
α＝αｏ＋αｕ×（１−αｏ）                    …（３）
ここで、αは重なった領域の各ピクセルのアルファ値、αｕはアンダーサーフェースとして使用されるSub-Videoデータの各ピクセルのアルファ値である。
【００７４】
このように、ＧＰＵ１２０のＭＩＸ部１２１は、Sub-Pictureデータに対応するアルファデータおよびSub-Videoデータに対応するアルファデータの内、オーバーサーフェースとして使用される方のアルファデータを用いて、Sub-PictureデータとSub-Videoデータとを重ね合わせ、これにより１９２０×１０８０ピクセルの画面イメージを形成するグラフィクスデータを生成する。さらに、ＧＰＵ１２０のＭＩＸ部１２１は、Sub-Pictureデータに対応するアルファデータとSub-Videoデータに対応するアルファデータとから、１９２０×１０８０ピクセルの画面イメージを形成するグラフィクスデータの各ピクセルのアルファ値を算出する。
【００７５】
具体的には、ＧＰＵ１２０のＭＩＸ部１２１は、１９２０×１０８０ピクセルのサーフェース（全ピクセルの色＝黒、全ピクセルのアルファ値＝０）と、７２０×４８０ピクセルのSub-Videoデータのサーフェースと、７２０×４８０ピクセルのSub-Pictureデータのサーフェースとを重ね合わせるブレンド処理を実行することにより、１９２０×１０８０ピクセルの画面イメージを形成するグラフィクスデータと１９２０×１０８０ピクセルのアルファデータとを算出する。１９２０×１０８０ピクセルのサーフェースが最も下側のサーフェースとして使用され、Sub-Videoデータのサーフェースが２番目に下側のサーフェースとして使用され、Sub-Pictureデータのサーフェースが最も上側のサーフェースとして使用される。
【００７６】
１９２０×１０８０ピクセルの画面イメージの内、Sub-PictureデータおよびSub-Videoデータのどちらも存在しない領域の各ピクセルの色は黒となる。また、Sub-Pictureデータのみが存在する領域内の各ピクセルの色は、Sub-Pictureデータの対応する各ピクセルの本来の色と同じとなる。同様に、Sub-Videoデータのみが存在する領域内の各ピクセルの色は、Sub-Videoデータの対応する各ピクセルの本来の色と同じとなる。
【００７７】
また１９２０×１０８０ピクセルの画面イメージの内、Sub-PictureデータおよびSub-Videoデータのどらも存在しない領域の各ピクセルに対応するアルファ値は零となる。Sub-Pictureデータのみが存在する領域内の各ピクセルのアルファ値は、Sub-Pictureデータの対応する各ピクセルの本来のアルファ値と同じとなる。同様に、Sub-Videoデータのみが存在する領域内の各ピクセルのアルファ値は、Sub-Videoデータの対応する各ピクセルの本来のアルファ値と同じとなる。
【００７８】
図６には、１９２０×１０８０ピクセルのメインビデオデータ上に７２０×４８０ピクセルのサブビデオデータが重ねて表示される様子が示されている。
【００７９】
図６においては、グラフィクスデータは、１９２０×１０８０ピクセルのサーフェース（全ピクセルの色＝黒、全ピクセルのアルファ値＝０）と、７２０×４８０ピクセルのSub-Videoデータのサーフェースとをピクセル毎に重ね合わせるブレンド処理によって生成される。
【００８０】
前述したように、表示装置に出力される出力画像データ（Video＋Graphics）は、グラフィクスデータとメインビデオデータとをブレンドすることによって生成される。
【００８１】
１９２０×１０８０ピクセルのグラフィクスデータの内、７２０×４８０ピクセルのサブビデオデータが存在しない領域の各ピクセルのアルファ値は零である。このため、７２０×４８０ピクセルのサブビデオデータが存在しない領域は透明となるので、その領域にはメインビデオデータが１００パーセントの不透明度で表示される。
【００８２】
７２０×４８０ピクセルのサブビデオデータの各ピクセルは、サブビデオデータに対応するアルファデータで指定される透明度でメインビデオデータ上に表示される。例えば、アルファ値＝１のサブビデオデータのピクセルは１００パーセントの不透明度で表示され、当該ピクセル位置に対応するメインビデオデータのピクセルは表示されない。
【００８３】
また、図７に示すように、７２０×４８０ピクセルの解像度に縮小されたメインビデオデータを、１９２０×１０８０ピクセルの解像度に拡大されたサブビデオデータ上の一部の領域に表示することもできる。
【００８４】
図７の表示形態は、ＧＰＵ１２０が有するスケーリング機能およびビデオデコーダ２５が有するスケーリング機能を用いて実現される。
【００８５】
具体的には、ＧＰＵ１２０は、ＣＰＵ１１からの指示に従って、サブビデオデータの解像度（画像サイズ）が１９２０×１０８０ピクセルになるまでサブビデオデータの解像度を段階的に拡大するスケーリング処理を実行する。このスケーリング処理は、ピクセル補間を用いて実行される。サブビデオデータの解像度が大きくなるに従い、１９２０×１０８０ピクセルのグラフィクスデータの内、７２０×４８０ピクセルのサブビデオデータが存在しない領域（アルファ値＝０の領域）は徐々に小さくなる。これにより、メインビデオデータ上に重ねて表示されるサブビデオデータのサイズは徐々に大きくなり、逆にアルファ値＝０の領域は徐々小さくなる。サブビデオデータの解像度（画像サイズ）が１９２０×１０８０ピクセルになった場合、ＧＰＵ１２０は、例えば、７２０×４８０ピクセルのサーフェース（全ピクセルの色＝黒、全ピクセルのアルファ値＝０）を１９２０×１０８０ピクセルのサブビデオデータ上にピクセル毎に重ね合わせるブレンド処理を実行して、１９２０×１０８０ピクセルのサブビデオデータ上にアルファ値＝０の７２０×４８０ピクセルの領域を配置する。
【００８６】
一方、ビデオデコーダ２５は、ＣＰＵ１１からの指示に従って、メインビデオデータの解像度を７２０×４８０ピクセルに縮小するスケーリング処理を実行する。
【００８７】
７２０×４８０ピクセルに縮小されたメインビデオデータは、１９２０×１０８０ピクセルのサブビデオデータ上に配置された、７２０×４８０ピクセルのアルファ値＝０の領域に表示される。すなわち、ＧＰＵ１２０から出力されるアルファデータは、メインビデオデータが表示される領域を制限するためのマスクとしても使用することができる。
【００８８】
このように、ＧＰＵ１２０から出力されるアルファデータはソフトウェアによって自由に制御することができるので、グラフィクスデータを効果的にメインビデオデータ上に重ねて表示することができ、これによりインタラクティブ性の高い映像表現を容易に実現することができる。さらに、アルファデータはグラフィクスデータと一緒にＧＰＵ１２０からブレンド処理部３０に自動的に転送されるので、ソフトウェアは、ブレンド処理部３０へのアルファデータの転送を意識する必要はない。
【００８９】
図８は、本ＨＤ  ＤＶＤプレーヤによって再生されるＨＤ規格のＡＶコンテンツ中の複数の画像データそれぞれが、前述のように動作するＧＰＵ１２０とブレンド処理部３０とによってどのような手順で重ね合わされるのかを示す概念図である。
【００９０】
ＨＤ規格では、レイヤ１〜レイヤ５の５つのレイヤが定義されており、各レイヤに前述のカーソル、グラフィクス、サブピクチャ、サブビデオ、メインビデオがそれぞれ割り当てられている。そして、本ＨＤＤ  ＤＶＤプレーヤでは、図８に示すように、このレイヤ１〜レイヤ５のうち、レイヤ１〜レイヤ４の４つの画像ａ１〜画像ａ４の重ね合わせを前段処理としてＧＰＵ１２０のミキサ部１２１で実行し、このＧＰＵ１２０の出力画像とレイヤ５の画像ａ５との重ね合わせを後段処理としてブレンド処理部３０で実行することにより、目的の画像ａ６を作成している。
【００９１】
このように、ＨＤ規格で定義されるレイヤ１〜レイヤ５の５つの画像データの重ね合わせを２段階に分離させることで、本ＨＤ  ＤＶＤプレーヤは、第１に、適切な負荷分散を図っている。また、レイヤ５のメインビデオは高精細映像であり、３０フレーム／秒の各フレームについて更新を欠かせない。そのために、このメインビデオを扱うブレンド処理部３０での重ね合わせは３０回／秒必要となる。これに対して、レイヤ１〜レイヤ４のカーソル、グラフィクス、サブピクチャ、サブビデオは、メインビデオ程の高い画質は要求されていないので、ＧＰＵ１２０のミキサ部１２１での重ね合わせは例えば１０回／秒で良い。仮に、このレイヤ１〜レイヤ４のカーソル、グラフィクス、サブピクチャ、サブビデオの重ね合わせをレイヤ５のメインビデオとともにブレンド処理部３０で実行したならば、レイヤ１〜レイヤ４の各レイヤについても３０回／秒、つまり２０回／秒も必要以上に重ね合わせを実行することになる。つまり、本ＨＤ  ＤＶＤプレーヤは、第２に、適切な効率化を図っている。
【００９２】
レイヤ１〜レイヤ４のカーソル、グラフィクス、サブピクチャ、サブビデオは、プレーヤアプリケーション１５０からＧＰＵ１２０に供給されるが、このＧＰＵ１２０への各画像データの供給のために、プレーヤアプリケーション１５０は、図８に示すように、前述のサブピクチャデコーダ１０４、サブビデオデコーダ１０５、グラフィクスデコーダ（エレメントデコーダ）１０６のほか、カーソルドローウィングマネージャ１０７およびサーフェースマネジメント／タイミングコントローラ１０８を有している。
【００９３】
カーソルドローウィングマネージャ１０７は、ナビゲーション制御部２０１の一機能として実現され、ユーザによるマウスデバイス１７１の操作に応じてカーソルを移動させるためのカーソル描画制御を実行する。一方、サーフェースマネジメント／タイミングコントローラ１０８は、サブピクチャデコーダ１０４によってデコードされたサブピクチャデータの画像を適時に表示させるためのタイミング制御を実行する。
【００９４】
なお、図中のCursor Controlは、マウスデバイス１７１の操作に応じてＵＳＢコントローラ１７が発行するカーソル移動用の制御データである。ECMA Scriptは、点、線、図形等の描画を指示するdrawingAPIが記述されたスクリプトである。iHD Markupは、様々なAdvanced Elementを適時に表示させるためにマークアップ言語で記述されたテキストデータである。
【００９５】
また、ＧＰＵ１２０は、前述のミキサ部１２１のほか、スケーリング処理部１２２、ルーマキー処理部１２３および３Ｄグラフィクスエンジン１２４を有している。
【００９６】
スケーリング処理部１２２は、図７の説明で触れたスケーリング処理を実行する。ルーマキー処理部１２３は、輝度値がしきい値以下のピクセルのアルファ値を０にすることによって画像中の背景（黒）を取り除くルーマキー処理を実行する。３Ｄグラフィクスエンジン１２４は、前述のドローウィング機能のための（カーソルの軌跡からなる絵の）イメージ生成を含むグラフィクスデータの生成処理を実行する。
【００９７】
本ＨＤ  ＤＶＤプレーヤでは、図８に示すように、レイヤ２〜レイヤ４の画像ａ２〜画像ａ４についてスケーリング処理を行い、レイヤ４の画像ａ４についてはさらにルーマキー処理を行っている。そして、本ＨＤ  ＤＶＤプレーヤでは、このスケーリング処理やルーマキー処理をそれぞれ単独でＧＰＵ１２０に実行させるのではなく、（ミキサ部１２１による）ブレンド処理を実行させる際、このブレンド処理と並行して実行させる。プレーヤアプリケーション１５０の立場から言えば、このスケーリング処理やルーマキー処理をブレンド処理と同時に依頼する。仮に、このスケーリング処理やルーマキー処理をそれぞれ単独でＧＰＵ１２０に実行させたならば、スケーリング処理後の画像やルーマキー処理後の画像を一時的に格納する中間バッファが必要となり、また、この中間バッファとＧＰＵ１２０との間のデータ転送が必要となる。これに対して、ＧＰＵ１２０内において、スケーリング処理部１２２の出力が随時にルーマキー処理部１２３に入力され、さらにルーマキー処理部１２３の出力が随時にミキサ部１２１に入力されていくといった、スケーリング処理部１２２、ルーマキー処理部１２３およびミキサ部１２１を協働させたいわゆるパイプライン処理を行う本ＨＤ  ＤＶＤプレーヤでは、中間バッファが不要であり、中間バッファとＧＰＵ１２０との間のデータ転送も生じさせない。つまり、本ＨＤ  ＤＶＤプレーヤは、この点でも、適切な効率化を図っている。
【００９８】
なお、図８に示すPixelバッファマネージャ１５３は、３Ｄグラフィクスエンジン１２４を使ったマウス操作による絵の描画やエレメントデコーダ１０６による操作ガイダンス等のオブジェクトの描画のための作業領域として使用されるPixelバッファの割り当て管理を実行するミドルウェアである。ハードウェアであるPixelバッファをソフトウェアで使用するために用意されるドライバによる割り当て管理をより最適化するために、Pixelバッファマネージャ１５３は、このドライバとPixelバッファを用いる上位システムとの間に介在して設けられる。
【００９９】
以上のように、本ＨＤ  ＤＶＤプレーヤにおいては、ＨＤ規格で定義されるレイヤ１〜レイヤ５の５つの画像データの重ね合わせを２段階に分離させることで、適切な負荷分散および効率化を図っており、また、スケーリング処理やルーマキー処理をブレンド処理と並行して実行することで、さらなる効率化を図っている。
【０１００】
ところで、ここでは、レイヤ１〜レイヤ５のうち、レイヤ１〜レイヤ４の画像ａ１〜画像ａ４の重ね合わせを前段、レイヤ５の画像ａ５の重ね合わせを後段として分離する例を説明したが、例えばレイヤ４の画像ａ４、つまりサブビデオの分離先を前段と後段との間で動的に切り換え可能とすることも有効である。図９は、このサブビデオの重ね合わせをＧＰＵ１２０のミキサ部１２１またはブレンド処理部３０のいずれかで選択的に実行させるための一構成例を示す図である。
【０１０１】
例えば、サブビデオにもメインビデオと同等の高い画質を要求し、３０フレーム／秒の各フレームについて更新させたい場合に、図９（Ａ）の状態から図９（Ｂ）の状態への切り換えを実施する等が考えられる。そのトリガは、ナビゲーションデータに含まれるスクリプトとして与えることが可能である。
【０１０２】
また、図９（Ｂ）の状態を基本として、本ＨＤ  ＤＶＤプレーヤが予め定められた基準値を越える高負荷状態となった場合に、図９（Ａ）の状態への切り換えを実施する等も考えられる。プレーヤアプリケーション１５０は、ＯＳ１５１から負荷状態を取得することができるので、そのトリガを得ることは容易である。
【０１０３】
さらに、ここでは、前段の重ね合わせをソフトウェアであるＧＰＵ１２０、後段の重ね合わせをハードウェアであるブレンド処理部３０で行う例を説明したが、本発明の本質はソフトウェア処理とハードウェア処理との分離にはないので、例えば前段および後段の両方をソフトウェア処理で行う場合にも当然に適用できる。
【０１０４】
このように、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１０５】
１１…ＣＰＵ、１８…ＨＤ  ＤＶＤドライブ、３０…ブレンド処理部、１０１…データ読取り部、１０２…暗号化解除処理部、１０３…デマルチプレクス部、１０４…サブピクチャデコーダ、１０５…サブビデオデコーダ、１０６…グラフィクスデコーダ、１２０…ＧＰＵ、１２１…ミキサ部、１２２…スケーリング処理部、１２３…ルーマキー処理部、１５０…プレーヤアプリケーション、２０１…ナビゲーション制御部。
【図１】
2011041294.tif 000003
【図２】
2011041294.tif 000004
【図３】
2011041294.tif 000005
【図４】
2011041294.tif 000006
【図５】
2011041294.tif 000007
【図６】
2011041294.tif 000008
【図７】
2011041294.tif 000009
【図８】
2011041294.tif 000010
【図９】
2011041294.tif 000011