以下、本発明の実施の形態について説明する。
図1は、本発明を適用した伝送システムの構成例を示すブロック図である。
図1において、伝送システム100は、伝送路103を介して画像データを送信装置101から受信装置102に伝送するシステムである。送信装置101および受信装置102は、ベースバンドの画像データ、またはその画像データを符号化して生成される符号化データを、伝送路103を介して授受する。符号化データを授受する場合、送信装置101は、入力されるベースバンドの画像データを所定の方法で符号化して符号化データを生成し、それを受信装置102に送信する。受信装置102は、その符号化データを受信し、送信装置101による符号化方法に対応する復号方法で、受信した符号化データを復号し、ベースバンドの画像データ(復号画像)を生成し、出力する。
また、ベースバンドの画像データを伝送する場合、送信装置101は、入力されたベースバンドの画像データをベースバンドのまま受信装置102に送信する。受信装置102は、そのベースバンドの画像データを受信すると、それをベースバンドのまま外部に出力する。
送信装置101および受信装置102は、符号化データを伝送させるか、または、ベースバンドの画像データを伝送させるかを、状況に応じて適切に選択する。これにより伝送システム100は、より多様な状況において、画像データを高品質かつ低遅延に伝送することができる。
図1に示されるように、送信装置101は、制御部111、切替部112、符号化部113、および切替部114を有する。
制御部111は、切替部112、符号化部113、および通信部114の動作を制御する。切替部112は、接続先を切り替えることにより、入力されたベースバンドの画像データを、符号化部113に供給するか、通信部114に供給するかを選択する。符号化部113は、切替部112より供給されるベースバンドの画像データを所定の方法で符号化し、符号化データを生成する。符号化部113は、生成した符号化データを通信部114に供給する。通信部114は、切替部112より供給されるベースバンドの画像データ、または、符号化部113より供給される符号化データを、伝送路103の規格に基づく方法で、その伝送路103を介して受信装置102に送信する。
例えば、ベースバンドの画像データを伝送させる場合、制御部111は、切替部112を制御して、入力されたベースバンドの画像データを通信部114に供給させる。また、制御部111は、通信部114を制御し、そのベースバンドの画像データを、伝送路103の規格に基づく方法で、その伝送路103を介して受信装置102に送信させる。
また、例えば、符号化データを伝送させる場合、制御部111は、切替部112を制御して、入力されたベースバンドの画像データを符号化部113に供給させる。制御部111は、符号化部113を制御し、そのベースバンドの画像データを符号化させ、生成された符号化データを通信部114に供給させる。また、制御部111は、通信部114を制御し、その符号化データを、伝送路103の規格に基づく方法で、その伝送路103を介して受信装置102に送信させる。
また、図1に示されるように、受信装置102は、制御部121、通信部122、切替部123、復号部124、および切替部125を有する。
制御部121は、切替部112、通信部122、切替部123、復号部124、および切替部125の動作を制御する。通信部122は、送信装置101より送信されるベースバンドの画像データまたは符号化データを、伝送路103を介して取得し、それを切替部123に供給する。切替部123は、接続先を切り替えることにより、供給されたベースバンドの画像データを、切替部125に供給する。また、切替部123は、接続先を切り替えることにより、供給された符号化データを、復号部124に供給する。復号部124は、切替部123より供給される符号化データを、符号化部113による符号化方法に対応する所定の復号方法で復号し、ベースバンドの画像データ(復元画像)を生成する。
切替部125は、接続元を切り替えることにより、切替部123、または、復号部124より供給されたベースバンドの画像データを受信装置102の外部に出力する。
例えば、ベースバンドの画像データを伝送させる場合、制御部121は、通信部122を制御してそのベースバンドの画像データを受信させ、切替部123に供給させる。制御部121は、切替部123を制御して、そのベースバンドの画像データを切替部125に供給させる。さらに、制御部121は、切替部125を制御し、そのベースバンドの画像データを受信装置102の外部に出力させる。
また、例えば、符号化データを伝送させる場合、制御部121は、通信部122を制御して、送信装置101より送信された符号化データを受信させ、それを切替部123に供給させる。また、制御部121は、切替部123の接続先を制御し、供給された符号化データを復号部124に供給させる。さらに、制御部121は、復号部124を制御し、符号化データを復号させ、生成されたベースバンドの画像を切替部125に供給させる。また、制御部121は、切替部125の接続元を制御し、復号部124より供給されるベースバンドの画像データを受信装置102の外部に出力させる。
図2は、送信装置101の符号化部113の詳細な構成例を示すブロック図である。図2に示されるように、符号化部113は、ウェーブレット変換部151、途中計算用バッファ部152、係数並び替え用バッファ部153、係数並び替え部154、およびエントロピ符号化部155の機能を有する。
符号化部113に入力された画像データは、ウェーブレット変換部151を介して途中計算用バッファ部152に一時的に溜め込まれる。ウェーブレット変換部151は、途中計算用バッファ部152に溜め込まれた画像データに対してウェーブレット変換を施す。すなわち、ウェーブレット変換部151は、途中計算用バッファ部152から画像データを読み出して分析フィルタによりフィルタ処理を施して低域成分および高域成分の係数のデータを生成し、生成された係数データを途中計算用バッファ部152に格納する。ウェーブレット変換部151は、水平分析フィルタと垂直分析フィルタとを有し、画像データ群に対して、画面水平方向と画面垂直方向の両方について分析フィルタ処理を行う。ウェーブレット変換部151は、途中計算用バッファ部152に格納された低域成分の係数データを再度読み出し、読み出した係数データに対して分析フィルタによるフィルタ処理を施して、高域成分および低域成分の係数のデータをさらに生成する。生成された係数データは、途中計算用バッファ部152に格納される。
ウェーブレット変換部151は、この処理を繰り返して分解レベルが所定レベルに達したら、途中計算用バッファ部152から係数データを読み出し、読み出された係数データを係数並び替え用バッファ部153に書き込む。
係数並び替え部154は、係数並び替え用バッファ部153に書き込まれた係数データを所定の順序で読み出し、エントロピ符号化部155に供給する。エントロピ符号化部155は、供給された係数データを、所定の方法で量子化し、例えば、ハフマン符号化や算術符号化といった所定のエントロピ符号化方式で符号化する。エントロピ符号化部155は、生成した符号化データを符号化部113の外部に出力する。
次に、図2のウェーブレット変換部151で行われる処理について、より詳細に説明する。先ず、ウェーブレット変換について、概略的に説明する。画像データに対するウェーブレット変換では、図3に概略的に示されるように、画像データを空間周波数の高い帯域と低い帯域とに分割する処理を、分割の結果得られる空間周波数の低い帯域のデータに対して再帰的に繰り返す。こうして、空間周波数の低い帯域のデータをより小さな領域に追い込んでいくことで、効率的な圧縮符号化を可能とする。
なお、図3は、画像データの最低域成分領域に対する低域成分の領域Lおよび高域成分の領域Hへの分割処理を3回、繰り返し、分割の階層の総数を示す分割レベル=3とした場合の例である。図3において、"L"および"H"は、それぞれ低域成分および高域成分を表し、"L"および"H"の順序は、前側が横方向に分割した結果の帯域を示し、後側が縦方向に分割した結果の帯域を示す。また、"L"および"H"の前の数字は、その領域の階層を示しており、低域成分の階層ほど小さい値で表されている。この階層の最大値が、ウェーブレット変換のその時の分割レベル(分割数)を示す。
また、図3の例から分かるように、画面の右下の領域から左上の領域にかけて段階的に処理がなされ、低域成分が追い込まれていく。すなわち、図3の例では、画面の右下の領域が最も低域成分の少ない(高域成分が最も多く含まれる)領域3HHとされる、画面が4分割された左上の領域は、さらに4分割され、この4分割された領域のうち左上の領域がさらに4分割される。最も左上隅の領域は、最も低域成分を多く含む領域0LLとされる。
低域成分に対して繰り返し変換および分割を行うのは、画像のエネルギが低域成分に集中しているためである。このことは、図4のAに一例が示される分割レベル=1の状態から、図4のBに一例が示される分割レベル=3の状態のように分割レベルを進めていくに従って、図4のBに示されるようにしてサブバンドが形成されていくことからも、理解される。例えば、図3におけるウェーブレット変換の分割レベルは3であり、この結果、10個のサブバンドが形成されている。
ウェーブレット変換部151は、通常、低域フィルタと高域フィルタとから構成されるフィルタバンクを用いて、上述のような処理を行う。なお、デジタルフィルタは、通常、複数タップ長のインパルス応答すなわちフィルタ係数を持っているため、フィルタ処理を行えるだけの入力画像データまたは係数データを予めバッファリングしておく必要がある。また、ウェーブレット変換を多段にわたって行う場合も同様に、前段で生成したウェーブレット変換係数を、フィルタ処理が行える数だけバッファリングしておく必要がある。
このウェーブレット変換の具体的な例として、5×3フィルタを用いた方法について説明する。この5×3フィルタを用いた方法は、JPEG2000規格でも採用されており、少ないフィルタタップ数でウェーブレット変換を行うことができる点で、優れた方法である。
5×3フィルタのインパルス応答(Z変換表現)は、次の式(1)および式(2)に示すように、低域フィルタH0(z)と、高域フィルタH1(z)とから構成される。
H0(z)=(−1+2z-1+6z-2+2z-3−z-4)/8 ・・・(1)
H1(z)=(−1+2z-1−z-2)/2 ・・・(2)
これら式(1)および式(2)によれば、低域成分および高域成分の係数を、直接的に算出することができる。ここで、リフティング(Lifting)技術を用いることで、フィルタ処理の計算を減らすことができる。
次に、このウェーブレット変換方法について、さらに具体的に説明する。図5は、5×3フィルタのリフティングによるフィルタ処理を、分解レベル=2まで実行した例を示している。なお、図5において、図の左側に分析フィルタとして示される部分は、図2のウェーブレット変換部151のフィルタである。また、図の右側に合成フィルタとして示される部分は、後述するウェーブレット逆変換部のフィルタである。
なお、以下の説明では、例えば表示デバイスなどにおいて画面の左上隅の画素を先頭として、画素が画面の左端から右端に向けて走査されて1ラインが構成され、ライン毎の走査が画面の上端から下端に向けて行われて1画面が構成されるものとする。
図5において、左端列は、原画像データのライン上の対応する位置にある画素データが縦方向に並べられて示されている。すなわち、ウェーブレット変換部151におけるフィルタ処理は、垂直フィルタを用いて画面上を画素が縦に走査されて行われる。左端から1列目乃至3列目が分割レベル=1のフィルタ処理を示し、4列目乃至6列目が分割レベル=2のフィルタ処理を示す。左端から2列目は、左端の原画像データの画素に基づく高域成分出力、左端から3列目は、原画像データおよび高域成分出力に基づく低域成分出力を示す。分割レベル=2のフィルタ処理は、左端から4列目乃至6列目に示されるように、分割レベル=1のフィルタ処理の出力に対して処理がなされる。
分解レベル=1のフィルタ処理において、第1段階のフィルタ処理として、原画像データの画素に基づき高域成分の係数データが算出され、第2段階のフィルタ処理として、第1段階のフィルタ処理で算出された高域成分の係数データと、原画像データの画素とに基づき低域成分の係数データが算出される。分解レベル=1の一例のフィルタ処理を、図5における左側(分析フィルタ側)の第1列目乃至第3列目に示す。算出された高域成分の係数データは、図2の係数並び替え用バッファ部153に格納される。また、算出された低域成分の係数データは、図2の途中計算用バッファ部152に格納される。
図5においては、係数並び替え用バッファ部153は、一点鎖線で囲まれた部分として示し、途中計算用バッファ部152は、点線で囲まれた部分として示す。
途中計算用バッファ部152に保持された分解レベル=1のフィルタ処理の結果に基づき、分解レベル=2のフィルタ処理が行われる。分解レベル=2のフィルタ処理では、分解レベル=1のフィルタ処理において低域成分の係数として算出された係数データを、低域成分および高域成分を含んだ係数データと見做して、分解レベル=1と同様のフィルタ処理を行う。分解レベル=2のフィルタ処理により算出された、高域成分の係数データおよび低域成分の係数データは、係数並び替え用バッファ部153に格納される。
ウェーブレット変換部151では、上述したようなフィルタ処理を、画面の水平方向および垂直方向にそれぞれ行う。例えば、先ず、分解レベル=1のフィルタ処理を水平方向に行い、生成された高域成分および低域成分の係数データを途中計算用バッファ部152に格納する。次に、途中計算用バッファ部152に格納された係数データに対して、垂直方向に分解レベル=1のフィルタ処理を行う。この分解レベル=1の水平および垂直方向の処理により、高域成分をさらに高域成分および低域成分に分解した係数データのそれぞれによる領域HHおよび領域HLと、低域成分をさらに高域成分および低域成分に分解した係数データのそれぞれによる領域LHおよび領域LLとの4領域が形成される。
そして、分解レベル=2では、水平方向および垂直方向のそれぞれについて、分解レベル=1で生成された低域成分の係数データに対してフィルタ処理が行われる。すなわち、分解レベル=2では、分解レベル=1で分割されて形成された領域LLがさらに4分割され、領域LL内にさらに領域HH、領域HL、領域LHおよび領域LLが形成される。
ウェーブレット変換部151は、ウェーブレット変換によるフィルタ処理を、画面の縦方向について、数ライン毎の処理に分割して、複数回に分けて段階的に行うようにしている。図5の例では、画面上の第1ラインからの処理になる1回目の処理は、7ラインについてフィルタ処理を行い、8ライン目からの処理になる2回目以降の処理は、4ライン毎にフィルタ処理を行っている。このライン数は、高域成分と低域成分とに2分解した後に、1ライン分の最低域成分が生成されるために必要なライン数に基づく。
なお、以下において、この最低域成分の1ライン分(最低域成分のサブバンドの1ライン分の係数データ)を生成するために必要な、他のサブバンドも含めたラインの集まりを、プレシンクト(またはラインブロック)と称する。ここでラインとは、ウェーブレット変換前の画像データに対応するピクチャ(フレームまたはフィールド)、または各サブバンド内において形成される1行分の画素データ若しくは係数データのことを示す。すなわち、プレシンクト(ラインブロック)とは、ウェーブレット変換前の元の画像データにおける、ウェーブレット変換後の最低域成分のサブバンド1ライン分の係数データを生成するために必要なライン数分の画素データ群、または、その画素データ群をウェーブレット変換して得られる各サブバンドの係数データ群のことを示す。
図5によれば、分解レベル=2のフィルタ処理結果で得られる係数C5は、係数C4および途中計算用バッファ部152に格納された係数Caに基づき算出され、係数C4は、途中計算用バッファ部152に格納された係数Ca、係数Cbおよび係数Ccに基づき算出される。さらに、係数Ccは、係数並び替え用バッファ部153に格納される係数C2および係数C3、並びに、第5ラインの画素データに基づき算出される。また、係数C3は、第5ライン乃至第7ラインの画素データに基づき算出される。このように、分割レベル=2における低域成分の係数C5を得るためには、第1ライン乃至第7ラインの画素データが必要とされる。
これに対して、2回目以降のフィルタ処理においては、前回までのフィルタ処理で既に算出され係数並び替え用バッファ部153に格納されている係数データを用いることができるので、必要なライン数が少なくて済む。
すなわち、図5によれば、分解レベル=2のフィルタ処理結果で得られる低域成分の係数のうち、係数C5の次の係数である係数C9は、係数C4および係数C8、並びに、途中計算用バッファ部152に格納された係数Ccに基づき算出される。係数C4は、上述した1回目のフィルタ処理により既に算出され、係数並び替え用バッファ部153に格納されている。同様に、係数Ccは、上述の1回目のフィルタ処理により既に算出され、途中計算用バッファ部152に格納されている。したがって、この2回目のフィルタ処理においては、係数C8を算出するためのフィルタ処理のみが、新たになされることになる。この新たなフィルタ処理は、第8ライン乃至第11ラインがさらに用いられてなされる。
このように、2回目以降のフィルタ処理は、前回までのフィルタ処理により算出され途中計算用バッファ部152および係数並び替え用バッファ部153に格納されたデータを用いることができるので、それぞれ4ライン毎の処理で済むことになる。
なお、画面上のライン数が符号化のライン数と合致しない場合は、原画像データのラインを所定の方法で複製してライン数を符号化のライン数と合わせて、フィルタ処理を行う。
このように、最低域成分1ライン分の係数データが得られるだけのフィルタ処理を段階的に、画面全体のラインに対して複数回に分けて(プレシンクト単位で)行うことで、符号化データを伝送した際に低遅延で復号画像を得ることを可能としている。
次に、図2の係数並び替え部154の処理について説明する。上述したように、ウェーブレット変換部151で算出された係数データは、係数並び替え用バッファ部153に格納され、係数並び替え部154により順序を並び替えられて読み出され、コーディングユニット単位でエントロピ符号化部155に送出される。
既に説明したように、ウェーブレット変換においては、高域成分側から低域成分側へと係数が生成されていく。図5の例では、1回目において、原画像の画素データにより、分解レベル=1のフィルタ処理で、高域成分の係数C1、係数C2および係数C3が順次生成される。そして、分解レベル=1のフィルタ処理で得られた低域成分の係数データに対して分解レベル=2のフィルタ処理を行い、低域成分の係数C4および係数C5が順次生成される。すなわち、第1回目では、係数C1、係数C2、係数C3、係数C4、係数C5の順に、係数データが生成される。この係数データの生成順は、ウェーブレット変換の原理上、必ずこの順序(高域から低域の順)になる。
これに対して、復号側では、低遅延で即座に復号を行うためには低域成分から画像の生成および出力を行う必要がある。そのため、符号化側で生成された係数データを最低域成分側から高域成分側に向けて並び替えて復号側に供給することが望ましい。
図5の例を用いて、より具体的に説明する。図5の右側は、逆ウェーブレット変換を行う合成フィルタ側を示す。復号側の、出力画像データの第1ライン目を含む1回目の合成処理(逆ウェーブレット変換処理)は、符号化側の1回目のフィルタ処理で生成された最低域成分の係数C4および係数C5と、係数C1とを用いて行われる。
すなわち、1回目の合成処理においては、係数C5、係数C4、係数C1の順に符号化側から復号側に係数データを供給し、復号側では、分解レベル=2に対応する合成処理である合成レベル=2の処理で、係数C5および係数C4に対して合成処理を行って係数Cfを生成し、バッファに格納する。そして、分解レベル=1に対応する合成処理である合成レベル=1の処理で、この係数Cfと係数C1に対して合成処理を行って、第1ラインを出力する。
このように、第1回目の合成処理においては、符号化側で係数C1、係数C2、係数C3、係数C4、係数C5の順に生成され係数並び替え用バッファ部153に格納された係数データが、係数C5、係数C4、係数C1、・・・の順に並び替えられて復号側に供給される。
なお、図5の右側に示す合成フィルタ側では、符号化側から供給される係数について、括弧内に符号化側での係数の番号を記し、括弧外に合成フィルタのライン順を記す。例えば係数C1(5)は、図5の左側の分析フィルタ側では係数C5であって、合成フィルタ側では第1ライン目であることを示す。
符号化側の2回目以降のフィルタ処理で生成された係数データによる復号側の合成処理は、前回の合成処理の際に合成あるいは符号化側から供給された係数データを用いて行うことができる。図5の例では、符号化側の2回目のフィルタ処理で生成された低域成分の係数C8および係数C9を用いて行う、復号側の2回目の合成処理は、符号化側の1回目のフィルタ処理で生成された係数C2および係数C3がさらに必要とされ、第2ライン乃至第5ラインが復号される。
すなわち、2回目の合成処理においては、係数C9、係数C8、係数C2、係数C3の順に符号化側から復号側に係数データを供給する。復号側では、合成レベル=2の処理において、係数C8および係数C9と、1回目の合成処理の際に符号化側から供給された係数C4とを用いて係数Cgを生成し、バッファに格納する。この係数Cgと、上述の係数C4と、1回目の合成処理により生成されバッファに格納された係数Cfとを用いて係数Chを生成し、バッファに格納する。
そして、合成レベル=1の処理において、合成レベル=2の処理で生成されバッファに格納された係数Cgおよび係数Chと、符号化側から供給された係数C2(合成フィルタでは係数C6(2)と示されている)および係数C3(合成フィルタでは係数C7(3)と示されている)とを用いて合成処理が行われ、第2ライン乃至第5ラインが復号される。
このように、第2回目の合成処理においては、符号化側で係数C2、係数C3、(係数C4、係数C5)、係数C6、係数C7、係数C8、係数C9の順に生成された係数データが、係数C9、係数C8、係数C2、係数C3、・・・の順に並び替えられて復号側に供給される。
3回目以降の合成処理においても、同様にして、係数並び替え用バッファ部53に格納された係数データが所定の順序に並び替えられて復号部に供給され、4ラインずつ、ラインが復号される。
なお、符号化側において画面の下端のラインを含むフィルタ処理(以下、最後の回と呼ぶ)に対応する復号側の合成処理では、それまでの処理で生成されバッファに格納された係数データを全て出力することになるため、出力ライン数が多くなる。図5の例では、最後の回に8ラインが出力される。
なお、係数並び替え部154による係数データの並び替え処理は、例えば、係数並び替え用バッファ部153に格納された係数データを読み出す際の読み出しアドレスを、所定の順序に設定することでなされる。
図5を用いて、上述までの処理をより具体的に説明する。図5は、5×3フィルタを用いて、分解レベル=2までウェーブレット変換によるフィルタ処理を施した例である。ウェーブレット変換部151において、図6のAに一例が示されるように、入力画像データの第1ラインから第7ラインに対して1回目のフィルタ処理が水平および垂直方向にそれぞれ行われる(図6のAのIn−1)。
1回目のフィルタ処理の分解レベル=1の処理において、係数C1、係数C2、および係数C3の3ライン分の係数データが生成され、図6のBに一例が示されるように、分解レベル=1で形成される領域HH、領域HLおよび領域LHのそれぞれに配置される(図6のBのWT−1)。
また、分解レベル=1で形成される領域LLは、分解レベル=2による水平および垂直方向のフィルタ処理でさらに4分割される。分解レベル=2で生成される係数C5および係数C4は、分解レベル=1による領域LL内において、領域LLに係数C5による1ラインが配置され、領域HH、領域HLおよび領域LHのそれぞれに、係数C4による1ラインが配置される。
ウェーブレット変換部151による2回目以降のフィルタ処理では、4ライン毎にフィルタ処理が行われ(図6のAのIn−2・・・)、分解レベル=1で2ラインずつの係数データが生成され(図6のBのWT−2)、分解レベル=2で1ラインずつの係数データが生成される。
図5の2回目の例では、分解レベル=1のフィルタ処理で係数C6および係数C7の2ライン分の係数データが生成され、図6のBに一例が示されるように、分解レベル1で形成される領域HH、領域HLおよび領域LHの、1回目のフィルタ処理で生成された係数データの次から配置される。同様に、分解レベル=1による領域LL内において、分解レベル=2のフィルタ処理で生成された1ライン分の係数C9が領域LLに配置され、1ライン分の係数C8が領域HH、領域HLおよび領域LHにそれぞれ配置される。
図6のBのようにウェーブレット変換されたデータを復号した際には、図6のCに一例が示されるように、符号化側の第1ライン乃至第7ラインによる1回目のフィルタ処理に対して、復号側の1回目の合成処理による第1ラインが出力される(図6のCのOut−1)。以降、符号化側の2回目から最後の回の前までのフィルタ処理に対して、復号側で4ラインずつが出力される(図6のCのOut−2・・・)。そして、符号化側の最後の回のフィルタ処理に対して、復号側で8ラインが出力される。
ウェーブレット変換部151で高域成分側から低域成分側へと生成された係数データは、係数並び替え用バッファ部153に順次格納される。係数並び替え部154は、上述した係数データの並び替えが可能となるまで係数並び替え用バッファ部153に係数データが蓄積されると、係数並び替え用バッファ部153から合成処理に必要な順に並び替えて係数データを読み出す。読み出された係数データは、エントロピ符号化部155に順次、供給される。
エントロピ符号化部155は、供給される係数データを順次符号化し、生成した符号化データを符号化部113の外部に出力する。
図7は、図1の復号部124の構成例を示すブロック図である。
図7に示されるように、復号部124は、エントロピ復号部161、係数バッファ部162、およびウェーブレット逆変換部163の機能を有する。
エントロピ復号部161は、供給された符号化データを、エントロピ符号化部155(図2)による符号化方法に対応する復号方法で復号し、係数データを得る。その係数データは、係数バッファ部162に格納される。ウェーブレット逆変換部163は、係数バッファ部162に格納された係数データを用いて、合成フィルタによる合成フィルタ処理(ウェーブレット逆変換)を行い、合成フィルタ処理の結果を再び係数バッファ部162に格納する。ウェーブレット逆変換部163は、この処理を分解レベルに応じて繰り返して、復号された画像データ(出力画像データ)を得ると、それを外部に出力する。
次に、図1の送信装置101による送信処理の流れの例を図8のフローチャートを参照して説明する。
送信処理が開始されると、制御部111は、ステップS101において、通信部114より伝送路103の情報、すなわち、伝送路103として通信部114に接続されたネットワーク(またはケーブル)の、伝送路103としての性能を示す情報を取得する。例えば、性能が既知であるネットワーク(またはケーブル)が接続されたのであれば、そのネットワーク(またはケーブル)の種類を示す情報でもよい。
なお、通信部114が特定の1つの種類のネットワーク(またはケーブル)のみ接続可能である場合、通信部114は、予め定められているそのネットワーク(またはケーブル)に関する情報を制御部111に提供すればよい。通信部114が複数種類のポートを有し、複数種類のネットワーク(またはケーブル)を接続可能である場合、通信部114は、現在接続されている伝送路103を識別し、その伝送路103に関する情報を制御部111に提供する。
伝送路103の情報を取得すると、制御部111は、ステップS102において、送信する画像データのビットレートが伝送路103の伝送許容ビットレート、すなわち、伝送可能な最大ビットレートより高いか否かを判定し、送信する画像データのビットレートの方が高く、画像データをベースバンドのまま伝送不可能であると判定した場合、処理をステップS103に進める。
ステップS103において、制御部111は、入力画像データを符号化部113に供給し、符号化部113において画像データを符号化するように切替部112を制御する。ステップS104において、符号化部113は、制御部111に制御され、切替部112を介して供給されたベースバンドの画像データを符号化し、符号化データを生成し、伝送するデータのビットレートを低減させる。ステップS105において、通信部114は、符号化部113において符号化されて得られた符号化データを、伝送路103を介して受信装置102に送信し、送信処理を終了する。
また、ステップS102において、送信する画像データのビットレートが伝送許容ビットレートより低いと判定された場合、画像データをベースバンドのまま伝送可能であるので、制御部111は、処理をステップS106に進め、入力画像データを符号化部113に供給しないように切替部112を制御する。切替部112は、その制御に基づいて、入力されたベースバンドの画像データを通信部114に供給させる。ステップS107において、通信部114は、切替部112より供給されたベースバンドの画像データを、伝送路103を介して受信装置102に送信し、送信処理を終了する。
次に、図9のフローチャートを参照して、図8のステップS104において実行される符号化処理の流れの例を説明する。
符号化処理が開始されると、符号化部113のウェーブレット変換部151は、ステップS121において、処理対象プレシンクトの番号Aを初期設定にする。例えば、番号Aは「1」に設定される。設定が終了すると、ウェーブレット変換部151は、ステップS122において、最低域サブバンドにおいて上からA番目の1ラインを生成するのに必要なライン数(すなわち、1プレシンクト)の画像データを取得し、その画像データに対して、ステップS123において画面垂直方向に並ぶ画像データに対して分析フィルタリングを行う垂直分析フィルタリング処理を行い、ステップS124において画面水平方向に並ぶ画像データに対して分析フィルタリング処理を行う水平分析フィルタリング処理を行う。
ステップS125においてウェーブレット変換部151は、分析フィルタリング処理を最終レベルまで行ったか否かを判定する。分解レベルが最終レベルに達していないと判定された場合、処理はステップS123に戻り、現在の分解レベルに対して、ステップS123およびステップS124の分析フィルタリング処理が繰り返される。
ステップS5において、分析フィルタリング処理が最終レベルまで行われたと判定された場合、処理は、ステップS126に進む。
ステップS126において、係数並び替え部154は、プレシンクトA(ピクチャ(フレームまたはフィールド)の上からA番目のプレシンクト)の係数を低域から高域の順番に並び替える。エントロピ符号化部55は、ステップS127において、その係数に対してライン毎にエントロピ符号化する。
ウェーブレット変換部151は、ステップS128において番号Aの値を「1」インクリメントして次のプレシンクトを処理対象とし、ステップS129において、処理対象のピクチャ(フレームまたはフィールド)について、未処理の画像入力ラインが存在するか否かを判定する。未処理の画像入力ラインが存在すると判定された場合、処理は、ステップS122に戻り、新たな処理対象のプレシンクトに対してそれ以降の処理が繰り返される。
以上のようにステップS122乃至ステップS129の処理が繰り返し実行され、各プレシンクトが符号化される。そして、ステップS129において、未処理の画像入力ラインが存在しないと判定された場合、そのピクチャに対する符号化処理が終了される。次のピクチャに対しては新たに符号化処理が開始される。
このように、ウェーブレット変換部151は、プレシンクト単位で垂直分析フィルタリング処理および水平分析フィルタリング処理を最終レベルまで連続して行うので、従来の方法と比較して、一度に(同時期に)保持する(バッファリングする)必要のあるデータの量が少なく、用意すべきバッファのメモリ量を大幅に低減させることができる。また、最終レベルまで分析フィルタリング処理が行われることにより、後段の係数並び替えやエントロピ符号化等の処理も行うことができる(つまり、係数並び替えやエントロピ符号化をプレシンクト単位で行うことができる)。従って、画面全体に対してウェーブレット変換を行う方法と比較して遅延時間を大幅に低減させることができる。
また、以上のように、送信装置101は、伝送させる画像データのビットレートおよび伝送路103の伝送許容ビットレートに基づいて、画像データを圧縮するか否かを決定することができる。これにより、送信装置101は、不要に画像データを圧縮したり、画像データをベースバンドのまま伝送不可能なビットレートで伝送させたりすることを抑制することができる。したがって、送信装置101は、より多様な状況において、画像データを高品質かつ低遅延に伝送することができる。
次に、図10のフローチャートを参照して、図1の受信装置102による受信処理の流れの例を説明する。
受信処理が開始されると、ステップS141において通信部122は、制御部121に制御され、送信装置101より送信されるデータを受信する。ステップS142において、通信部122は、その受信したデータが符号化データであるか否かを判定し、符号化データであると判定した場合、処理をステップS143に供給する。
ステップS143において、復号部124のエントロピ復号部161は、符号化データをエントロピ復号する。ウェーブレット逆変換部163は、ステップS144において、係数データに対して垂直合成フィルタリングを行い、ステップS145において、水平合成フィルタリングを行う。ステップS145において、ウェーブレット逆変換部163は、合成フィルタリングがレベル1まで終了したか否かを判定し、終了していないと判定した場合、処理をステップS144に戻し、合成フィルタリングを継続する。合成フィルタリングがレベル1まで終了したと判定された場合、処理はステップS147に進む。
また、ステップS142において、受信したデータがベースバンドの画像データあると判定された場合、通信部122は、処理をステップS147に進める。
ステップS147において、制御部121は、受信処理を終了するか否かを判定し、終了しないと判定した場合、処理をステップS141に戻し、それ以降の処理を繰り返す。また、ステップS147において、受信処理を終了すると判定した場合、制御部121は、受信処理を終了する。
以上のように、受信装置102は、データを受信し、必要に応じて復号処理を行うことができる。したがって、受信装置102は、より多様な状況において、画像データを高品質かつ低遅延に伝送することができる。
以上のような各種処理は、例えば、図11に示されるように、適宜、並列的に実行させることもできる。
図11は、図2に示される符号化部113および図7に示される復号部124の各部により実行される処理の各要素の並列動作の例を概略的に示す図である。この図11は、上述した図5および図6と対応するものである。画像データの入力In−1(図11のA)に対して、ウェーブレット変換部151(図2)で1回目のウェーブレット変換WT−1が施される(図11のB)。図5を参照し説明したように、この1回目のウェーブレット変換WT−1は、最初の3ラインが入力された時点で開始され、係数C1が生成される。すなわち、画像データIn−1の入力からウェーブレット変換WT−1が開始されるまで、3ライン分の遅延が生じる。
生成された係数データは、係数並び替え用バッファ部153(図2)に格納される。以降、入力された画像データに対してウェーブレット変換が施され、1回目の処理が終了すると、そのまま2回目のウェーブレット変換WT−2に処理が移行する。
2回目のウェーブレット変換WT−2のための画像データIn−2の入力と、当該2回目のウェーブレット変換WT−2の処理と並列的に、係数並び替え部154(図2)により3個の、係数C1、係数C4、および係数C5の並び替えOrd−1が実行される(図11のC)。
なお、ウェーブレット変換WT−1の終了から並び替えOrd−1が開始されるまでの遅延は、例えば、並び替え処理を係数並び替え部154に指示する制御信号の伝達に伴う遅延や、制御信号に対する係数並び替え部154の処理開始に要する遅延、プログラム処理に要する遅延といった、装置やシステム構成に基づく遅延であって、符号化処理における本質的な遅延ではない。
係数データは、並び替えが終了した順に係数並び替え用バッファ部153から読み出され、エントロピ符号化部155(図2)に供給され、エントロピ符号化EC−1が行われる(図11のD)。このエントロピ符号化EC−1は、3個の、係数C1、係数C4、および係数C5の、全ての並び替えの終了を待たずに開始することができる。例えば、最初に出力される係数C5による1ラインの並び替えが終了した時点で、当該係数C5に対するエントロピ符号化を開始することができる。この場合、並び替えOrd−1の処理開始からエントロピ符号化EC−1の処理開始までの遅延は、1ライン分となる。
エントロピ符号化部155によるエントロピ符号化EC−1が終了した符号化データは、所定の信号処理が施された後、復号部124(図7)に伝送される(図11のE)。
以上のように、符号化部113に対しては、1回目の処理による7ライン分の画像データ入力に続けて、画面上の下端のラインまで画像データが順次、入力される。符号化部113では、画像データの入力In−n(nは2以上)に伴い、上述したようにして、4ライン毎にウェーブレット変換WT−n、並び替えOrd−nおよびエントロピ符号化EC−nを行う。符号化部113における最後の回の処理に対する並び替えOrdおよびエントロピ符号化ECは、6ラインに対して行われる。これらの処理は、符号化部113において、図11のA乃至図11のDに例示されるように、並列的に行われる。
符号化部113によるエントロピ符号化EC−1により符号化された符号化データは、復号部124に供給される。復号部124のエントロピ復号部161(図7)は、供給された、エントロピ符号化EC−1により符号化された符号化データに対して、順次、エントロピ符号の復号iEC−1を行い、係数データを復元する(図11のF)。復元された係数データは、順次、係数バッファ部162に格納される。ウェーブレット逆変換部163は、係数バッファ部162にウェーブレット逆変換が行えるだけ係数データが格納されたら、係数バッファ部162から係数データを読み出して、読み出された係数データを用いてウェーブレット逆変換iWT−1を行う(図11のG)。
図5を参照して説明したように、ウェーブレット逆変換部163によるウェーブレット逆変換iWT−1は、係数C4および係数C5が係数バッファ部162に格納された時点で開始することができる。したがって、エントロピ復号部161による復号iEC−1が開始されてからウェーブレット逆変換部163によるウェーブレット逆変換iWT−1が開始されるまでの遅延は、2ライン分となる。
ウェーブレット逆変換部163において、1回目のウェーブレット変換による3ライン分のウェーブレット逆変換iWT−1が終了すると、ウェーブレット逆変換iWT−1で生成された画像データの出力Out−1が行われる(図11のH)。出力Out−1では、図5および図6を用いて説明したように、第1ライン目の画像データが出力される。
復号部124に対して、符号化部113における1回目の処理による3ライン分の符号化された係数データの入力に続けて、エントロピ符号化EC−n(nは2以上)により符号化された係数データが順次、入力される。復号部124では、入力された係数データに対して、上述したようにして、4ライン毎にエントロピ復号iEC−nおよびウェーブレット逆変換iWT−nを行い、ウェーブレット逆変換iWT−nにより復元された画像データの出力Out−nを順次、行う。符号化部113の最後の回に対応するエントロピ復号iECおよびウェーブレット逆変換iWTは、6ラインに対して行われ、出力Outは、8ラインが出力される。これらの処理は、復号部124において、図11のF乃至図11のHに例示されるように、並列的に行われる。
上述のようにして、画面上部から下部の方向に順番に、符号化部113および復号部124における各処理を並列的に行うことで、画像圧縮処理および画像復号処理をより低遅延で行うことが可能となる。
図11を参照して、5×3フィルタを用いて分解レベル=2までウェーブレット変換を行った場合の、画像入力から画像出力までの遅延時間を計算してみる。第1ライン目の画像データが符号化部113に入力されてから、この第1ライン目の画像データが復号部124から出力されるまでの遅延時間は、下記の各要素の総和となる。なお、ここでは、伝送路における遅延や、装置各部の実際の処理タイミングに伴う遅延などの、システムの構成により異なる遅延は、除外している。
(1)最初のライン入力から7ライン分のウェーブレット変換WT−1が終了するまでの遅延D_WT
(2)3ライン分の計数並び替えOrd−1に伴う時間D_Ord
(3)3ライン分のエントロピ符号化EC−1に伴う時間D_EC
(4)3ライン分のエントロピ復号iEC−1に伴う時間D_iEC
(5)3ライン分のウェーブレット逆変換iWT−1に伴う時間D_iWT
図11を参照して、上述の各要素による遅延の計算を試みる。(1)の遅延D_WTは、10ライン分の時間である。(2)の時間D_Ord、(3)の時間D_EC、(4)の時間D_iEC、および(5)の時間D_iWTは、それぞれ3ライン分の時間である。また、符号化部14において、並び替えOrd−1が開始されてから1ライン後には、エントロピ符号化EC−1を開始することができる。同様に、復号部36において、エントロピ復号iEC−1が開始されてから2ライン後には、ウェーブレット逆変換iWT−1を開始することができる。また、エントロピ復号iEC−1は、エントロピ符号化EC−1で1ライン分の符号化が終了した時点で処理を開始することができる。
したがって、この図11の例では、符号化部113に第1ライン目の画像データが入力されてから、復号部124から当該第1ライン目の画像データが出力されるまでの遅延時間は、10+1+1+2+3=17ライン分となる。
遅延時間について、より具体的な例を挙げて考察する。入力される画像データがHDTV(High Definition Television)のインタレースビデオ信号の場合、例えば1920画素×1080ラインの解像度で1フレームが構成され、1フィールドは、1920画素×540ラインとなる。したがって、フレーム周波数を30Hzとした場合、1フィールドの540ラインが16.67msec(=1sec/60フィールド)の時間に、符号化部113に入力されることになる。
したがって、7ライン分の画像データの入力に伴う遅延時間は、0.216msec(=16.67msec×7/540ライン)であり、例えば1フィールドの更新時間に対して非常に短い時間となる。また、上述した(1)の遅延D_WT、(2)の時間D_Ord、(3)の時間D_EC、(4)の時間D_iEC、および(5)の時間D_iWTの総和についても、処理対象のライン数が少ないため、遅延時間が非常に短縮される。
以上においては、伝送路103の伝送許容ビットレートと送信する画像データのビットレートの大小関係に基づいて、画像データの符号化を制御するように説明したが、これ以外にも、例えば、画像データを伝送する前に、実際に、送信装置101と受信装置102との間で伝送路103の帯域幅を計測することにより、伝送路103の規格としての伝送許容ビットレートではなく、その時点における実際の伝送許容ビットレート(計測値)を用いて、送信装置101において画像データを符号化するか否かを制御するようにしてもよい。
ただし、そのためには、伝送路103の企画が、画像データ伝送の前に、送信装置101と受信装置102との間で情報の授受を行うことに対応している必要がある。また、画像データを符号化することを前提にして、その計測値を符号化データのビットレートとするようにしてもよい。つまり、送信装置101が、その計測値を目標ビットレートとして画像データの符号化を行うようにしてもよい。例えば、伝送路103が他のシステムと共有される場合等、伝送路103の使用可能帯域幅が時間や状況に応じて変化する場合がある。この使用帯域幅が狭い場合には符号化データのビットレートを低くするように制限し、使用帯域幅に余裕がある場合にはビットレートを上げる等、伝送路103の使用可能帯域幅に応じて符号化データのビットレートを制御することにより、伝送システム100は、より多様な状況において、画像データを高品質かつ低遅延に伝送することができる。
また、その画像データ伝送の前の、送信装置101と受信装置102との間での情報の授受の機能を利用して、受信装置102が、受信装置102の能力(「実際に必要な能力」という意味も含む)に関する情報を送信装置101に対して提供するようにしてもよい。例えば、送信装置101が、受信装置102が符号化部113に対応する復号部124を有するか否かによって、画像データの符号化を行うか否かを制御するようにしてもよい。
さらに、送信装置101が画像データを符号化して受信装置102に伝送させることを前提とする場合においても、送信装置101が、その受信装置102の能力に関する情報に基づいて、例えば解像度、ビットレート、遅延時間等の、符号化処理の設定を行うようにしてもよい。
例えば、受信装置102より出力される画像を表示する表示装置の表示可能な画像の解像度が低い場合等、受信装置102の出力時の画像の解像度が送信装置101の入力時の画像の解像度よりも低い場合も考えられる。このような場合、送信装置101より高解像度の画像の符号化データを出力するようにすると、伝送路103の帯域を不要に占有するだけでなく、受信装置102に不要な負荷をかけてしまう恐れがあり、無意味である。さらに、例えば、伝送システム100全体における遅延時間に制限がある場合、復号処理の遅延時間によって、符号化処理の遅延許容量を制限しなければならないことも考えられる。
したがって、画像データ伝送の前に、受信装置102の能力に関する情報を送信装置101に供給し、送信装置101が、その情報に基づいて符号化処理の設定を行うことにより、送信装置101は、より適切に符号化処理を行うことができる。つまり、伝送システム100は、より多様な状況において、画像データを高品質かつ低遅延に伝送することができる。
このような画像データを伝送する前の送信装置101および受信装置102の間のネゴシエーション機能を有する伝送路103の一例としてHDMIがある。以下にそのHDMIについて説明する。以下の説明において、伝送路103は、HDMIケーブルとする(HDMIケーブル103とも称する)。
送信装置101の通信部114(HDMI送信部)は、HDMIケーブル103を介して、受信装置102の通信部122(HDMI受信部)から、その通信部122のE-EDID(Enhanced Extended Display Identification Data)を、DDC(Display Data Channel)を介して読み出す。このE-EDIDには、受信装置102で取り扱われる解像度、復号処理の遅延時間、ビット深度、フレームレート等、受信装置102の能力に関する情報が含まれている。
図12は、E-EDIDのデータ構造例を示している。このE-EDIDは、基本ブロックと拡張ブロックとからなっている。基本ブロックの先頭には、“E-EDID1.3 Basic Structure”で表されるE-EDID1.3の規格で定められたデータが配置され、続いて“Preferred timing”で表される従来のEDIDとの互換性を保つためのタイミング情報、および“2nd timing”で表される従来のEDIDとの互換性を保つための“Preferred timing”とは異なるタイミング情報が配置されている。
また、基本ブロックには、“2nd timing”に続いて、“Monitor NAME”で表される表示装置の名前を示す情報、および“Monitor Range Limits”で表される、アスペクト比が4:3および16:9である場合についての表示可能な画素数を示す情報が順番に配置されている。
拡張ブロックの先頭には、“Speaker Allocation”で表される左右のスピーカに関する情報が配置され、続いて“VIDEO SHORT”で表される、表示可能な画像サイズ(解像度)、フレームレート、インターレースであるかプログレッシブであるかを示す情報、アスペクト比などの情報が記述されたデータ、“AUDIO SHORT”で表される、再生可能な音声コーデック方式、サンプリング周波数、カットオフ帯域、コーデックビット数などの情報が記述されたデータ、および“Speaker Allocation”で表される左右のスピーカに関する情報が順番に配置されている。
また、拡張ブロックには、“Speaker Allocation”に続いて、“Vender Specific”で表されるメーカごとに固有に定義されたデータ、“3rd timing”で表される従来のEDIDとの互換性を保つためのタイミング情報、および“4th timing”で表される従来のEDIDとの互換性を保つためのタイミング情報が配置されている。
図13は、VIDEO SHORT領域の映像データ例を示している。このVIDEO SHORT領域のByte#1からByte#Lまでに、CEA(Consumer Electronics Association)-861-Dという規格で定義された映像信号フォーマットの内、受信装置102が処理可能なフォーマットが、解像度・フレームレート・縦横比の組み合わせで表記されている。
図14は、Vender Specific領域のデータ構造例を示している。このVender Specific領域には、1バイトのブロックである第0ブロック乃至第Nブロックが設けられている。
“Vender Specific”で表されるデータの先頭に配置された第0ブロックには、“Vendor-Specific tag code(=3)”で表されるデータ“Vender Specific”のデータ領域を示すヘッダ、および“Length(=N)”で表されるデータ“Vender Specific”の長さを示す情報が配置される。
また、第1ブロック乃至第3ブロックには、“24bit IEEE Registration Identifier(0x000℃03)LSB first”で表されるHDMI(R)用として登録された番号“0x000℃03“を示す情報が配置される。さらに、第4ブロックおよび第5ブロックには、”A“、”B“、”C“、および”D“のそれぞれにより表される、24bitのシンク機器の物理アドレスを示す情報が配置される。
第6ブロックには、“Supports-AI”で表されるシンク機器が対応している機能を示すフラグ、“DC-48bit”、“DC-36bit”、および“DC-30bit”のそれぞれで表される1ピクセル当たりのビット数を指定する情報のそれぞれ、“DC-Y444”で表される、シンク機器がYCbCr4:4:4の画像の伝送に対応しているかを示すフラグ、および“DVI-Dual”で表される、シンク機器がデュアルDVI(DIGITAL Visual Interface)に対応しているかを示すフラグが配置されている。
また、第7ブロックには、“Max-TMDS-Clock”で表されるTMDS (Transition Minimized Differential Signaling)のピクセルクロックの最大の周波数を示す情報が配置される。さらに、第8ブロックには、“Latency”で表される映像と音声の遅延情報の有無を示すフラグが配置されている。また、第9ブロックには、“Video Latency”で表される、プログレッシブの映像の遅延時間データが配置され、第10ブロックには、“Audio Latency”で表される、プログレッシブの映像に付随する音声の遅延時間データが配置される。さらに、第11ブロックには、“Interlaced Video Latency”で表されるインターレースの映像の遅延時間データが配置され、第12ブロックには、“Interlaced Audio Latency”で表される、インターレースの映像に付随する音声の遅延時間データが配置されている。
例えば、第8ブロックの“Latency”のフラグを立て、第9ブロックの“Video Latency”に実際の遅延時間のデータを記述することで、復号部124の遅延時間を符号化部113に提供することができる。また、画像がインターレース方式の場合、第11ブロックにの“Interlaced Video Latency”に実際の遅延時間のデータを記述すればよい。
次に、送信装置101の通信部114(HDMI送信部)および受信装置102の通信部122(HDMI受信部)について説明する。図15は、通信部114と、通信部122の詳細な構成例を示すブロック図である。
HDMI送信部である通信部114は、一の垂直同期信号から次の垂直同期信号までの区間から、水平帰線区間および垂直帰線区間を除いた区間である有効画像区間(以下、適宜、アクティブビデオ区間ともいう)において、非圧縮の1画面分の画像の画素データに対応する差動信号を、複数のチャネルで、HDMI受信部である通信部122に一方向に送信するとともに、水平帰線区間または垂直帰線区間において、少なくとも画像に付随する音声データや制御データ、その他の補助データ等に対応する差動信号を、複数のチャネルで、通信部122に一方向に送信する。
すなわち、通信部114は、HDMIトランスミッタ211を有する。HDMIトランスミッタ211は、例えば、符号化データを対応する差動信号に変換し、複数のチャネルである3つのTMDSチャネル#0,#1,#2で、HDMIケーブル103を介して接続されている通信部122に、一方向にシリアル伝送する。
また、HDMIトランスミッタ211は、符号化データに付随する音声データ、さらには、必要な制御データその他の補助データ等を、対応する差動信号に変換し、3つのTMDSチャネル#0,#1,#2でHDMIケーブル103を介して接続されている通信部122に、一方向にシリアル伝送する。
さらに、HDMIトランスミッタ211は、3つのTMDSチャネル#0,#1,#2で送信する画素データに同期したピクセルクロックを、TMDSクロックチャネルで、HDMIケーブル103を介して接続されている通信部122に送信する。ここで、1つのTMDSチャネル#i(i=0,1,2)では、ピクセルクロックの1クロックの間に、例えば10ビットのデータが送信される。
通信部122は、アクティブビデオ区間において、複数のチャネルで、通信部114から一方向に送信されてくる、画素データに対応する差動信号を受信するとともに、水平帰線区間または垂直帰線区間において、複数のチャネルで、通信部114から一方向に送信されてくる、音声データや制御データに対応する差動信号を受信する。
すなわち、通信部122は、HDMIレシーバ212を有する。HDMIレシーバ212は、TMDSチャネル#0,#1,#2で、HDMIケーブル103を介して接続されている通信部114から一方向に送信されてくる、画素データに対応する差動信号と、音声データや制御データに対応する差動信号を、同じく通信部114からTMDSクロックチャネルで送信されてくるピクセルクロックに同期して受信する。
通信部114と通信部122とからなるHDMIシステムの伝送チャネルには、通信部114から通信部122に対して、符号化データおよび音声データを、ピクセルクロックに同期して、一方向にシリアル伝送するための伝送チャネルとしての3つのTMDSチャネル#0乃至#2と、ピクセルクロックを伝送する伝送チャネルとしてのTMDSクロックチャネルの他に、DDC(Display Data Channel)213やCECライン214と呼ばれる伝送チャネルがある。
DDC213は、HDMIケーブル103に含まれる図示せぬ2本の信号線からなり、通信部114が、HDMIケーブル103を介して接続された通信部122から、E-EDIDを読み出すために使用される。
すなわち、通信部122は、HDMIレシーバ212の他に、自身の性能(Configuration/capability)に関する性能情報であるE-EDIDを記憶しているEDID ROM(Read Only Memory)215を有している。通信部114は、HDMIケーブル103を介して接続されている通信部122から、当該通信部122のE-EDIDを、DDC213を介して読み出し、そのE-EDIDに基づき、例えば、通信部122を有する電子機器が対応している画像のフォーマット(プロファイル)、例えば、RGB、YCbCr4:4:4、YCbCr4:2:2、YCbCr4:2:0等を認識する。
CECライン214は、HDMIケーブル103に含まれる図示せぬ1本の信号線からなり、通信部114と通信部122との間で、制御用のデータの双方向通信を行うのに用いられる。
また、HDMIケーブル103には、HPD(Hot Plug Detect)と呼ばれるピンに接続されるライン216が含まれている。ソース機器は、当該ライン216を利用して、シンク機器の接続を検出することができる。また、HDMIケーブル103には、ソース機器からシンク機器に電源を供給するために用いられるライン217が含まれている。さらに、HDMIケーブル103には、拡張用のリザーブライン218が含まれている。
図16は、図15のHDMIトランスミッタ211とHDMIレシーバ212の構成例を示している。
HDMIトランスミッタ211は、3つのTMDSチャネル#0,#1,#2にそれぞれ対応する3つのエンコーダ/シリアライザ211A,211B,211Cを有する。そして、エンコーダ/シリアライザ211A,211B,211Cのそれぞれは、そこに供給される画像データ、補助データ、制御データをエンコードし、パラレルデータからシリアルデータに変換して、差動信号により送信する。ここで、画像データが、例えばR(赤),G(緑),B(青)の3成分を有する場合、B成分(B component)はエンコーダ/シリアライザ211Aに供給され、G成分(G component)はエンコーダ/シリアライザ211Bに供給され、R成分(R component)はエンコーダ/シリアライザ211Cに供給される。
また、補助データとしては、例えば、音声データや制御パケットがあり、制御パケットは、例えば、エンコーダ/シリアライザ211Aに供給され、音声データは、エンコーダ/シリアライザ211B,211Cに供給される。
さらに、制御データとしては、1ビットの垂直同期信号(VSYNC)、1ビットの水平同期信号(HSYNC)、および、それぞれ1ビットの制御ビットCTL0,CTL1,CTL2,CTL3がある。垂直同期信号および水平同期信号は、エンコーダ/シリアライザ211Aに供給される。制御ビットCTL0,CTL1はエンコーダ/シリアライザ211Bに供給され、制御ビットCTL2,CTL3はエンコーダ/シリアライザ211Cに供給される。
エンコーダ/シリアライザ211Aは、そこに供給される画像データのB成分、垂直同期信号および水平同期信号、並びに補助データを、時分割で送信する。すなわち、エンコーダ/シリアライザ211Aは、そこに供給される画像データのB成分を、固定のビット数である8ビット単位のパラレルデータとする。さらに、エンコーダ/シリアライザ211Aは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#0で送信する。
また、エンコーダ/シリアライザ211Aは、そこに供給される垂直同期信号および水平同期信号の2ビットのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#0で送信する。さらに、エンコーダ/シリアライザ211Aは、そこに供給される補助データを4ビット単位のパラレルデータとする。そして、エンコーダ/シリアライザ211Aは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#0で送信する。
エンコーダ/シリアライザ211Bは、そこに供給される画像データのG成分、制御ビットCTL0,CTL1、並びに補助データを、時分割で送信する。すなわち、エンコーダ/シリアライザ211Bは、そこに供給される画像データのG成分を、固定のビット数である8ビット単位のパラレルデータとする。さらに、エンコーダ/シリアライザ211Bは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#1で送信する。
また、エンコーダ/シリアライザ211Bは、そこに供給される制御ビットCTL0,CTL1の2ビットのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#1で送信する。さらに、エンコーダ/シリアライザ211Bは、そこに供給される補助データを4ビット単位のパラレルデータとする。そして、エンコーダ/シリアライザ211Bは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#1で送信する。
エンコーダ/シリアライザ211Cは、そこに供給される画像データのR成分、制御ビットCTL2,CTL3、並びに補助データを、時分割で送信する。すなわち、エンコーダ/シリアライザ211Cは、そこに供給される画像データのR成分を、固定のビット数である8ビット単位のパラレルデータとする。さらに、エンコーダ/シリアライザ211Cは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#2で送信する。
また、エンコーダ/シリアライザ211Cは、そこに供給される制御ビットCTL2,CTL3の2ビットのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#2で送信する。さらに、エンコーダ/シリアライザ211Cは、そこに供給される補助データを4ビット単位のパラレルデータとする。そして、エンコーダ/シリアライザ211Cは、そのパラレルデータをエンコードし、シリアルデータに変換して、TMDSチャネル#2で送信する。
HDMIレシーバ212は、3つのTMDSチャネル#0,#1,#2にそれぞれ対応する3つのリカバリ/デコーダ212A,212B,212Cを有する。そして、リカバリ/デコーダ212A,212B,212Cのそれぞれは、TMDSチャネル#0,#1,#2で差動信号により送信されてくる画像データ、補助データ、制御データを受信する。さらに、リカバリ/デコーダ212A,212B,212Cのそれぞれは、画像データ、補助データ、制御データを、シリアルデータからパラレルデータに変換し、さらにデコードして出力する。
すなわち、リカバリ/デコーダ212Aは、TMDSチャネル#0で差動信号により送信されてくる画像データのB成分、垂直同期信号および水平同期信号、補助データを受信する。そして、リカバリ/デコーダ212Aは、その画像データのB成分、垂直同期信号および水平同期信号、補助データを、シリアルデータからパラレルデータに変換し、デコードして出力する。
リカバリ/デコーダ212Bは、TMDSチャネル#1で差動信号により送信されてくる画像データのG成分、制御ビットCTL0,CTL1、補助データを受信する。そして、リカバリ/デコーダ212Bは、その画像データのG成分、制御ビットCTL0,CTL1、補助データを、シリアルデータからパラレルデータに変換し、デコードして出力する。
リカバリ/デコーダ212Cは、TMDSチャネル#2で差動信号により送信されてくる画像データのR成分、制御ビットCTL2,CTL3、補助データを受信する。そして、リカバリ/デコーダ212Cは、その画像データのR成分、制御ビットCTL2,CTL3、補助データを、シリアルデータからパラレルデータに変換し、デコードして出力する。
図17は、HDMIの3つのTMDSチャネル#0,#1,#2で各種の伝送データが伝送される伝送区間(期間)の例を示している。なお、図17は、TMDSチャネル#0,#1,#2において、横×縦が720×480画素のプログレッシブの画像が伝送される場合の、各種の伝送データの区間を示している。
HDMIの3つのTMDSチャネル#0,#1,#2で伝送データが伝送されるビデオフィールド(Video Field)には、伝送データの種類に応じて、ビデオデータ区間(VideoData period)、データアイランド区間(Data Island period)、およびコントロール区間(Control period)の3種類の区間が存在する。
ここで、ビデオフィールド区間は、ある垂直同期信号の立ち上がりエッジ(active edge)から次の垂直同期信号の立ち上がりエッジまでの区間であり、水平ブランキング期間(horizontal blanking)、垂直ブランキング期間(verticalblanking)、並びに、ビデオフィールド区間から、水平ブランキング期間および垂直ブランキング期間を除いた区間であるアクティブビデオ区間(Active Video)に分けられる。
ビデオデータ区間は、アクティブビデオ区間に割り当てられる。このビデオデータ区間では、非圧縮の1画面分の画像データを構成する720画素×480ライン分の有効画素(Active pixel)のデータ、あるいは、それを圧縮処理して得られたデータが伝送される。
データアイランド区間およびコントロール区間は、水平ブランキング期間および垂直ブランキング期間に割り当てられる。このデータアイランド区間およびコントロール区間では、補助データ(Auxiliary data)が伝送される。
すなわち、データアイランド区間は、水平ブランキング期間と垂直ブランキング期間の一部分に割り当てられている。このデータアイランド区間では、補助データのうち、制御に関係しないデータである、例えば、音声データのパケット等が伝送される。
コントロール区間は、水平ブランキング期間と垂直ブランキング期間の他の部分に割り当てられている。このコントロール区間では、補助データのうちの、制御に関係するデータである、例えば、垂直同期信号および水平同期信号、制御パケット等が伝送される。
ここで、現行のHDMIでは、TMDSクロックチャネルで伝送されるピクセルクロックの周波数は、例えば165MHzであり、この場合、データアイランド区間の伝送レートは約500Mbps程度である。
図18は、HDMI端子101,201のピン配列を示している。このピン配列は、タイプA(type-A)の例である。
TMDSチャネル#iの差動信号であるTMDS Data#i+とTMDS Data#i−が伝送される差動線である2本のラインは、TMDS Data#i+が割り当てられているピン(ピン番号が1,4,7のピン)と、TMDS Data#i−が割り当てられているピン(ピン番号が3,6,9のピン)に接続される。
また、制御用のデータであるCEC信号が伝送されるCECライン214は、ピン番号が13であるピンに接続され、ピン番号が14のピンは空き(Reserved)ピンとなっている。また、E-EDID等のSDA(SerialData)信号が伝送されるラインは、ピン番号が16であるピンに接続され、SDA信号の送受信時の同期に用いられるクロック信号であるSCL(Serial Clock)信号が伝送されるラインは、ピン番号が15であるピンに接続される。上述のDDC213は、SDA信号が伝送されるラインおよびSCL信号が伝送されるラインにより構成される。
また、上述したようにソース機器がシンク機器の接続を検出するためのライン216は、ピン番号が19であるピンに接続される。また、上述したように電源を供給するためのライン217は、ピン番号が18であるピンに接続される。
次に、送信装置101と受信装置102の間で、画像データ(符号化データ)の伝送の前に行われるネゴシエーション処理の流れの例を図19のフローチャートを参照して説明する。
ネゴシエーション処理が開始されると、送信装置101の通信部114は、ステップS201において、所定のビットレートRでダミーデータ(符号化データ)を、伝送路103を介して受信装置102に送信する。受信装置102の通信部122は、ステップS211において、そのダミーデータを受信する。受信装置102の復号部124は、ステップS212において、そのダミーデータを復号する。ステップS213において、通信部122は、ダミーデータの復号結果、復号器の有無、解像度、ビットレート、および、遅延時間等の受信装置102に関する情報を含むネゴシエーション情報を、伝送路103を介して送信装置101に送信する。
ステップS202において、通信部114がそのネゴシエーション情報を受信すると、制御部111は、ステップS203において、受信装置102が、ダミーデータの受信に失敗したか否か(すなわち、ダミーデータの復号に失敗したか否か)を判定し、受信(復号)に成功したと判定した場合、処理をステップS204に進め、ビットレートRの設定をΔRインクリメントさせ、処理をステップS201に戻し、通信部114に新たなビットレートRで再度ダミーデータの送信を行わせる。
制御部111は、受信装置102がダミーデータの受信および復号に成功する限り、以上の処理を繰り返してビットレートRを大きくしていく。そして、ステップS203において、ネゴシエーション情報に基づいて、受信装置102がダミーデータの受信および復号に失敗したと判定した場合、制御部111は、処理をステップS205に進め、前回のビットレートR(受信装置102がダミーデータの受信および復号に成功したビットレートRの最大値)を最終ビットレートし、ネゴシエーション処理を終了する。
次に、以上のネゴシエーション処理を行った後に送信装置101が実行する送信処理の流れの例を図20のフローチャートを参照して説明する。なお、ここでは、送信装置101が画像データを符号化することにより生成した符号化データを受信装置102に伝送することを前提として説明する。もちろん、上述したように、符号化を行うか否かの制御を以下の処理に組み合わせるようにしてもよい。
送信処理が開始されると、制御部111は、ステップS231において、通信部114よりネゴシエーション情報を取得し、ステップS232において、そのネゴシエーション情報に含まれる受信装置102(復号部124)が処理可能な最大ビットレートの情報、または、上述したネゴシエーション処理の際に計測した計測結果である実際の最大ビットレートに基づいて符号化部113による符号化処理の目標ビットレートを設定する。例えば、制御部111は、実際に計測した最大ビットレートを優先的に目標ビットレートに設定するようにしてもよいし、受信装置102(復号部124)が処理可能な最大ビットレート、および、実際の最大ビットレートのうち、値の小さい方を目標ビットレートとして設定するようにしてもよい。
ステップS233において、制御部111は、ネゴシエーション情報に基づいて、符号化部113による符号化処理の解像度を設定する。上述したような符号化処理を行うことにより符号化データは周波数成分毎に並べられるので、符号化部113は、この解像度の設定に応じて、必要な部分を抽出し、伝送させるようにするだけで、容易に所望の解像度の符号化データを伝送させることができる。
さらに、ステップS234において、制御部111は、ネゴシエーション情報に基づいて、符号化部113による符号化処理の遅延時間を設定する。
各種設定が終了すると、符号化部113は、ステップS235において、上述した設定に基づいて画像データを符号化し、設定に応じた符号化データを生成する。通信部114は、この符号化データを、伝送路103を介して受信装置102に送信する。全てのデータの送信が終了すると、送信処理が終了される。
以上のようにネゴシエーション処理および送信処理を実行することにより、伝送システム100は、より多様な状況において、画像データを高品質かつ低遅延に伝送することができる。
なお、伝送させる画像データのフォーマットがYCbCr4:2:0フォーマットである場合、色差成分(C)の縦方向サイズが輝度成分(Y)の半分となる。符号化部113のウェーブレット変換部151が上述したようにウェーブレット変換を行うと、輝度成分(Y)と色差成分(C)の分解数は互いに同一となる。
このとき、上述したように色差成分(C)の縦方向サイズが輝度成分(Y)の半分であるため、例えば図21に示されるように、色差成分(C)のプレシンクト数が輝度成分(Y)のプレシンクト数と異なる恐れがある。図21のAは、輝度成分(Y)のプレシンクトの構成例を示しており、図21のBは、色差成分(C)のプレシンクトの構成例を示している。図21のAのY−P0乃至Y−P10は、それぞれ、輝度成分(Y)のプレシンクトを示しており、図21のBのC−P0乃至C−P5は、それぞれ、色差成分(C)のプレシンクトを示している。図21のAおよび図21のBのそれぞれの左右の数字はライン数を示している。
図21のAの例においては、輝度成分(Y)のプレシンクト数は「11」であるが、これに対応する色差成分(C)のプレシンクト数は、図21のBに示されるように「5」である。つまり、輝度成分(Y)と色差成分(C)の同番号のプレシンクトの対応する画像の位置が互いに異なってしまう恐れがある。このように、輝度成分(Y)と色差成分(C)とで同番号のプレシンクトに対応する画像の位置が互いに異なると、プレシンクトベースの低遅延レート制御が困難になる恐れがある。レート制御するためには、輝度成分(Y)と色差成分(C)とで、互いに同じ画像の位置のプレシンクトがどれなのかを判断しなければならない。
そこで、このように、伝送させる画像データのフォーマットがYCbCr4:2:0フォーマットで、色差成分(C)の縦方向サイズが輝度成分(Y)の半分である場合、符号化部113(ウェーブレット変換部151)が、色差成分(C)のウェーブレット変換における分解数を輝度成分(Y)の分解数より1つ小さくするようにしてもよい。
図22は、色差成分(C)のウェーブレット変換における分解数が、輝度成分(Y)の分解数より1つ小さい場合の、各成分のプレシンクトの構成例を示す模式図である。図22のAが輝度成分(Y)のプレシンクトの構成例を示し、図22のBが色差成分(C)のプレシンクトの構成例を示している。図22のAのY−P0乃至Y−P10は、それぞれ、輝度成分(Y)のプレシンクトを示しており、図22のBのC−P0乃至C−P10は、それぞれ、色差成分(C)のプレシンクトを示している。図22のAおよび図22のBのそれぞれの左右の数字はライン数を示している。
図22に示されるように、このようにウェーブレット変換を行うことにより、輝度成分(Y)の1プレシンクトのライン数は16(画像の上下端を除く)であるが、色差成分(C)の1プレシンクトのライン数は8(画像の上下端を除く)となり、色差成分(C)と輝度成分(Y)とでプレシンクト数が互いに略一致する。これにより、輝度成分(Y)と色差成分(C)の同番号のプレシンクトの対応する画像の位置が略一致するようになるので、各プレシンクトにおいて、輝度成分(Y)と色差成分(C)の画像の違いが図21の場合よりも小さくなるので、符号化部113は、プレシンクト単位の低遅延レート制御をより容易に行うことができる。
このような場合の符号化処理の流れの例を図23のフローチャートを参照して説明する。
符号化処理が開始されると、ステップS301において、符号化部113のウェーブレット変換部151は、符号化する画像データのフォーマットが4:2:0フォーマットであるか否かを判定し、4:2:0フォーマットであると判定した場合、ステップS302に処理を進め、色差成分(C)の分解数の設定を輝度成分(Y)の分解数の設定より1つ小さくする。ステップS302の処理を終了すると、ウェーブレット変換部151は、処理をステップS303に進める。また、ステップS301において、符号化する画像データのフォーマットが4:2:0フォーマットでないと判定した場合、ウェーブレット変換部151は、ステップS302の処理を省略し、ステップS302に処理を進める。
ステップS303乃至ステップS311の各処理は、図9のステップS121乃至ステップS129の各処理と同様に実行される。すなわち、ウェーブレット変換部151は、分解数が異なる以外は、輝度成分(Y)に対しても色差成分(C)に対しても基本的に互いに同様に処理を行う。
以上のように、符号化部113は、符号化する画像データのフォーマットが4:2:0フォーマットである場合であっても、容易にレート制御を行うことができる。これにより、伝送システム100は、より多様な状況において、画像データを高品質かつ低遅延に伝送することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ、または、複数の装置よりなる情報処理システムの情報処理装置などに、プログラム記録媒体からインストールされる。
図24は、上述した一連の処理をプログラムにより実行する情報処理システムの構成の例を示すブロック図である。
図24に示されるように、情報処理システム300は、情報処理装置301、その情報処理装置301とPCIバス302によって接続された、記憶装置303、複数台のビデオテープレコーダ(VTR)であるVTR304-1乃至VTR304-S、ユーザがこれらに対する操作入力を行うためのマウス305、キーボード306、並びに操作コントローラ307により構成されるシステムであり、インストールされたプログラムによって、上述したような画像符号化処理や画像復号処理等を行うシステムである。
例えば情報処理システム300の情報処理装置301は、RAID(Redundant Arrays of Independent Disks)でなる大容量の記憶装置303に記憶されている動画コンテンツを符号化して得られた符号化データを記憶装置303に記憶させたり、記憶装置303に記憶されている符号化データを復号して得られた復号画像データ(動画コンテンツ)を記憶装置303に記憶させたり、符号化データや復号画像データをVTR304-1乃至VTR304-Sを介してビデオテープに記録したりすることができる。また、情報処理装置301は、VTR304-1乃至VTR304-Sに装着されたビデオテープに記録された動画コンテンツを記憶装置303に取り込み得るようにもなされている。その際、情報処理装置301が、動画コンテンツを符号化するようにしてもよい。
情報処理装置301は、マイクロプロセッサ401、GPU(Graphics Processing Unit)402、XDR(Extreme Data Rate)-RAM403、サウスブリッジ404、HDD(Hard Disk Drive)405、USBインタフェース(USB I/F)406、およびサウンド入出力コーデック407を有している。
GPU402は専用のバス411を介してマイクロプロセッサ401に接続される。XDR-RAM403は専用のバス412を介してマイクロプロセッサ401に接続される。サウスブリッジ404は、専用のバスを介してマイクロプロセッサ401のI/Oコントローラ444に接続される。このサウスブリッジ404には、HDD405、USBインタフェース406、および、サウンド入出力コーデック407も接続されている。このサウンド入出力コーデック407にはスピーカ421が接続されている。また、GPU402にはディスプレイ422が接続されている。
またサウスブリッジ404には、さらに、PCIバス302を介して、マウス305、キーボード306、VTR304-1乃至VTR304-S、記憶装置303、並びに、操作コントローラ307が接続されている。
マウス305およびキーボード306は、ユーザの操作入力を受け、PCIバス302およびサウスブリッジ404を介して、ユーザの操作入力の内容を示す信号を、マイクロプロセッサ401に供給する。記憶装置303およびVTR304-1乃至VTR304-Sは、所定のデータを記録または再生できるようになされている。
PCIバス302にはさらに、必要に応じてドライブ308が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア311が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じてHDD405にインストールされる。
マイクロプロセッサ401は、OS(Operating System)等の基本プログラムを実行する汎用のメインCPUコア441と、メインCPUコア441に内部バス445を介して接続された複数(この場合8個)のRISC(Reduced Instruction Set Computer)タイプの信号処理プロセッサである、サブCPUコア442-1乃至サブCPUコア442-8と、例えば256[MByte]の容量を持つXDR-RAM403に対するメモリコントロールを行うメモリコントローラ443と、サウスブリッジ404との間でデータの入出力を管理するI/O(In/Out)コントローラ444とが1チップに集積されたマルチコア構成でなり、例えば動作周波数4[GHz]を実現している。
このマイクロプロセッサ401は、起動時、HDD405に格納された制御プログラムに基づき、HDD405に格納されている必要なアプリケーションプログラムを読み出してXDR-RAM403に展開し、この後このアプリケーションプログラム及びオペレータ操作に基づいて必要な制御処理を実行する。
また、マイクロプロセッサ401は、ソフトウェアを実行することにより、例えば、上述した符号化処理や復号処理を実現し、エンコードの結果得られた符号化ストリームを、サウスブリッジ404を介して、HDD405に供給して記憶させたり、デコードした結果得られる動画像コンテンツの再生映像を、GPU402へデータ転送して、ディスプレイ422に表示させたりすることができる。
マイクロプロセッサ401内の各CPUコアの使用方法は任意であるが、例えば、メインCPUコア441が、画像符号化処理や画像復号処理の制御に関する処理を行い、8個のサブCPUコア442-1乃至サブCPUコア442-8に、ウェーブレット変換、係数並び替え、エントロピ符号化、エントロピ復号、ウェーブレット逆変換、量子化、および逆量子化等の各処理を、例えば図11を参照して説明したように同時並列的に実行させるようにしてもよい。その際、メインCPUコア441が、8個のサブCPUコア442-1乃至サブCPUコア442-8のそれぞれに対してプレシンクト単位で処理を割り振るようにすれば、符号化処理や復号処理が、上述したようにプレシンクト単位で同時並列的に実行される。つまり、符号化処理や復号処理の効率を向上させ、処理全体の遅延時間を短縮させ、さらに、負荷、処理時間、および、処理に必要なメモリ容量を低減させることができる。もちろん、これ以外の方法で各処理を行うようにしてもよい。
例えば、マイクロプロセッサ401の8個のサブCPUコア442-1乃至サブCPUコア442-8のうちの一部がエンコード処理を、他の部分がデコード処理を、同時並列的に実行するようにすることも可能である。
また、例えば、PCIバス302に、独立したエンコーダまたはデコーダ、もしくは、コーデック処理装置が接続されている場合、マイクロプロセッサ401の8個のサブCPUコア442-1乃至サブCPUコア442-8が、サウスブリッジ404およびPCIバス302を介して、これらの装置が実行する処理を制御するようにしてもよい。さらに、これらの装置が複数接続されている場合、または、これらの装置が複数のデコーダまたはエンコーダを含んでいる場合、マイクロプロセッサ401の8個のサブCPUコア442-1乃至サブCPUコア442-8は、複数のデコーダまたはエンコーダが実行する処理を、分担して制御するようにしてもよい。
このときメインCPUコア441は、8個のサブCPUコア442-1乃至サブCPUコア442-8の動作を管理し、各サブCPUコアに対して処理を割り当てたり、処理結果を引き取ったりする。さらに、メインCPUコア441は、これらのサブCPUコアが行う以外の処理も行う。例えば、メインCPUコア441は、サウスブリッジ404を介してマウス305、キーボード306、または、操作コントローラ307から供給された命令を受け付け、命令に応じた種々の処理を実行する。
GPU402は、ディスプレイ422に表示する動画コンテンツの再生映像を動かすときのテクスチャの張り込みなどに関する最終的なレンダリング処理に加えて、動画コンテンツの再生映像及び静止画コンテンツの静止画像をディスプレイ422に一度に複数表示するときの座標変換計算処理や、動画コンテンツの再生映像及び静止画コンテンツの静止画像に対する拡大・縮小処理等を行う機能を司り、マイクロプロセッサ401の処理負担を軽減させるようになされている。
GPU402は、マイクロプロセッサ401の制御のもとに、供給された動画コンテンツの映像データや静止画コンテンツの画像データに対して所定の信号処理を施し、その結果得られた映像データや画像データをディスプレイ422へ送出して、画像信号をディスプレイ422へ表示させる。
例えば、マイクロプロセッサ401における8個のサブCPUコア442-1乃至サブCPUコア442-8で同時並列的にデコードされた複数の動画コンテンツにおける再生映像は、バス411を介してGPU402へデータ転送されるが、このときの転送速度は、例えば、最大30[Gbyte/sec]であり、特殊効果の施された複雑な再生映像であっても高速かつ滑らかに表示し得るようになされている。
また、マイクロプロセッサ401は、動画コンテンツの映像データ及び音声データのうち音声データに対して音声ミキシング処理を施し、その結果得られた編集音声データを、サウスブリッジ404およびサウンド入出力コーデック407を介して、スピーカ421へ送出することにより、音声信号に基づく音声をスピーカ421から出力させることもできる。
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図24に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM,DVDを含む)、光磁気ディスク(MDを含む)、もしくは半導体メモリなどよりなるリムーバブルメディア311により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているHDD405や記憶装置303等で構成される。もちろん、記録媒体は、ROMやフラッシュメモリ等の半導体メモリであってもよい。
以上においては、マイクロプロセッサ401内に8個のサブCPUコアが構成されるように説明したが、これに限らず、サブCPUコアの数は任意である。また、マイクロプロセッサ401が、メインCPUコアとサブCPUコアのような複数のコアにより構成されていなくてもよく、シングルコア(1つのコア)により構成されるCPUを用いるようにしてもよい。また、マイクロプロセッサ401の代わりに複数のCPUを用いるようにしてもよいし、複数の情報処理装置を用いる(すなわち、本発明の処理を実行するプログラムを、互いに連携して動作する複数の装置において実行する)ようにしてもよい。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。
100 伝送システム, 101 送信装置, 102 受信装置, 103 伝送路, 111 制御部, 112 切替部, 113 符号化部, 114 通信部, 121 制御部, 122 通信部, 123 切替部, 124 復号部, 125 切替部, 151 ウェーブレット変換部, 152 途中計算用バッファ部, 153 係数並び替え用バッファ部, 154 係数並び替え部, 155 エントロピ符号化部, 161 エントロピ復号部, 162 係数バッファ部, 163 ウェーブレット逆変換部, 211 HDMIトランスミッタ, 212 HDMIレシーバ, 213 DDC, 214 CEC