以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明を以下の順序で行う。
1.実施の形態
2.変形例
<1.実施の形態>
[画像送受信システムの構成例]
図1は、実施の形態としての画像送受信システム10の構成例を示している。この画像送受信システム10は、放送局100と、セットトップボックス(STB)200と、テレビ受信機(TV)300を有している。
セットトップボックス200およびテレビ受信機300は、HDMI(High Definition Multimedia Interface)のデジタルインタフェースで接続されている。セットトップボックス200およびテレビ受信機300は、HDMIケーブル400を用いて接続されている。セットトップボックス200には、HDMI端子202が設けられている。テレビ受信機300には、HDMI端子302が設けられている。HDMIケーブル400の一端はセットトップボックス200のHDMI端子202に接続され、このHDMIケーブル400の他端はテレビ受信機300のHDMI端子302に接続されている。
[放送局の説明]
放送局100は、ビットストリームデータBSDを、放送波に載せて送信する。放送局100は、ビットストリームデータBSDを生成する送信データ生成部110を備えている。このビットストリームデータBSDには、立体画像データ、音声データ、重畳情報のデータ、視差情報などが含まれる。立体画像データは所定の伝送フォーマットを有し、立体画像を表示するための左眼画像データおよび右眼画像データを持っている。重畳情報は、一般的には、字幕、グラフィクス情報、テキスト情報などであるが、この実施の形態においては字幕である。
「送信データ生成部の構成例」
図2は、放送局100における送信データ生成部110の構成例を示している。この送信データ生成部110は、既存の放送規格の一つであるDVB(Digital Video Broadcasting)方式に容易に連携できるデータ構造で視差情報(視差ベクトル)を送信する。この送信データ生成部110は、データ取り出し部(アーカイブ部)111と、ビデオエンコーダ112と、オーディオエンコーダ113を有している。また、この送信データ生成部110は、サブタイトル発生部114と、視差情報作成部115と、サブタイトル処理部116と、サブタイトルエンコーダ118と、マルチプレクサ119を有している。
データ取り出し部111には、データ記録媒体111aが、例えば、着脱自在に装着される。このデータ記録媒体111aには、左眼画像データおよび右眼画像データを含む立体画像データと共に、音声データ、視差情報が対応付けて記録されている。データ取り出し部111は、データ記録媒体111aから、立体画像データ、音声データ、視差情報等を取り出して出力する。データ記録媒体111aは、ディスク状記録媒体、半導体メモリ等である。
データ記録媒体111aに記録されている立体画像データは、所定の伝送方式の立体画像データである。立体画像データ(3D画像データ)の伝送方式の一例を説明する。ここでは、以下の第1〜第3の伝送方式を挙げるが、これら以外の伝送方式であってもよい。また、ここでは、図3に示すように、左眼(L)および右眼(R)の画像データが、それぞれ、決められた解像度、例えば、1920×1080のピクセルフォーマットの画像データである場合を例にとって説明する。
第1の伝送方式は、トップ・アンド・ボトム(Top & Bottom)方式で、図4(a)に示すように、垂直方向の前半では左眼画像データの各ラインのデータを伝送し、垂直方向の後半では左眼画像データの各ラインのデータを伝送する方式である。この場合、左眼画像データおよび右眼画像データのラインが1/2に間引かれることから原信号に対して垂直解像度は半分となる。
第2の伝送方式は、サイド・バイ・サイド(Side By Side)方式で、図4(b)に示すように、水平方向の前半では左眼画像データのピクセルデータを伝送し、水平方向の後半では右眼画像データのピクセルデータを伝送する方式である。この場合、左眼画像データおよび右眼画像データは、それぞれ、水平方向のピクセルデータが1/2に間引かれる。原信号に対して、水平解像度は半分となる。
第3の伝送方式は、フレーム・シーケンシャル(Frame Sequential)方式で、図4(c)に示すように、左眼画像データと右眼画像データとをフレーム毎に順次切換えて伝送する方式である。なお、このフレーム・シーケンシャル方式は、フル・フレーム(Full Frame)方式、あるいはバックワード・コンパチブル(BackwardCompatible)方式と称される場合もある。
また、データ記録媒体111aに記録されている視差情報は、例えば、画像を構成するピクセル(画素)毎の視差ベクトルである。視差ベクトルの検出例について説明する。ここでは、左眼画像に対する右眼画像の視差ベクトルを検出する例について説明する。図5に示すように、左眼画像を検出画像とし、右眼画像を参照画像とする。この例では、(xi,yi)および(xj,yj)の位置における視差ベクトルが検出される。
(xi,yi)の位置における視差ベクトルを検出する場合を例にとって説明する。この場合、左眼画像に、(xi,yi)の位置の画素を左上とする、例えば4×4、8×8あるいは16×16の画素ブロック(視差検出ブロック)Biが設定される。そして、右眼画像において、画素ブロックBiとマッチングする画素ブロックが探索される。
この場合、右眼画像に、(xi,yi)の位置を中心とする探索範囲が設定され、その探索範囲内の各画素を順次注目画素として、上述の画素ブロックBiと同様の例えば4×4、8×8あるいは16×16の比較ブロックが順次設定されていく。
画素ブロックBiと順次設定される比較ブロックとの間で、対応する画素毎の差分絶対値の総和が求められる。ここで、図6に示すように、画素ブロックBiの画素値をL(x,y)とし、比較ブロックの画素値をR(x,y)とするとき、画素ブロックBiと、ある比較ブロックとの間における差分絶対値の総和は、Σ|L(x,y)−R(x,y)|で表される。
右眼画像に設定される探索範囲にn個の画素が含まれているとき、最終的にn個の総和S1〜Snが求められ、その中で最小の総和Sminが選択される。そして、この総和Sminが得られた比較ブロックから左上の画素の位置が(xi′,yi′)が得られる。これにより、(xi,yi)の位置における視差ベクトルは、(xi′−xi,yi′−yi)のように検出される。詳細説明は省略するが、(xj,yj)の位置における視差ベクトルについても、左眼画像に、(xj,yj)の位置の画素を左上とする、例えば4×4、8×8あるいは16×16の画素ブロックBjが設定されて、同様の処理過程で検出される。
ビデオエンコーダ112は、データ取り出し部111から取り出された立体画像データに対して、MPEG4−AVC、MPEG2、VC−1等の符号化を施し、ビデオデータストリーム(ビデオエレメンタリストリーム)を生成する。オーディオエンコーダ113は、データ取り出し部111から取り出された音声データに対して、AC3、AAC等の符号化を施し、オーディオデータストリーム(オーディオエレメンタリストリーム)を生成する。
サブタイトル発生部114は、DVB(Digital Video Broadcasting)方式の字幕データであるサブタイトルデータを発生する。このサブタイトルデータは、二次元画像用のサブタイトルデータである。このサブタイトル発生部114は、重畳情報データ出力部を構成している。
視差情報作成部115は、データ取り出し部111から取り出されたピクセル(画素)毎の視差ベクトル(水平方向視差ベクトル)に対して、ダウンサイジング処理を施し、サブタイトルに適用すべき視差情報(水平方向視差ベクトル)を作成する。この視差情報作成部115は、視差情報出力部を構成している。なお、サブタイトルに適用する視差情報は、ページ単位、リージョン単位、あるいはオブジェクト単位で付すことが可能である。また、この視差情報は必ずしも視差情報作成部115で生成される必要はなく、外部から別途供給される構成も可能である。
図7は、各ピクセル(画素)の輝度値のようにして与えられる相対的な深さ方向のデータの例を示している。ここで、相対的な深さ方向のデータは所定の変換により画素ごとの視差ベクトルとして扱うことが可能となる。この例において、人物部分の輝度値は高くなっている。これは、人物部分の視差ベクトルの値が大きいことを意味し、従って、立体画像表示では、この人物部分が浮き出た状態に知覚されることを意味している。また、この例において、背景部分の輝度値は低くなっている。これは、背景部分の視差ベクトルの値が小さいことを意味し、従って、立体画像表示では、この背景部分が沈んだ状態に知覚されることを意味している。
図8は、ブロック(Block)毎の視差ベクトルの一例を示している。ブロックは、最下層に位置するピクセル(画素)の上位層に当たる。このブロックは、画像(ピクチャ)領域が、水平方向および垂直方向に所定の大きさで分割されることで構成される。各ブロックの視差ベクトルは、例えば、そのブロック内に存在する全ピクセル(画素)の視差ベクトルから、最も値の大きな視差ベクトルが選択されることで得られる。この例においては、各ブロックの視差ベクトルを矢印で示しており、矢印の長さが視差ベクトルの大きさに対応している。
図9は、視差情報作成部115で行われるダウンサイジング処理の一例を示している。最初に、視差情報作成部115は、図9(a)に示すように、ピクセル(画素)毎の視差ベクトルを用いて、ブロック毎の視差ベクトルを求める。上述したように、ブロックは、最下層に位置するピクセル(画素)の上位層に当たり、画像(ピクチャ)領域が水平方向および垂直方向に所定の大きさで分割されることで構成される。そして、各ブロックの視差ベクトルは、例えば、そのブロック内に存在する全ピクセル(画素)の視差ベクトルから、最も値の大きな視差ベクトルが選択されることで得られる。
次に、視差情報作成部115は、図9(b)に示すように、ブロック毎の視差ベクトルを用いて、グループ(Group Of Block)毎の視差ベクトルを求める。グループは、ブロックの上位層に当たり、複数個の近接するブロックをまとめてグループ化することで得られる。図9(b)の例では、各グループは、破線枠で括られる4個のブロックにより構成されている。そして、各グループの視差ベクトルは、例えば、そのグループ内の全ブロックの視差ベクトルから、最も値の大きな視差ベクトルが選択されることで得られる。
次に、視差情報作成部115は、図9(c)に示すように、グループ毎の視差ベクトルを用いて、パーティション(Partition)毎の視差ベクトルを求める。パーティションは、グループの上位層に当たり、複数個の近接するグループをまとめてグループ化することで得られる。図9(c)の例では、各パーティションは、破線枠で括られる2個のグループにより構成されている。そして、各パーティションの視差ベクトルは、例えば、そのパーティション内の全グループの視差ベクトルから、最も値の大きな視差ベクトルが選択されることで得られる。
次に、視差情報作成部115は、図9(d)に示すように、パーティション毎の視差ベクトルを用いて、最上位層に位置するピクチャ全体(画像全体)の視差ベクトルを求める。図9(d)の例では、ピクチャ全体には、破線枠で括られる4個のパーティションが含まれている。そして、ピクチャ全体の視差ベクトルは、例えば、ピクチャ全体に含まれる全パーティションの視差ベクトルから、最も値の大きな視差ベクトルが選択されることで得られる。
このようにして、視差情報作成部115は、最下層に位置するピクセル(画素)毎の視差ベクトルにダウンサイジング処理を施して、ブロック、グループ、パーティション、ピクチャ全体の各階層の各領域の視差ベクトルを求めることができる。なお、図9に示すダウンサイジング処理の一例では、最終的に、ピクセル(画素)の階層の他、ブロック、グループ、パーティション、ピクチャ全体の4階層の視差ベクトルを求めている。しかし、階層数ならびに各階層の領域の切り方や領域の数はこれに限定されるものではない。
図2に戻って、サブタイトル処理部116は、サブタイトル発生部114で発生されたサブタイトルデータを、データ取り出し部111から取り出される立体画像データの伝送フォーマットに対応した立体画像用(三次元画像用)のサブタイトルデータに変換する。このサブタイトル処理部116は、重畳情報データ処理部を構成し、変換後の立体画像データ用のサブタイトルデータは、送信用重畳情報データを構成する。
この立体画像用のサブタイトルデータは、左眼サブタイトルのデータおよび右眼サブタイトルのデータを持っている。ここで、左眼サブタイトルのデータは、上述の立体画像データに含まれる左眼画像データに対応したデータであり、受信側において、立体画像データが持つ左眼画像データに重畳する左眼サブタイトルの表示データを発生するためのデータである。また、右眼サブタイトルのデータは、上述の立体画像データに含まれる右眼画像データに対応したデータであり、受信側において、立体画像データが持つ右眼画像データに重畳する右眼サブタイトルの表示データを発生するためのデータである。
この場合、サブタイトル処理部116は、視差情報作成部115からのサブタイトルに適用すべき視差情報(水平方向視差ベクトル)に基づき、少なくとも、左眼サブタイトルまたは右眼サブタイトルをシフトさせて、左眼サブタイトルと右眼サブタイトルとの間に視差を付与することもできる。このように左眼サブタイトルと右眼サブタイトルとの間に視差を付与することで、受信側においては、視差を付与する処理を行わなくても、サブタイトル(字幕)の表示において、画像内の各物体との間の遠近感の整合性を最適な状態に維持できる。
このサブタイトル処理部116は、表示制御情報生成部117を備えている。この表示制御情報生成部117は、サブリージョン(Subregion)に関連した表示制御情報を生成する。ここで、サブリージョンは、リージョン内にのみ定義される領域である。このサブリージョンには、左眼サブリージョン(左眼SR)および右眼サブリージョン(右眼SR)がある。以下、適宜、サブリージョンを左眼SRと呼び、右眼サブリージョンを右眼SRと呼ぶ。
左眼サブリージョンは、送信用重畳情報データの表示領域であるリージョン内に、左眼サブタイトルの表示位置に対応して設定された領域である。また、右眼サブリージョンは、送信用重畳情報データの表示領域であるリージョン内に、右眼サブタイトルの表示位置に対応して設定された領域である。例えば、左眼サブリージョンは第1の表示領域を構成し、右眼サブリージョンは第2の表示領域を構成する。これら左眼SRおよび右眼SRの領域は、サブタイトル発生部116で発生されるサブタイトルデータ毎に、例えば、ユーザ操作に基づいて、あるいは自動的に設定される。なお、この場合、左眼SR内の左眼サブタイトルと右眼SR内の右眼サブタイトルとが対応したものとなるように、左眼SRおよび右眼SRの領域が設定される。
表示制御情報には、左眼SRの領域情報と、右眼SRの領域情報とが含まれる。また、この表示制御情報には、左眼SRに含まれる左眼サブタイトルを表示するターゲットフレームの情報と、右眼SRに含まれる右眼サブタイトルを表示するターゲットフレームの情報とが含まれる。ここで、左眼SRに含まれる左眼サブタイトルを表示するターゲットフレームの情報は左眼画像のフレームを示し、右眼SRに含まれる右眼サブタイトルを表示するターゲットフレームの情報は右眼画像のフレームを示す。
また、この表示制御情報には、左眼SRに含まれる左眼サブタイトルの表示位置をシフト調整する視差情報(disparity)と、右眼SRに含まれる右眼サブタイトルの表示位置をシフト調整する視差情報とが含まれる。これら視差情報は、左眼SRに含まれる左眼サブタイトルと右眼SRに含まれる右眼サブタイトルとの間に視差を付与するためのものである。
この場合、表示制御情報生成部117は、視差情報作成部115で作成された例えばサブタイトルに適用すべき視差情報(水平方向視差ベクトル)に基づいて、上述の表示制御情報に含ませるシフト調整のための視差情報を取得する。ここで、左眼SRの視差情報「Disparity1」および右眼SPの視差情報「Disparity2」は、それらの絶対値が等しく、しかもそれらの差が、サブタイトルに適用すべき視差情報(Disparity)に対応した値となるように、決定される。例えば、立体画像データの伝送フォーマットがサイド・バイ・サイド方式の場合には、視差情報(Disparity)に対応した値は、“Disparity/2”である。また、例えば、立体画像データの伝送フォーマットがトップ・アンド・ボトム(Top & Bottom)方式の場合には、視差情報(Disparity)に対応した値は、“Disparity”とされる。
なお、サブタイトルデータは、DDS、PCS、RSC、CDS、ODSなどのセグメントを持つ。DDS(display definition segment)は、HDTV用の表示(display)サイズを指定する。PCS(page composition segment)は、ページ(page)内のリージョン(region)位置を指定する。RCS(region compositionsegment)は、リージョン(Region)の大きさやオブジェクト(object)の符号化モードを指定し、また、オブジェクト(object)の開始位置を指定する。CDS(CLUT definition segment)は、CLUT内容の指定をする。ODS(objectdata segment)は、符号化ピクセルデータ(Pixeldata)を含む。
この実施の形態においては、SCS(Subregion composition segment)のセグメントが新たに定義される。このSCSのセグメントに、上述したように表示制御情報生成部117で生成された表示制御情報が挿入される。サブタイトル処理部116の処理の詳細ついては、さらに、後述する。
図2に戻って、サブタイトルエンコーダ118は、サブタイトル処理部116から出力される立体画像用のサブタイトルデータおよび表示制御情報を含むサブタイトルデータストリーム(サブタイトルエレメンタリストリーム)を生成する。マルチプレクサ119は、ビデオエンコーダ119、オーディオエンコーダ120およびサブタイトルエンコーダ125からの各データストリームを多重化し、ビットストリームデータ(トランスポートストリーム)BSDとしての多重化データストリームを得る。
なお、この実施の形態において、マルチプレクサ119は、サブタイトルデータストリームに、立体画像用のサブタイトルデータが含まれることを識別する識別情報を挿入する。具体的には、EIT(Event Information Table)の配下に挿入されているコンポーネント・デスクリプタ(Component_Descriptor)に、Stream_content(‘0x03’=DVB subtitles) & Component_type(for 3D target)が記述される。Component_type(for3D target)は、立体画像用のサブタイトルデータを示すために新たに定義される。
図2に示す送信データ生成部110の動作を簡単に説明する。データ取り出し部111から取り出された立体画像データは、ビデオエンコーダ112に供給される。このビデオエンコーダ112では、その立体画像データに対してMPEG4−AVC、MPEG2、VC−1等の符号化が施され、符号化ビデオデータを含むビデオデータストリームが生成される。このビデオデータストリームはマルチプレクサ119に供給される。
データ取り出し部111で取り出された音声データはオーディオエンコーダ113に供給される。このオーディオエンコーダ113では、音声データに対して、MPEG−2Audio AAC、あるいは、MPEG−4 AAC等の符号化が施され、符号化オーディオデータを含むオーディオデータストリームが生成される。このオーディオデータストリームはマルチプレクサ119に供給される。
サブタイトル発生部114では、DVBの字幕データであるサブタイトルデータ(二次元画像用)が発生される。このサブタイトルデータは、視差情報作成部115およびサブタイトル処理部116に供給される。
データ取り出し部111から取り出されたピクセル(画素)毎の視差ベクトルは、視差情報作成部115に供給される。この視差情報作成部115では、ピクセル毎の視差ベクトルに対してダウンサイジング処理が施され、サブタイトルに適用すべき視差情報(水平方向視差ベクトル=Disparity)が作成される。この視差情報は、サブタイトル処理部116に供給される。
サブタイトル処理部116では、サブタイトル発生部114で発生された二次元画像用のサブタイトルデータが、上述のデータ取り出し部111から取り出された立体画像データの伝送フォーマットに対応した立体画像用のサブタイトルデータに変換される。この立体画像用のサブタイトルデータは、左眼サブタイトルのデータおよび右眼サブタイトルのデータを持っている。この場合、サブタイトル処理部116では、視差情報作成部115からの、サブタイトルに適用すべき視差情報に基づき、少なくとも、左眼サブタイトルまたは右眼サブタイトルをシフトさせて、左眼サブタイトルと右眼サブタイトルとの間に視差が付与される場合もある。
サブタイトル処理部116の表示制御情報生成部117では、サブリージョン(Subregion)に関連した表示制御情報(領域情報、ターゲットフレーム情報、視差情報)が生成される。サブリージョンには、上述したように、左眼サブリージョン(左眼SR)および右眼サブリージョン(右眼SR)が含まれる。そのため、表示制御情報として、左眼SR、右眼SRのそれぞれの領域情報、ターゲットフレーム情報、視差情報が生成される。
上述したように、左眼SRは、例えば、ユーザ操作に基づいて、あるいは自動的に、送信用重畳情報データの表示領域であるリージョン内に、左眼サブタイトルの表示位置に対応して設定される。同様に、右眼SRは、例えば、ユーザ操作に基づいて、あるいは自動的に、送信用重畳情報データの表示領域であるリージョン内に、右眼サブタイトルの表示位置に対応して設定される。
サブタイトル処理部117で得られる立体画像用のサブタイトルデータおよび表示制御情報は、サブタイトルエンコーダ118に供給される。このサブタイトルエンコーダ118では、立体画像用のサブタイトルデータおよび表示制御情報を含むサブタイトルデータストリームが生成される。このサブタイトルデータストリームには、立体画像用のサブタイトルデータが挿入されたDDS、PCS、RCS、CDS、ODS等のセグメントと共に、表示制御情報を含む新たに定義されたSCSのセグメントが含まれる。
マルチプレクサ119には、上述したように、ビデオエンコーダ112、オーディオエンコーダ113およびサブタイトルエンコーダ118からの各データリストリームが供給される。そして、このマルチプレクサ119では、各データストリームがパケット化されて多重され、ビットストリームデータ(トランスポートストリーム)BSDとしての多重化データストリームが得られる。
図10は、トランスポートストリーム(ビットストリームデータ)の構成例を示している。このトランスポートストリームには、各エレメンタリストリームをパケット化して得られたPESパケットが含まれている。この構成例では、ビデオエレメンタリストリームのPESパケット「Video PES」、オーディオエレメンタリストリームのPESパケット「AudioPES」、サブタイトルエレメンタリストリームのPESパケット「「Subtitle PES」が含まれている。
この実施の形態において、サブタイトルエレメンタリストリーム(サブタイトルデータストリーム)には、立体画像用のサブタイトルデータおよび表示制御情報が含まれる。このストリームには、DDS、PCS、RCS、CDS、ODSなどの従来周知のセグメントと共に、新たに定義された表示制御情報を含むSCSのセグメントが含まれる。
図11は、PCS(page_composition_segment)の構造を示している。このPCSのセグメントタイプは、図12に示すように、「0x10」である。「region_horizontal_address」、「region_vertical_address」は、リージョン(region)の開始位置を示す。なお、DDS、RSC、ODSなどのその他のセグメントについては、その構造の図示は省略する。図12に示すように、DDSのセグメントタイプは「0x14」であり、RCSのセグメントタイプは「0x11」であり、CDSのセグメントタイプは「0x12」であり、ODSのセグメントタイプは「0x13」である。例えば、図12に示すように、SCSのセグメントタイプは「0x40」とされる。このSCSのセグメントの詳細構造については、後述する。
図10に戻って、また、トランスポートストリームには、PSI(Program Specific Information)として、PMT(ProgramMap Table)が含まれている。このPSIは、トランスポートストリームに含まれる各エレメンタリストリームがどのプログラムに属しているかを記した情報である。また、トランスポートストリームには、イベント単位の管理を行うSI(Serviced Information)としてのEIT(EventInformation Table)が含まれている。このEITには、番組単位のメタデータが記載される。
PMTには、プログラム全体に関連する情報を記述するプログラム・デスクリプタ(Program Descriptor)が存在する。また、このPMTには、各エレメンタリストリームに関連した情報を持つエレメンタリ・ループが存在する。この構成例では、ビデオエレメンタリ・ループ、オーディオエレメンタリ・ループ、サブタイトルエレメンタリ・ループが存在する。各エレメンタリ・ループには、ストリーム毎に、パケット識別子(PID)等の情報が配置されると共に、図示していないが、そのエレメンタリストリームに関連する情報を記述する記述子(デスクリプタ)も配置される。
EITの配下に、コンポーネント・デスクリプタ(Component_Descriptor)が挿入されている。この実施の形態において、このコンポーネント・デスクリプタに、Stream_content(‘0x03’=DVB subtitles) & Component_type(for 3Dtarget)が記述される。これにより、サブタイトルデータストリームに立体画像用のサブタイトルデータが含まれることが識別可能とされる。この実施の形態においては、図13に示すように、配信内容を示す「component_descriptor」の「stream_content」がサブタイトル(subtitle)を示す場合に、3D用サブタイトルのフォーマットを示す情報(Component_type=0x15,0x25)が新たに定義される。
[サブタイトル処理部の処理]
図2に示す送信データ生成部110のサブタイトル処理部116の処理の詳細を説明する。このサブタイトル処理部116は、上述したように、二次元画像用のサブタイトルデータを立体画像用のサブタイトルデータに変換する。また、このサブタイトル処理部116は、上述したように、表示制御情報生成部117において、表示制御情報(左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報を含む)を生成する。
図14は、立体画像データの伝送フォーマットがサイド・バイ・サイド方式である場合における立体画像用のサブタイトルデータの作成方法を概念的に示している。図14(a)は、二次元画像用のサブタイトルデータによるリージョン(region)を示している。なお、この例では、リージョンに3つのオブジェクト(object)が含まれている。
最初に、サブタイトル処理部116は、上述の二次元画像用のサブタイトルデータによるリージョン(region)のサイズを、図14(b)に示すように、サイド・バイ・サイド方式に適したサイズに変換し、そのサイズのビットマップデータを発生させる。
次に、サブタイトル処理部116は、図14(c)に示すように、サイズ変換後のビットマップデータを、立体画像用のサブタイトルデータにおけるリージョン(region)の構成要素とする。つまり、サイズ変換後のビットマップデータを、リージョン内の左眼サブタイトルに対応したオブジェクトとすると共に、リージョン内の右眼サブタイトルに対応したオブジェクトとする。
サブタイトル処理部116は、上述したようにして、二次元画像用のサブタイトルデータを、立体画像用のサブタイトルデータに変換し、この立体画像用のサブタイトルデータに対応したDDS、PCS、RCS、CDS、ODSなどのセグメントを作成する。
次に、サブタイトル処理部116は、ユーザ操作に基づいて、あるいは自動的に、立体画像用のサブタイトルデータにおけるリージョン(region)の領域上に、図14(c)に示すように、左眼SRおよび右眼SRを設定する。左眼SRは、左眼サブタイトルに対応したオブジェクトを含む領域に設定される。右眼SRは、右眼サブタイトルに対応したオブジェクトを含む領域に設定される。
サブタイトル処理部116は、上述したように設定された左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報を含むSCSのセグメントを作成する。例えば、サブタイトル処理部116は、左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報を共通に含むSCSを作成するか、左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報をそれぞれ含むSCSのセグメントを作成する。
図15は、立体画像データの伝送フォーマットがトップ・アンド・ボトム方式である場合における立体画像用のサブタイトルデータの作成方法を概念的に示している。図15(a)は、二次元画像用のサブタイトルデータによるリージョン(region)を示している。なお、この例では、リージョンに3つのオブジェクト(object)が含まれている。
最初に、サブタイトル処理部116は、上述の二次元画像用のサブタイトルデータによるリージョン(region)のサイズを、図15(b)に示すように、トップ・アンド・ボトム方式に適したサイズに変換し、そのサイズのビットマップデータを発生させる。
次に、サブタイトル処理部116は、図15(c)に示すように、サイズ変換後のビットマップデータを立体画像用のサブタイトルデータのリージョン(region)の構成要素とする。つまり、サイズ変換後のビットマップデータを、左眼画像(leftview )側のリージョンのオブジェクトとすると共に、右眼画像(Right view )側のリージョンのオブジェクトとする。
サブタイトル処理部116は、上述したようにして、二次元画像用のサブタイトルデータを、立体画像用のサブタイトルデータに変換し、この立体画像用のサブタイトルデータに対応したPCS、RCS、CDS、ODSなどのセグメントを作成する。
次に、サブタイトル処理部116は、ユーザ操作に基づいて、あるいは自動的に、立体画像用のサブタイトルデータにおけるリージョン(region)の領域上に、図15(c)に示すように、左眼SRおよび右眼SRを設定する。左眼SRは、左眼画像側のリージョン内のオブジェクトを含む領域に設定される。右眼SRは、左眼画像側のリージョン内のオブジェクトを含む領域に設定される。
サブタイトル処理部116は、上述したように設定された左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報を含むSCSのセグメントを作成する。例えば、サブタイトル処理部116は、左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報を共通に含むSCSを作成するか、左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報をそれぞれ含むSCSのセグメントを作成する。
図16は、立体画像データの伝送フォーマットがフレーム・シーケンシャル方式である場合における立体画像用のサブタイトルデータの作成方法を概念的に示している。図16(a)は、二次元画像用のサブタイトルデータによるリージョン(region)を示している。なお、この例では、リージョンに1つのオブジェクト(object)が含まれている。立体画像データの伝送フォーマットがフレーム・シーケンシャル方式である場合、この二次元画像用のサブタイトルデータをそのまま立体画像用のサブタイトルデータとする。この場合、二次元画像用のサブタイトルデータに対応したDDS、PCS、RCS、ODSなどのセグメントが、そのまま立体画像用のサブタイトルデータに対応したDDS、PCS、RCS、ODSなどのセグメントとなる。
次に、サブタイトル処理部116は、ユーザ操作に基づいて、あるいは自動的に、立体画像用のサブタイトルデータにおけるリージョン(region)の領域上に、図16(b)に示すように、左眼SRおよび右眼SRを設定する。左眼SRは、左眼サブタイトルに対応したオブジェクトを含む領域に設定される。右眼SRは、右眼サブタイトルに対応したオブジェクトを含む領域に設定される。
サブタイトル処理部116は、上述したように設定された左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報を含むSCSのセグメントを作成する。例えば、サブタイトル処理部116は、左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報を共通に含むSCSを作成するか、左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報をそれぞれ含むSCSのセグメントを作成する。
図17、図18は、SCS(Subregion Composition segment)の構造例(syntax)を示している。図19は、SCSの主要なデータ規定内容(semantics)を示している。この構造には、「Sync_byte」、「segment_type」、「page_id」、「segment_length」の各情報が含まれている。「segment_type」は、セグメントタイプを示す8ビットのデータであり、ここでは、SCSを示す「0x40」とされる(図12参照)。「segment_length」は、セグメントの長さ(サイズ)を示す8ビットのデータである。
図18は、SCSの実質的な情報を含む部分を示している。この構造例では、左眼SR、右眼SRの表示制御情報、つまり左眼SR、右眼SRの領域情報、ターゲットフレーム情報、視差情報、表示オンオフコマンド情報を伝送できる。なお、この構造例では、任意の個数のサブリージョンの表示制御情報を持つことができる。
「region_id」は、リージョン(region)の識別子を示す8ビット情報である。「subregion_id」は、サブリージョン(Subregion)の識別子を示す8ビット情報である。「subregion_visible_flag」は、対応するサブリージョンの表示(重畳)のオンオフを制御する1ビットのフラグ情報(コマンド情報)である。「subregion_visible_flag=1」は、対応するサブリージョンの表示オンを示すと共に、その前に表示されていた対応するサブリージョンの表示オフを示す。
「subregion_extent_flag」は、サブリージョンとリージョンとが、サイズおよび位置に関して、同じか否かを示す1ビットのフラグ情報である。「subregion_extent_flag=1」は、サブリージョンとリージョンとが、サイズおよび位置に関して、同じであることを示す。一方、「subregion_extent_flag=0」は、サブリージョンはリージョンより小さいことを示す。
「subregion_position_flag」は、続くデータにサブリージョンの領域(位置およびサイズ)の情報を含むか否かを示す1ビットのフラグ情報である。「subregion_position_flag=1」は、続くデータにサブリージョンの領域(位置およびサイズ)の情報を含むことを示す。一方、「subregion_position_flag=0」は、続くデータにサブリージョンの領域(位置およびサイズ)の情報を含まないことを示す。
「target_stereo_frame」は、対応するサブリージョンのターゲットフレーム(表示対象フレーム)を指定する1ビットの情報である。この「target_stereo_frame」は、ターゲットフレーム情報を構成する。「target_stereo_frame=0」は、対応するサブリージョンがフレーム0(例えば、左眼フレーム、あるいはベースビューフレームなど)に表示されるものであることを示す。一方、「target_stereo_frame=1」は、対応するサブリージョンがフレーム1(例えば、右眼フレーム、あるいはノンベースビューフレームなど)に表示されるものであることを示す。
「rendering_level」は、字幕表示の際に受信側(デコーダ側)で必須の視差情報(disparity)対応レベルを示す。“00”は、視差情報を用いた字幕の3次元表示は任意(optional)であることを示す。“01”は、字幕表示期間内で共通に使用される視差情報(default_disparity)による字幕の3次元表示が必須であることを示す。“10”は、字幕表示期間内で順次更新される視差情報(disparity_update)による字幕の3次元表示が必須であることを示す。
「temporal_extension_flag」は、字幕表示期間内で順次更新される視差情報(disparity_update)の存在の有無を示す1ビットのフラグ情報である。この場合、“1”は存在することを示し、“0”は存在しないことを示す。「shared_disparity」は、全てのリージョン(region)に跨る共通の視差情報(disparity)制御を行うかどうかを示す。“1”は、以後の全てのリージョンに対して、一つの共通の視差情報(disparity)が適用されることを示す。“0”は、視差情報(Disparity)は、一つのリージョンにのみ適用されることを示す。
「subregion_disparity」の8ビットフィールドは、デフォルトの視差情報を示す。この視差情報は、更新をしない場合の視差情報、つまり字幕表示期間内において共通に使用される視差情報である。「subregion_position_flag=1」のとき、以下のサブリージョンの領域(位置およびサイズ)の情報が含まれる。
「subregion_horizontal_position」は、矩形領域であるサブリージョンの左端の位置を示す16ビット情報である。「subregion_vertical_position」は、矩形領域であるサブリージョンの上端の位置を示す16ビット情報である。「subregion_width」は、矩形領域であるサブリージョンの水平方向のサイズ(ピクセル数)を示す16ビット情報である。「subregion_height」は、矩形領域であるサブリージョンの垂直方向のサイズ(ピクセル数)を示す16ビット情報である。これらの位置情報およびサイズ情報は、サブリージョンの領域情報を構成している。
「temporal_extension_flag」が“1”である場合、「disparity_temporal_extension()」を有する。ここには、基本的に、ベースセグメント期間(BSP:Base Segment Period)毎に更新すべき視差情報が格納される。図20は、ベースセグメント期間(BSP)毎の視差情報の更新例を示している。ここで、ベースセグメント期間は、更新フレーム間隔を意味する。この図からも明らかなように、字幕表示期間内で順次更新される視差情報は、字幕表示期間の最初のフレームの視差情報と、その後のベースセグメント期間(更新フレーム間隔)毎のフレームの視差情報とからなっている。
なお、図21は、「disparity_temporal_extension()」の構造例(syntax)を示している。図22は、その主要なデータ規定内容(semantics)を示している。「temporal_division_size」の2ビットフィールドは、ベースセグメント期間(更新フレーム間隔)に含まれるフレーム数を示す。“00”は、16フレームであることを示す。“01”は、25フレームであることを示す。“10”は、30フレームであることを示す。さらに、“11”は、32フレームであることを示す。
「temporal_division_count」の5ビットフィールドは、字幕表示期間に含まれるベースセグメントの個数を示す。「disparity_curve_no_update_flag」は、視差情報の更新の有無を示す1ビットのフラグ情報である。“1”は対応するベースセグメントのエッジで視差情報の更新を行わない、つまりスキップすることを示し、“0”は対応するベースセグメントのエッジで視差情報の更新を行うことを示す。
図23は、ベースセグメント期間(BSP)毎の視差情報の更新例を示している。図において、「skip」が付されたベースセグメントのエッジでは視差情報の更新は行われない。このフラグ情報が存在することで、視差情報のフレーム方向の変化が同様となる期間が長く続く場合、視差情報の更新を行わないようにして、その期間内の視差情報の伝送を省略でき、視差情報のデータ量を抑制することが可能となる。
「disparity_curve_no_update_flag」が“0”で視差情報の更新を行う場合、対応するベースセグメントの「shifting_interval_counts」が含まれる。一方、「disparity_curve_no_update_flag」が“1”で視差情報の更新を行わない場合、「disparity_update」は含まれない。「shifting_interval_counts」の6ビットフィールドは、ベースセグメント期間(更新フレーム間隔)を調整するドローファクタ(Draw factor)、つまり差し引きフレーム数を示す。
図23のベースセグメント期間(BSP)毎の視差情報の更新例において、時点C〜Fの視差情報の更新タイミングに関しては、ドローファクタ(Draw factor)により、ベースセグメント期間が調整されている。この調整情報が存在することで、ベースセグメント期間(更新フレーム間隔)を調整することが可能となり、受信側に、視差情報の時間方向(フレーム方向)の変化をより的確に伝えることが可能となる。
なお、ベースセグメント期間(更新フレーム間隔)の調整としては、上述した差し引きフレーム数で短くする方向に調整する他に、加算フレーム数で長くする方向に調整することも考えられる。例えば、「shifting_interval_counts」の5ビットフィールドを符号付き整数とすることで、双方向の調整が可能となる。
「disparity_update」の8ビットフィールドは、対応するベースセグメントの視差情報を示す。なお、k=0における「disparity_update」は、字幕表示期間内において更新フレーム間隔で順次更新される視差情報の初期値、つまり、字幕表示期間における最初のフレームの視差情報である。
図24は、放送局100からセットトップボックス200を介してテレビ受信機300に至る、あるいは放送局100から直接テレビ受信機300に至る、立体画像データおよびサブタイトルデータ(表示制御情報を含む)の流れを概略的に示している。この場合、放送局100ではサイド・バイ・サイド(Side-by-Side)方式に合わせた立体画像用のサブタイトルデータが生成される。立体画像データはビデオデータストリームに含まれて送信され、立体画像用のサブタイトルデータはサブタイトルデータストリームに含まれて送信される。
最初に、放送局100からセットトップボックス200に立体画像データおよびサブタイトルデータ(表示制御情報を含む)が送られ、このセットトップボックス200がレガシーの2D対応機器(Legacy 2D STB)である場合について説明する。セットトップボックス200は、サブタイトルデータ(サブリージョンの表示制御情報を除く)に基づいて、左眼サブタイトルおよび右眼サブタイトルを表示するためのリージョンの表示データを生成し、この表示データを立体画像データに重畳して、出力立体画像データを得る。この場合の重畳位置は、リージョンの位置である。
セットトップボックス200は、この出力立体画像データを、例えばHDMIのデジタルインタフェースを通じて、テレビ受信機300に送信する。この場合、セットトップボックス200からテレビ受信機300への立体画像データの伝送フォーマットは、例えば、サイド・バイ・サイド(Side-by-Side)方式とされる。
テレビ受信機300は、3D対応機器(3D TV)である場合、セットトップボックス200から送られてくるサイド・バイ・サイド方式の立体画像データに3D信号処理を施し、サブタイトルが重畳された左眼画像および右眼画像のデータを生成する。そして、テレビ受信機300は、LCD等の表示パネルに、ユーザに立体画像を認識させるための両眼視差画像(左眼画像および右眼画像)を表示する。
次に、放送局100からセットトップボックス200に立体画像データおよびサブタイトルデータ(表示制御情報を含む)が送られ、このセットトップボックス200が3D対応機器(3D STB)である場合について説明する。セットトップボックス200は、サブタイトルデータ(サブリージョンの表示制御情報を除く)に基づいて、左眼サブタイトルおよび右眼サブタイトルを表示するためのリージョンの表示データを生成する。そして、セットトップボックス200は、このリージョンの表示データから、左眼SRに対応した表示データおよび右眼SRに対応した表示データを抽出する。
そして、セットトップボックス200は、左眼SR、右眼SRに対応した表示データを、立体画像データに重畳して、出力立体画像データを得る。この場合、左眼SRに対応した表示データは、この左眼SRのターゲットフレーム情報であるframe0で示されるフレーム部分(左眼画像フレーム部分)に重畳される。また、右眼SRに対応した表示データは、この右眼SRのターゲットフレーム情報であるframe1で示されるフレーム部分(右眼画像フレーム部分)に重畳される。
この場合、左眼SRに対応した表示データは、サイド・バイ・サイド方式の立体画像データの、左眼SRの領域情報であるPosition1で示される位置を、この左眼SRの視差情報であるDisparity1の半分だけずらした位置に、重畳される。また、左眼SRに対応した表示データは、サイド・バイ・サイド方式の立体画像データの、右眼SRの領域情報であるPosition2で示される位置を、この左眼SRの視差情報であるDisparity2の半分だけずらした位置に、重畳される。
そして、セットトップボックス200は、上述のようにして得られた出力立体画像データを、例えばHDMIのデジタルインタフェースを通じて、テレビ受信機300に送信する。この場合、セットトップボックス200からテレビ受信機300への立体画像データの伝送フォーマットは、例えば、サイド・バイ・サイド(Side-by-Side)方式とされる。
テレビ受信機300は、3D対応機器(3D TV)である場合、セットトップボックス200から送られてくるサイド・バイ・サイド方式の立体画像データに3D信号処理を施し、サブタイトルが重畳された左眼画像および右眼画像のデータを生成する。そして、テレビ受信機300は、LCD等の表示パネルに、ユーザに立体画像を認識させるための両眼視差画像(左眼画像および右眼画像)を表示する。
次に、放送局100からテレビ受信機300に立体画像データおよびサブタイトルデータ(表示制御情報を含む)が送られ、このテレビ受信機300が3D対応機器(3D TV)である場合について説明する。テレビ受信機300は、サブタイトルデータ(サブリージョンの表示制御情報を除く)に基づいて、左眼サブタイトルおよび右眼サブタイトルを表示するためのリージョンの表示データを生成する。そして、テレビ受信機300は、このリージョンの表示データから、左眼SRに対応した表示データおよび右眼SRに対応した表示データ(右眼表示データ)を抽出する。
テレビ受信機300は、左眼SRに対応した表示データを水平方向に2倍にスケーリングしてフル解像度対応の左眼表示データを得る。そして、テレビ受信機300は、この左眼表示データを、この左眼SRのターゲットフレーム情報であるframe0に対応したフル解像度の左眼画像データに重畳する。すなわち、テレビ受信機300は、この左眼表示データを、サイド・バイ・サイド方式の立体画像データの左眼画像部分を水平方向に2倍にスケーリングして得られたフル解像度の左眼画像データに重畳して、サブタイトルが重畳された左眼画像データを生成する。
テレビ受信機300は、右眼SRに対応した表示データを水平方向に2倍にスケーリングしてフル解像度対応の右眼表示データを得る。そして、テレビ受信機300は、この右眼表示データを、この右眼SRのターゲットフレーム情報であるframe1に対応したフル解像度の右眼画像データに重畳する。すなわち、テレビ受信機300は、この右眼表示データを、サイド・バイ・サイド方式の立体画像データの右眼画像部分を水平方向に2倍にスケーリングして得られたフル解像度の右眼画像データに重畳して、サブタイトルが重畳された右眼画像データを生成する。
この場合、左眼表示データは、フル解像度の左眼画像データの、左眼SRの領域情報であるPosition1が2倍とされる位置を、この左眼SRの視差情報であるDisparity1分だけずらした位置に、重畳される。また、この場合、右眼表示データは、フル解像度の右眼画像データの、右眼SRの領域情報であるPosition2からH/2を差し引いて2倍とされる位置を、この左眼SRの視差情報であるDisparity2分だけずらした位置に、重畳される
テレビ受信機300は、上述のように生成したサブタイトルが重畳された左眼画像データおよび右眼画像データに基づいて、LCD等の表示パネルに、ユーザに立体画像を認識させるための両眼視差画像(左眼画像および右眼画像)を表示する。
図25は、放送局100からセットトップボックス200を介してテレビ受信機300に至る、あるいは放送局100から直接テレビ受信機300に至る、立体画像データおよびサブタイトルデータ(表示制御情報を含む)の流れを概略的に示している。この場合、放送局100では、MVC(Multi-view Video Coding)方式に合わせた立体画像用のサブタイトルデータが生成される。この場合、ベースビューの画像データ(左眼画像データ)およびノンベースビューの画像データ(右眼画像データ)により立体画像データが構成される。この立体画像データはビデオデータストリームに含まれて送信され、立体画像用のサブタイトルデータはサブタイトルデータストリームに含まれて送信される。
最初に、放送局100からセットトップボックス200に立体画像データおよびサブタイトルデータ(表示制御情報を含む)が送られ、このセットトップボックス200がレガシーの2D対応機器(Legacy 2D STB)である場合について説明する。セットトップボックス200は、サブタイトルデータ(サブリージョンの表示制御情報を除く)に基づいて、左眼サブタイトルおよび右眼サブタイトルを表示するためのリージョンの表示データを生成し、この表示データをベースビュー(左眼画像データ)に重畳して、出力画像データを得る。この場合の重畳位置は、リージョンの位置である。
セットトップボックス200は、この出力画像データを、例えばHDMIのデジタルインタフェースを通じて、テレビ受信機300に送信する。テレビ受信機300は、2D対応機器(2D TV)あるいは3D対応機器(3D TV)のいずれであっても、表示パネルに2D画像を表示する。
次に、放送局100からセットトップボックス200に立体画像データおよびサブタイトルデータ(表示制御情報を含む)が送られ、このセットトップボックス200が3D対応機器(3D STB)である場合について説明する。セットトップボックス200は、サブタイトルデータ(サブリージョンの表示制御情報を除く)に基づいて、左眼サブタイトルおよび右眼サブタイトルを表示するためのリージョンの表示データを生成する。そして、セットトップボックス200は、このリージョンの表示データから、左眼SRに対応した表示データおよび右眼SRに対応した表示データを抽出する。
セットトップボックス200は、左眼SRに対応した表示データを、この左眼SRのターゲットフレーム情報であるframe0で示されるベースビュー(左眼画像)の画像データに重畳して、左眼サブタイトルが重畳されたベースビュー(左眼画像)の出力画像データを得る。この場合、左眼SRに対応した表示データは、ベースビュー(左眼画像)の画像データの、左眼SRの領域情報であるPosition1で示される位置を、この左眼SRの視差情報であるDisparity1分だけずらした位置に、重畳される。
また、セットトップボックス200は、右眼SRに対応した表示データを、この右眼SRのターゲットフレーム情報であるframe1で示されるノンベースビュー(右眼画像)の画像データに重畳して、右眼サブタイトルが重畳されたノンベースビュー(左眼画像)の出力画像データを得る。この場合、右眼SRに対応した表示データは、ノンベースビュー(右眼画像)の画像データの、右眼SRの領域情報であるPosition2で示される位置を、この右眼SRの視差情報であるDisparity2分だけずらした位置に、重畳される。
そして、セットトップボックス200は、上述のようにして得られたベースビュー(左眼画像)およびノンベースビュー(右眼画像)の画像データを、例えばHDMIのデジタルインタフェースを通じて、テレビ受信機300に送信する。この場合、セットトップボックス200からテレビ受信機300への立体画像データの伝送フォーマットは、例えば、フレームパッキング(Frame Packing)方式とされる。
テレビ受信機300は、3D対応機器(3D TV)である場合、セットトップボックス200から送られてくるフレームパッキング方式の立体画像データに3D信号処理を施し、サブタイトルが重畳された左眼画像および右眼画像のデータを生成する。そして、テレビ受信機300は、LCD等の表示パネルに、ユーザに立体画像を認識させるための両眼視差画像(左眼画像および右眼画像)を表示する。
次に、放送局100からテレビ受信機300に立体画像データおよびサブタイトルデータ(表示制御情報を含む)が送られ、このテレビ受信機300が3D対応機器(3D TV)である場合について説明する。テレビ受信機300は、サブタイトルデータ(サブリージョンの表示制御情報を除く)に基づいて、左眼サブタイトルおよび右眼サブタイトルを表示するためのリージョンの表示データを生成する。そして、テレビ受信機300は、このリージョンの表示データから、左眼SRに対応した表示データおよび右眼SRに対応した表示データを抽出する。
テレビ受信機300は、左眼SRに対応した表示データを、この左眼SRのターゲットフレーム情報であるframe0で示されるベースビュー(左眼画像)の画像データに重畳して、左眼サブタイトルが重畳されたベースビュー(左眼画像)の出力画像データを得る。この場合、左眼SRに対応した表示データは、ベースビュー(左眼画像)の画像データの、左眼SRの領域情報であるPosition1で示される位置を、この左眼SRの視差情報であるDisparity1分だけずらした位置に、重畳される。
また、テレビ受信機300は、右眼SRに対応した表示データを、この右眼SRのターゲットフレーム情報であるframe1で示されるノンベースビュー(右眼画像)の画像データに重畳して、右眼サブタイトルが重畳されたノンベースビュー(左眼画像)の出力画像データを得る。この場合、右眼SRに対応した表示データは、ノンベースビュー(右眼画像)の画像データの、右眼SRの領域情報であるPosition2で示される位置を、この右眼SRの視差情報であるDisparity2分だけずらした位置に、重畳される。
テレビ受信機300は、上述のように生成したサブタイトルが重畳されたベースビュー(左眼画像)およびノンベースビュー(右眼画像)の画像データに基づいて、LCD等の表示パネルに、ユーザに立体画像を認識させるための両眼視差画像(左眼画像および右眼画像)を表示する。
なお、上述では、左眼SRおよび右眼SRの表示制御情報(領域情報、ターゲットフレーム情報、視差情報)が別個に作成される例を示した。しかし、これら左眼SRおよび右眼SRのうち、いずれか一方、例えば左眼SRの表示制御情報のみを作成することも考えられる。その場合、この左眼SRの表示制御情報には、右眼SRの領域情報、ターゲットフレーム情報、視差情報のうち、領域情報は含まれないが、ターゲットフレーム情報、視差情報は含まれる。
図26は、その場合における、放送局100からセットトップボックス200を介してテレビ受信機300に至る、あるいは放送局100から直接テレビ受信機300に至る、立体画像データおよびサブタイトルデータ(表示制御情報を含む)の流れの一例を概略的に示している。この場合、放送局100ではサイド・バイ・サイド(Side-by-Side)方式に合わせた立体画像用のサブタイトルデータが生成される。立体画像データはビデオデータストリームに含まれて送信され、立体画像用のサブタイトルデータはサブタイトルデータストリームに含まれて送信される。
最初に、放送局100からセットトップボックス200に立体画像データおよびサブタイトルデータ(表示制御情報を含む)が送られ、このセットトップボックス200がレガシーの2D対応機器(Legacy 2D STB)である場合について説明する。セットトップボックス200は、サブタイトルデータ(サブリージョンの表示制御情報を除く)に基づいて、左眼サブタイトルおよび右眼サブタイトルを表示するためのリージョンの表示データを生成し、この表示データを立体画像データに重畳して、出力立体画像データを得る。この場合の重畳位置は、リージョンの位置である。
セットトップボックス200は、この出力立体画像データを、例えばHDMIのデジタルインタフェースを通じて、テレビ受信機300に送信する。この場合、セットトップボックス200からテレビ受信機300への立体画像データの伝送フォーマットは、例えば、サイド・バイ・サイド(Side-by-Side)方式とされる。
テレビ受信機300は、3D対応機器(3D TV)である場合、セットトップボックス200から送られてくるサイド・バイ・サイド方式の立体画像データに3D信号処理を施し、サブタイトルが重畳された左眼画像および右眼画像のデータを生成する。そして、テレビ受信機300は、LCD等の表示パネルに、ユーザに立体画像を認識させるための両眼視差画像(左眼画像および右眼画像)を表示する。
次に、放送局100からセットトップボックス200に立体画像データおよびサブタイトルデータ(表示制御情報を含む)が送られ、このセットトップボックス200が3D対応機器(3D STB)である場合について説明する。セットトップボックス200は、サブタイトルデータ(サブリージョンの表示制御情報を除く)に基づいて、左眼サブタイトルおよび右眼サブタイトルを表示するためのリージョンの表示データを生成する。そして、セットトップボックス200は、このリージョンの表示データから、左眼SRに対応した表示データを抽出する。
そして、セットトップボックス200は、左眼SRに対応した表示データを、立体画像データに重畳して、出力立体画像データを得る。この場合、左眼SRに対応した表示データは、この左眼SRのターゲットフレーム情報であるframe0で示されるフレーム部分(左眼画像フレーム部分)に重畳される。また、左眼SRに対応した表示データは、右眼SRのターゲットフレーム情報であるframe1で示されるフレーム部分(右眼画像フレーム部分)に重畳される。
この場合、左眼SRに対応した表示データは、サイド・バイ・サイド方式の立体画像データの、領域情報であるPositionで示される位置を、この左眼SRの視差情報であるDisparity1の半分だけずらした位置に、重畳される。また、左眼SRに対応した表示データが、サイド・バイ・サイド方式の立体画像データの、領域情報であるPosition+H/2で示される位置を、右眼SRの視差情報であるDisparity2の半分だけずらした位置に、重畳される。
そして、セットトップボックス200は、上述のようにして得られた出力立体画像データを、例えばHDMIのデジタルインタフェースを通じて、テレビ受信機300に送信する。この場合、セットトップボックス200からテレビ受信機300への立体画像データの伝送フォーマットは、例えば、サイド・バイ・サイド(Side-by-Side)方式とされる。
テレビ受信機300は、3D対応機器(3D TV)である場合、セットトップボックス200から送られてくるサイド・バイ・サイド方式の立体画像データに3D信号処理を施し、サブタイトルが重畳された左眼画像および右眼画像のデータを生成する。そして、テレビ受信機300は、LCD等の表示パネルに、ユーザに立体画像を認識させるための両眼視差画像(左眼画像および右眼画像)を表示する。
次に、放送局100からテレビ受信機300に立体画像データおよびサブタイトルデータ(表示制御情報を含む)が送られ、このテレビ受信機300が3D対応機器(3D TV)である場合について説明する。テレビ受信機300は、サブタイトルデータ(サブリージョンの表示制御情報を除く)に基づいて、左眼サブタイトルおよび右眼サブタイトルを表示するためのリージョンの表示データを生成する。そして、テレビ受信機300は、このリージョンの表示データから、左眼SRに対応した表示データを抽出する。
テレビ受信機300は、左眼SRに対応した表示データを水平方向に2倍にスケーリングしてフル解像度対応の左眼表示データを得る。そして、テレビ受信機300は、この左眼表示データを、ターゲットフレーム情報であるframe0に対応したフル解像度の左眼画像データに重畳する。すなわち、テレビ受信機300は、この左眼表示データを、サイド・バイ・サイド方式の立体画像データの左眼画像部分を水平方向に2倍にスケーリングして得られたフル解像度の左眼画像データに重畳して、サブタイトルが重畳された左眼画像データを生成する。
また、テレビ受信機300は、左眼SRに対応した表示データを水平方向に2倍にスケーリングしてフル解像度対応の右眼表示データを得る。そして、テレビ受信機300は、この右眼表示データを、ターゲットフレーム情報であるframe1に対応したフル解像度の右眼画像データに重畳する。すなわち、テレビ受信機300は、この右眼表示データを、サイド・バイ・サイド方式の立体画像データの右眼画像部分を水平方向に2倍にスケーリングして得られたフル解像度の右眼画像データに重畳して、サブタイトルが重畳された右眼画像データを生成する。
この場合、左眼表示データは、フル解像度の左眼画像データの、領域情報であるPositionが2倍とされる位置を、視差情報であるDisparity1分だけずらした位置に、重畳される。また、この場合、右眼表示データは、フル解像度の右眼画像データの、領域情報であるPositionが2倍とされる位置を、視差情報であるDisparity2分だけずらした位置に、重畳される
テレビ受信機300は、上述のように生成したサブタイトルが重畳された左眼画像データおよび右眼画像データに基づいて、LCD等の表示パネルに、ユーザに立体画像を認識させるための両眼視差画像(左眼画像および右眼画像)を表示する。
図2に示す送信データ生成部110において、マルチプレクサ119から出力されるビットストリームデータBSDは、ビデオデータストリームとサブタイトルデータストリームとを有する多重化データストリームである。ビデオデータストリームには、立体画像データが含まれている。また、サブタイトルデータストリームには、その立体画像データの伝送フォーマットに対応した立体画像用(三次元画像用)のサブタイトルデータが含まれている。
この立体画像用のサブタイトルデータは、左眼サブタイトルのデータおよび右眼サブタイトルのデータを持っている。そのため、受信側においては、このサブタイトルデータに基づいて、立体画像データが持つ左眼画像データに重畳する左眼サブタイトルの表示データおよび立体画像データが持つ右眼画像データに重畳する右眼サブタイトルの表示データを容易に発生できる。これにより、処理の容易化が図られる。
また、図2に示す送信データ生成部110において、マルチプレクサ119から出力されるビットストリームデータBSDには、立体画像データ、立体画像用のサブタイトルデータの他に、表示制御情報も含まれる。この表示制御情報には、左眼SRおよび右眼SRに関連した表示制御情報(領域情報、ターゲットフレーム情報、視差情報)が含まれている。
そのため、受信側においては、左眼SR内の左眼サブタイトルおよび右眼SR内のサブタイトルのみをそれぞれターゲットフレームに重畳表示することが容易となる。そして、これら左眼SR内の左眼サブタイトルおよび右眼SR内のサブタイトルの表示位置に視差を付与でき、サブタイトル(字幕)の表示において、画像内の各物体との間の遠近感の整合性を最適な状態に維持することが可能となる。
また、図2に示す送信データ生成部110において、サブタイトル処理部123からは、サブタイトル表示期間において順次更新される視差情報を含むSCSセグメントを送信できるので、左眼SR内の左眼サブタイトルおよび右眼SR内の右眼サブタイトルの表示位置を動的に制御できる。これにより、受信側においては、左眼サブタイトルおよび右眼サブタイトルの間に付与する視差を画像内容の変化に連動して動的に変化させることが可能となる。
また、図2に示す送信データ生成部110において、サブタイトル処理部116で作成されるSCSのセグメントに含まれる視差情報は、サブタイトル表示期間の最初のフレームの視差情報と、その後の更新フレーム間隔毎のフレームの視差情報とからなるものとされる。そのため、送信データ量を低減でき、また、受信側において、視差情報を保持するためのメモリ容量の大幅な節約が可能となる。
また、図2に示す送信データ生成部110において、サブタイトル処理部116で作成されるSCSのセグメントに含まれる更新フレーム間隔毎のフレームの視差情報は、前回の視差情報からのオフセット値ではなく、視差情報そのものである。そのため、受信側において、補間過程でエラーが生じても、一定遅延時間内にエラーからの復帰が可能になる。
また、図2に示す送信データ生成部110において、サブタイトル処理部116で作成されるSCSのセグメントに含まれる視差情報は整数画素精度とされている。そのため、受信機毎の能力差は生じにくく、よって、時間経過に伴って異なる受信機同士で差が開くことはない。また、更新フレーム間隔の間の補間は受信機性能によって自由度が与えられているため、受信機設計の自由度があがる。
[セットトップボックスの説明]
図1に戻って、セットトップボックス200は、放送局100から放送波に載せて送信されてくるビットストリームデータ(トランスポートストリーム)BSDを受信する。このビットストリームデータBSDには、左眼画像データおよび右眼画像データを含む立体画像データ、音声データが含まれている。また、このビットストリームデータBSDには、サブタイトル(字幕)を表示するための立体画像用のサブタイトルデータ(表示制御情報を含む)が含まれている。
セットトップボックス200は、ビットストリーム処理部201を有している。このビットストリーム処理部201は、ビットストリームデータBSDから、立体画像データ、音声データ、サブタイトルデータを抽出する。そして、このビットストリーム処理部201は、立体画像データ、サブタイトルデータ等を用いて、サブタイトルが重畳された立体画像データを生成する。
この場合、左眼画像に重畳する左眼サブタイトルと右眼画像に重畳する右眼サブタイトルとの間に視差を付与できる。例えば、上述したように、放送局100から送信する立体画像用のサブタイトルデータを、左眼サブタイトルと右眼サブタイトルとの間に視差が付与されるように生成できる。また、例えば、上述したように、放送局100から送られてくる立体画像用のサブタイトルデータに付加されている表示制御情報には、視差情報が含まれており、この視差情報に基づいて、左眼サブタイトルと右眼サブタイトルとの間に視差を付与できる。このように、左眼サブタイトルと右眼サブタイトルとの間に視差が付与されることで、ユーザは、サブタイトル(字幕)を画像の手前に認識可能となる。
図27(a)は、画像上におけるサブタイトル(字幕)の表示例を示している。この表示例では、背景と近景オブジェクトとからなる画像上に、字幕が重畳された例である。図27(b)は、背景、近景オブジェクト、字幕の遠近感を示し、字幕が最も手前に認識されることを示している。
図28(a)は、図27(a)と同じ、画像上におけるサブタイトル(字幕)の表示例を示している。図28(b)は、左眼画像に重畳される左眼字幕LGIと、右眼画像に重畳される右眼字幕RGIを示している。図28(c)は、字幕が最も手前に認識されるために、左眼字幕LGIと右眼字幕RGIとの間に視差が与えられることを示している。
[セットトップボックスの構成例]
セットトップボックス200の構成例を説明する。図29は、セットトップボックス200の構成例を示している。このセットトップボックス200は、ビットストリーム処理部201と、HDMI端子202と、アンテナ端子203と、デジタルチューナ204と、映像信号処理回路205と、HDMI送信部206と、音声信号処理回路207を有している。また、このセットトップボックス200は、CPU211と、フラッシュROM212と、DRAM213と、内部バス214と、リモコン受信部215と、リモコン送信機216を有している。
アンテナ端子203は、受信アンテナ(図示せず)で受信されたテレビ放送信号を入力する端子である。デジタルチューナ204は、アンテナ端子203に入力されたテレビ放送信号を処理して、ユーザの選択チャネルに対応した所定のビットストリームデータ(トランスポートストリーム)BSDを出力する。
ビットストリーム処理部201は、上述したように、ビットストリームデータBSDから立体画像データ、音声データ、立体画像用のサブタイトルデータ(表示制御情報を含む)等を抽出する。ビットストリーム処理部201は、音声データを出力する。また、このビットストリーム処理部201は、立体画像データに対して、左眼サブタイトルおよび右眼サブタイトルの表示データを合成し、サブタイトルが重畳された出力立体画像データを得る。表示制御情報は、左眼SRおよび右眼SRの領域情報、ターゲットフレーム情報、視差情報を含んでいる。
この場合、ビットストリーム処理部201は、サブタイトルデータ(サブリージョンの表示制御情報を除く)に基づいて、左眼サブタイトルおよび右眼サブタイトルを表示するためのリージョンの表示データを生成する。そして、ビットストリーム処理部201は、このリージョンの表示データから、左眼SRおよび右眼SRの領域情報に基づいて、左眼SRに対応した表示データおよび右眼SRに対応した表示データを抽出する。
そして、ビットストリーム処理部201は、左眼SR、右眼SRに対応した表示データを、立体画像データに重畳して、出力立体画像データ(表示用立体画像データ)を得る。この場合、左眼SRに対応した表示データは、この左眼SRのターゲットフレーム情報であるframe0で示されるフレーム部分(左眼画像フレーム部分)に重畳される。また、右眼SRに対応した表示データは、この右眼SRのターゲットフレーム情報であるframe1で示されるフレーム部分(右眼画像フレーム部分)に重畳される。この際、ビットストリーム処理部201は、左眼SR内の左眼サブタイトルおよび右眼SR内の右眼サブタイトルの表示位置(重畳位置)を、視差情報に基づいて、シフト調整する。
映像信号処理回路205は、ビットストリーム処理部201で得られた出力立体画像データに対して必要に応じて画質調整処理などを行い、処理後の出力立体画像データをHDMI送信部206に供給する。音声信号処理回路207は、ビットストリーム処理部201から出力された音声データに対して必要に応じて音質調整処理等を行い、処理後の音声データをHDMI送信部206に供給する。
HDMI送信部206は、HDMIに準拠した通信により、例えば、非圧縮の画像データおよび音声データを、HDMI端子202から送出する。この場合、HDMIのTMDSチャネルで送信するため、画像データおよび音声データがパッキングされて、HDMI送信部206からHDMI端子202に出力される。
例えば、放送局100からの立体画像データの伝送フォーマットがサイド・バイ・サイド方式であるとき、TMDS伝送フォーマットはサイド・バイ・サイド方式とされる(図24参照)。また、例えば、放送局100からの立体画像データの伝送フォーマットがトップ・アンド・ボトム方式であるとき、TMDS伝送フォーマットはトップ・アンド・ボトム方式とされる。また、例えば、放送局100からの立体画像データの伝送フォーマットがMVC方式であるとき、TMDS伝送フォーマットはフレームパッキング方式とされる(図25参照)。
CPU211は、セットトップボックス200の各部の動作を制御する。フラッシュROM212は、制御ソフトウェアの格納およびデータの保管を行う。DRAM213は、CPU211のワークエリアを構成する。CPU211は、フラッシュROM212から読み出したソフトウェアやデータをDRAM213上に展開してソフトウェアを起動させ、セットトップボックス200の各部を制御する。
リモコン受信部215は、リモコン送信機216から送信されたリモートコントロール信号(リモコンコード)を受信し、CPU211に供給する。CPU211は、このリモコンコードに基づいて、セットトップボックス200の各部を制御する。CPU211、フラッシュROM212およびDRAM213は内部バス214に接続されている。
セットトップボックス200の動作を簡単に説明する。アンテナ端子203に入力されたテレビ放送信号はデジタルチューナ204に供給される。このデジタルチューナ204では、テレビ放送信号が処理されて、ユーザの選択チャネルに対応した所定のビットストリームデータ(トランスポートストリーム)BSDが出力される。
デジタルチューナ204から出力されるビットストリームデータBSDは、ビットストリーム処理部201に供給される。このビットストリーム処理部201では、ビットストリームデータBSDから立体画像データ、音声データ、立体画像用のサブタイトルデータ(表示制御情報を含む)等が抽出される。ビットストリーム処理部201では、立体画像データに対して、左眼サブタイトルおよび右眼サブタイトルの表示データ(ビットマップデータ)が合成され、サブタイトルが重畳された出力立体画像データが得られる。
ビットストリーム処理部201で得られた出力立体画像データは、映像信号処理回路205に供給される。この映像信号処理回路205では、出力立体画像データに対して、必要に応じて画質調整処理等が行われる。この映像信号処理回路205から出力される処理後の出力立体画像データは、HDMI送信部206に供給される。
また、ビットストリーム処理部201で得られた音声データは、音声信号処理回路207に供給される。この音声信号処理回路207では、音声データに対して、必要に応じて音質調整処理等の処理が行われる。この音声信号処理回路207から出力される処理後の音声データは、HDMI送信部206に供給される。そして、HDMI送信部206に供給された立体画像データおよび音声データは、HDMIのTMDSチャネルにより、HDMI端子202からHDMIケーブル400に送出される。
[ビットストリーム処理部の構成例]
図30は、ビットストリーム処理部201の構成例を示している。このビットストリーム処理部201は、上述の図2に示す送信データ生成部110に対応した構成となっている。このビットストリーム処理部201は、デマルチプレクサ221と、ビデオデコーダ222と、オーディオデコーダ229を有している。また、このビットストリーム処理部201は、サブタイトルデコーダ223と、立体画像用サブタイトル発生部224と、表示制御部225と、表示制御情報取得部226と、視差情報処理部227と、ビデオ重畳部228を有している。
デマルチプレクサ221は、ビットストリームデータBSDから、ビデオ、オーディオ、サブタイトルのパケットを抽出し、各デコーダに送る。なお、デマルチプレクサ221は、ビットストリームデータBSDに挿入されているPMT、EIT等の情報を抽出し、CPU211に送る。上述したように、EITの配下にあるコンポーネント・デスクリプタに,Stream_content(‘0x03’=DVB subtitles) & Component_type(for 3Dtarget)が記述されている。これにより、サブタイトルデータストリームに立体画像用のサブタイトルデータが含まれることが識別可能とされている。したがって、CPU211は、この記述により、サブタイトルデータストリームに立体画像用のサブタイトルデータが含まれることを識別できる。
ビデオデコーダ222は、上述の送信データ生成部110のビデオエンコーダ112とは逆の処理を行う。すなわち、デマルチプレクサ221で抽出されたビデオのパケットからビデオデータストリームを再構成し、復号化処理を行って、左眼画像データおよび右眼画像データを含む立体画像データを得る。この立体画像データの伝送フォーマットは、例えば、サイド・バイ・サイド方式、トップ・アンド・ボトム方式、フレーム・シーケンシャル方式、MVC方式などである。
サブタイトルデコーダ223は、上述の送信データ生成部110のサブタイトルエンコーダ118とは逆の処理を行う。すなわち、このサブタイトルデコーダ223は、デマルチプレクサ221で抽出されたサブタイトルのパケットからサブタイトルデータストリームを再構成し、復号化処理を行って、立体画像用のサブタイトルデータ(表示制御情報を含む)を得る。立体画像用サブタイトル発生部224は、立体画像用のサブタイトルデータ(表示制御情報を除く)に基づいて、立体画像データに重畳する左眼サブタイトルおよび右眼サブタイトルの表示データ(ビットマップデータ)を発生する。この立体画像用サブタイトル発生部224は、表示データ発生部を構成している。
表示制御部225は、表示制御情報(左眼SR、右眼SRの領域情報、ターゲットフレーム情報、視差情報)に基づいて、立体画像データに重畳する表示データを制御する。すなわち、表示制御部225は、左眼SR、右眼SRの領域情報に基づいて、立体画像データに重畳する左眼サブタイトルおよび右眼サブタイトルの表示データ(ビットマップデータ)から、左眼SRに対応した表示データおよび右眼SRに対応した表示データを抽出する。
また、表示制御部225は、左眼SR、右眼SRに対応した表示データを、ビデオ重畳部228に供給して、立体画像データに重畳する。この場合、左眼SRに対応した表示データは、この左眼SRのターゲットフレーム情報であるframe0で示されるフレーム部分(左眼画像フレーム部分)に重畳される。また、右眼SRに対応した表示データは、この右眼SRのターゲットフレーム情報であるframe1で示されるフレーム部分(右眼画像フレーム部分)に重畳される。この際、表示制御部225は、左眼SR内の左眼サブタイトルおよび右眼SR内の右眼サブタイトルの表示位置(重畳位置)を、視差情報に基づいて、シフト調整して、左眼サブタイトルおよび右眼サブタイトルの間に視差を付与する。
表示制御情報取り出し部226は、サブタイトルデータストリームから表示制御情報(領域情報、ターゲットフレーム情報、視差情報)を取得する。この表示制御情報には、字幕表示期間内で共通に使用される視差情報(図18の「subregion_disparity」参照)が含まれる。また、この表示制御情報には、さらに、字幕表示期間内で順次更新される視差情報(図21の「disparity_update」参照)が含まれることもある。この字幕表示期間内で順次更新される視差情報は、上述したように、字幕表示期間の最初のフレームの視差情報と、その後のベースセグメント期間(更新フレーム間隔)毎のフレームの視差情報とからなっている。
視差情報処理部227は、表示制御情報に含まれる領域情報およびターゲットフレーム情報、さらに、字幕表示期間内で共通に使用される視差情報に関しては、そのまま表示制御部225に送る。一方、視差情報処理部227は、字幕表示期間内で順次更新される視差情報に関しては、補間処理を施して、字幕表示期間内における任意のフレーム間隔、例えば、1フレーム間隔の視差情報を生成して、表示制御部225に送る。
視差情報処理部227は、この補間処理として、線形補間処理ではなく、時間方向(フレーム方向)にローパスフィルタ(LPF)処理を伴った補間処理を行って、補間処理後の所定フレーム間隔の視差情報の時間方向(フレーム方向)を変化がなだらかになるようにしている。図31は、視差情報処理部227における上述のLPF処理を伴った補間処理の一例を示している。この例では、上述の図23の視差情報の更新例に対応している。
ここで、上述の表示制御部225は、視差情報処理部227から字幕表示期間内で共通に使用される視差情報(視差ベクトル)のみが送られてくる場合、その視差情報を使用する。また、表示制御部225は、視差情報処理部227から、さらに字幕表示期間内で順次更新される視差情報も送られてくる場合には、いずれかを使用する。
いずれを使用するかは、例えば、上述したように、拡張表示制御のデータユニットに含まれている、字幕表示の際に受信側(デコーダ側)で必須の視差情報(disparity)対応レベルを示す情報(図18の「rendering_level」参照)に拘束される。その場合、例えば、“00”であるときは、ユーザ設定による。字幕表示期間内で順次更新される視差情報を用いることで、左眼サブタイトルおよび右眼サブタイトルに付与する視差を画像内容の変化に連動して動的に変化させることが可能となる。
ビデオ重畳部228は、出力立体画像データVoutを得る。この場合、ビデオ重畳部228は、ビデオデコーダ222で得られた立体画像データに対し、表示制御部225でシフト調整された左眼SR、右眼SRの表示データ(ビットマップデータ)を、対応するターゲットフレーム部分に、重畳する。そして、ビデオ重畳部228は、この出力立体画像データVoutを、ビットストリーム処理部201の外部に出力する。
また、オーディオデコーダ229は、上述の送信データ生成部110のオーディオエンコーダ113とは逆の処理を行う。すなわち、このオーディオデコーダ229は、デマルチプレクサ221で抽出されたオーディオのパケットからオーディオのエレメンタリストリームを再構成し、復号化処理を行って、音声データAoutを得る。そして、このオーディオデコーダ229は、音声データAoutを、ビットストリーム処理部201の外部に出力する。
図30に示すビットストリーム処理部201の動作を簡単に説明する。デジタルチューナ204(図29参照)から出力されるビットストリームデータBSDは、デマルチプレクサ221に供給される。このデマルチプレクサ221では、ビットストリームデータBSDから、ビデオ、オーディオおよびサブタイトルのパケットが抽出され、各デコーダに供給される。
ビデオデコーダ222では、デマルチプレクサ221で抽出されたビデオのパケットからビデオデータストリームが再構成され、さらに復号化処理が行われて、左眼画像データおよび右眼画像データを含む立体画像データが得られる。この立体画像データは、ビデオ重畳部226に供給される。
また、サブタイトルデコーダ223では、デマルチプレクサ221で抽出されたサブタイトルのパケットからサブタイトルデータストリームが再構成され、さらに復号化処理が行われて、立体画像用のサブタイトルデータ(表示制御情報を含む)が得られる。このサブタイトルデータは、立体画像用サブタイトル発生部224に供給される。
立体画像用サブタイトル発生部224では、立体画像用のサブタイトルデータ(表示制御情報を除く)に基づいて、立体画像データに重畳する左眼サブタイトルおよび右眼サブタイトルの表示データ(ビットマップデータ)が発生される。この表示データは、表示制御部225に供給される。
また、表示制御情報取得部226では、サブタイトルデータストリームから表示制御情報(領域情報、ターゲットフレーム情報、視差情報)が取得される。この表示制御情報は、視差情報処理部227を通じて表示制御部225に供給される。この際、視差情報処理部227では、字幕表示期間内で順次更新される視差情報に関して、以下の処理が行われる。すなわち、視差情報処理部227では、時間方向(フレーム方向)のLPF処理を伴った補間処理が施されて、字幕表示期間内における任意のフレーム間隔、例えば、1フレーム間隔の視差情報が生成されて、表示制御部225に送られる。
表示制御部225では、表示制御情報(左眼SR、右眼SRの領域情報、ターゲットフレーム情報、視差情報)に基づいて、立体画像データに対する表示データの重畳が制御される。すなわち、立体画像用サブタイトル発生部224で発生された表示データから、左眼SR、右眼SRの表示データが抽出されて、シフト調整される。その後に、シフト調整された左眼SR、右眼SRの表示データが、立体画像データのターゲットフレームに重畳されるように、ビデオ重畳部228に供給される。
ビデオ重畳部228では、ビデオデコーダ222で得られた立体画像データに対し、表示制御部225でシフト調整された表示データが重畳され、出力立体画像データVoutが得られる。この出力立体画像データVoutは、ビットストリーム処理部201の外部に出力される。
また、オーディオデコーダ229では、デマルチプレクサ221で抽出されたオーディオのパケットからオーディオエレメンタリストリームが再構成され、さらに復号化処理が行われて、上述の表示用立体画像データVoutに対応した音声データAoutが得られる。この音声データAoutは、ビットストリーム処理部201の外部に出力される。
図29に示すセットトップボックス200において、デジタルチューナ204から出力されるビットストリームデータBSDは、ビデオデータストリームとサブタイトルデータストリームとを有する多重化データストリームである。ビデオデータストリームには、立体画像データが含まれている。また、サブタイトルデータストリームには、その立体画像データの伝送フォーマットに対応した立体画像用(三次元画像用)のサブタイトルデータが含まれている。
この立体画像用のサブタイトルデータは、左眼サブタイトルのデータおよび右眼サブタイトルのデータを持っている。そのため、ビットストリーム処理部201の立体画像用サブタイトル発生部224では、立体画像データが持つ左眼画像データに重畳する左眼サブタイトルの表示データを容易に発生できる。また、ビットストリーム処理部201の立体画像用サブタイトル発生部224では、立体画像データが持つ右眼画像データに重畳する右眼サブタイトルの表示データを容易に発生できる。これにより、処理の容易化が図られる。
また、図29に示すセットトップボックス200において、デジタルチューナ204から出力されるビットストリームデータBSDには、立体画像データ、立体画像用のサブタイトルデータの他に、表示制御情報も含まれる。この表示制御情報には、左眼SRおよび右眼SRに関連した表示制御情報(領域情報、ターゲットフレーム情報、視差情報)が含まれている。そのため、左眼SR内の左眼サブタイトルおよび右眼SR内のサブタイトルのみをそれぞれターゲットフレームに重畳表示することが容易となる。また、これら左眼SR内の左眼サブタイトルおよび右眼SR内のサブタイトルの表示位置に視差を付与でき、サブタイトル(字幕)の表示において、画像内の各物体との間の遠近感の整合性を最適な状態に維持することが可能となる。
また、図29に示すセットトップボックス200において、ビットストリーム処理部201の表示制御情報取得部226で取得される表示制御情報に字幕表示期間内で順次更新される視差情報が含まれる場合、表示制御部225により、左眼SR内の左眼サブタイトルおよび右眼SR内の右眼サブタイトルの表示位置を動的に制御できる。これにより、左眼サブタイトルおよび右眼サブタイトルの間に付与する視差を画像内容の変化に連動して動的に変化させることが可能となる。
また、図29に示すセットトップボックス200において、ビットストリーム処理部201の視差情報処理部227で、字幕表示期間(所定数のフレーム期間)内で順次更新される視差情報を構成する複数フレームの視差情報に対して補間処理が施される。この場合、送信側から更新フレーム間隔毎に視差情報が送信される場合であっても、左眼サブタイトルおよび右眼サブタイトルの間に付与する視差を、細かな間隔で、例えばフレーム毎に制御することが可能となる。
また、図29に示すセットトップボックス200において、ビットストリーム処理部201の視差情報処理部227における補間処理は、例えば、時間方向(フレーム方向)のローパスフィルタ処理を伴うようにされる。そのため、送信側から更新フレーム間隔毎に視差情報が送信される場合であっても、補間処理後の視差情報の時間方向の変化をなだらかにでき、左眼サブタイトルおよび右眼サブタイトルの間に付与される視差の推移が、更新フレーム間隔毎に不連続となることによる違和感を抑制できる。
[テレビ受信機の説明]
図1に戻って、テレビ受信機300は、セットトップボックス200からHDMIケーブル400を介して送られてくる立体画像データを受信する。このテレビ受信機300は、3D信号処理部301を有している。この3D信号処理部301は、立体画像データに対して、伝送フォーマットに対応した処理(デコード処理)を行って、左眼画像データおよび右眼画像データを生成する。
[テレビ受信機の構成例]
テレビ受信機300の構成例を説明する。図32は、テレビ受信機300の構成例を示している。このテレビ受信機300は、3D信号処理部301と、HDMI端子302と、HDMI受信部303と、アンテナ端子304と、デジタルチューナ305と、ビットストリーム処理部306を有している。
また、このテレビ受信機300は、映像・グラフィック処理回路307と、パネル駆動回路308と、表示パネル309と、音声信号処理回路310と、音声増幅回路311と、スピーカ312を有している。また、このテレビ受信機300は、CPU321と、フラッシュROM322と、DRAM323と、内部バス324と、リモコン受信部325と、リモコン送信機326を有している。
アンテナ端子304は、受信アンテナ(図示せず)で受信されたテレビ放送信号を入力する端子である。デジタルチューナ305は、アンテナ端子304に入力されたテレビ放送信号を処理して、ユーザの選択チャネルに対応した所定のビットストリームデータ(トランスポートストリーム)BSDを出力する。ビットストリーム処理部306は、ビットストリームデータBSDから立体画像データ、音声データ、立体画像用のサブタイトルデータ(表示制御情報も含む)等を抽出する。
また、このビットストリーム処理部306は、セットトップボックス200のビットストリーム処理部201と同様に、構成される。このビットストリーム処理部306は、立体画像データに対して、左眼サブタイトルおよび右眼サブタイトルの表示データを合成し、サブタイトルが重畳された出力立体画像データを生成して出力する。なお、このビットストリーム処理部306は、例えば、立体画像データの伝送フォーマットがサイド・バイ・サイド方式、あるいはトップ・アンド・ボトム方式などの場合、スケーリング処理を施し、フル解像度の左眼画像データおよび右眼画像データを出力する(図24〜図26のテレビ受信機300の部分参照)。また、ビットストリーム処理部306は、音声データを出力する。
HDMI受信部303は、HDMIに準拠した通信により、HDMIケーブル400を介してHDMI端子302に供給される非圧縮の画像データおよび音声データを受信する。このHDMI受信部303は、そのバージョンが例えばHDMI1.4aとされており、立体画像データの取り扱いが可能な状態にある。
3D信号処理部301は、HDMI受信部303で受信された立体画像データに対して、デコード処理を行って、フル解像度の左眼画像データおよび右眼画像データを生成する。3D信号処理部301は、TMDS伝送データフォーマットに対応したデコード処理を行う。なお、3D信号処理部301は、ビットストリーム処理部306で得られたフル解像度の左眼画像データおよび右眼画像データに対しては何もしない。
映像・グラフィック処理回路307は、3D信号処理部301で生成された左眼画像データおよび右眼画像データに基づいて、立体画像を表示するための画像データを生成する。また、映像・グラフィック処理回路307は、画像データに対して、必要に応じて、画質調整処理を行う。また、映像・グラフィック処理回路307は、画像データに対して、必要に応じて、メニュー、番組表などの重畳情報のデータを合成する。パネル駆動回路308は、映像・グラフィック処理回路307から出力される画像データに基づいて、表示パネル309を駆動する。表示パネル309は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma DisplayPanel)等で構成されている。
音声信号処理回路310は、HDMI受信部303で受信された、あるいはビットストリーム処理部306で得られた音声データに対してD/A変換等の必要な処理を行う。音声増幅回路311は、音声信号処理回路310から出力される音声信号を増幅してスピーカ312に供給する。
CPU321は、テレビ受信機300の各部の動作を制御する。フラッシュROM322は、制御ソフトウェアの格納およびデータの保管を行う。DRAM323は、CPU321のワークエリアを構成する。CPU321は、フラッシュROM322から読み出したソフトウェアやデータをDRAM323上に展開してソフトウェアを起動させ、テレビ受信機300の各部を制御する。リモコン受信部325は、リモコン送信機326から送信されたリモートコントロール信号(リモコンコード)を受信し、CPU321に供給する。CPU321は、このリモコンコードに基づいて、テレビ受信機300の各部を制御する。CPU321、フラッシュROM322およびDRAM323は、内部バス324に接続されている。
図32に示すテレビ受信機300の動作を簡単に説明する。HDMI受信部303では、HDMI端子302にHDMIケーブル400を介して接続されているセットトップボックス200から送信されてくる、立体画像データおよび音声データが受信される。このHDMI受信部303で受信された立体画像データは、3D信号処理部301に供給される。また、このHDMI受信部303で受信された音声データは音声信号処理回路310に供給される。
アンテナ端子304に入力されたテレビ放送信号はデジタルチューナ305に供給される。このデジタルチューナ305では、テレビ放送信号が処理されて、ユーザの選択チャネルに対応した所定のビットストリームデータ(トランスポートストリーム)BSDが出力される。
デジタルチューナ305から出力されるビットストリームデータBSDは、ビットストリーム処理部306に供給される。このビットストリーム処理部306では、ビットストリームデータBSDから立体画像データ、音声データ、立体画像用のサブタイトルデータ(表示制御情報も含む)等を抽出する。また、このビットストリーム処理部306では、立体画像データに対して、左眼サブタイトルおよび右眼サブタイトルの表示データが合成されて、サブタイトルが重畳された出力立体画像データ(フル解像度の左眼画像データおよび右眼画像データ)が生成される。この出力立体画像データは、3D信号処理部301通って、映像・グラフィック処理回路307に供給される。
3D信号処理部301では、HDMI受信部303で受信された立体画像データに対してデコード処理が行われて、フル解像度の左眼画像データおよび右眼画像データが生成される。この左眼画像データおよび右眼画像データは、映像・グラフィック処理回路307に供給される。この映像・グラフィック処理回路307では、左眼画像データおよび右眼画像データに基づいて、立体画像を表示するための画像データが生成され、必要に応じて、画質調整処理、OSD(オンスクリーンディスプレイ)等の重畳情報データの合成処理も行われる。
この映像・グラフィック処理回路307で得られる画像データはパネル駆動回路308に供給される。そのため、表示パネル309により立体画像が表示される。例えば、表示パネル309に、左眼画像データによる左眼画像および右眼画像データによる右眼画像が交互に時分割的に表示される。視聴者は、例えば、表示パネル309の表示に同期して左眼シャッタおよび右眼シャッタが交互に開くシャッタメガネを装着することで、左眼では左眼画像のみを見ることができ、右眼では右眼画像のみを見ることができ、立体画像を知覚できる。
また、ビットストリーム処理部306で得られた音声データは、音声信号処理回路310に供給される。この音声信号処理回路310では、HDMI受信部303で受信された、あるいはビットストリーム処理部306で得られた音声データに対してD/A変換等の必要な処理が施される。この音声データは、音声増幅回路311で増幅された後に、スピーカ312に供給される。そのため、スピーカ312から表示パネル309の表示画像に対応した音声が出力される。
[送信データ生成部およびビットストリーム処理部の他の構成例(1)]
「送信データ生成部の構成例」
図33は、放送局100(図1参照)における送信データ生成部110Aの構成例を示している。この送信データ生成部110Aは、既存の放送規格の一つであるARIB(Association of Radio Industries and Businesses)方式に容易に連携できるデータ構造で視差情報(視差ベクトル)を送信する。この送信データ生成部110Aは、データ取り出し部(アーカイブ部)121と、ビデオエンコーダ122と、オーディオエンコーダ123と、字幕発生部124と、視差情報作成部125と、字幕エンコーダ126と、マルチプレクサ127を有している。
データ取り出し部121には、データ記録媒体121aが、例えば、着脱自在に装着される。このデータ記録媒体121aには、図2に示す送信データ生成部110のデータ取り出し部111におけるデータ記録媒体111aと同様に、左眼画像データおよび右眼画像データを含む立体画像データと共に、音声データ、視差情報が対応付けて記録されている。データ取り出し部121は、データ記録媒体121aから、立体画像データ、音声データ、視差情報等を取り出して出力する。データ記録媒体121aは、ディスク状記録媒体、半導体メモリ等である。
図33に戻って、字幕発生部124は、字幕データ(ARIB方式の字幕文データ)を発生する。字幕エンコーダ126は、字幕発生部124で発生された字幕データを含む字幕データストリーム(字幕エレメンタリストリーム)を生成する。図34(a)は、字幕データストリームの構成例を示している。この例は、図34(b)に示すように、同一の画面に、「1st Caption Unit」、「2nd Caption Unit」、「3rd Caption Unit」の3つのキャプション・ユニット(字幕)が表示される例を示している。
字幕データストリームには、字幕文データグループの字幕文データ(字幕符号)として、各キャプション・ユニットの字幕データが挿入される。なお、各キャプション・ユニットの表示領域などの設定データは、図示していないが、字幕管理データグループのデータとして、字幕データストリームに挿入される。「1st Caption Unit」、「2nd Caption Unit」、「3rd Caption Unit」のキャプション・ユニットの表示領域は、それぞれ、(x1,y1)、(x2,y2)、(x3,y3)で示されている。
視差情報作成部125は、ビューワ機能を持っている。この視差情報作成部125は、データ取り出し部121から出力される視差情報、すなわちピクセル(画素)毎の視差ベクトルにダウンサイジング処理を施し、所定の領域に属する視差ベクトルを生成する。視差情報作成部125は、詳細説明は省略するが、上述した図2に示す送信データ生成部110の視差情報作成部115と同様のダウンサイジング処理を行う。
視差情報作成部125は、上述したダウンサイジング処理により、同一の画面に表示される所定数のキャプション・ユニット(字幕)に対応した視差ベクトルを作成する。この場合、視差情報作成部125は、キャプション・ユニット毎の視差ベクトル(個別視差ベクトル)を作成するか、あるいは各キャプション・ユニットに共通の視差ベクトル(共通視差ベクトル)を作成する。この選択は、例えば、ユーザの設定による。
視差情報作成部125は、個別視差ベクトルを作成する場合、各キャプション・ユニットの表示領域に基づき、上述のダウンサイジング処理によって、その表示領域に属する視差ベクトルを求める。また、視差情報作成部125は、共通視差ベクトルを作成する場合、上述のダウンサイジング処理によって、ピクチャ全体(画像全体)の視差ベクトルを求める(図9(d)参照)。なお、視差情報作成部125は、共通視差ベクトルを作成する場合、各キャプション・ユニットの表示領域に属する視差ベクトルを求め、最も値の大きな視差ベクトルを選択してもよい。
字幕エンコーダ126は、上述したように視差情報作成部125で作成された視差ベクトル(視差情報)を、字幕データストリームに含める。この場合、字幕データストリームには、字幕文データグループのPESストリームに、字幕文データ(字幕符号)として、同一画面に表示される各キャプション・ユニットの字幕データが挿入される。また、この字幕データストリームには、字幕管理データのPESストリームに、あるいは、字幕文データグループのPESストリームに、字幕の表示制御情報として、視差ベクトル(視差情報)が挿入される。
ここで、視差情報作成部125で個別視差ベクトルが作成される場合であって、字幕管理データのPESストリームに視差ベクトル(視差情報)が挿入される場合について説明する。ここでは、同一の画面に、「1st Caption Unit」、「2nd Caption Unit」、「3rd Caption Unit」の3つのキャプション・ユニット(字幕)が表示される例とする。
視差情報作成部125は、図35(b)に示すように、各キャプション・ユニットに対応した個別視差ベクトルを作成する。「Disparity 1」は、「1st Caption Unit」に対応した個別視差ベクトルである。「Disparity 2」は、「2nd Caption Unit」に対応した視差ベクトルである。「Disparity 3」は、「3rd Caption Unit」に対応した個別視差ベクトルである。
図35(a)は、字幕エンコーダ126で生成される字幕データストリーム(PESストリーム)の構成例を示している。字幕文データグループのPESストリームには、各キャプション・ユニットの字幕文情報と、それぞれの字幕文情報に関連付けられた拡張表示制御情報(データユニットID)が挿入される。また、字幕管理データグループのPESストリームには、各キャプション・ユニットの字幕文情報にそれぞれ対応した拡張表示制御情報(視差情報)が挿入される。
字幕文データグループの拡張表示制御情報(データユニットID)は、字幕管理データグループの各拡張表示制御情報(視差情報)を、字幕文データグループの各字幕文情報に対応付けするために必要とされる。この場合、字幕管理データグループの各拡張表示制御情報としての視差情報は、対応するキャプション・ユニットの個別視差ベクトルである。なお、各キャプション・ユニットの表示領域などの設定データは、図示していないが、字幕管理データグループのPESストリームに、字幕管理データ(制御符号)として、挿入される。「1st Caption Unit」、「2nd Caption Unit」、「3rd Caption Unit」のキャプション・ユニットの表示領域は、それぞれ、(x1,y1)、(x2,y2)、(x3,y3)で示されている。
図35(c)は、各キャプション・ユニット(字幕)が重畳された第1のビュー(1st View)、例えば右眼画像を示している。また、図35(d)は、各キャプション・ユニットが重畳された第2のビュー(1st View)、例えば左眼画像を示している。各キャプション・ユニットに対応した個別視差ベクトルは、図示のように、例えば、右眼画像に重畳する各キャプション・ユニットと、左眼画像に重畳する各キャプション・ユニットとの間に視差を付与するために用いられる。
次に、視差情報作成部125で共通視差ベクトルが作成される場合であって、字幕管理データのPESストリームに視差ベクトル(視差情報)が挿入される場合について説明する。ここでは、同一の画面に、「1st Caption Unit」、「2nd Caption Unit」、「3rd Caption Unit」の3つのキャプション・ユニット(字幕)が表示される例とする。視差情報作成部125は、図36(b)に示すように、各キャプション・ユニットに共通の共通視差ベクトル「Disparity」を作成する。
図36(a)は、字幕エンコーダ126で生成される字幕データストリーム(PESストリーム)の構成例を示している。字幕文データグループのPESストリームには、各キャプション・ユニットの字幕文情報が挿入される。また、字幕管理データグループのPESストリームには、各キャプション・ユニットの字幕文情報に共通に対応した拡張表示制御情報(視差情報)が挿入される。この場合、字幕管理データグループの拡張表示制御情報としての視差情報は、各キャプション・ユニットの共通視差ベクトルである。
なお、各キャプション・ユニットの表示領域などの設定データは、図示していないが、字幕管理データグループのPESストリームに、字幕管理データ(制御符号)として、挿入される。「1st Caption Unit」、「2nd Caption Unit」、「3rd Caption Unit」のキャプション・ユニットの表示領域は、それぞれ、(x1,y1)、(x2,y2)、(x3,y3)で示されている。
図36(c)は、各キャプション・ユニット(字幕)が重畳された第1のビュー(1st View)、例えば右眼画像を示している。また、図36(d)は、各キャプション・ユニットが重畳された第2のビュー(1st View)、例えば左眼画像を示している。各キャプション・ユニットに共通の共通視差ベクトルは、図示のように、例えば、右眼画像に重畳する各キャプション・ユニットと、左眼画像に重畳する各キャプション・ユニットとの間に視差を付与するために用いられる。
次に、視差情報作成部125で個別視差ベクトルが作成される場合であって、字幕文データグループのPESストリームに視差ベクトル(視差情報)が挿入される場合について説明する。ここでは、同一の画面に、「1st Caption Unit」、「2nd Caption Unit」、「3rd Caption Unit」の3つのキャプション・ユニット(字幕)が表示される例とする。
視差情報作成部125は、図37(b)に示すように、各キャプション・ユニットに対応した個別視差ベクトルを作成する。「Disparity 1」は、「1st Caption Unit」に対応した個別視差ベクトルである。「Disparity 2」は、「2nd Caption Unit」に対応した視差ベクトルである。「Disparity 3」は、「3rd Caption Unit」に対応した個別視差ベクトルである。
図37(a)は、字幕エンコーダ126で生成される字幕データストリーム(PESストリーム)のうち、字幕文データグループのPESストリームの構成例を示している。この字幕文データグループのPESストリームには、各キャプション・ユニットの字幕文情報(字幕文データ)が挿入される。また、この字幕文データグループのPESストリームには、各キャプション・ユニットの字幕文情報にそれぞれ対応した表示制御情報(視差情報)が挿入される。この場合、各表示制御情報としての視差情報は、上述したように視差情報作成部125で作成された個別視差ベクトルとなる。
なお、各キャプション・ユニットの表示領域などの設定データは、図示していないが、字幕管理データグループのPESストリームに、字幕管理データ(制御符号)として、挿入される。また、「1st Caption Unit」、「2nd Caption Unit」、「3rd Caption Unit」のキャプション・ユニットの表示領域は、それぞれ、(x1,y1)、(x2,y2)、(x3,y3)で示されている。
図37(c)は、各キャプション・ユニット(字幕)が重畳された第1のビュー(1st View)、例えば右眼画像を示している。また、図37(d)は、各キャプション・ユニットが重畳された第2のビュー(1st View)、例えば左眼画像を示している。各キャプション・ユニットに対応した個別視差ベクトルは、図示のように、例えば、右眼画像に重畳する各キャプション・ユニットと、左眼画像に重畳する各キャプション・ユニットとの間に視差を付与するために用いられる。
次に、視差情報作成部125で共通視差ベクトルが作成される場合であって、字幕文データグループのPESストリームに視差ベクトル(視差情報)が挿入される場合について説明する。ここでは、同一の画面に、「1st Caption Unit」、「2nd Caption Unit」、「3rd Caption Unit」の3つのキャプション・ユニット(字幕)が表示される例とする。視差情報作成部125は、図38(b)に示すように、各キャプション・ユニットに共通の共通視差ベクトル「Disparity」を作成する。
図38(a)は、字幕エンコーダ126で生成される字幕データストリーム(PESストリーム)のうち、字幕文データグループのPESストリームの構成例を示している。この字幕文データグループのPESストリームには、各キャプション・ユニットの字幕文情報(字幕文データ)が挿入される。また、この字幕文データグループのPESストリームには、各キャプション・ユニットの字幕文情報に共通に対応した表示制御情報(視差情報)が挿入される。この場合、表示制御情報としての視差情報は、上述したように視差情報作成部125で作成された共通視差ベクトルとなる。
なお、各キャプション・ユニットの表示領域などの設定データは、図示していないが、字幕管理データグループのPESストリームに、字幕管理情報(制御符号)として、挿入される。また、「1st Caption Unit」、「2nd Caption Unit」、「3rd Caption Unit」のキャプション・ユニットの表示領域は、それぞれ、(x1,y1)、(x2,y2)、(x3,y3)で示されている。
図38(c)は、各キャプション・ユニット(字幕)が重畳された第1のビュー(1st View)、例えば右眼画像を示している。また、図38(d)は、各キャプション・ユニットが重畳された第2のビュー(1st View)、例えば左眼画像を示している。各キャプション・ユニットに共通の共通視差ベクトルは、図示のように、例えば、右眼画像に重畳する各キャプション・ユニットと、左眼画像に重畳する各キャプション・ユニットとの間に視差を付与するために用いられる。
なお、図35(c),(d)、図36(c),(d)、図37(c),(d)、図38(c),(d)の例は、第2のビュー(例えば、左眼画像)に重畳する各キャプション・ユニットの位置のみをシフトさせている。しかし、第1のビュー(例えば、右眼画像)に重畳する各キャプション・ユニットの位置のみをシフトさせる場合、あるいは、双方のビューに重畳する各キャプション・ユニットの位置をシフトさせる場合も考えられる。
図39(a),(b)は、第1のビューおよび第2のビューに重畳するキャプション・ユニットの双方の位置をシフトさせる場合を示している。この場合、各キャプション・ユニットに対応した視差ベクトル「Disparity」の値“disparity[i]”から、第1のビュー、第2のビューにおける各キャプション・ユニットのシフト値(オフセット値)D[i]が、以下のように求められる。
すなわち、disparity[i]が偶数の場合には、第1のビューでは、「D[i]=- disparity[i]/2」と求められ、第2のビューでは、「D[i]=disparity[i]/2」と求められる。これにより、第1のビュー(例えば、右眼画像)に重畳する各キャプション・ユニットの位置は、左側に「disparity[i]/2」だけシフトされる。また、第2のビュー(例えば、左眼画像)に重畳する各キャプション・ユニットの位置は、右側に(disparity[i]/2)だけシフトされる。
また、disparity(i)が奇数の場合には、第1のビューでは、「D[i]=- (disparity[i]+1)/2」と求められ、第2のビューでは、「D[i]=(disparity[i]-1)/2」と求められる。これにより、第1のビュー(例えば、右眼画像)に重畳する各キャプション・ユニットの位置は、左側に「(disparity[i]+1)/2」だけシフトされる。また、第2のビュー(例えば、左眼画像)に重畳する各キャプション・ユニットの位置は、右側に「(disparity[i]-1)/2」だけシフトされる。
ここで、字幕符号および制御符号のパケット構造を簡単に説明する。最初に、字幕文データグループのPESストリームに含まれる字幕符号の基本的なパケット構造について説明する。図40は、字幕符号のパケット構造を示している。「Data_group_id」は、データグループ識別を示し、ここでは、字幕文データグループであることを示す。なお、字幕文データグループを示す「Data_group_id」は、さらに、言語を特定する。例えば、「Data_group_id==0x21」とされ、字幕文データグループであって、字幕文(第1言語)であることが示される。
「Data_group_size」は、後続のデータグループデータのバイト数を示す。字幕文データグループである場合、このデータグループデータは、字幕文データ(caption_data)である。この字幕文データには、1以上のデータユニットが配置されている。各データユニットは、データユニット分離符号(unit_parameter)で分離されている。各データユニット内のデータユニットデータ(data_unit_data)として、字幕符号が配置される。
次に、制御符号のパケット構造について説明する。図41は、字幕管理データグループのPESストリームに含まれる制御符号のパケット構造を示している。「Data_group_id」は、データグループ識別を示す。ここでは、字幕管理データグループであることを示し、「Data_group_id==0x20」とされる。「Data_group_size」は、後続のデータグループデータのバイト数を示す。字幕管理データグループである場合、このデータグループデータは、字幕管理データ(caption_management_data)である。
この字幕管理データには、1以上のデータユニットが配置されている。各データユニットは、データユニット分離符号(unit_parameter)で分離されている。各データユニット内のデータユニットデータ(data_unit_data)として、制御符号が配置される。この実施の形態において、視差ベクトルの値は、8単位符号として与えられる。「TCS」は2ビットのデータであり、文字符号化方式を示す。ここでは、「TCS==00」とされ、8単位符号であることが示される。
図42は、字幕データストリーム(PESストリーム)内のデータグループの構造を示している。「data_group_id」の6ビットのフィールドは、データグループ識別を示し、字幕管理データ、字幕文データの種類を識別する。「data_group_size」の16ビットのフィールドは、このデータグループフィールドにおいて、後続のデータグループデータのバイト数を示す。「data_group_data_byte」に、データグループデータが格納される。「CRC_16」は、16ビットのサイクリック・リダンダンシー・チェック符号である。このCRC符号の符号化区間は、「data_group_id」の先頭から「data_group_data_byte」の終端までである。
字幕管理データグループの場合、図42のデータグループ構造における「data_group_data_byte」は、字幕管理データ(caption_management_data)となる。また、字幕文データグループの場合、図42のデータグループ構造における「data_group_data_byte」は、字幕データ(caption_data)となる。
図43は、字幕管理データのPESストリームに視差ベクトル(視差情報)が挿入される場合における字幕管理データの構造を概略的に示している。「advanced_rendering_version」は、この実施の形態で新たに定義された、字幕の拡張表示に対応しているか否かを示す1ビットのフラグ情報である。受信側においては、このように管理情報のレイヤに配置されるフラグ情報に基づいて、字幕の拡張表示に対応しているか否かを容易に把握可能となる。「data_unit_loop_length」の24ビットフィールドは、この字幕管理データフィールドにおいて、後続のデータユニットのバイト数を示す。「data_unit」に、この字幕管理データフィールドで伝送するデータユニットが格納される。
図44は、字幕管理データのPESストリームに視差ベクトル(視差情報)が挿入される場合における字幕データの構造を概略的に示している。「data_unit_loop_length」の24ビットフィールドは、この字幕データフィールドにおいて、後続のデータユニットのバイト数を示す。「data_unit」に、この字幕データフィールドで伝送するデータユニットが格納される。なお、この字幕データの構造には、「advanced_rendering_version」のフラグ情報はない。
図45は、字幕文データグループのPESストリームに視差ベクトル(視差情報)が挿入される場合における字幕データの構造を概略的に示している。「advanced_rendering_version」は、この実施の形態で新たに定義された、字幕の拡張表示に対応しているかを示す1ビットのフラグ情報である。受信側においては、このようにデータユニットの上位レイヤに配置されるフラグ情報に基づいて、字幕の拡張表示に対応しているか否かを容易に把握可能となる。「data_unit_loop_length」の24ビットフィールドは、この字幕文データフィールドにおいて、後続のデータユニットのバイト数を示す。「data_unit」に、この字幕文データフィールドで伝送するデータユニットが格納される。
図46は、字幕文データグループのPESストリームに視差ベクトル(視差情報)が挿入される場合における字幕管理データの構造を概略的に示している。「data_unit_loop_length」の24ビットフィールドは、この字幕管理データフィールドにおいて、後続のデータユニットのバイト数を示す。「data_unit」に、この字幕管理データフィールドで伝送するデータユニットが格納される。なお、この字幕管理データの構造には、「advanced_rendering_version」のフラグ情報はない。
図47は、字幕データストリームに含まれるデータユニット(data_unit)の構造(Syntax)を示している。「unit_separator」の8ビットフィールドは、データユニット分離符号を示し、“0x1F”とされている。「data_unit_parameter」の8ビットフィールドは、データユニットの種類を識別するデータユニットパラメータである。
図48は、データユニットの種類と、データユニットパラメータおよび機能を示している。例えば、本文のデータユニットを示すデータユニットパラメータは“0x20”とされている。また、例えば、ジオメトリックのデータユニットを示すデータユニットパラメータは“0x28”とされている。また、例えば、ビットマップのデータユニットを示すデータユニットパラメータは“0x35”とされている。この実施の形態において、表示制御情報(拡張表示制御情報)を格納する拡張表示制御のデータユニットを新たに定義し、このデータユニットを示すデータユニットパラメータを、例えば“0x4F”とする。
「data_unit_size」の24ビットのフィールドは、このデータユニットフィールドにおいて、後続のデータユニットデータのバイト数を示す。「data_unit_data_byte」に、データユニットデータが格納される。図49は、拡張表示制御のデータユニット(data_unit)の構造(Syntax)を示している。この場合、データユニットパラメータは“0x4F”であり、「data_unit_data_byte」としての「Advanced_Rendering_Control」に、表示制御情報が格納される。
図50は、上述の図35、図36の例において、字幕管理データグループのPESストリームが有する拡張表示制御のデータユニットにおける「Advanced_Rendering_Control」の構造(Syntax)を示している。また、この図50は、上述の図37、図38の例において、字幕分データグループのPESストリームが有する拡張表示制御のデータユニットにおける「Advanced_Rendering_Control」の構造(Syntax)を示している。すなわち、この図50は、表示制御情報として、ステレオビデオの視差情報を挿入する場合の構造を示している。
「start_code」の8ビットフィールドは、「Advanced_Rendering_Control」の始まりを示す。「data_unit_id」の16ビットフィールドは、データユニットIDを示す。「data_length」の16ビットフィールドは、このアドバンスレンダリングコントロールのフィールドにおいて、後続のデータバイト数を示す。「Advanced_rendering_type」の8ビットフィールドは、表示制御情報の種類を指定するアドバンスレンダリングタイプである。ここでは、データユニットパラメータは、例えば“0x01”であり、表示制御情報が「ステレオビデオの視差情報」であることが示される。「disparity_information」に、ディスパリティインフォメーションが格納される。
図51は、上述の図35の例において、字幕分データグループのPESストリームが有する拡張表示制御のデータユニットにおける「Advanced_Rendering_Control」の構造(Syntax)を示している。すなわち、図51は、表示制御情報として、データユニットIDを挿入する場合の構造を示している。
「start_code」の8ビットフィールドは、「Advanced_Rendering_Control」の始まりを示す。「data_unit_id」の16ビットフィールドは、データユニットIDを示す。「data_length」の16ビットフィールドは、このアドバンスレンダリングコントロールのフィールドにおいて、後続のデータバイト数を示す。「Advanced_rendering_type」の8ビットフィールドは、表示制御情報の種類を指定するアドバンスレンダリングタイプである。ここでは、データユニットパラメータは、例えば“0x00”であり、表示制御情報が「データユニットID」であることが示される。
なお、図53は、上述の「Advanced_Rendering_Control」の構造における、さらには、後述の図52に示す「disparity_information」の構造における主要なデータ規定内容を示している。
図52は、字幕文データグループに含まれる拡張表示制御のデータユニット(data_unit)内の「Advanced_Rendering_Control」における「disparity_information」の構造(Syntax)を示している。「sync_byte」の8ビットフィールドは、「disparity_information」の識別情報であり、この「disparity_information」の始まりを示す。「interval_PTS[32..0]」は、視差情報(disparity)の更新フレーム間隔におけるフレーム周期(1フレームの間隔)を90KHz単位で指定する。つまり、「interval_PTS[32..0]」は、フレーム周期を90KHzのクロックで計測した値を33ビット長で表す。
ディスパリティインフォメーションにおいて、「interval_PTS[32..0]」によりフレーム周期を指定することで、送信側で意図する視差情報の更新フレーム間隔を、受信側に正しく伝えることが可能となる。この情報が付加されていない場合、受信側においては、例えば、ビデオのフレーム周期が参照される。
「rendering_level」は、字幕表示の際に受信側(デコーダ側)で必須の視差情報(disparity)対応レベルを示す。“00”は、視差情報を用いた字幕の3次元表示は任意(optional)であることを示す。“01”は、字幕表示期間内で共通に使用される視差情報(default_disparity)による字幕の3次元表示が必須であることを示す。“10”は、字幕表示期間内で順次更新される視差情報(disparity_update)による字幕の3次元表示が必須であることを示す。
「temporal_extension_flag」は、字幕表示期間内で順次更新される視差情報(disparity_update)の存在の有無を示す1ビットのフラグ情報である。この場合、“1”は存在することを示し、“0”は存在しないことを示す。「default_disparity」の8ビットフィールドは、デフォルトの視差情報を示す。この視差情報は、更新をしない場合の視差情報、つまり字幕表示期間内において共通に使用される視差情報である。
「shared_disparity」は、データユニット(Data_unit)に跨る共通の視差情報(disparity)制御を行うかどうかを示す。“1”は、以後の複数のデータユニット(Data_unit)に対して、一つの共通の視差情報(disparity)が適用されることを示す。“0”は、視差情報(Disparity)は、一つのデータユニット(data_unit)にのみ適用されることを示す。
「temporal_extension_flag」が“1”である場合、ディスパリティインフォメーションは、「disparity_temporal_extension()」を有する。この「disparity_temporal_extension()」の構造例(Syntax)については、上述したと同様であるので、ここでは、その説明を省略する(図21、図22参照)。
なお、上述の図52に示す「disparity_information」の構造(Syntax)においては「interval_PTS[32..0]」が付加されている。しかし「interval_PTS[32..0]」が付加されていない「disparity_information」の構造(Syntax)も考えられる。その場合、「disparity_information」の構造は、図54に示すようになる。
図33に戻って、ビデオエンコーダ122は、データ取り出し部121から供給される立体画像データに対して、MPEG4−AVC、MPEG2、VC−1等の符号化を施し、ビデオエレメンタリストリームを生成する。オーディオエンコーダ123は、データ取り出し部121から供給される音声データに対して、MPEG−2Audio AAC等の符号化を施し、オーディオエレメンタリストリームを生成する。
マルチプレクサ127は、ビデオエンコーダ122、オーディオエンコーダ123および字幕エンコーダ126から出力される各エレメンタリストリームを多重化する。そして、このマルチプレクサ127は、伝送データ(多重化データストリーム)としてのビットストリームデータ(トランスポートストリーム)BSDを出力する。
図33に示す送信データ生成部110Aの動作を簡単に説明する。データ取り出し部121から出力される立体画像データは、ビデオエンコーダ122に供給される。このビデオエンコーダ122では、その立体画像データに対してMPEG4−AVC、MPEG2、VC−1等の符号化が施され、符号化ビデオデータを含むビデオエレメンタリストリームが生成される。このビデオエレメンタリストリームはマルチプレクサ127に供給される。
また、字幕発生部124では、ARIB方式の字幕データが発生される。この字幕データは、字幕エンコーダ126に供給される。この字幕エンコーダ126では、字幕発生部124で発生された字幕データを含む字幕エレメンタリストリーム(字幕データストリーム)が生成される。この字幕エレメンタリストリームはマルチプレクサ127に供給される。
また、データ取り出し部121から出力されるピクセル(画素)毎の視差ベクトルは、視差情報作成部125に供給される。この視差情報作成部125では、ダウンサイジング処理により、同一の画面に表示される所定数のキャプション・ユニット(字幕)に対応した視差ベクトル(水平方向視差ベクトル)が作成される。この場合、視差情報作成部125では、キャプション・ユニット毎の視差ベクトル(個別視差ベクトル)、あるいは全てのキャプション・ユニットに共通の視差ベクトル(共通視差ベクトル)が作成される。
視差情報作成部125で作成された視差ベクトルは、字幕エンコーダ126に供給される。字幕エンコーダ126では、視差ベクトルが、字幕データストリームに含められる(図35〜図38参照)。字幕データストリームには、字幕文データグループのPESストリームに、字幕文データ(字幕符号)として、同一画面に表示される各キャプション・ユニットの字幕データが挿入される。また、この字幕データストリームには、字幕管理データグループのPESストリームに、あるいは字幕分データグループのPESストリームに、字幕の表示制御情報として、視差ベクトル(視差情報)が挿入される。この場合、視差ベクトルは、新たに定義された表示制御情報を送出する拡張表示制御のデータユニットに挿入される(図49参照)。
また、データ取り出し部121から出力される音声データはオーディオエンコーダ123に供給される。このオーディオエンコーダ123では、音声データに対して、MPEG−2Audio AAC等の符号化が施され、符号化オーディオデータを含むオーディオエレメンタリストリームが生成される。このオーディオエレメンタリストリームはマルチプレクサ127に供給される。
マルチプレクサ127には、上述したように、ビデオエンコーダ122、オーディオエンコーダ123および字幕エンコーダ126からのエレメンタリストリームが供給される。そして、このマルチプレクサ127では、各エンコーダから供給されるエレメンタリストリームがパケット化されて多重され、伝送データとしてのビットストリームデータ(トランスポートストリーム)BSDが得られる。
図55は、ビデオエレメンタリストリーム、オーディオエレメンタリストリーム、字幕エレメンタリストリームを含む一般的なトランスポートストリーム(多重化データストリーム)の構成例を示している。このトランスポートストリームには、各エレメンタリストリームをパケット化して得られたPESパケットが含まれている。この構成例では、ビデオエレメンタリストリームのPESパケット「Video PES」が含まれている。また、この構成例では、オーディオエレメンタリストリームのPESパケット「Audio PES」および字幕エレメンタリストリームのPESパケット「SubtitlePES」が含まれている。
また、トランスポートストリームには、PSI(Program Specific Information)として、PMT(ProgramMap Table)が含まれている。このPSIは、トランスポートストリームに含まれる各エレメンタリストリームがどのプログラムに属しているかを記した情報である。また、トランスポートストリームには、イベント単位の管理を行うSI(Serviced Information)としてのEIT(EventInformation Table)が含まれている。
PMTには、プログラム全体に関連する情報を記述するプログラム・デスクリプタ(Program Descriptor)が存在する。また、このPMTには、各エレメンタリストリームに関連した情報を持つエレメンタリ・ループが存在する。この構成例では、ビデオエレメンタリ・ループ、オーディオエレメンタリ・ループ、サブタイトルエレメンタリ・ループが存在する。各エレメンタリ・ループには、ストリーム毎に、パケット識別子(PID)、ストリームタイプ(Stream_Type)等の情報が配置されると共に、図示していないが、そのエレメンタリストリームに関連する情報を記述するデスクリプタも配置される。
この実施の形態において、マルチプレクサ127(図33参照)から出力されるトランスポートストリーム(多重化データストリーム)には、字幕データストリームが、字幕の拡張表示制御に対応しているか否かを示すフラグ情報が挿入されている。ここで、字幕の拡張表示制御は、例えば視差情報を用いた3次元字幕表示などである。この場合、受信側(セットトップボックス200)においては、字幕データストリーム内のデータを開くことなく、この字幕データストリームが字幕の拡張表示制御に対応しているか否かを把握可能となる。
マルチプレクサ127は、このフラグ情報を、例えば、上述のEITの配下に挿入する。図55の構成例では、EITの配下に、データコンテンツ記述子が挿入されている。このデータコンテンツ記述子に、フラグ情報「Advanced_Rendering_support」が含まれている。図56は、データコンテンツ記述子の構造例(Syntax)を示している。「descriptor_tag」は、デスクリプタ(記述子)のタイプを示す8ビットのデータであり、ここでは、データコンテンツ記述子であることを示す。「descriptor _length」は、デスクリプタの長さ(サイズ)を示す8ビットのデータである。このデータは、デスクリプタの長さとして、「descriptor _length」以降のバイト数を示す。
「component_tag」は、字幕のエレメンタリストリームとの関連付けを行う8ビットのデータである。この「component_tag」の後に、「arib_caption_info」が定義されている。図57(a)は、この「arib_caption_info」の構造例(Syntax)を示している。「Advanced_Rendering_support」は、図57(b)に示すように、字幕データストリームが字幕の拡張表示制御に対応しているか否かを示す1ビットのフラグ情報である。“1”は、字幕の拡張表示に対応していることを示す。“0”は、字幕の拡張表示制御に対応していないことを示す。
なお、マルチプレクサ127は、PMTの配下に、上述のフラグ情報を挿入することもできる。図58は、その場合におけるトランスポートストリーム(多重化データストリーム)の構成例を示している。この構成例では、PMTの字幕ESループの配下にデータ符号化方式記述子が挿入されている。このデータ符号化方式記述子に、フラグ情報「Advanced_Rendering_support」が含まれている。
図59は、データ符号化方式記述子の構造例(Syntax)を示している。「descriptor_tag」は、デスクリプタ(記述子)のタイプを示す8ビットのデータであり、ここでは、データコンテンツ記述子であることを示す。「descriptor _length」は、デスクリプタの長さ(サイズ)を示す8ビットのデータである。このデータは、デスクリプタの長さとして、「descriptor _length」以降のバイト数を示す。
「component_tag」は、字幕のエレメンタリストリームとの関連付けを行う8ビットのデータである。「data_component_id」は、ここでは、字幕データを示す“0x0008”とされる。この「data_component_id」の後に、「additional_arib_caption_info」が定義されている。図60は、この「additional_arib_caption_info」の構造例(Syntax)を示している。「Advanced_Rendering_support」は、上述の図57(b)に示すように、字幕データストリームが字幕の拡張表示制御に対応しているか否かを示す1ビットのフラグ情報である。“1”は、字幕の拡張表示に対応していることを示す。“0”は、字幕の拡張表示制御に対応していないことを示す。
上述したように、図33に示す送信データ生成部110Aにおいては、マルチプレクサ127から出力されるビットストリームデータBSDは、ビデオデータストリームと字幕データストリームとを有する多重化データストリームである。ビデオデータストリームには、立体画像データが含まれている。また、字幕データストリームには、ARIB方式の字幕(キャプション・ユニット)のデータおよび視差ベクトル(視差情報)が含まれている。
また、字幕管理データグループのPESストリーム内、あるいは字幕文データグループのPESストリーム内の字幕表示制御情報を送出するデータユニットに視差情報が挿入され、字幕文データ(字幕文情報)と視差情報との対応付けが行われている。そのため、受信側(セットトップボックス200)においては、左眼画像および右眼画像に重畳されるキャプション・ユニット(字幕)に、対応する視差ベクトル(視差情報)を用いて適切な視差を付与できる。したがって、キャプション・ユニット(字幕)の表示において、画像内の各物体との間の遠近感の整合性を最適な状態に維持できる。
また、図33に示す送信データ生成部110Aにおいては、新たに定義された拡張表示制御のデータユニットに、字幕表示期間内で共通に使用される視差情報(図52の「default_disparity」参照)が挿入される。また、このデータユニットに、字幕表示期間内で順次更新される視差情報(図21の「disparity_update」参照)の挿入が可能とされている。そして、この拡張表示制御のデータユニットには、字幕表示期間内で順次更新される視差情報の存在を示すフラグ情報が挿入される(図52の(「temporal_extension_flag」参照)。
そのため、字幕表示期間内で共通に使用される視差情報のみを送信するか、さらに、字幕表示期間内で順次更新される視差情報を送信するかを選択することが可能となる。字幕表示期間内で順次更新される視差情報を送信することで、受信側(セットトップボックス200)において、重畳情報に付与する視差を画像内容の変化に連動して動的に変化させることが可能となる。
また、図33に示す送信データ生成部110Aにおいて、拡張表示制御のデータユニットに含まれる視差情報は、サブタイトル表示期間の最初のフレームの視差情報と、その後の更新フレーム間隔毎のフレームの視差情報とからなるものとされる。そのため、送信データ量を低減でき、また、受信側において、視差情報を保持するためのメモリ容量の大幅な節約が可能となる。
また、図33に示す送信データ生成部110Aにおいて、拡張表示制御のデータユニットに挿入される「disparity_temporal_extension()」は、上述のSCSのセグメントに含まれる「disparity_temporal_extension()」と同じ構造のものである(図21参照)。そのため、詳細説明は省略するが、図33に示す送信データ生成部110Aは、この「disparity_temporal_extension()」の構造により、図2に示す送信データ生成部110と同様の効果を得ることができる。
「ビットストリーム処理部の構成例」
図61は、上述の図33に示す送信データ生成部110Aに対応した、セットトップボックス200のビットストリーム処理部201Aの構成例を示している。このビットストリーム処理部201Aは、上述の図33に示す送信データ生成部110Aに対応した構成となっている。このビットストリーム処理部201Aは、デマルチプレクサ231と、ビデオデコーダ232と、字幕デコーダ233を有している。さらに、このビットストリーム処理部201Aは、立体画像用字幕発生部234と、視差情報取り出し部235と、視差情報処理部236と、ビデオ重畳部237と、オーディオデコーダ238を有している。
デマルチプレクサ231は、ビットストリームデータBSDから、ビデオ、オーディオ、字幕のパケットを抽出し、各デコーダに送る。ビデオデコーダ232は、上述の送信データ生成部110Aのビデオエンコーダ122とは逆の処理を行う。すなわち、デマルチプレクサ231で抽出されたビデオのパケットからビデオのエレメンタリストリームを再構成し、復号化処理を行って、左眼画像データおよび右眼画像データを含む立体画像データを得る。この立体画像データの伝送方式は、例えば、上述の第1の伝送方式(「Top & Bottom」方式)、第2の伝送方式は(「Side By Side」方式)、第3の伝送方式(「Frame Sequential」方式)などである(図4参照)。
字幕デコーダ223は、上述の送信データ生成部110の字幕エンコーダ133とは逆の処理を行う。すなわち、字幕デコーダ233は、デマルチプレクサ231で抽出された字幕のパケットから字幕エレメンタリストリーム(字幕データストリーム)を再構成し、復号化処理を行って、各キャプション・ユニットの字幕データ(ARIB方式の字幕データ)を得る。
視差情報取り出し部235は、字幕デコーダ233を通じて得られる字幕のストリームから、各キャプション・ユニットに対応した視差ベクトル(視差情報)を取り出す。この場合、キャプション・ユニット毎の視差ベクトル(個別視差ベクトル)、あるいは各キャプション・ユニットに共通の視差ベクトル(共通視差ベクトル)が得られる(図35〜図38参照)。
上述したように、字幕データストリームには、ARIB方式の字幕(キャプション・ユニット)のデータおよび視差情報(視差ベクトル)が含まれている。そして、視差情報は、字幕の表示制御情報を送出するデータユニットに挿入されている。そのため、視差情報取り出し部235は、各キャプション・ユニットの字幕データと対応付けて、視差情報(視差ベクトル)を取り出すことができる。
視差情報取り出し部235は、字幕表示期間内で共通に使用される視差情報(図52の「default_disparity」参照)を取得する。また、この視差情報取り出し部235は、さらに、字幕表示期間内で順次更新される視差情報(図21の「disparity_update」参照)を取得することもある。視差情報取り出し部235は、この視差情報(視差ベクトル)を、視差情報処理部236を通じて、立体画像用字幕発生部234に送る。この字幕表示期間内で順次更新される視差情報は、上述したように、字幕表示期間の最初のフレームの視差情報と、その後のベースセグメント期間(更新フレーム間隔)毎のフレームの視差情報とからなっている。
視差情報処理部236は、字幕表示期間内で共通に使用される視差情報に関しては、そのまま立体画像用字幕発生部234に送る。一方、視差情報処理部236は、字幕表示期間内で順次更新される視差情報に関しては、補間処理を施して、字幕表示期間内における任意のフレーム間隔、例えば、1フレーム間隔の視差情報を生成して、立体画像用字幕発生部234に送る。視差情報処理部236は、この補間処理として、線形補間処理ではなく、時間方向(フレーム方向)にローパスフィルタ(LPF)処理を伴った補間処理を行って、補間処理後の所定フレーム間隔の視差情報の時間方向(フレーム方向)の変化をなだらかにしている(図31参照)。
立体画像用字幕発生部234は、左眼画像および右眼画像にそれぞれ重畳する左眼字幕および右眼字幕のデータを生成する。この生成処理は、字幕デコーダ233で得られた各キャプション・ユニットの字幕データと、視差情報処理部236を通じて供給される視差情報(視差ベクトル)に基づいて行われる。そして、この立体画像用字幕発生部234は、左眼字幕および左眼字幕のデータ(ビットマップデータ)を出力する。
この場合、左眼および左眼の字幕(キャプション・ユニット)は同一の情報である。しかし、画像内の重畳位置が、例えば、左眼の字幕と右眼の字幕とは、視差ベクトル分だけ、水平方向にずれるようにされる。これにより、左眼画像および右眼画像に重畳される同一の字幕として、画像内の各物体の遠近感に応じて視差調整が施されたものを用いることができ、この字幕の表示において、画像内の各物体との間の遠近感の整合性を維持するようにされる。
ここで、立体画像用字幕発生部234は、視差情報処理部236から字幕表示期間内で共通に使用される視差情報(視差ベクトル)のみが送られてくる場合、その視差情報を使用する。また、立体画像用字幕発生部234は、視差情報処理部236から、さらに字幕表示期間内で順次更新される視差情報も送られてくる場合には、いずれかを使用する。
いずれを使用するかは、例えば、上述したように、拡張表示制御のデータユニットに含まれている、字幕表示の際に受信側(デコーダ側)で必須の視差情報(disparity)対応レベルを示す情報(図52の「rendering_level」参照)に拘束される。その場合、例えば、“00”であるときは、ユーザ設定による。字幕表示期間内で順次更新される視差情報を用いることで、左眼および右眼に付与する視差を画像内容の変化に連動して動的に変化させることが可能となる。
ビデオ重畳部237は、ビデオデコーダ232で得られた立体画像データ(左眼画像データ、右眼画像データ)に対し、立体画像用字幕発生部234で発生された左眼および左眼の字幕のデータ(ビットマップデータ)を重畳し、表示用立体画像データVoutを得る。そして、このビデオ重畳部237は、表示用立体画像データVoutを、ビットストリーム処理部201Aの外部に出力する。
また、オーディオデコーダ238は、上述の送信データ生成部110Aのオーディオエンコーダ123とは逆の処理を行う。すなわち、このオーディオデコーダ238は、デマルチプレクサ231で抽出されたオーディオのパケットからオーディオのエレメンタリストリームを再構成し、復号化処理を行って、音声データAoutを得る。そして、このオーディオデコーダ238は、音声データAoutを、ビットストリーム処理部201Aの外部に出力する。
図61に示すビットストリーム処理部201Aの動作を簡単に説明する。デジタルチューナ204(図29参照)から出力されるビットストリームデータBSDは、デマルチプレクサ231に供給される。このデマルチプレクサ231では、ビットストリームデータBSDから、ビデオ、オーディオおよび字幕のパケットが抽出され、各デコーダに供給される。
ビデオデコーダ232では、デマルチプレクサ231で抽出されたビデオのパケットからビデオのエレメンタリストリームが再構成され、さらに復号化処理が行われて、左眼画像データおよび右眼画像データを含む立体画像データが得られる。この立体画像データは、ビデオ重畳部237に供給される。
また、字幕デコーダ233では、デマルチプレクサ231で抽出された字幕のパケットから字幕エレメンタリストリームが再構成され、さらに復号化処理が行われて、各キャプション・ユニットの字幕データ(ARIB方式の字幕データ)が得られる。この各キャプション・ユニットの字幕データは、立体画像用字幕発生部234に供給される。
また、視差情報取り出し部235では、字幕デコーダ233を通じて得られる字幕のストリームから、各キャプション・ユニットに対応した視差ベクトル(視差情報)が取り出される。この場合、キャプション・ユニット毎の視差ベクトル(個別視差ベクトル)、あるいは各キャプション・ユニットに共通の視差ベクトル(共通視差ベクトル)が得られる。
また、視差情報取り出し部235では、字幕表示期間内で共通に使用される視差情報、または、これと共に字幕表示期間内で順次更新される視差情報が取得される。視差情報取り出し部235で取り出された視差情報(視差ベクトル)は、視差情報処理部236を通じて、立体画像用字幕発生部234に送られる。視差情報処理部236では、字幕表示期間内で順次更新される視差情報に関して、以下の処理が行われる。すなわち、視差情報処理部236では、時間方向(フレーム方向)のLPF処理を伴った補間処理が施されて、字幕表示期間内における任意のフレーム間隔、例えば、1フレーム間隔の視差情報が生成されて、立体画像用字幕発生部234に送られる。
立体画像用字幕発生部234では、各キャプション・ユニットの字幕データと、各キャプション・ユニットに対応した視差ベクトルに基づいて、左眼画像および右眼画像にそれぞれ重畳する左眼字幕および右眼字幕のデータ(ビットマップデータ)が生成される。この場合、画像内の重畳位置が、例えば、左眼の字幕に対して、右眼の字幕は、視差ベクトル分だけ、水平方向にずれるようにされる。この左眼字幕および左眼字幕のデータはビデオ重畳部237に供給される。
ビデオ重畳部237では、ビデオデコーダ232で得られた立体画像データに対し、立体画像用字幕発生部234で発生された左眼字幕および右眼字幕のデータ(ビットマップデータ)が重畳され、表示用立体画像データVoutが得られる。この表示用立体画像データVoutは、ビットストリーム処理部201Aの外部に出力される。
また、オーディオデコーダ238では、デマルチプレクサ231で抽出されたオーディオのパケットからオーディオエレメンタリストリームが再構成され、さらに復号化処理が行われて、上述の表示用立体画像データVoutに対応した音声データAoutが得られる。この音声データAoutは、ビットストリーム処理部201Aの外部に出力される。
上述したように、図61に示すビットストリーム処理部201Aに供給されるビットストリームデータBSDに含まれる字幕データストリームに、字幕(キャプション・ユニット)のデータおよび視差ベクトル(視差情報)が含まれている。そして、字幕文データグループのPESストリーム内の字幕表示制御情報を送出するデータユニットに視差ベクトル(視差情報)が挿入され、字幕データと視差ベクトルとが対応付けられている。
そのため、ビットストリーム処理部201Aでは、左眼画像および右眼画像に重畳されるキャプション・ユニット(字幕)に、対応する視差ベクトル(視差情報)を用いて適切な視差を付与できる。したがって、キャプション・ユニット(字幕)の表示において、画像内の各物体との間の遠近感の整合性を最適な状態に維持できる。
また、図61に示すビットストリーム処理部201Aの視差情報取り出し部235では、字幕表示期間内で共通に使用される視差情報、または、これと共に字幕表示期間内で順次更新される視差情報が取得される。立体画像用字幕発生部234では、字幕表示期間内で順次更新される視差情報が使用されることで、左眼および右眼の字幕に付与する視差を画像内容の変化に連動して動的に変化させることが可能となる。
また、図61に示すビットストリーム処理部201Aの視差情報処理部236では、字幕表示期間内で順次更新される視差情報に対して補間処理が施されて字幕表示期間内における任意のフレーム間隔の視差情報が生成される。この場合、送信側(放送局100)から16フレーム等のベースセグメント期間(更新フレーム間隔)毎に視差情報が送信される場合であっても、左眼および右眼の字幕に付与される視差を、細かな間隔で、例えばフレーム毎に制御することが可能となる。
また、図61に示すビットストリーム処理部201Aの視差情報処理部236では、時間方向(フレーム方向)のローパスフィルタ処理を伴った補間処理が行われる。そのため、送信側(放送局100)からベースセグメント期間(更新フレーム間隔)毎に視差情報が送信される場合であっても、補間処理後の視差情報の時間方向(フレーム方向)の変化をなだらかにできる(図31参照)。したがって、左眼および右眼の字幕に付与される視差の推移が、更新フレーム間隔毎に不連続となることによる違和感を抑制できる。
[送信データ生成部およびビットストリーム処理部の他の構成例(2)]
「送信データ生成部の構成例」
図62は、放送局100(図1参照)における送信データ生成部110Bの構成例を示している。この送信データ生成部110Bは、既存の放送規格の一つであるCEA方式に容易に連携できるデータ構造で視差情報(視差ベクトル)を送信する。この送信データ生成部110Bは、データ取り出し部(アーカイブ部)131と、ビデオエンコーダ132と、オーディオエンコーダ133を有している。また、この送信データ生成部110Bは、クローズド・キャプションエンコーダ(CCエンコーダ)134と、視差情報作成部135と、マルチプレクサ136を有している。
データ取り出し部131には、データ記録媒体131aが、例えば、着脱自在に装着される。このデータ記録媒体131aには、図2に示す送信データ生成部110のデータ取り出し部111におけるデータ記録媒体111aと同様に、左眼画像データおよび右眼画像データを含む立体画像データと共に、音声データ、視差情報が対応付けて記録されている。データ取り出し部131は、データ記録媒体131aから、立体画像データ、音声データ、視差情報等を取り出して出力する。データ記録媒体131aは、ディスク状記録媒体、半導体メモリ等である。
CCエンコーダ134は、CEA−708準拠のエンコーダであって、クローズド・キャプションの字幕表示をするためのCCデータ(クローズド・キャプション情報のデータ)を出力する。この場合、CCエンコーダ134は、時系列的に表示される各クローズド・キャプション情報のCCデータを順次出力する。
視差情報作成部135は、データ取り出し部131から出力される視差ベクトル、すなわちピクセル(画素)毎の視差ベクトルにダウンサイジング処理を施し、上述のCCエンコーダ134から出力されるCCデータに含まれる各ウインドウID(WindowID)に対応付けされた視差情報(視差ベクトル)を出力する。視差情報作成部135は、詳細説明は省略するが、上述した図2に示す送信データ生成部110の視差情報作成部115と同様のダウンサイジング処理を行う。
視差情報作成部135は、上述したダウンサイジング処理により、同一の画面に表示される所定数のキャプション・ユニット(字幕)に対応した視差ベクトルを作成する。この場合、視差情報作成部135は、キャプション・ユニット毎の視差ベクトル(個別視差ベクトル)を作成するか、あるいは各キャプション・ユニットに共通の視差ベクトル(共通視差ベクトル)を作成する。この選択は、例えば、ユーザの設定による。この視差情報には、左眼画像に重畳するクローズド・キャプション情報および右眼画像に重畳するクローズド・キャプション情報のうち、この視差情報に基づいてシフトさせるクローズド・キャプション情報を指定するシフト対象指定情報も付加されている。
視差情報作成部135は、個別視差ベクトルを作成する場合、各キャプション・ユニットの表示領域に基づき、上述のダウンサイジング処理によって、その表示領域に属する視差ベクトルを求める。また、視差情報作成部135は、共通視差ベクトルを作成する場合、上述のダウンサイジング処理によって、ピクチャ全体(画像全体)の視差ベクトルを求める(図9(d)参照)。なお、視差情報作成部135は、共通視差ベクトルを作成する場合、各キャプション・ユニットの表示領域に属する視差ベクトルを求め、最も値の大きな視差ベクトルを選択してもよい。
この視差情報は、例えば、クローズド・キャプション情報が表示される所定数のフレーム期間(字幕表示期間)内で共通に使用される視差情報、あるいはこの字幕表示期間内で順次更新される視差情報である。そして、字幕表示期間内で順次更新される視差情報は、所定数のフレーム期間の最初のフレームの視差情報と、その後の更新フレーム間隔毎のフレームの視差情報とからなるものである。
ビデオエンコーダ132は、データ取り出し部131から供給される立体画像データに対して、MPEG4−AVC、MPEG2、VC−1等の符号化を施して符号化ビデオデータを得る。また、このビデオエンコーダ132は、後段に備えるストリームフォーマッタ132aにより、ペイロード部に符号化ビデオデータを含むビデオのエレメンタリストリームを生成する。
上述のCCエンコーダ134から出力されるCCデータおよび上述の視差情報作成部135で作成された視差情報は、ビデオエンコーダ132内のストリームフォーマッタ132aに供給される。ストリームフォーマッタ132aは、ビデオのエレメンタリストリームに、CCデータおよび視差情報を、ユーザデータとして埋め込む。つまり、ビデオのエレメンタリストリームのペイロード部に立体画像データが含まれると共に、そのヘッダ部のユーザデータ領域にCCデータおよび視差情報が含まれる。
図63に示すように、ビデオのエレメンタリストリームは、先頭に、シーケンス単位のパラメータを含むシーケンスヘッダ部が配置されている。このシーケンスヘッダ部に続いて、ピクチャ単位のパラメータおよびユーザデータを含むピクチャヘッダが配置されている。このピクチャヘッダ部に続いてピクチャーデータを含むペイロード部が配置される。以下、ピクチャヘッダ部およびペイロード部が繰り返し配置されている。上述したCCデータおよび視差情報は、例えば、ピクチャヘッダ部のユーザデータ領域に埋め込まれる。この視差情報のユーザデータ領域への埋め込み(挿入)方法の詳細については、後述する。
オーディオエンコーダ133は、データ取り出し部131から取り出された音声データに対して、MPEG−2Audio AAC等の符号化を施し、オーディオのエレメンタリストリームを生成する。マルチプレクサ136は、ビデオエンコーダ132およびオーディオエンコーダ133から出力される各エレメンタリストリームを多重化する。そして、このマルチプレクサ136は、伝送データ(多重化データストリーム)としてのビットストリームデータ(トランスポートストリーム)BSDを出力する。
図62に示す送信データ生成部110Bの動作を簡単に説明する。データ取り出し部131から出力される立体画像データは、ビデオエンコーダ132に供給される。このビデオエンコーダ132では、その立体画像データに対してMPEG4−AVC、MPEG2、VC−1等の符号化が施され、符号化ビデオデータを含むビデオエレメンタリストリームが生成される。このビデオエレメンタリストリームはマルチプレクサ136に供給される。
また、CCエンコーダ134では、クローズド・キャプションの字幕表示をするためのCCデータ(クローズド・キャプション情報のデータ)が出力される。この場合、CCエンコーダ134では、時系列的に表示される各クローズド・キャプション情報のCCデータが順次出力される。
また、データ取り出し部131から出力されるピクセル(画素)毎の視差ベクトルは、視差情報作成部135に供給される。この視差情報作成部135では、この視差ベクトルにダウンサイジング処理等が施されて、上述のCCエンコーダ134から出力されるCCデータに含まれる各ウインドウID(WindowID)に対応付けされた視差情報(視差ベクトル)が出力される。
CCエンコーダ134から出力されるCCデータおよび視差情報作成部135で作成される視差情報は、ビデオエンコーダ132のストリームフォーマッタ132aに供給される。このストリームフォーマッタ132aでは、ビデオのエレメンタリストリームのヘッダ部のユーザデータ領域に、CCデータおよび視差情報が挿入される。この場合、視差情報の埋め込み、あるいは挿入は、後述するように、例えば、(A)既存のテーブル(CEA table)の範囲内で拡張を行う方法、(B)パッディングバイトとして読み飛ばされていたバイトを新たに拡張定義する方法などで行われる。
また、データ取り出し部131から出力される音声データはオーディオエンコーダ133に供給される。このオーディオエンコーダ133では、音声データに対して、MPEG−2Audio AAC等の符号化が施され、符号化オーディオデータを含むオーディオエレメンタリストリームが生成される。このオーディオエレメンタリストリームはマルチプレクサ136に供給される。このマルチプレクサ136では、各エンコーダから供給されるエレメンタリストリームが多重化され、伝送データとしてのビットストリームデータBSDが得られる。
[視差情報のユーザ領域への埋め込み(挿入)方法]
次に、視差情報のユーザデータ領域への埋め込み方法の詳細について説明する。(A)既存のテーブル(CEA table)の範囲内で拡張を行う方法、(B)パッディングバイトとして読み飛ばされていたバイトを新たに拡張定義する方法などが考えられる。(A)の方法は、拡張コマンドEXT1とその後の値で拡張バイト数を示し、パラメータを後続挿入する方法である。以下、各方法を説明する。
「(A)既存のテーブル(table)の範囲内で拡張を行う方法(1)」
図64は、CEAテーブルを概略的に示している。このCEAテーブルの中で拡張を行う場合、C0テーブル中の0x10(EXT1)コマンドで拡張コマンドの開始を宣言した後、拡張コマンドのバイト長によって、C2テーブル(C2 Table)、C3テーブル(C3 Table)、G2テーブル(G2 Table)、G3テーブル(G3 Table)のアドレスを指定する。ここでは、3バイトのコマンドを構成するので、C2テーブルのうち、3バイト後続することを示す、以下のバイト列が定義される。なお、C2テーブル中の0x18〜0x1Fのアドレス空間は3バイト後続を示すことが、CEAの規格で決められている。
この場合のトータルの拡張コマンドは以下のとおりになる。
拡張コマンド:EXT1(0x10) + 0x18(3バイト後続)
+ [Byte1] + [Byte2] + [Byte3]
図65は、“Byte1”, “Byte2”, “Byte3”の3バイトフィールドの構造例を示している。“Byte1”の第7ビットから第5ビットまでの3ビットフィールドには、「window_id」が配置されている。この「window_id」により、この拡張コマンドの情報が適用されるウインドウ(window)との関連付けが行われる。また、“Byte1”の第4ビットから第0ビットまでの5ビットフィールドには、「temporal_division_count」が配置されている。この「temporal_division_count」は、字幕表示期間に含まれるベースセグメントの個数を示す(図22参照)。
“Byte2”の第7ビットおよび第6ビットの2ビットフィールドには、「temporal_division_size」が配置されている。この「temporal_division_size」は、ベースセグメント期間(更新フレーム間隔)に含まれるフレーム数を示す。“00”は、16フレームであることを示す。“01”は、25フレームであることを示す。“10”は、30フレームであることを示す。さらに、“11”は、32フレームであることを示す(図22参照)。
“Byte2”の第5ビットの1ビットフィールドには、「shared_disparity」が配置される。この「shared_disparity」は、全てのウインドウ(window)に跨る共通の視差情報(disparity)制御を行うかどうかを示す。“1”は、以後の全てのウインドウに対して、一つの共通の視差情報(disparity)が適用されることを示す。“0”は、視差情報(Disparity)は、一つのウインドウにのみ適用されることを示す(図19参照)。
“Byte2”の第4ビットから第0ビットまでの5ビットフィールドには、「shifting_interval_counts」が配置される。この「shifting_interval_counts」は、ベースセグメント期間(更新フレーム間隔)を調整するドローファクタ(Draw factor)、つまり差し引きフレーム数を示す(図22参照)。
図66のベースセグメント期間(BSP)毎の視差情報の更新例において、時点C〜Fの視差情報の更新タイミングに関しては、ドローファクタ(Draw factor)により、ベースセグメント期間が調整されている。この調整情報が存在することで、ベースセグメント期間(更新フレーム間隔)を調整することが可能となり、受信側に、視差情報の時間方向(フレーム方向)の変化をより的確に伝えることが可能となる。
なお、ベースセグメント期間(更新フレーム間隔)の調整としては、上述した差し引きフレーム数で短くする方向に調整する他に、加算フレーム数で長くする方向に調整することも考えられる。例えば、「shifting_interval_counts」の5ビットフィールドを符号付き整数とすることで、双方向の調整が可能となる。
“Byte3”の第7ビットから第0ビットまでの8ビットフィールドには、「disparity_update」が配置される。この「disparity_update」は、対応するベースセグメントの視差情報を示す。なお、k=0における「disparity_update」は、字幕表示期間内において更新フレーム間隔で順次更新される視差情報の初期値、つまり、字幕表示期間における最初のフレームの視差情報である。
上述した5バイトの拡張コマンドをユーザデータ領域に含めて繰り返し送信することで、字幕表示期間で順次更新される視差情報およびそれに付加された更新フレーム間隔の調整情報などの伝送(送信)が可能となる。
「(A)既存のテーブル(table)の範囲内で拡張を行う方法(2)」
図67は、CEAテーブルを概略的に示している。このCEAテーブルの中で拡張を行う場合、C0テーブル中の0x10(EXT1)コマンドで拡張コマンドの開始を宣言した後、拡張コマンドのバイト長によって、C2テーブル(C2 Table)、C3テーブル(C3 Table)、G2テーブル(G2 Table)、G3テーブル(G3 Table)のアドレスを指定する。ここでは、可変長コマンドを構成するので、C3テーブルのうち、以下のバイト列が定義される。なお、C3テーブル中の0x90〜0x9Fのアドレス空間は3バイト後続を示すことが、CEAの規格で決められている。
この場合のトータルの拡張コマンドは以下のとおりになる。
拡張コマンド:EXT1 (0x10) + EXTCode(0x90)
+ [Header(Byte1)] + [Byte2] +・・・+ [ByteN]
図68は、“Header(Byte1)”“Byte2”, “Byte3”, “Byte4”の4バイトフィールドの構造例を示している。“Header(Byte1)”の第7ビットおよび第6ビットの2ビットフィールドには、「type_field」が配置される。この「type_field」は、コマンドタイプを示す。“00”は、コマンドの開始(BOC:Beginning of Comand)を示す。“01”は、コマンドの継続(COC:Continueationof Command)を示す。“10”は、コマンドの終了(EOC: End Of Command)を示す。
“Header(Byte1)”の第4ビットから第0ビットまでの5ビットフィールドは、「Length_field」が配置される。この「Length_field」は、この拡張コマンドの以降のバイト数を示す。1つのサービスブロック(service block)内では最大28バイト分に決められている。この範囲内で、Byte2〜 Byte4をループで繰り返すことで、視差情報(disparity)の更新が可能となる。この場合、1つのサービスブロックでは、最大9セットの視差情報の更新を行うことができる。
“Byte2”の第7ビットから第5ビットまでの3ビットフィールドには、「window_id」が配置されている。この「window_id」により、この拡張コマンドの情報が適用されるウインドウ(window)との関連付けが行われる。また、“Byte2”の第4ビットから第0ビットまでの5ビットフィールドには、「temporal_division_count」が配置されている。この「temporal_division_count」は、字幕表示期間に含まれるベースセグメントの個数を示す(図22参照)。
“Byte3”の第7ビットおよび第6ビットの2ビットフィールドには、「temporal_division_size」が配置されている。この「temporal_division_size」は、ベースセグメント期間(更新フレーム間隔)に含まれるフレーム数を示す。“00”は、16フレームであることを示す。“01”は、25フレームであることを示す。“10”は、30フレームであることを示す。さらに、“11”は、32フレームであることを示す(図22参照)。
“Byte3”の第5ビットの1ビットフィールドには、「shared_disparity」が配置される。この「shared_disparity」は、全てのウインドウ(window)に跨る共通の視差情報(disparity)制御を行うかどうかを示す。“1”は、以後の全てのウインドウに対して、一つの共通の視差情報(disparity)が適用されることを示す。“0”は、視差情報(Disparity)は、一つのウインドウにのみ適用されることを示す(図19参照)。
“Byte3”の第4ビットから第0ビットまでの5ビットフィールドには、「shifting_interval_counts」が配置される。この「shifting_interval_counts」は、ベースセグメント期間(更新フレーム間隔)を調整するドローファクタ(Draw factor)、つまり差し引きフレーム数を示す(図22参照)。
“Byte4”の第7ビットから第0ビットまでの8ビットフィールドには、「disparity_update」が配置される。この「disparity_update」は、対応するベースセグメントの視差情報を示す。なお、k=0における「disparity_update」は、字幕表示期間内において更新フレーム間隔で順次更新される視差情報の初期値、つまり、字幕表示期間における最初のフレームの視差情報である。
上述した可変長の拡張コマンドをユーザデータ領域に含めて送信することで、字幕表示期間で順次更新される視差情報およびそれに付加された更新フレーム間隔の調整情報などの伝送(送信)が可能となる。
「(B)パッディングバイトを新たに拡張定義する方法」
図69は、従来のクローズド・キャプションデータ(CCデータ)の構造例(Syntax)を示している。「cc_valid = 0」、「cc_type = 00」の場合、受信側(デコーダ)では、「cc_data_1」、「cc_data_2」のフィールドを読み飛ばすことになっている。ここでは、この空間を利用し、視差情報(disparity)伝送のための拡張を定義する。
図70は、視差情報(disparity)対応のために修正されたクローズド・キャプションデータ(CCデータ)の構造例(Syntax)を示している。「extended_control」の2ビットフィールドは、「cc_data_1」、「cc_data_2」の2フィールドを、制御する情報である。図71(a)に示すように、「cc_valid = 0」、「cc_type = 00」の場合、「extended_control」の2ビットフィールドが“01”、“10”のときは、「cc_data_1」、「cc_data_2」の2フィールドを視差情報(disparity)伝送用に使用するものとする。
この場合、図71(b)に示すように、「extended_control = 01」のとき、「cc_data_1」のフィールドは、“Start of Extended Packet”を意味し、最初の拡張パケットデータ(1バイト)が挿入されたものとなる。また、このとき、「cc_data_2」のフィールドは、“Extended Packet Data”を意味し、続く拡張パケットデータ(1バイト)が挿入されたものとなる。
また、図71(b)に示すように、「extended_control = 10」のとき、「cc_data_1」、「cc_data_2」の各フィールドは、Extended Packet Data”を意味し、続く拡張パケットデータ(1バイト)が挿入されたものとなる。なお、図71(b)に示すように、「extended_control = 00」のとき、「cc_data_1」、「cc_data_2」の各フィールドは、“Padding”を意味するものとされる。
そして、“Extended Packet Data ”が「caption_disparity_data()」のトランスポートとして定義される。図72、図73は、「caption_disparity_data()」の構造例(syntax)を示している。図74は、「caption_disparity_data()」の構造例における主要なデータ規定内容(semantics)を示している。
「service_number」は、サービスタイプを示す1ビットの情報である。「shared_windows」は、全てのウインドウ(window)に跨る共通の視差情報(disparity)制御を行うかどうかを示す。“1”は、以後の全てのウインドウに対して、一つの共通の視差情報(disparity)が適用されることを示す。“0”は、視差情報(Disparity)は、一つのウインドウにのみ適用されることを示す。
「caption_window_count」は、キャプション・ウインドウの数を示す3ビットの情報である。「caption_window_id」は、キャプション・ウインドウを識別する3ビットの識別情報である。「temporal_extension_flag」は、対応するウインドウにおいて、字幕表示期間内で順次更新される視差情報(disparity_update)の存在の有無を示す1ビットのフラグ情報である。この場合、“1”は存在することを示し、“0”は存在しないことを示す。
「rendering_level」は、字幕表示の際に受信側(デコーダ側)で必須の視差情報(disparity)対応レベルを示す。“00”は、視差情報を用いた字幕の3次元表示は任意(optional)であることを示す。“01”は、字幕表示期間内で共通に使用される視差情報(default_disparity)による字幕の3次元表示が必須であることを示す。“10”は、字幕表示期間内で順次更新される視差情報(disparity_update)による字幕の3次元表示が必須であることを示す。
「select_view_shift」は、シフト対象指定情報を構成する2ビットの情報である。この「select_view_shift」は、左眼画像に重畳するクローズド・キャプション情報および右眼画像に重畳するクローズド・キャプション情報のうち、視差情報に基づいてシフトさせるクローズド・キャプション情報を指定する。「select_view_shift=00」はリザーブとされる。「select_view_shift=01」であるとき、右眼画像に重畳するクローズド・キャプション情報のみを、視差情報(disparity)分だけ、水平方向にシフトさせることを示す。
また、「select_view_shift=10」であるとき、左眼画像に重畳するクローズド・キャプション情報のみを、視差情報(disparity)分だけ、水平方向にシフトさせることを示す。さらに、「select_view_shift=11」であるとき、左眼画像に重畳するクローズド・キャプション情報および右眼画像に重畳するクローズド・キャプション情報の双方を、水平方向の互いに逆の方向にシフトさせることを示す。
「default_disparity」の8ビットフィールドは、デフォルトの視差情報を示す。この視差情報は、更新をしない場合の視差情報、つまり字幕表示期間内において共通に使用される視差情報である。「temporal_extention_flag=1」が“1”である場合、「caption_disparity_data()」は、「disparity_temporal_extension()」を有する。ここには、基本的に、ベースセグメント期間(BSP:Base Segment Period)毎に更新すべき視差情報が格納される。
上述したように、図20は、ベースセグメント期間(BSP)毎の視差情報の更新例を示している。そして、ベースセグメント期間は、更新フレーム間隔を意味する。この図からも明らかなように、字幕表示期間内で順次更新される視差情報は、字幕表示期間の最初のフレームの視差情報と、その後のベースセグメント期間(更新フレーム間隔)毎のフレームの視差情報とからなっている。
図73は、「disparity_temporal_extension()」の構造例(syntax)を示している。「temporal_division_size」の2ビットフィールドは、ベースセグメント期間(更新フレーム間隔)に含まれるフレーム数を示す。“00”は、16フレームであることを示す。“01”は、25フレームであることを示す。“10”は、30フレームであることを示す。さらに、“11”は、32フレームであることを示す。
「temporal_division_count」は、字幕表示期間に含まれるベースセグメントの個数を示す。「disparity_curve_no_update_flag」は、視差情報の更新の有無を示す1ビットのフラグ情報である。“1”は対応するベースセグメントのエッジで視差情報の更新を行わない、つまりスキップすることを示し、“0”は対応するベースセグメントのエッジで視差情報の更新を行うことを示す。
上述の図23のベースセグメント期間(BSP)毎の視差情報の更新例において、「skip」が付されたベースセグメントのエッジでは視差情報の更新は行われない。このフラグ情報が存在することで、視差情報のフレーム方向の変化が同様となる期間が長く続く場合、視差情報の更新を行わないようにして、その期間内の視差情報の伝送を省略でき、視差情報のデータ量を抑制することが可能となる。
「disparity_curve_no_update_flag」が“0”で視差情報の更新を行う場合、ディスパリティインフォメーションは、対応するベースセグメントの「shifting_interval_counts」を含む。また、「disparity_curve_no_update_flag」が“0”で視差情報の更新を行う場合、ディスパリティインフォメーションは、「disparity_update」を含む。「shifting_interval_counts」の6ビットフィールドは、ベースセグメント期間(更新フレーム間隔)を調整するドローファクタ(Draw factor)、つまり差し引きフレーム数を示す。
上述の図23のベースセグメント期間(BSP)毎の視差情報の更新例において、時点C〜Fの視差情報の更新タイミングに関しては、ドローファクタ(Draw factor)により、ベースセグメント期間が調整されている。この調整情報が存在することで、ベースセグメント期間(更新フレーム間隔)を調整することが可能となり、受信側に、視差情報の時間方向(フレーム方向)の変化をより的確に伝えることが可能となる。
なお、ベースセグメント期間(更新フレーム間隔)の調整としては、上述した差し引きフレーム数で短くする方向に調整する他に、加算フレーム数で長くする方向に調整することも考えられる。例えば、「shifting_interval_counts」の5ビットフィールドを符号付き整数とすることで、双方向の調整が可能となる。
上述したように、パッディングバイトとして読み飛ばされていたバイトを新たに拡張定義することで、字幕表示期間で順次更新される視差情報およびそれに付加された更新フレーム間隔の調整情報などの伝送(送信)が可能となる。
図75は、ビデオエレメンタリストリーム、オーディオエレメンタリストリーム、字幕エレメンタリストリームを含む一般的なトランスポートストリーム(多重化データストリーム)の構成例を示している。このトランスポートストリームには、各エレメンタリストリームをパケット化して得られたPESパケットが含まれている。この構成例では、ビデオエレメンタリストリームのPESパケット「Video PES」が含まれている。また、この構成例では、オーディオエレメンタリストリームのPESパケット「Audio PES」および字幕エレメンタリストリームのPESパケット「SubtitlePES」が含まれている。
また、トランスポートストリームには、PSI(Program Specific Information)として、PMT(ProgramMap Table)が含まれている。このPSIは、トランスポートストリームに含まれる各エレメンタリストリームがどのプログラムに属しているかを記した情報である。また、トランスポートストリームには、イベント単位の管理を行うSI(Serviced Information)としてのEIT(EventInformation Table)が含まれている。
PMTには、プログラム全体に関連する情報を記述するプログラム・デスクリプタ(Program Descriptor)が存在する。また、このPMTには、各エレメンタリストリームに関連した情報を持つエレメンタリ・ループが存在する。この構成例では、ビデオエレメンタリ・ループ、オーディオエレメンタリ・ループ、サブタイトルエレメンタリ・ループが存在する。各エレメンタリ・ループには、ストリーム毎に、パケット識別子(PID)、ストリームタイプ(Stream_Type)等の情報が配置されると共に、図示していないが、そのエレメンタリストリームに関連する情報を記述するデスクリプタも配置される。
図62に示す送信データ生成部110Bでは、視差情報(disparity)は、図75に示すように、ビデオエレメンタリストリームの視差情報のユーザデータ領域に埋め込まれて伝送(送信)される。
図62に示す送信データ生成部110Bにおいては、立体画像を表示するための左眼画像データおよび右眼画像データを含む立体画像データがビデオエレメンタリストリームのペイロード部に含まれて送信される。また、CCデータおよびそのCCデータによるクローズド・キャプション情報に視差を付与するための視差情報が、ビデオエレメンタリストリームのヘッダ部のユーザデータ領域に挿入されて送信される。
そのため、受信側(セットトップボックス200)においては、このビデオエレメンタリストリームから、立体画像データを取得できる他に、CCデータおよび視差情報を容易に取得できる。また、受信側においては、左眼画像および右眼画像に重畳される同一のクローズド・キャプション情報に、視差情報を用いて、適切な視差を付与できる。そのため、クローズド・キャプション情報の表示において、画像内の各物体との間の遠近感の整合性を最適な状態に維持できる。
また、図62に示す送信データ生成部110Bにおいては、字幕表示期間内で順次更新される視差情報(図65、図68、図73の「disparity_update」参照)の挿入が可能とされている。そのため、受信側(セットトップボックス200)において、クローズド・キャプション情報に付与する視差を画像内容の変化に連動して動的に変化させることが可能となる。
また、図62に示す送信データ生成部110Bにおいて、字幕表示期間内で順次更新される視差情報は、字幕(クローズド・キャプション情報)の表示期間の最初のフレームの視差情報と、その後の更新フレーム間隔毎のフレームの視差情報とからなるものとされる。そのため、送信データ量を低減でき、また、受信側において、視差情報を保持するためのメモリ容量の大幅な節約が可能となる。
また、図62に示す送信データ生成部110Bにおいて、「caption_disparity_data()」に含まれる「disparity_temporal_extension()」は、上述のSCSのセグメントに含まれる「disparity_temporal_extension()」と同じ構造のものである(図21参照)。そのため、詳細説明は省略するが、図62に示す送信データ生成部110Bは、この「disparity_temporal_extension()」の構造により、図2に示す送信データ生成部110と同様の効果を得ることができる。
「送信データ生成部の構成例」
図76は、上述の図62に示す送信データ生成部110Bに対応した、セットトップボックス200のビットストリーム処理部201Bの構成例を示している。このビットストリーム処理部201Bは、上述の図62に示す送信データ生成部110Bに対応した構成となっている。このビットストリーム処理部201Bは、デマルチプレクサ241と、ビデオデコーダ242と、CCデコーダ243を有している。また、このビットストリーム処理部201Bは、立体画像用CC発生部244と、視差情報取り出し部245と、視差情報処理部246と、ビデオ重畳部247と、オーディオデコーダ248を有している。
デマルチプレクサ241は、ビットストリームデータBSDから、ビデオ、オーディオのパケットを抽出し、各デコーダに送る。ビデオデコーダ242は、上述の送信データ生成部110Bのビデオエンコーダ132とは逆の処理を行う。すなわち、このビデオデコーダ242は、デマルチプレクサ241で抽出されたビデオのパケットからビデオのエレメンタリストリームを再構成し、復号化処理を行って、左眼画像データおよび右眼画像データを含む立体画像データを得る。
この立体画像データの伝送方式は、例えば、上述の第1の伝送方式(「Top & Bottom」方式)、第2の伝送方式は(「Side By Side」方式)、第3の伝送方式(「Frame Sequential」方式)などである(図4(a)〜(c)参照)。ビデオデコーダ242は、この立体画像データを、ビデオ重畳部247に送る。
CCデコーダ243は、ビデオデコーダ242で再構成されたビデオビデオエレメンタリストリームからCCデータが取り出す。そして、CCデコーダ243は、このCCデータから、キャプション・ウインドウ(Caption Window)毎の、クローズド・キャプション情報(字幕のキャラクタコード)、さらには重畳位置および表示時間の制御データを取得する。
視差情報取り出し部245は、ビデオデコーダ242を通じて得られるビデオエレメンタリストリームから視差情報を取り出す。この視差情報は、上述のCCデコーダ243で取得されるキャプション・ウインドウ(Caption Window)毎のクローズド・キャプションデータ(字幕のキャラクタコード)に対応付けられている。この視差情報は、キャプション・ウインドウ毎の視差ベクトル(個別視差ベクトル)、あるいは各キャプション・ウインドウに共通の視差ベクトル(共通視差ベクトル)である。
視差情報取り出し部245は、字幕表示期間内で共通に使用される視差情報、あるいは字幕表示期間内で順次更新される視差情報を取得する。視差情報取り出し部245は、この視差情報を、視差情報処理部246を通じて、立体画像用CC発生部244に送る。この字幕表示期間内で順次更新される視差情報は、上述したように、字幕表示期間の最初のフレームの視差情報と、その後のベースセグメント期間(更新フレーム間隔)毎のフレームの視差情報とからなっている。
視差情報処理部246は、字幕表示期間内で共通に使用される視差情報に関しては、そのまま立体画像用CC発生部244に送る。一方、視差情報処理部246は、字幕表示期間内で順次更新される視差情報に関しては、補間処理を施して、字幕表示期間内における任意のフレーム間隔、例えば、1フレーム間隔の視差情報を生成して、立体画像用CC発生部244に送る。視差情報処理部246は、この補間処理として、線形補間処理ではなく、時間方向(フレーム方向)にローパスフィルタ(LPF)処理を伴った補間処理を行って、補間処理後の所定フレーム間隔の視差情報の時間方向(フレーム方向)の変化をなだらかにしている(図31参照)。
立体画像用CC発生部244は、キャプション・ウインドウ(Caption Window)毎に、左眼画像、右眼画像にそれぞれ重畳する左眼クローズド・キャプション情報(字幕)、右眼クローズド・キャプション情報(字幕)のデータを生成する。この生成処理は、CCデコーダ243で得られたクローズド・キャプションデータおよび重畳位置制御データと、視差情報取り出し部245から視差情報246を通じて送られる視差情報(視差ベクトル)に基づいて行われる。そして、この立体画像用CC発生部244は、左眼字幕および左眼字幕のデータ(ビットマップデータ)を出力する。
この場合、左眼および左眼の字幕は同一の情報である。しかし、画像内の重畳位置が、例えば、左眼の字幕と右眼の字幕とは、視差ベクトル分だけ、水平方向にずれるようにされる。これにより、左眼画像および右眼画像に重畳される同一の字幕として、画像内の各物体の遠近感に応じて視差調整が施されたものを用いることができ、この字幕の表示において、画像内の各物体との間の遠近感の整合性を維持するようにされる。
ここで、立体画像用CC発生部244は、例えば、視差情報処理部246から字幕表示期間内で共通に使用される視差情報(視差ベクトル)のみが送られてくる場合、その視差情報を使用する。また、立体画像用CC発生部244は、例えば、視差情報処理部246から、字幕表示期間内で順次更新される視差情報(視差ベクトル)のみが送られてくる場合、その視差情報を使用する。また、立体画像用CC発生部244は、例えば、視差情報処理部246から、さらに字幕表示期間内で順次更新される視差情報も送られてくる場合には、いずれかを使用する。
いずれを使用するかは、例えば、上述したように、字幕表示の際に受信側(デコーダ側)で必須の視差情報(disparity)対応レベルを示す情報(図72の「rendering_level」参照)に拘束される。その場合、例えば、“00”であるときは、ユーザ設定による。字幕表示期間内で順次更新される視差情報を用いることで、左眼および右眼に付与する視差を画像内容の変化に連動して動的に変化させることが可能となる。
ビデオ重畳部247は、ビデオデコーダ242で得られた立体画像データ(左眼画像データ、右眼画像データ)に対し、立体画像用CC発生部244で発生された左眼および左眼の字幕のデータ(ビットマップデータ)を重畳し、表示用立体画像データVoutを得る。そして、このビデオ重畳部247は、表示用立体画像データVoutを、ビットストリーム処理部201Bの外部に出力する。
また、オーディオデコーダ248は、上述の送信データ生成部110Bのオーディオエンコーダ133とは逆の処理を行う。すなわち、このオーディオデコーダ248は、デマルチプレクサ241で抽出されたオーディオのパケットからオーディオのエレメンタリストリームを再構成し、復号化処理を行って、音声データAoutを得る。そして、このオーディオデコーダ248は、音声データAoutを、ビットストリーム処理部201Bの外部に出力する。
図76に示すビットストリーム処理部201Bの動作を簡単に説明する。デジタルチューナ204(図29参照)から出力されるビットストリームデータBSDは、デマルチプレクサ241に供給される。このデマルチプレクサ241では、ビットストリームデータBSDから、ビデオおよびオーディオのパケットが抽出され、各デコーダに供給される。ビデオデコーダ242では、デマルチプレクサ241で抽出されたビデオのパケットからビデオのエレメンタリストリームが再構成され、さらに復号化処理が行われて、左眼画像データおよび右眼画像データを含む立体画像データが得られる。この立体画像データは、ビデオ重畳部247に供給される。
また、ビデオデコーダ242で再構成されたビデオビデオエレメンタリストリームはCCデコーダ243に供給される。このCCデコーダ243では、ビデオエレメンタリストリームからCCデータが取り出される。このCCデコーダ243では、CCデータから、キャプション・ウインドウ(Caption Window)毎の、クローズド・キャプション情報(字幕のキャラクタコード)、さらには重畳位置および表示時間の制御データが取得される。このクローズド・キャプション情報と、重畳位置および表示時間の制御データは、立体画像用CC発生部244に供給される。
また、ビデオデコーダ242で再構成されたビデオビデオエレメンタリストリームは視差情報取り出し部245に供給される。視差情報取り出し部245では、ビデオエレメンタリストリームから視差情報が取り出される。この視差情報は、上述のCCデコーダ243で取得されるキャプション・ウインドウ(Caption Window)毎のクローズド・キャプションデータ(字幕のキャラクタコード)に対応付けられている。この視差情報は、視差情報処理部246を通じて、立体画像用CC発生部244に供給される。
視差情報処理部246では、字幕表示期間内で順次更新される視差情報に関して、以下の処理が行われる。すなわち、視差情報処理部246では、時間方向(フレーム方向)のLPF処理を伴った補間処理が施されて、字幕表示期間内における任意のフレーム間隔、例えば、1フレーム間隔の視差情報が生成されて、立体画像用CC発生部244に送られる。
立体画像用CC発生部244では、キャプション・ウインドウ(Caption Window)毎に、左眼画像、右眼画像にそれぞれ重畳する左眼クローズド・キャプション情報(字幕)、右眼クローズド・キャプション情報(字幕)のデータが生成される。この生成処理は、CCデコーダ243で得られたクローズド・キャプションデータおよび重畳位置制御データと、視差情報取り出し部245から視差情報処理部246を通じて供給された視差情報(視差ベクトル)に基づいて行われる。
立体画像用CC発生部244では、左眼クローズド・キャプション情報および右眼クローズド・キャプション情報のいずれか、あるいは双方に対して、視差を付与するためのシフト処理が行われる。この場合、視差情報処理部246を通じて供給された視差情報が、各フレームで共通に使用される視差情報であるとき、左眼画像、右眼画像に重畳されるクローズド・キャプション情報に、この共通の視差情報に基づいて視差が付与される。また、その視差情報が、各フレームで順次更新される視差情報であるとき、左眼画像、右眼画像に重畳されるクローズド・キャプション情報に、フレーム毎に更新された視差情報に基づいて視差が付与される。
このように、立体画像用CC発生部244でキャプション・ウインドウ(Caption Window)毎に生成された左眼および右眼のクローズド・キャプション情報のデータ(ビットマップデータ)は、表示時間の制御データと共に、ビデオ重畳部247に供給される。ビデオ重畳部247では、ビデオデコーダ242で得られた立体画像データ(左眼画像データ、右眼画像データ)に対して、立体画像用CC発生部244から供給されるクローズド・キャプション情報のデータが重畳され、表示用立体画像データVoutが得られる。
また、オーディオデコーダ248では、デマルチプレクサ241で抽出されたオーディオのパケットからオーディオのエレメンタリストリームが再構成され、さらに復号化処理が行われて、上述の表示用立体画像データVoutに対応した音声データAoutが得られる。この音声データAoutは、ビットストリーム処理部201Aの外部に出力される。
図76に示すビットストリーム処理部201Bにおいては、ビデオエレメンタリストリームのペイロード部から立体画像データを取得でき、また、そのヘッダ部のユーザデータ領域からCCデータおよび視差情報を取得できる。そのため、左眼画像および右眼画像に重畳されるクローズド・キャプション情報に、このクローズド・キャプション情報に合った視差情報を用いて、適切な視差を付与できる。したがって、クローズド・キャプション情報の表示において、画像内の各物体との間の遠近感の整合性を最適な状態に維持できる。
また、図76に示すビットストリーム処理部201Bの視差情報取り出し部245では、字幕表示期間内で共通に使用される視差情報、または、これと共に字幕表示期間内で順次更新される視差情報が取得される。立体画像用CC発生部244では、字幕表示期間内で順次更新される視差情報が使用されることで、左眼画像および右眼画像に重畳されるクローズド・キャプション情報に付与する視差を画像内容の変化に連動して動的に変化させることが可能となる。
また、図76に示すビットストリーム処理部201Bの視差情報処理部246では、字幕表示期間内で順次更新される視差情報に対して補間処理が施されて字幕表示期間内における任意のフレーム間隔の視差情報が生成される。この場合、送信側(放送局100)から16フレーム等のベースセグメント期間(更新フレーム間隔)毎に視差情報が送信される場合であっても、左眼画像および右眼画像に重畳されるクローズド・キャプション情報に付与される視差を、細かな間隔で、例えばフレーム毎に制御することが可能となる。
また、図76に示すビットストリーム処理部201Bの視差情報処理部246では、時間方向(フレーム方向)のローパスフィルタ処理を伴った補間処理が行われる。そのため、送信側(放送局100)からベースセグメント期間(更新フレーム間隔)毎に視差情報が送信される場合であっても、補間処理後の視差情報の時間方向(フレーム方向)の変化をなだらかにできる(図31参照)。したがって、左眼画像および右眼画像に重畳されるクローズド・キャプション情報に付与される視差の推移が、更新フレーム間隔毎に不連続となることによる違和感を抑制できる。
<2.変形例>
なお、図77は、「disparity_temporal_extension()」の他の構造例(Syntax)を示している。また、図78は、その構造例に関連する主要なデータ規定内容(semantics)を示している。「disparity_update_count」の8ビットフィールドは、視差情報(disparity)の更新回数を示す。そして、この視差情報の更新回数で規制されたforループが存在する。
「interval_count」の8ビットフィールドは、更新期間を、後述する「interval_PTS」で示されるインターバル期間(Interval period)の倍数で示す。「disparity_update」の8ビットフィールドは、対応する更新期間の視差情報を示す。なお、k=0における「disparity_update」は、字幕表示期間内において更新フレーム間隔で順次更新される視差情報の初期値、つまり、字幕表示期間における最初のフレームの視差情報である。
なお、図21に示す構造の「disparity_temporal_extension()」の代わりに、図77に示す構造の「disparity_temporal_extension()」を用いる場合、例えば、図18に示すSCS(Subregion Composition segment)の実質的な情報を含む部分に、「interval_PTS」の33ビットフィールドが設けられる。この「interval_PTS」は、インターバル期間(Interval period)を90KHz単位で指定する。つまり、「interval_PTS」は、このインターバル期間(Interval period)を90KHzのクロックで計測した値を33ビット長で表す。
図79、図80は、図77に示す構造の「disparity_temporal_extension()」を用いた場合における、視差情報の更新例を示している。図79は、「interval_PTS」で示されるインターバル期間(Interval period)が固定で、しかも、その期間が更新期間と等しい場合を示している。この場合、「interval_count」は、「1」となる。
一方、図80は、一般的なもので、「interval_PTS」で示されるインターバル期間(Interval period)を短期間(例えば、フレーム周期でもよい)とした場合の、視差情報の更新例を示している。この場合、「interval_count」は、各更新期間において、M,N,P,Q,Rとなる。なお、図79、図80において、“A”は字幕表示期間の開始フレーム(開始時点)を示し、“B”〜“F”は、その後の更新フレーム(更新時点)を示している。
図77に示す構造の「disparity_temporal_extension()」を用いて、字幕表示期間内で順次更新される視差情報を受信側(セットトップボックス200など)に送る場合も、受信側においては、上述したと同様の処理が可能である。すなわち、この場合も、受信側においては、更新期間毎の視差情報に補間処理を施すことで、任意のフレーム間隔、例えば、1フレーム間隔の視差情報を生成して使用することが可能である。
図81(a)は、図77に示す構造の「disparity_temporal_extension()」を用いる場合のサブタイトルデータストリームの構成例を示している。PESヘッダには、時間情報(PTS)が含まれている。また、PESペイロードデータとして、DDS、PCS、RCS、CDS、ODS、SCS、EOSの各セグメントが含まれている。これらは、サブタイトル表示期間の開始前に一括送信される。なお、上述していないが、図21に示す構造の「disparity_temporal_extension()」を用いる場合のサブタイトルデータストリームの構成例も同様となる。
なお、SCSセグメントに「disparity_temporal_extension()」を含めずに、字幕表示期間内で順次更新される視差情報を受信側(セットトップボックス200など)に送ることもできる。この場合、「temporal_extension_flag = 0」とされ、SCSセグメントでは、「subregion_disparity」のみが符号化される(図18参照)。この場合、サブタイトルデータストリームに、更新を行うタイミング毎にSCSセグメントが挿入される。その場合には、各更新タイミングのSCSセグメントには、図示は省略するが、時間情報として、時間差分値(delta_PTS)が付加される。
図81(b)は、その場合のサブタイトルデータストリームの構成例を示している。PESペイロードデータとして、最初に、DDS、PCS、RCS、CDS、ODS、SCSの各セグメントが送信される。その後に、更新を行うタイミングで、時間差分値(delta_PTS)および視差情報が更新された所定個数のSCSセグメントが送信される。最後には、SCSセグメントと共にEOSセグメントも送信される。
図82は、上述したようにSCSセグメントを順次送信する場合における、視差情報の更新例を示している。なお、図82において、“A”は字幕表示期間の開始フレーム(開始時点)を示し、“B”〜“F”は、その後の更新フレーム(更新時点)を示している。
SCSセグメントを順次送信して、字幕表示期間内で順次更新される視差情報を受信側(セットトップボックス200など)に送る場合も、受信側においては、上述したと同様の処理が可能である。すなわち、この場合も、受信側においては、更新期間毎の視差情報に補間処理を施すことで、任意のフレーム間隔、例えば、1フレーム間隔の視差情報を生成して使用することが可能である。
なお、上述した図77に示す構造の「disparity_temporal_extension()」を用いることを、図2に示す送信データ生成部110の説明(図21など)を用いて行っている。しかし、詳細説明は省略するが、このことは、DVB方式だけでなく、ARIB方式およびCEA方式においても、同様に可能であることは勿論である。
図83は、上述の図80と同様の、視差情報(disparity)の更新例を示している。更新フレーム間隔は、単位期間としてのインターバル期間(ID:Interval Duration)の倍数で表される。例えば、更新フレーム間隔「DivisionPeriod 1」は“ID*M”で表され、更新フレーム間隔「Division Period 2」は“ID*N”で表され、以下の各更新フレーム間隔も同様に表される。図83に示す視差情報の更新例においては、更新フレーム間隔は固定ではなく、視差情報カーブに応じた更新フレーム間隔の設定が行われている。
また、この視差情報(disparity)の更新例において、受信側では、字幕表示期間の開始フレーム(開始時刻)T1_0は、この視差情報が含まれるPESストリームのヘッダに挿入されているPTS(PresentationTime Stamp)で与えられる。そして、受信側では、視差情報の各更新時刻が、各更新フレーム間隔の情報であるインターバル期間の情報(単位期間の情報)およびそのインターバル期間の個数の情報に基づいて求められる。
この場合、字幕表示期間の開始フレーム(開始時刻)T1_0から、以下の(1)式に基づいて、順次各更新時刻が求められる。この(1)式において、「interval_count」はインターバル期間の個数を示し、図83におけるM,N,P,Q,R,Sに相当する値である。また、この(1)式において、「interval_time」は、図83におけるインターバル期間(ID)に相当する値である。
Tm_n= Tm_(n-1) + (interval_time * interval_count) ・・・(1)
例えば、図83に示す更新例においては、この(1)式に基づいて、各更新時刻が以下のように求められる。すなわち、更新時刻T1_1は、開始時刻(T1_0)と、インターバル期間(ID)と、個数(M)が用いられて、「T1_1 = T1_0 + (ID * M) 」のように求められる。また、更新時刻T1_2は、更新時刻(T1_1)と、インターバル期間(ID)と、個数(N)が用いられて、「T1_2 = T1_1+ (ID * N) 」のように求められる。以降の各更新時刻も同様に求められる。
図83に示す更新例において、受信側では、字幕表示期間内で順次更新される視差情報に関して、補間処理が施され、字幕表示期間内における任意のフレーム間隔、例えば、1フレーム間隔の視差情報が生成されて使用される。例えば、この補間処理として、線形補間処理ではなく、時間方向(フレーム方向)にローパスフィルタ(LPF)処理を伴った補間処理が行われることで、補間処理後の所定フレーム間隔の視差情報の時間方向(フレーム方向)を変化がなだらかとされる。図83の破線aはLPF出力例を示している。
図84は、サブタイトルデータストリームの構成例を示している。PESヘッダには、時間情報(PTS)が含まれている。また、PESペイロードデータとして、DDS、PCS、RCS、CDS、ODS、DSS(Display Signaling Segment)、EOSの各セグメントが含まれている。これらは、サブタイトル表示期間の開始前に一括送信される。
DSSのセグメントには、上述の図83に示すような視差情報更新を実現するための、視差情報が含まれている。すなわち、このDSSには、字幕表示期間の開始フレーム(開始時刻)の視差情報と、その後の更新フレーム間隔毎のフレームの視差情報が含まれる。また、この視差情報には、更新フレーム間隔の情報として、インターバル期間の情報(単位期間の情報)およびそのインターバル期間の個数の情報が付加されている。これにより、受信側においては、各更新フレーム間隔を「単位期間*個数」の計算により簡単に求めることができる。
また、DSSのセグメントには、字幕表示期間に順次更新される視差情報として、リージョン単位、あるいはこのリージョンに含まれるサブリージョン単位の視差情報と、全てのリージョンを含むページ単位の視差情報のいずれか、あるいは双方が選択的に含まれる。また、このDSSには、字幕表示期間で固定の視差情報として、リージョン単位、あるいはこのリージョンに含まれるサブリージョン単位の視差情報と、全てのリージョンを含むページ単位の視差情報とが含まれる。
図85は、字幕としてのサブタイトルの表示例を示している。この表示例においては、ページ領域(Area for Page_default)に、字幕表示領域としてのリージョン(Region)が2つ(リージョン1、リージョン2)含まれている。リージョンには1つまたは複数のサブリージョンが含まれている。ここでは、リージョンに1つのサブリージョンが含まれており、リージョン領域とサブリージョン領域とが等しいものとする。
図86は、DSSのセグメントに、字幕表示期間に順次更新される視差情報(Disparity)として、リージョン単位の視差情報とページ単位の視差情報の双方が含まれている場合において、各リージョンとページの視差情報カーブの一例を示している。ここで、ページの視差情報カーブは、2つのリージョンの視差情報カーブの最小値を採るような形とされている。
リージョン1(Region1)に関しては、開始時刻であるT1_0と、その後の更新時刻であるT1_1,T1_2,T1_3,・・・,T1_6の7個の視差情報が存在する。また、リージョン2(Region2)に関しては、開始時刻であるT2_0と、その後の更新時刻であるT2_1,T2_2,T2_3,・・・,T2_7の8個の視差情報が存在する。さらに、ページ(Page_default)に関しては、開始時刻であるT0_0と、その後の更新時刻であるT0_1,T0_2,T0_3,・・・,T0_6の7個の視差情報が存在する。
図87は、図86に示すページおよび各リージョンの視差情報がどのような構造で送られるかを示している。最初にページレイヤについて説明する。このページレイヤには、視差情報の固定値である「page_default_disparity」が配置される。そして、字幕表示期間に順次更新される視差情報に関しては、開始時刻とその後の各更新時刻に対応した、インターバル期間の個数を示す「interval_count」と、視差情報を示す「disparity_page_updete」が、順次配置される。なお、開始時刻の「interval_count」は“0”とされる。
次に、リージョンレイヤについて説明する。リージョン1(サブリージョン1)については、視差情報の固定値である「subregion_disparity_integer_part」および「subregion_disparity_fractional_part」が配置される。ここで、「subregion_disparity_integer_part」は視差情報の整数部分を示し、「subregion_disparity_fractional_part」は視差情報の小数部分を示している。
そして、字幕表示期間に順次更新される視差情報に関しては、開始時刻とその後の各更新時刻に対応した、インターバル期間の個数を示す「interval_count」と、視差情報を示す「disparity_region_updete_integer_part」および「disparity_region_updete_fractional_part」が、順次配置される。ここで、「disparity_region_updete_integer_part」は視差情報の整数部分を示し、「disparity_region_updete_fractional_part」は視差情報の小数部分を示している。なお、開始時刻の「interval_count」は“0”とされる。
リージョン2(サブリージョン2)については、上述のリージョン1と同様であり、視差情報の固定値である「subregion_disparity_integer_part」および「subregion_disparity_fractional_part」が配置される。そして、字幕表示期間に順次更新される視差情報に関しては、開始時刻とその後の各更新時刻に対応した、インターバル期間の個数を示す「interval_count」と、視差情報を示す「disparity_region_updete_integer_part」および「disparity_region_updete_fractional_part」が、順次配置される。
図88〜図91は、DSS(Disparity_Signaling_ Segment)の構造例(syntax)を示している。図92、図93は、DSSの主要なデータ規定内容(semantics)を示している。この構造には、「Sync_byte」、「segment_type」、「page_id」、「segment_length」、「dss_version_number」の各情報が含まれている。「segment_type」は、セグメントタイプを示す8ビットのデータであり、ここでは、DSSを示す値とされる。「segment_length」は、以降のバイト数を示す8ビットのデータである。
「disparity_page_update_sequence_flag」の1ビットフラグは、ページ単位の視差情報として字幕表示期間に順次更新される視差情報があるか否かを示す。“1”は存在することを示し、“0”は存在しないことを示す。「disparity_region_update_sequence_present_flag」の1ビットフラグは、リージョン単位(サブリージョン単位)の視差情報として字幕表示期間に順次更新される視差情報があるか否かを示す。“1”は存在することを示し、“0”は存在しないことを示す。なお、「disparity_region_update_sequence_present_flag」は、while ループの外側にあって、少なくとも一つのリージョン(region)に関する“disparity update”が存在するかどうかを簡単に分からせる目的で送られる。この「disparity_region_update_sequence_present_flag」を送るかどうかは送信側の自由である。
「page_default_disparity」の8ビットフィールドは、ページ単位の固定の視差情報、つまり、字幕表示期間内において共通に使用される視差情報を示す。上述した「disparity_page_update_sequence_flag」のフラグが“1”であるとき、「disparity_page_update_sequence()」の読み出しが行われる。
図90は、「disparity_page_update_sequence() 」の構造例(Syntax)を示している。「disparity_page_update_sequence_length」は、以降のバイト数を示す8ビットのデータである。「segment_NOT_continued_flag」は、現在のパケット内で完結しているか否かを示す。“1”は現在のパケットで完結していることを示す。“0”は現在のパケットで完結しておらず、次のパケットに続きの部分があることを示す。
「interval_time[23..0]」の24ビットフィールドは、単位期間としてのインターバル期間(Interval Duration)(図83参照)を90KHz単位で指定する。つまり、「interval_time[23..0]」は、このインターバル期間(Interval Duration)を90KHzのクロックで計測した値を24ビット長で表す。
PESのヘッダ部に挿入されているPTSが33ビット長であるのに対して、24ビット長とされているのは、以下の理由からである。すなわち、33ビット長では24時間分を超える時間を表現できるが、字幕表示期間内のこのインターバル期間(Interval Duration)としては不必要な長さである。また、24ビットとすることで、データサイズを縮小でき、コンパクトな伝送を行うことができる。また、24ビットは8×3ビットであり、バイトアラインが容易となる。
「division_period_count」の8ビットフィールドは、視差情報を送信する期間(Division Period)の数を示す。例えば、図83に示す更新例の場合には、開始時刻であるT1_0とその後の更新時刻であるT1_1〜T1_6に対応して、この数は“7”となる。この「division_period_count」の8ビットフィールドが示す数だけ、以下のforループが繰り返される。
「interval_count」の8ビットフィールドは、インターバル期間の個数を示す。例えば、図83に示す更新例の場合には、M,N,P,Q,R,Sが相当する。「disparity_page_update」の8ビットフィールドは、視差情報を示す。開始時刻の視差情報(視差情報の初期値)に対応して「interval_count」は“0”とされる。つまり、「interval_count」が“0”であるとき、「disparity_page_update」は開始時刻の視差情報(視差情報の初期値)を示す。
図89のwhileループは、それまでに処理したデータ長(processed_length)が、セグメントデータ長(segment_length)に達していないとき、繰り返される。このwhileループ中に、リージョン単位、あるいはリージョン内のサブリージョン単位の視差情報が配置される。ここで、リージョンには1つまたは複数のサブリージョンが含まれ、サブリージョン領域とリージョン領域とが同じ場合もある。
このwhileループ中に、「region_id 」および「subregion_id 」の情報が含まれている。サブリージョン領域がリージョン領域と同じ場合、「subregion_id 」は“0”とされる。そのため、「subregion_id 」が“0”でないとき、このwhileループ中に、サブリージョン領域を示す、「subregion_horizontal_position」の位置情報、「subregion_width 」の幅情報が含まれる。
「disparity_region_update_sequence_flag」の1ビットフラグは、リージョン単位(サブリージョン単位)の視差情報として字幕表示期間に順次更新される視差情報があるか否かを示す。“1”は存在することを示し、“0”は存在しないことを示す。「subregion_disparity_integer_part 」の8ビットフィールドは、リージョン単位(サブリージョン単位)の固定の視差情報、つまり、字幕表示期間内において共通に使用される視差情報の整数部分を示す。「subregion_disparity_fractional_part 」の4ビットフィールドは、リージョン単位(サブリージョン単位)の固定の視差情報、つまり、字幕表示期間内において共通に使用される視差情報の小数部分を示す。
上述した「disparity_region_update_sequence_flag」のフラグが“1”であるとき、「disparity_region_update_sequence()」の読み出しが行われる。図91は、「disparity_page_update_sequence() 」の構造例(Syntax)を示している。「disparity_region_update_sequence_length」は、以降のバイト数を示す8ビットのデータである。「segment_NOT_continued_flag」は、現在のパケット内で完結しているか否かを示す。“1”は現在のパケットで完結していることを示す。“0”は現在のパケットで完結しておらず、次のパケットに続きの部分があることを示す。
「interval_time[23..0]」の24ビットフィールドは、単位期間としてのインターバル期間(Interval Duration)(図83参照)を90KHz単位で指定する。つまり、「interval_time[23..0]」は、このインターバル期間(Interval Duration)を90KHzのクロックで計測した値を24ビット長で表す。24ビット長とされているのは、上述の「disparity_page_update_sequence() 」の構造例(Syntax)で説明したと同様である。
「division_period_count」の8ビットフィールドは、視差情報を送信する期間(Division Period)の数を示す。例えば、図83に示す更新例の場合には、開始時刻であるT1_0とその後の更新時刻であるT1_1〜T1_6に対応して、この数は“7”となる。この「division_period_count」の8ビットフィールドが示す数だけ、以下のforループが繰り返される。
「interval_count」の8ビットフィールドは、インターバル期間の個数を示す。例えば、図83に示す更新例の場合には、M,N,P,Q,R,Sが相当する。「disparity_region_update_integer_part」の8ビットフィールドは、視差情報の整数部分を示す。「disparity_region_update_fractional_part」の4ビットフィールドは、視差情報の小数部分を示す。開始時刻の視差情報(視差情報の初期値)に対応して「interval_count」は“0”とされる。つまり、「interval_count」が“0”であるとき、「disparity_region_update_integer_part」、「disparity_region_update_fractional_part」は、開始時刻の視差情報(視差情報の初期値)を示す。
また、上述実施の形態においては、画像送受信システム10が、放送局100、セットトップボックス200およびテレビ受信機300で構成されているものを示した。しかし、テレビ受信機300は、図32に示すように、セットトップボックス200内のビットストリーム処理部201(201A、201B)と同様に機能するビットストリーム処理部306を備えている。したがって、図94に示すように、放送局100およびテレビ受信機300で構成される画像送受信システム10Aも考えられる。
また、上述実施の形態においては、立体画像データを含むデータストリーム(ビットストリームデータ)が放送局100から放送される例を示した。しかし、この発明は、このデータストリームがインターネット等のネットワークを利用して受信端末に配信される構成のシステムにも同様に適用できる。
また、上述実施の形態においては、セットトップボックス200と、テレビ受信機300とが、HDMIのデジタルインタフェースで接続されるものを示している。しかし、これらが、HDMIのデジタルインタフェースと同様のデジタルインタフェース(有線の他に無線も含む)で接続される場合においても、この発明を同様に適用できる。
また、上述実施の形態においては、重畳情報としてサブタイトル(字幕)を取り扱うものを示した。しかし、その他のグラフィクス情報、テキスト情報などの重畳情報を扱うものにも、この発明を同様に適用できる。