以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明は以下の順序で行う。
1.実施の形態
2.変形例
<1.実施の形態>
[画像送受信システム]
図1は、実施の形態としての画像送受信システム10の構成例を示している。この画像送受信システム10は、放送局100と、セットトップボックス(STB)200と、モニタとしてのテレビ受信機300を有している。セットトップボックス200およびテレビ受信機(TV)300は、HDMI(High Definition Multimedia Interface)ケーブル400を介して接続されている。
「放送局の説明」
放送局100は、コンテナとしてのトランスポートストリームTSを放送波に載せて送信する。このトランスポートストリームTSには、立体画像を構成する左眼画像データおよび右眼画像データが符号化されて得られたビデオストリームが含まれる。例えば、左眼画像データおよび右眼画像データは、1つのビデオストリームにより伝送される。この場合、例えば、左眼画像データおよび右眼画像データは、インターリーブ処理され、サイド・バイ・サイド方式あるいはトップ・アンド・ボトム方式の画像データとして構成され、1つのビデオストリームに含まれる。
また、例えば、左眼画像データおよび右眼画像データは、それぞれ、別個のビデオストリームにより伝送される。この場合、例えば、左眼画像データはMVCのベースビュー(base view)のストリームに含まれ、右眼画像データはMVCのノンベースビュー(Nonbase view)のストリームに含まれる。
ビデオストリームには、画像データの所定のピクチャ毎に取得された、左眼画像および右眼画像の一方に対する他方の視差情報(Disparity data)が挿入される。この場合、視差情報の取得は、少なくとも視差情報を送信すべきピクチャで行われることを前提とする。
ここで、ピクチャ毎の視差情報は、第1の視差情報および第2の視差情報からなっている。第1の視差情報は、ピクチャ表示画面の所定領域における最も手前のオブジェクト再生位置に対応した視差情報である。また、第2の視差情報は、ピクチャ表示画面の所定領域における最も奥のオブジェクト再生位置に対応した視差情報である。
スクリーン位置を視差ゼロとすると、オブジェクト再生位置がスクリーンより手前にある場合、この視差情報はマイナス値で得られる(図71のDPa参照)。一方、オブジェクトの再生位置がスクリーンより奥にある場合、この視差情報はプラス値で得られる(図71のDPc参照)。そのため、第1の視差情報として、例えば、所定領域における視差情報のうち、最小値の視差情報が用いられる。また、第2の視差情報として、例えば、所定領域における視差情報のうち、最大値の視差情報が用いられる。
この場合、第1の視差情報および第2の視差情報として、例えば、以下のような取得方法が考えられる。
(1)ピクチャ表示画面を分割情報で分割して得られた各分割領域における第1の視差情報を取得し、ピクチャ表示画面全体における第2の視差情報を取得する。
(2)ピクチャ表示画面を分割情報で分割して得られた各分割領域における第1の視差情報および第2の視差情報を取得する。
(3)ピクチャ表示画面を第1の分割情報で分割して得られた各分割領域における第1の視差情報を取得し、ピクチャ表示画面を第2の分割情報で分割して得られた各分割領域における第2の視差情報を取得する。
(4)ピクチャ表示画面全体における第1の視差情報を取得し、ピクチャ表示画面全体における第2の視差情報を取得する。
ピクチャ表示画面全体、あるいは各分割領域の視差情報は、ブロック(Block)毎の視差情報に対して、ダウンサイジング処理を施すことで、取得される。図2は、ブロック(Block)毎の視差情報(視差ベクトル)の一例を示している。
図3は、ブロック単位の視差情報の生成方法の一例を示している。この例は、左眼ビュー(Left-View)から右眼ビュー(Right-View)を指し示す視差情報を求める例である。この場合、左眼ビューのピクチャに、例えば4*4、8*8あるいは16*16などの画素ブロック(視差検出ブロック)が設定される。
図示のように、左眼ビューのピクチャが検出画像とされ、右眼ビューのピクチャが参照画像とされて、左眼ビューのピクチャのブロック毎に、画素間の差分絶対値和が最小となるように、右眼ビューのピクチャのブロック探索がされて、視差データが求められる。
すなわち、N番目のブロックの視差情報DPnは、例えば、以下の(1)式に示すように、このN番目のブロックにおける差分絶対値和が最小となるようにブロック探索されて求められる。なお、この(1)式において、Djは右眼ビューのピクチャにおける画素値、Diは左眼ビューのピクチャにおける画素値を示している。
DPn = min ( Σ abs( differ (Dj - Di))) ・・・(1)
図4は、ダウンサイジング処理の一例を示している。図4(a)は、上述したように求められたブロック毎の視差情報を示している。このブロック毎の視差情報に基づいて、図4(b)に示すように、グループ(Group Of Block)毎の第1の視差情報および第2の視差情報が求められる。グループは、ブロックの上位層に当たり、複数個の近接するブロックをまとめてグループ化することで得られる。図4(b)の例では、各グループは、破線枠で括られる4個のブロックにより構成されている。そして、各グループの第1の視差情報は、例えば、そのグループ内の全ブロックの視差情報から最小の値の視差情報が選択されることで得られる。また、各グループの第2の視差情報は、例えば、そのグループ内の全ブロックの視差情報から最大の値の視差情報が選択されることで得られる。
次に、このグループ毎の視差ベクトルに基づいて、図4(c)に示すように、パーティション(partition)毎の第1の視差情報および第2の視差情報が求められる。パーティションは、グループの上位層に当たり、複数個の近接するグループをまとめてグループ化することで得られる。図4(c)の例では、各パーティションは、破線枠で括られる2個のグループにより構成されている。そして、各パーティションの第1の視差情報は、例えば、そのパーティション内の全グループの第1の視差情報から、最小の値の第1の視差情報が選択されることで得られる。また、各パーティションの第2の視差情報は、例えば、そのパーティション内の全グループの第2の視差情報から、最大の値の第2の視差情報が選択されることで得られる。
次に、このパーティション毎の視差情報に基づいて、図4(d)に示すように、最上位層に位置するピクチャ全体(ピクチャ表示画面全体)の第1の視差情報および第2の視差情報が求められる。図4(d)の例では、ピクチャ全体には、破線枠で括られる4個のパーティションが含まれている。そして、ピクチャ全体の第1の視差情報は、例えば、ピクチャ全体に含まれる全パーティションの第1の視差情報から、最小の値の第1の視差情報が選択されることで得られる。また、ピクチャ全体の第2の視差情報は、例えば、ピクチャ全体に含まれる全パーティションの第2の視差情報から、最大の値の第2の視差情報が選択されることで得られる。
ピクチャ表示画面は分割情報に基づいて分割され、上述したように各分割領域の視差情報が取得される。この場合、符号化ブロック境界を跨がないようにピクチャ表示画面が分割される。図5は、ピクチャ表示画面の分割詳細例を示している。この例は、1920*1080のピクセルフォーマットの例であって、水平、垂直にそれぞれ2分割され、Partition A,Partition B,Partition C,Partition Dの4つの分割領域が得られる例である。送信側では、16×16のブロック毎に符号化が行われるために、ブランクデータからなる8ラインが付加されて、1920画素*1088ラインの画像データとして符号化が行われる。そこで、垂直方向に関しては、1088ラインを元に2分割されている。
上述したように、ビデオストリームには、画像データの所定のピクチャ(フレーム)毎に取得された、ピクチャ表示画面全体あるいは各分割領域(Partition)の視差情報(第1の視差情報、第2の視差情報)が挿入される。図6は、各分割領域の視差情報の推移例を模式的に示している。この例は、水平、垂直にそれぞれ4分割され、Partition 0 〜 Partition 15 までの16個の分割領域が存在する例である。この例では、図面の簡単化のため、Partition 0,Partition 3,Partition 9,Partition 15の視差情報D0,D3,D9,D15の推移のみを示している。各視差情報の値は、時間と共に値が変化する場合(D0,D3,D9)と固定である場合(D15)とがある。
画像データの所定のピクチャ毎に取得された視差情報は、ビデオストリームに、ピクチャ単位、あるいはGOP単位などの単位で挿入される。図7(a)は、ピクチャの符号化に同期させる例、つまりビデオストリームに視差情報をピクチャ単位で挿入する例を示している。この例においては、画像データを送信する際の遅延が少なくて済み、カメラで撮像した画像データを送信するライブ放送に適するものとなる。
図7(b)は、符号化ビデオのIピクチャ(Intra picture)、またはGOP(Group Of Pictures)に同期させる例、つまりビデオストリームに視差情報をGOP単位で挿入する例を示している。この例においては、図7(a)の例に比べて、画像データを送信する際の遅延が大きくなるが、複数のピクチャ(フレーム)の視差情報がまとめて送信されるので、受信側における視差情報の取得処理の回数を低減できる。図7(c)は、ビデオのシーンに同期させる例、つまりビデオストリームに視差情報をシーン単位で挿入する例を示している。なお、図7(a)〜(c)は一例であって、その他の単位で挿入することも考えられる。
また、トランスポートストリームTSのレイヤに、ビデオストリームに視差情報(第1の視差情報、第2の視差情報)の挿入があるか否かを識別するための識別情報が挿入されるようにしてもよい。この識別情報は、例えば、トランスポートストリームTSに含まれるプログラム・マップ・テーブル(PMT:Program Map Table)の配下、あるいはイベント・インフォメーション・テーブル(EIT:Event Information Table)の配下に挿入される。この識別情報により、受信側では、ビデオストリームに視差情報の挿入があるか否かを容易に識別可能となる。この識別情報の詳細については後述する。
「送信データ生成部の構成例」
図8は、放送局100において、上述したトランスポートストリームTSを生成する送信データ生成部110の構成例を示している。この送信データ生成部110は、画像データ出力部111L,111Rと、スケーラ112L,112Rと、ビデオエンコーダ113と、マルチプレクサ114と、視差データ生成部115を有している。また、この送信データ生成部110は、サブタイトルデータ出力部116と、サブタイトルエンコーダ117と、音声データ出力部118と、オーディオエンコーダ119を有している。
画像データ出力部111L,111Rは、それぞれ、立体画像を構成する左眼画像データVL、右眼画像データVRを出力する。画像データ出力部111L,111Rは、例えば、被写体を撮像して画像データを出力するカメラ、あるいは記憶媒体から画像データを読み出して出力する画像データ読み出し部などにより構成される。画像データVL,VRは、例えば、1920*1080のフルHDのサイズの画像データである。
スケーラ112L,112Rは、それぞれ、画像データVL,VRに対して、必要に応じて、水平方向や垂直方向のスケーリング処理を行う。例えば、画像データVL,VRを1つのビデオストリームで伝送するために、サイド・バイ・サイド方式あるいはトップ・アンド・ボトム方式の画像データを構成する場合には、水平方向あるいは垂直方向に1/2にスケールダウンして出力する。また、例えば、画像データVL,VRを、MVCのベースビューストリーム、ノンベースビューストリームのように、それぞれ、別個のビデオストリームで伝送する場合には、スケーリング処理を行うことなく、画像データVL,VRをそのまま出力する。
ビデオエンコーダ113は、スケーラ112L,112Rから出力される左眼画像データ、右眼画像データに対して、例えば、MPEG4−AVC(MVC)、MPEG2video、あるいはHEVC(High Efficiency Video Coding)などの符号化を施して、符号化ビデオデータを得る。また、このビデオエンコーダ113は、後段に備えるストリームフォーマッタ(図示せず)により、この符号化データを含むビデオストリームを生成する。この場合、ビデオエンコーダ113は、左眼画像データ、右眼画像データの符号化ビデオデータを含む1つあるいは2つのビデオストリーム(ビデオエレメンタリストリーム)を生成する。
視差データ生成部115は、画像データ出力部111L,111Rから出力される左眼画像データVL、右眼画像データVRに基づいて、ピクチャ(フレーム)毎に、視差情報を生成する。視差データ生成部115は、ピクチャ毎に、上述したようにブロック(Block)毎の視差情報を取得する。なお、視差データ生成部115は、画像データ出力部111L,111Rが記憶媒体を有する画像データ読み出し部である場合、ブロック(Block)毎の視差情報を、画像データと共に記憶媒体から読み出して取得する構成も考えられる。また、ビデオエンコーダ113の中の右眼画像データと左眼画像データとの間で行われるブロックマッチングの結果を利用して視差情報を検出する方法も考えられる。
また、視差情報生成部115は、ブロック(Block)毎の視差情報に対してダウンサイジング処理を行って、ピクチャ表示画面全体、あるいはピクチャ表示画面を分割して得られる各分割領域(Partition)の第1の視差情報および第2の視差情報を生成する。なお、視差情報生成部115には、例えばユーザ操作により、第1の視差情報および第2の視差情報の取得方法の情報が与えられる。すなわち、ピクチャ表示画面全体における視差情報を生成する、あるいはピクチャ表示画面を所定数に分割して得られた各分割領域における視差情報を生成する、などの情報が与えられる。
ビデオエンコーダ113は、視差データ生成部115で生成されたピクチャ毎の第1の視差情報および第2の視差情報を、ビデオストリームに挿入する。この場合、例えば、ピクチャ毎の視差情報は、ビデオストリームに、ピクチャ単位、あるいはGOP単位で挿入される(図7参照)。なお、左眼画像データおよび右眼画像データがそれぞれ別個のビデオデータで伝送されるには、いずれかのビデオストリームにのみ挿入されてもよい。
サブタイトルデータ出力部116は、画像に重畳するサブタイトル(字幕)のデータを出力する。このサブタイトルデータ出力部116は、例えば、パーソナルコンピュータなどにより構成される。サブタイトルエンコーダ117は、サブタイトルデータ出力部116から出力されたサブタイトルデータを含むサブタイトルストリーム(サブタイトルエレメンタリストリーム)を生成する。なお、サブタイトルエンコーダ117は、視差データ生成部115で生成されるブロック毎の視差情報を参照し、サブタイトルデータに、サブタイトルの表示位置に対応した視差情報を付加する。すなわち、サブタイトルストリームに含まれるサブタイトルデータは、サブタイトルの表示位置に対応した視差情報を持つものとなる。
音声データ出力部118は、画像データに対応した音声データを出力する。この音声データ出力部118は、例えば、マイクロホン、あるいは記憶媒体から音声データを読み出して出力する音声データ読み出し部などにより構成される。オーディオエンコーダ119は、音声データ出力部118から出力される音声データに対して、MPEG−2Audio、AAC等の符号化を施し、オーディオストリーム(オーディオエレメンタリストリーム)を生成する。
マルチプレクサ114は、ビデオエンコーダ113、サブタイトルエンコーダ117およびオーディオエンコーダ119で生成された各エレメンタリストリームをPESパケット化して多重し、トランスポートストリームTSを生成する。この場合、それぞれのPES(Packetized Elementary Stream)パケットのヘッダには、受信側における同期再生のために、PTS(Presentation Time Stamp)が挿入される。
マルチプレクサ114は、トランスポートストリームTSのレイヤに、上述した識別情報を挿入する。この識別情報は、ビデオストリームに視差情報(第1の視差情報、第2の視差情報)の挿入があるか否かを識別するための情報である。この識別情報は、例えば、トランスポートストリームTSに含まれるプログラム・マップ・テーブル(PMT:Program Map Table)の配下、あるいはイベント・インフォメーション・テーブル(EIT:Event Information Table)の配下などに挿入される。
図8に示す送信データ生成部110の動作を簡単に説明する。画像データ出力部111L,111Rから出力される立体画像を構成する左眼画像データVL、右眼画像データVRは、それぞれ、スケーラ112L,112Rに供給される。スケーラ112L,112Rは、それぞれ、画像データVL,VRに対して、必要に応じて、水平方向や垂直方向のスケーリング処理が行われる。スケーラ112L,112Rから出力される左眼画像データ、右眼画像データは、ビデオエンコーダ113に供給される。
ビデオエンコーダ113では、左眼画像データ、右眼画像データに対して、例えば、MPEG4−AVC(MVC)、MPEG2video、あるいはHEVCなどの符号化が施されて、符号化ビデオデータが得られる。また、このビデオエンコーダ113では、後段に備えるストリームフォーマッタにより、この符号化データを含むビデオストリームが生成される。この場合、左眼画像データ、右眼画像データの符号化ビデオデータを含む1つあるいは2つのビデオストリームが生成される。
また、画像データ出力部111L,111Rから出力される立体画像を構成する左眼画像データVL、右眼画像データVRは、視差データ生成部115に供給される。この視差データ生成部115では、ピクチャ毎に、ブロック(Block)毎の視差情報が取得される。そして、この視差データ生成部115では、さらに、ブロック(Block)毎の視差情報に対してダウンサイジング処理が行われて、ピクチャ表示画面全体、あるいはピクチャ表示画面を分割して得られた各分割領域における第1の視差情報および第2の視差情報が生成される。
視差データ生成部115で生成されるピクチャ毎の第1の視差情報および第2の視差情報は、ビデオエンコーダ113に供給される。ビデオエンコーダ113では、ビデオストリームに、ピクチャ毎の第1の視差情報および第2の視差情報が、ピクチャ単位、あるいはGOP単位で挿入される。
また、サブタイトルデータ出力部116では、画像に重畳するサブタイトル(字幕)のデータが出力される。このサブタイトルデータは、サブタイトルエンコーダ117に供給される。サブタイトルエンコーダ117では、サブタイトルデータを含むサブタイトルストリームが生成される。この場合、サブタイトルエンコーダ117では、視差データ生成部115で生成されるブロック毎の視差情報が参照され、サブタイトルデータに、表示位置に対応した視差情報が付加される。
また、音声データ出力部118では、画像データに対応した音声データが出力される。この音声データは、オーディオエンコーダ119に供給される。このオーディオエンコーダ119では、音声データに対して、MPEG−2Audio、AAC等の符号化が施され、オーディオストリームが生成される。
ビデオエンコーダ113で得られるビデオストリーム、サブタイトルエンコーダ117で得られるサブタイトルストリームおよびオーディオエンコーダ119で得られるオーディオストリームは、それぞれ、マルチプレクサ114に供給される。マルチプレクサ114では、各エンコーダから供給されるエレメンタリストリームがPESパケット化されて多重され、トランスポートストリームTSが生成される。この場合、それぞれのPESヘッダには、受信側における同期再生のために、PTSが挿入される。また、マルチプレクサ114では、PMTの配下、あるいはEITの配下などに、ビデオストリームに視差情報の挿入があるか否かを識別するための識別情報が挿入される。
[識別情報、視差情報の構造、TS構成]
図9は、トランスポートストリームTSの構成例を示している。この構成例では、左眼画像データおよび右眼画像データがそれぞれ別個のビデオストリームで伝送される例を示している。すなわち、左眼画像データが符号化されているビデオストリームのPESパケット「video PES1」および右眼画像データが符号化されているビデオストリームのPESパケット「video PES2」が含まれている。また、この構成例では、サブタイトルデータ(視差情報を含む)が符号化されているサブタイトルストリームのPESパケット「subtitle PES3」および音声データが符号化されているオーディオストリームのPESパケット「audio PES4」が含まれている。
ビデオストリームのユーザデータ領域には、ピクチャ毎の第1の視差情報および第2の視差情報を含むデプス・インフォメーション・SEI(depth_information_sei())が挿入されている。例えば、ピクチャ毎の視差情報がピクチャ単位で挿入される場合、このデプス・インフォメーション・SEIは、ビデオストリームの各ピクチャのユーザデータ領域に挿入される。また、例えば、ピクチャ毎の視差情報がGOP単位で挿入される場合、このデプス・インフォメーション・SEIは、ビデオストリームのGOPの先頭あるいはシーケンス・パラメータ情報が挿入される位置に相当するピクチャのユーザデータ領域に挿入される。なお、この構成例では、2つのビデオストリームの双方にデプス・インフォメーション・SEIが挿入されるように示しているが、一方のビデオストリームのみに挿入されてもよい。
トランスポートストリームTSには、PSI(Program Specific Information)として、PMT(Program Map Table)が含まれている。このPSIは、トランスポートストリームTSに含まれる各エレメンタリストリームがどのプログラムに属しているかを記した情報である。また、トランスポートストリームTSには、イベント単位の管理を行うSI(Serviced Information)としてのEIT(Event Information Table)が含まれている。
PMTの配下に、各エレメンタリストリームに関連した情報を持つエレメンタリ・ループが存在する。このエレメンタリ・ループには、ストリーム毎に、パケット識別子(PID)などの情報が配置されると共に、そのエレメンタリストリームに関連する情報を記述するデスクリプタも配置される。
上述したビデオストリームに視差情報(第1の視差情報、第2の視差情報)が挿入されているか否かを示す識別情報を挿入する場合、例えば、プログラム・マップ・テーブルのビデオエレメンタリ・ループの配下に挿入されるデスクリプタ(descriptor)に記述される。このデスクリプタは、例えば、既存のAVC・ビデオ・デスクリプタ(AVC video descriptor)あるいはMVC・エクステンション・デスクリプタ(MVC_extension_descriptor)、または、新規に定義されるデプス・インフォ・デスクリプタ(Depth_info_descriptor)である。なお、デプス・インフォ・デスクリプタに関しては、破線図示するように、EITの配下に挿入することも考えられる。
図10(a)は、識別情報が記述されたAVC・ビデオ・デスクリプタ(AVC video descriptor)の構造例(Syntax)を示している。このデスクリプタは、ビデオがMPEG4−AVC Frame compatible フォーマットの場合に適用できる。このデスクリプタ自体は、既にH.264/AVCの規格に入っている。ここでは、このデスクリプタに、「depth_info_not_existed_flag[0]」の1ビットのフラグ情報が、新たに、定義される。
このフラグ情報は、図10(b)の規定内容(semantics)に示すように、対応するビデオストリームに、ピクチャ毎の視差情報を含むデプス・インフォメーション・SEI(depth_information_sei())が挿入されているか否かを示す。このフラグ情報が“0”であるときは挿入されていることを示す。一方、このフラグ情報が“1”であるときは挿入されていないことを示す。
図11(a)は、識別情報が記述されたMVC・エクステンション・デスクリプタ(MVC extension descriptor)の構造例(Syntax)を示している。このデスクリプタは、ビデオがMPEG4−AVCAnnex H MVC フォーマットの場合に適用できる。このデスクリプタ自体は、既にH.264/AVCの規格に入っている。ここでは、このデスクリプタに、「depth_info_not_existed_flag」の1ビットのフラグ情報が、新たに、定義される。
このフラグ情報は、図11(b)の規定内容(semantics)に示すように、対応するビデオストリームに、ピクチャ毎の視差情報を含むデプス・インフォメーション・SEI(depth_information_sei())が挿入されているか否かを示す。このフラグ情報が“0”であるときは挿入されていることを示す。一方、このフラグ情報が“1”であるときは挿入されていないことを示す。
図12(a)は、デプス・インフォ・デスクリプタ(depth_info_descriptor)の構造例(Syntax)を示している。「descriptor_tag」の8ビットフィールドは、このデスクリプタが「depth_info_descriptor」であることを示す。「descriptor_length」の8ビットフィールドは、以降のデータバイト数を示す。そして、このデスクリプタに、「depth_info_not_existed_flag」の1ビットのフラグ情報が記述されている。
このフラグ情報は、図12(b)の規定内容(semantics)に示すように、対応するビデオストリームに、ピクチャ毎の視差情報を含むデプス・インフォメーション・SEI(depth_information_sei())が挿入されているか否かを示す。このフラグ情報が“0”であるときは挿入されていることを示す。一方、このフラグ情報が“1”であるときは挿入されていないことを示す。
次に、ピクチャ毎の視差情報を含むデプス・インフォメーション・SEI(depth_information_sei())を、ビデオストリームのユーザデータ領域に挿入する場合について説明する。
例えば、符号化方式がAVCである場合、「depth_information_sei()」は、アクセスユニットの“SEIs”の部分に、「depth_information SEI message」として、挿入される。図13(a)は、GOP(Group Of Pictures)の先頭のアクセスユニットを示しており、図13(b)は、GOPの先頭以外のアクセスユニットを示している。ピクチャ毎の視差情報がGOP単位で挿入される場合には、GOPの先頭のアクセスユニットにのみ「depth_information SEI message」が挿入される。
図14(a)は、「depth_information SEI message」の構造例(Syntax)を示している。「uuid_iso_iec_11578」は、“ISO/IEC 11578:1996AnnexA.”で示されるUUID値をもつ。「user_data_payload_byte」のフィールドに、「depth_information_sei_data()」が挿入される。図14(b)は、「depth_information_sei_data()」の構造例(Syntax)を示している。この中に、デプス・インフォメーション・SEI(depth_information_sei())が挿入される。「userdata_id」は、符号なし16ビットで示される「depth_information_sei()」の識別子である。
図15、図16および図17は、それぞれ、ピクチャ毎の視差情報をピクチャ単位で挿入する場合における「depth_information_sei()」の構造例(Syntax)を示している。図18には、これらの構造例における主要な情報の内容(Semantics)が示されている。
図15は、上述の(1)「ピクチャ表示画面を分割情報で分割して得られた各分割領域における第1の視差情報を取得し、ピクチャ表示画面全体における第2の視差情報を取得する」という取得方法に対応した構造例(Syntax)を示している。
「partition_type」の3ビットフィールドは、ピクチャ表示画面の分割タイプを示す。“000”は分割なしを示し、“001”は水平、垂直を各々2等分することを示し、“010”は水平、垂直を各々4等分することを示す。
「partition_count」の4ビットフィールドは、分割領域(Partition)の総数を示し、上述の「partition_type」に依存した値となる。例えば、「partition_type=000」であるとき、図19(a)に示すように、分割領域(Partition)の総数は「1」である。また、例えば、「partition_type=001」であるとき、図19(b)に示すように、分割領域(Partition)の総数は「4」である。また、例えば、「partition_type=010」であるとき、図19(c)に示すように、分割領域(Partition)の総数は「16」である。
「max_disparity_in_picture」の8ビットフィールドは、ピクチャ表示画面全体の第2の視差情報、つまりピクチャ全体の最大の視差情報(disparity値)を示す。「min_disparity_in_partition」の8ビットフィールドは、各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)を示す。
図16は、上述の(2)「ピクチャ表示画面を分割情報で分割して得られた各分割領域における第1の視差情報および第2の視差情報を取得する」という取得方法に対応した構造例(Syntax)を示している。この図16において、図15と対応する部分は、適宜、その説明を省略する。
「partition_type」の3ビットフィールドは、ピクチャ表示画面の分割タイプを示す。「partition_count」の4ビットフィールドは、分割領域(Partition)の総数を示し、上述の「partition_type」に依存した値となる。「max_disparity_in_partition」の8ビットフィールドは、各分割領域(Partition)の第2の視差情報、つまり各分割領域における最大の視差情報(disparity値)を示す。「min_disparity_in_partition」の8ビットフィールドは、各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)を示す。
図17は、上述の(3)「ピクチャ表示画面を第1の分割情報で分割して得られた各分割領域における第1の視差情報を取得し、ピクチャ表示画面を第2の分割情報で分割して得られた各分割領域における第2の視差情報を取得するという取得方法に対応した構造例(Syntax)を示している。この図17において、図15、図16と対応する部分は、適宜、その説明を省略する。
「partition_type」の3ビットフィールドは、第1の視差情報の取得に係るピクチャ表示画面の分割タイプを示す。「min_partition_count」の4ビットフィールドは、第1の視差情報が取得される分割領域(Partition)の総数を示し、上述の「partition_type」に依存した値となる。「min_disparity_in_partition」の8ビットフィールドは、各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)を示す。
「max_partition_count」の4ビットフィールドは、第2の視差情報が取得される分割領域(Partition)の総数を示す。「max_disparity_in_partition」の8ビットフィールドは、各分割領域(Partition)の第2の視差情報、つまり各分割領域における最大の視差情報(disparity値)を示す。
図20、図21および図22は、それぞれ、ピクチャ毎の視差情報をGOP単位で挿入する場合のように、複数のピクチャをまとめて符号化する場合における、「depth_information_sei()」の構造例(Syntax)を示している。図18には、これらの構造例における主要な情報の内容(Semantics)が示されている。
図20は、上述の(1)「ピクチャ表示画面を分割情報で分割して得られた各分割領域における第1の視差情報を取得し、ピクチャ表示画面全体における第2の視差情報を取得する」という取得方法に対応した構造例(Syntax)を示している。この図20において、上述の図15と対応する部分は、適宜、その詳細説明を省略する。
「picture_count」の6ビットフィールドは、ピクチャ数を示す。この「depth_information_sei()」には、ピクチャ数分の第1の視差情報および第2の視差情報が含まれる。「partition_count」の4ビットフィールドは、分割領域(Partition)の総数を示す。「max_disparity_in_picture」の8ビットフィールドは、ピクチャ表示画面全体の第2の視差情報、つまりピクチャ全体の最大の視差情報(disparity値)を示す。「min_disparity_in_partition」の8ビットフィールドは、各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)を示す。詳細説明は省略するが、図20の構造例のその他は、図15に示す構造例と同様である。
図21は、上述の(2)「ピクチャ表示画面を分割情報で分割して得られた各分割領域における第1の視差情報および第2の視差情報を取得する」という取得方法に対応した構造例(Syntax)を示している。この図21において、図16、図20と対応する部分は、適宜、その説明を省略する。
「picture_count」の6ビットフィールドは、ピクチャ数を示す。この「depth_information_sei()」には、ピクチャ数分の第1の視差情報および第2の視差情報が含まれる。「partition_count」の4ビットフィールドは、分割領域(Partition)の総数を示す。「max_disparity_in_partition」の8ビットフィールドは、各分割領域(Partition)の第2の視差情報、つまり各分割領域における最大の視差情報(disparity値)を示す。「min_disparity_in_partition」の8ビットフィールドは、各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)を示す。詳細説明は省略するが、図21の構造例のその他は、図16に示す構造例と同様である。
図22は、上述の(3)「ピクチャ表示画面を第1の分割情報で分割して得られた各分割領域における第1の視差情報を取得し、ピクチャ表示画面を第2の分割情報で分割して得られた各分割領域における第2の視差情報を取得するという取得方法に対応した構造例(Syntax)を示している。この図22において、図17、図20、図21と対応する部分は、適宜、その説明を省略する。
「picture_count」の6ビットフィールドは、ピクチャ数を示す。この「depth_information_sei()」には、ピクチャ数分の第1の視差情報および第2の視差情報が含まれる。「min_partition_count」の4ビットフィールドは、第1の視差情報が取得される分割領域(Partition)の総数を示し、「max_partition_count」の4ビットフィールドは、第2の視差情報が取得される分割領域(Partition)の総数を示す。
「min_disparity_in_partition」の8ビットフィールドは、各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)を示す。「max_disparity_in_partition」の8ビットフィールドは、各分割領域(Partition)の第2の視差情報、つまり各分割領域における最大の視差情報(disparity値)を示す。詳細説明は省略するが、図22の構造例のその他は、図17に示す構造例と同様である。
なお、上述では符号化方式がAVCである場合について説明した。例えば、符号化方式がMPEG2videoである場合、「depth_information_sei()」は、ピクチャヘッダ部のユーザデータ領域に、ユーザデータ「user_data()」として挿入される。図23(a)は、「user_data()」の構造例(Syntax)を示している。「user_data_start_code」の32ビットフィールドは、ユーザデータ(user_data)の開始コードであり、“0x000001B2”の固定値とされる。
この開始コードに続く32ビットフィールドは、ユーザデータの内容を識別する識別子である。ここでは、「depth_information_sei_data_identifier」とされ、ユーザデータが、「depth_information_sei_data」であることを識別可能とする。この識別子の後のデータ本体として、「depth_information_sei_data()」が挿入される。図23(b)は、「depth_information_sei_data()」の構造例(Syntax)を示している。この中に、「depth_information_sei()」が挿入される(図15〜図17、図20〜図22参照)。
なお、符号化方式がAVCあるいはMPEG2videoである場合におけるビデオストリームへの視差情報の挿入例について説明した。詳細説明は省略するが、その他の同様の構造の符号化方式、例えばHEVCなどにあっても、ビデオストリームへの視差情報の挿入を同様の構造で行うことができる。
「送信データ生成部の他の構成例」
上述の図8に示す送信データ生成部110においては、視差データ生成部115で生成されたピクチャ毎の視差情報(第1の視差情報、第2の視差情報)をそのままの状態でビデオストリームに挿入する例を示した。しかし、このピクチャ毎の視差情報を、圧縮符号化処理を施してデータ量を低減した後に、ビデオストリームに挿入することも考えられる。
図24は、その場合における送信データ生成部110Aの構成例を示している。この図24において、図8と対応する部分には同一符号を付し、その詳細説明は省略する。この送信データ生成部110Aは、圧縮符号化部120を有している。この圧縮符号化部120は、視差データ生成部115で生成されたピクチャ毎の視差情報(第1の視差情報、第2の視差情報)に圧縮符号化処理を施し、データ量の低減を図る。
この圧縮符号化部120は、例えば、圧縮符号化処理として可変長符号を用いた処理を行う。ビデオエンコーダ113は、圧縮符号化部120で圧縮符号化された後の各ピクチャの視差情報(第1の視差情報、第2の視差情報)をビデオストリームに挿入する。この図24に示す送信データ生成部110Aのその他は、図8に示す送信データ生成部110と同様に構成され、同様に動作する。
図25は、圧縮符号化部120の概略構成例を示している。この圧縮符号化部120は、バッファ121と、減算器122と、可変長符号化部122を有している。バッファ121は、入力されるピクチャ毎の視差情報を一時的に記憶する。減算器122は、ピクチャ間の差分データを取得する。可変長符号化部122は、可変長符号化を行う。この可変長符号化部120は、可変長符号として、例えば、図26に示す「Exp-Golomb 符号 se(v)」を用いるが、その他の可変長符号を用いることも考えられる。
この圧縮符号化部120は、非予測タイプ(Non-Prediction Type)あるいは予測タイプ(Prediction Type)のいずれかで圧縮符号化の処理を行う。最初に非予測タイプの圧縮符号化処理について説明する。この場合、符号化処理部120では、入力される各ピクチャの視差情報そのものに対して、可変長符号化が行われる。したがって、この非予測タイプでの圧縮符号化処理では、図25に示す圧縮符号化部120において、入力される各ピクチャの視差情報はそのまま可変長符号化部123に供給される。
図27は、予測を行わない、非予測タイプ(Non-Prediction Type)のみの場合を示している。図27(a)は、Iピクチャ、Pピクチャ、Bピクチャのビデオスライス(Video Slice)の表示順の一例を示している。各ビデオスライスに対応して各ピクチャの視差情報(「SEI」で図示)が存在する。図27(b)は、各ピクチャのデコード順(エンコード順)を示している。各ピクチャの視差情報はそのまま、つまりイントラデータ(「Intra」で図示)の状態で可変長符号化される。
この非予測タイプの場合、SEI予測をしないのでアクセスユニット単位のSEIバッファリングが不要となるが、SEI予測をしないので、予測を行う場合と比較して符号化効率が劣る。
次に、予測タイプの圧縮符号化処理について説明する。この場合、符号化処理部120では、入力される各ピクチャの視差情報のうち、参照ピクチャでは、被参照ピクチャとの間の差分データが取得され、その差分データに対して可変長符号化が行われる。したがって、この予測タイプでの圧縮符号化処理では、図25に示す圧縮符号化部120において、参照ピクチャでは、減算器122において、被参照ピクチャとの間の差分データが取られて可変長符号化部123に供給される。
この予測タイプ(Prediction Type)として、表示順にSEIを予測参照するタイプ(予測タイプ0:Prediction Type 0)が考えられる。図28は、予測タイプ0(PredictionType 0)の場合を示している。図28(a)は、Iピクチャ、Pピクチャ、Bピクチャのビデオスライス(VideoSlice)の表示順の一例を示している。図中、矢印は予測をおこなう時の予測対象を示す。各ビデオスライスに対応して各ピクチャの視差情報(「SEI」で図示)が存在する。
図28(b)は、各ピクチャのデコード順(エンコード順)を示している。各ピクチャの視差情報は、Iピクチャの視差情報は、そのまま、つまりイントラデータ(「Intra」で図示)の状態で可変長符号化される。そして、Iピクチャに続く、Bピクチャ、Pピクチャの視差情報に関しては、表示順で直前のピクチャが被参照ピクチャとされて差分データ(「Delta」で図示)がとられ、この差分データが可変長符号化される。この図28(b)において、各ピクチャからの矢印の先は、そのピクチャが参照する被参照ピクチャを示している。
この予測タイプ0(Prediction Type 0)の場合、表示順でSEI予測をするので、差分データの値を小さく抑えることができ、符号化効率が最も高くなる。しかし、SEI予測順がビデオエンコード順と一致しないので、SEIをバッファに溜める必要がある。また、Bスキップ(B skip)などの特殊再生に不向きである。
また、予測タイプ(Prediction Type)として、デコード順にSEIを予測参照するタイプが考えられる。そして、この予測タイプとして、ビデオピクチャタイプと合わせたSEI予測を行うタイプ(予測タイプ1:Prediction Type 1)が考えられる。図29は、予測タイプ1(Prediction Type 1)の場合を示している。図29(a)は、Iピクチャ、Pピクチャ、Bピクチャのビデオスライス(VideoSlice)の表示順の一例を示している。各ビデオスライスに対応して各ピクチャの視差情報(「SEI」で図示)が存在する。
図29(b)は、各ピクチャのデコード順を示している。Iピクチャの視差情報は、そのまま、つまりイントラデータ(「Intra」で図示)の状態で可変長符号化される。そして、Iピクチャに続く、Bピクチャ、Pピクチャの視差情報に関しては、デコード順で、ビデオピクチャタイプと合わせたピクチャが被参照ピクチャとされて差分データ(「Delta」で図示)がとられ、この差分データが可変長符号化される。この図29(b)において、各ピクチャからの矢印の先は、そのピクチャが参照する被参照ピクチャを示している。
この予測タイプ1(Prediction Type 1)の場合、SEI予測順は、ビデオのピクチャタイプを含め、ビデオ符号化順に一致する。ライブエンコーディング向きであり、Bスキップ(B skip)などの特殊再生にも対応可能である。しかし、SEI予測が複数フレームを跨ぐので、上述の予測タイプ0(Prediction Type 0)に比べて符号化効率が劣る可能性がある。
また、予測タイプ(Prediction Type)として、デコード順にSEIを予測参照するタイプで、直前にデコードしたSEIを参照するタイプ(予測タイプ2:Prediction Type 2)が考えられる。図30は、予測タイプ2(Prediction Type 2)の場合を示している。図30(a)は、Iピクチャ、Pピクチャ、Bピクチャのビデオスライス(VideoSlice)の表示順の一例を示している。各ビデオスライスに対応して各ピクチャの視差情報(「SEI」で図示)が存在する。
図30(b)は、各ピクチャのデコード順(エンコード順)を示している。Iピクチャの視差情報は、そのまま、つまりイントラデータ(「Intra」で図示)の状態で可変長符号化される。そして、Iピクチャに続く、Bピクチャ、Pピクチャの視差情報に関しては、デコード順で、直前のピクチャが被参照ピクチャとされて差分データ(「Delta」で図示)がとられ、この差分データが可変長符号化される。この図30(b)において、各ピクチャからの矢印の先は、そのピクチャが参照する被参照ピクチャを示している。
この予測タイプ2(Prediction Type 2)の場合、SEI予測順は、ビデオ符号化順に一致するが。SEI予測はビデオのピクチャタイプに依存しない。ライブエンコーディング向きではあるが、SEI予測が複数フレームを跨ぐので、上述の予測タイプ0(Prediction Type 0)に比べて符号化効率が劣る可能性がある。
また、予測タイプ(Prediction Type)として、デコード順にSEIを予測参照するタイプで、ビデオピクチャタイプと合わせたSEI予測を行うと共に、Iピクチャ、Pピクチャ等の被参照ピクチャのみで視差情報を伝送するタイプ(予測タイプ3:Prediction Type 3)が考えられる。図31は、予測タイプ3(Prediction Type 3)の場合を示している。図31(a)は、Iピクチャ、Pピクチャ、Bピクチャのビデオスライス(VideoSlice)の表示順の一例を示している。各ビデオスライスに対応して各ピクチャの視差情報(「SEI」で図示)が存在する。
図31(b)は、各ピクチャのデコード順を示している。Iピクチャの視差情報は、そのまま、つまりイントラデータ(「Intra」で図示)の状態で可変長符号化される。そして、Iピクチャに続く、Pピクチャ、さらには図示しない被参照Bピクチャの視差情報に関しては、デコード順で、ビデオピクチャタイプと合わせたピクチャが被参照ピクチャとされて差分データ(「Delta」で図示)がとられ、この差分データが可変長符号化される。この図31(b)において、各ピクチャからの矢印の先は、そのピクチャが参照する被参照ピクチャを示している。SEI情報が符号化されないピクチャ(Bピクチャ)のSEI情報は、デコーダにおいて、表示順で前後の被参照ピクチャに符号化される2つのSEIの情報から補間される。
この予測タイプ3(Prediction Type 3)の場合、SEI予測順は、ビデオのピクチャタイプを含め、ビデオ符号化順に一致する。ライブエンコーディング向きであり、Bスキップ(B skip)などの特殊再生にも対応可能である。Iピクチャ、Pピクチャ、被参照Bピクチャなどの被参照ピクチャのみで視差情報が符号化されて伝送されるので、符号化効率が向上する。しかし、SEI予測が複数フレームを跨ぐので、上述の予測タイプ0(Prediction Type 0)に比べて符号化効率が劣る。また、非符号化SEI情報を補間して各ピクチャに割り当てるので、視差情報(disparity)の予測先までの時間的距離としてのピクチャ数を明示する必要がある。
AVCのビデオストリーム( Frame Compatible、 あるいはMVC) をMPEG2−TSコンテナで伝送する場合、アクセスユニット(Access Unit)ごとに、その先頭にAUD(Access Unit Delimiter) が付される。AUDの情報は、「primary_pic_type」として、I or P の場合、「primary_pic_type = 1 」いう値で示される。これは、該当するアクセスユニット(通常 1 picture) が被参照ピクチャであることを意味する。ビデオのパケット順は、「AUD 」-「SPS」-「PPS」-「SEI」-「Slice 」で構成される。そのため、デコーダは、「Slice」をデコードするよりも早く、SEIの中身の情報を正しくデコードするために、AUDの情報を用いる。なお、被参照ピクチャには、AVCの場合は、上述したように、Iピクチャ、Pピクチャに、被参照Bピクチャも加えられる。
なお、上述の予測タイプ3(Prediction Type 3)の場合、Iピクチャ、Pピクチャ、被参照Bピクチャなどの被参照ピクチャのみで視差情報が符号化されて伝送される。そのため、デコーダ側(受信側)では、視差情報の送信のないピクチャでは、例えば、前後のピクチャの視差情報から補間で求めるようにされる。例えば、図31(b)において、“SEI0”と“SEI3”とで伝送される視差情報に基づいて、B1, B2に相当するピクチャに対する視差情報が求められる。補間値が小数になる場合、「subpixel disparity」に対応したデコーダ(受信機)では、グラフィクス表示位置の動的なアップデータをよりスムーズに行うことが可能となる。
図32、図33および図34は、それぞれ、ピクチャ毎の圧縮符号化された視差情報をピクチャ単位で挿入する場合における「depth_information_sei()」の構造例(Syntax)を示している。図18には、これらの構造例における主要な情報の内容(Semantics)が示されている。詳細説明は省略するが、これらの構造例は、視差情報が圧縮符号化されたものであることを除き、上述した図15、図16および図17に示す構造例(Syntax)と同様である。
図35、図36および図37は、それぞれ、ピクチャ毎の圧縮符号化された視差情報をGOP単位で挿入する場合のように、複数のピクチャをまとめて符号化する場合における、「depth_information_sei()」の構造例(Syntax)を示している。図18には、これらの構造例における主要な情報の内容(Semantics)が示されている。詳細説明は省略するが、これらの構造例は、視差情報が圧縮符号化されたものであることを除き、上述した図20、図21および図22に示す構造例(Syntax)と同様である。
図38は、予測タイプ3(Prediction Type 3)の場合に適用可能な「depth_information_sei()」の構造例(Syntax)を示している。図18には、これらの構造例における主要な情報の内容(Semantics)が示されている。「picture_count_for_skipping」のフィールドは、視差情報(disparity)の予測先としての以前の被参照ピクチャまでのピクチャ数を示す。なお、このフィールドの情報は、例えば、図39に示す「Exp-Golomb 符号 ue(v)」等を用いて、ピクチャ数を可変長符号化した後に挿入することも考えられる。
「partition_enabled_flag」の1ビットのフラグ情報は、画面が分割されているか否かを示す。このフラグ情報が“1”であるときはピクチャ表示画面が分割されていることを示し、このフラグ情報が“0”であるときは画面が分割されていないことを示す。このフラグ情報により、受信側では、送信されてくる視差情報がピクチャ表示画面全体に対応するものであるか複数の分割領域毎のものであるのかを容易に把握可能となる。
なお、上述の図15〜図17、図20〜図22、図32〜図37に示す各構造例(Syntax)において、「partition_type」の3ビットフィールドを、この「partition_enabled_flag」の1ビットのフラグ情報で置き換えることも可能である。あるいは、「partition_type」の3ビットフィールドを、この「partition_enabled_flag」と同様のフラグ情報として扱うことも可能である。その場合、3ビットのうちのいずれかのビットが“1”であるときはピクチャ表示画面が分割されていることを示し、3ビットの全てが“0”であるときは画面が分割されていないことを示すものとする。
図38に戻って、「Intra_disparity_flag」の1ビットのフラグ情報は、視差情報(disparity)の値が非予測値(イントラデータ)であるか否かを示す。このフラグ情報が“1”であるときは非予測値(イントラデータ)であることを示し、このフラグ情報が“0”であるときは予測値(差分データ)であることを示す。なお、上述の図32〜図37に示す各構造例(Syntax)においても、この「Intra_disparity_flag」の1ビットのフラグ情報をさらに付加するようにしてもよい。この場合、受信側では、挿入されている視差情報がイントラデータであるか差分データであるかを容易に把握可能となる。
「partition_count」の4ビットフィールドは、分割領域(Partition)の総数を示す。「max_disparity_in_partition」のフィールドは、各分割領域(Partition)の第2の視差情報、つまり各分割領域における最大の視差情報(disparity値)を示す。「min_disparity_in_partition」のフィールドは、各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)を示す。
図38に示す「depth_information_sei()」の構造例(Syntax)は、図32に示す「depth_information_sei()」の構造例(Syntax)に対応したものである。図示は省略するが、その他の図33〜図37に示す「depth_information_sei()」の構造例(Syntax)に対応したものも同様に考えられる。なお、図38に示す「depth_information_sei()」の構造例(Syntax)の代わりに、図40に示す「depth_information_sei()」の構造例(Syntax)も考えられる。この場合、「partition_type」の3ビットフィールドは、例えば、「partition_enabled_flag」と同様のフラグ情報として扱われる。
「セットトップボックスの説明」
セットトップボックス200は、放送局100から放送波に載せて送られてくるトランスポートストリームTSを受信する。また、セットトップボックス200は、このトランスポートストリームTSに含まれるビデオストリームをデコードして、立体画像を構成する左眼画像データおよび右眼画像データを生成する。また、セットトップボックス200は、ビデオストリームに挿入されている、画像データのピクチャ毎の視差情報(第1の視差情報、第2の視差情報)を抽出する。
セットトップボックス200は、第1の視差情報および第2の視差情報に基づいて、例えば、最も手前のオブジェクト再生位置に対する視差角(交差方向の視差角)および最も奥のオブジェクト再生位置に対する視差角(同側方向の視差角)が視聴上健康を害さない所定の範囲内にあるか否かをチェックする。そして、セットトップボックス200は、所定の範囲内に収まっていない場合には、収まるによう左眼画像データおよび右眼画像データを再構成すると共に、第1の視差情報および第2の視差情報を修正する。
また、セットトップボックス200は、画像にグラフィクス(STBグラフィクス)を重畳表示する際には、画像データおよび視差情報(第1の視差情報)と、グラフィクスデータとを用いて、グラフィクスが重畳された左眼画像および右眼画像のデータを得る。この場合、セットトップボックス200は、左眼画像および右眼画像に重畳されるグラフィクスに、ピクチャ毎に、このグラフィクスの表示位置に対応した視差を付与し、グラフィクスが重畳された左眼画像のデータおよびグラフィクスが重畳された右眼画像のデータを得る。
上述のようにグラフィクスに視差を付与することで、立体画像に重畳表示されるグラフィクス(STBグラフィクス)を、その表示位置における立体画像のオブジェクトよりも手前に表示させることができる。これにより、OSDあるいはアプリケーションあるいは番組情報のEPGなどのグラフィクスを画像に重畳表示する場合に、画像内の各オブジェクトに対する遠近感の整合性を維持できる。
図41は、視差情報によるグラフィクスの奥行き制御の概念を示している。視差情報がマイナス値である場合、スクリーン上において左眼表示用のグラフィクスが右側に、右眼表示用のグラフィクスが左側にずれるように視差が付与される。この場合、グラフィクスの表示位置はスクリーンよりも手前となる。また、視差情報がプラス値である場合、スクリーン上において左眼表示用のグラフィクスが左側に、右眼表示用のグラフィクスが右側にずれるように視差が付与される。この場合、グラフィクスの表示位置はスクリーンよりも奥となる。
上述したように、ビデオストリームには、画像データのピクチャ毎に取得された視差情報が挿入されている。そのため、セットトップボックス200は、視差情報によるグラフィクスの奥行き制御を、グラフィクスの表示タイミングに合った視差情報を用いて精度よく行うことができる。
また、図41は、同側方向の視差角(θ0−θ2)と、交差方向の視差角(θ0−θ1)を示している。セットトップボックス200においては、ビデオストリームに挿入されてくるピクチャ毎の第1の視差情報および第2の視差情報に基づいて、これらの視差角が視聴上健康を害さない所定の範囲内にあるか否かがチェックされる。
図42は、ビデオストリームにピクチャ単位で視差情報が挿入されている場合の例であって、セットトップボックス200では、画像データのピクチャタイミングで順次視差情報が取得される。グラフィクスの表示に当たっては、グラフィクスの表示タイミングに合った視差情報(第1の視差情報)が使用され、グラフィクスに適切な視差が付与される。また、図43は、例えば、ビデオストリームにGOP単位で視差情報が挿入されている場合の例であって、セットトップボックス200では、画像データのGOPの先頭タイミングで、GOP内の各ピクチャの視差情報(視差情報セット)がまとめて取得される。グラフィクス(STBグラフィクス)の表示に当たっては、グラフィクスの表示タイミングに合った視差情報(第1の視差情報)が使用され、グラフィクスに適切な視差が付与される。
図44(a)の「Side View」は、画像上における字幕(サブタイトル)およびOSDグラフィクスの表示例を示している。この表示例では、背景、中景オブジェクトおよび近景オブジェクトとからなる画像上に、字幕およびグラフィクスが重畳された例である。図44(b)の「Top View」は、背景、中景オブジェクト、近景オブジェクト、字幕およびグラフィクスの遠近感を示している。字幕およびグラフィクスは、表示位置に対応するオブジェクトよりも手前にあるように認識されることを示している。なお、図示していないが、字幕とグラフィクスの表示位置が重なる場合には、例えば、グラフィクスが字幕よりも手前に認識されるように、グラフィクスに適切な視差が付与される。
「セットトップボックスの構成例」
図45は、セットトップボックス200の構成例を示している。セットトップボックス200は、コンテナバッファ211と、デマルチプレクサ212と、コーデッドバッファ213と、ビデオデコーダ214と、デコーデッドバッファ215と、スケーラ216と、L/R再構成部263と、重畳部217を有している。また、セットトップボックス200は、圧縮復号化部261と、視差情報バッファ218と、視差情報制御部262と、セットトップボックス(STB)グラフィクス発生部219と、奥行き制御部220と、グラフィクスバッファ221を有している。
また、セットトップボックス200は、コーデッドバッファ231と、サブタイトルデコーダ232と、ピクセルバッファ233と、サブタイトル視差情報バッファ234と、サブタイトル表示制御部235を有している。さらに、セットトップボックス200は、コーデッドバッファ241と、オーディオデコーダ242と、オーディオバッファ243と、チャネルミキシング部244と、HDMI送信部251を有している。
コンテナバッファ211は、図示しないデジタルチューナ等で受信されたトランスポートストリームTSを一時的に記憶する。このトランスポートストリームTSには、ビデオストリーム、サブタイトルストリームおよびオーディオストリームが含まれている。ビデオストリームとして、左眼画像データおよび右眼画像データが符号化されて得られた1つあるいは2つのビデオストリームが含まれている。
例えば、左眼画像データおよび右眼画像データによりサイド・バイ・サイド方式あるいはトップ・アンド・ボトム方式の画像データが構成されて1つのビデオストリームで送られてくることがある。また、例えば、左眼画像データおよび右眼画像データが、MVCのベースビューストリーム、ノンベースビューストリームのように、それぞれ、別個のビデオストリームで送られてくることがある。
デマルチプレクサ212は、コンテナバッファ211に一時的に記憶されたトランスポートストリームTSから、ビデオ、サブタイトルおよびオーディオの各ストリームを抽出する。また、デマルチプレクサ212は、このトランスポートストリームTSから、ビデオストリームに視差情報が挿入されているか否かを示す識別情報(「graphics_depth_info_not_existed_flag[0]」のフラグ情報)を抽出し、図示しない制御部(CPU)に送る。ビデオデコーダ214は、制御部(CPU)の制御のもと、識別情報が視差情報の挿入を示すとき、後述するように、ビデオストリームから視差情報(第1の視差情報、第2の視差情報)を取得する。
コーデッドバッファ213は、デマルチプレクサ212で抽出されるビデオストリームを一時的に記憶する。ビデオデコーダ214は、コーデッドバッファ213に記憶されているビデオストリームにデコード処理を行って、左眼画像データおよび右眼画像データを取得する。また、ビデオデコーダ214は、ビデオストリームに挿入されている画像データのピクチャ毎の視差情報(第1の視差情報、第2の視差情報)を取得する。デコーデッドバッファ215は、ビデオデコーダ214で取得された左眼画像データおよび右眼画像データを一時的に記憶する。
圧縮復号化部261は、ビデオデコーダ214で取得された画像データのピクチャ毎の視差情報(第1の視差情報、第2の視差情報)を入力し、この入力視差情報が圧縮符号化されたものであるとき、復号化処理を行う。入力視差情報が圧縮符号化されていないものであるとき、圧縮復号化部261は、その入力視差情報をそのまま出力視差情報とする。
この圧縮復号化部261は、図24に示す送信データ生成部110Aにおける圧縮符号化部120とは逆の処理を行う。図46は、圧縮復号化部261の概略構成例を示している。この圧縮復号化部261は、可変長復号化部264と、バッファ265と、加算部266を有している。可変長復号化部264は、圧縮符号化された入力視差情報に対して可変長復号化を行う。バッファ265は、復号化された出力視差情報を一時的に記憶する。加算部266は、参照ピクチャの差分データを被参照ピクチャの視差情報に加算して、参照ピクチャの出力視差情報を得る。
図45に戻って、視差情報バッファ218は、圧縮復号化された視差情報(第1の視差情報、第2の視差情報)を、一時的に記憶する。視差情報制御部262は、視差情報バッファ218に記憶されているピクチャ毎の第1の視差情報および第2の視差情報に基づいて、最も手前のオブジェクト再生位置に対する視差角(交差方向の視差角)および最も奥のオブジェクト再生位置に対する視差角(同側方向の視差角)が視聴上健康を害さない所定の範囲内にあるか否かをチェックする。
また、この視差情報制御部262は、視差角が所定の範囲内に収まっていない場合には、視差角が所定の範囲内に収まるように、L/R再構成部263に左眼画像データおよび右眼画像データの再構成を指示する。また、視差情報制御部262は、再構成される左眼画像データおよび右眼画像データに合わせて第1の視差情報および/または第2の視差情報を修正して出力する。なお、視差情報制御部262は、視差角が所定の範囲内に収まっている場合には、L/R再構成部263に左眼画像データおよび右眼画像データの再構成を指示することはなく、また、第1の視差情報および第2の視差情報を修正することなくそのまま出力する。
図47の上部は、受信データ(左眼画像データおよび右眼画像データ)における手前(near)側と奥(far)側の視差角の時間推移の一例を示している。範囲dは、視聴上健康に害を及ばさない視差角の範囲を示している。この例では、奥(far)側の視差角に範囲dに収まらない区間がある。
図47の下部は、再構成後のデータ(左眼画像データおよび右眼画像データ)における手前(near)側と奥(far)側の視差角の時間推移の一例を示している。(a)は、範囲dを越えた際にリミット制御をした場合の例である。(b)は、範囲dを越えないように、全体の奥行き量(depth volume)を低減した場合の例である。
図48は、視差情報制御部262の構成例を示している。この視差情報制御部262は、最大値取得部271と、最小値取得部272と、視差角チェック部272と、視差情報補正部274を有している。最大値取得部271は、受信された第2の視差情報(Max disparity)から最大値のものを選択して、視差角チェック部273に供給する。受信された第2の視差情報は、ピクチャ画面全体のものである場合には一個であり、複数の分割領域毎のものであれば複数個となる。最小値取得部272は、受信された第1の視差情報(Min disparity)から最小値のものを選択して、視差角チェック部273に供給する。受信された第1の視差情報は、ピクチャ画面全体のものである場合には一個であり、複数の分割領域毎のものであれば複数個となる。
視差角チェック部273は、第1の視差情報および第2の視差情報に基づいて、手前側の視差角と奥側の視差角が、視聴上健康に害を及ばさない視差角の範囲d(図47参照)に収まっているか否かをチェックし、そのチェック結果を視差情報補正部274に供給する。視差情報補正部274は、視差角が範囲dに収まっていないとき、視差角が範囲dに収まるように、L/R再構成部263に、受信された左眼画像データおよび右眼画像データの再構成を指示する。
また、視差情報補正部274には、受信された第1の視差情報(Min disparity)および第2の視差情報(Max disparity)が供給されている。視差情報補正部274は、上述の左眼画像データおよび右眼画像データの再構成指示に合わせて第1の視差情報および第2の視差情報に対して修正処理を行って、修正後の第1の視差情報(Corrected Min disparity)および第2の視差情報(Corrected Max disparity)を出力する。なお、視差情報補正部274は、視差角が範囲dに収まっているときには、L/R再構成部263に左眼画像データおよび右眼画像データの再構成を指示することはなく、また、第1の視差情報および第2の視差情報を修正することなくそのまま出力する。
図45に戻って、スケーラ216は、デコーデッドバッファ215から出力される左眼画像データおよび右眼画像データに対して、必要に応じて、水平方向や垂直方向のスケーリング処理を行う。例えば、左眼画像データおよび右眼画像データがサイド・バイ・サイド方式あるいはトップ・アンド・ボトム方式の画像データとして1つのビデオストリームで送られてくる場合には、水平方向あるいは垂直方向に2倍にスケールアップして出力する。また、例えば、左眼画像データおよび右眼画像データがMVCのベースビューストリーム、ノンベースビューストリームのように、それぞれ、別個のビデオストリームで送られてくる場合には、スケーリング処理を行うことなく、左眼画像データおよび右眼画像データをそのまま出力する。
L/R再構成部263は、左眼画像データおよび右眼画像データを再構成する。すなわち、L/R再構成部263は、同側方向または交差方向の視差角のいずれかが視聴上健康を害さない所定の範囲内からはみ出るとき、上述の視差情報制御部262からの再構成指示に基づいて、所定の範囲内に収まるように左眼画像データおよび右眼画像データを再構成する。
コーデッドバッファ231は、デマルチプレクサ214で抽出されるサブタイトルストリームを一時的に記憶する。サブタイトルデコーダ232は、上述の送信データ生成部110のサブタイトルエンコーダ117(図8参照)とは逆の処理を行う。すなわち、サブタイトルデコーダ232は、コーデッドバッファ231に記憶されているサブタイトルストリームのデコード処理を行って、サブタイトルデータを得る。
このサブタイトルデータには、サブタイトル(字幕)のビットマップデータと、このサブタイトルの表示位置情報「Subtitle rendering position (x2,y2)」と、サブタイトル(字幕)の視差情報「Subtitle disparity」が含まれている。ピクセルバッファ233は、サブタイトルデコーダ232で得られるサブタイトル(字幕)のビットマップデータおよびサブタイトル(字幕)の表示位置情報「Subtitle rendering position (x2,y2)」を一時的に記憶する。サブタイトル視差情報バッファ234は、サブタイトルデコーダ232で得られるサブタイトル(字幕)の視差情報「Subtitle disparity」を一時的に記憶する。
サブタイトル表示制御部235は、サブタイトル(字幕)のビットマップデータと、このサブタイトル(字幕)の表示位置情報および視差情報に基づいて、視差が付与された左眼表示用および右眼表示用のサブタイトルのビットマップデータ「Subtitle data」を生成する。セットトップボックス(STB)グラフィクス発生部219は、OSDあるいはアプリケーション、あるいはEPGなどのグラフィクスデータを発生する。このグラフィクスデータには、グラフィクスビットマップデータ「Graphics data」と、このグラフィクスの表示位置情報「Graphics rendering position (x1,y1)」が含まれている。
グラフィクスバッファ221は、セットトップボックスグラフィクス発生部219で発生されたグラフィクスビットマップデータ「Graphics data」を一時的に記憶する。重畳部217は、左眼画像データおよび右眼画像データに、それぞれ、サブタイトル表示制御部235で生成された左眼表示用および右眼表示用のサブタイトルのビットマップデータ「Subtitle data」を重畳する。
また、重畳部217は、左眼画像データおよび右眼画像データに、それぞれ、グラフィクスバッファ221に記憶されているグラフィクスビットマップデータ「Graphics data」を重畳する。この際、左眼画像データおよび右眼画像データのそれぞれに重畳されるグラフィクスビットマップデータ「Graphics data」には、後述する奥行き制御部220により、視差が付与される。ここで、グラフィクスビットマップデータ「Graphics data」がサブタイトルのビットマップデータ「Subtitle data」と同一画素を共有する場合、重畳部217は、サブタイトルデータの上にグラフィクスデータを上書きする。
奥行き制御部220は、左眼画像データおよび右眼画像データのそれぞれに重畳されるグラフィクスビットマップデータ「Graphics data」に視差を付与する。そのため、奥行き制御部220は、画像データのピクチャ毎に、左眼表示用および右眼表示用のグラフィクスの表示位置情報「Rendering position」を生成し、グラフィクスバッファ221に記憶されているグラフィクスビットマップデータ「Graphics data」の左眼画像データおよび右眼画像データへの重畳位置のシフト制御を行う。
奥行き制御部220は、図49に示すように、以下の情報を用いて、表示位置情報「Rendering position」を生成する。すなわち、奥行き制御部220は、視差情報制御部262から出力されるピクチャ毎の第1の視差情報(Min disparity)を用いる。また、奥行き制御部220は、ピクセルバッファ233に記憶されているサブタイトル(字幕)の表示位置情報「Subtitle rendering position (x2,y2)」を用いる。
また、奥行き制御部220は、サブタイトル視差情報バッファ234に記憶されているサブタイトル(字幕)の視差情報「Subtitle disparity」を用いる。また、奥行き制御部220は、セットトップボックスグラフィクス発生部219で発生されるグラフィクスの表示位置情報「Graphics rendering position (x1,y1)」を用いる。また、奥行き制御部220は、ビデオストリームに視差情報が挿入されているか否かを示す識別情報を用いる。
また、奥行き制御部220は、視差情報制御部262から出力されるピクチャ毎の第1の視差情報(Min disparity)を、字幕あるいはグラフィクスの画像への重畳に応じて更新する。この場合、奥行き制御部220は、サブタイトル(字幕)の表示位置およびグラフィクスの表示位置に対応した分割領域(Partition)の視差情報(Disparity)の値を、例えば、サブタイトル(字幕)あるいはグラフィクスの視差付与に用いられた視差情報(Disparity)の値に更新する。
図50、図51のフローチャートは、奥行き制御部220の制御処理の手順の一例を示している。奥行き制御部220は、この制御処理を、グラフィクス表示を行う各ピクチャ(フレーム)で実行する。奥行き制御部220は、ステップST1において、制御処理を開始する。その後に、ステップST2において、識別情報に基づいて、ビデオストリームにグラフィクス向けの視差情報の挿入があるか否かを判断する。
ビデオストリームに視差情報の挿入があるとき、奥行き制御部220は、ステップST3の処理に移る。このステップST3において、グラフィクスを重畳表示(overlay)する座標が含まれる分割領域(partition)を全て検査する。そして、奥行き制御部220は、ステップST4において、対象となる分割領域(partition)の視差情報(disparity)を比較し、最適な値、例えば最小値を選択して、グラフィクス視差情報(disparity)の値(graphics_disparity)とする。
次に、奥行き制御部220は、ステップST5の処理に移る。上述のステップST2でビデオストリームに視差情報の挿入がないとき、奥行き制御部220は、直ちに、ステップST5の処理に移る。このステップST5において、奥行き制御部220は、視差情報(disparity)を持ったサブタイトルストリーム(Subtitle stream)があるか否かを判断する。
視差情報(disparity)を持ったサブタイトルストリーム(Subtitle stream)があるとき、奥行き制御部220は、ステップST6において、サブタイトル用の視差情報(disparity)の値(subtitle_disparity)と、グラフィクス用の視差情報の値(graphics_disparity)とを比較する。なお、グラフィクス用の視差情報の値(graphics_disparity)は、ビデオストリームにグラフィクス用の視差情報(disparity)の挿入がないときは、例えば、「0」とされる。
次に、奥行き制御部220は、ステップST7において、「subtitle_disparity>(graphics_disparity)の条件を満足するか否かを判断する。この条件を満足するとき、奥行き制御部220は、ステップST8において、グラフィクスバッファ221に記憶されているグラフィクスビットマップデータ「Graphics data」に対して、グラフィクス用の視差情報(disparity)の値(graphics_disparity)と同等の値を用いて、表示位置がシフトされた左眼表示用および右眼表示用のグラフィクスビットマップデータを得て、それぞれ、左眼画像データおよび右眼画像データに重畳する。
次に、奥行き制御部220は、ステップST9において、サブタイトルあるいはグラフィクスを重畳させた画面位置に相当する分割領域(Partition)の視差情報(disparity)の値を更新する。奥行き制御部220は、ステップST9の処理の後、ステップST10において、制御処理を終了する。
一方、ステップST7で条件を満足しないとき、奥行き制御部220は、ステップST10において、グラフィクスバッファ221に記憶されているグラフィクスビットマップデータ「Graphics data」に対して、サブタイトル用の視差情報(disparity)よりも小さい値を用いて、表示位置がシフトされた左眼表示用および右眼表示用のグラフィクスビットマップデータを得て、それぞれ、左眼画像データおよび右眼画像データに重畳する。奥行き制御部220は、ステップST11の処理の後、ステップST9の処理を経て、ステップST10において、制御処理を終了する。
また、ステップST5で視差情報(disparity)を持ったサブタイトルストリーム(Subtitle stream)がないとき、奥行き制御部220は、ステップST12の処理に移る。このステップST12において、奥行き制御部220は、ステップST4において得られるグラフィクス用の視差情報の値(graphics_disparity)を用いるか、あるいはセットトップボックス200で算出される視差情報(disparity)の値を用いて、グラフィクスの奥行き制御を行う。
すなわち、奥行き制御部220は、グラフィクスバッファ221に記憶されているグラフィクスビットマップデータ「Graphics data」に対して、グラフィクス用の視差情報の値(graphics_disparity)あるいは算出される視差情報(disparity)の値を用いて、表示位置がシフトされた左眼表示用および右眼表示用のグラフィクスビットマップデータを得て、それぞれ、左眼画像データおよび右眼画像データに重畳する。奥行き制御部220は、ステップST12の処理の後、ステップST9の処理を経て、ステップST10において、制御処理を終了する。
図52は、セットトップボックス200におけるグラフィクスの奥行き制御例を示している。この例において、グラフィクス(STBグラフィクス)は、右側の8つの分割領域(Partition 2,3,6,7,10,11,14,15)の視差情報のうち最小の値の視差情報に基づいて、左眼表示用のグラフィクスおよび右眼表示用のグラフィクスに視差が付与される。その結果、グラフィクスは、これら8つの分割領域の画像(ビデオ)オブジェクトより手前に表示されるようになる。
図53も、セットトップボックス200におけるグラフィクスの奥行き制御例を示している。この例において、グラフィクス(STBグラフィクス)は、右側の8つの分割領域(Partition 2,3,6,7,10,11,14,15)の視差情報のうち最小の値の視差情報、さらにはサブタイトル(字幕)の視差情報に基づいて、左眼表示用のグラフィクスおよび右眼表示用のグラフィクスに視差が付与される。
その結果、グラフィクスは、これら8つの分割領域の画像(ビデオ)オブジェクトより手前で、さらに、サブタイトル(字幕)よりも手前に表示されるようになる。なお、この場合、サブタイトル(字幕)も、サブタイトル(字幕)の視差情報に基づいて、サブタイトルの表示位置に対応した4つの分割領域(Partition 8,9,10,11)の画像(ビデオ)オブジェクトより手前に表示されるようになる。
なお、この図53の奥行き制御例の場合の視差情報の更新処理は、例えば、以下のように行われる。すなわち、最初に、サブタイトルの表示位置に対応した4つの分割領域(Partition 8,9,10,11)の視差情報(Disparity)の値が、サブタイトルへの視差付与に使用された視差情報値(subtitle_disparity)で更新される。その後、8つの分割領域(Partition2,3,6,7,10,11,14,15)の視差情報(Disparity)の値が、グラフィクスへの視差付与に使用された視差情報値(graphics_disparity)で更新される。
図45に戻って、コーデッドバッファ241は、デマルチプレクサ212で抽出されるオーディオストリームを一時的に記憶する。オーディオデコーダ242は、上述の送信データ生成部110のオーディオエンコーダ119(図8参照)とは逆の処理を行う。すなわち、オーディオデコーダ242は、コーデッドバッファ241に記憶されているオーディオストリームの復号化処理を行って、復号化された音声データを得る。オーディオバッファ243は、オーディオデコーダ242で得られる音声データを一時的に記憶する。チャネルミキシング部244は、オーディオバッファ243に記憶されている音声データに対して、例えば5.1chサラウンド等を実現するための各チャネルの音声データを生成して出力する。
なお、デコーデッドバッファ215、視差情報バッファ218、ピクセルバッファ233、サブタイトル視差情報バッファ234およびオーディオバッファ243からの情報(データ)の読み出しは、PTSに基づいて行われ、転送同期が取られる。
HDMI送信部251は、HDMIに準拠した通信により、重畳部217でサブタイトルおよびグラフィクスの重畳処理がされて得られた左眼画像データおよび右眼画像データと、チャネルミキシング部244で得られた各チャネルの音声データを、HDMIのシンク機器、この実施の形態ではテレビ受信機300に送信する。ここで、重畳部217で得られる左眼画像データは、左眼表示用のサブタイトル(字幕)およびSTBグラフィクスが重畳された左眼画像のデータである。また、重畳部217で得られる右眼画像データは、右眼表示用のサブタイトル(字幕)およびSTBグラフィクスが重畳された右眼画像のデータである。
また、このHDMI送信部251は、奥行き制御部220で更新された各ピクチャの第1の視差情報(Min disparity)、および視差情報制御部262から出力される各ピクチャの第2の視差情報(Max disparity)を、HDMIインタフェースで、テレビ受信機300に送信する。この実施の形態において、これら第1の視差情報および第2の視差情報は、画像データのブランキング期間に挿入されて、送信される。このHDMI送信部251の詳細は後述する。
図45に示すセットトップボックス200の動作を簡単に説明する。デジタルチューナ等で受信されたトランスポートストリームTSは、コンテナバッファ211に一時的に記憶される。このトランスポートストリームTSには、ビデオストリーム、サブタイトルストリームおよびオーディオストリームが含まれている。ビデオストリームとしては、左眼画像データおよび右眼画像データが符号化されて得られた1つあるいは2つのビデオストリームが含まれている。
デマルチプレクサ212では、コンテナバッファ211に一時的に記憶されたトランスポートストリームTSから、ビデオ、サブタイトルおよびオーディオの各ストリームが抽出される。また、デマルチプレクサ212では、このトランスポートストリームTSから、ビデオストリームに視差情報が挿入されているか否かを示す識別情報(「graphics_depth_info_not_existed_flag[0]」のフラグ情報)が抽出され、図示しない制御部(CPU)に送られる。
デマルチプレクサ212で抽出されるビデオストリームはコーデッドバッファ213に供給されて一時的に記憶される。そして、ビデオデコーダ214では、コーデッドバッファ213に記憶されているビデオストリームのデコード処理が行われて、左眼画像データおよび右眼画像データが取得される。この左眼画像データおよび右眼画像データは、デコーデッドバッファ215に一時的に記憶される。
また、ビデオデコーダ214では、ビデオストリームに挿入されている、画像データのピクチャ毎の視差情報(第1の視差情報、第2の視差情報)が取得される。この視差情報は、圧縮復号化部261で適宜圧縮復号化が行われた後に、視差情報バッファ218に一時的に記憶される。視差情報制御部262では、視差情報バッファ218に記憶されているピクチャ毎の第1の視差情報および第2の視差情報に基づいて、最も手前のオブジェクト再生位置に対する視差角(交差方向の視差角)および最も奥のオブジェクト再生位置に対する視差角(同側方向の視差角)が視聴上健康を害さない範囲d(図47参照)に収まっているか否かがチェックされる。
そして、この視差情報制御部262では、視差角が所定の範囲内に収まっていない場合、視差角が範囲dに収まるように、L/R再構成部263に左眼画像データおよび右眼画像データの再構成を指示することが行われる。また、その場合、この視差情報制御部262では、再構成される左眼画像データおよび右眼画像データに合わせて、第1の視差情報および/または第2の視差情報を修正して出力することが行われる。なお、視差情報制御部262では、視差角が所定の範囲dに収まっている場合には、L/R再構成部263に左眼画像データおよび右眼画像データの再構成を指示することは行われず、また、第1の視差情報および第2の視差情報は修正されずに出力される。
スケーラ216では、デコーデッドバッファ215から出力される左眼画像データおよび右眼画像データに対して、必要に応じて、水平方向や垂直方向のスケーリング処理が行われる。このスケーラ216からは、例えば、1920*1080のフルHDのサイズの左眼画像データおよび右眼画像データが得られる。この左眼画像データおよび右眼画像データは、L/R再構成部263を介して、重畳部217に供給される。
L/R再構成部263では、必要に応じて、左眼画像データおよび右眼画像データの再構成を行う。すなわち、L/R再構成部263では、同側方向または交差方向の視差角のいずれかが視聴上健康を害さない範囲d(図47参照)に収まっていないとき、視差情報制御部262からの再構成指示に基づいて、その視差角が所定の範囲内に収まるように左眼画像データおよび右眼画像データを再構成することが行われる。
また、デマルチプレクサ212で抽出されるサブタイトルストリームは、コーデッドバッファ231に供給されて一時的に記憶される。サブタイトルデコーダ232では、コーデッドバッファ231に記憶されているサブタイトルストリームのデコード処理が行われて、サブタイトルデータが得られる。このサブタイトルデータには、サブタイトル(字幕)のビットマップデータと、このサブタイトルの表示位置情報「Subtitle rendering position (x2,y2)」と、サブタイトル(字幕)の視差情報「Subtitle disparity」が含まれている。
サブタイトルデコーダ232で得られるサブタイトル(字幕)のビットマップデータおよびサブタイトル(字幕)の表示位置情報「Subtitle rendering position (x2,y2)」は、ピクセルバッファ233に一時的に記憶される。また、サブタイトルデコーダ232で得られるサブタイトル(字幕)の視差情報「Subtitle disparity」はサブタイトル視差情報バッファ234に一時的に記憶される。
サブタイトル表示制御部235では、サブタイトル(字幕)のビットマップデータと、このサブタイトル(字幕)の表示位置情報および視差情報に基づいて、視差が付与された左眼表示用および右眼表示用のサブタイトルのビットマップデータ「Subtitle data」が生成される。このように生成された左眼表示用および右眼表示用のサブタイトルのビットマップデータ「Subtitle data」は、重畳部217に供給され、それぞれ、左眼画像データおよび右眼画像データに重畳される。
セットトップボックス(STB)グラフィクス発生部219では、OSDあるいはアプリケーション、あるいはEPGなどのグラフィクスデータが発生される。このグラフィクスデータには、グラフィクスのビットマップデータ「Graphics data」と、このグラフィクスの表示位置情報「Graphics rendering position (x1,y1)」が含まれている。グラフィクスバッファ221には、セットトップボックス(STB)グラフィクス発生部219で発生されたグラフィクスデータが一時的に記憶される。
重畳部217では、左眼画像データおよび右眼画像データにグラフィクスバッファ221に記憶されているグラフィクスビットマップデータ「Graphics data」が重畳される。この際、左眼画像データおよび右眼画像データのそれぞれに重畳されるグラフィクスビットマップデータ「Graphics data」には、奥行き制御部220により、視差情報制御部262から出力される画像データの各ピクチャの分割領域毎の第1の視差情報のうち、グラフィクスの表示位置に対応した視差情報に基づいて視差が付与される。この場合、グラフィクスビットマップデータ「Graphics data」がサブタイトルのビットマップデータ「Subtitle data」と同一画素を共有する場合、重畳部217では、サブタイトルデータの上にグラフィクスデータが上書きされる。
重畳部217からは、左眼表示用のサブタイトル(字幕)およびSTBグラフィクスが重畳された左眼画像のデータが得られると共に、右眼表示用のサブタイトル(字幕)およびSTBグラフィクスが重畳された右眼画像のデータが得られる。この左眼画像データおよび右眼画像データは、HDMI送信部251に供給される。
また、デマルチプレクサ212で抽出されるオーディオストリームは、コーデッドバッファ241に供給されて一時的に記憶される。オーディオデコーダ242では、コーデッドバッファ241に記憶されているオーディオスストリームのデコード処理が行われて、復号化された音声データが得られる。この音声データはオーディオバッファ243を介してチャネルミキシング部244に供給される。チャネルミキシング部244では、音声データに対して、例えば5.1chサラウンド等を実現するための各チャネルの音声データが生成される。この音声データは、HDMI送信部251に供給される。
また、奥行き制御部220では、視差情報制御部262から出力される画像データの各ピクチャの分割領域毎の第1の視差情報が、字幕あるいはグラフィクスの画像への重畳に応じて更新される。この場合、サブタイトル(字幕)の表示位置およびグラフィクスの表示位置に対応した分割領域(Partition)の視差情報(Disparity)の値が、例えば、サブタイトル(字幕)あるいはグラフィクスの視差付与に用いられた視差情報(Disparity)の値に更新される。この更新された視差情報は、HDMI送信部251に供給される。また、視差情報制御部262から出力される画像データの各ピクチャの第2の視差情報も、HDMI送信部251に供給される。
HDMI送信部251により、HDMIに準拠した通信により、左眼画像データおよび右眼画像データ、音声データ、さらには、画像データの各ピクチャの視差情報(第1の視差情報、第2の視差情報)が、テレビ受信機300に送信される。ここで、視差情報は、画像データのブランキング期間に配置される情報パケット、この実施の形態においては、HDMI・ベンダー・スペシフィック・インフォフレーム(HDMI Vendor Specific InfoFrame)に挿入されて送信される。
[テレビ受信機の説明]
図1に戻って、テレビ受信機300は、セットトップボックス200からHDMIケーブル400を介して送られてくる左眼画像データおよび右眼画像データ、音声データ、さらには画像データの各ピクチャの視差情報(第1の視差情報、第2の視差情報)を受信する。
テレビ受信機300は、例えば、画像にグラフィクス(TVグラフィクス)を重畳表示する際には、画像データおよび第1の視差情報と、グラフィクスデータとを用いて、グラフィクスが重畳された左眼画像および右眼画像のデータを得る。この場合、テレビ受信機300は、左眼画像および右眼画像に重畳されるグラフィクスに、ピクチャ毎に、このグラフィクスの表示位置に対応した視差を付与し、グラフィクスが重畳された左眼画像のデータおよびグラフィクスが重畳された右眼画像のデータを得る。
上述のようにグラフィクスに視差を付与することで、立体画像に重畳表示されるグラフィクス(TVグラフィクス)を、その表示位置における立体画像のオブジェクトよりも手前に表示させることができる。これにより、OSDあるいはアプリケーションあるいは番組情報のEPGなどのグラフィクスを画像に重畳表示する場合に、画像内の各オブジェクトに対する遠近感の整合性を維持できる。
また、テレビ受信機300は、第1の視差情報および第2の視差情報に基づいて、最も手前のオブジェクト再生位置に対する視差角(交差方向の視差角)および最も奥のオブジェクト再生位置に対する視差角(同側方向の視差角)が視聴上健康を害さない範囲d(図47参照)に収まっているか否かをチェックでき、収まっていない場合は、左眼画像データおよび右眼画像データを再構成できる。
[テレビ受信機の構成例]
図54は、テレビ受信機300のHDMI入力系の構成例を示している。なお、視差角のチェック系に関しては省略している。テレビ受信機300は、HDMI受信部311と、スケーラ312と、重畳部313と、奥行き制御部314と、グラフィクスバッファ315と、テレビ(TV)グラフィクス発生部316と、オーディオ処理部317を有している。
HDMI受信部311は、HDMIに準拠した通信により、HDMIのソース機器、この実施の形態ではセットトップボックス200から、立体画像を構成する左眼画像データおよび右眼画像データと、音声データを受信する。また、このHDMI受信部311は、画像データの各ピクチャの視差情報(第1の視差情報、第2の視差情報)を、HDMIインタフェースで、セットトップボックス200から受信する。このHDMI受信部311の詳細は後述する。
スケーラ312は、HDMI受信部311で受信された左眼画像データおよび右眼画像データを、必要に応じてスケーリング処理を行う。例えば、スケーラ312は、左眼画像データおよび右眼画像データのサイズを表示サイズに合致させる。テレビ(TV)グラフィクス発生部316は、OSDあるいはアプリケーション、あるいはEPGなどのグラフィクスデータを発生する。このグラフィクスデータには、グラフィクスビットマップデータ「Graphics data」と、このグラフィクスの表示位置情報「Graphics rendering position (x1,y1)」が含まれている。
グラフィクスバッファ315は、テレビグラフィクス発生部316で発生されたグラフィクスビットマップデータ「Graphics data」を一時的に記憶する。重畳部313は、左眼画像データおよび右眼画像データに、それぞれ、グラフィクスバッファ315に記憶されているグラフィクスビットマップデータ「Graphics data」を重畳する。この際、左眼画像データおよび右眼画像データのそれぞれに重畳されるグラフィクスビットマップデータ「Graphics data」には、後述する奥行き制御部314により、視差が付与される。
奥行き制御部314は、左眼画像データおよび右眼画像データのそれぞれに重畳されるグラフィクスビットマップデータ「Graphics data」に視差を付与する。そのため、奥行き制御部314は、画像データのピクチャ毎に、左眼表示用および右眼表示用のグラフィクスの表示位置情報「Rendering position」を生成し、グラフィクスバッファ315に記憶されているグラフィクスビットマップデータ「Graphics data」の左眼画像データおよび右眼画像データへの重畳位置のシフト制御を行う。
奥行き制御部314は、図55に示すように、以下の情報を用いて、表示位置情報「Rendering position」を生成する。すなわち、奥行き制御部314は、HDMI受信部311で受信された、画像データのピクチャ毎の各分割領域(Partition)の第1の視差情報(Min disparity)を用いる。また、奥行き制御部314は、テレビグラフィクス発生部316で発生されるグラフィクスの表示位置情報「Graphics rendering position (x1,y1)」を用いる。また、奥行き制御部314は、HDMI受信部311で視差情報が受信されているか否かを示す受信情報を用いる。
図56のフローチャートは、奥行き制御部314の制御処理の手順の一例を示している。奥行き制御部314は、この制御処理を、グラフィクス表示を行う各ピクチャ(フレーム)で実行する。奥行き制御部314は、ステップST21において、制御処理を開始する。その後に、ステップST22において、受信情報に基づいて、HDMI受信部311でグラフィクス向けの視差情報の受信があるか否かを判断する。なお、HDMI受信部311は、後述するHDMI Vendor Specific InfoFrame のパケットの「PRTY」の識別情報が、参照すべき情報としての視差情報の存在を示すとき、当該パケットから視差情報を抽出し、使用に備える。この場合、受信情報は、「受信あり」となる。
視差情報(disparity)の受信があるとき、奥行き制御部314は、ステップST23の処理に移る。このステップST23において、グラフィクスを重畳表示(overlay)する座標が含まれる分割領域(partition)を全て検査する。そして、奥行き制御部314は、ステップST24において、対象となる分割領域(partition)の第1の視差情報(Min disparity)を比較し、最適な値、例えば最小値を選択して、グラフィクス視差情報(disparity)の値(graphics_disparity)とする。
次に、奥行き制御部314は、ステップST25において、グラフィクスバッファ315に記憶されているグラフィクスビットマップデータ「Graphics data」に対して、グラフィクス用の視差情報(disparity)の値(graphics_disparity)と同等の値を用いて、表示位置がシフトされた左眼表示用および右眼表示用のグラフィクスビットマップデータを得て、それぞれ、左眼画像データおよび右眼画像データに重畳する。奥行き制御部314は、ステップST25の処理の後、ステップST26において、制御処理を終了する。
また、ステップST22で視差情報(disparity)の受信がないとき、奥行き制御部314は、ステップST27において、グラフィクスバッファ315に記憶されているグラフィクスビットマップデータ「Graphics data」に対して、テレビ受信機300で算出される視差情報(disparity)の値を用いて、表示位置がシフトされた左眼表示用および右眼表示用のグラフィクスビットマップデータを得て、それぞれ、左眼画像データおよび右眼画像データに重畳する。奥行き制御部314は、ステップST27の処理の後、ステップST26において、制御処理を終了する。
図57は、テレビ受信機300におけるグラフィクスの奥行き制御例を示している。この例において、TVグラフィクスに関しては、右側の4つの分割領域(Partition 10,11,14,15)の第1の視差情報のうち最小の値の視差情報に基づいて、左眼表示用のグラフィクスおよび右眼表示用のグラフィクスに視差が付与される。その結果、TVグラフィクスは、これら4つの分割領域の画像(ビデオ)オブジェクトより手前に表示される。なお、この場合、サブタイトル(字幕)、さらには、STBグラフィクスは、セットトップボックス200において既に画像(ビデオ)に重畳されている。
図54に示すテレビ受信機300の動作を簡単に説明する。HDMI受信部311により、HDMIに準拠した通信により、左眼画像データおよび右眼画像データ、音声データ、さらには、画像データの各ピクチャの視差情報(第1の視差情報、第2の視差情報)が、セットトップボックス200から受信される。
HDMI受信部311で受信された左眼画像データおよび右眼画像データは、スケーラ312で必要に応じてスケーリング処理が施された後に、重畳部313に供給される。テレビTV)グラフィクス発生部316では、OSDあるいはアプリケーション、あるいはEPGなどのグラフィクスデータが発生される。このグラフィクスデータには、グラフィクスのビットマップデータ「Graphics data」と、このグラフィクスの表示位置情報「Graphicsrendering position (x1,y1)」が含まれている。グラフィクスバッファ315には、テレビグラフィクス発生部315で発生されたグラフィクスデータが一時的に記憶される。
重畳部313では、左眼画像データおよび右眼画像データにグラフィクスバッファ315に記憶されているグラフィクスビットマップデータ「Graphics data」が重畳される。この際、左眼画像データおよび右眼画像データのそれぞれに重畳されるグラフィクスビットマップデータ「Graphics data」には、奥行き制御部314により、グラフィクスの表示位置に対応した第1の視差情報(Min disparity)に基づいて視差が付与される。
奥行き制御部314では、その制御のために、HDMI受信部311で受信された、画像データのピクチャ毎の各分割領域(Partition)の第1の視差情報と、テレビグラフィクス発生部316で発生されるグラフィクスの表示位置情報「Graphics rendering position (x1,y1)」とが用いられる。
重畳部313からは、左眼表示用のTVグラフィクスが重畳された左眼画像のデータが得られると共に、右眼表示用のTVグラフィクスが重畳された右眼画像のデータが得られる。これらの画像データは、立体画像表示のための処理部に送られ、立体画像表示が行われる
また、HDMI受信部311で受信された各チャネルの音声データは、音質や音量の調整を行うオーディオ処理部317を介してスピーカに供給され、立体画像表示に合わせた音声出力がなされる。
[HDMI送信部、HDMI受信部の構成例]
図58は、図1の画像送受信システム10における、セットトップボックス200のHDMI送信部251と、テレビ受信機300のHDMI受信部311の構成例を示している。
HDMI送信部251は、有効画像区間(以下、適宜、アクティブビデオ区間ともいう)において、非圧縮の1画面分の画像の画素データに対応する差動信号を、複数のチャネルで、HDMI受信部311に一方向に送信する。ここで、有効画像区間は、一の垂直同期信号から次の垂直同期信号までの区間から、水平帰線区間及び垂直帰線区間を除いた区間である。また、HDMI送信部251は、水平帰線区間または垂直帰線区間において、少なくとも画像に付随する音声データや制御データ、その他の補助データ等に対応する差動信号を、複数のチャネルで、HDMI受信部311に一方向に送信する。
HDMI送信部251とHDMI受信部311とからなるHDMIシステムの伝送チャネルには、以下の伝送チャネルがある。すなわち、HDMI送信部251からHDMI受信部311に対して、画素データおよび音声データを、ピクセルクロックに同期して、一方向にシリアル伝送するための伝送チャネルとしての、3つのTMDSチャネル#0乃至#2がある。また、ピクセルクロックを伝送する伝送チャネルとしての、TMDSクロックチャネルがある。
HDMI送信部251は、HDMIトランスミッタ81を有する。トランスミッタ81は、例えば、非圧縮の画像の画素データを対応する差動信号に変換し、複数のチャネルである3つのTMDSチャネル#0,#1,#2で、HDMIケーブル400を介して接続されているHDMI受信部311に、一方向にシリアル伝送する。
また、トランスミッタ81は、非圧縮の画像に付随する音声データ、さらには、必要な制御データその他の補助データ等を、対応する差動信号に変換し、3つのTMDSチャネル#0,#1,#2でHDMI受信部311に、一方向にシリアル伝送する。
さらに、トランスミッタ81は、3つのTMDSチャネル#0,#1,#2で送信する画素データに同期したピクセルクロックを、TMDSクロックチャネルで、HDMIケーブル400を介して接続されているHDMI受信部311に送信する。ここで、1つのTMDSチャネル#i(i=0,1,2)では、ピクセルクロックの1クロックの間に、10ビットの画素データが送信される。
HDMI受信部311は、アクティブビデオ区間において、複数のチャネルで、HDMI送信部251から一方向に送信されてくる、画素データに対応する差動信号を受信する。また、このHDMI受信部311は、水平帰線区間または垂直帰線区間において、複数のチャネルで、HDMI送信部251から一方向に送信されてくる、音声データや制御データに対応する差動信号を受信する。
すなわち、HDMI受信部311は、HDMIレシーバ82を有する。このHDMIレシーバ82は、TMDSチャネル#0,#1,#2で、HDMI送信部251から一方向に送信されてくる、画素データに対応する差動信号と、音声データや制御データに対応する差動信号を受信する。この場合、HDMI送信部251からTMDSクロックチャネルで送信されてくるピクセルクロックに同期して受信する。
HDMIシステムの伝送チャネルには、上述のTMDSチャネル#0乃至#2およびTMDSクロックチャネルの他に、DDC(Display Data Channel)83やCECライン84と呼ばれる伝送チャネルがある。DDC83は、HDMIケーブル400に含まれる図示しない2本の信号線からなる。DDC83は、HDMI送信部251が、HDMI受信部311から、E−EDID(Enhanced Extended Display Identification Data)を読み出すために使用される。
すなわち、HDMI受信部311は、HDMIレシーバ81の他に、自身の性能(Configuration/capability)に関する性能情報であるE−EDIDを記憶している、EDID ROM(Read Only Memory)85を有している。HDMI送信部251は、例えば、図示しない制御部(CPU)からの要求に応じて、HDMIケーブル400を介して接続されているHDMI受信部311から、E−EDIDを、DDC83を介して読み出す。
HDMI送信部251は、読み出したE−EDIDを制御部(CPU)に送る。制御部(CPU)は、このE−EDIDに基づき、HDMI受信部311の性能の設定を認識できる。例えば、制御部(CPU)は、HDMI受信部311を有するテレビ受信機300が立体画像データの取り扱いが可能か否か、可能である場合はさらにいかなるTMDS伝送データ構造に対応可能であるか等を認識する。
CECライン84は、HDMIケーブル400に含まれる図示しない1本の信号線からなり、HDMI送信部251とHDMI受信部311との間で、制御用のデータの双方向通信を行うために用いられる。このCECライン84は、制御データラインを構成している。
また、HDMIケーブル400には、HPD(Hot Plug Detect)と呼ばれるピンに接続されるライン(HPDライン)86が含まれている。ソース機器は、当該ライン86を利用して、シンク機器の接続を検出することができる。なお、このHPDライン86は双方向通信路を構成するHEAC−ラインとしても使用される。また、HDMIケーブル400には、ソース機器からシンク機器に電源を供給するために用いられるライン(電源ライン)87が含まれている。さらに、HDMIケーブル400には、ユーティリティライン88が含まれている。このユーティリティライン88は双方向通信路を構成するHEAC+ラインとしても使用される。
図59は、TMDS伝送データの構造例を示している。この図59は、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)が伝送される。すなわち、データアイランド区間は、水平ブランキング期間と垂直ブランキング期間の一部分に割り当てられている。このデータアイランド区間では、補助データのうち、制御に関係しないデータである、例えば、音声データのパケット等が伝送される。
コントロール区間は、水平ブランキング期間と垂直ブランキング期間の他の部分に割り当てられている。このコントロール区間では、補助データのうちの、制御に関係するデータである、例えば、垂直同期信号および水平同期信号、制御パケット等が伝送される。
図60は、HDMI端子のピン配列の一例を示している。この図60に示すピン配列はタイプA(type-A)と呼ばれている。TMDSチャネル#iの差動信号であるTMDS Data#i+とTMDS Data#i−は差動線である2本のラインにより伝送される。この2本のラインは、TMDS Data#i+が割り当てられているピン(ピン番号が1,4,7のピン)と、TMDS Data#i−が割り当てられているピン(ピン番号が3,6,9のピン)に接続される。
また、制御用のデータであるCEC信号が伝送されるCECライン84は、ピン番号が13であるピンに接続される。また、E−EDID等のSDA(Serial Data)信号が伝送されるラインは、ピン番号が16であるピンに接続される。SDA信号の送受信時の同期に用いられるクロック信号であるSCL(Serial Clock)信号が伝送されるラインは、ピン番号が15であるピンに接続される。上述のDDC83は、SDA信号が伝送されるラインおよびSCL信号が伝送されるラインにより構成される。
また、上述したようにソース機器がシンク機器の接続を検出するためのHPDライン(HEAC−ライン)86は、ピン番号が19であるピンに接続される。また、ユーティリティライン(HEAC+ライン)88は、ピン番号が14であるピンに接続される。また、上述したように電源を供給するためのライン87は、ピン番号が18であるピンに接続される。
[HDMIでの視差情報の送受信方法]
画像データのピクチャ毎の各分割領域(Partition)の視差情報(Disparity)を、HDMIインタフェースで送受信する方法について説明する。この方法として、画像データのブランキング期間に配置される情報パケット、例えば、HDMI・ベンダー・スペシフィック・インフォフレーム(VS_Info:HDMI Vendor Specific InfoFrame)を利用する方法が考えられる。
この方法では、VS_Info において、「HDMI_Video_Format=“010”」、かつ「3D_Meta_present=1」とされて、「Vendor Specific InfoFrame extension」が指定される。その場合、「3D_Metadata_type」は、未使用の、例えば、“001”と定義され、各分割領域(Partition)の視差情報(Disparity)が指定される。
図61は、VS_Infoのパケット構造例を示している。このVS_Info については、CEA-861-Dに定義されているので、詳細説明は省略する。図62は、図61に示すパケット構造例における主要な情報の内容を示している。
第4バイト(PB4)の第7ビットから第5ビットに、画像データの種類を示す3ビットの情報「HDMI_Video_Format」が配置されている。画像データが3D画像データである場合、この3ビットの情報は「010」とされる。また、画像データが3D画像データである場合、第5バイト(PB5)の第7ビットから第4ビットに、TMDS伝送データ構造を示す4ビットの情報「3D_Structure」が配置される。例えば、フレームパッキング方式の場合、この4ビットの情報は、「0000」とされる。
また、第5バイト(PB5)の第3ビットに、「3D_Meta_present」が配置され、Vendor Specific InfoFrame extensionを指定する場合、この1ビットは「1」とされる。また、第7バイト(PB7)の第7ビットから第5ビットに、「3D_Metadata_type」が配置されている。各分割領域(Partition)の視差情報(Disparity)を指定する場合、この3ビットの情報は、未使用の、例えば、“001”とされる。
また、第7バイト(PB7)の第4バイトから第0バイトに、「3D_Metadata_length」が配置されている。この5ビットの情報は、各分割領域(Partition)の視差情報(Disparity)のサイズを示す。この「3D_Metadata_length」の値は、0x00〜0x1Fの値をとり、その値に2を加えたものが、このフィールドの後の視差情報(Disparity)の全体サイズを表す。例えば、“00000”は2(10進数で)を表し、“11111”は33(10進数で)を表す。
また、第6バイト(PB6)の第0ビットに、「PRTY」の1ビットの識別情報が配置される。この識別情報は、この VS_Info に、HDMIシンク側が参照すべき情報、ここでは視差情報(Disparity)が含まれているか否かを示す。“1”は、HDMIシンクが参照すべき情報が必ず含まれていることを示す。“0”は、HDMIシンクが参照すべき情報が必ず含まれているわけではないことを示す。
この「PRTY」の1ビットの識別情報が配置されていることで、HDMIシンク、この実施の形態においてテレビ受信機300は、「3D_Metadata_type」以下を検査しなくても、VS_Info の中に、参照すべき情報が含まれているか否かを判定できる。したがって、HDMIシンクでは、この識別情報により、 VS_Info から参照すべき情報の抽出処理を無駄なく行うことができ、処理負荷を軽減することが可能となる。
また、第8バイト(PB8)の第7ビットから第5ビットに、「partition_type」が配置されている。この3ビットの情報は、対象ピクチャの表示画面の分割タイプを示す。“000”は分割なしを示し、“001”は水平、垂直を各々2等分することを示し、“010”は水平、垂直を各々4等分することを示す。
また、第8バイト(PB8)の第4ビットに、「d_picture」の1ビットの識別情報が配置される。この識別情報は、シングルピクチャかダブルピクチャかを示す。“0”は、シングルピクチャであること、つまり、各分割領域(Partition)の視差情報(Disparity)として、1ピクチャ分を送信するモードであることを示す。“1”は、ダブルピクチャであること、つまり、各分割領域(Partition)の視差情報(Disparity)として、2ピクチャ分を送信するモードであることを示す。
また、第8バイト(PB8)の第3ビットから第0ビットに、「partition_count」が配置される。この4ビットの情報は、分割領域(Partition)の総数を示し、上述の「partition_type」に依存した値となる。例えば、“0000”は総数「1」を示し、“1111”は総数「16」を示す。
そして、第8+1バイト(PB8+1)以降に、1ピクチャ分あるいは2ピクチャ分の、視差情報(第1の視差情報、第2の視差情報)が順次配置される。「max_disparity_in_picture」の8ビット情報は、ピクチャ表示画面全体(ピクチャ全体)の第2の視差情報、つまりピクチャ全体の最大の視差情報(disparity値)を示す。「disparity_in_partition」の8ビット情報は、各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)を示す。
図63は、「d_picture=0」であってシングルピクチャのモードであり、「partition_type=010」であって分割領域が「16」である場合における VS_Info の構造例を示している。この場合、第8+1バイト(PB8+1)以降に、1ピクチャ分の各分割領域の視差情報が配置されている。また、図64は、「d_picture=1」であってダブルピクチャのモードであり、「partition_type=010」であって分割領域が「16」である場合における VS_Info の構造例を示している。この場合、第8+1バイト(PB8+1)以降に、2ピクチャ分の各分割領域の視差情報が配置されている。
上述したように、セットトップボックス200は、ビデオストリームにピクチャ単位で視差情報が挿入されている場合、画像データの各ピクチャのタイミングで1ピクチャ分の視差情報を取得する(図42参照)。また、上述したように、セットトップボックス200は、ビデオストリームにGOP単位で視差情報が挿入されている場合、画像データのGOPの先頭タイミングで、GOP内の各ピクチャの視差情報(視差情報セット)をまとめて取得する(図43参照)。
セットトップボックス200は、いずれの場合にあっても、例えば、テレビ受信機300との間のCECライン84を使用したネゴシエーション、あるいはEDIDROM 85での設定などに基づいて、シングルピクチャまたはダブルピクチャのいずれかのモードを任意に選択可能なようにする。この場合、セットトップボックス200は、ピクチャ毎の視差情報を送信するための伝送帯域、あるいは、セットトップボックス200やテレビ受信機300における処理能力などに応じて、モードを選択でき、テレビ受信機300への視差情報の送信を良好に行うことが可能となる。
テレビ受信機300においては、 VS_Info に配置された「d_picture」のモード識別情報と、上述した「PRTY」の参照情報の有無の識別情報に基づいて、いずれのモードの送信にあっても、全てのピクチャの視差情報(Disparity)を、的確に受信できる。
図65は、セットトップボックス200が、画像データの各ピクチャのタイミングで1ピクチャ分の視差情報を取得し、テレビ受信機300に、シングルピクチャのモードにより、各ピクチャの視差情報を順次送信する場合を、概略的に示している。また、図66は、セットトップボックス200が、画像データの各ピクチャのタイミングで1ピクチャ分の視差情報を取得し、テレビ受信機300に、ダブルピクチャのモードにより、各ピクチャの視差情報を順次送信する場合を、概略的に示している。
また、図67は、セットトップボックス200が、画像データのGOPの先頭タイミングで、GOP内の各ピクチャの視差情報をまとめて取得し、テレビ受信機300に、シングルピクチャのモードにより、各ピクチャの視差情報を順次送信する場合を、概略的に示している。さらに、図68は、セットトップボックス200が、画像データのGOPの先頭タイミングで、GOP内の各ピクチャの視差情報をまとめて取得し、テレビ受信機300に、ダブルピクチャのモードにより、各ピクチャの視差情報を順次送信する場合を、概略的に示している。
なお、上述ではセットトップボックス200がシングルピクチャあるいはダブルピクチャのモードを任意に選択し得るように説明した。しかし、例えば、画像データのGOPの先頭タイミングでGOP内の各ピクチャの視差情報をまとめて取得するときには、シングルピクチャのモードで送信する、ようにされてもよい。この場合、GOP内の各ピクチャの視差情報は単一のピクチャ分ずつに振り分けられ、各単一ピクチャ分の視差情報がピクチャ単位で順次送信される(図67参照)。この場合、ピクチャ毎の視差情報を送信するための伝送帯域が小さい場合であっても、各ピクチャの視差情報を、テレビ受信機300に良好に送信できる。
一方、セットトップボックス200が2ビデオフレーム周期に1度の割合でしかVS_InfoFrameを送れない場合、あるいはテレビ受信機300が2ビデオフレーム周期に1度の割合でしかVS_InfoFrameを受け取れない場合には、図66のように2ビデオフレーム分の視差情報を続けて一つのVS_InfoFrameで送ることも考えられる。
なお、上述では、ダブルピクチャモードにあるとき、2ピクチャ(2フレーム)単位で、連続する第1のピクチャおよび第2のピクチャの視差情報をそのまま、つまりイントラデータのまま送信する例を示した。しかし、このダブルピクチャモードにおいて、第1のピクチャまたは第2のピクチャの視差情報を、1つ前のピクチャの視差情報との間の差分データとし、伝送データ量を低減することも考えられる。
図69、図70は、VS_Info(HDMI Vendor Specific InfoFrame)の他のパケット構造例を示している。詳細説明は省略するが、第0バイト(PB0)〜第6バイト(PB6)に関しては、上述の図61に示すパケット構造例と同様である。図71は、図69、図70に示すパケット構造例における主要な情報の内容を示している。
第7バイト(PB7)の第7ビットから第5ビットに、「3D_Metadata_type」が配置されている。各分割領域(Partition)の視差情報(Disparity)を指定する場合、この3ビットの情報は、未使用の、例えば、“001”とされる。
また、第7バイト(PB7)の第4バイトから第0バイトに、「3D_Metadata_length」が配置されている。この5ビットの情報は、各分割領域(Partition)の視差情報(Disparity)のサイズを示す。この「3D_Metadata_length」の値は、0x00〜0x16の値をとる。例えば、“00011”は3(10進数で)を表し、“11010”は26(10進数で)を表す。
第8バイト(PB8)の第7ビットに、「d_picture」の1ビットの識別情報が配置される。この識別情報は、シングルピクチャかダブルピクチャかを示す。“0”は、シングルピクチャであること、つまり、各分割領域(Partition)の視差情報(Disparity)として、1ピクチャ分を送信するモードであることを示す。“1”は、ダブルピクチャであること、つまり、各分割領域(Partition)の視差情報(Disparity)として、2ピクチャ分を送信するモードであることを示す。
第8バイト(PB8)の第5ビットに、「partition_enable」の1ビットの識別情報が配置される。この識別情報は、対象ピクチャが各分割領域(Partition)の視差情報(Disparity)を持つかどうかを示す。“1”は、水平、垂直方向に分割領域が指定されていて、各々が視差情報(Disparity)を持つことを示す。“0”は、画面全体が一つの視差情報(Disparity)を持つことを示す。
第8バイト(PB8)の第6ビットに、「Picture_reorder」の1ビットの識別情報が配置される。ダブルピクチャを伝送する場合、2つのピクチャ(N,N+1)の伝送が、時間的にNが先でN+1が後か、あるいはN+1が先でNが後かを示す。“1”は、(N+1)ピクチャが先で視差情報(Disparity)の値を8bitで表し、Nピクチャが後で、(N−1)ピクチャの視差情報(Disparity)からの差分値を4bitで表すことを示す。“0”は、Nピクチャが先で視差情報(Disparity)の値を8bitで表し、(N+1)ピクチャが後で、Nピクチャの視差情報(Disparity)からの差分値を4bitで表すことを示す。
また、第8バイト(PB8)の第3ビットから第0ビットに、「partition_count」が配置される。この4ビットの情報は、分割領域(Partition)の総数を示す。例えば、“0000”は総数「1」を示し、“1111”は総数「16」を示す。
そして、第8+1バイト(PB8+1)以降に、1ピクチャ分あるいは2ピクチャ分の、視差情報(第1の視差情報、第2の視差情報)が順次配置される。「max_disparity_in_picture」の8ビット情報は、ピクチャ表示画面全体(ピクチャ全体)の第2の視差情報、つまりピクチャ全体の最大の視差情報(disparity値)を示す。「Min_disparity_in_partition」の8ビット情報は、各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)を示す。
図69のVS_Info の構造例は、「d_picture=1」であってダブルピクチャのモードであり、「picture_reorder=0」であって時間的にNピクチャが先でN+1ピクチャが後である場合におけるVS_Info の構造例を示している。なお、この例は、「partition_count=1111」であって、分割領域が「16」である場合を示している。
この場合、第8+1バイト(PB8+1)に、Nピクチャにおけるピクチャ表示画面全体の第2の視差情報、つまりピクチャ全体の最大の視差情報(disparity値)である「Max_disparity_in_picture」が配置される。そして、第8+2バイト(PB8+2)から第8+16バイト(PB8+16)に、Nピクチャにおける各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)である「Min_disparity_in_partition」が配置される。
また、この場合、第8+17バイト(PB8+17)の第3ビットから第0ビットに、N+1ピクチャにおけるピクチャ表示画面全体の第2の視差情報、つまりピクチャ全体の最大の視差情報(disparity値)の差分データである「Differential_max_disparity_in_picture」が配置される。第8+18バイト(PB8+18)から第8+25バイト(PB8+25)に、N+1ピクチャにおける各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)の差分値である「Differential_min_disparity_in_partition」が配置される。
図70のVS_Info の構造例は、「d_picture=1」であってダブルピクチャのモードであり、「picture_reorder=1」であって時間的にN+1ピクチャが先でNピクチャが後である場合におけるVS_Info の構造例を示している。なお、この例は、「partition_count=1111」であって、分割領域が「16」である場合を示している。
この場合、第8+1バイト(PB8+1)に、N+1ピクチャにおけるピクチャ表示画面全体の第2の視差情報、つまりピクチャ全体の最大の視差情報(disparity値)である「Max_disparity_in_picture」が配置される。そして、第8+2バイト(PB8+2)から第8+16バイト(PB8+16)に、N+1ピクチャにおける各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)である「Min_disparity_in_partition」が配置される。
また、この場合、第8+17バイト(PB8+17)の第3ビットから第0ビットに、Nピクチャにおけるピクチャ表示画面全体の第2の視差情報、つまりピクチャ全体の最大の視差情報(disparity値)の差分データである「Differential_max_disparity_in_picture」が配置される。第8+18バイト(PB8+18)から第8+25バイト(PB8+25)に、Nピクチャにおける各分割領域(Partition)の第1の視差情報、つまり各分割領域における最小の視差情報(disparity値)の差分値である「Differential_min_disparity_in_partition」が配置される。
[Nピクチャと、N+1ピクチャの順番決定]
ここで、NピクチャとN+1ピクチャの順番決定、つまり「picture_reorder」を“0”とするか“1”とするかの決定は、例えば、以下のように行われる。NピクチャとN+1ピクチャの順番決定は、例えば、図72に示すような構成で行われる。視差情報は、フレームメモリ281に供給され、1フレームだけ遅延される。減算器282では、N+1ピクチャの視差情報D(N+1)とNピクチャの視差情報D(N)との差分データ「D(N)−D(N+1)」が算出され、この差分データが順番決定部283に送られる。
順番決定部283では、差分データの絶対値|D(N)−D(N+1)|と閾値Thが比較されて、NピクチャとN+1ピクチャの順番決定が行われる。|D(N)−D(N+1)|≦Thであるとき、順番決定部283は、「Nピクチャが先、N+1ピクチャが後」に決定し、VS_Info の「picture_reorder」を“0”にセットし、このVS_Infoに、NピクチャおよびN+1ピクチャの視差情報を、上述の図69に示すように配置する。この場合、N+1ピクチャの視差情報は、Nピクチャの視差情報との間の差分データとされる。
図73は、|D(N)−D(N+1)|≦Thとなる場合の視差情報(Disparity値)の時間推移例を示している。この例では、N−1ピクチャとNピクチャとの間で視差情報が大きく変化している。しかし、NピクチャとN+1ピクチャとの間で視差情報の変化は小さい。そのため、|D(N)−D(N+1)|≦Thを満たすこととなる。この場合、N+1ピクチャの視差情報は、Nピクチャの視差情報との間の差分データとなるので、その値は比較的小さくなる。
一方、|D(N)−D(N+1)|>Thであるとき、順番決定部283は、「N+1ピクチャが先、Nピクチャが後」に決定し、VS_Info の「picture_reorder」を“1”にセットし、このVS_Infoに、N+1ピクチャおよびNピクチャの視差情報を、上述の図70に示すように配置する。この場合、Nピクチャの視差情報は、N−1ピクチャの視差情報との間の差分データとされる。
図74は、|D(N)−D(N+1)|>Thとなる場合の視差情報(Disparity値)の時間推移例を示している。この例では、N−1ピクチャとNピクチャとの間で視差情報の変化は小さいが、NピクチャとN+1ピクチャとの間で視差情報の変化は大きい。そのため、|D(N)−D(N+1)|>Thを満たすこととなる。この場合、Nピクチャの視差情報は、N−1ピクチャの視差情報との間の差分データとなるので、その値は比較的小さくなる。
ここで、「Min_disparity_in_partition」に関しては、D(N+1),D(N)として、それぞれ、以下の数式(2),(3)に示すように、各分割領域(Partition)の「Min_disparity_in_partition」の最小値Min_disparity(N+1),Min_disparity(N)が用いられる。
D(N+1)=Min_disparity (N+1)
=Minimum (Min_disparity_partition (N+1_0, N+1_1, - - , N+1_15) )
・・・(2)
D(N) =Min_disparity (N)
=Minimum (Min_disparity_partition (N_0, N_1, - - , N_15) )
・・・(3)
なお、D(N)に関しては、上述の数式(3)で求める代わりに、上述の数式(2)でD(N+1)として採用された、Min_disparity (N+1)となった「Min_disparity_partition」と同じ分割領域(Partition)のNピクチャの「Min_disparity_partition」とすることも可能である。
一方、「Max_disparity_in_picture」に関しては、D(N+1)として、N+1ピクチャの「Max_disparity_in_picture」が用いられ、D(N)として、Nピクチャの「Max_disparity_in_picture」が用いられる。なお、|D(N)−D(N+1)|とThとの比較判定結果について、「Min_disparity_in_partition」に関する結果と、「Max_disparity_in_picture」に関する結果とが一致しない場合は、「Min_disparity_in_partition」に関する結果を優先させるなどすることが可能である。
なお、上述の図70のVS_Info の構造例では、時間的にN+1ピクチャが先でNピクチャが後に配置されている。このようにすることで、第8+1バイト(PB8+1)から第8+25バイト(PB+25)までの構造が、時間的にNピクチャが先でN+1ピクチャが後に配置されている図69のVS_Info の構造例と同じくなるので、受信側での読み取りの安定化が図られる。しかし、図70に示すVS_Info の構造例において、N+1ピクチャの視差情報とNピクチャの視差情報との配置位置を逆にすることも考えられる。
なお、上述では、セットトップボックス200がシングルピクチャあるいはダブルピクチャのモードを選択可能な例を示した。しかし、ダブルピクチャのモードの代わりに複数ピクチャのモードとし、ピクチャ数を任意に選択可能とすることも考えられる。また、選択し得るモード数が3つ以上の場合も考えられる。その場合は、与えられた帯域で送信可能なように、HDMIソース(HDMI Source)側において、分割領域(partition)の数を適切な数に変更することも可能である。
以上説明したように、図1に示す画像送受信システム10において、放送局100は、画像データの所定のピクチャ毎に取得された第1の視差情報および第2の視差情報を、ビデオストリームに挿入して送信する。ここで、第1の視差情報はピクチャ表示画面の所定領域における最も手前のオブジェクト再生位置に対応した視差情報であり、第2の視差情報はピクチャ表示画面の所定領域における最も奥のオブジェクト再生位置に対応した視差情報である。そのため、受信側のセットトップボックス200では、例えば、これら第1の視差情報および第2の視差情報に基づいて、視差角が視聴上健康を害さない所定の範囲内にあるか否かをチェックし、必要に応じて左眼画像データおよび右眼画像データを再構成できる。
また、図1に示す画像送受信システム10において、放送局100は、画像データの所定のピクチャ毎に取得された視差情報をビデオストリームに挿入して送信する際に、視差情報に圧縮符号化の処理を行うものであり、データ量の低減を図ることができる。
<2.変形例>
なお、上述実施の形態においては、画像送受信システム10が、放送局100、セットトップボックス200およびテレビ受信機300で構成されているものを示した。しかし、図75に示すように、放送局100およびテレビ受信機300Aで構成される画像送受信システム10Aも考えられる。
図76は、テレビ受信機300Aの構成例を示している。この図76において、図45と対応する部分には同一符号を付し、その詳細説明は省略する。テレビ(TV)グラフィクス発生部219Aは、図45のセットトップボックス200のセットトップボックス(STB)グラフィクス発生部219と同様のものであり、OSDあるいはアプリケーション、あるいはEPGなどのグラフィクスデータを発生する。
重畳部217からは、左眼表示用のサブタイトル(字幕)およびグラフィクスが重畳された左眼画像のデータが得られると共に、右眼表示用のサブタイトル(字幕)およびグラフィクスが重畳された右眼画像のデータが得られる。これらの画像データは、立体画像表示のための処理部に送られ、立体画像表示が行われる。また、チャネルミキシング部244では、音声データに対して、例えば5.1chサラウンド等を実現するための各チャネルの音声データが生成される。この音声データは例えばスピーカに供給され、立体画像表示に合わせた音声出力がなされる。
詳細説明は省略るすが、図76に示すテレビ受信機300Aのその他は、図45のセットトップボックス200と同様に構成され、同様に動作する。
また、上述実施の形態においては、セットトップボックス200と、テレビ受信機300とが、HDMIのデジタルインタフェースで接続されるものを示している。しかし、これらが、HDMIのデジタルインタフェースと同様のデジタルインタフェース(有線の他に無線も含む)で接続される場合においても、本技術を同様に適用できることは勿論である。
また、上述実施の形態においては、セットトップボックス200からテレビ受信機300に視差情報を送信する方法として、HDMI Vendor Specific InfoFrame を利用する方法を説明した。その他に、アクティブスペース(Active Space)を利用する方法、さらには、HPDライン86(HEAC−ライン)およびユーティリティライン88(HEAC+ライン)で構成される双方向通信路を通じて送信することも考えられる。
また、上述実施の形態においては、セットトップボックス200からテレビ受信機300に、視差情報を、HDMIインタフェースにより送信する例を示した。しかし、このようにHDMIインタフェースを通じて視差情報を送信する技術に関しては、その他のソース機器およびシンク機器の組み合わせにも応用できることは勿論である。例えば、ソース機器としてはBDやDVD等のディスクプレーヤ、さらにはゲーム機なども考えられ、シンク機器としてはモニタ装置、プロジェクタ装置なども考えられる。
また、上述実施の形態においては、コンテナがトランスポートストリーム(MPEG−2 TS)である例を示した。しかし、本技術は、インターネット等のネットワークを利用して受信端末に配信される構成のシステムにも同様に適用できる。インターネットの配信では、MP4やそれ以外のフォーマットのコンテナで配信されることが多い。
つまり、コンテナとしては、デジタル放送規格で採用されているトランスポートストリーム(MPEG−2 TS)、インターネット配信で使用されているMP4などの種々のフォーマットのコンテナが該当する。また、一つのサービス内容を供給する方法が複数に分割されていて、各々が別の伝送形態で行われるような応用、即ち、片方のビュー(view)が電波による伝送で、もう片方のビュー(view)がインターネットによる伝送であるような場合にも該当する。
また、本技術は、以下のような構成を取ることもできる。
(1)立体画像を構成する左眼画像データおよび右眼画像データを取得する画像データ取得部と、
上記取得された画像データの所定のピクチャ毎に、左眼画像および右眼画像の一方に対する他方の視差情報であって、ピクチャ表示画面の所定領域における最も手前のオブジェクト再生位置に対応した第1の視差情報と、ピクチャ表示画面の所定領域における最も奥のオブジェクト再生位置に対応した第2の視差情報を取得する視差情報取得部と、
上記取得された画像データが符号化されて得られたビデオストリームに、上記取得された視差情報を挿入する視差情報挿入部と、
上記視差情報が挿入されたビデオストリームを含む所定フォーマットのコンテナを送信する画像データ送信部とを備える
送信装置。
(2)上記視差情報挿入部は、
上記第1の視差情報および上記第2の視差情報を、ピクチャ単位、あるいはGOP単位で挿入する
前記(1)に記載の送信装置。
(3)上記視差情報挿入部は、
上記取得された視差情報を、圧縮符号化処理を行った後に、上記ビデオストリームに挿入する
前記(1)または(2)に記載の送信装置。
(4)上記視差情報挿入部は、上記ビデオストリームの所定のピクチャに上記視差情報を挿入する際に、該視差情報がピクチャ表示画面全体における視差情報であるか、所定数に分割された各分割領域における視差情報であるかを識別する識別情報をさらに挿入する
前記(1)から(3)のいずれかに記載の送信装置。
(5)上記視差情報取得部は、
ピクチャ表示画面を分割情報で分割して得られた各分割領域における上記第1の視差情報を取得すると共に、ピクチャ表示画面全体における上記第2の視差情報を取得する
前記(1)から(4)のいずれかに記載の送信装置。
(6)上記視差情報取得部は、
ピクチャ表示画面を分割情報で分割して得られた各分割領域における上記第1の視差情報および上記第2の視差情報を取得する
前記(1)から(4)のいずれかに記載の送信装置。
(7)上記視差情報取得部は、
ピクチャ表示画面を第1の分割情報で分割して得られた各分割領域における上記第1の視差情報を取得すると共に、ピクチャ表示画面を第2の分割情報で分割して得られた各分割領域における上記第2の視差情報を取得する
前記(1)から(4)のいずれかに記載の送信装置。
(8)立体画像を構成する左眼画像データおよび右眼画像データを取得するステップと、
上記取得された画像データの所定のピクチャ毎に、左眼画像および右眼画像の一方に対する他方の視差情報であって、ピクチャ表示画面の所定領域における最も手前のオブジェクト再生位置に対応した第1の視差情報と、ピクチャ表示画面の所定領域における最も奥のオブジェクト再生位置に対応した第2の視差情報を取得するステップと、
上記取得された画像データが符号化されて得られたビデオストリームに、上記取得された視差情報を挿入するステップと、
上記視差情報が挿入されたビデオストリームを含む所定フォーマットのコンテナを送信するステップとを備える
送信方法。
(9)ビデオストリームを含む所定フォーマットのコンテナを受信する画像データ受信部を備え、
上記ビデオストリームは、立体画像を構成する左眼画像データおよび右眼画像データが符号化されて得られたものであり、
上記ビデオストリームには、上記画像データの所定のピクチャ毎に、左眼画像および右眼画像の一方に対する他方の視差情報であって、ピクチャ表示画面の所定領域における最も手前のオブジェクト再生位置に対応した第1の視差情報と、ピクチャ表示画面の所定領域における最も奥のオブジェクト再生位置に対応した第2の視差情報が挿入されており、
上記コンテナに含まれるビデオストリームから上記左眼画像データおよび右眼画像データを取得すると共に、上記第1の視差情報および第2の視差情報を取得する情報取得部と、
上記取得された第1の視差情報および第2の視差情報に基づいて、視差角が所定範囲内に入るように、上記左眼画像データおよび右眼画像データの再構成を指示する制御部とをさらに備える
受信装置。
(10)立体画像を構成する左眼画像データおよび右眼画像データを取得する画像データ取得部と、
上記取得された画像データの所定のピクチャ毎に、左眼画像および右眼画像の一方に対する他方の視差情報を取得する視差情報取得部と、
上記取得された視差情報に対して圧縮符号化処理を行う圧縮符号化部と、
上記取得された画像データが符号化されて得られたビデオストリームに、上記圧縮符号化された視差情報を挿入する視差情報挿入部と、
上記視差情報が挿入されたビデオストリームを含む所定フォーマットのコンテナを送信する画像データ送信部とを備える
送信装置。
(11)上記圧縮符号化部は、上記圧縮符号化処理として、上記取得された各ピクチャの視差情報に対して可変長符号を用いた処理を行う
前記(10)に記載の送信装置。
(12)上記圧縮符号化部は、上記圧縮符号化処理として、上記取得された各ピクチャのうち、参照ピクチャでは、被参照ピクチャとの間の差分データを取得し、該差分データに可変長符号化の処理を行う
前記(11)に記載の送信装置。
(13)上記圧縮符号化部は、表示順で先行するピクチャを被参照ピクチャとして差分データを取得する
前記(12)に記載の送信装置。
(14)上記圧縮符号化部は、デコード順で先行するピクチャを被参照ピクチャとして差分データを取得する
前記(12)に記載の送信装置。
(15)上記視差情報挿入部は、上記ビデオストリームの所定のピクチャに上記視差情報を挿入する際に、該挿入される視差情報がイントラデータであるか差分データであるかを識別する識別情報をさらに挿入する
前記(12)から(14)のいずれかに記載の送信装置。
(16)上記視差情報挿入部は、
上記ビデオストリームのIピクチャ、Pピクチャおよび被参照Bピクチャに対応して上記視差情報を挿入し、
上記挿入される視差情報が差分データであるとき、被参照ピクチャまでのピクチャ数の情報をさらに挿入する
前記(14)に記載の送信装置。
(17)立体画像を構成する左眼画像データおよび右眼画像データを取得するステップと、
上記取得された画像データの所定のピクチャ毎に、左眼画像および右眼画像の一方に対する他方の視差情報を取得するステップと、
上記取得された視差情報に対して圧縮符号化処理を行うステップと、
上記取得された画像データが符号化されて得られたビデオストリームに、上記圧縮符号化された視差情報を挿入するステップと、
上記視差情報が挿入されたビデオストリームを含む所定フォーマットのコンテナを送信するステップとを備える
送信方法。
(18)ビデオストリームを含む所定フォーマットのコンテナを受信する画像データ受信部を備え、
上記ビデオストリームは、立体画像を構成する左眼画像データおよび右眼画像データが符号化されて得られたものであり、
上記ビデオストリームには、上記画像データの所定のピクチャ毎に、左眼画像および右眼画像の一方に対する他方の視差情報が挿入されており、
上記コンテナに含まれるビデオストリームから上記左眼画像データおよび右眼画像データを取得すると共に、上記視差情報を取得する情報取得部と、
上記情報取得部で取得される視差情報が存在しないピクチャの視差情報を、上記取得された前後のピクチャの視差情報から補間により生成する視差情報補間部とをさらに備える
受信装置。
(19)ビデオストリームを含む所定フォーマットのコンテナを受信する画像データ受信部を備え、
上記ビデオストリームは、立体画像を構成する左眼画像データおよび右眼画像データが符号化されて得られたものであり、
上記ビデオストリームには、上記画像データの所定のピクチャ毎に、左眼画像および右眼画像の一方に対する他方の視差情報であって、ピクチャ表示画面の所定領域における最も手前のオブジェクト再生位置に対応した第1の視差情報と、ピクチャ表示画面の所定領域における最も奥のオブジェクト再生位置に対応した第2の視差情報が挿入されており、
上記コンテナに含まれるビデオストリームから上記左眼画像データおよび右眼画像データを取得すると共に、上記第1の視差情報および第2の視差情報を取得する情報取得部と、
上記取得された上記左眼画像データおよび上記右眼画像データと、上記取得された上記第1の視差情報および第2の視差情報とを、対応付けて、外部機器に送信する送信部とをさらに備える
受信装置。
(20)上記取得された第1の視差情報および第2の視差情報に基づいて、視差角が所定範囲内に入るように画像データおよび視差情報の再構成を行う情報再構成部をさらに備え、
上記送信部は、上記再構成された左眼画像データおよび右眼画像データと、上記再構成された第1の視差情報および第2の視差情報とを、対応付けて、外部機器に送信する
前記(19)に記載の受信装置。
(21)上記送信部は、2ピクチャ単位で、連続する第1のピクチャおよび第2のピクチャの視差情報を送信し、
少なくとも、上記第1のピクチャまたは上記第2のピクチャの視差情報は、1つ前のピクチャの視差情報との間の差分データとされる
前記(1)または(20)に記載の受信装置。
(22)上記第1のピクチャの視差情報と上記第2のピクチャの視差情報との差分データに基づいて、上記第1のピクチャの視差情報を差分データとするか上記第2のピクチャの視差情報を差分データとするかを決定する決定部をさらに備える
前記(21)に記載の受信装置。
(23)上記送信部が送信する上記視差情報には、上記第1のピクチャの視差情報が差分データであるか上記第2のピクチャの視差情報が差分データであるかを示す識別情報が付加されている
前記(22)に記載の受信装置。
本技術の主な特徴は、ピクチャ毎に取得された視差情報の最大値(第2の視差情報)と最小値(第1の視差情報)をビデオストリームに挿入して送信するようにしたことで、受信側で視差角が視聴上健康を害さない所定の範囲内にあるか否かをチェック可能にしたことである(図8、図15参照)。また、ピクチャ毎に取得された視差情報をビデオストリームに挿入して送信する際に、視差情報に圧縮符号化の処理を行うようにしたことで、データ量の低減を図ったことである(図24参照)。また、2ピクチャ単位で連続する2つのピクチャの視差情報をHDMIにより外部機器に送信する際に、一方のピクチャの視差情報を1つ前のピクチャとの間の差分データとしたことで、伝送データ量の低減を図ったことである(図69参照)。