(57)【要約】【課題】元の映像の品質をほぼ維持したまま再生できるようにする。【解決手段】Ｓ／Ｗデコーダ６１は、プログレッシブ方式の映像データの中の偶数ラインのデータと奇数ラインのデータとを複数のバッファに交互に記憶させる制御を行うと共にデータ送出の停止および再開の制御を行うことにより、プルダウンされた映像データを生成する。フィールド組立処理部６３は、生成された映像データに基づき、グラフィクスデータを記憶することが可能なフレームバッファ６４の画像サイズに適合する解像度のグラフィクスデータのフィールド組立処理を行う。【選択図】      図１３
2007258874.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バッファを用いる上位システムとの間に介在して設けられる。
【０１００】
以上のように、本ＨＤ  ＤＶＤプレーヤにおいては、ＨＤ規格で定義されるレイヤ１〜レイヤ５の５つの画像データの重ね合わせを２段階に分離させることで、適切な負荷分散および効率化を図っており、また、スケーリング処理やルーマキー処理をブレンド処理と並行して実行することで、さらなる効率化を図っている。
【０１０１】
以下では、上述した各種の画像データのうち、サブビデオデータに関して説明する。
【０１０２】
図９は、ＧＰＵ１２０の機能を用いて民生機並みの映像品質の再生を実現する制御に関わる構成部分を示すブロック図である。
【０１０３】
グラフィクスマネージャ５０は、ＧＰＵ１２０を通じて、カーソル、グラフィクス、サブピクチャ、サブビデオといった各レイヤの画像データに対してブレンド処理を含むグラフィクス処理を行ってグラフィクス画面イメージを形成するための制御を行うものである。
【０１０４】
サブビデオデコーダ５１は、図８中のデコーダ１０５に相当するものであり、供給されてくるサブビデオデータに対してデコード処理を行う。ビデオポストプロセシングマネージャ５２は、サブビデオデコーダ５１とグラフィクスマネージャ５０との間に設けられ、デコード処理されたサブビデオデータに対して必要な後処理を行ってから出力する。フィールドコンポーザ５３は、ビデオポストプロセシングマネージャ５２の中に設けられ、グラフィクスマネージャ５０を通じて後述するフレームバッファへ供給すべきサブビデオデータに関するフィールド組立処理などを行うものである。以下では、このフィールドコンポーザ５３により実現される処理について詳述する。
【０１０５】
図１０は、フレームバッファを用いたダブルバッファ方式を説明するための図である。
【０１０６】
ダブルバッファを構成するフレームバッファ（Ａ）およびフレームバッファ（Ｂ）は、ＧＰＵ１２０により生成されるグラフィクスデータを交互に記憶して出力するものであり、グラフィクスマネージャ５０により制御される。グラフィクスマネージャ５０は、例えば、サブビデオデータのフレームバッファ（Ａ）へのデータ書込みを止めてフレームバッファ（Ｂ）への書込みを実行する第１の状態と、サブビデオデータのフレームバッファ（Ｂ）へのデータ書込みを止めてフレームバッファ（Ａ）への書込みを実行する第２の状態とを、例えば１／３０秒毎に切り替える。
【０１０７】
図１１は、１つのフレームバッファに記憶されるデータの構成を説明するための図である。
【０１０８】
フレームバッファは、１９２０×１０８０ピクセルの画像サイズを有し、インタレース方式の映像再生に適合するグラフィクスデータとプログレッシブ方式の映像再生に適合するグラフィクスデータのいずれの記憶にも使用可能である。インタレース方式に対応させるためには、図１１に示される偶数ラインのデータをインタレース方式用のトップフィールドのデータとして図１２のようにまとめて書き込むと共に、図１１に示される奇数ラインのデータをインタレース方式用のボトムフィールドのデータとして図１２のようにまとめて書き込む必要がある。図１２のようなデータ書き込みにより、インタレース方式に基づくグラフィクス画面イメージを形成することが可能となる。この場合、トップフィールドのデータは１／６０秒で読み出され、ボトムフィールドのデータも１／６０秒で読み出される。これにより、１／３０秒で１フレーム分の画像が生成されることになる。
【０１０９】
図１３は、フィールドコンポーザ５３により実現される処理を説明するための図である。
【０１１０】
Ｓ／Ｗデコーダ６１は、ソフトウェアで実現されるデコーダであり、例えば、供給されてくる２４フレーム／秒のプログレッシブ方式の映像データの中の偶数ラインのデータと奇数ラインのデータとを複数のバッファに交互に記憶させる制御を行うと共にデータ送出の停止および再開の制御を行うことにより、プルダウンされた３０フレーム／秒の映像データを生成する。
【０１１１】
バッファａ，ｂ，ｃ，ｄは、Ｓ／Ｗデコーダ６１により制御され、プルダウンされた映像データを生成するために使用される。なお、バッファｄは必ずしも必要とされるものではない。
【０１１２】
スケーリング処理部６２は、フィールド組立処理部６３によるフィールド組立処理の前段処理として、Ｓ／Ｗデコーダ６１の制御により複数のバッファから生成された映像データの解像度を拡大するスケーリング処理（例えば、７２０×４８０ピクセルから１９２０×１０８０ピクセルへ拡大する処理）を行う。
【０１１３】
フィールド組立処理部６３は、スケーリング処理部６２によりスケーリング処理された映像データに基づき、フレームバッファ６４の画像サイズに適合する解像度のグラフィクスデータのフィールド組立処理を行う。すなわち、このフィールド組立処理部６３は、インタレース方式の映像再生に適合するグラフィクスデータを形成する。
【０１１４】
フレームバッファ６４は、フィールド組立処理部６３により形成されたグラフィクスデータを記憶する。このグラフィクスデータは、図１２に示されるようなデータ構成を有しており、インタレース方式の映像再生を行うのに適する。
【０１１５】
図１４は、図１３中に示されるスケーリング処理部６２の内部構成の一例を示す図である。
【０１１６】
スケーリング処理部６２は、トップデータスケーリング処理部７１およびボトムデータスケーリング処理部７２を有する。トップデータスケーリング処理部７１は、トップフィールド用のデータを入力してスケーリング処理を行い、スケーリング処理後のデータを次段のボトムデータスケーリング処理部７２へ送り出す。ボトムデータスケーリング処理部７２は、ボトムフィールド用のデータを入力してスケーリング処理を行い、このスケーリング処理後のデータと、前段から送られてくるスケーリング処理後のトップフィールド用のデータとを合わせ、これをサブビデオプレーンとして出力する。
【０１１７】
図１５は、図１３中に示されるＳ／Ｗデコーダ６１がバッファａ，ｂ，ｃを制御する手順を説明するための図である。
【０１１８】
Ｓ／Ｗデコーダ６１は、１フレーム目の生成において、バッファａおよびバッファｂの各データがフレームバッファ側へ送られるように制御する。２フレーム目の生成においても同様に、バッファａおよびバッファｂの各データがフレームバッファ側へ送られるように制御する。３フレーム目の生成においては、バッファｃおよびバッファｂの各データがフレームバッファ側へ送られるように制御する。４フレーム目の生成においても同様に、バッファｃおよびバッファｂの各データがフレームバッファ側へ送られるように制御する。Ｓ／Ｗデコーダ６１は、４フレーム目の処理が終わった時点で動作を一旦停止させた後、５フレーム目の生成において、バッファａおよびバッファｂの各データがフレームバッファ側へ送られるように制御する。以降、同じ手順が繰り返されることになる。
【０１１９】
図１６は、図１５に示される制御によりプログレッシブ画像がインタレース画像にプルダウン変換される様子を示す図である。
【０１２０】
例えば、１／２４秒毎にプログレッシブ画像Ａ，Ｂ，Ｃ，Ｄが順次送られてくるものとする。この場合、これら４枚のフレームに基づき、１／３０秒毎に５枚のインタレース画像が生成される。
【０１２１】
１フレーム目のインタレース画像は、画像Ａのトップフィールドのデータと画像Ａのボトムフィールドのデータとを合わせた画像となる。２フレーム目のインタレース画像は、画像Ｂのトップフィールドのデータと画像Ｂのボトムフィールドのデータとを合わせた画像となる。３フレーム目のインタレース画像は、画像Ｂのトップフィールドのデータと画像Ｃのボトムフィールドのデータとを合わせた画像となる。４フレーム目のインタレース画像は、画像Ｃのトップフィールドのデータと画像Ｄのボトムフィールドのデータとを合わせた画像となる。１フレーム目のインタレース画像は、画像Ｄのトップフィールドのデータと画像Ｄのボトムフィールドのデータとを合わせた画像となる。
【０１２２】
図１７は、スケーリング処理における具体的な手法の一例を示す図である。
【０１２３】
９２０×１０８０ピクセルのデータと７２０×４８０ピクセルのデータとの間のスケーリング処理を行う場合、例えば図１７に示されるようなデータ割り当てを行う。すなわち、トップフィールドのデータとボトムデータとに基づいて１つのフィールドを形成する変換処理と、このような変換処理を行わない処理とを適宜組み合わせて全体の画像を形成することにより、所望のスケーリング処理を実現することができる。
【０１２４】
以上のように本実施形態によれば、ＰＣなどの情報処理装置においても、ＧＰＵなどの機能を用いて民生機並みの映像品質の映像をインタレース方式で再生することが可能となる。
【０１２５】
本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１２６】
【図１】本発明の一実施形態に係る再生装置の構成を示すブロック図。
【図２】図１の再生装置で用いられるプレーヤアプリケーションの構成を示す図。
【図３】図２のプレーヤアプリケーションによって実現されるソフトウェアデコーダの機能構成を説明するための図。
【図４】図１の再生装置に設けられたブレンド処理部によって実行されるブレンド処理を説明するための図。
【図５】図１の再生装置に設けられたＧＰＵによって実行されるブレンド処理を説明するための図。
【図６】図１の再生装置においてメインビデオデータ上にサブビデオデータが重ねて表示される様子を示す図。
【図７】図１の再生装置においてサブビデオデータ上の一部の領域にメインビデオデータが表示される様子を示す図。
【図８】図１の再生装置においてＨＤ規格のＡＶコンテンツ中の複数の画像データそれぞれがどのような手順で重ね合わされるのかを示す概念図。
【図９】ＧＰＵの機能を用いて民生機並みの映像品質の再生を実現する制御に関わる構成部分を示すブロック図。
【図１０】フレームバッファを用いたダブルバッファ方式を説明するための図。
【図１１】１つのフレームバッファに記憶されるデータの構成を説明するための図。
【図１２】図１１に示されるデータをインタレース方式用のデータとして書き込む方法を説明するための図。
【図１３】フィールドコンポーザにより実現される処理を説明するための図。
【図１４】図１３中に示されるスケーリング処理部の内部構成の一例を示す図。
【図１５】図１３中に示されるＳ／Ｗデコーダがバッファを制御する手順を説明するための図。
【図１６】図１５に示される制御によりプログレッシブ画像がインタレース画像にプルダウン変換される様子を示す図。
【図１７】スケーリング処理における具体的な手法の一例を示す図。
【符号の説明】
【０１２７】
１１…ＣＰＵ、１８…ＨＤ  ＤＶＤドライブ、３０…ブレンド処理部、５０…グラフィクスマネージャ、５１…サブビデオデコーダ、５２…ビデオポストプロセシングマネージャ、５３…フィールドコンポーザ、６１…Ｓ／Ｗデコーダ、６２…スケーリング処理部、６３…フィールド組立処理部、６４…フレームバッファ、１０１…データ読取り部、１０２…暗号化解除処理部、１０３…デマルチプレクス部、１０４…サブピクチャデコーダ、１０５…サブビデオデコーダ、１０６…グラフィクスデコーダ、１２０…ＧＰＵ、１２１…ミキサ部、１２２…スケーリング処理部、１２３…ルーマキー処理部、１５０…プレーヤアプリケーション、２０１…ナビゲーション制御部。
【図１】
2007258874.tif 000003
【図２】
2007258874.tif 000004
【図３】
2007258874.tif 000005
【図４】
2007258874.tif 000006
【図５】
2007258874.tif 000007
【図６】
2007258874.tif 000008
【図７】
2007258874.tif 000009
【図８】
2007258874.tif 000010
【図９】
2007258874.tif 000011
【図１０】
2007258874.tif 000012
【図１１】
2007258874.tif 000013
【図１２】
2007258874.tif 000014
【図１３】
2007258874.tif 000015
【図１４】
2007258874.tif 000016
【図１５】
2007258874.tif 000017
【図１６】
2007258874.tif 000018
【図１７】
2007258874.tif 000019