以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明を以下の順序で行う。
1.実施の形態
2.変形例
<1.実施の形態>
[AVシステムの構成例]
図1は、実施の形態としてのAV(Audio Visual)システム200の構成例を示している。このAVシステム200は、ソース機器としてのゲーム機210と、シンク機器としてのテレビ受信機250とを有している。ソース機器としては、ゲーム機以外でも、3Dの映像を生成する機器であったり、Blu-ray Disc Player のように 3Dの映像を再生したりする機器でもよい。
ゲーム機210およびテレビ受信機250は、HDMIケーブル350を介して接続されている。ゲーム機210には、HDMI送信部(HDMI TX)212が接続されたHDMI端子211が設けられている。テレビ受信機250には、HDMI受信部(HDMI RX)252が接続されたHDMI端子251が設けられている。HDMIケーブル300の一端はゲーム機210のHDMI端子211に接続され、このHDMIケーブル300の他端はテレビ受信機250のHDMI端子251に接続されている。
図1に示すAVシステム200において、ゲーム機210からの非圧縮の画像データ(映像信号)はHDMIケーブル350を介してテレビ受信機250に送信され、このテレビ受信機250ではゲーム機210からの画像データによる画像が表示される。また、ゲーム機210からの非圧縮の音声データ(音声信号)はHDMIケーブル350を介してテレビ受信機250に送信され、このテレビ受信機250ではゲーム機210からの音声データによる音声が出力される。
なお、ゲーム機210からテレビ受信機250に送られる画像データが立体画像を表示するための立体画像データ(3D画像データ)である場合、テレビ受信機250では、立体画像の表示が行われる。
この立体画像の表示方式例を説明する。立体画像の表示方式としては、例えば、図2(a)に示すように、フィールド毎に、左眼(L)画像と右眼(R)画像とを交互に表示する方式、いわゆる「フィールドシーケンス方式」がある。この表示方式では、テレビ受信機側で通常のフレームレートの倍の駆動が必要となる。また、この表示方式では、表示部に光学的なフィルムを被着する必要はないが、ユーザが掛けるメガネ側で表示部のフィールドに同期して左右のレンズ部のシャッターの開閉を切換える必要がある。
また、立体画像の表示方式としては、例えば、図2(b)に示すように、ライン毎に左眼(L)画像と右眼(R)画像とを切り換えて表示する方式、いわゆる「位相差プレート方式」がある。この表示方式では、テレビ受信機側で表示部にライン毎に偏光の向きが90度異なるような偏光板を被着しておく。ユーザが掛ける偏光メガネにより、逆眼の画像の光を遮光することで立体画像表示を実現する。
[ゲーム機の構成例]
図3は、ゲーム機210の構成例を示している。
このゲーム機210は、HDMI端子211と、HDMI送信部212と、イーサネットインタフェース(Ethernet I/F)214と、ネットワーク端子215を有している。また、このゲーム機210は、入力インタフェース216と、コントロールパッド217と、ドライブインタフェース218と、DVD/BD(Digital Versatile Disk/Blu-ray Disc)ドライブ219を有している。
また、このゲーム機210は、内部バス220と、CPU(Central Processing Unit)221と、フラッシュROM(Read Only Memory)222と、DRAM(Dynamic Random Access Memory)223を有している。また、このゲーム機210は、描画処理部224と、VRAM(Video Random Access Memory)225と、音声処理部226と、MPEGデコーダ227を有している。なお、「イーサネット」、「Ethernet」および「Blu−ray Disc」は登録商標である。
HDMI送信部(HDMIソース)212は、HDMIに準拠した通信により、非圧縮の(ベースバンド)の映像(画像)と音声のデータを、HDMI端子211から送出する。このHDMI送信部212の詳細は後述する。
CPU221、フラッシュROM222、DRAM223、イーサネットインタフェース214、入力インタフェース216およびドライブインタフェース218は、内部バス220に接続されている。また、描画処理部224、VRAM225、音声処理部226およびMPEGデコーダ227は、内部バス220に接続されている。DVD/BDドライブ219は、ドライブインタフェース218を介して内部バス220に接続されている。DVD/BDドライブ219は、DVD等の記録媒体に記録されている映画等のコンテンツの再生、およびこれらの記録媒体に記録されているゲームソフト情報の再生等を行う。
MPEGデコーダ227は、ゲーム機210が再生機として機能する場合、DVD等の記録媒体から再生された圧縮された映像データ、音声データに対してデコード処理を行って非圧縮の映像データ、音声データを得る。
CPU221は、ゲーム機210の各部の動作を制御する。フラッシュROM222は、制御ソフトウェアの格納およびデータの保管を行う。DRAM223は、CPU221のワークエリアを構成する。CPU221は、フラッシュROM222から読み出したソフトウェアやデータをDRAM223上に展開してソフトウェアを起動させ、ゲーム機210の各部を制御する。
コントロールパッド217は、ユーザ操作部を構成している。入力インタフェース216は、コントロールパッド217からの操作入力信号を内部バス220に取り込む。描画処理部224は、描画エンジンを備えている。この描画処理部224は、ゲーム機210がゲーム機として機能する場合、ゲームソフト情報に基づき、ユーザのコントロールパッド217からの操作に応じてゲーム画像を動的に作成し、VRAM225に展開する。
この描画処理部224は、ゲーム画像データとして、2次元画像を表示するための画像データを生成する他に、立体画像を表示するための立体画像データ(左眼画像データ、右眼画像データ)を生成する。この場合、描画処理部224は、後述するように、テレビ受信機250のスクリーンサイズおよび視距離の情報を用いて、立体画像データを生成する。
なお、この描画処理部224は、DVD等の記録媒体から再生された映画等のコンテンツの画像データが、立体画像を表示するための立体画像データである場合、ユーザの指示に応じて、この立体画像データの補正を行う。この立体画像データの補正は、上述の立体画像データの生成と同様に、テレビ受信機250のスクリーンサイズおよび視距離の情報を用いて行う。そして、立体画像を表示するための立体画像データをHDMIのTMDSチャネルで送信する際に、この立体画像データを伝送方式に応じた状態に加工処理する。ここで、立体画像データは、左眼画像データおよび右眼画像データで構成されている。立体画像データの伝送方式等については後述する。
音声処理部226は、ゲーム機210がゲーム機として機能する場合、ゲームソフト情報に基づき、ユーザのコントロールパッド217からの操作に応じて、ゲーム画像に対応したゲーム音声を得るための音声データを生成する。
図3に示すゲーム機210の動作を簡単に説明する。
DVD等の記録媒体に記録されている映画等のコンテンツの再生時の動作を説明する。
DVD/BDドライブ219で再生される画像データおよび音声データは、MPEGデコーダ227でデコード処理されて非圧縮の画像および音声のデータが得られる。この画像および音声のデータはHDMI送信部212に供給され、HDMIのTMDSチャネルにより、HDMI端子211からHDMIケーブルに送出される。
また、ゲーム機として機能している場合の動作を説明する。
描画処理部224では、ゲームソフト情報に基づき、ユーザのコントロールパッド217からの操作に応じてゲーム画像を表示するための画像データが動的に生成され、VRAM225に展開される。ここで、生成すべき画像データが立体画像データ(左眼画像データ、右眼画像データ)である場合、描画処理部224では、テレビ受信機250のスクリーンサイズおよび視距離の情報を用いて、立体画像データが適切に生成される。そして、このVRAM225から画像データが読み出されて、HDMI送信部212に供給される。
また、この場合、音声処理部226では、ゲームソフト情報に基づき、ユーザのコントロールパッド217からの操作に応じて、ゲーム画像に対応したゲーム音声を得るための音声データが生成される。この音声データは、HDMI送信部212に供給される。そして、HDMI送信部212に供給されるゲームの画像および音声のデータは、HDMIのTMDSチャネルにより、HDMI端子211からHDMIケーブルに送出される。
なお、上述した映画等のコンテンツの再生時にあって、MPEGデコーダ227でデコード処理されて得られた画像データが立体画像データであり、ユーザが補正処理を指示した場合の動作は以下のようになる。
この場合、MPEGデコーダ227で得られた立体画像データ(左眼画像データ、右眼画像データ)は、内部バス220を介して、描画処理部224に供給される。描画処理部224では、テレビ受信機250のスクリーンサイズおよび視距離の情報を用いて、当該立体画像データ(既存の立体画像データ)の補正が行われる。このように補正された立体画像データはVRAM225に展開された後に読み出され、HDMI送信部212に供給される。
描画処理部224における上述の立体画像データの生成、補正の処理の流れについては、後述する。
なお、描画処理部224、音声処理部226からHDMI送信部212に供給される画像および音声のデータは、このHDMI送信部212でパッキングされてHDMI端子211に出力される。画像データが立体画像データ(左眼画像データ、右眼画像データ)である場合には、この立体画像データは、描画処理部224により、伝送方式に応じた状態に加工処理された後に、HDMI送信部212に供給される。
[テレビ受信機の構成例]
図4は、テレビ受信機250の構成例を示している。このテレビ受信機250は、HDMI端子251と、HDMI受信部252と、3D信号処理部254を有している。また、テレビ受信機250は、アンテナ端子255と、デジタルチューナ256と、デマルチプレクサ257と、MPEGデコーダ258と、映像信号処理回路259と、グラフィック生成回路260と、パネル駆動回路261と、表示パネル262を有している。
また、テレビ受信機250は、音声信号処理回路263と、音声増幅回路264と、スピーカ265と、内部バス270と、CPU271と、フラッシュROM272と、DRAM273を有している。また、テレビ受信機250は、イーサネットインタフェース274と、ネットワーク端子275と、リモコン受信部276と、リモコン送信機277と、DTCP回路278を有している。
アンテナ端子255は、受信アンテナ(図示せず)で受信されたテレビ放送信号を入力する端子である。デジタルチューナ256は、アンテナ端子255に入力されたテレビ放送信号を処理して、ユーザの選択チャネルに対応した所定のトランスポートストリームを出力する。デマルチプレクサ257は、デジタルチューナ256で得られたトランスポートストリームから、ユーザの選択チャネルに対応した、パーシャルTS(Transport Stream)(映像データのTSパケット、音声データのTSパケット)を抽出する。
また、デマルチプレクサ257は、デジタルチューナ256で得られたトランスポートストリームから、PSI/SI(Program Specific Information/Service Information)を取り出し、CPU271に出力する。デジタルチューナ256で得られたトランスポートストリームには、複数のチャネルが多重化されている。デマルチプレクサ257で、当該トランスポートストリームから任意のチャネルのパーシャルTSを抽出する処理は、PSI/SI(PAT/PMT)から当該任意のチャネルのパケットID(PID)の情報を得ることで可能となる。
MPEGデコーダ258は、デマルチプレクサ257で得られる映像データのTSパケットにより構成される映像PES(Packetized Elementary Stream)パケットに対してデコード処理を行って画像データを得る。また、MPEGデコーダ258は、デマルチプレクサ257で得られる音声データのTSパケットにより構成される音声PESパケットに対してデコード処理を行って音声データを得る。
映像信号処理回路259およびグラフィック生成回路260は、MPEGデコーダ258で得られた画像データ、あるいはHDMI受信部252で受信された画像データに対して、必要に応じてスケーリング処理(解像度変換処理)、グラフィックスデータの重畳処理等を行う。また、映像信号処理回路259は、HDMI受信部252で受信された画像データが、立体画像データである場合には、左眼画像データおよび右眼画像データに対して、立体画像を表示するための処理を行う(図2参照)。パネル駆動回路261は、グラフィック生成回路260から出力される映像(画像)データに基づいて、表示パネル262を駆動する。
表示パネル262は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)等で構成されている。音声信号処理回路263はMPEGデコーダ258で得られた音声データに対してD/A変換等の必要な処理を行う。音声増幅回路264は、音声信号処理回路263から出力される音声信号を増幅してスピーカ265に供給する。
CPU271は、テレビ受信機250の各部の動作を制御する。フラッシュROM272は、制御ソフトウェアの格納およびデータの保管を行う。DRAM273は、CPU271のワークエリアを構成する。CPU271は、フラッシュROM272から読み出したソフトウェアやデータをDRAM273上に展開してソフトウェアを起動させ、テレビ受信機250の各部を制御する。DTCP回路278は、ネットワーク端子275からイーサネットインタフェース274に供給される暗号化データを復号する。
リモコン受信部276は、リモコン送信機277から送信されたリモーコントロール信号(リモコンコード)を受信し、CPU271に供給する。CPU271は、このリモコンコードに基づいて、テレビ受信機250の各部を制御する。ネットワーク端子275は、ネットワークに接続する端子であり、イーサネットインタフェース274に接続される。CPU271、フラッシュROM272、DRAM273およびイーサネットインタフェース274は、内部バス270に接続されている。
HDMI受信部(HDMIシンク)252は、HDMIに準拠した通信により、HDMIケーブル350を介してHDMI端子251に供給される非圧縮の画像(映像)と音声のデータを受信する。このHDMI受信部252の詳細は後述する。
3D信号処理部254は、HDMI受信部252で受信された立体画像データに対して、伝送方式に対応した処理(デコード処理)を行って、左眼画像データおよび右眼画像データを生成する。すなわち、この3D信号処理部254は、上述したゲーム機210の描画処理部224とは逆の処理を行って、立体画像データを構成する左眼画像データおよび右眼画像データを取得する。
図4に示すテレビ受信機250の動作を簡単に説明する。
アンテナ端子255に入力されたテレビ放送信号はデジタルチューナ256に供給される。このデジタルチューナ256では、テレビ放送信号を処理して、ユーザの選択チャネルに対応した所定のトランスポートストリームが出力され、当該所定のトランスポートストリームはデマルチプレクサ257に供給される。このデマルチプレクサ257では、トランスポートストリームから、ユーザの選択チャネルに対応した、パーシャルTS(映像データのTSパケット、音声データのTSパケット)が抽出され、当該パーシャルTSはMPEGデコーダ258に供給される。
MPEGデコーダ258では、映像データのTSパケットにより構成される映像PESパケットに対してデコード処理が行われて映像データが得られる。この映像データは、映像信号処理回路259およびグラフィック生成回路260において、必要に応じて、スケーリング処理(解像度変換処理)、グラフィックスデータの重畳処理等が行われた後に、パネル駆動回路261に供給される。そのため、表示パネル262には、ユーザの選択チャネルに対応した画像が表示される。
また、MPEGデコーダ258では、音声データのTSパケットにより構成される音声PESパケットに対してデコード処理が行われて音声データが得られる。この音声データは、音声信号処理回路263でD/A変換等の必要な処理が行われ、さらに、音声増幅回路264で増幅された後に、スピーカ265に供給される。そのため、スピーカ265から、ユーザの選択チャネルに対応した音声が出力される。
また、ネットワーク端子275からイーサネットインタフェース274に供給される、暗号化されているコンテンツデータ(画像データ、音声データ)は、DTCP回路278で復号化された後に、MPEGデコーダ258に供給される。以降は、上述したテレビ放送信号の受信時と同様の動作となり、表示パネル262に画像が表示され、スピーカ265から音声が出力される。
また、HDMI受信部252では、HDMI端子251にHDMIケーブル350を介して接続されているゲーム機210から送信されてくる、画像データおよび音声データが取得される。画像データは、3D信号処理部254を介して映像信号処理回路259に供給される。また、音声データは、直接、音声信号処理回路263に供給される。以降は、上述したテレビ放送信号の受信時と同様の動作となり、表示パネル262に画像が表示され、スピーカ265から音声が出力される。
なお、HDMI受信部252で受信された画像データが立体画像(3D画像データ)である場合には、3D信号処理部254において、当該立体画像データに対して伝送方式に対応した処理(デコード処理)が行われ、左眼画像データおよび右眼画像データが生成される。そして、3D信号処理部254から映像信号処理部259には、左眼画像データおよび右眼画像データが供給される。また、映像信号処理回路259では、立体画像データを構成する左眼画像データおよび右眼画像データが供給される場合には、左眼画像データおよび右眼画像データに基づいて、立体画像(図2参照)を表示するための画像データが生成される。そのため、表示パネル262により立体画像が表示される。
[HDMI送信部、HDMI受信部の構成例]
図5は、図1のAVシステム200における、ゲーム機210のHDMI送信部(HDMIソース)212と、テレビ受信機250のHDMI受信部(HDMIシンク)252の構成例を示している。
HDMI送信部212は、有効画像区間(以下、適宜、アクティブビデオ区間ともいう)において、非圧縮の1画面分の画像の画素データに対応する差動信号を、複数のチャネルで、HDMI受信部252に一方向に送信する。ここで、有効画像区間は、一の垂直同期信号から次の垂直同期信号までの区間から、水平帰線区間及び垂直帰線区間を除いた区間である。また、HDMI送信部212は、水平帰線区間または垂直帰線区間において、少なくとも画像に付随する音声データや制御データ、その他の補助データ等に対応する差動信号を、複数のチャネルで、HDMI受信部252に一方向に送信する。
HDMI送信部212とHDMI受信部252とからなるHDMIシステムの伝送チャネルには、以下の伝送チャネルがある。すなわち、HDMI送信部212からHDMI受信部252に対して、画素データおよび音声データを、ピクセルクロックに同期して、一方向にシリアル伝送するための伝送チャネルとしての、3つのTMDSチャネル#0乃至#2がある。また、ピクセルクロックを伝送する伝送チャネルとしての、TMDSクロックチャネルがある。
HDMI送信部212は、HDMIトランスミッタ81を有する。トランスミッタ81は、例えば、非圧縮の画像の画素データを対応する差動信号に変換し、複数のチャネルである3つのTMDSチャネル#0,#1,#2で、HDMIケーブル350を介して接続されているHDMI受信部252に、一方向にシリアル伝送する。
また、トランスミッタ81は、非圧縮の画像に付随する音声データ、さらには、必要な制御データその他の補助データ等を、対応する差動信号に変換し、3つのTMDSチャネル#0,#1,#2でHDMIシンク252に、一方向にシリアル伝送する。
さらに、トランスミッタ81は、3つのTMDSチャネル#0,#1,#2で送信する画素データに同期したピクセルクロックを、TMDSクロックチャネルで、HDMIケーブル350を介して接続されているHDMI受信部252に送信する。ここで、1つのTMDSチャネル#i(i=0,1,2)では、ピクセルクロックの1クロックの間に、10ビットの画素データが送信される。
HDMI受信部252は、アクティブビデオ区間において、複数のチャネルで、HDMI送信部212から一方向に送信されてくる、画素データに対応する差動信号を受信する。また、このHDMI受信部252は、水平帰線区間または垂直帰線区間において、複数のチャネルで、HDMI送信部212から一方向に送信されてくる、音声データや制御データに対応する差動信号を受信する。
すなわち、HDMI受信部252は、HDMIレシーバ82を有する。このHDMIレシーバ82は、TMDSチャネル#0,#1,#2で、HDMI送信部212から一方向に送信されてくる、画素データに対応する差動信号と、音声データや制御データに対応する差動信号を受信する。この場合、HDMI送信部212からTMDSクロックチャネルで送信されてくるピクセルクロックに同期して受信する。
HDMI送信部212とHDMI受信部252とからなるHDMIシステムの伝送チャネルには、上述のTMDSチャネル#0乃至#2およびTMDSクロックチャネルの他に、DDC(Display Data Channel)83やCECライン84と呼ばれる伝送チャネルがある。DDC83は、HDMIケーブル350に含まれる図示しない2本の信号線からなり、HDMI送信部212が、HDMIケーブル350を介して接続されたHDMI受信部252から、E−EDID(Enhanced Extended Display Identification Data)を読み出すために使用される。
すなわち、HDMI受信部252は、HDMIレシーバ81の他に、自身の性能(Configuration/capability)に関する性能情報であるE−EDIDを記憶している、EDID ROM(Read Only Memory)85を有している。HDMI送信部212は、例えば、CPU221(図3参照)からの要求に応じて、HDMIケーブル350を介して接続されているHDMI受信部252から、当該HDMI受信部252のE−EDIDを、DDC83を介して読み出す。HDMI送信部212は、読み出したE−EDIDをCPU221に送る。CPU221は、このE−EDIDを。フラッシュROM222あるいはDRAM223に格納する。
CPU221は、E−EDIDに基づき、HDMI受信部252の性能の設定を認識できる。例えば、CPU221は、HDMI受信部252を有するテレビ受信機250が対応可能な画像データのフォーマット(解像度、フレームレート、アスペクト等)を認識する。また、この実施の形態において、CPU221は、E−EDIDに含まれる後述するスクリーンサイズに関する情報に基づき、HDMI受信部252を有するテレビ受信機250の実際の画像表示領域のサイズ(スクリーンサイズ)を認識する。
CECライン84は、HDMIケーブル350に含まれる図示しない1本の信号線からなり、HDMI送信部212とHDMI受信部252との間で、制御用のデータの双方向通信を行うのに用いられる。このCECライン84は、制御データラインを構成している。
また、HDMIケーブル350には、HPD(Hot Plug Detect)と呼ばれるピンに接続されるライン(HPDライン)86が含まれている。ソース機器は、当該ライン86を利用して、シンク機器の接続を検出することができる。また、HDMIケーブル350には、ソース機器からシンク機器に電源を供給するために用いられるライン87が含まれている。さらに、HDMIケーブル350には、リザーブライン88が含まれている。
図6は、図5のHDMIトランスミッタ81とHDMIレシーバ82の構成例を示している。
HDMIトランスミッタ81は、3つのTMDSチャネル#0,#1,#2にそれぞれ対応する3つのエンコーダ/シリアライザ81A,81B,81Cを有する。そして、エンコーダ/シリアライザ81A,81B,81Cのそれぞれは、そこに供給される画像データ、補助データ、制御データをエンコードし、パラレルデータからシリアルデータに変換して、差動信号により送信する。ここで、画像データが、例えばR,G,Bの3成分を有する場合、B成分はエンコーダ/シリアライザ81Aに供給され、G成分はエンコーダ/シリアライザ81Bに供給され、R成分はエンコーダ/シリアライザ81Cに供給される。
また、補助データとしては、例えば、音声データや制御パケットがあり、制御パケットは、例えば、エンコーダ/シリアライザ81Aに供給され、音声データは、エンコーダ/シリアライザ81B,81Cに供給される。さらに、制御データとしては、1ビットの垂直同期信号(VSYNC)、1ビットの水平同期信号(HSYNC)、および、それぞれ1ビットの制御ビットCTL0,CTL1,CTL2,CTL3がある。垂直同期信号および水平同期信号は、エンコーダ/シリアライザ81Aに供給される。制御ビットCTL0,CTL1はエンコーダ/シリアライザ81Bに供給され、制御ビットCTL2,CTL3はエンコーダ/シリアライザ81Cに供給される。
エンコーダ/シリアライザ81Aは、そこに供給される画像データのB成分、垂直同期信号および水平同期信号、並びに補助データを、時分割で送信する。すなわち、エンコーダ/シリアライザ81Aは、そこに供給される画像データのB成分を、固定のビット数である8ビット単位のパラレルデータとする。さらに、エンコーダ/シリアライザ81Aは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#0で送信する。
また、エンコーダ/シリアライザ81Aは、そこに供給される垂直同期信号および水平同期信号の2ビットのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#0で送信する。さらに、エンコーダ/シリアライザ81Aは、そこに供給される補助データを4ビット単位のパラレルデータとする。そして、エンコーダ/シリアライザ81Aは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#0で送信する。
エンコーダ/シリアライザ81Bは、そこに供給される画像データのG成分、制御ビットCTL0,CTL1、並びに補助データを、時分割で送信する。すなわち、エンコーダ/シリアライザ81Bは、そこに供給される画像データのG成分を、固定のビット数である8ビット単位のパラレルデータとする。さらに、エンコーダ/シリアライザ81Bは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#1で送信する。
また、エンコーダ/シリアライザ81Bは、そこに供給される制御ビットCTL0,CTL1の2ビットのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#1で送信する。さらに、エンコーダ/シリアライザ81Bは、そこに供給される補助データを4ビット単位のパラレルデータとする。そして、エンコーダ/シリアライザ81Bは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#1で送信する。
エンコーダ/シリアライザ81Cは、そこに供給される画像データのR成分、制御ビットCTL2,CTL3、並びに補助データを、時分割で送信する。すなわち、エンコーダ/シリアライザ81Cは、そこに供給される画像データのR成分を、固定のビット数である8ビット単位のパラレルデータとする。さらに、エンコーダ/シリアライザ81Cは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#2で送信する。
また、エンコーダ/シリアライザ81Cは、そこに供給される制御ビットCTL2,CTL3の2ビットのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#2で送信する。さらに、エンコーダ/シリアライザ81Cは、そこに供給される補助データを4ビット単位のパラレルデータとする。そして、エンコーダ/シリアライザ81Cは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#2で送信する。
HDMIレシーバ82は、3つのTMDSチャネル#0,#1,#2にそれぞれ対応する3つのリカバリ/デコーダ82A,82B,82Cを有する。そして、リカバリ/デコーダ82A,82B,82Cのそれぞれは、TMDSチャネル#0,#1,#2で差動信号により送信されてくる画像データ、補助データ、制御データを受信する。さらに、リカバリ/デコーダ82A,82B,82Cのそれぞれは、画像データ、補助データ、制御データを、シリアルデータからパラレルデータに変換し、さらにデコードして出力する。
すなわち、リカバリ/デコーダ82Aは、TMDSチャネル#0で差動信号により送信されてくる画像データのB成分、垂直同期信号および水平同期信号、補助データを受信する。そして、リカバリ/デコーダ82Aは、その画像データのB成分、垂直同期信号および水平同期信号、補助データを、シリアルデータからパラレルデータに変換し、デコードして出力する。
リカバリ/デコーダ82Bは、TMDSチャネル#1で差動信号により送信されてくる画像データのG成分、制御ビットCTL0,CTL1、補助データを受信する。そして、リカバリ/デコーダ82Bは、その画像データのG成分、制御ビットCTL0,CTL1、補助データを、シリアルデータからパラレルデータに変換し、デコードして出力する。
リカバリ/デコーダ82Cは、TMDSチャネル#2で差動信号により送信されてくる画像データのR成分、制御ビットCTL2,CTL3、補助データを受信する。そして、リカバリ/デコーダ82Cは、その画像データのR成分、制御ビットCTL2,CTL3、補助データを、シリアルデータからパラレルデータに変換し、デコードして出力する。
図7は、TMDS伝送データの構造例を示している。この図7は、TMDSチャネル#0,#1,#2において、横×縦が1920ピクセル×1080ラインの画像データが伝送される場合の、各種の伝送データの区間を示している。
HDMIの3つのTMDSチャネル#0,#1,#2で伝送データが伝送されるビデオフィールド(Video Field)には、伝送データの種類に応じて、3種類の区間が存在する。この3種類の区間は、ビデオデータ区間(Video Data period)、データアイランド区間(Data Island period)、およびコントロール区間(Control period)である。
ここで、ビデオフィールド区間は、ある垂直同期信号の立ち上がりエッジ(active edge)から次の垂直同期信号の立ち上がりエッジまでの区間である。このビデオフィールド区間は、水平ブランキング期間(horizontal blanking)、垂直ブランキング期間(vertical blanking)、並びに、アクティブビデオ区間(Active Video)に分けられる。このアクティブビデオ区間は、ビデオフィールド区間から、水平ブランキング期間および垂直ブランキング期間を除いた区間である
ビデオデータ区間は、アクティブビデオ区間に割り当てられる。このビデオデータ区間では、非圧縮の1画面分の画像データを構成する1920ピクセル(画素)×1080ライン分の有効画素(Active pixel)のデータが伝送される。
データアイランド区間およびコントロール区間は、水平ブランキング期間および垂直ブランキング期間に割り当てられる。このデータアイランド区間およびコントロール区間では、補助データ(Auxiliary data)が伝送される。すなわち、データアイランド区間は、水平ブランキング期間と垂直ブランキング期間の一部分に割り当てられている。このデータアイランド区間では、補助データのうち、制御に関係しないデータである、例えば、音声データのパケット等が伝送される。
コントロール区間は、水平ブランキング期間と垂直ブランキング期間の他の部分に割り当てられている。このコントロール区間では、補助データのうちの、制御に関係するデータである、例えば、垂直同期信号および水平同期信号、制御パケット等が伝送される。
図8は、HDMI端子211,251のピン配列の一例を示している。図8に示すピン配列はタイプA(type-A)と呼ばれている。
TMDSチャネル#iの差動信号であるTMDS Data#i+とTMDS Data#i−が伝送される差動線である2本のラインは、TMDS Data#i+が割り当てられているピン(ピン番号が1,4,7のピン)と、TMDS Data#i−が割り当てられているピン(ピン番号が3,6,9のピン)に接続される。
また、制御用のデータであるCEC信号が伝送されるCECライン84は、ピン番号が13であるピンに接続され、ピン番号が14のピンは空き(Reserved)ピンとなっている。また、E−EDID等のSDA(Serial Data)信号が伝送されるラインは、ピン番号が16であるピンに接続され、SDA信号の送受信時の同期に用いられるクロック信号であるSCL(Serial Clock)信号が伝送されるラインは、ピン番号が15であるピンに接続される。上述のDDC83は、SDA信号が伝送されるラインおよびSCL信号が伝送されるラインにより構成される。
また、上述したようにソース機器がシンク機器の接続を検出するためのHPDライン86は、ピン番号が19であるピンに接続される。また、上述したように電源を供給するためのライン87は、ピン番号が18であるピンに接続される。
[立体画像データの伝送方式例]
立体画像データ(3D画像データ)の伝送方式として、以下の第1〜第3の伝送方式を挙げるが、これら以外の伝送方式であってもよい。ここでは、図9に示すように、左眼(L)および右眼(R)の画像データが、それぞれ、1920×1080pのピクセルフォーマットの画像データである場合を例にとって説明する。
第1の伝送方式は、図10(a)に示すように、左眼画像データと右眼画像データとをフィールド毎に順次切換えて伝送する方式である。この場合、切換え処理のためフィールドメモリが必要となるが、ソース機器での信号処理は最も簡単なものとなる。図11は、第1の伝送方式におけるTMDS伝送データ例を示している。この場合、奇数フィールドの1920ピクセル×1080ラインのアクティブビデオ区間に、1920ピクセル(画素)×1080ライン分の有効画素(Active pixel)の左眼(L)画像データが配置される。また、偶数フィールドの1920ピクセル×1080ラインのアクティブビデオ区間に、1920ピクセル(画素)×1080ライン分の有効画素(Active pixel)の右眼(R)画像データが配置される。
第2の伝送方式は、図10(b)に示すように、左眼画像データの1ライン分と右眼画像データの1ライン分とを交互に伝送する方式である。この場合、左眼画像データおよび右眼画像データは、それぞれ、ラインが1/2に間引かれる。この方式は、上述の「位相差プレート方式」と呼ばれる立体画像の表示方式の映像信号そのものであり、シンク機器の表示部での信号処理が最も簡単な方式であるが、原信号に対して垂直解像度は半分となる。
図12は、第2の伝送方式のTMDS伝送データ例を示している。この場合、1920ピクセル×1080ラインのアクティブビデオ区間に、1920ピクセル(画素)×1080ライン分の有効画素(Active pixel)のデータ(左眼(L)画像データおよび右眼(R)画像データの合成データ)が配置される。この第2の伝送方式の場合、上述したように、左眼画像データおよび右眼画像データは、それぞれ、垂直方向のラインが1/2に間引かれる。ここで、伝送すべき左眼画像データは奇数ラインまたは偶数ラインのいずれかであり、同様に、伝送すべき右眼画像データは奇数ラインまたは偶数ラインのいずれかである。
第3の伝送方式は、現在実験放送で用いられている「Side By Side」方式で、図10(c)に示すように、水平方向の前半では左眼画像データのピクセルデータを伝送し、水平方向の後半では右眼画像データのピクセルデータを伝送する方式である。この場合、左眼画像データおよび右眼画像データは、それぞれ、水平方向のピクセルデータが1/2に間引かれる。この第3の伝送方式は、立体画像データに非対応のソース機器でも既存の2D画像データとして出力すれば対応でき、従来のソース機器との互換性が高い方式である。
図13は、第3の伝送方式のTMDS伝送データ例を示している。この場合、1920ピクセル×1080ラインのアクティブビデオ区間に、1920ピクセル(画素)×1080ライン分の有効画素(Active pixel)のデータ(左眼(L)画像データおよび右眼(R)画像データの合成データ)が配置される。この第3の伝送方式の場合、上述したように、左眼画像データおよび右眼画像データは、それぞれ、水平方向のピクセルデータが1/2に間引かれる。
[スクリーンサイズ情報]
図1に示すAVシステム200のゲーム機210では、ゲーム画像を表示するための立体画像データを生成する場合、あるいは映画等のコンテンツの既存の立体画像データを補正する際に、テレビ受信機250のスクリーンサイズ情報を用いる。
この実施の形態において、ゲーム機210は、テレビ受信機250より、スクリーンサイズに関する情報を取得し、この情報からスクリーンサイズ情報を得る。ゲーム機210は、テレビ受信機250からE−EDID(Enhanced Extended Display Identification Data)を読み出すことで、スクリーンサイズに関する情報を取得する。換言すれば、テレビ受信機250は、E−EDIDにスクリーンサイズに関する情報を含めておくことで、当該情報を、ゲーム機210に供給する。
E−EDIDには、テレビ受信機250で取り扱われる画像データのフォーマット(解像度、フレームレート、アスペクト等)の情報も含まれている。ゲーム機210は、E−EDIDからテレビ受信機250が対応可能な画像データのフォーマット(解像度、フレームレート、アスペクト等)の情報を取得する。そして、ゲーム機210は、テレビ受信機250に送る画像データのフォーマットを、このテレビ受信機250が対応可能なフォーマットとする。
[スクリーンサイズに関する情報]
ここで、スクリーンサイズは、図14に示すように、左眼画像、右眼画像が実際に表示される領域(表示領域)の横幅、高さ、対角の長さ等である。スクリーンサイズに関する情報として、例えば、以下の(1)〜(3)が考えられる。
(1)LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)等の表示パネルを用いたテレビ受信機の場合は、パネルの実効表示サイズの情報とする。この情報は、テレビ受信機毎に固定の値となる。この場合、Source機器側は、出力する映像が表示パネル全面に表示されるものとして、3Dの映像を生成する。
(2)16:9 Full HD (1920x1080) ドットの画像をフルに表示した場合に、実際に画像が表示される領域のサイズ情報とする。この情報は、テレビ受信機毎に固定の値となる。
この場合も、(1)と同様に、Source機器側は、出力する映像が表示パネル全面に表示されるものとして、3Dの映像を生成する。
(3)各表示解像度・アスペクト (1920x1080/16:9、NTSC:720x480/4:3 など)を表示した場合に、実際の映像が表示される領域のサイズ情報とする。この情報は、解像度・アスペクト毎に可変の値になる。
これら(1)〜(3)の場合、それぞれ、領域の横幅、高さ、対角の長さを、センチメートル(cm)単位、インチ(inch)単位等で表現した値が、スクリーンサイズに関する情報となる。この場合、スクリーンサイズに関する情報は、スクリーンサイズを直接的に表すものとなる。
なお、例えば10cmに相当するドット数など、上述(1)〜(3)の領域のサイズが間接的に求められるような値を、スクリーンサイズに関する情報としてもよい。
また、上述(3)の場合のように、スクリーンサイズに関する情報が解像度・アスペクトに依存する場合、テレビ受信機250からゲーム機210に、テレビ受信機250が取り扱い可能な各解像度・アスペクトのスクリーンサイズに関する情報の一覧を供給してもよい。また、上述(3)の場合のように、スクリーンサイズに関する情報が解像度・アスペクトに依存する場合、CEC制御データラインを用いて、ゲーム機210からテレビ受信機250に表示する解像度・アスペクトの情報を送り、テレビ受信機250からゲーム機210にその解像度・アスペクトに該当するスクリーンサイズに関する情報を送るようにしてもよい。
例えば、テレビ受信機250において、上述のE-EDIDに、スクリーンサイズに関する情報として、16:9 Full HD (1920x1080ドット) の画像をフルに表示した場合に、実際に画像が表示される領域(実寸)の対角の長さがセットされてもよい。この場合、以下のように、例えば、inch 単位でセットされる。このようにinch 単位でセットするのは、テレビ受信機(TV)のスクリーンサイズは、インチサイズに合わせて設計されていることが多いためである。
32” のTVの場合: 32inch
40” のTVの場合: 40inch
52” のTVの場合: 52inch
200” のプロジェクタの場合: 200inch
また、例えば、テレビ受信機250において、上述のE-EDIDに、スクリーンサイズに関する情報として、16:9 Full HD (1920x1080ドット) の画像をフルに表示した場合に、実際に画像が表示される領域(実寸)の横幅の長さがセットされてもよい。この場合、以下のように、例えば、cm 単位(または 0.25cm単位、 mm単位) でセットされる。
32” のTVの場合: 71cm
40” のTVの場合: 88cm
52” のTVの場合: 115cm
200” のプロジェクタの場合: 442cm
また、表示領域のサイズがある程度より大きい場合は、上述のE-EDIDに、スクリーンサイズに関する情報として、“充分大きい”ということを意味する値をセットしてもよい。したがって、例えば、プロジェクタで 実際の表示領域の寸法が分からないような場合は“十分大きい”ことを意味する値(例えば、255)をセットしてもよい。
[E−EDIDの構成]
図15は、E−EDIDのデータ構造例を示している。このE−EDIDは、基本ブロックと拡張ブロックとからなっている。基本ブロックの先頭には、“E−EDID1.3 Basic Structure”で表されるE−EDID1.3の規格で定められたデータが配置され、続いて“Preferred timing”で表される従来のEDIDとの互換性を保つためのタイミング情報、および“2nd timing”で表される従来のEDIDとの互換性を保つための“Preferred timing”とは異なるタイミング情報が配置されている。
また、基本ブロックには、“2nd timing”に続いて、“Monitor NAME”で表される表示装置の名前を示す情報、および“Monitor Range Limits”で表される、アスペクト比が4:3および16:9である場合についての表示可能な画素数を示す情報が順番に配置されている。
拡張ブロックの先頭には、“Short Video Descriptor”で表される、表示可能な画像サイズ(解像度)、フレームレート、インターレースであるかプログレッシブであるかを示す情報、アスペクト比などの情報が記述されたデータ、“Short Audio Descriptor”で表される、再生可能な音声コーデック方式、サンプリング周波数、カットオフ帯域、コーデックビット数などの情報が記述されたデータ、および“Speaker Allocation”で表される左右のスピーカに関する情報が順番に配置されている。
また、拡張ブロックには、“Speaker Allocation”に続いて、“Vender Specific”で表されるメーカごとに固有に定義されたデータ、“3rd timing”で表される従来のEDIDとの互換性を保つためのタイミング情報、および“4th timing”で表される従来のEDIDとの互換性を保つためのタイミング情報が配置されている。
図16は、Short Video Descriptor領域の映像データ例を示している。このShort Video Descriptor領域のByte#1からByte#Lまでに、CEA−861−Dで定義された映像信号フォーマットの内、受信装置(この実施の形態ではテレビ受信機250)が表示可能なフォーマットが、解像度・フレームレート・アスペクト(縦横比)の組み合わせで表記されている。
図17は、Vender Specific領域(HDMI Vendor Specific Data Block)のデータ構造例を示している。このVender Specific領域には、1バイトのブロックである第0ブロック乃至第Nブロックが設けられている。
“Vender Specific”で表されるデータの先頭に配置された第0ブロックには、“Vendor−Specific tag code(=3)”で表されるデータ“Vender Specific”のデータ領域を示すヘッダ、および“Length(=N)”で表されるデータ“Vender Specific”の長さを示す情報が配置される。
また、第1ブロック乃至第3ブロックには、“24bit IEEE Registration Identifier(0x000C03)LSB first”で表されるHDMI(R)用として登録された番号“0x000C03“を示す情報が配置される。さらに、第4ブロックおよび第5ブロックには、”A“、”B“、”C“、および”D“のそれぞれにより表される、24bitのシンク機器の物理アドレスを示す情報が配置される。
第6ブロックには、“Supports−AI”で表されるシンク機器が対応している機能を示すフラグ、“DC−48bit”、“DC−36bit”、および“DC−30bit”のそれぞれで表される1ピクセル当たりのビット数を指定する情報のそれぞれ、“DC−Y444”で表される、シンク機器がYCbCr4:4:4の画像の伝送に対応しているかを示すフラグ、および“DVI−Dual”で表される、シンク機器がデュアルDVI(Digital Visual Interface)に対応しているかを示すフラグが配置されている。
また、第7ブロックには、“Max−TMDS−Clock”で表されるTMDSのピクセルクロックの最大の周波数を示す情報が配置される。さらに、第8ブロックの第6ビット、第7ビットには、“Latency”で表される映像と音声の遅延情報の有無を示すフラグが配置されている。
また、第9ブロックには、“Video Latency”で表される、プログレッシブの映像の遅延時間データが配置され、第10ブロックには、“Audio Latency”で表される、プログレッシブの映像に付随する音声の遅延時間データが配置される。さらに、第11ブロックには、“Interlaced Video Latency”で表されるインターレースの映像の遅延時間データが配置され、第12ブロックには、“Interlaced Audio Latency”で表される、インターレースの映像に付随する音声の遅延時間データが配置されている。
この実施の形態において、第8ブロックの第5ビットには、スクリーンサイズに関する情報の有無を示すフラグが配置されている。このフラグが“1”とされて、第13ブロックに、上述したスクリーンサイズに関する情報が配置される。
[立体画像データの出力]
ゲーム機210は、テレビ受信機250に立体画像データを送る場合、上述したようにテレビ受信機250から取得されたスクリーンサイズに関する情報から得られたスクリーンサイズに合わせた立体画像データを出力して、送信する。
上述したように、ゲーム機210は、ゲーム画像の表示時には、スクリーンサイズの情報に基づいて立体画像データを動的に生成して出力する。立体画像データは、スクリーンサイズの情報の他に、視距離の情報を用いることで、完全に正しい視差で立体画像データ(左眼画像データ、右眼画像データ)を生成できる。視距離は、視聴者からスクリーンまでの距離である。
上述したように、ゲーム機210は、スクリーンサイズの情報に関しては、テレビ受信機250から取得されるスクリーンサイズに関する情報から得ることができ、ユーザの設定なしで、自動取得できる。なお、テレビ受信機250から取得されるスクリーンサイズに関する情報が、上述した“充分大きい”ということを意味する値であるとき、スクリーンサイズ(横幅、高さ)として、予め設定されている、充分に大きな値を用いる。
ゲーム機210は、視距離の情報に関しては、自動取得できず、ユーザが手動設定する必要があるが、この実施の形態において、ゲーム機210は、テレビ受信機250のスクリーンサイズを元に得られた推奨視距離をデフォルト値とする、視距離調整部を備える。テレビ受信機の推奨視距離は、例えば、縦のサイズの2〜3倍などである。ユーザは、例えば、コントロールパッド217を操作して、視距離の調整モードとして、視距離の調整を行う。この場合、例えば、テレビ受信機250の表示パネル262に視距離調整用のGUI画面が表示され、ユーザは、このGUI画面を用いて視距離の調整(設定)を行う。
ゲーム機210は、ユーザが視距離調整の操作をしない場合、デフォルト値をそのまま使用する。このように、デフォルト値のまま使用してもよいし、さらに最適な値に調整したいユーザのみが手動設定するという流れにすることで、ユーザの設定の負担を軽減できる。また、デフォルト値はそれなりに適切な値になるため、ユーザが視距離を新規に一から設定する場合に比べて、視距離を簡単によりよい値に調整できる。
ゲーム画像の立体画像データ(3D CG)の生成、出力の流れを簡単に説明する。
立体画像データを生成する場合、図18に示すように、3D(3次元)空間でモデリングし、2D(2次元)のスクリーンに投影することによって、2Dの画像(左眼画像、右眼画像)を生成する。この図18のモデリング例においては、スクリーン面の奥に直方体のオブジェクトOaと、円柱のオブジェクトObが配置されている。この場合、図19に示すように、スクリーンサイズおよび視距離をパラメータとして用いることにより、正確な視差を持つ2Dの画像(左眼画像、右眼画像)を生成できる。
図20のフローチャートは、ゲーム機210における立体画像データの生成、出力処理の流れを概略的に示している。まず、ゲーム機210は、ステップST1において、初期化処理を行う。この場合、ゲーム機210は、各種ライブラリ・メモリの初期化、VRAM(フレームバッファ)225の設定、出力設定などを含む、各種初期化の処理を行う。
次に、ゲーム機210は、ステップST2において、モデリング処理を行う。このモデリング処理では、描画処理部224は、各描画フレームにおいて、描画対象の各頂点データの計算を行う。この場合、各物体のモデルを構築する。そして、物体毎の「モデル座標系」(「ローカル座標系」)上で、描画する各頂点のデータを計算する。そして、描画する各物体を、「ワールド座標系」の空間に配置する。すなわち、「モデル座標系」上で計算された描画対象の各物体の頂点データを「ワールド座標系」上に配置していく。
次に、ゲーム機210は、ステップST3において、視点・光源の設定処理を行うと共に、ステップST4において、レンダリングを行って、左右の画像データを生成する。立体画像データを生成する場合には、この視点の設定が重要である。この場合、描画処理部224は、左眼画像について、視点・光源設定、レンダリングを行って、左眼画像データを生成し、その後に、右眼画像について、視点・光源設定、レンダリングを行って、右眼画像データを生成する。
視点・光源設定の処理では、視点位置・方向の設定を行う。描画する各物体が配置された「ワールド座標系」において、視点、注視点、上方向ベクトル(視点の姿勢を決めるために、どの方向がカメラの上向きなのかを指定する)、カメラの画角、カメラのアスペクトを設定する。この場合、両眼の感覚だけ離して、左眼用、右眼用の視点の座標を決める。注視点は、左眼用、右眼用で、同じ点を指定する。上方向ベクトルは、左眼・右眼が水平に並ぶように、左眼用、右眼用で同じ方向を指定する。
カメラの画角(視野角)に関しては、テレビ受信機250のスクリーンサイズ、視距離から求められる画角を指定する。この場合、テレビ受信機250から取得したスクリーンサイズに関する情報に基づいて、スクリーンサイズとしての高さ、横幅を求める。視距離については、ユーザが設定した値、あるいはスクリーンサイズを元にした推奨視聴距離(例えば、画面の高さの2〜3倍)といった値を用いる。
カメラの画角として縦方向の画角を指定する場合は、スクリーンサイズの高さと視距離から、実際の視環境における 画角を求めることができる。カメラの画角として横方向の画角を指定する場合は、スクリーンサイズの横幅と視距離から実際の視環境における画角を求めることができる。カメラのアスペクトは、出力する画像のアスペクトを指定する。例えば、Full HD (1920x1080 16:9) で出力する場合は、16:9 となるように指定する。
図21は、カメラの画角およびアスペクトの第1の計算方法の参考図である。この第1の計算方法は、スクリーンサイズが両眼間隔と比べて充分に大きい場合に適用できる。この場合の計算値は、近似値となる。この場合、画角は(1)式で求められ、アスペクトは(2)式で求められる。
[画角]= atan (([スクリーンサイズ] /2 ) / [視距離]) × 2 ・・・(1)
[アスペクト] = [出力する映像のアスペクト] ・・・(2)
図22は、カメラの画角およびアスペクトの第2の計算方法の参考図である。この第2の計算方法では、画角およびアスペクトを、より正確な値で得ることができる。この場合、画角1は(3)式で求められ、画角2は(4)式で求められる。そして、画角は、画角1と画角2の加算値として、(5)式で求められる。
[画角1] = atan (([スクリーンサイズ]/2 − [両眼の間隔]/2) / [視距離])
・・・(3)
[画角2] = atan (([スクリーンサイズ]/2 + [両眼の間隔]/2) / [視距離])
・・・(4) [画角] = [画角1] + [画角2]
= atan (([スクリーンサイズ]/2 − [両眼の間隔]/2) / [視距離])
+ atan (([スクリーンサイズ]/2 + [両眼の間隔]/2) / [視距離])
・・・(5)
また、指定するカメラのアスペクトが [横]/[縦]の場合、アスペクト(横/縦)は、(6)式で求められる。
[アスペクト(横/縦)]
= cos ([画角]/2 ? [画角1]) * [出力する映像のアスペクト(横/縦)]
= cos( atan (([スクリーンサイズ]/2 + [両眼の間隔]/2) / [視距離])
− atan ( ( [スクリーンサイズ] /2 - [両眼の間隔]/2 ) / [視距離]))
* [出力する映像のアスペクト(横/縦)]
・・・(6)
また、指定するカメラのアスペクトが [縦] / [横]の場合、アスペクト(縦/横)は、(6)式の逆数となる。
レンダリングの処理では、テクスチャマッピング、深度テスト、アルファテスト、ステンシルテスト、ブレンディング、各種エフェクト処理などを行い、表示する最終画像に対応した左眼画像データおよび右眼画像データを生成して、VRAM225に展開(描画)する。
次に、ゲーム機210は、ステップST5において、VRAM225(フレームバッファ)に展開(描画)された左眼画像データおよび右眼画像データを読み出し、HDMI送信部212からテレビ受信機250に送信する。このとき、必要に応じて出力用の画像データの規格に合わせて、左眼画像データおよび右眼画像データの配置やサイズが変換されてからHDMI送信部212に供給されて、送信される。
また、上述したように、ゲーム機210は、映画等のコンテンツの再生時にあって、再生画像データが立体画像データであり、ユーザが補正処理を指示した場合、スクリーンサイズの情報に基づいてこの立体画像データを補正して出力する。このように、映像コンテンツを補正して再生する場合は、ゲーム機以外にも Blu-ray Disc Player などの動画再生装置でもよい。
ゲーム機210の描画処理部224は、再生立体画像データ(左眼画像データ、右眼画像データ)から奥行き情報を検出して補正処理を行う。この場合、描画処理部224は、再生立体画像データを構成する左眼画像データおよび右眼画像データを解析し、特徴点を抽出し、左眼画像、右眼画像の間の相関を検出することで、奥行情報を推測できる。そして、描画処理部224は、奥行情報を推測した後、テレビ受信機250のスクリーンサイズ、視距離に基づいて、左眼画像データおよび右眼画像データを補正する。
ゲーム機210における立体画像データの補正、出力処理の流れを説明する。描画処理部224は、まず、奥行き情報の推測を行う。再生立体画像データを構成する左眼(L)画像データおよび右眼(R)画像データを解析し、L,R画像間の相関を求める。立体画像の表示のために撮影されたL,Rの画像は、それぞれカメラの上方向ベクトルは一致していると仮定してよい。
そのため、図23に示すように、L,Rの画像に関して、水平方向のライン単位で、 L,R画像間の相関を求めればよい。この場合、輝度・色情報、輝度・色に対して微分等のフィルタ(エッジ検出)をかけた後の画像情報などを用いて相関を求めることができ、画像の各領域・各点に対して左右のずれを求めることができる。さらに、カメラの撮影条件として、2眼のレンズ間の距離、レンズの角度などの情報が利用できるのであれば、カメラの位置・角度情報と、各領域・各点の左右のずれ情報から、精度高く各領域・各点の奥行情報を推測できる。
図24のような場合は、円筒の物体(オブジェクト)に関しては、スクリーン面より手前で 左右の視線が交差する。そのため、この円筒は基準面(スクリーン面)よりも手前に存在していることがわかる。この場合、奥行きがどのあたりなのかも 計算によって求めることができる。また、直方体の物体(オブジェクト)に関しては、スクリーン面で左右の視線が交差する。そのため、直方体は基準面(スクリーン面)の位置に存在していることがわかる。
この画像の奥行き情報は、図25のように表現できる。すなわち、円筒は基準面より手前、直方体は基準面の位置に存在する。また、物体の位置は左右の領域の中間だと想定することができる。
次に、描画処理部224は、上述のゲーム画像の生成の場合の例で説明した処理の流れと同様にして、L,Rの画像データの補正を行う。この場合、描画処理部224は、モデリングの処理で、推測で求められた物体の位置、奥行き情報をセットし、その後は、視点・光源設定、レンダリング、映像出力の処理を、上述のゲーム画像の生成の場合の例と同様に行う。これにより、既存の立体画像データである再生立体画像データのL,Rの画像データを、テレビ受信機250のスクリーンサイズ、視距離に併せて補正し、HDMI送信部212からテレビ受信機250に送信できる。
図26は、ゲーム機210からテレビ受信機250に、立体画像を表示するための立体画像データ(左眼画像データ、右眼画像データ)を送る際のシーケンスを概略的に示している。立体画像データの送信に先立って、ゲーム機器210は、テレビ受信機250から、E−EDID(図15〜図17参照)を読み出して取得する。
ゲーム機210は、このE−EDIDに含まれるテレビ受信機250が対応可能な画像データのフォーマット情報、テレビ受信機250のスクリーンサイズ情報等を得て、出力解像度を設定し、また、立体画像データを生成、あるいは補正するためのスクリーンサイズ、視距離などの画像生成パラメータを設定する。
その後、ゲーム機210は、設定されたパラメータで立体画像データを生成、あるいは補正してテレビ受信機250に送信する。テレビ受信機250は、ゲーム機210から送られてくる立体画像データを受信し、立体画像を表示する。
上述したように、図1に示すAVシステム200において、ゲーム機210では、テレビ受信機250からスクリーンサイズに関する情報が取得される。そして、このゲーム機210では、スクリーンサイズに合わせた立体画像データが生成され、あるいは、既存の立体画像データがスクリーンサイズに合わせて補正される。そして、このゲーム機210から、テレビ受信機250に、このように生成、あるいは補正された立体画像データが送信される。また、テレビ受信機250では、ゲーム機210から送られてくるスクリーンサイズに合わせた立体画像データにより、立体画像を提示する左眼画像、右眼画像が表示される。したがって、ユーザの手間を増やすことなく、スクリーンサイズに合った立体画像表示が可能になる。
また、図1に示すAVシステム200において、ゲーム機210では、立体画像データの生成、あるいは補正をする際に、スクリーンサイズと視距離の情報が用いられる。ゲーム機210では、ユーザの視距離の設定(調整)がないときは、スクリーンサイズを元に得られた推奨視距離が視距離として用いられる。したがって、ユーザの設定なしに立体画像データの生成、あるいは補正が可能となり、ユーザの手間が軽減される。
また、図1に示すAVシステム200において、ゲーム機210では、スクリーンサイズを元に得られた推奨視距離が、ユーザ設定(調整)のデフォルト値とされる。そのため、ユーザは、最適に近い値から視距離の調整を開始できるので、視距離の調整を効率的に行うことができる。
<2.変形例>
なお、上述実施の形態においては、ゲーム機210とテレビ受信機250をHDMIケーブル350で直接接続したAVシステム200を示した。しかし、ゲーム機210や Blu−ray Disc Player のような 3D動画再生装置とテレビ受信機250の間に、リピータ機器であるAVアンプ、画像変換装置等を接続した構成も考えられる。
図27は、ディスクプレーヤ400とテレビ受信機250との間に、AVアンプ300を接続したAVシステム200Aの構成例を示している。テレビ受信機250は、図1のAVシステム200におけるテレビ受信機250と同じものである。このAVシステム200Aは、ソース機器としてのディスクプレーヤ400と、リピータ機器としてのAVアンプ300と、シンク機器としてのテレビ受信機250を有している。
ディスクプレーヤ400とAVアンプ300は、HDMIケーブル351を介して接続されている。ディスクプレーヤ400には、HDMI送信部(HDMI TX)402が接続されたHDMI端子401が設けられている。AVアンプ300には、HDMI受信部(HDMIRTX)302aが接続されたHDMI端子301aが設けられている。HDMIケーブル351の一端はディスクプレーヤ400のHDMI端子401に接続され、このHDMIケーブル351の他端はAVンプ300のHDMI端子301aに接続されている。
また、AVアンプ300とテレビ受信機250は、HDMIケーブル352を介して接続されている。AVアンプ300には、HDMI送信部(HDMI TX)302bが接続されたHDMI端子301bが設けられている。HDMIケーブル352の一端はAVアンプ300のHDMI端子301bに接続され、このHDMIケーブル352の他端はテレビ受信機250のHDMI端子251に接続されている。
[ディスクプレーヤの構成例]
図28は、ディスクプレーヤ400の構成例を示している。このディスクプレーヤ400は、HDMI端子401と、HDMI送信部402と、ドライブインタフェース403と、BD/DVDドライブ404を有している。また、このディスクプレーヤ400は、デマルチプレクサ405と、MPEGデコーダ406と、映像信号処理回路407と、オーディオデコーダ408と、音声信号処理回路409を有している。
また、このディスクプレーヤ400は、内部バス410と、CPU411と、フラッシュROM412と、DRAM413を有している。また、このディスクプレーヤ400は、イーサネットインタフェース(Ethernet I/F)414と、ネットワーク端子415と、リモコン受信部416と、リモコン送信機417を有している。なお、「イーサネット」および「Ethernet」は登録商標である。CPU411、フラッシュROM412、DRAM413、イーサネットインタフェース414およびドライブインタフェース403は、内部バス410に接続されている。
CPU411は、ディスクプレーヤ400の各部の動作を制御する。フラッシュROM412は、制御ソフトウェアの格納およびデータの保管を行う。DRAM413は、CPU411のワークエリアを構成する。CPU411は、フラッシュROM412から読み出したソフトウェアやデータをDRAM413上に展開してソフトウェアを起動させ、ディスクプレーヤ400の各部を制御する。リモコン受信部416は、リモコン送信機417から送信されたリモーコントロール信号(リモコンコード)を受信し、CPU411に供給する。CPU411は、リモコンコードに従ってディスクプレーヤ400の各部を制御する。
BD/DVDドライブ404は、ディスク状記録メディアとしてのBD,DVD(図示せず)に対して、コンテンツデータを記録し、あるいは、このBD,DVDからコンテンツデータを再生する。このBD/DVDドライブ404は、ドライブインタフェース403を介して内部バス410に接続されている。
デマルチプレクサ405は、BD/DVDドライブ404の再生データから映像、音声等のエレメンタリストリームを分離する。MPEGデコーダ406は、デマルチプレクサ405で分離された映像のエレメンタリストリームに対してデコード処理を行って非圧縮の画像データを得る。
映像信号処理回路407は、MPEGデコーダ406で得られた画像データに対して、必要に応じてスケーリング処理(解像度変換処理)、グラフィックスデータの重畳処理等を行って、HDMI送信部402に供給する。また、この映像信号処理回路407は、MPEGデコーダ406で得られた画像データが立体画像を表示するための立体画像データ(左眼画像データ、右眼画像データ)である場合、上述したゲーム機210の描画処理部224と同様に、この立体画像データを伝送方式に応じた状態に加工処理する。
また、映像信号処理回路407は、MPEGデコーダ406で得られた画像データが立体画像を表示するための立体画像データ(左眼画像データ、右眼画像データ)である場合、ユーザの指示に応じて、この立体画像データの補正を行う。この立体画像データの補正は、上述したゲーム機210の描画処理部224と同様に、テレビ受信機250のスクリーンサイズおよび視距離の情報を用いて行う。
オーディオデコーダ408は、デマルチプレクサ405で分離された音声のエレメンタリストリームに対してデコード処理を行って非圧縮の音声データを得る。音声信号処理回路409は、オーディオデコーダ408で得られた音声データに対して、必要に応じて音質調整処理等を行って、HDMI送信部402に供給する。
HDMI送信部402は、HDMIに準拠した通信により、ベースバンドの画像(映像)と音声のデータを、HDMI端子401から送出する。このHDMI送信部402は、上述したゲーム機210のHDMI送信部212と同様に構成されている。
図28に示すディスクプレーヤ400における映画等のコンテンツの再生時の動作を説明する。
DVD/BDドライブ219の再生データはデマルチプレクサ405に供給され、映像、音声等のエレメンタリストリームに分離される。デマルチプレクサ405で分離された映像のエレメンタリストリームはMPEGデコーダ406に供給されてデコードされ、非圧縮の画像データが得られる。また、デマルチプレクサ405で分離された音声のエレメンタリストリームはオーディオデコーダ408に供給されてデコードされ、非圧縮の音声データが得られる。
MPEGデコーダ406で得られる画像データは、映像信号処理回路407を介してHDMI送信部402に供給される。また、オーディオデコーダ408で得られた音声データは音声信号処理回路409を介してHDMI送信部402に供給される。そして、これら画像および音声のデータは、HDMIのTMDSチャネルにより、HDMI端子401からHDMIケーブルに送出される。
なお、映像信号処理回路407、音声信号処理回路409からHDMI送信部402に供給される画像および音声のデータは、このHDMI送信部4022でパッキングされてHDMI端子401に出力される。画像データが立体画像データ(左眼画像データ、右眼画像データ)である場合には、この立体画像データは、映像信号処理回路407により、伝送方式に応じた状態に加工処理された後に、HDMI送信部402に供給される。
[AVアンプの構成例]
図29は、AVアンプ300の構成例を示している。このAVアンプ300は、HDMI端子301a,301bと、HDMI受信部302aと、HDMI送信部302bを有している。また、このAVアンプ300は、映像・グラフィック処理回路305と、音声処理回路307と、音声増幅回路308と、音声出力端子309a〜309fを有している。また、このAVアンプ300は、内部バス312と、CPU313と、フラッシュROM314と、DRAM315を有している。
HDMI受信部302aは、HDMIに準拠した通信により、HDMIケーブル351を介してHDMI端子301aに供給される非圧縮の映像(画像)と音声のデータを受信する。詳細説明は省略するが、このHDMI受信部302aは、図1のAVシステム200のテレビ受信機250におけるHDMI受信部252と同様の構成とされている。
HDMI送信部302bは、HDMIに準拠した通信により、非圧縮の映像(画像)と音声のデータを、HDMI端子301bからHDMIケーブル352に送出する。詳細説明は省略するが、このHDMI送信部302bは、図1のAVシステム200のゲーム機210におけるHDMI送信部212と同様の構成とされている。
音声処理回路307は、HDMI受信部202aで得られた音声データに対して、例えば5.1chサラウンドを実現するための各チャネルの音声データを生成する処理、所定の音場特性を付与する処理、デジタル信号をアナログ信号に変換する処理等を行う。音声増幅回路308は、音声処理回路307から出力される各チャネルの音声信号を増幅して、音声出力端子309a〜319fに出力する。
また、音声処理回路307は、さらに、HDMI受信部302aで得られた音声データを、必要な処理を施した後に、HDMI送信部302bに供給する。映像・グラフィック処理回路305は、HDMI受信部302aで得られた映像(画像)データを、必要に応じて画像変換処理、グラフィックスデータの重畳処理等の処理を施して、HDMI送信部302bに供給する。
CPU313は、AVアンプ300の各部の動作を制御する。フラッシュROM314は、制御ソフトウェアの格納およびデータの保管を行う。DRAM315は、CPU313のワークエリアを構成する。CPU313は、フラッシュROM314から読み出したソフトウェアやデータをDRAM315上に展開してソフトウェアを起動させ、AVアンプ300の各部を制御する。CPU313、フラッシュROM314およびDRAM315は、内部バス312に接続されている。
図29に示すAVアンプ300の動作を簡単に説明する。
HDMI受信部302aでは、HDMI端子301aにHDMIケーブル351を介して接続されているディスクプレーヤ400から送信されてくる、映像(画像)データおよび音声データが取得される。この映像データおよび音声データは、それぞれ、映像・グラフィック処理回路305および音声処理回路307を介して、HDMI送信部302bに供給され、HDMI端子301bからHDMIケーブル352を介してテレビ受信機250に送信される。これにより、AVアンプ300は、リピータ機能を発揮する。
なお、このAVアンプ300を通じて音声を出力する場合、音声処理回路307では、HDMI受信部302aで得られた音声データに対して、5.1chサラウンドを実現するための各チャネルの音声データを生成する処理、所定の音場特性を付与する処理、デジタル信号をアナログ信号に変換する処理等の必要な処理が施される。そして、各チャネルの音声信号は、音声増幅回路308で増幅された後に音声出力端子319a〜319fに出力される。
図27に示すAVシステム200Aにおいて、ディスクプレーヤ400は、テレビ受信機250のE−EDIDの内容を、AVアンプ300を通じて取得する。そして、ディスクプレーヤ400は、テレビ受信機250が対応可能な画像データのフォーマット(解像度、フレームレート、アスペクト等)情報、スクリーンサイズに関する情報を得る。
そのため、図27に示すAVシステム200Aにおいて、ディスクプレーヤ400は、映像信号処理回路407により、スクリーンサイズに応じて再生立体画像データを補正できる。そして、ディスクプレーヤ400は、この補正された立体画像データを、AVアンプ300を通じて、テレビ受信機250に送信できる。
したがって、図27に示すAVシステム200Aにおいても、図1に示すAVシステム200と同様の作用効果を得ることができる。つまり、ユーザの手間を増やすことなく、テレビ受信機250では、スクリーンサイズに合った立体画像表示が可能になる。
なお、図27に示すAVシステム200Aでは、例えば、AVアンプ300の映像・グラフィック処理回路305に、上述のゲーム機210の描画処理部224と同様の機能を持たせることも考えられる。その場合、例えば、ディスクプレーヤ400から送信された再生立体画像データ(補正前)を、この映像・グラフィック処理回路305において、テレビ受信機250のスクリーンサイズに応じた立体画像データに補正して、テレビ受信機250に送信することが可能となる。
また、上述実施の形態は、HDMIの伝送路を用いるものを示している。しかし、この発明は、HDMI以外の非圧縮映像信号の伝送路、例えば、DVI(Digital Visual Interface)、DP(Display Port)インタフェース、ワイヤレス伝送、さらに今後普及すると思われるギガビットEthernet・光ファイバーの伝送路を用いるものにも同様に適用できる。
例えば、DVIの場合、上述したHDMIと同様に、映像信号の対応画像フォーマット(解像度、フレームレート等)を、受信装置が保有するE−EDIDと呼ばれる領域に記憶する規格が定義されている。
したがって、このDVIの場合、上述したHDMIの場合と同様にして、送信装置は、DDC(Display Data Channel)を用いて受信装置のE−EDIDから上述の対応画像フォーマット情報、スクリーンサイズに関する情報等を取得できる。そのため、送信装置では、受信装置側のスクリーンサイズに合わせた立体画像データを生成でき、あるいは既存の立体画像データを受信装置側のスクリーンサイズに合わせて補正できる。
また、上述実施の形態においては、テレビ受信機250においてE−EDIDにスクリーンサイズに関する情報を記載しておき、ゲーム機210等(ゲーム機210の他に、ディスクプレーヤ400、AVアンプ300を含む)は、このE−EDIDを読み出すことで、テレビ受信機250のスクリーンサイズに関する情報を得るものを示した。
しかし、ゲーム機210等がテレビ受信機250のスクリーンサイズに関する情報を取得する手段は、これに限定されない。例えば、HDMIケーブルの制御データラインであるCECラインを用いて、ゲーム機210等とテレビ受信機250との間で通信を行うことで、ゲーム機210等がテレビ受信機250のスクリーンサイズに関する情報を取得してもよい。
また、例えば、上述したHDMIケーブルの所定ライン(例えば、リザーブライン、HPDライン)を用いて構成される双方向通信路を用いた通信により、ゲーム機210等はディスクプレーヤ400がテレビ受信機250のスクリーンサイズに関する情報を取得してもよい。
また、上述実施の形態において、送信装置がゲーム機210、ディスクプレーヤ400であり、受信装置がテレビ受信機250である例を示した。しかし、送信装置、受信装置は、これらに限定されるものではない。例えば、送信装置としては、ゲーム機210以外に、DVDレコーダ、セットトップボックス、その他のAVソースであってもよい。また、受信装置としては、テレビ受信機250の他に、プロジェクタ、PC用モニタ、その他のディスプレイであってもよい。