説明

再生装置

【課題】ビデオデータの画質を低下させることなく、ビデオデータとグラフィクスデータとを重ね合わせることが可能な再生装置を実現する。
【解決手段】GPU120は、RGB色空間のグラフィクスデータを生成し、当該グラフィクスデータを出力する。ビデオデコーダ25は、YUB色空間のビデオデータを生成し、当該ビデオデータを出力する。RGB色空間のグラフィクスデータはブレンド処理部30内でYUV色空間のデータに変換される。ブレンド処理部30は、YUV色空間に変換されたグラフィクスデータとYUV色空間のビデオデータとを重ね合わせるブレンド処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、HD−DVD(High Definition Digital Versatile Disc)プレーヤのような再生装置に関する。
【背景技術】
【0002】
近年、動画像のデジタル圧縮符号化技術の進展に伴い、HD(High Definition)規格の高精細映像を扱うことが可能な再生装置(プレーヤ)の開発が進められている。
【0003】
このようなプレーヤにおいては、インタラクティブ性を高めるために、ビデオデータとグラフィクスデータとを高次元で融合させるための機能が要求されている。画像データ同士を重ね合わせる技術としては、アルファブレンディング技術が知られている。このアルファブレンディング技術は、画像の各ピクセルの透明度を示すアルファデータを用いて、当該画像を別の画像上に重ね合わせるブレンド技術である。
【0004】
特許文献1には、グラフィクスデータとビデオデータとをディスプレイコントローラによって合成するシステムが開示されている。このシステムにおいては、ディスプレイコントローラは、ビデオデータをキャプチャし、そのキャプチャしたビデオデータをグラフィクス画面上の一部のエリア上に合成する。
【特許文献1】特開平8−205092号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1のシステムは、比較的低解像度のビデオデータを扱うことを前提としており、HD規格のビデオデータのような高精細画像を扱うことについては考慮されていない。HD規格のビデオデータは単位時間当たりに処理すべきデータ量が膨大であるため、HD規格のビデオデータをディスプレイコントローラによってキャプチャすることは実際上困難である。
【0006】
したがって、ディスプレイコントローラ内ではなく、ビデオデコーダなどから出力されるビデオデータとディスプレイコントローラから出力されるグラフィクスデータとを外部のブレンド回路で重ね合わせるシステムアーキテクチャを実現することが必要となる。
【0007】
また、通常、アルファブレンディング処理はRGB色空間上で行われるのが一般的である。このため、YUV色空間のビデオデータとRGB色空間のグラフィクスデータとをブレンドする場合には、ビデオデータはRGBデータに一旦色変換された後にグラフィクスデータとブレンドされることになる。この場合、色変換演算時の丸め誤差により色歪みが発生していまい、HD規格のビデオデータの画質がブレンド処理によって低下されてしまう場合がある。
【0008】
本発明は上述の事情を考慮してなされたものであり、ビデオデータの画質を低下させることなく、ビデオデータとグラフィクスデータとを重ね合わせることが可能な再生装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述の課題を解決するため、本発明の再生装置は、RGB色空間のグラフィクスデータを出力するグラフィクスデータ出力部と、YUV色空間のビデオデータを出力するビデオデータ出力部と、前記グラフィクスデータの色空間を前記RGB色空間から前記YUV色空間に変換する手段と、前記YUV色空間に変換された前記グラフィクスデータと前記YUV色空間のビデオデータとを前記YUV色空間上で重ね合わせるブレンド処理を実行するブレンド処理部と、前記ブレンド処理によって得られる画像データを表示装置に出力する手段とを具備することを特徴とする。
【発明の効果】
【0010】
本発明によれば、ビデオデータの画質を低下させることなく、ビデオデータとグラフィクスデータとを重ね合わせることが可能となる。
【発明を実施するための最良の形態】
【0011】
以下、図面を参照して本発明の実施形態を説明する。
【0012】
図1には、本発明の一実施形態の係る再生装置の構成例が示されている。この再生装置はオーディオ・ビデオ(AV)コンテンツを再生するメディアプレーヤである。この再生装置は、例えば、HD−DVD(High Definition Digital Versatile Disc)規格のDVDメディアに格納されたオーディオ・ビデオ(AV)コンテンツを再生するHD−DVDプレーヤとして実現されている。
【0013】
このHD−DVDプレーヤは、図1に示されているように、CPU(Central Processing Unit)11、ノースブリッジ12、主メモリ13、サウスブリッジ14、不揮発性メモリ15、オーディオコーデック16、USB(Universal Serial Bus)コントローラ17、HD−DVDドライブ18、オーディオバス19、グラフィクスバス20、PCI(Peripheral Component Interconnect)バス21、ビデオコントローラ22、オーディオコントローラ23、オーディオデコーダ24、ビデオデコーダ25、ブレンド処理部30、オーディオミキサ(Audio Mix)31,32、ビデオエンコーダ40、およびHDMI(High Definition Multimedia Interface)のようなAVインタフェース(HDMI−TX)41等から構成されている。
【0014】
本HD−DVDプレーヤにおいては、プレーヤアプリケーション150と、オペレーティングシステム(OS)151とが予め不揮発性メモリ15にインストールされている。プレーヤアプリケーション150はOS151上で動作するソフトウェアであり、HD−DVDドライブ18から読み出されるAVコンテンツを再生するための制御を行う。
【0015】
HD−DVDドライブ18によって駆動されるHD−DVDメディアに蓄積されたAVコンテンツは、H.264またはMPEG2方式で圧縮符号化されたストリームのような動画像ストリーム(HD−DVDストリーム)から構成されている。このHD−DVDストリームには、圧縮符号化されたメインビデオデータ、圧縮符号化されたメインオーディオデータ、アルファデータを含む圧縮符号化されたグラフィクスデータ、圧縮符号化されたサブオーディオデータとが多重化されている。
【0016】
圧縮符号化されたメインビデオデータは、主映像(主画面イメージ)として用いられる動画像データをH.264/AVC規格の符号化方式で符号化したデータである。メインビデオデータはHD規格の高精細画像から構成されている。また、SD(Standard Definition)規格のメインビデオデータを使用することもできる。圧縮符号化されたグラフィクスデータは、メインビデオ上に重ね合わされた状態で表示される副映像(副画面イメージ)である。グラフィクスデータは、メインビデオを補足する動画像から構成されるサブビデオデータと、字幕等のテキスト/静止画を含むサブピクチャデータと、メニューオブジェクトのような操作ガイダンスを表示するためのナビゲーションデータ(Advanced Navigation)とから構成されている。ナビゲーションデータは、静止画/動画(アニメーションを含む)/テキストから構成されている。ナビゲーションデータは、メニューオブジェクトのようなオブジェクト画像の動きを記述したスクリプトを含んでいる。このスクリプトはCPU11によって解釈および実行される。これにより、インタラクティブ性の高いメニューオブジェクトをメインビデオ上に表示することができる。
【0017】
これらサブビデオデータ、サブピクチャデータ、およびナビゲーションデータもそれぞれ圧縮符号化されている。
【0018】
HD規格のメインビデオは例えば1920×1080ピクセルまたは1280×720ピクセルの解像度を持つ。また、サブビデオデータ、サブピクチャデータ、およびナビゲーションデータの各々は、例えば720×480ピクセルの解像度を持つ。
【0019】
本HD−DVDプレーヤにおいては、HD−DVDドライブ18から読み出されるHD−DVDストリームからメインビデオデータ、メインオーディオデータ、グラフィクスデータ、サブオーディオデータを分離する分離処理と、グラフィクスデータおよびサブオーディオデータをデコードするデコード処理はソフトウェア(プレーヤアプリケーション150)によって実行され、多くの処理量を必要とするメインビデオデータおよびメインオーディオデータをデコードするデコード処理は専用のハードウェアによって実行される。
【0020】
CPU11は、本HD−DVDプレーヤの動作を制御するために設けられたプロセッサであり、不揮発性メモリ15から主メモリ13にロードされる、OS151およびプレーヤアプリケーション150を実行する。主メモリ13内の記憶領域の一部は、ビデオメモリ(VRAM)131として使用される。なお、主メモリ13内の記憶領域の一部をVRAM131として使用する必要はなく、主メモリ13とは独立したメモリデバイスとしてVRAM131を設けてもよい。
【0021】
ノースブリッジ12は、CPU11のローカルバスとサウスブリッジ14との間を接続するブリッジデバイスである。このノースブリッジ12には、主メモリ13をアクセス制御するメモリコントローラが内蔵されている。さらに、このノースブリッジ12には、GPU(Graphics Processing Unit)120も内蔵されている。
【0022】
GPU120は、主メモリ13の一部の記憶領域に割り当てられたビデオメモリ(VRAM)131にCPU11によって書き込まれたデータから、グラフィクス画面イメージを形成するグラフィクスデータ(またはグラフィクス画像データと云う)を生成するグラフィクスコントローラである。GPU120は、ビットブロック転送(bit block transfer)のようなグラフィクス演算機能を用いて、グラフィクスデータを生成する。例えば、CPU11によってVRAM131上の3つのプレーンにそれぞれ画像データ(サブビデオ、サブピクチャ、ナビゲーション)が書き込まれた場合、GPU120は、それら3つのプレーンに対応する画像データ同士をピクセル毎に重ね合わせるブレンド処理をビットブロック転送を用いて実行し、これによってメインビデオと同じ解像度(例えば1920×1080ピクセル)を有するグラフィクス画面イメージを形成するためのグラフィクスデータを生成する。ブレンド処理は、サブビデオ、サブピクチャ、ナビゲーションの画像データそれぞれに対応するアルファデータを用いて実行される。アルファデータは、それに対応する画像データの各ピクセルの透明度(または不透過度)を示す係数である。サブビデオ、サブピクチャ、ナビゲーションそれぞれに対応するアルファデータは、それらサブビデオ、サブピクチャ、ナビゲーションの画像データと一緒にストリームに多重化されている。すなわち、ストリームに含まれるサブビデオ、サブピクチャ、ナビゲーションの各々は、画像データとアルファデータとから構成される。
【0023】
GPU120によって生成されたグラフィクスデータはRGB色空間を有している。グラフィクスデータの各ピクセルはデジタルRGBデータ(24bit)によって表現される。
【0024】
GPU120は、グラフィクス画面イメージを形成するグラフィクスデータを生成するだけでなく、その生成したグラフィクスデータに対応するアルファデータを外部に出力する機能も有している。
【0025】
具体的には、GPU120は、生成したグラフィクスデータをデジタルRGBビデオ信号として外部に出力すると共に、その生成したグラフィクスデータに対応するアルファデータも外部に出力する。アルファデータは、生成されたグラフィクスデータ(RGB)の各ピクセルの透明度(または不透明度)を示す係数(8bit)である。GPU120は、グラフィクスデータ(24bitのデジタルRGBビデオ信号)およびアルファデータ(8bit)から構成されるアルファデータ付きのグラフィクスデータ(32bitのRGBAデータ)を、ピクセル毎に出力する。アルファデータ付きのグラフィクスデータ(32bitのRGBAデータ)は専用のグラフィクスバス20を介してピクセル毎に同期してブレンド処理部30に送られる。グラフィクスバス20は、GPU120とブレンド処理部30との間に接続された伝送線路である。
【0026】
このように、本HD−DVDプレーヤにおいては、アルファデータ付きのグラフィクスデータがグラフィクスバス20を介してGPU120からブレンド処理部30に直接的に転送される。これにより、PCIバス21等を介してアルファデータをVRAM131からブレンド処理部30を転送する必要が無くなり、アルファデータの転送によるPCIバス21のトラフィックの増大を防止することができる。
【0027】
もしPCIバス21等を介してアルファデータをVRAM131からブレンド処理部30に転送したならば、GPU120から出力されるグラフィクスデータとPCIバス21経由で転送されるアルファデータとをブレンド処理部30内で同期化しなければならず、そのためにブレンド処理部30の構成が複雑化される。本HD−DVDプレーヤにおいては、GPU120はグラフィクスデータとアルファデータとをピクセル毎に同期して出力する。このため、グラフィクスデータとアルファデータとの同期化を容易に実現することができる。
【0028】
サウスブリッジ14は、PCIバス21上の各デバイスを制御する。また、サウスブリッジ14は、HD−DVDドライブ18を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。さらに、サウスブリッジ14は、不揮発性メモリ15、USBコントローラ17、およびオーディオコーデック16をアクセスする機能を有している。
【0029】
HD−DVDドライブ18は、HD−DVD規格に対応するオーディオ・ビデオ(AV)コンテンツが格納されたHD−DVDメディアのような蓄積メディアを駆動するためのドライブユニットである。
【0030】
オーディオコーデック16は、ソフトウェアによってデコードされたサブオーディオデータをI2S(Inter-IC Sound)形式のデジタルオーディオ信号に変換する。このオーディオコーデック16は、オーディオバス19を介してオーディオミキサ(Audio Mix)31および32にそれぞれ接続されている。オーディオバス19は、オーディオコーデック16とオーディオミキサ(Audio Mix)31および32の各々との間に接続された伝送線路である。このオーディオバス19により、オーディオコーデック16からのデジタルオーディオ信号は、PCIバス21を介さずにオーディオミキサ(Audio Mix)31および32にそれぞれ転送される。
【0031】
ビデオコントローラ22は、PCIバス21に接続されている。このビデオコントローラ22は、ビデオデコーダ25とのインターフェースを実行するためのLSIである。ソフトウェアによってHD−DVDストリームから分離されたメインビデオデータのストリーム(Video Stream)は、PCIバス21およびビデオコントローラ22を介して、ビデオデコーダ25に送られる。また、CPU11から出力されるデコード制御情報(Control)も、PCIバス21およびビデオコントローラ22を介して、ビデオデコーダ25に送られる。
【0032】
ビデオデコーダ25は、H.264/AVC規格に対応するデコーダであり、HD規格のメインビデオデータをデコードして例えば1920×1080ピクセルの解像度のビデオ画面イメージを形成するデジタルYUVビデオ信号を生成する。このデジタルYUVビデオ信号はブレンド処理部30に送られる。
【0033】
オーディオコントローラ23は、PCIバス21に接続されている。オーディオコントローラ23は、オーディオデコーダ24とのインターフェースを実行するためのLSIである。ソフトウェアによってHD−DVDストリームから分離されたメインオーディオデータのストリーム(Audio Stream)は、PCIバス21およびオーディオコントローラ23を介して、オーディオデコーダ24に送られる。
【0034】
オーディオデコーダ24は、メインオーディオデータをデコードしてI2S(Inter-IC Sound)形式のデジタルオーディオ信号を生成する。このデジタルオーディオ信号は、オーディオコントローラ23を介してオーディオミキサー(Audio Mix)31および32にそれぞれ送られる。
【0035】
ブレンド処理部30は、GPU120およびビデオデコーダ25にそれぞれ結合されており、GPU120から出力されるグラフィクスデータとビデオデコーダ25によってデコードされたメインビデオデータとを重ね合わせるためのブレンド処理を実行する。このブレンド処理においては、GPU120からグラフィクスデータ(RGB)と一緒に出力されるアルファデータに基づいて、グラフィクスデータを構成するデジタルRGBビデオ信号とメインビデオデータを構成するデジタルYUVビデオ信号とをピクセル単位で重ね合わせるためのブレンド処理(アルファブレンディング処理)が実行される。この場合、メインビデオデータは下側の画面イメージとして用いられ、グラフィクスデータはメインビデオデータ上に重ねられる上側の画面イメージとして用いられる。
【0036】
ブレンド処理によって得られる出力画像データは例えばデジタルYUVビデオ信号としてビデオエンコーダ40およびAVインタフェース(HDMI−TX)41にそれぞれ供給される。ビデオエンコーダ40は、ブレンド処理によって得られる出力画像データ(デジタルYUVビデオ信号)をコンポーネントビデオ信号またはS−ビデオ信号に変換して、TV受像機のような外部の表示装置(モニタ)に出力する。AVインタフェース(HDMI−TX)41は、デジタルYUVビデオ信号とデジタルオーディオ信号とを含むデジタル信号群を外部のHDMI機器に出力する。
【0037】
オーディオミキサ(Audio Mix)31は、オーディオコーデック16によってデコードされたサブオーディオデータとオーディオデコーダ24によってデコードされたメインオーディオデータとを合成(ミキシング)し、そのミキシング結果をステレオオーディオ信号として出力する。オーディオミキサ(Audio Mix)32は、オーディオコーデック16によってデコードされたサブオーディオデータとオーディオデコーダ24によってデコードされたメインオーディオデータとを合成(ミキシング)し、そのミキシング結果を5.1チャンネルのオーディオ信号として出力する。
【0038】
次に、図2を参照して、CPU11によって実行されるプレーヤアプリケーション150の構成を説明する。
【0039】
プレーヤアプリケーション150は、デマルチプレクス(Demux)モジュール、デコード制御モジュール、サブピクチャ(Sub-Picture)デコードモジュール、サブビデオ(Sub-Video)デコードモジュール、ナビゲーション(Navigation)デコードモジュール、サブオーディオ(Sub-Audio)デコードモジュール、グラフィクスドライバ、オーディオドライバ、およびPCIストリーム転送ドライバを備えている。
【0040】
Demuxモジュールは、HD−DVDドライブ18から読み出されたストリームから、メインビデオデータ、メインオーディオデータ、グラフィクスデータ(サブピクチャデータ、サブビデオデータ、ナビゲーションデータ)、サブオーディオデータを分離するデマルチプレクス処理を実行するソフトウェアである。デコード制御モジュールは、メインビデオデータ、メインオーディオデータ、グラフィクスデータ(サブピクチャデータ、サブビデオデータ、ナビゲーションデータ)、およびサブオーディオデータそれぞれのデコード処理を制御するソフトウェアである。デコード処理の制御は、HD−DVDストリームに多重化されたている再生制御情報等にしたがって実行される。この再生制御情報は、メインビデオデータおよびグラフィクスデータ(サブピクチャデータ、サブビデオデータ、ナビゲーションデータ)の再生手順を制御する情報である。
【0041】
サブピクチャ(Sub-Picture)デコードモジュールは、サブピクチャデータをデコードする。サブビデオ(Sub-Video)デコードモジュールは、サブビデオデータをデコードする。ナビゲーション(Navigation)デコードモジュールは、ナビゲーションデータをデコードする。サブオーディオ(Sub-Audio)デコードモジュールは、サブオーディオデータをデコードする。
【0042】
グラフィクスドライバは、GPU120を制御するためのソフトウェアである。デコードされたサブピクチャデータ、デコードされたサブビデオデータ、およびデコードされたナビゲーションは、グラフィクスドライバを介してGPU120に送られる。また、グラフィクスドライバは、GPU120に対して各種描画命令を発行する。
【0043】
オーディオドライバは、オーディオコーデック16を制御するためのソフトウェアである。デコードされたサブオーディオデータは、グラフィクスドライバを介してオーディオコーデック16に送られる。
【0044】
PCIストリーム転送ドライバは、PCIバス21を介してストリームを転送するためのソフトウェアである。メインビデオデータおよびメインオーディオデータは、PCIストリーム転送ドライバによって、PCIバス21を介してビデオデコーダ25およびオーディオデコーダ24にそれぞれ転送される。
【0045】
次に、図3を参照して、CPU11によって実行されるプレーヤアプリケーション150によって実現されるソフトウェアデコーダの機能構成を説明する。
【0046】
ソフトウェアデコーダは、図示のように、ストリーム読み取り部101、暗号化解除処理部102、デマルチプレクス(Demux)部103、Sub-Pictureデコーダ104、Sub-Videoデコーダ105、Advanced Navigationデコーダ106、およびSub-Audioデコーダ107等を備えている。
【0047】
HD−DVDドライブ18のHD−DVDメディアに格納されたストリーム(HD−DVDストリーム)は、ストリーム読み取り部101によってHD−DVDドライブ18から読み出される。HD−DVDストリームはCSS(Content Scrambling System)などによって暗号化されている。ストリーム読み取り部101によってHD−DVDメディアから読み出されたHD−DVDストリームは、暗号化解除処理部102に入力される。暗号化解除処理部102は、HD−DVDストリームの暗号化を解除するための処理を実行する。暗号化が解除されたHD−DVDストリームは、デマルチプレクス(Demux)部103に入力される。このDemux103は、プレーヤアプリケーション150のDemuxモジュールによって実現されている。Demux103は、HD−DVDストリームからメインビデオデータ(MAIN VIDEO)、メインオーディオデータ(MAIN AUDIO)、グラフィクスデータ(Sub-Picture、Sub-Video、およびAdvanced Navigation)、およびサブオーディオデータ(Sub-Audio)を分離する。
【0048】
メインビデオデータ(MAIN VIDEO)は、PCIバス21を介してビデオデコーダ25に送られる。メインビデオデータ(MAIN VIDEO)はビデオデコーダ25によってデコードされる。デコードされたメインビデオデータはHD規格の1920×1080ピクセルの解像度を有し、デジタルYUVビデオ信号としてブレンド処理部30に送られる。メインオーディオデータ(MAIN AUDIO)は、PCIバス21を介してオーディオデコーダ24に送られる。メインオーディオデータ(MAIN AUDIO)はオーディオデコーダ24によってデコードされる。デコードされたメインオーディオデータ(MAIN AUDIO)は、I2S形式のデジタルオーディオ信号としてオーディオミキサ31に送られる。
【0049】
Sub-Pictureデータ、Sub-Videoデータ、およびAdvanced Navigationデータは、それぞれSub-Pictureデコーダ104、Sub-Videoデコーダ105、およびAdvanced Navigationデコーダ106にそれぞれ送られる。これらSub-Pictureデコーダ104、Sub-Videoデコーダ105、およびAdvanced Navigationデコーダ106は、それぞれプレーヤアプリケーション150のサブピクチャ(Sub-Picture)デコードモジュール、サブビデオ(Sub-Video)デコードモジュール、およびナビゲーション(Navigation)デコードモジュールによって実現されている。これらSub-Pictureデコーダ104、Sub-Videoデコーダ105、およびAdvanced Navigationデコーダ106によってそれぞれデコードされたSub-Pictureデータ、Sub-Videoデータ、およびAdvanced Navigationデータは、VRAM131に書き込まれる。VRAM131に書き込まれたSub-Pictureデータ、Sub-Videoデータ、およびAdvanced Navigationデータの各々は、ピクセル毎にRGBデータとアルファデータ(A)とを含む。
【0050】
Sub-Audioデータは、Sub-Audioデコーダ107に送られる。Sub-Audioデコーダ107は、プレーヤアプリケーション150のサブオーディオ(Sub-Audio)デコードモジュールから実現されている。Sub-AudioデータはSub-Audioデコーダ107によってデコードされる。デコードされたSub-Audioデータはオーディオコーデック16によってI2S形式のデジタルオーディオ信号に変換された後、オーディオミキサ31に送られる。
【0051】
GPU120は、Sub-Pictureデコーダ104、Sub-Videoデコーダ105、およびAdvanced Navigationデコーダ106それぞれのデコード結果から、つまり、CPU11によってVRAM131に書き込まれた、Sub-Pictureデータ、Sub-Videoデータ、およびAdvanced Navigationデータそれぞれに対応する画像データから、1920×1080ピクセルのグラフィクス画面イメージを形成するグラフィクスデータを生成する。この場合、Sub-Pictureデータ、Sub-Videoデータ、およびAdvanced Navigationデータそれぞれに対応する3つの画像データは、GPU120のミキサ(MIX)部121によって実行されるアルファブレンディング処理によってピクセル毎に重ね合わされる。
【0052】
このアルファブレンド処理においては、VRAM131に書き込まれた3つの画像データそれぞれに対応するアルファデータが用いられる。すなわち、VRAM131に書き込まれた3つの画像データの各々は、RGBデータとアルファデータとから構成されている。ミキサ(MIX)部121は、3つの画像データそれぞれのアルファデータとCPU11から通知される3つの画像データそれぞれの位置情報とに基づいてブレンド処理を実行することにより、例えば、少なくとも一部が重ね合わされた3つの画像データを含むグラフィクス画面イメージを生成する。画像データ同士が重ね合わされた領域については、その領域に対応する新たなアルファデータがミキサ(MIX)部121によって算出される。1920×1080ピクセルのグラフィクス画面イメージの内、有効な画像データが存在しない領域の各ピクセルの色は黒となる。有効な画像データが存在しない領域の各ピクセルに対応するアルファ値は当該ピクセルが透明であることを示す値(アルファ=0)となる。
【0053】
このようにして、GPU120は、Sub-Pictureデコーダ104、Sub-Videoデコーダ105、およびAdvanced Navigationデコーダ106それぞれのデコード結果から、1920×1080ピクセルのグラフィクス画面イメージを形成するグラフィクスデータ(RGB)およびそのグラフィクスデータに対応するアルファデータを生成する。なお、Sub-Pictureデータ、Sub-Videoデータ、およびAdvanced Navigationデータのいずれか一つの画像のみが表示されるシーンについては、1920×1080ピクセルのサーフェース上に当該画像(例えば720×480)が配置されたグラフィクス画面イメージに対応するグラフィクスデータおよびそのグラフィクスデータに対応するアルファデータが生成される。
【0054】
GPU120によって生成されたグラフィクスデータ(RGB)およびアルファデータは、グラフィクスバス20を介してRGBAデータとしてブレンド処理部30に送られる。
【0055】
次に図4を参照して、ブレンド処理部30によって実行されるブレンド処理(アルファブレンディング処理)を説明する。
【0056】
アルファブレンディング処理は、グラフィクスデータ(RGB)に付随するアルファデータ(A)に基づいて、グラフィクスデータとメインビデオデータとをピクセル単位で重ね合せるブレンド処理である。この場合、グラフィクスデータ(RGB)はオーバーサーフェースとして用いられ、ビデオデータ上に重ね合される。GPU120から出力されるグラフィクスデータの解像度は、ビデオデコーダ25から出力されるメインビデオデータの解像度と同一である。
【0057】
いま、1920×1080ピクセルの解像度を持つメインビデオデータ(Video)が画像データCとしてブレンド処理部30に入力され、1920×1080ピクセルの解像度を持つグラフィクスデータが画像データGとしてブレンド処理部30に入力された場合を想定する。ブレンド処理部30は、1920×1080ピクセルの解像度を持つアルファデータ(A)に基づき、画像データC上に画像データGをピクセル単位で重ね合わせるための演算を実行する。この演算は、以下の式(1)によって実行される。
【0058】
V=α×G+(1−α)C …(1)
ここで、Vはアルファブレンディング処理によって得られる出力画像データの各ピクセルの色、αはグラフィクスデータGの各ピクセルに対応するアルファ値である。
【0059】
次に、図5を参照して、GPU120のMIX部121によって実行されるブレンド処理(アルファブレンディング処理)を説明する。
【0060】
ここでは、VRAM131に書き込まれたSub-PictureデータおよびSub-Videoデータから1920×1080ピクセルの解像度を持つグラフィクスデータを生成する場合を想定する。Sub-PictureデータおよびSub-Videoデータの各々は、例えば720×480ピクセルの解像度を持つ。この場合、Sub-PictureデータおよびSub-Videoデータの各々には、例えば720×480ピクセルの解像度のアルファデータも付随する。
【0061】
例えば、Sub-Pictureデータに対応するイメージはオーバーサーフェースとして使用され、Sub-Videoデータに対応するイメージはアンダーフェースとして使用される。
【0062】
Sub-Pictureデータに対応するイメージとSub-Videoデータに対応するイメージとが重なった領域の各ピクセルの色は、以下の式(2)によって求められる。
【0063】
G=Go×αo+Gu(1−αo) …(2)
ここで、Gは重なった領域の各ピクセルの色、Goはオーバーサーフェースとして使用されるSub-Pictureデータの各ピクセルの色、αoはオーバーサーフェースとして使用されるSub-Pictureデータの各ピクセルのアルファ値、Guはアンダーフェースとして使用されるSub-Videoデータの各ピクセルの色である。
【0064】
また、Sub-Pictureデータに対応するイメージとSub-Videoデータに対応するイメージとが重なった領域の各ピクセルのアルファ値は、以下の式(3)によって求められる。
【0065】
α=αo+αu×(1−αo) …(3)
ここで、αは重なった領域の各ピクセルのアルファ値、αuはアンダーサーフェースとして使用されるSub-Videoデータの各ピクセルのアルファ値である。
【0066】
このように、GPU120のMIX部121は、Sub-Pictureデータに対応するアルファデータおよびSub-Videoデータに対応するアルファデータの内、オーバーサーフェースとして使用される方のアルファデータを用いて、Sub-PictureデータとSub-Videoデータとを重ね合わせ、これにより1920×1080ピクセルの画面イメージを形成するグラフィクスデータを生成する。さらに、GPU120のMIX部121は、Sub-Pictureデータに対応するアルファデータとSub-Videoデータに対応するアルファデータとから、1920×1080ピクセルの画面イメージを形成するグラフィクスデータの各ピクセルのアルファ値を算出する。
【0067】
具体的には、GPU120のMIX部121は、1920×1080ピクセルのサーフェース(全ピクセルの色=黒、全ピクセルのアルファ値=0)と、720×480ピクセルのSub-Videoデータのサーフェースと、720×480ピクセルのSub-Pictureデータのサーフェースとを重ね合わせるブレンド処理を実行することにより、1920×1080ピクセルの画面イメージを形成するグラフィクスデータと1920×1080ピクセルのアルファデータとを算出する。1920×1080ピクセルのサーフェースが最も下側のサーフェースとして使用され、Sub-Videoデータのサーフェースが2番目に下側のサーフェースとして使用され、Sub-Pictureデータのサーフェースが最も上側のサーフェースとして使用される。
【0068】
1920×1080ピクセルの画面イメージの内、Sub-PictureデータおよびSub-Videoデータのどちらも存在しない領域の各ピクセルの色は黒となる。また、Sub-Pictureデータのみが存在する領域内の各ピクセルの色は、Sub-Pictureデータの対応する各ピクセルの本来の色と同じとなる。同様に、Sub-Videoデータのみが存在する領域内の各ピクセルの色は、Sub-Videoデータの対応する各ピクセルの本来の色と同じとなる。
【0069】
また1920×1080ピクセルの画面イメージの内、Sub-PictureデータおよびSub-Videoデータのどらも存在しない領域の各ピクセルに対応するアルファ値は零となる。Sub-Pictureデータのみが存在する領域内の各ピクセルのアルファ値は、Sub-Pictureデータの対応する各ピクセルの本来のアルファ値と同じとなる。同様に、Sub-Videoデータのみが存在する領域内の各ピクセルのアルファ値は、Sub-Videoデータの対応する各ピクセルの本来のアルファ値と同じとなる。
【0070】
図6には、1920×1080ピクセルのメインビデオデータ上に720×480ピクセルのサブビデオデータが重ねて表示される様子が示されている。
【0071】
図6においては、グラフィクスデータは、1920×1080ピクセルのサーフェース(全ピクセルの色=黒、全ピクセルのアルファ値=0)と、720×480ピクセルのSub-Videoデータのサーフェースとをピクセル毎に重ね合わせるブレンド処理によって生成される。
【0072】
上述したように、表示装置に出力される出力画像データ(Video+Graphics)は、グラフィクスデータとメインビデオデータとをブレンドすることによって生成される。
【0073】
1920×1080ピクセルのグラフィクスデータの内、720×480ピクセルのサブビデオデータが存在しない領域の各ピクセルのアルファ値は零である。このため、720×480ピクセルのサブビデオデータが存在しない領域は透明となるので、その領域にはメインビデオデータが100パーセントの不透明度で表示される。
【0074】
720×480ピクセルのサブビデオデータの各ピクセルは、サブビデオデータに対応するアルファデータで指定される透明度でメインビデオデータ上に表示される。例えば、アルファ値=1のサブビデオデータのピクセルは100パーセントの不透明度で表示され、当該ピクセル位置に対応するメインビデオデータのピクセルは表示されない。
【0075】
また、図7に示すように、720×480ピクセルの解像度に縮小されたメインビデオデータを、1920×1080ピクセルの解像度に拡大されたサブビデオデータ上の一部の領域に表示することもできる。
【0076】
図7の表示形態は、GPU120が有するスケーリング機能およびビデオデコーダ25が有するスケーリング機能を用いて実現される。
【0077】
具体的には、GPU120は、CPU11からの指示に従って、サブビデオデータの解像度(画像サイズ)が1920×1080ピクセルになるまでサブビデオデータの解像度を段階的に拡大するスケーリング処理を実行する。このスケーリング処理は、ピクセル補間を用いて実行される。サブビデオデータの解像度が大きくなるに従い、1920×1080ピクセルのグラフィクスデータの内、720×480ピクセルのサブビデオデータが存在しない領域(アルファ値=0の領域)は徐々に小さくなる。これにより、メインビデオデータ上に重ねて表示されるサブビデオデータのサイズは徐々に大きくなり、逆にアルファ値=0の領域は徐々小さくなる。サブビデオデータの解像度(画像サイズ)が1920×1080ピクセルになった場合、GPU120は、例えば、720×480ピクセルのサーフェース(全ピクセルの色=黒、全ピクセルのアルファ値=0)を1920×1080ピクセルのサブビデオデータ上にピクセル毎に重ね合わせるブレンド処理を実行して、1920×1080ピクセルのサブビデオデータ上にアルファ値=0の720×480ピクセルの領域を配置する。
【0078】
一方、ビデオデコーダ25は、CPU11からの指示に従って、メインビデオデータの解像度を720×480ピクセルに縮小するスケーリング処理を実行する。
【0079】
720×480ピクセルに縮小されたメインビデオデータは、1920×1080ピクセルのサブビデオデータ上に配置された、720×480ピクセルのアルファ値=0の領域に表示される。すなわち、GPU120から出力されるアルファデータは、メインビデオデータが表示される領域を制限するためのマスクとしても使用することができる。
【0080】
このように、GPU120から出力されるアルファデータはソフトウェアによって自由に制御することができるので、グラフィクスデータを効果的にメインビデオデータ上に重ねて表示することができ、これによりインタラクティブ性の高い映像表現を容易に実現することができる。さらに、アルファデータはグラフィクスデータと一緒にGPU120からブレンド処理部30に自動的に転送されるので、ソフトウェアは、ブレンド処理部30へのアルファデータの転送を意識する必要はない。
【0081】
次に、図8を参照して、メインビデオデータおよびグラフィクスデータそれぞれがブレンド処理部30に転送される動作を説明する。
【0082】
メインビデオデータは、デジタルYUVビデオ信号としてビデオデコーダ25からブレンド処理部30に転送される。HD−DVDストリームに含まれるAVコンテンツによっては、HD(High Definition)規格のメインビデオデータではなく、SD(Standard Definition)規格のメインビデオデータを使用するものもある。このため、ビデオデコーダ25は、SDおよびHDの双方に対応できるように構成されている。ビデオデコーダ25から出力されるメインビデオデータの垂直ライン(スキャンライン)数は、480i,480p,1080i,720pのいずれかである。480iはSD規格のインターレース画像の垂直ライン数であり、480pはSD規格のプログレッシブ画像の垂直ライン数である。また、1080iはHD規格のインターレース画像の垂直ライン数であり、720pはHD規格のプログレッシブ画像の垂直ライン数である。
【0083】
GPU120はアルファデータ付きのグラフィクスデータをRGBA形式のデジタルビデオ信号としてグラフィクスバス20上に出力する。アルファデータ付きのグラフィクスデータの画面イメージの解像度はメインビデオデータの画面イメージの解像度と同じである。すなわち、CPU11の制御の下、GPU120は、480i,480p,1080i,720pのいずれかに対応する、アルファデータ付きのグラフィクスデータを出力する。
【0084】
図9は、グラフィクスバス20を介してアルファデータ付きのグラフィクスデータが転送される様子を示している。
【0085】
グラフィクスバス20は32ビット幅を有しており、図9に示されているように、グラフィクスデータ(RGB=24bit)およびアルファデータ(A=8bit)はピクセルクロック信号に同期してグラフィクスバス20を介して転送される。ピクセルクロック信号は、例えばGPU120内に設けられたピクセルクロック発生器(PLL:Phase-Locked Loop)から出力される。R1,G1,B1,A1は第1ピクセルの赤,緑,青,透明度(アルファ)の4つの成分を示し、同様に、R2,G2,B2,A2は第2ピクセルの赤,緑,青,透明度(アルファ)の4つの成分を示している。
【0086】
このようにして、グラフィクスデータ(RGB)およびアルファデータ(A)はピクセル毎に同期した状態でブレンド処理部30に送られる。したがって、グラフィクスデータ(RGB)とアルファデータ(A)との同期化を図る回路をブレンド処理部30に設けることなく、グラフィクスデータ(RGB)とメインビデオデータ(YUV)との重ね合わせを容易に実行することができる。
【0087】
なお、アルファデータ(A)とグラフィクスデータ(RGB)とを必ずしも同一のバスを介して転送する必要はなく、図10に示すように、アルファデータ(A)とグラフィクスデータ(RGB)とを互いに異なる伝送線路を介して転送してもよい。図10においては、アルファデータ(A)は第1のグラフィクスバス20Aを介してGPU120からブレンド処理部30に転送され、グラフィクスデータ(RGB)は第2のグラフィクスバス20Bを介してGPU120からブレンド処理部30に転送される。グラフィクスバス20A,20Bは、それぞれGPU120とブレンド処理部30との間に配設されている。
【0088】
次に、図11を参照して、ブレンド処理部30の第1の構成例を説明する。
【0089】
ブレンド処理部30は、図示のように、同期制御部200、RGBA−to−YUV変換部201、およびアルファ演算部210を備えている。
【0090】
同期制御部200は、GPU120によるアルファデータ付きグラフィクスデータ(RGBA)の転送動作とビデオデコーダ25によるメインビデオデータ(YUV)の転送動作とを画面(フレームまたはフィールド)単位、且つピクセル単位で同期させるための回路である。
【0091】
GPU120はピクセルクロック信号(Pixel Clock)および垂直同期信号(Vsync)に同期して動作し、それらピクセルクロック信号(Pixel Clock)および垂直同期信号(Vsync)に同期してアルファデータ付きグラフィクスデータ(RGBA)を出力する。すなわち、GPU120は各画面の先頭ピクセルに対応するアルファデータ付きグラフィクスデータ(RGBA)を垂直同期信号(Vsync)に同期して出力し始めると共に、ピクセルクロック信号(Pixel Clock)に同期して各画面内のピクセル群それぞれに対応するアルファデータ付きグラフィクスデータ(RGBA)を順次出力する。
【0092】
ピクセルクロック信号は、ピクセルクロック発生器(PLL:Phase-Locked Loop)300から出力される。このピクセルクロック信号は、GPU120およびビデオデコーダ25にそれぞれ供給される。
【0093】
また、垂直同期信号(Vsync)は、GPU120内に設けられたクロック発生器から出力される。このクロック発生器は、ピクセルクロック信号に同期して動作する。またGPU120は、垂直同期信号(Vsync)および水平同期信号(Hsync)を外部に出力する。
【0094】
同期制御部200は、GPU120がマスタとして機能し、且つビデオデコーダ25がGPU120からの垂直同期信号(Vsync)に同期して動作するスレーブとして機能するように、GPU120から出力される垂直同期信号(Vsync)をビデオデコーダ25に供給する。
【0095】
これにより、ビデオデコーダ25は、GPU120とそれぞれ同じピクセルクロック信号および垂直同期信号に同期して動作し、それらピクセルクロック信号および垂直同期信号に同期してビデオデータ(YUV)を出力する。すなわち、ビデオデコーダ25は各画面の先頭ピクセルに対応するビデオデータ(YUV)をGPU120から受信した垂直同期信号(Vsync)に同期して出力し始めると共に、ピクセルクロック信号(Pixel Clock)に同期して各画面内のピクセル群それぞれに対応するビデオデータ(YUV)を順次出力する。
【0096】
このように、GPU120から出力される垂直同期信号をGPU120にフィードバックすることにより、GPU120によるアルファデータ付きグラフィクスデータ(RGBA)の転送動作とビデオデコーダ25によるメインビデオデータ(YUV)の転送動作とを画面(フレームまたはフィールド)単位、且つピクセル単位で同期させることが可能となる。よって、ブレンド処理部30内にバッファ回路などを設けることなく、グラフィクスデータとビデオデータの重ね合わせをピクセル単位で精度よく実行することが可能となる。
【0097】
また、ビデオデータおよびグラフィクスデータがそれぞれインターレース画像である場合においては、同期制御部200は、GPU120から出力される垂直同期信号に同期して、現在出力すべき画面イメージがトップフィールドおよびボトムフィールドのいずれであるかを識別するフィールド識別子(Field ID)を生成し、その生成したフィールド識別子(Field ID)をビデオデコーダ25に供給する。インターレース画像信号は、トップフィールド、ボトムフィールド、トップフィールド、ボトムフィールド、…の順で出力される。このため、同期制御部200は、GPU120から出力される最初の垂直同期信号を受信したとき、トップフィールドを示すフィールド識別子(Field ID=1)を発生する。この後、同期制御部200は、GPU120から垂直同期信号を受信するたびに、ボトムフィールドを示すフィールド識別子(Field ID=0)とトップフィールドを示すフィールド識別子(Field ID=1)とを交互に出力する。これにより、グラフィクスデータとビデオデータと間のフィールドずれの発生をも未然に防止することができる。
【0098】
なお、GPU120からの垂直同期信号を同期制御部200を介さずにビデオデコーダ25に直接入力してもよい。
【0099】
RGBA−to−YUV変換部201は、GPU120から出力されるアルファデータ付きグラフィクスデータ(RGBA)のグラフィクスデータ(RGB)の色空間をRGB色空間からYUV色空間に変換することにより、YUV色空間を有する、アルファデータ付きのグラフィクスデータ(YUVA)を生成する。このアルファデータ付きグラフィクスデータ(YUVA)のアルファデータは、RGBデータに付加されている値がそのまま使用される。生成されたアルファデータ付きグラフィクスデータ(YUVA)はアルファ演算部210に送られる。
【0100】
アルファ演算部210は、アルファデータ付きグラフィクスデータ(YUVA)のアルファデータ(A)に基づいて、グラフィクスデータ(YUV)とビデオデータ(YUV)とをピクセル毎に重ね合わせるための演算(アルファブレンディング演算)をYUV色空間上で実行して、出力画像データ(YUV)を生成する。
【0101】
このように、本実施形態のブレンド処理部30においては、アルファブレンディング演算はRGB色空間上ではなく、YUV色空間上で行われる。これにより、主画面イメージとして使用されるメインビデオデータ(YUV)の色変換は一切行われないので、HD規格のメインビデオデータの本来の画質を損なうことが無くなり、グラフィクスデータが重ね合わされた高画質のビデオ出力を得ることができる。
【0102】
図12には、ブレンド処理部30の第2の構成例が示されている。
【0103】
この図12の構成においては、図11に比し、マスタとスレーブが入れ替えられている。すなわち、同期制御部200は、ビデオデコーダ25がマスタとして機能し、且つGPU120がビデオデコーダ25から出力される垂直同期信号(Vsync)に同期して動作するスレーブとして機能するように、ビデオデコーダ25から出力される垂直同期信号(Vsync)をGPU120に供給する。これにより、GPU120は、ビデオデコーダ25とそれぞれ同じピクセルクロック信号および垂直同期信号に同期して動作し、それらピクセルクロック信号および垂直同期信号に同期してアルファデータ付きのグラフィクスデータ(RGBA)を出力する。
【0104】
なお、ビデオデコーダ25からの垂直同期信号を同期制御部200を介さずにGPU120に直接入力してもよい。
【0105】
図13には、ブレンド処理部30の第3の構成例が示されている。
【0106】
この図13のブレンド処理部30においては、同期制御部200は設けられていない。ブレンド処理部30に同期制御部200を設ける代わりに、ビデオデコーダ25とGPU120とに共通の垂直同期信号発生器400が設けられている。これにより、ビデオデコーダ25およびGPU120の各々は、垂直同期信号発生器400から出力される垂直同期信号およびPLL300から出力されるピクセルクロック信号に同期して動作するので、アルファデータ付きグラフィクスデータ(RGBA)の転送動作とメインビデオデータ(YUV)の転送動作とを画面(フレームまたはフィールド)単位、且つピクセル単位で同期させることが可能となる。
【0107】
図14には、ブレンド処理部30の第4の構成例が示されている。
【0108】
図14のブレンド処理部30においては、図11のブレンド処理部30の構成に加え、YUV−to−RGB変換部205、セレクタ206,207が設けられている。
【0109】
YUV−to−RGB変換部205は、メインビデオデータの色空間をYUV色空間からRGB色空間に変換して、RGB色空間のメインビデオデータを生成する。
【0110】
セレクタ206は、YUV−to−RGB変換部205の入力ポートおよび出力ポートの一方のポートを選択し、その選択したポートをアルファ演算部210に接続する。セレクタ206によってYUV−to−RGB変換部205の出力ポートが選択された場合、RGB色空間のメインビデオデータがアルファ演算部210に供給される。一方、セレクタ206によってYUV−to−RGB変換部205の入力ポートが選択された場合、YUV色空間のメインビデオデータがYUV−to−RGB変換部205をバイパスしてアルファ演算部210に供給される。
【0111】
セレクタ207は、RGB−to−YUV変換部201の入力ポートおよび出力ポートの一方のポートを選択し、その選択したポートをアルファ演算部210に接続する。セレクタ207によってRGB−to−YUV変換部201の出力ポートが選択された場合、アルファデータ付きのYUV色空間のグラフィクスデータ(YUVA)がアルファ演算部210に供給される。一方、セレクタ206によってRGB−to−YUV変換部201の入力ポートが選択された場合、アルファデータ付きのRGB色空間のグラフィクスデータ(RGBA)がRGB−to−YUV変換部201をバイパスしてアルファ演算部210に供給される。
【0112】
セレクタ206,207の選択動作は、スイッチ信号SW1によって共通に制御される。スイッチ信号SW1は、例えば、CPU11によって色変換モード指定情報が書き込まれるサウスブリッジ14内の制御レジスタ等から発生される。色変換モード指定情報は、YUV色空間上でブレンド処理を行うYUVブレンドモードとRGB色空間上でブレンド処理を行うRGBブレンドモードの一方を指定する。
【0113】
YUVブレンドモードにおいては、セレクタ206はYUV−to−RGB変換部205の入力ポートを選択し、セレクタ207はRGB−to−YUV変換部201の出力ポートを選択する。これにより、グラフィクスデータとメインビデオデータはYUV空間上でブレンドされる。
【0114】
RGBブレンドモードにおいては、セレクタ206はYUV−to−RGB変換部205の出力ポートを選択し、セレクタ207はRGB−to−YUV変換部201の入力ポートを選択する。これにより、グラフィクスデータとメインビデオデータはRGB空間上でブレンドされる。
【0115】
YUVブレンドモード/RGBブレンドモードの選択は、HD−DVDストリーム内に多重化された色変換モード制御情報に応じて実行することができる。色変換モード制御情報は、例えばシーン毎に設定される。CPU11は、色変換モード制御情報を解釈して、YUVブレンドモードまたはRGBブレンドモードをブレンド処理部30に指示する。たとえば、通常はYUVブレンドモードが使用され、図7で説明したような表示形態に切り替わるときにRGBブレンドモードに切れ変えられる。このように、YUVブレンドモード/RGBブレンドモードを動的に切り替えることにより、再生対象シーンに適したモードでブレンド処理を行うことができる。
【0116】
なお、YUVブレンドモード/RGBブレンドモードをユーザに指定させるためのGUIまたは操作スイッチを設けることにより、ユーザの操作に応じてYUVブレンドモード/RGBブレンドモードの切り替えが強制的に行われるようにしてもよい。これにより、ユーザの好みに応じた画質の出力画像を得ることができる。
【0117】
RGB色空間からYUV色空間に変換するための演算式、およびYUV色空間上で実行されるアルファブレンディングの演算式は、図15に示す通りである。
【0118】
YUV色空間上でのアルファブレンディングにおいても、RGB色空間のグラフィクスデータに付随するアルファデータ(A)をそのまま使用することができる。
【0119】
図16には、ブレンド処理部30の第5の構成例が示されている。
【0120】
ビデオデコーダ25から出力されるビデオデータは、輝度信号の解像度よりも色差信号の解像度が低い4:2:2フォーマットのYUVデータである。一方、GPU120から出力されるグラフィクスデータはRGBデータである。グラフィクスデータの色空間をRGB色空間からYUV色空間に変換した場合、グラフィクスデータは、輝度信号の解像度と色差信号の解像度が等しい4:4:4フォーマットのYUVデータとなる。
【0121】
グラフィクスデータとビデオデータとがブレンドされた高画質の出力画像を得るために、ブレンド処理部30は、4:2:2−to−4:4:4変換部204を備えている。4:2:2−to−4:4:4変換部204は、YUV4:2:2フォーマットのビデオデータをアップサンプリングして、YUV4:4:4フォーマットのビデオデータを生成する。このYUV4:4:4フォーマットのビデオデータはアルファ演算部210に送られる。
【0122】
アルファ演算部210は、RGBA−to−YUV変換部201から出力されるアルファデータ付きのグラフィクスデータ(YUVA)のアルファデータ(A)に基づいて、グラフィクスデータ(YUV4:4:4)とビデオデータ(YUV4:4:4)とをピクセル毎に重ね合わせるための演算(アルファブレンディング演算)を実行して、YUV4:4:4フォーマットの出力画像データを生成する。
【0123】
このように、ブレンド処理部30においては、ビデオデータはグラフィクスデータの画像フォーマットに合うようにアップサンプリングされた後に、グラフィクスデータとブレンドされる。これにより、高画質の出力画像を得ることができる。
【0124】
図17には、ブレンド処理部30の第6の構成例が示されている。
【0125】
図17のブレンド処理部30においては、図16のブレンド処理部30の構成に加え、4:4:4−to−4:2:2変換部202、セレクタ208,209が設けられている。
【0126】
4:4:4−to−4:2:2変換部202は、RGBA−to−YUV変換部201によってYUV色空間に変換された4:4:4フォーマットのアルファデータ付きグラフィクスデータ(YUVA)をダウンサンプリングして、4:2:2フォーマットのアルファデータ付きグラフィクスデータ(YUVA)を生成する。この場合、アルファデータはダウンサンプリングされず、アルファデータは輝度信号Yと同じ解像度を持つ。
【0127】
セレクタ208は、4:2:2−to−4:4:4変換部204の入力ポートおよび出力ポートの一方のポートを選択し、その選択したポートをアルファ演算部210に接続する。セレクタ208によって4:2:2−to−4:4:4変換部204の出力ポートが選択された場合、YUV4:4:4フォーマットのメインビデオデータがアルファ演算部210に供給される。一方、セレクタ208によって4:2:2−to−4:4:4変換部204の入力ポートが選択された場合、YUV4:2:2フォーマットのメインビデオデータが4:2:2−to−4:4:4変換部204をバイパスしてアルファ演算部210に供給される。
【0128】
セレクタ209は、4:4:4−to−4:2:2変換部202の入力ポートおよび出力ポートの一方のポートを選択し、その選択したポートをアルファ演算部210に接続する。セレクタ209によって4:4:4−to−4:2:2変換部202の出力ポートが選択された場合、YUV4:2:2フォーマットのアルファデータ付きグラフィクスデータがアルファ演算部210に供給される。一方、セレクタ209によって4:4:4−to−4:2:2変換部202の入力ポートが選択された場合、YUV4:4:4フォーマットのアルファデータ付きグラフィクスデータが4:4:4−to−4:2:2変換部202をバイパスしてアルファ演算部210に供給される。
【0129】
セレクタ208,209の選択動作は、スイッチ信号SW2によって共通に制御される。スイッチ信号SW2は、例えば、CPU11によってフォーマットモード指定情報が書き込まれるサウスブリッジ14内の制御レジスタ等から発生される。フォーマットモード指定情報は、YUV4:4:4フォーマットの画像同士をブレンドする4:4:4ブレンドモードと、YUV4:2:2フォーマットの画像同士をブレンドする4:2:2ブレンドモードの一方を指定する。
【0130】
4:4:4ブレンドモードにおいては、セレクタ208は4:2:2−to−4:4:4変換部204の出力ポートを選択し、セレクタ209は4:4:4−to−4:2:2変換部202の入力ポートを選択する。これにより、YUV4:4:4フォーマットのメインビデオデータとYUV4:4:4フォーマットのグラフィクスデータとのブレンドがアルファ演算部210で実行される。
【0131】
4:2:2ブレンドモードにおいては、セレクタ208は4:2:2−to−4:4:4変換部204の入力ポートを選択し、セレクタ209は4:4:4−to−4:2:2変換部202の出力ポートを選択する。これにより、YUV4:2:2フォーマットのメインビデオデータとYUV4:2:2フォーマットのグラフィクスデータとのブレンドがアルファ演算部210で実行される。
【0132】
4:4:4ブレンドモード/4:2:2ブレンドモードの切り替えは、ユーザによるGUIまたは操作スイッチの操作に応じて強制的に行うことができる。YUV4:2:2フォーマットのビデオ信号は、多くのAV機器でサポートされており、汎用性が高い。一方、YUV4:2:2フォーマットのビデオ信号はYUV4:2:2フォーマットよりも高画質であるものの、サポートするAV機器の種類は限定される。よって、4:4:4ブレンドモード/4:2:2ブレンドモードの切り替え機能を設けることにより、汎用性と画質を双方の要求を満たすことが可能となる。また、4:4:4ブレンドモード/4:2:2ブレンドモードの切り替え機能は、YUVブレンドモード/RGBブレンドモードの切り替え機能と組み合わせて使用することもできる。この場合、YUVブレンドモードが選択された場合のみ、4:4:4ブレンドモードと4:2:2ブレンドモードとの間の切り替えが可能となる。
【0133】
なお、図16,図17の構成においても、図11乃至図13で説明した同期化のための回路を適用することができる。
【0134】
図18には、ブレンド処理部30の第7の構成例が示されている。
【0135】
図18のブレンド処理部30は、図11で説明した同期制御部200およびRGB−to−YUV変換部201と図16で説明した4:2:2−to−4:4:4変換部204に加え、4:4:4−to−4:2:2変換部211を備えている。
【0136】
GPU120からのアルファデータ付きのグラフィクスデータ(RGBA)はRGBA−to−YUV変換部201に送られる。RGBA−to−YUV変換部201は、グラフィクスデータ(RGB)の色空間をRGB色空間からYUV色空間に変換することにより、アルファデータ付きのYUV4:4:4フォーマットのグラフィクスデータ(YUVA)を生成する。アルファデータは、RGBデータに付加されている値がそのまま使用される。生成されたグラフィクスデータ(YUVA)はアルファ演算部210に送られる。
【0137】
ビデオデコーダ25からのYUV4:2:2フォーマットのビデオデータは4:2:2−to−4:4:4変換部202に送られる。4:2:2−to−4:4:4変換部202は、YUV4:2:2フォーマットのビデオデータをアップサンプリングして、YUV4:4:4フォーマットのビデオデータを生成する。このYUV4:4:4フォーマットのビデオデータはアルファ演算部210に送られる。
【0138】
アルファ演算部210は、アルファデータ付きのグラフィクスデータ(YUVA)のアルファデータ(A)に基づいて、グラフィクスデータ(YUV4:4:4)とビデオデータ(YUV4:4:4)とをピクセル毎に重ね合わせるための演算(アルファブレンディング演算)を実行して、YUV4:4:4フォーマットの出力画像データを生成する。YUV4:4:4フォーマットの出力画像データは、直接に、あるいは4:4:4−to−4:2:2変換部211を介してYUV4:2:2フォーマットにダウンサンプリングされた後に、ビデオエンコーダ40に送られる。
【0139】
このように、ブレンド処理部30においては、ブレンド処理は4:4:4フォーマットの画像同士で行われ、これによって得られた出力画像が4:2:2フォーマットに変換されて出力される。これにより、ブレンドされた高画質の出力画像を得ることができるとともに、汎用性を高めることができる。
【0140】
以上のように、本実施形態のHD−DVDプレーヤにおいては、GPU120から出力されるRGB色空間のグラフィクスデータはYUB色空間に変換される。そして、YUB色空間に変換されたグラフィクスデータは、ビデオデータ25から出力されるYUV色空間のメインビデオデータ上に重ね合わされる。このようにYUV色空間上でブレンディング処理を行うことにより、メインビデオデータの画質を損なうことなく、ビデオデータとグラフィクスデータとを重ね合わせることが可能となる。
【0141】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0142】
【図1】本発明の一実施形態に係る再生装置の構成を示すブロック図。
【図2】図1の再生装置で用いられるプレーヤアプリケーションの構成を示す図。
【図3】図2のプレーヤアプリケーションによって実現されるソフトウェアデコーダの機能構成を説明するための図。
【図4】図1の再生装置に設けられたブレンド処理部によって実行されるブレンド処理を説明するための図。
【図5】図1の再生装置に設けられたGPUによって実行されるブレンド処理を説明するための図。
【図6】図1の再生装置においてメインビデオデータ上にサブビデオデータが重ねて表示される様子を示す図。
【図7】図1の再生装置においてサブビデオデータ上の一部の領域にメインビデオデータが表示される様子を示す図。
【図8】図1の再生装置においてメインビデオデータおよびグラフィクスデータそれぞれがブレンド処理部に転送される動作を示す図。
【図9】図1の再生装置においてグラフィクスデータとアルファデータが同期して転送される様子を示す図。
【図10】図1の再生装置においてグラフィクスデータとアルファデータとが異なる伝送線路を介して転送される様子を示す図。
【図11】図1の再生装置に設けられたブレンド処理部の第1の構成例を示すブロック図。
【図12】図1の再生装置に設けられたブレンド処理部の第2の構成例を示すブロック図。
【図13】図1の再生装置に設けられたブレンド処理部の第3の構成例を示すブロック図。
【図14】図1の再生装置に設けられたブレンド処理部の第4の構成例を示すブロック図。
【図15】図1の再生装置に設けられたブレンド処理部によって実行される色変換およびアルファ演算を説明するための図。
【図16】図1の再生装置に設けられたブレンド処理部の第5の構成例を示すブロック図。
【図17】図1の再生装置に設けられたブレンド処理部の第6の構成例を示すブロック図。
【図18】図1の再生装置に設けられたブレンド処理部の第7の構成例を示すブロック図。
【符号の説明】
【0143】
11…CPU、16…オーディオコーデック、18…HD−DVDドライブ、24…オーディオデコーダ、25…ビデオデコーダ、30…ブレンド処理部、31,32…オーディオミキサ、20…グラフィクスバス、21…PCIバス、101…ストリーム読取り部、102…暗号化解除処理部、103…デマルチプレクス部、104…Sub-Pictureデコーダ、105…Sub-Videoデコーダ、106…Advanced Navigationデコーダ、120…GPU、200…同期制御部、201…RGBA−to−YUV変換部、204…4:2:2−to−4:4:4変換部、210…アルファ演算部。

【特許請求の範囲】
【請求項1】
RGB色空間のグラフィクスデータを出力するグラフィクスデータ出力部と、
YUV色空間のビデオデータを出力するビデオデータ出力部と、
前記グラフィクスデータの色空間を前記RGB色空間から前記YUV色空間に変換する手段と、
前記YUV色空間に変換された前記グラフィクスデータと前記YUV色空間のビデオデータとを前記YUV色空間上で重ね合わせるブレンド処理を実行するブレンド処理部と、
前記ブレンド処理によって得られる画像データを表示装置に出力する手段とを具備することを特徴とする再生装置。
【請求項2】
前記ブレンド処理部は、前記グラフィクスデータの各ピクセルの透明度を示すアルファデータに基づいて、前記YUV色空間に変換された前記グラフィクスデータを前記YUV色空間のビデオデータ上に重ね合わせるための演算を実行するように構成されていることを特徴とする請求項1記載の再生装置。
【請求項3】
前記ビデオデータの色空間を前記YUV色空間から前記RGB色空間に変換する手段をさらに具備し、
前記ブレンド処理部は、第1モードにおいては、前記YUV色空間に変換されたグラフィクスデータと前記YUV色空間のビデオデータとを前記YUV色空間上で重ね合わせるブレンド処理を実行し、第2モードにおいては、前記RGB色空間のグラフィクスデータと前記RGB色空間に変換された前記ビデオデータとを前記RGB色空間上で重ね合わせるブレンド処理を実行するように構成されていることを特徴とする請求項1記載の再生装置。
【請求項4】
前記YUV色空間に変換された前記グラフィクスデータは輝度信号の解像度と色差信号の解像度が同一の第1のフォーマットのデータであり、前記ビデオデータ出力部から出力される前記YUV色空間のビデオデータは輝度信号の解像度よりも色差信号の解像度が低い第2フォーマットのデータであり、
前記ビデオデータ出力部から出力される前記YUV色空間のビデオデータを前記第1フォーマットのデータに変換するアップサンプリング処理を実行する手段をさらに具備し、
前記ブレンド処理部は、前記YUV色空間に変換された前記グラフィクスデータと前記第1フォーマットにアップサンプリングされた前記ビデオデータとを重ね合わせるブレンド処理を実行するように構成されていることを特徴とする請求項1記載の再生装置。
【請求項5】
前記YUV色空間に変換された前記グラフィクスデータを前記第2フォーマットのデータに変換するダウンサンプリング処理を実行する手段をさらに具備し、
前記ブレンド処理部は、第1モードにおいては、前記YUV色空間に変換された前記グラフィクスデータと前記第1フォーマットにアップサンプリングされた前記ビデオデータとを重ね合わせるブレンド処理を実行し、第2モードにおいては、前記第2フォーマットにダウンサンプリングされた前記グラフィクスデータと前記第2フォーマットのビデオデータとを重ね合わせるブレンド処理を実行するように構成されていることを特徴とする請求項4記載の再生装置。
【請求項6】
蓄積メディアから読み出される、圧縮符号化されたビデオデータと圧縮符号化されたグラフィクスデータとを含む動画像ストリームから、前記圧縮符号化されたビデオデータと前記圧縮符号化されたグラフィクスデータとを分離する分離手段と、
前記分離されたグラフィクスデータをデコードする第1のデコード手段と、
前記第1のデコード手段のデコード結果から、第1の画面イメージを形成するRGB色空間のグラフィクスデータを生成し、前記生成したRGB色空間のグラフィクスデータを出力するグラフィクスデータ生成部と、
前記分離されたビデオデータをデコードして第2の画面イメージを形成するYUV色空間のビデオデータを生成し、前記生成したYUV色空間のビデオデータを出力する第2のデコード手段と、
前記グラフィクスデータ生成部から出力される前記グラフィクスデータの色空間を前記RGB色空間から前記YUV色空間に変換する手段と、
前記YUV色空間に変換されたグラフィクスデータと前記ビデオデータ出力部から出力される前記YUV色空間のビデオデータとを前記YUB色空間上で重ね合わせるブレンド処理を実行するブレンド処理部と、
前記ブレンド処理によって得られる画像データを表示装置に出力する手段とを具備することを特徴とする再生装置。
【請求項7】
前記ブレンド処理部は、前記グラフィクスデータの各ピクセルの透明度を示すアルファデータに基づいて、前記YUV色空間に変換された前記グラフィクスデータを前記YUV色空間のビデオデータ上に重ね合わせるための演算を実行するように構成されていることを特徴とする請求項6記載の再生装置。
【請求項8】
前記第2のデコード手段から出力されるビデオデータの色空間を前記YUV色空間から前記RGB色空間に変換する手段をさらに具備し、
前記ブレンド処理部は、第1モードにおいては、前記YUV色空間に変換されたグラフィクスデータと前記YUV色空間のビデオデータとを前記YUV色空間上で重ね合わせるブレンド処理を実行し、第2モードにおいては、前記RGB色空間のグラフィクスデータと前記RGB色空間に変換された前記ビデオデータとを前記RGB色空間上で重ね合わせるブレンド処理を実行するように構成されていることを特徴とする請求項7記載の再生装置。
【請求項9】
前記YUV色空間に変換された前記グラフィクスデータは輝度信号の解像度と色差信号の解像度が同一の第1のフォーマットのデータであり、前記ビデオデータ出力部から出力される前記YUV色空間のビデオデータは輝度信号の解像度よりも色差信号の解像度が低い第2フォーマットのデータであり、
前記第2のデコード手段から出力される前記YUV色空間のビデオデータを前記第1フォーマットのデータに変換するアップサンプリング処理を実行する手段をさらに具備し、
前記ブレンド処理部は、前記YUV色空間に変換された前記グラフィクスデータと前記第1フォーマットにアップサンプリングされた前記ビデオデータとを重ね合わせるブレンド処理を実行するように構成されていることを特徴とする請求項6記載の再生装置。
【請求項10】
前記YUV色空間に変換された前記グラフィクスデータを前記第2フォーマットのデータに変換するダウンサンプリング処理を実行する手段をさらに具備し、
前記ブレンド処理部は、第1モードにおいては、前記YUV色空間に変換された前記グラフィクスデータと前記第1フォーマットにアップサンプリングされた前記ビデオデータとを重ね合わせるブレンド処理を実行し、第2モードにおいては、前記第2フォーマットにダウンサンプリングされた前記グラフィクスデータと前記第2フォーマットのビデオデータとを重ね合わせるブレンド処理を実行するように構成されていることを特徴とする請求項9記載の再生装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate