(57)【特許請求の範囲】
【請求項１】
符号化される画像データの処理対象であるカレント係数データの符号化に用いる符号化テーブルを、前記カレント係数データの周辺の係数データの符号化に用いられた複数の符号化テーブルに基づいて設定する設定部と、
前記設定部により設定された符号化テーブルを用いて、前記カレント係数データを符号化する符号化部と
を備える画像処理装置。
【請求項２】
前記設定部は、前記複数の符号化テーブルとして、前記カレント係数データの右に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの下に隣接する係数データの符号化に用いられた符号化テーブルとに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定する
請求項１に記載の画像処理装置。
【請求項３】
前記設定部は、前記複数の符号化テーブルとして、前記カレント係数データの右に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの下に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの右下に隣接する係数データの符号化に用いられた符号化テーブルとに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定する
請求項１に記載の画像処理装置。
【請求項４】
前記設定部は、前記複数の符号化テーブルとして、前記カレント係数データの右上に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの左下に隣接する係数データの符号化に用いられた符号化テーブルとに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定する
請求項１に記載の画像処理装置。
【請求項５】
前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが単数の場合、前記符号化テーブルを、前記カレント係数データの符号化に用いる符号化テーブルとして設定する
請求項１に記載の画像処理装置。
【請求項６】
前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが複数の場合、複数の前記符号化テーブルのテーブル番号の平均値をテーブル番号とする符号化テーブルを、前記カレント係数データの符号化に用いる符号化テーブルとして設定する
請求項１に記載の画像処理装置。
【請求項７】
前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが複数の場合、複数の前記符号化テーブルのテーブル番号の中央値をテーブル番号とする符号化テーブルを、前記カレント係数データの符号化に用いる符号化テーブルとして設定する
請求項１に記載の画像処理装置。
【請求項８】
前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが複数の場合、複数の前記符号化テーブルのいずれかを、前記カレント係数データの符号化に用いる符号化テーブルとして設定する
請求項１に記載の画像処理装置。
【請求項９】
前記設定部は、前記カレント係数データが、前記画像データの符号化単位における先頭の係数データである場合、前記カレント係数データの符号化に用いる符号化テーブルを、前記複数の符号化テーブルに基づいて設定する
請求項１に記載の画像処理装置。
【請求項１０】
前記設定部は、全ての係数データについて、前記カレント係数データの符号化に用いる符号化テーブルを、前記複数の符号化テーブルに基づいて設定する
請求項１に記載の画像処理装置。
【請求項１１】
前記設定部は、前記複数の符号化テーブルとして、前記カレント係数データに隣接し、かつ、前記カレント係数データの符号化単位と異なる符号化単位に属する係数データの符号化に用いられた符号化テーブルに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定する
請求項１０に記載の画像処理装置。
【請求項１２】
符号化される画像データの処理対象であるカレント係数データの符号化に用いる符号化テーブルを、前記カレント係数データの周辺の係数データの符号化に用いられた複数の符号化テーブルに基づいて設定し、
設定された符号化テーブルを用いて、前記カレント係数データを符号化する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関し、特に、符号化効率の低減を抑制することができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、MPEG-4 Part10 （Advanced Video Coding、以下AVCと記す）より更なる符号化効率の向上を目的として、ITU-T（International Telecommunication Union Telecommunication Standardization Sector）と、ISO/IEC（International Organization for Standardization / International Electrotechnical Commission）の共同の標準化団体であるJCTVC（Joint Collaboration Team - Video Coding）により、HEVC（High Efficiency Video Coding）と呼ばれる符号化方式の標準化が進められている。
【０００３】
また、HEVCにおいて、4:2:2や4:4:4といった色差信号フォーマットの画像や、スクリーンコンテンツ用のプロファイル等、例えばハイエンド向けのフォーマットをサポートするようにレンジエクステンションの検討が行われている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Jill Boyce, Jianle Chen, Ying Chen, David Flynn, Miska M. Hannuksela, Matteo Naccari, Chris Rosewarne, Karl Sharman, Joel Sole, Gary J. Sullivan, Teruhiko Suzuki, Gerhard Tech, Ye-Kui Wang, Krzysztof Wegner, Yan Ye, "Draft high efficiency video coding (HEVC) version 2, combined format range extensions (RExt), scalability (SHVC), and multi-view (MV-HEVC) extensions", JCTVC-R1013_v6, 2014.10.1
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、このHEVCでは、coeff_abs_level_remainingと言う、係数情報データのシンタクス処理にTR（Truncated Rice）符号(可変長符号)が用いられている。このTR符号においては、５つの符号化テーブルが予め用意され、各係数データを符号化する際に、使用する符号化テーブルを随時、更新していく。さらに、追加されたレンジエクステンションのプロファイルでは、２１の符号化テーブルを用意することもできる。
【０００６】
しかしながら、各係数データの符号化に用いられる符号化テーブルの更新は、符号化単位である所定のサイズ（例えば16x16）の符号化サブブロック（coded_sub_block）毎に初期化されるため、係数データに適していない符号化テーブルが選択されるおそれがあり、符号化効率が低減するおそれがあった。
【０００７】
なお、追加されたレンジエクステンションのプロファイルでは、符号化サブブロック（coded_sub_block）の先頭の係数データの符号化に用いる符号化テーブルを、他の符号化サブブロックの先頭の係数データに用いられた符号化テーブルに基づいて設定することができる。しかしながら、この場合も、各符号化サブブロックの先頭の係数データの値が、互いに一致若しくは近似するとは限らない。そのため、係数データに適していない符号化テーブルが選択されるおそれがあり、符号化効率が低減するおそれがあった。
【０００８】
本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
【課題を解決するための手段】
【０００９】
本技術の一側面は、符号化される画像データの処理対象であるカレント係数データの符号化に用いる符号化テーブルを、前記カレント係数データの周辺の係数データの符号化に用いられた複数の符号化テーブルに基づいて設定する設定部と、前記設定部により設定された符号化テーブルを用いて、前記カレント係数データを符号化する符号化部とを備える画像処理装置である。
【００１０】
前記設定部は、前記複数の符号化テーブルとして、前記カレント係数データの右に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの下に隣接する係数データの符号化に用いられた符号化テーブルとに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定することができる。
【００１１】
前記設定部は、前記複数の符号化テーブルとして、前記カレント係数データの右に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの下に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの右下に隣接する係数データの符号化に用いられた符号化テーブルとに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定することができる。
【００１２】
前記設定部は、前記複数の符号化テーブルとして、前記カレント係数データの右上に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの左下に隣接する係数データの符号化に用いられた符号化テーブルとに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定することができる。
【００１３】
前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが単数の場合、前記符号化テーブルを、前記カレント係数データの符号化に用いる符号化テーブルとして設定することができる。
【００１４】
前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが複数の場合、複数の前記符号化テーブルのテーブル番号の平均値をテーブル番号とする符号化テーブルを、前記カレント係数データの符号化に用いる符号化テーブルとして設定することができる。
【００１５】
前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが複数の場合、複数の前記符号化テーブルのテーブル番号の中央値をテーブル番号とする符号化テーブルを、前記カレント係数データの符号化に用いる符号化テーブルとして設定することができる。
【００１６】
前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが複数の場合、複数の前記符号化テーブルのいずれかを、前記カレント係数データの符号化に用いる符号化テーブルとして設定することができる。
【００１７】
前記設定部は、前記カレント係数データが、前記画像データの符号化単位における先頭の係数データである場合、前記カレント係数データの符号化に用いる符号化テーブルを、前記複数の符号化テーブルに基づいて設定することができる。
【００１８】
前記設定部は、全ての係数データについて、前記カレント係数データの符号化に用いる符号化テーブルを、前記複数の符号化テーブルに基づいて設定することができる。
【００１９】
前記設定部は、前記複数の符号化テーブルとして、前記カレント係数データに隣接し、かつ、前記カレント係数データの符号化単位と異なる符号化単位に属する係数データの符号化に用いられた符号化テーブルに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定することができる。
【００２０】
本技術の一側面は、また、符号化される画像データの処理対象であるカレント係数データの符号化に用いる符号化テーブルを、前記カレント係数データの周辺の係数データの符号化に用いられた複数の符号化テーブルに基づいて設定し、設定された符号化テーブルを用いて、前記カレント係数データを符号化する画像処理方法である。
【００２１】
本技術の一側面においては、符号化される画像データの処理対象であるカレント係数データの符号化に用いる符号化テーブルが、カレント係数データの周辺の係数データの符号化に用いられた複数の符号化テーブルに基づいて設定され、設定された符号化テーブルが用いられて、カレント係数データが符号化される。
【発明の効果】
【００２２】
本開示によれば、画像データを符号化することができる。特に、符号化効率の低減を抑制することができる。
【図面の簡単な説明】
【００２３】
【図１】符号化テーブルの例を説明する図である。
【図２】符号化テーブルの例を説明する図である。
【図３】符号化テーブルの例を説明する図である。
【図４】符号化テーブルの設定の様子の例を示すフローチャートである。
【図５】符号化テーブルの設定の様子の例を示すフローチャートである。
【図６】符号化テーブルの設定の様子の例を示す図である。
【図７】コーディングユニットの構成例を説明する図である。
【図８】画像符号化装置の主な構成例を示すブロック図である。
【図９】可逆符号化部の主な構成例を示すブロック図である。
【図１０】テーブル選択部の主な構成例を示すブロック図である。
【図１１】符号化テーブルの設定の様子の例を示す図である。
【図１２】符号化テーブルの設定の様子の例を示す図である。
【図１３】符号化処理の流れの例を説明するフローチャートである。
【図１４】TR符号化処理の流れの例を説明するフローチャートである。
【図１５】符号化テーブル選択処理の流れの例を説明するフローチャートである。
【図１６】符号化テーブルの設定の様子の他の例を示す図である。
【図１７】符号化テーブル選択処理の流れの他の例を説明するフローチャートである。
【図１８】符号化テーブルの設定の様子のさらに他の例を示す図である。
【図１９】テーブル選択部の主な構成例を示すブロック図である。
【図２０】符号化テーブルの設定の様子のさらに他の例を示す図である。
【図２１】符号化テーブル選択処理の流れの他の例を説明するフローチャートである。
【図２２】符号化テーブル選択処理の流れの他の例を説明する、図２１に続くフローチャートである。
【図２３】多視点画像符号化方式の例を示す図である。
【図２４】本技術を適用した多視点画像符号化装置の主な構成例を示す図である。
【図２５】本技術を適用した多視点画像復号装置の主な構成例を示す図である。
【図２６】階層画像符号化方式の例を示す図である。
【図２７】本技術を適用した階層画像符号化装置の主な構成例を示す図である。
【図２８】本技術を適用した階層画像復号装置の主な構成例を示す図である。
【図２９】コンピュータの主な構成例を示すブロック図である。
【図３０】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図３１】携帯電話機の概略的な構成の一例を示すブロック図である。
【図３２】記録再生装置の概略的な構成の一例を示すブロック図である。
【図３３】撮像装置の概略的な構成の一例を示すブロック図である。
【図３４】ビデオセットの概略的な構成の一例を示すブロック図である。
【図３５】ビデオプロセッサの概略的な構成の一例を示すブロック図である。
【図３６】ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像符号化装置）
２．第２の実施の形態（画像符号化装置）
３．第３の実施の形態（多視点画像符号化装置・多視点画像復号装置）
４．第４の実施の形態（階層画像符号化装置・階層画像復号装置）
５．第５の実施の形態（コンピュータ）
６．第６の実施の形態（応用例）
７．第７の実施の形態（セット・ユニット・モジュール・プロセッサ）
【００２５】
＜１．第１の実施の形態＞
＜画像符号化の標準化の流れ＞
近年、MPEG-4 Part10 （Advanced Video Coding、以下AVCと記す）より更なる符号化効率の向上を目的として、ITU-T（International Telecommunication Union Telecommunication Standardization Sector）と、ISO/IEC（International Organization for Standardization / International Electrotechnical Commission）の共同の標準化団体であるJCTVC（Joint Collaboration Team - Video Coding）により、HEVC（High Efficiency Video Coding）と呼ばれる符号化方式の標準化が進められている。
【００２６】
また、HEVCにおいて、4:2:2や4:4:4といった色差信号フォーマットの画像や、スクリーンコンテンツ用のプロファイル等、例えばハイエンド向けのフォーマットをサポートするようにレンジエクステンションの検討が行われている（例えば、非特許文献１参照）。
【００２７】
＜TR符号化＞
ところで、このHEVCでは、coeff_abs_level_remainingと言う、係数情報データのシンタクス処理にTR（Truncated Rice）符号(可変長符号)が用いられている。このTR符号においては、５つの符号化テーブルが予め用意され、各係数データを符号化する際に、使用する符号化テーブルを随時、更新していく。
【００２８】
図１乃至図３にその５つの符号化テーブルの例（Table0乃至Table4）を示す。図１乃至図３に示されるように、同一の係数データを符号化して得られる符号化データの値やデータ長は基本的に符号化テーブル毎に異なるので、符号化効率の低減を抑制するために、係数データの値に適した符号化テーブルを選択することが望ましい。
【００２９】
さらに、追加されたレンジエクステンションのプロファイルでは、２１の符号化テーブルを用意することができ、同一の係数データを符号化して得られる符号化データの値やデータ長は、さらに多様化する。したがって、符号化効率の低減を抑制するために、係数データの値に対して、より適した符号化テーブルを選択することが求められる。
【００３０】
しかしながら、各係数データの符号化に用いられる符号化テーブルの更新は、図４のフローチャートのステップＳ１乃至ステップＳ５の各処理に示されるように、符号化単位である所定のサイズ（例えば16x16）の符号化サブブロック（coded_sub_block）毎に初期化されるため、係数データに適していない符号化テーブルが選択されるおそれがあり、そのことにより符号化効率が低減するおそれがあった。
【００３１】
なお、追加されたレンジエクステンションのプロファイルでは、図５のフローチャートのステップＳ１１乃至ステップＳ１８の各処理に示されるように、符号化サブブロック（coded_sub_block）の先頭の係数データの符号化に用いる符号化テーブルを、他の符号化サブブロックの先頭の係数データに用いられた符号化テーブルに基づいて設定することができる。しかしながら、この場合も、各符号化サブブロックの先頭の係数データの値が、互いに一致若しくは近似するとは限らない。そのため、係数データに適していない符号化テーブルが選択されるおそれがあり、符号化効率が低減するおそれがあった。
【００３２】
図６を参照してより詳細に説明する。図６に示されるTU（Transform Unit）１０は、符号化される画像データにおける直交変換の処理単位となる領域（ピクチャ単位の画像の部分領域）である。この例では、TU１０は、8x8（縦８個×横８個）の係数データにより構成される。TU１０には、4x4（縦４個×横４個）の係数データにより構成される符号化サブブロック（coded_sub_block）が４個（符号化サブブロック１１乃至符号化サブブロック１４）が形成されている。つまり、図６において、小さな正方形は係数データを示す。また、各係数データの四角内に示される数字は、その係数データに割り当てられた（その係数データの符号化に用いられる）符号化テーブルのテーブル番号を示している。
【００３３】
図６Ａは、図４のフローチャートに示される方法により符号化テーブルを選択した場合の例を示している。この場合、まず最初に、符号化に用いる符号化テーブルのテーブル番号が「０」に設定される（初期化cRiceParam=0）。次に、処理された係数値を使って、条件式（cLastAbsLevel>(3*(1<<cLastRiceParam))）に基づいて、次の係数データの符号化に用いる符号化テーブルのテーブル番号を、現在の処理対象の係数データ（カレント係数データ）の符号化に用いる符号化テーブルのテーブル番号に＋１したものとするか、カレント係数データの符号化に用いる符号化テーブルと同じものとするかが選択される。これを繰りかえすことで、処理する係数値に適した符号化テーブルを選択し、符号化効率を向上させる。
【００３４】
しかしながら、この方法の場合、図６Ａに示されるように、各符号化サブブロックの先頭の係数データ（最初に処理される係数データ）である符号化サブブロックの右下の係数データには、テーブル番号０の符号化テーブル（Table0）が割り当てられることになる。
【００３５】
一般的に、TU１０の係数データの値は、右下から左上に向かって大きくなっていく。そのため、このような方法では、係数データに適していない符号化テーブルが選択されるおそれがあり、符号化効率が低減するおそれがあった。
【００３６】
図６Ｂは、図５のフローチャートに示される方法により符号化テーブルを選択した場合の例を示している。この場合、まず最初に、StatCoeff[0]=0, StatCoeff[1]=0, StatCoeff[2]=0, StatCoeff[3]=0に初期化する。次に、符号化サブブロックの開始時に、transform_skip_flag, 及びcu_transquant_byppass_flagの値によって、sbTypeの値が「0」乃至「3」のいずれかに設定される。StatCoeff[sBtype]/4で算出された値を、Table番号(cRiceParam=StatCoeff[sbType]/4)とする。次に、符号化サブブロック（coded_sub_block）の最初に処理された係数値の値から、次の符号化サブブロック（coded_sub_block）の処理に使われる、符号化テーブルのテーブル番号が求められる（ステップＳ１５の条件式A）。
【００３７】
次に、処理された係数値を使って、条件式（cLastAbsLevel>(3*(1<<cLastRiceParam）)）に基づいて、次の係数データの符号化に用いる符号化テーブルのテーブル番号を、現在の処理対象の係数データ（カレント係数データ）の符号化に用いる符号化テーブルのテーブル番号に＋１したものとするか、カレント係数データの符号化に用いる符号化テーブルと同じものとするかが選択される。これを繰りかえすことで、処理する係数値に適した符号化テーブルを選択し、符号化効率を向上させる。この方式の場合、図４の例の方式に比べて、初期値に、テーブル番号「0」以外の符号化テーブルも選択することができ、符号化効率を向上させることができる。
【００３８】
しかしながら、この方法の場合、符号化サブブロックの先頭の係数データには、他の符号化サブブロックの先頭の係数データに割り当てられた符号化テーブルのテーブル番号に基づいて設定されるテーブル番号の符号化テーブルが割り当てられることになる。そのため、この場合も、図６Ｂに示されるように、符号化サブブロック１４の先頭の係数データ割り当てられた符号化テーブルのテーブル番号が、符号化サブブロック１１乃至符号化サブブロック１３の係数データに割り当てられた符号化テーブルのテーブル番号よりも小さくなるおそれがあり、符号化効率が低減するおそれがあった。
【００３９】
＜符号化テーブルの割り当て＞
そこで、符号化される画像データの処理対象であるカレント係数データの符号化に用いる符号化テーブルを、そのカレント係数データの周辺の係数データの符号化に用いられた符号化テーブルに基づいて設定し、設定された符号化テーブルを用いて、カレント係数データを符号化するようにする。
【００４０】
例えば、画像処理装置において、符号化される画像データの処理対象であるカレント係数データの符号化に用いる符号化テーブルを、そのカレント係数データの周辺の係数データの符号化に用いられた符号化テーブルに基づいて設定する設定部と、その設定部により設定された符号化テーブルを用いて、カレント係数データを符号化する符号化部とを備えるようにする。
【００４１】
このようにすることにより、カレント係数データにより適した符号化テーブルを割り当てることができ、符号化効率の低減を抑制することができる。
【００４２】
なお、周辺の係数データの符号化に用いられた符号化テーブルとして、カレント係数データの右に隣接する係数データの符号化に用いられた符号化テーブルと、カレント係数データの下に隣接する係数データの符号化に用いられた符号化テーブルとを用いるようにしてもよい。そしてこれらの符号化テーブルに基づいて、カレント係数データの符号化に用いる符号化テーブルを設定するようにしてもよい。
【００４３】
また、利用可能な周辺の係数データの符号化に用いられた符号化テーブルが単数の場合、その符号化テーブルを、カレント係数データの符号化に用いる符号化テーブルとして設定するようにしてもよい。
【００４４】
また、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが複数の場合、複数の符号化テーブルのテーブル番号の平均値をテーブル番号とする符号化テーブルを、カレント係数データの符号化に用いる符号化テーブルとして設定するようにしてもよい。
【００４５】
また、カレント係数データが、画像データの符号化単位における先頭の係数データである場合、カレント係数データの符号化に用いる符号化テーブルを、周辺の係数データの符号化に用いられた符号化テーブルに基づいて設定するようにしてもよい。
【００４６】
＜符号化方式＞
以下においては、HEVC（High Efficiency Video Coding）方式の画像符号化・復号に適用する場合を例に、本技術を説明する。
【００４７】
＜コーディングユニット＞
AVC（Advanced Video Coding）方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されている。しかしながら、16x16画素のマクロブロックでは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；４０００画素x２０００画素）といった大きな画枠に対して最適ではない。
【００４８】
これに対して、HEVC方式においては、図７に示されるように、コーディングユニット（CU（Coding Unit））が規定されている。
【００４９】
CUは、Coding Tree Block（CTB）とも呼ばれ、AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16x16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
【００５０】
例えば、出力となる符号化データに含まれるシーケンスパラメータセット（SPS（Sequence Parameter Set））において、CUの最大サイズ（LCU（Largest Coding Unit））と最小サイズ（（SCU（Smallest Coding Unit））が規定される。
【００５１】
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図７の例では、LCUの大きさが１２８であり、最大階層深度が５となる。2Nx2Nの大きさのCUは、split_flagの値が「１」である時、１つ下の階層となる、NxNの大きさのCUに分割される。
【００５２】
更に、CUは、イントラ若しくはインター予測の処理単位となる領域（ピクチャ単位の画像の部分領域）であるプレディクションユニット（Prediction Unit（PU））に分割され、また、直交変換の処理単位となる領域（ピクチャ単位の画像の部分領域）である、トランスフォームユニット（Transform Unit（TU））に分割される。現在、HEVC方式においては、4x4及び8x8に加え、16x16及び32x32直交変換を用いることが可能である。
【００５３】
以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVC方式におけるマクロブロックはLCUに相当し、ブロック（サブブロック）はCUに相当すると考えることができる。また、AVC方式における動き補償ブロックは、PUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば128x128画素のように、AVC方式のマクロブロックより大きく設定されることが一般的である。
【００５４】
よって、以下、LCUは、AVC方式におけるマクロブロックをも含むものとし、CUは、AVC方式におけるブロック（サブブロック）をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域（処理単位）が含まれる。もちろん、これら以外の部分領域（処理単位）も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
【００５５】
また、本明細書において、CTU（Coding Tree Unit）は、LCU(最大数のCU)のCTB（Coding Tree Block）と、そのLCUベース（レベル）で処理するときのパラメータを含む単位であるとする。また、CTUを構成するCU（Coding Unit）は、CB(Coding Block)と、そのCUベース（レベル）で処理するときのパラメータを含む単位であるとする。
【００５６】
＜画像符号化装置＞
図８は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図８に示される画像符号化装置１００は、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像の画像データを符号化する。
【００５７】
図８に示されるように画像符号化装置１００は、画面並べ替えバッファ１１１、演算部１１２、直交変換部１１３、量子化部１１４、可逆符号化部１１５、蓄積バッファ１１６、逆量子化部１１７、および逆直交変換部１１８を有する。また、画像符号化装置１００は、演算部１１９、ループフィルタ１２０、フレームメモリ１２１、イントラ予測部１２２、インター予測部１２３、予測画像選択部１２４、およびレート制御部１２５を有する。
【００５８】
画面並べ替えバッファ１１１は、入力された画像データの各フレームの画像をその表示順に記憶し、記憶した表示の順番のフレームの画像を、GOP（Group Of Picture）に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部１１２に供給する。また、画面並べ替えバッファ１１１は、フレームの順番を並び替えた画像を、イントラ予測部１２２およびインター予測部１２３にも供給する。
【００５９】
演算部１１２は、画面並べ替えバッファ１１１から読み出された画像から、予測画像選択部１２４を介してイントラ予測部１２２若しくはインター予測部１２３から供給される予測画像を減算し、その差分情報（残差データ）を直交変換部１１３に供給する。例えば、イントラ符号化が行われる画像の場合、演算部１１２は、画面並べ替えバッファ１１１から読み出された画像から、イントラ予測部１２２から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部１１２は、画面並べ替えバッファ１１１から読み出された画像から、インター予測部１２３から供給される予測画像を減算する。
【００６０】
直交変換部１１３は、演算部１１２から供給される残差データに対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部１１３は、その直交変換により得られた変換係数を量子化部１１４に供給する。
【００６１】
量子化部１１４は、直交変換部１１３から供給される変換係数を量子化する。量子化部１１４は、レート制御部１２５から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部１１４は、量子化された変換係数を可逆符号化部１１５に供給する。
【００６２】
可逆符号化部１１５は、量子化部１１４において量子化された変換係数を任意の符号化方式で符号化し、符号化データ（符号化ストリームとも称する）を生成する。また、可逆符号化部１１５は、例えばシーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ等のヘッダ情報を生成する。さらに、可逆符号化部１１５は、イントラ予測のモードを示す情報などをイントラ予測部１２２から取得し、インター予測のモードを示す情報や差分動きベクトル情報などをインター予測部１２３から取得し、それらの各種情報をヘッダ情報等に含める。
【００６３】
可逆符号化部１１５は、符号化して得られた符号化データを蓄積バッファ１１６に供給して蓄積させる。
【００６４】
可逆符号化部１１５の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などが挙げられる。また、coeff_abs_level_remainingと言う、係数情報データのシンタクス処理にTR符号が用いられる。算術符号化としては、例えば、CABAC（Context-Adaptive Binary Arithmetic Coding）などが挙げられる。
【００６５】
蓄積バッファ１１６は、可逆符号化部１１５から供給された符号化データを、一時的に保持する。蓄積バッファ１１６は、所定のタイミングにおいて、保持している符号化データを、画像符号化装置１００の外部に出力する。すなわち、蓄積バッファ１１６は、符号化データを伝送する伝送部でもある。
【００６６】
また、量子化部１１４において量子化された変換係数は、逆量子化部１１７にも供給される。逆量子化部１１７は、その量子化された変換係数を、量子化部１１４による量子化に対応する方法で逆量子化する。逆量子化部１１７は、その逆量子化により得られた変換係数を、逆直交変換部１１８に供給する。
【００６７】
逆直交変換部１１８は、逆量子化部１１７から供給された変換係数を、直交変換部１１３による直交変換処理に対応する方法で逆直交変換する。逆直交変換部１１８は、逆直交変換された出力（復元された残差データ）を演算部１１９に供給する。
【００６８】
演算部１１９は、逆直交変換部１１８から供給された、復元された残差データに、予測画像選択部１２４を介してイントラ予測部１２２若しくはインター予測部１２３から供給される予測画像を加算し、局所的に再構成された画像（以下、復号画像とも称する）を得る。その復号画像は、ループフィルタ１２０若しくはイントラ予測部１２２に供給される。
【００６９】
ループフィルタ１２０は、演算部１１９から供給される復号画像に対して適宜ループフィルタ処理を行う。このループフィルタ処理は、少なくともデブロッキングフィルタ処理を含むフィルタ処理であれば任意である。例えば、ループフィルタ１２０が、復号画像に対してデブロッキングフィルタ処理を行ってデブロック歪を除去するとともに、ウィナーフィルタ（Wiener Filter）を用いて適応ループフィルタ処理を行うことにより画質改善を行うようにしてもよい。また、ループフィルタ１２０は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部１１５に供給し、それを符号化させるようにすることもできる。ループフィルタ１２０は、フィルタ処理を適宜施した復号画像をフレームメモリ１２１に供給する。
【００７０】
フレームメモリ１２１は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像としてインター予測部１２３に供給する。
【００７１】
イントラ予測部１２２は、演算部１１９から参照画像として供給される復号画像である処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部１２２は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
【００７２】
イントラ予測部１２２は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ１１１から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部１２２は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部１２４に供給する。
【００７３】
また、上述したように、イントラ予測部１２２は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部１１５に供給し、符号化させる。
【００７４】
インター予測部１２３は、画面並べ替えバッファ１１１から供給される入力画像と、フレームメモリ１２１から供給される参照画像とを用いてインター予測処理（動き予測処理および補償処理）を行う。より具体的には、インター予測部１２３は、インター予測処理として、動き予測を行って検出された動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。インター予測部１２３は、予め用意された複数のインター予測モードでこのようなインター予測を行う。
【００７５】
インター予測部１２３は、候補となる全てのインター予測モードで予測画像を生成する。インター予測部１２３は、画面並べ替えバッファ１１１から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。インター予測部１２３は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部１２４に供給する。
【００７６】
インター予測部１２３は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部１１５に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として、予測動きベクトルのインデックスを示すフラグなどがある。
【００７７】
予測画像選択部１２４は、演算部１１２や演算部１１９に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部１２４は、予測画像の供給元としてイントラ予測部１２２を選択し、そのイントラ予測部１２２から供給される予測画像を演算部１１２や演算部１１９に供給する。また、例えば、インター符号化の場合、予測画像選択部１２４は、予測画像の供給元としてインター予測部１２３を選択し、そのインター予測部１２３から供給される予測画像を演算部１１２や演算部１１９に供給する。
【００７８】
レート制御部１２５は、蓄積バッファ１１６に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部１１４の量子化動作のレートを制御する。
【００７９】
＜可逆符号化部＞
図９は、可逆符号化部１１５の、TR符号化に関する主な構成例を示すブロック図である。図９に示されるように、可逆符号化部１１５は、TR符号化に関する構成として、例えば、制御部１５１、テーブル選択部１５２、TR符号化部１５３、およびテーブル指定情報バッファ１５４を有する。
【００８０】
制御部１５１は、テーブル選択部１５２乃至テーブル指定情報バッファ１５４の各処理部をそれぞれ制御する。
【００８１】
テーブル選択部１５２は、可逆符号化部１１５に供給される係数データを取得し、各係数データについて、TR符号化に用いられる符号化テーブルを選択する。テーブル選択部１５２は、選択したテーブルを示すテーブル指定情報をTR符号化部１５３およびテーブル指定情報バッファ１５４に供給する。
【００８２】
TR符号化部１５３は、テーブル選択部１５２により選択された符号化テーブル（例えば、テーブル選択部１５２から供給されるテーブル指定情報において指定される符号化テーブル）を用いて、処理対象の係数データ（カレント係数データ）を符号化する。TR符号化部１５３は、その符号化テーブルを用いた符号化により得られた符号化データを、例えば蓄積バッファ１１６等に出力する。
【００８３】
テーブル指定情報バッファ１５４は、テーブル選択部１５２から供給される各係数データのテーブル指定情報を記憶する。また、テーブル指定情報バッファ１５４は、必要に応じて（例えばテーブル選択部１５２の要求に従って）、記憶しているテーブル指定情報を、カレント係数データの周辺の係数データとして、テーブル選択部１５２に供給する。
【００８４】
このテーブル指定情報は、任意の情報であるが、例えばテーブル番号を含んでいてもよい。以下においては、符号化テーブルのテーブル番号をテーブル指定情報として用いる場合について説明する。
【００８５】
＜テーブル選択部＞
図１０は、テーブル選択部１５２の主な構成例を示すブロック図である。図１０に示されるように、テーブル選択部１５２は、周辺履歴演算部１６１、テーブル処理部１６２、選択部１６３、ベースレベル決定部１６４、演算部１６５、演算部１６６、選択部１６７、シフト処理部１７１、テーブル選択部１７２、選択部１７３、ベースレベル決定部１７４、演算部１７５、演算部１７６、および選択部１７７を有する。
【００８６】
図１０に示されるように、テーブル選択部１５２は、２係数データずつ並行に処理する。点線１８１で囲まれる図中上段の構成が１つめの係数データを処理するための構成であり、点線１８２で囲まれる図中下段の構成が２つめの係数データを処理するための構成である。
【００８７】
周辺履歴演算部１６１は、カレント係数データ（処理対象の係数データ）について、符号化に用いる符号化テーブルのテーブル番号（curr_table No.）を求める。例えば、カレント係数データが画像データの符号化単位の１つである符号化サブブロック（coded_sub_block）の先頭の（最初に処理される）係数データである場合、テーブル指定情報バッファ１５４からカレント係数データの周辺の係数データの符号化に用いられた符号化テーブルのテーブル番号（周辺Table No.）を取得し、その取得したテーブル番号から、カレント係数データの符号化テーブルのテーブル番号（curr_table No.）を求める。
【００８８】
この演算方法の詳細については後述するが、例えば、カレント係数データに対して周辺の係数データが存在しない場合、周辺履歴演算部１６１は、所定の初期値（例えばテーブル番号０）を、カレント係数データの符号化テーブルのテーブル番号（curr_table No.）として設定する。
【００８９】
周辺履歴演算部１６１は、設定したテーブル番号（curr_table No.）を、TR符号化部１５３やテーブル指定情報バッファ１５４に供給するとともに、選択部１６３にも供給する。
【００９０】
また、カレント係数データが符号化サブブロック（coded_sub_block）の先頭の係数データでない場合、周辺履歴演算部１６１は、選択部１７７が選択したテーブル番号（next_table_1）（つまり、カレント係数データの１つ前の係数データの処理において、「次の係数データの符号化に用いられる符号化テーブルのテーブル番号」として設定された値）を取得し、その取得したテーブル番号を、カレント係数データの符号化テーブルのテーブル番号（curr_table No.）として選択部１６３に供給する。
【００９１】
テーブル処理部１６２は、テーブル選択部１５２に供給される係数データを、各符号化テーブル（図１０の例の場合、テーブル番号０の符号化テーブル（Table_0）乃至テーブル番号４の符号化テーブル（Table_4））を用いてTR符号化する。テーブル処理部１６２は、各符号化テーブルを用いたTR符号化結果を選択部１６３に供給する。
【００９２】
選択部１６３は、テーブル処理部１６２から供給される各TR符号化結果の中から、周辺履歴演算部１６１から供給されるテーブル番号（curr_table No.）の符号化テーブルを用いたTR符号化結果を選択する。選択部１６３は、選択したTR符号化結果をcoeff_abs_level_remainingとして、演算部１６５に供給する。
【００９３】
ベースレベル決定部１６４は、ベースレベル（baselevel）の決定に関する処理を行う。例えば、ベースレベル決定部１６４は、scfが１かどうか、g1_flag[7:0]のどのbitが該当しているか否か、g1_flag=1の時、g2_flagが0か1か、g1_flagがすべて出たかどうか等の条件に基づいてベースレベルを決定する。ベースレベル決定部１６４は、決定したベースレベル（baselevel）を演算部１６５に供給する。
【００９４】
演算部１６５は、選択部１６３から供給されるcoeff_abs_level_remainingに、ベースレベル決定部１６４により決定されたベースレベル（baselevel）を加算し、その値を、cLastAbsLevelとして選択部１６７に供給する。
【００９５】
演算部１６６は、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）に値「＋１」を加算する。選択部１６７には、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）や演算部１６６により「＋１」が加算されたテーブル番号が供給される。
【００９６】
選択部１６７は、演算部１６５から供給されるcLastAbsLevelに基づいて、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）と、演算部１６６より供給される「＋１」が加算されたテーブル番号との内、いずれか一方を選択する。選択部１６７は、選択したテーブル番号を、次の係数データの符号化に用いられる符号化テーブルのテーブル番号（next_table No.（すなわちnext_table_0））として、TR符号化部１５３やテーブル指定情報バッファ１５４に供給するとともに、選択部１７３にも供給する。
【００９７】
テーブル選択部１５２に入力された係数データは、シフト処理部１７１にも供給される。シフト処理部１７１は、カレント係数データを次の係数データにシフトする。つまり、シフト処理部１７１は、テーブル処理部１６２に供給される係数データの次の係数データをテーブル処理部１７２に供給する。
【００９８】
テーブル処理部１７２は、シフト処理部１７１により新たにカレント係数データにされた係数データを、各符号化テーブル（図１０の例の場合、テーブル番号０の符号化テーブル（Table_0）乃至テーブル番号４の符号化テーブル（Table_4））を用いてTR符号化する。テーブル処理部１７２は、各符号化テーブルを用いたTR符号化結果を選択部１７３に供給する。
【００９９】
選択部１７３は、テーブル処理部１７２から供給される各TR符号化結果の中から、選択部１６７から供給されるテーブル番号（next_table_0）の符号化テーブルを用いたTR符号化結果を選択する。選択部１７３は、選択したTR符号化結果をcoeff_abs_level_remainingとして、演算部１７５に供給する。
【０１００】
ベースレベル決定部１７４は、ベースレベル（baselevel）の決定に関する処理を行う。例えば、ベースレベル決定部１７４は、scfが１かどうか、g1_flag[7:0]のどのbitが該当しているか否か、g1_flag=1の時、g2_flagが0か1か、g1_flagがすべて出たかどうか等の条件に基づいてベースレベルを決定する。ベースレベル決定部１７４は、決定したベースレベル（baselevel）を演算部１７５に供給する。
【０１０１】
演算部１７５は、選択部１７３から供給されるcoeff_abs_level_remainingに、ベースレベル決定部１７４により決定されたベースレベル（baselevel）を加算し、その値を、cLastAbsLevelとして選択部１７７に供給する。
【０１０２】
演算部１７６は、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）に値「＋１」を加算する。選択部１７７には、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）や演算部１７６により「＋１」が加算されたテーブル番号が供給される。
【０１０３】
選択部１７７は、演算部１７５から供給されるcLastAbsLevelに基づいて、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）と、演算部１７６より供給される「＋１」が加算されたテーブル番号との内、いずれか一方を選択する。選択部１７７は、選択したテーブル番号を、次の係数データの符号化に用いられる符号化テーブルのテーブル番号（next_table No.（すなわちnext_table_1））として、TR符号化部１５３やテーブル指定情報バッファ１５４に供給する。
【０１０４】
＜符号化テーブルの設定方法＞
次に、周辺履歴演算部１６１による符号化テーブルの設定の仕方について、図１１を参照して説明する。
【０１０５】
直交変換処理単位であるTUは、複数の符号化サブブロック（coded_sub_block）により構成される。図１１Ａの例の場合、TU１９０は、8x8（縦８個×横８個）の係数データにより構成され、2x2の符号化サブブロック（符号化サブブロック１９１−１乃至符号化サブブロック１９１−４）が形成されている。なお、図１１Ａにおいて、小さな正方形は係数データを示している。そして、符号化サブブロック１９１−１乃至符号化サブブロック１９１−４は、それぞれ、4x4（縦４個×横４個）の係数データにより構成されている。符号化サブブロック１９１−１乃至符号化サブブロック１９１−４を互いに区別して説明する必要が無い場合、符号化サブブロック１９１と称する。
【０１０６】
なお、TU１９０のサイズは任意であり、8x8に限定されない。例えば、HEVCでは、TUのサイズとして、4x4、8x8、16x16、32x32等が認められている。もちろん、これら以外のサイズであってもよいし、正方形でなくてもよい。符号化サブブロック１９１も、TU１９０より小さければよく、4x4に限定されない。
【０１０７】
各符号化サブブロック１９１内において、各係数データは、図１１Ｂに示されるような順序（アップライトスキャン（up-right_scan）順）で符号化される。図１１Ｂにおいて、各小さな四角は係数データを示し、そこに示される数字は、処理順を示す。つまり、符号化サブブロック１９１の各係数データの符号化は、番号０の係数データから、０→１→２→・・・・→１５の順に進む。すなわち、この斜線模様で示される、符号化サブブロック１９１の右下隅の係数データが、この符号化サブブロック１９１における先頭の係数データ（最初に処理される係数データ）である。
【０１０８】
また、この場合、図１１ＡのTU１９０において、各符号化サブブロック１９１は、符号化サブブロック１９１−１、符号化サブブロック１９１−２、符号化サブブロック１９１−３、符号化サブブロック１９１−４の順に処理される。
【０１０９】
なお、スキャン順は、任意であり、アップライトスキャン順に限定されない。例えば、ホリゾンタルスキャン（horizontal_scan）順であってもよいし、バーティカルスキャン（vertical_scan）順であってもよいし、それ以外の順序であってもよい。
【０１１０】
このような構成のTU１９０に対して、周辺履歴演算部１６１は、符号化サブブロック１９１の先頭の係数データの符号化に用いる符号化テーブル（のテーブル番号）を、その周辺の係数データの符号化に用いられた符号化テーブル（のテーブル番号）に基づいて設定する。
【０１１１】
より具体的には、周辺履歴演算部１６１は、符号化サブブロック１９１の先頭の係数データ（図１１Ａにおいて「Ｃ」が示される係数データ）をカレント係数データ（処理対象の係数データ）とする場合、そのカレント係数データの右に隣接する係数データ（図１１Ａにおいて「Ａ」が示される係数データ）の符号化に用いられた符号化テーブル（のテーブル番号）と、カレント係数データの下に隣接する係数データ（図１１Ａにおいて「Ｂ」が示される係数データ）の符号化に用いられた符号化テーブル（のテーブル番号）とに基づいて、カレント係数データの符号化に用いる符号化テーブル（のテーブル番号）を設定する。
【０１１２】
例えば、符号化サブブロック１９１−１の先頭の係数データをカレント係数データとする場合、図１１Ａに示されるように、そのカレント係数データの右に隣接する係数データ（「Ａ」が示される係数データ）も、そのカレント係数データの下に隣接する係数データ（「Ｂ」が示される係数データ）も存在しない。したがって、周辺履歴演算部１６１は、そのカレント係数データの符号化に用いる符号化テーブル（のテーブル番号）として所定の初期値（例えばテーブル番号０）を設定する。
【０１１３】
また、例えば、符号化サブブロック１９１−２の先頭の係数データをカレント係数データとする場合、図１１Ａに示されるように、そのカレント係数データの右に隣接する係数データは存在しないが、そのカレント係数データの下に隣接する係数データが存在する。したがって、周辺履歴演算部１６１は、そのカレント係数データの符号化に用いる符号化テーブル（のテーブル番号）として、そのカレント係数データの下に隣接する係数データ（「Ｂ」が示される係数データ）の符号化に用いられた符号化テーブル（のテーブル番号）を設定する。
【０１１４】
同様に、例えば、符号化サブブロック１９１−３の先頭の係数データをカレント係数データとする場合、図１１Ａに示されるように、そのカレント係数データの下に隣接する係数データは存在しないが、そのカレント係数データの右に隣接する係数データが存在する。したがって、周辺履歴演算部１６１は、そのカレント係数データの符号化に用いる符号化テーブル（のテーブル番号）として、そのカレント係数データの右に隣接する係数データ（「Ａ」が示される係数データ）の符号化に用いられた符号化テーブル（のテーブル番号）を設定する。
【０１１５】
さらに、例えば、符号化サブブロック１９１−４の先頭の係数データをカレント係数データとする場合、図１１Ａに示されるように、そのカレント係数データの右に隣接する係数データも、そのカレント係数データの下に隣接する係数データも存在する。したがって、周辺履歴演算部１６１は、そのカレント係数データの符号化に用いる符号化テーブルのテーブル番号として、そのカレント係数データの右に隣接する係数データ（「Ａ」が示される係数データ）の符号化に用いられた符号化テーブルのテーブル番号と、そのカレント係数データの下に隣接する係数データ（「Ｂ」が示される係数データ）の符号化に用いられた符号化テーブルのテーブル番号との平均値を設定する。
【０１１６】
その他の係数データの符号化に用いる符号化テーブル（のテーブル番号）は、図５のフローチャートを参照して説明した場合と同様に設定されるものとすると、TU１９０の各係数データの符号化に用いる符号化テーブル（のテーブル番号）は、例えば、図１２の例のように設定される。
【０１１７】
一般的に、TU１９０の左上により低周波成分が集まり、右下により高周波成分が集まる。つまり、TU１９０の右下の係数データほどその値が小さくなり、左上の係数データほどその値が大きくなる傾向がある。したがって、TU１９０の右下の係数データほどテーブル番号が小さな符号化テーブルで符号化し、左上の係数データほどテーブル番号が大きな符号化テーブルで符号化することにより、符号化効率の向上を期待することができる。換言するに、TU１９０のより右下の係数データをテーブル番号がより大きな符号化テーブルで符号化し、より左上の係数データをテーブル番号がより小さな符号化テーブルで符号化するようにすると、符号化効率が低減するおそれがある。
【０１１８】
また、このような値の分布の傾向から、各係数データの値は、その周辺の係数データの値との相関性が高い。つまり、各係数データは、その周辺の係数データの符号化に用いられた符号化テーブルのテーブル番号と一致若しくは近似するテーブル番号の符号化テーブルを用いて符号化することにより、符号化効率の向上を期待することができる。換言するに、互いに位置が近い係数データに、テーブル番号が大きく異なる符号化テーブルを割り当てるようにすると、符号化効率が低減するおそれがある。
【０１１９】
図１２の例の方が、図６Ａや図６Ｂの場合よりも、TU１９０のより右下の係数データにより小さなテーブル番号の符号化テーブルを割り当て、より左上の係数データにより大きなテーブル番号の符号化テーブルを割り当てている。また、図１２の例の方が、図６Ａや図６Ｂの場合よりも、互いに位置が近い係数データに割り当てられた符号化テーブル同士のテーブル番号の差が小さい。
【０１２０】
したがって、図１２の例の方が、図６Ａや図６Ｂの場合よりも、符号化効率の低減を抑制することができる。
【０１２１】
なお、以上においては、カレント係数データの右に隣接する係数データも、そのカレント係数データの下に隣接する係数データも存在する場合、すなわち、利用可能な周辺の係数データの符号化に用いられた符号化テーブルが複数存在する場合、カレント係数データの符号化に用いる符号化テーブルのテーブル番号として、それらの符号化テーブルのテーブル番号の平均値を設定するように説明したが、これに限らず、例えば、それらの符号化テーブルのテーブル番号の中央値を設定するようにしてもよい。また、その他の演算の結果を、カレント係数データの符号化に用いる符号化テーブルのテーブル番号として設定するようにしてもよい。
【０１２２】
また、例えば、カレント係数データの符号化に用いる符号化テーブルのテーブル番号として、それらの符号化テーブルのテーブル番号のいずれかを設定するようにしてもよい。例えば、それらの符号化テーブルのテーブル番号の最大値や最小値を設定するようにしてもよい。
【０１２３】
＜符号化処理の流れ＞
次に、画像符号化装置１００により実行される各処理の流れの例を説明する。最初に、符号化処理の流れの例を、図１３のフローチャートを参照して説明する。
【０１２４】
符号化処理が開始されると、ステップＳ１０１において、画面並べ替えバッファ１１１は、入力された動画像の各フレーム（ピクチャ）の画像をその表示する順番に記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１２５】
ステップＳ１０２において、イントラ予測部１２２は、イントラ予測モードのイントラ予測処理を行う。
【０１２６】
ステップＳ１０３において、インター予測部１２３は、インター予測モードでの動き予測や動き補償等を行うインター予測処理を行う。
【０１２７】
ステップＳ１０４において、予測画像選択部１２４は、コスト関数値等に基づいて、ステップＳ１０２のイントラ予測により生成された予測画像と、ステップＳ１０３のインター予測により生成された予測画像のいずれか一方を選択する。
【０１２８】
ステップＳ１０５において、演算部１１２は、ステップＳ１０１の処理によりフレーム順を並び替えられた入力画像と、ステップＳ１０４の処理により選択された予測画像との差分を演算する。つまり、演算部１１２は、入力画像と予測画像との残差データを生成する。このようにして求められた残差データは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
【０１２９】
ステップＳ１０６において、直交変換部１１３は、ステップＳ１０５の処理により生成された残差データを直交変換する。
【０１３０】
ステップＳ１０７において、量子化部１１４は、レート制御部１２５により算出された量子化パラメータを用いて、ステップＳ１０６の処理により得られた直交変換係数を量子化する。
【０１３１】
ステップＳ１０８において、逆量子化部１１７は、ステップＳ１０７の処理により生成された量子化された係数（量子化係数とも称する）を、その量子化の特性に対応する特性で逆量子化する。
【０１３２】
ステップＳ１０９において、逆直交変換部１１８は、ステップＳ１０８の処理により得られた直交変換係数を逆直交変換する。
【０１３３】
ステップＳ１１０において、演算部１１９は、ステップＳ１０９の処理により復元された残差データに、ステップＳ１０４の処理により選択された予測画像を加算することにより、復号画像の画像データを生成する。
【０１３４】
ステップＳ１１１において、ループフィルタ１２０は、ステップＳ１１０の処理により生成された復号画像の画像データに対して適宜ループフィルタ処理を行う。
【０１３５】
ステップＳ１１２において、フレームメモリ１２１は、ステップＳ１１１の処理が行われた、局所的に復号された復号画像を記憶する。
【０１３６】
ステップＳ１１３において、可逆符号化部１１５は、ステップＳ１０７の処理により得られた、量子化された係数を符号化する。すなわち、残差データに対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
【０１３７】
また、可逆符号化部１１５は、ステップＳ１０４の処理により選択された予測画像の予測モードに関する情報を符号化し、符号化データのヘッダ情報に付加する。つまり、可逆符号化部１１５は、イントラ予測部１２２から供給される最適イントラ予測モード情報、または、インター予測部１２３から供給される最適インター予測モードに応じた情報なども符号化し、符号化データのヘッダ情報に付加する。
【０１３８】
ステップＳ１１４において蓄積バッファ１１６は、ステップＳ１１３の処理により得られた符号化データ等を蓄積する。蓄積バッファ１１６に蓄積された符号化データ等は、ビットストリームとして適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
【０１３９】
ステップＳ１１５においてレート制御部１２５は、ステップＳ１１４の処理により蓄積バッファ１１６に蓄積された符号化データ等の符号量（発生符号量）に基づいて、オーバフローあるいはアンダーフローが発生しないように、ステップＳ１０７の量子化処理のレートを制御する。
【０１４０】
ステップＳ１１５の処理が終了すると、符号化処理が終了する。
【０１４１】
＜TR符号化処理の流れ＞
次に、ステップＳ１１３の可逆符号化処理として実行されるTR符号化処理の流れの例を、図１４のフローチャートを参照して説明する。
【０１４２】
TR符号化処理が開始されると、ステップＳ１２１において、テーブル選択部１５２は、係数データの符号化に用いる符号化テーブルを選択する。
【０１４３】
ステップＳ１２２において、TR符号化部１５３は、ステップＳ１２１において選択された符号化テーブルを用いて、係数データを符号化する。
【０１４４】
ステップＳ１２３において、テーブル指定情報バッファ１５４は、ステップＳ１２１において選択された符号化テーブル（のテーブル番号）を示すテーブル指定情報を記憶する。
【０１４５】
ステップＳ１２３の処理が終了すると、TR符号化処理が終了する。
【０１４６】
＜符号化テーブル選択処理の流れ＞
次に、図１４のステップＳ１２１において実行される符号化テーブル選択処理の流れの例を、図１５のフローチャートを参照して説明する。
【０１４７】
ステップＳ１３１において、周辺履歴演算部１６１は、変数StatCoeffA, StatCoeffB, prevStatCoeffをそれぞれ初期値（例えば「０」）に設定する。
【０１４８】
変数StatCoeffAは、カレント係数データの右に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号を示す。変数StatCoeffBは、カレント係数データの下に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号を示す。変数prevStatCoeffは、直前に処理された係数データの符号化に用いられた符号化テーブルのテーブル番号を示す。
【０１４９】
ステップＳ１３２において、制御部１５１は、当該TU内において、処理対象とする符号化サブブロック（coded_sub_block）を、所定の順に従って選択する。また、制御部１５１は、選択した符号化サブブロックにおいて、所定のスキャン順における先頭の係数データを処理対象（カレント係数データ）として選択する。
【０１５０】
ステップＳ１３３において、周辺履歴演算部１６１は、カレント係数データの周辺の係数データの有無により、変数initValueを設定する。
【０１５１】
例えば、カレント係数データが、符号化サブブロック１９１−１（図１１Ａ）の先頭の係数データ（Ｃ）である場合、そのカレント係数データの右に隣接する係数データ（Ａ）も、下に隣接する係数データ（Ｂ）も、当該TU１９０の外側に位置するので、変数StatCoeffAも変数StatCoeffBも、値が「invalid」（履歴がない）になる。
【０１５２】
したがって、この場合、周辺履歴演算部１６１は、変数initValueに変数prevStatCoeffの値を設定する。このカレント係数データがTU１９０の先頭の係数データ（例えば、符号化サブブロック１９１−１の先頭の係数データ（Ｃ））である場合、変数prevStatCoeffの値は、ステップＳ１３１において設定された初期値（例えば「０」）である。
【０１５３】
また、例えば、カレント係数データが、符号化サブブロック１９１−２（図１１Ａ）の先頭の係数データ（Ｃ）である場合、そのカレント係数データの右に隣接する係数データ（Ａ）は、当該TU１９０の外側に位置するので、変数StatCoeffAの値は「invalid」（履歴がない）になる。これに対して、カレント係数データの下に隣接する係数データ（Ｂ）は、当該TU１９０内に存在するので、変数StatCoeffBの値は、そのカレント係数データの下に隣接する係数データ（Ｂ）の符号化に用いられた符号化テーブルのテーブル番号になる。
【０１５４】
したがって、この場合、周辺履歴演算部１６１は、変数initValueに変数StatCoeffBの値を設定する。図１２の例の場合、変数initValueの値は、「３」に設定される。
【０１５５】
また、例えば、カレント係数データが、符号化サブブロック１９１−３（図１１Ａ）の先頭の係数データ（Ｃ）である場合、そのカレント係数データの下に隣接する係数データ（Ｂ）は、当該TU１９０の外側に位置するので、変数StatCoeffBの値は「invalid」（履歴がない）になる。これに対して、カレント係数データの右に隣接する係数データ（Ａ）は、当該TU１９０内に存在するので、変数StatCoeffAの値は、そのカレント係数データの右に隣接する係数データ（Ａ）の符号化に用いられた符号化テーブルのテーブル番号になる。
【０１５６】
したがって、この場合、周辺履歴演算部１６１は、変数initValueに変数StatCoeffAの値を設定する。図１２の例の場合、変数initValueの値は、「４」に設定される。
【０１５７】
さらに、例えば、カレント係数データが、符号化サブブロック１９１−４（図１１Ａ）の先頭の係数データ（Ｃ）である場合、そのカレント係数データの右に隣接する係数データ（Ａ）も、下に隣接する係数データ（Ｂ）も存在する。したがって、変数StatCoeffAの値は、そのカレント係数データの右に隣接する係数データ（Ａ）の符号化に用いられた符号化テーブルのテーブル番号になり、変数StatCoeffBの値は、そのカレント係数データの下に隣接する係数データ（Ｂ）の符号化に用いられた符号化テーブルのテーブル番号になる。
【０１５８】
したがって、この場合、周辺履歴演算部１６１は、変数initValueに変数StatCoeffAと変数StatCoeffBの平均値を設定する。図１２の例の場合、変数StatCoeffAも変数StatCoeffBも「７」になるので、変数initValueの値は、「７」に設定される。
【０１５９】
ステップＳ１３４において、周辺履歴演算部１６１は、以上のように設定した変数initValueを、変数cRiceParamに設定する。変数cRiceParamは、カレント係数データの符号化に用いる符号化テーブルのテーブル番号を示す変数である。つまり、周辺履歴演算部１６１は、ステップＳ１３３において選択した符号化テーブル（のテーブル番号）を、カレント係数データの符号化に用いる符号化テーブル（のテーブル番号）として設定する。この変数cRiceParamがTR符号化部１５３に供給されて符号化に利用される。つまり、TR符号化部１５３は、この変数cRiceParamが示す符号化テーブルを用いてカレント係数データを符号化する。
【０１６０】
また、ステップＳ１３４において、周辺履歴演算部１６１は、以上のように設定した変数initValueを、変数prevStatCoeffに設定する。つまり、周辺履歴演算部１６１は、ステップＳ１３３において選択した符号化テーブル（のテーブル番号）を、直前に処理された係数データの符号化に用いられた符号化テーブル（のテーブル番号）として設定する。この変数prevStatCoeffの値は、次の係数データに対する処理において利用されるので、現在のカレント係数データの符号化に用いられた符号化テーブル（のテーブル番号）を示す。
【０１６１】
ステップＳ１３５において、制御部１５１は、処理対象の符号化サブブロック内に未処理の係数データが存在するか否かを判定する。存在すると判定された場合、制御部１５１は、当該符号化サブブロック内において、カレント係数データを、所定のスキャン順に従っての次の係数データに移動する。そして、処理はステップＳ１３６に進む。
【０１６２】
ステップＳ１３６において、選択部１６７は、変数cLastAbsLevelと、変数cLastRiceParamとが、以下の条件式（１）を満たすか否かを判定する。
【０１６３】
cLastAbsLevel > (3*(1<<cLastRiceParam))  ・・・（１）
【０１６４】
満たすと判定された場合、処理はステップＳ１３７に進む。ステップＳ１３７において、選択部１６７は、変数cRiceParamの値に「＋１」を加算する。つまり、符号化に用いるテーブルを変更する。
【０１６５】
ステップＳ１３７の処理が終了すると、処理はステップＳ１３５に戻り、それ以降の処理が繰り返される。また、ステップＳ１３６において、条件式（１）を満たさないと判定された場合、処理はステップＳ１３５に戻り、それ以降の処理が繰り返される。
【０１６６】
ステップＳ１３５において、当該符号化サブブロックの全ての係数データを処理したと判定された場合、処理はステップＳ１３８に進む。
【０１６７】
ステップＳ１３８において、制御部１５１は、当該TUについて、全ての符号化サブブロックを処理したか否かを判定する。未処理の符号化サブブロックが存在すると判定された場合、処理はステップＳ１３２に戻り、それ以降の処理が繰り返される。
【０１６８】
また、ステップＳ１３８において、当該TUについて全ての符号化サブブロックを処理したと判定された場合、符号化テーブル選択処理が終了し、処理が図１４に戻る。
【０１６９】
以上のように各処理を実行することにより、符号化効率の低減を抑制することができる。
【０１７０】
＜符号化テーブルの設定方法＞
以上においては、カレント係数データの周辺の係数データの例として、カレント係数データ（Ｃ）の右に隣接する係数データ（Ａ）と、そのカレント係数データ（Ｃ）の下に隣接する係数データ（Ｂ）とを示したが、カレント係数データの周辺の係数データは、この例に限定されない。例えば、カレント係数データ（Ｃ）の右下に隣接する係数データ（図１１Ａにおいて「Ｄ」が示される係数データ）をカレント係数データの周辺の係数データに含めるようにしてもよい。
【０１７１】
この場合、カレント係数データ（Ｃ）の周辺の係数データが存在しない場合、カレント係数データの右に隣接する係数データ（Ａ）のみが存在する場合、並びに、カレント係数データの下に隣接する係数データ（Ｂ）のみが存在する場合は、図１２や図１５を参照して説明した場合と同様である。
【０１７２】
これに対して、例えば、符号化サブブロック１９１−４の先頭の係数データをカレント係数データとする場合、図１１Ａに示されるように、そのカレント係数データの右に隣接する係数データ（Ａ）、そのカレント係数データの下に隣接する係数データ（Ｂ）、並びに、そのカレント係数データの右下に隣接する係数データ（Ｄ）が全て存在する。したがって、周辺履歴演算部１６１は、そのカレント係数データの符号化に用いる符号化テーブルのテーブル番号として、そのカレント係数データの右に隣接する係数データ（Ａ）、そのカレント係数データの下に隣接する係数データ（Ｂ）、並びに、そのカレント係数データの右下に隣接する係数データ（Ｄ）の符号化に用いられた符号化テーブルのテーブル番号との平均値を設定する。
【０１７３】
この場合の符号化テーブルの割り当ての例を図１６に示す。図１６に示されるように、符号化サブブロック１９１−４の先頭の係数データ（カレント係数データ）の符号化に用いられる符号化テーブルのテーブル番号には、そのカレント係数データの右に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号（７）と、そのカレント係数データの下に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号（７）と、そのカレント係数データの右下に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号（１０）との平均値（（７＋７＋１０）／３＝８）が設定されている。
【０１７４】
したがって、図１６の例の方が、図６Ａや図６Ｂの場合よりも、TU１９０のより右下の係数データにより小さなテーブル番号の符号化テーブルを割り当て、より左上の係数データにより大きなテーブル番号の符号化テーブルを割り当てている。また、図１６の例の方が、図６Ａや図６Ｂの場合よりも、互いに位置が近い係数データに割り当てられた符号化テーブル同士のテーブル番号の差が小さい。
【０１７５】
つまり、各係数データ対してこのように符号化テーブルを割り当てることにより、図６Ａや図６Ｂの場合よりも、符号化効率の低減を抑制することができる。
【０１７６】
なお、この場合も、図１２の例の場合と同様に、平均値の代わりに、中央値等、その他の演算の結果を用いるようにしてもよい。また、例えば、周辺の係数データの符号化に用いられた符号化テーブルのテーブル番号の最大値や最小値等、いずれかのテーブル番号を用いるようにしてもよい。
【０１７７】
＜符号化テーブル選択処理の流れ＞
この場合の符号化テーブル選択処理の流れの例を、図１７のフローチャートを参照して説明する。
【０１７８】
符号化テーブル選択処理が開始されると、ステップＳ１３１において、周辺履歴演算部１６１は、変数StatCoeffA, StatCoeffB, StatCoeffD, prevStatCoeffをそれぞれ初期値（例えば「０」）に設定する。変数StatCoeffDは、カレント係数データの右下に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号を示す。
【０１７９】
ステップＳ１５２の処理は、図１５のステップＳ１３２の処理と同様に実行される。
【０１８０】
ステップＳ１５３において、周辺履歴演算部１６１は、カレント係数データの周辺の係数データの有無により、変数initValueを設定する。
【０１８１】
カレント係数データが、符号化サブブロック１９１−１（図１１Ａ）の先頭の係数データ（Ｃ）、符号化サブブロック１９１−２（図１１Ａ）の先頭の係数データ（Ｃ）、若しくは、符号化サブブロック１９１−３（図１１Ａ）の先頭の係数データ（Ｃ）である場合は、図１５のステップＳ１３３の処理の場合と同様に、変数initValueを設定する。
【０１８２】
これに対して、カレント係数データが、符号化サブブロック１９１−４（図１１Ａ）の先頭の係数データ（Ｃ）である場合、そのカレント係数データの右に隣接する係数データ（Ａ）も、下に隣接する係数データ（Ｂ）も、右下に隣接する係数データ（Ｄ）も存在する。したがって、変数StatCoeffAの値は、そのカレント係数データの右に隣接する係数データ（Ａ）の符号化に用いられた符号化テーブルのテーブル番号になり、変数StatCoeffBの値は、そのカレント係数データの下に隣接する係数データ（Ｂ）の符号化に用いられた符号化テーブルのテーブル番号になり、変数StatCoeffDの値は、そのカレント係数データの下に隣接する係数データ（Ｄ）の符号化に用いられた符号化テーブルのテーブル番号になる。
【０１８３】
したがって、この場合、周辺履歴演算部１６１は、変数initValueに変数StatCoeffA、変数StatCoeffB、および変数StatCoeffDの平均値を設定する。図１６の例の場合、変数StatCoeffAと変数StatCoeffBが「７」になり、変数StatCoeffDが「１０」になるので、変数initValueの値は、「８」に設定される。
【０１８４】
ステップＳ１５４乃至ステップＳ１５８の各処理は、図１５のステップＳ１３４乃至ステップＳ１３８の各処理と同様に実行される。
【０１８５】
このように符号化テーブル選択処理を実行することにより、符号化効率の低減を抑制することができる。
【０１８６】
＜符号化テーブルの設定方法＞
また、カレント係数データの周辺の係数データは、カレント係数データにななめに隣接する係数データとしてもよい。例えば、カレント係数データ（Ｃ）の右上に隣接する係数データ（図１１Ａにおいて「Ｅ」が示される係数データ）と、カレント係数データ（Ｃ）の左下に隣接する係数データ（図１１Ａにおいて「Ｆ」が示される係数データ）とを、カレント係数データの周辺の係数データとしてもよい。
【０１８７】
上述したように、TU１９０の係数データは、一般的に、右下に位置するほどその値が小さくなり、左上に位置するほどその値が大きくなる傾向がある。したがって、各係数データの値は、右上・左下の斜め方向に相関性が高くなる。つまり、カレント係数データの符号化を、右上に隣接する係数データや左下に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号と一致若しくは近似するテーブル番号の符号化テーブルを用いて行うことにより、符号化効率の向上を期待することができる。
【０１８８】
例えば、図１１Ａの例において、符号化サブブロック１９１−１の先頭の係数データをカレント係数データとする場合、そのカレント係数データの右上と左下に隣接する係数データは存在しない。したがって、周辺履歴演算部１６１は、そのカレント係数データの符号化に用いる符号化テーブル（のテーブル番号）として所定の初期値（例えばテーブル番号０）を設定する。
【０１８９】
また、例えば、図１１Ａの例において、符号化サブブロック１９１−２の先頭の係数データをカレント係数データとする場合、そのカレント係数データの右上に隣接する係数データは存在しないが、そのカレント係数データの左下に隣接する係数データが存在する。したがって、周辺履歴演算部１６１は、そのカレント係数データの符号化に用いる符号化テーブル（のテーブル番号）として、そのカレント係数データの左下に隣接する係数データ（「Ｆ」が示される係数データ）の符号化に用いられた符号化テーブル（のテーブル番号）を設定する。
【０１９０】
同様に、例えば、図１１Ａの例において、符号化サブブロック１９１−３の先頭の係数データをカレント係数データとする場合、そのカレント係数データの左下に隣接する係数データは存在しないが、そのカレント係数データの右上に隣接する係数データが存在する。したがって、周辺履歴演算部１６１は、そのカレント係数データの符号化に用いる符号化テーブル（のテーブル番号）として、そのカレント係数データの右上に隣接する係数データ（「Ｅ」が示される係数データ）の符号化に用いられた符号化テーブル（のテーブル番号）を設定する。
【０１９１】
さらに、例えば、図１１Ａの例において、符号化サブブロック１９１−４の先頭の係数データをカレント係数データとする場合、そのカレント係数データの右上に隣接する係数データも、そのカレント係数データの左下に隣接する係数データも存在する。したがって、周辺履歴演算部１６１は、そのカレント係数データの符号化に用いる符号化テーブルのテーブル番号として、そのカレント係数データの右上に隣接する係数データ（「Ｅ」が示される係数データ）の符号化に用いられた符号化テーブルのテーブル番号と、そのカレント係数データの左下に隣接する係数データ（「Ｆ」が示される係数データ）の符号化に用いられた符号化テーブルのテーブル番号との平均値を設定する。
【０１９２】
その他の係数データの符号化に用いる符号化テーブル（のテーブル番号）は、図５のフローチャートを参照して説明した場合と同様に設定されるものとすると、TU１９０の各係数データの符号化に用いる符号化テーブル（のテーブル番号）は、例えば、図１８の例のように設定される。
【０１９３】
図１８において、例えば、カレント係数データが、符号化サブブロック１９１−１の先頭の係数データである場合、そのカレント係数データの符号化に用いる符号化テーブルのテーブル番号として、初期値「０」が設定されている。
【０１９４】
また、例えば、カレント係数データが、符号化サブブロック１９１−２の先頭の係数データである場合、そのカレント係数データの符号化に用いる符号化テーブルのテーブル番号として、そのカレント係数データの左下に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号「７」が設定されている。
【０１９５】
また、例えば、カレント係数データが、符号化サブブロック１９１−３の先頭の係数データである場合、そのカレント係数データの符号化に用いる符号化テーブルのテーブル番号として、そのカレント係数データの右上に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号「５」が設定されている。
【０１９６】
また、例えば、カレント係数データが、符号化サブブロック１９１−４の先頭の係数データである場合、そのカレント係数データの符号化に用いる符号化テーブルのテーブル番号として、そのカレント係数データの右上に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号「１２」と、そのカレント係数データの左下に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号「１２」との平均値「１２」が設定されている。
【０１９７】
このように、図１８の例の方が、図６Ａや図６Ｂの場合よりも、TU１９０のより右下の係数データにより小さなテーブル番号の符号化テーブルを割り当て、より左上の係数データにより大きなテーブル番号の符号化テーブルを割り当てている。また、図１８の例の方が、図６Ａや図６Ｂの場合よりも、互いに位置が近い係数データ（特に、右上・左下の斜め方向に位置が近い係数データ）に割り当てられた符号化テーブル同士のテーブル番号の差が小さい。
【０１９８】
つまり、各係数データ対してこのように符号化テーブルを割り当てることにより、図６Ａや図６Ｂの場合よりも、符号化効率の低減を抑制することができる。
【０１９９】
なお、この場合も、図１２の例の場合と同様に、平均値の代わりに、中央値等、その他の演算の結果を用いるようにしてもよい。また、例えば、周辺の係数データの符号化に用いられた符号化テーブルのテーブル番号の最大値や最小値等、いずれかのテーブル番号を用いるようにしてもよい。
【０２００】
なお、この場合の符号化テーブル選択処理は、カレント係数データの周辺の係数データの位置が異なる以外は、図１５のフローチャートを参照して説明した例と同様に実行される。
【０２０１】
したがって、この場合も、符号化テーブル選択処理を実行することにより、符号化効率の低減を抑制することができる。
【０２０２】
なお、以上のようなカレント係数データの周辺の係数データの位置は、任意であり、上述した例以外の位置であってもよい。また、カレント係数データに隣接していなくてもよい。また、以上のようなカレント係数データの周辺の係数データの数も任意である。例えば、利用するカレント係数データの周辺の係数データが４個以上であってもよい。例えば、上述した各例におけるカレント係数データの周辺の係数データを組み合わせてもよい。また、例えば、上述した各例におけるカレント係数データの周辺の係数データを、上述した各例以外の位置の係数データと組み合わせるようにしてもよい。
【０２０３】
＜２．第２の実施の形態＞
＜符号化テーブルの割り当て＞
以上においては、符号化サブブロックの先頭の係数データの符号化に用いる符号化テーブルを、周辺の係数データの符号化に用いられた符号化テーブルに基づいて設定するように説明したが、これに限らず、符号化サブブロックの先頭以外の係数データの符号化に用いる符号化テーブルも、周辺の係数データの符号化に用いられた符号化テーブルに基づいて設定するようにしてもよい。
【０２０４】
また、周辺の係数データの符号化に用いられた符号化テーブルとして、カレント係数データに隣接し、かつ、当該符号化サブブロックと異なる符号化サブブロックに属する係数データの符号化に用いられた符号化テーブルに基づいて、カレント係数データの符号化に用いる符号化テーブルを設定するようにしてもよい。
【０２０５】
＜テーブル選択部＞
その場合のテーブル選択部１５２の主な構成例を、図１９に示す。図１９に示されるように、この場合のテーブル選択部１５２は、図１０の場合と基本的に同様の構成を有するが、図１０の選択部１６７の代わりに選択部２１１を有し、図１０の選択部１７７の代わりに選択部２１２を有する。
【０２０６】
選択部２１１には、変数cLastAbsLevel、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）、「＋１」が加算されたテーブル番号の他に、周辺係数データのテーブル番号（周辺Table No.）と、係数位置情報_0が供給される。
【０２０７】
係数位置情報_0は、カレント係数データの、符号化サブブロック内の位置を示す情報である。
【０２０８】
選択部２１１は、周辺係数データのテーブル番号（周辺Table No.）に基づいて次のカレント係数データの符号化に用いる符号化テーブルを設定するか、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）若しくは「＋１」が加算されたテーブル番号を次のカレント係数データの符号化に用いる符号化テーブルとして設定するかを、この係数位置情報_0に基づいて選択する。
【０２０９】
そして、周辺係数データのテーブル番号（周辺Table No.）に基づいて次のカレント係数データの符号化に用いる符号化テーブルを設定すると判定された場合、選択部２１１は、供給される周辺係数データのテーブル番号（周辺Table No.）を選択し、その値に基づいて次のカレント係数データの符号化に用いる符号化テーブル（next_table_0）を設定する。
【０２１０】
また、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）か、若しくは「＋１」が加算されたテーブル番号を、次のカレント係数データの符号化に用いる符号化テーブルとして設定すると判定された場合、選択部２１１は、変数cLastAbsLevelに基づいて、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）と、演算部１６６より供給される「＋１」が加算されたテーブル番号との内、いずれか一方を選択し、その値に基づいて次のカレント係数データの符号化に用いる符号化テーブル（next_table_0）を設定する。
【０２１１】
選択部２１１は、設定した次の係数データの符号化に用いられる符号化テーブルのテーブル番号（next_table_0）を、TR符号化部１５３やテーブル指定情報バッファ１５４に供給するとともに、選択部１７３にも供給する。
【０２１２】
同様に、選択部２１１には、変数cLastAbsLevel、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）、「＋１」が加算されたテーブル番号の他に、周辺係数データのテーブル番号（周辺Table No.）と、係数位置情報_1が供給される。
【０２１３】
係数位置情報_1は、カレント係数データの、符号化サブブロック内の位置を示す情報である。
【０２１４】
選択部２１１は、周辺係数データのテーブル番号（周辺Table No.）に基づいて次のカレント係数データの符号化に用いる符号化テーブルを設定するか、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）若しくは「＋１」が加算されたテーブル番号を次のカレント係数データの符号化に用いる符号化テーブルとして設定するかを、この係数位置情報_1に基づいて選択する。
【０２１５】
そして、周辺係数データのテーブル番号（周辺Table No.）に基づいて次のカレント係数データの符号化に用いる符号化テーブルを設定すると判定された場合、選択部２１１は、供給される周辺係数データのテーブル番号（周辺Table No.）を選択し、その値に基づいて次のカレント係数データの符号化に用いる符号化テーブル（next_table_1）を設定する。
【０２１６】
また、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）か、若しくは「＋１」が加算されたテーブル番号を、次のカレント係数データの符号化に用いる符号化テーブルとして設定すると判定された場合、選択部２１１は、変数cLastAbsLevelに基づいて、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号（curr_table）と、演算部１７６より供給される「＋１」が加算されたテーブル番号との内、いずれか一方を選択し、その値に基づいて次のカレント係数データの符号化に用いる符号化テーブル（next_table_1）を設定する。
【０２１７】
選択部２１２は、設定した次の係数データの符号化に用いられる符号化テーブルのテーブル番号（next_table_1）を、TR符号化部１５３やテーブル指定情報バッファ１５４に供給する。
【０２１８】
＜符号化テーブルの設定方法＞
この場合も、カレント係数データの周辺の係数データの位置や数は、任意である。以下においては、カレント係数データに右上・左下方向にななめに隣接する、当該符号化サブブロック以外の符号化サブブロックに属する係数データを、カレント係数データの周辺の係数データとする場合を例に説明する。
【０２１９】
すなわち、カレント係数データ（Ｃ）の右上に隣接する係数データ（図１１Ａにおいて「Ｅ」が示される係数データ）と、カレント係数データ（Ｃ）の左下に隣接する係数データ（図１１Ａにおいて「Ｆ」が示される係数データ）とが、当該符号化サブブロック以外の符号化サブブロックに属する係数データである場合、その係数データが、カレント係数データの周辺の係数データとされる。
【０２２０】
この場合、TU１９０の各係数データの符号化に用いる符号化テーブル（のテーブル番号）は、例えば、図１８の例のように設定される。
【０２２１】
利用可能なカレント係数データの周辺の係数データの数が０の場合、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号として、初期値（例えば「０」）が設定される。
【０２２２】
また、利用可能なカレント係数データの周辺の係数データの数が１つの場合、その係数データの符号化に用いられた符号化テーブルのテーブル番号が、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号として設定される。
【０２２３】
さらに、利用可能なカレント係数データの周辺の係数データの数が２つの場合、それらの係数データの符号化に用いられた符号化テーブルのテーブル番号の平均値が、カレント係数データの符号化に用いられる符号化テーブルのテーブル番号として設定される。
【０２２４】
なお、この場合も、図１２の例の場合と同様に、平均値の代わりに、中央値等、その他の演算の結果を用いるようにしてもよい。また、例えば、周辺の係数データの符号化に用いられた符号化テーブルのテーブル番号の最大値や最小値等、いずれかのテーブル番号を用いるようにしてもよい。
【０２２５】
＜符号化テーブル選択処理の流れ＞
この場合の符号化テーブル選択処理の流れの例を、図２１および図２２のフローチャートを参照して説明する。
【０２２６】
ステップＳ２０１において、周辺履歴演算部１６１は、変数StatCoeffE, StatCoeffF, prevStatCoeffをそれぞれ初期値（例えば「０」）に設定する。
【０２２７】
変数StatCoeffEは、カレント係数データの右上に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号を示す。変数StatCoeffFは、カレント係数データの左下に隣接する係数データの符号化に用いられた符号化テーブルのテーブル番号を示す。
【０２２８】
ステップＳ２０２の処理は、図１５のステップＳ１３２の処理と同様に実行される。
【０２２９】
ステップＳ２０３において、周辺履歴演算部１６１は、カレント係数データの周辺の係数データの有無により、変数initValueを設定する。
【０２３０】
例えば、カレント係数データが、符号化サブブロック１９１−１（図１１Ａ）の先頭の係数データ（Ｃ）である場合、そのカレント係数データの右上に隣接する係数データ（Ｅ）も、左下に隣接する係数データ（Ｆ）も、当該TU１９０の外側に位置するので、変数StatCoeffEも変数StatCoeffFも、値が「invalid」（履歴がない）になる。
【０２３１】
したがって、この場合、周辺履歴演算部１６１は、変数initValueに変数prevStatCoeffの値を設定する。このカレント係数データがTU１９０の先頭の係数データ（例えば、符号化サブブロック１９１−１の先頭の係数データ（Ｃ））である場合、変数prevStatCoeffの値は、ステップＳ２０１において設定された初期値（例えば「０」）である。
【０２３２】
また、例えば、カレント係数データが、符号化サブブロック１９１−２（図１１Ａ）の先頭の係数データ（Ｃ）である場合、そのカレント係数データの右上に隣接する係数データ（Ｅ）は、当該TU１９０の外側に位置するので、変数StatCoeffEの値は「invalid」（履歴がない）になる。これに対して、カレント係数データの左下に隣接する係数データ（Ｆ）は、当該TU１９０内に存在するので、変数StatCoeffFの値は、そのカレント係数データの左下に隣接する係数データ（Ｆ）の符号化に用いられた符号化テーブルのテーブル番号になる。
【０２３３】
したがって、この場合、周辺履歴演算部１６１は、変数initValueに変数StatCoeffFの値を設定する。図２０の例の場合、変数initValueの値は、「７」に設定される。
【０２３４】
また、例えば、カレント係数データが、符号化サブブロック１９１−３（図１１Ａ）の先頭の係数データ（Ｃ）である場合、そのカレント係数データの左下に隣接する係数データ（Ｆ）は、当該TU１９０の外側に位置するので、変数StatCoeffFの値は「invalid」（履歴がない）になる。これに対して、カレント係数データの右上に隣接する係数データ（Ｅ）は、当該TU１９０内に存在するので、変数StatCoeffEの値は、そのカレント係数データの右上に隣接する係数データ（Ｅ）の符号化に用いられた符号化テーブルのテーブル番号になる。
【０２３５】
したがって、この場合、周辺履歴演算部１６１は、変数initValueに変数StatCoeffEの値を設定する。図２０の例の場合、変数initValueの値は、「５」に設定される。
【０２３６】
さらに、例えば、カレント係数データが、符号化サブブロック１９１−４（図１１Ａ）の先頭の係数データ（Ｃ）である場合、そのカレント係数データの右上に隣接する係数データ（Ｅ）も、左下に隣接する係数データ（Ｆ）も存在する。したがって、変数StatCoeffEの値は、そのカレント係数データの右上に隣接する係数データ（Ｅ）の符号化に用いられた符号化テーブルのテーブル番号になり、変数StatCoeffFの値は、そのカレント係数データの左下に隣接する係数データ（Ｆ）の符号化に用いられた符号化テーブルのテーブル番号になる。
【０２３７】
したがって、この場合、周辺履歴演算部１６１は、変数initValueに変数StatCoeffEと変数StatCoeffFの平均値を設定する。図２０の例の場合、変数StatCoeffEが「１３」で変数StatCoeffFが「１６」になるので、変数initValueの値は、「１５」に設定される。
【０２３８】
ステップＳ２０４およびステップＳ２０５の各処理は、図１５のステップＳ１３４およびステップＳ１３５の各処理と同様に実行される。
【０２３９】
ステップＳ２０５において、未処理の係数データが存在すると判定された場合、処理は、図２２に進む。
【０２４０】
図２２のステップＳ２１１において、選択部２１１および選択部２１２は、カレント係数データの右上に隣接する係数データ（Ｅ）も、左下に隣接する係数データ（Ｆ）も、当該TU１９０の外側か当該符号化サブブロック１９１内に位置し、利用不可能であるか否かが判定される。
【０２４１】
カレント係数データの右上に隣接する係数データ（Ｅ）と、左下に隣接する係数データ（Ｆ）との内、少なくともいずれか一方が、当該TU１９０かつ当該符号化サブブロック１９１以外の符号化サブブロック１９１内に位置し、利用可能であると判定された場合、処理はステップＳ２１２に進む。
【０２４２】
ステップＳ２１２において、周辺履歴演算部１６１は、カレント係数データの周辺の係数データの有無により、変数cRiceParamを設定する。
【０２４３】
例えば、カレント係数データの右上に隣接する係数データ（Ｅ）が当該TU１９０の外側か若しくは当該符号化サブブロック１９１内に位置し、かつ、カレント係数データの左下に隣接する係数データ（Ｆ）が当該TU１９０内の当該符号化サブブロック１９１以外の符号化サブブロック１９１に属する場合、選択部２１１および選択部２１２は、変数cRiceParamに変数StatCoeffF（すなわち、カレント係数データの左下に隣接する係数データ（Ｆ）の符号化に用いられた符号化テーブルのテーブル番号）を設定する。
【０２４４】
また、例えば、カレント係数データの左下に隣接する係数データ（Ｆ）が当該TU１９０の外側か若しくは当該符号化サブブロック１９１内に位置し、かつ、カレント係数データの右上に隣接する係数データ（Ｅ）が当該TU１９０内の当該符号化サブブロック１９１以外の符号化サブブロック１９１に属する場合、選択部２１１および選択部２１２は、変数cRiceParamに変数StatCoeffE（すなわち、カレント係数データの右上に隣接する係数データ（Ｅ）の符号化に用いられた符号化テーブルのテーブル番号）を設定する。
【０２４５】
さらに、例えば、カレント係数データの右上に隣接する係数データ（Ｅ）と、カレント係数データの左下に隣接する係数データ（Ｆ）との両方が、当該TU１９０TU１９０内の当該符号化サブブロック１９１以外の符号化サブブロック１９１に属する場合、選択部２１１および選択部２１２は、変数cRiceParamに、変数StatCoeffE（すなわち、カレント係数データの右上に隣接する係数データ（Ｅ）の符号化に用いられた符号化テーブルのテーブル番号）と、変数StatCoeffF（すなわち、カレント係数データの左下に隣接する係数データ（Ｆ）の符号化に用いられた符号化テーブルのテーブル番号）との平均値を設定する。
【０２４６】
ステップＳ２１２の処理が終了すると、処理は図２１のステップＳ２０５に戻り、それ以降の処理が繰り返される。
【０２４７】
また、ステップＳ２１１において、選択部２１１および選択部２１２は、カレント係数データの右上に隣接する係数データ（Ｅ）も、左下に隣接する係数データ（Ｆ）も、当該TU１９０の外側か当該符号化サブブロック１９１内に位置し、利用不可能であると判定された場合、処理はステップＳ２１３に進む。
ステップＳ２１３およびステップＳ２１４の各処理は、図１５のステップＳ１３６およびステップＳ１３７の各処理と同様に実行される。
【０２４８】
ステップＳ２１４の処理が終了すると、処理は図２１のステップＳ２０５に戻る。
【０２４９】
図２１のステップＳ２０５において、当該符号化サブブロック１９１の全ての係数データを処理したと判定された場合、処理はステップＳ２０６に進む。
【０２５０】
ステップＳ２０６の処理は、図１５のステップＳ１３８の処理と同様に実行される。
【０２５１】
ステップＳ２０６において、当該TU１９０内の全ての符号化サブブロックを処理したと判定された場合、符号化テーブル選択処理が終了し、処理は図１４に戻る。
【０２５２】
以上のように符号化テーブル選択処理を実行することにより、符号化サブブロック１９１の先頭以外の係数データについても、符号化効率の低減を抑制することができる。
【０２５３】
本技術は、画像データを符号化するあらゆる画像処理装置に適用することができる。
【０２５４】
また、本技術は、例えば、画像情報を、MPEG、H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮し、そのビットストリームを、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して送信する際に用いられる画像処理装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像処理装置に適用することができる。
【０２５５】
＜３．第３の実施の形態＞
＜多視点画像符号化・復号システムへの適用＞
上述した一連の処理は、多視点画像符号化・復号システムに適用することができる。図２３は、多視点画像符号化方式の一例を示す。
【０２５６】
図２３に示されるように、多視点画像は、複数の視点（ビュー（view））の画像を含む。この多視点画像の複数のビューは、他のビューの情報を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの情報を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューの符号化・復号は、ベースビューの情報を利用するようにしても良いし、他のノンベースビューの情報を利用するようにしてもよい。
【０２５７】
図２３の例のような多視点画像を符号化・復号する場合、多視点画像は、視点毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各視点の符号化データは、それぞれ（すなわち視点毎に）復号される。このような各視点の符号化・復号に対して、以上の各実施の形態において説明した方法を適用してもよい。このようにすることにより、符号化効率の低減を抑制することができる。つまり、多視点画像の場合も同様に、符号化効率の低減を抑制することができる。
【０２５８】
＜多視点画像符号化・復号システム＞
図２４は、上述した多視点画像符号化・復号を行う多視点画像符号化・復号システムの、多視点画像符号化装置を示す図である。図２４に示されるように、多視点画像符号化装置６００は、符号化部６０１、符号化部６０２、および多重化部６０３を有する。
【０２５９】
符号化部６０１は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部６０２は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部６０３は、符号化部６０１において生成されたベースビュー画像符号化ストリームと、符号化部６０２において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
【０２６０】
図２５は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図２５に示されるように、多視点画像復号装置６１０は、逆多重化部６１１、復号部６１２、および復号部６１３を有する。
【０２６１】
逆多重化部６１１は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部６１２は、逆多重化部６１１により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部６１３は、逆多重化部６１１により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
【０２６２】
例えば、このような多視点画像符号化・復号システムにおいて、多視点画像符号化装置６００の符号化部６０１および符号化部６０２として、以上の各実施の形態において説明した画像符号化装置１００を適用してもよい。このようにすることにより、多視点画像の符号化においても、以上の各実施の形態において説明した方法を適用することができる。すなわち、符号化効率の低減を抑制することができる。
【０２６３】
＜４．第４の実施の形態＞
＜階層画像符号化・復号システムへの適用＞
また、上述した一連の処理は、階層画像符号化（スケーラブル符号化）・復号システムに適用することができる。図２６は、階層画像符号化方式の一例を示す。
【０２６４】
階層画像符号化（スケーラブル符号化）は、画像データを、所定のパラメータについてスケーラビリティ（scalability）機能を有するように、画像を複数レイヤ化（階層化）し、レイヤ毎に符号化するものである。階層画像復号は、その階層画像符号化（スケーラブル復号）は、その階層画像符号化に対応する復号である。
【０２６５】
図２６に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として１の画像が複数の画像（レイヤ）に分割される。つまり、階層化された画像（階層画像）は、その所定のパラメータの値が互いに異なる複数の階層（レイヤ）の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ（エンハンスメントレイヤとも称する）とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
【０２６６】
一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ（差分データ）により構成される。例えば、１の画像をベースレイヤとノンベースレイヤ（エンハンスメントレイヤとも称する）に２階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像（すなわち高品質な画像）が得られる。
【０２６７】
このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ（base layer）のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ（base layer）に加えて、エンハンスメントレイヤ（enhancement layer）の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
【０２６８】
図２６の例のような階層画像を符号化・復号する場合、階層画像は、レイヤ毎に符号化される。そして、そのようにして得られた符号化データを復号する場合、各レイヤの符号化データは、それぞれ（すなわちレイヤ毎に）復号される。このような各レイヤの符号化・復号に対して、以上の各実施の形態において説明した方法を適用してもよい。このようにすることにより、符号化効率の低減を抑制することができる。つまり、階層画像の場合も同様に、符号化効率の低減を抑制することができる。
【０２６９】
＜スケーラブルなパラメータ＞
このような階層画像符号化・階層画像復号（スケーラブル符号化・スケーラブル復号）において、スケーラビリティ（scalability）機能を有するパラメータは、任意である。例えば、空間解像度をそのパラメータとしてもよい（spatial scalability）。このスペーシャルスケーラビリティ（spatial scalability）の場合、レイヤ毎に画像の解像度が異なる。
【０２７０】
また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、時間解像度を適用しても良い（temporal scalability）。このテンポラルスケーラビリティ（temporal scalability）の場合、レイヤ毎にフレームレートが異なる。
【０２７１】
さらに、このようなスケーラビリティ性を持たせるパラメータとして、例えば、信号雑音比（SNR（Signal to Noise ratio））を適用しても良い（SNR scalability）。このSNRスケーラビリティ（SNR scalability）の場合、レイヤ毎にSN比が異なる。
【０２７２】
スケーラビリティ性を持たせるパラメータは、上述した例以外であっても、もちろんよい。例えば、ベースレイヤ（base layer）が８ビット（bit）画像よりなり、これにエンハンスメントレイヤ（enhancement layer）を加えることにより、10ビット（bit）画像が得られるビット深度スケーラビリティ（bit-depth scalability）がある。
【０２７３】
また、ベースレイヤ（base layer）が4:2:0フォーマットのコンポーネント画像よりなり、これにエンハンスメントレイヤ（enhancement layer）を加えることにより、4:2:2フォーマットのコンポーネント画像が得られるクロマスケーラビリティ（chroma scalability）がある。
【０２７４】
＜階層画像符号化・復号システム＞
図２７は、上述した階層画像符号化・復号を行う階層画像符号化・復号システムの、階層画像符号化装置を示す図である。図２７に示されるように、階層画像符号化装置６２０は、符号化部６２１、符号化部６２２、および多重化部６２３を有する。
【０２７５】
符号化部６２１は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部６２２は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部６２３は、符号化部６２１において生成されたベースレイヤ画像符号化ストリームと、符号化部６２２において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
【０２７６】
図２８は、上述した階層画像復号を行う階層画像復号装置を示す図である。図２８に示されるように、階層画像復号装置６３０は、逆多重化部６３１、復号部６３２、および復号部６３３を有する。
【０２７７】
逆多重化部６３１は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部６３２は、逆多重化部６３１により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部６３３は、逆多重化部６３１により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
【０２７８】
例えば、このような階層画像符号化・復号システムにおいて、階層画像符号化装置６２０の符号化部６２１および符号化部６２２として、以上の各実施の形態において説明した画像符号化装置１００を適用してもよい。このようにすることにより、階層画像の符号化においても、以上の各実施の形態において説明した方法を適用することができる。すなわち、符号化効率の低減を抑制することができる。
【０２７９】
＜５．第５の実施の形態＞
＜コンピュータ＞
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【０２８０】
図２９は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０２８１】
図２９に示されるコンピュータ８００において、CPU（Central Processing Unit）８０１、ROM（Read Only Memory）８０２、RAM（Random Access Memory）８０３は、バス８０４を介して相互に接続されている。
【０２８２】
バス８０４にはまた、入出力インタフェース８１０も接続されている。入出力インタフェース８１０には、入力部８１１、出力部８１２、記憶部８１３、通信部８１４、およびドライブ８１５が接続されている。
【０２８３】
入力部８１１は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部８１２は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部８１３は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部８１４は、例えば、ネットワークインタフェースよりなる。ドライブ８１５は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア８２１を駆動する。
【０２８４】
以上のように構成されるコンピュータでは、CPU８０１が、例えば、記憶部８１３に記憶されているプログラムを、入出力インタフェース８１０およびバス８０４を介して、RAM８０３にロードして実行することにより、上述した一連の処理が行われる。RAM８０３にはまた、CPU８０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２８５】
コンピュータ（CPU８０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア８２１に記録して適用することができる。その場合、プログラムは、リムーバブルメディア８２１をドライブ８１５に装着することにより、入出力インタフェース８１０を介して、記憶部８１３にインストールすることができる。
【０２８６】
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部８１４で受信し、記憶部８１３にインストールすることができる。
【０２８７】
その他、このプログラムは、ROM８０２や記憶部８１３に、あらかじめインストールしておくこともできる。
【０２８８】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２８９】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２９０】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０２９１】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。
【０２９２】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２９３】
例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２９４】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２９５】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２９６】
上述した実施形態に係る画像符号化装置１００は、例えば、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０２９７】
＜６．第６の実施の形態＞
＜第１の応用例：テレビジョン受像機＞
図３０は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース（I/F）部９０９、制御部９１０、ユーザインタフェース（I/F）部９１１、及びバス９１２を備える。
【０２９８】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送部としての役割を有する。
【０２９９】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからEPG（Electronic Program Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０３００】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０３０１】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのGUI（Graphical User Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０３０２】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD（Organic ElectroLuminescence Display）（有機ELディスプレイ）など）の映像面上に映像又は画像を表示する。
【０３０３】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０３０４】
外部インタフェース部９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース部９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送部としての役割を有する。
【０３０５】
制御部９１０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０３０６】
ユーザインタフェース部９１１は、制御部９１０と接続される。ユーザインタフェース部９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０３０７】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース部９０９及び制御部９１０を相互に接続する。
【０３０８】
このように構成されたテレビジョン装置９００において、映像信号処理部９０５が、例えば、デコーダ９０４から供給される画像データを符号化し、得られた符号化データを、外部インタフェース部９０９を介してテレビジョン装置９００の外部に出力させることができるようにしてもよい。そして、その映像信号処理部９０５が、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、映像信号処理部９０５が、デコーダ９０４から供給される画像データを以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、テレビジョン装置９００は、出力する符号化データの符号化効率の低減を抑制することができる。
【０３０９】
＜第２の応用例：携帯電話機＞
図３１は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０３１０】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０３１１】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０３１２】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０３１３】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９に供給し、その記憶媒体に書き込ませる。
【０３１４】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB（Universal Serial Bus）メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０３１５】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記録再生部９２９に供給し、その記憶媒体に書き込ませる。
【０３１６】
さらに、画像表示モードにおいて、記録再生部９２９は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部９２７へ出力する。画像処理部９２７は、記録再生部９２９から入力される符号化ストリームを復号し、画像データを表示部９３０に供給し、その画像を表示させる。
【０３１７】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０３１８】
このように構成された携帯電話機９２０において、例えば画像処理部９２７が、画像符号化装置１００の機能を有するようにしてもよい。つまり、画像処理部９２７が、以上の各実施の形態において説明した方法により、画像データを符号化するようにしてもよい。このようにすることにより、携帯電話機９２０は、符号化効率の低減を抑制することができる。
【０３１９】
＜第３の応用例：記録再生装置＞
図３２は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データおよび映像データを復号する。
【０３２０】
記録再生装置９４０は、チューナ９４１、外部インタフェース（I/F）部９４２、エンコーダ９４３、HDD（Hard Disk Drive）９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、OSD（On-Screen Display）９４８、制御部９４９、およびユーザインタフェース（I/F）部９５０を備える。
【０３２１】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送部としての役割を有する。
【０３２２】
外部インタフェース部９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部９４２は、例えば、IEEE（Institute of Electrical and Electronic Engineers）1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部９４２を介して受信される映像データおよび音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース部９４２は、記録再生装置９４０における伝送部としての役割を有する。
【０３２３】
エンコーダ９４３は、外部インタフェース部９４２から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０３２４】
HDD９４４は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD９４４は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
【０３２５】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばDVD（Digital Versatile Disc）ディスク（DVD-Video、DVD-RAM（DVD - Random Access Memory）、DVD-R（DVD - Recordable）、DVD-RW（DVD - Rewritable）、DVD+R（DVD + Recordable）、DVD+RW（DVD + Rewritable）等）又はBlu-ray（登録商標）ディスクなどであってよい。
【０３２６】
セレクタ９４６は、映像および音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、HDD９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０３２７】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをOSD９４８へ出力する。また、デコーダ９４７は、生成した音声データを外部のスピーカへ出力する。
【０３２８】
OSD９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、OSD９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【０３２９】
制御部９４９は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０３３０】
ユーザインタフェース部９５０は、制御部９４９と接続される。ユーザインタフェース部９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０３３１】
このように構成された記録再生装置９４０において、例えばエンコーダ９４３が、画像符号化装置１００の機能を有するようにしてもよい。つまり、エンコーダ９４３が、以上の各実施の形態において説明方法により、画像データを符号化するようにしてもよい。このようにすることにより、記録再生装置９４０は、符号化効率の低減を抑制することができる。
【０３３２】
＜第４の応用例：撮像装置＞
図３３は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０３３３】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース（I/F）部９６６、メモリ部９６７、メディアドライブ９６８、OSD９６９、制御部９７０、ユーザインタフェース（I/F）部９７１、およびバス９７２を備える。
【０３３４】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース部９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース部９６６、メモリ部９６７、メディアドライブ９６８、OSD９６９、および制御部９７０を相互に接続する。
【０３３５】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、CCD（Charge Coupled Device）又はCMOS（Complementary Metal Oxide Semiconductor）などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０３３６】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０３３７】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース部９６６またはメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース部９６６またはメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、OSD９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０３３８】
OSD９６９は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０３３９】
外部インタフェース部９６６は、例えばUSB入出力端子として構成される。外部インタフェース部９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース部９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース部９６６は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部９６６は、撮像装置９６０における伝送部としての役割を有する。
【０３４０】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD（Solid State Drive）のような非可搬性の記憶部が構成されてもよい。
【０３４１】
制御部９７０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０３４２】
ユーザインタフェース部９７１は、制御部９７０と接続される。ユーザインタフェース部９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０３４３】
このように構成された撮像装置９６０において、例えば画像処理部９６４が、画像符号化装置１００の機能を有するようにしてもよい。つまり、画像処理部９６４が、以上の各実施の形態において説明した方法により、画像データを符号化するようにしてもよい。このようにすることにより、撮像装置９６０は、符号化効率の低減を抑制することができる。
【０３４４】
なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
【０３４５】
＜７．第７の実施の形態＞
＜実施のその他の例＞
以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI（Large Scale Integration）等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等（すなわち、装置の一部の構成）として実施することもできる。
【０３４６】
＜ビデオセット＞
本技術をセットとして実施する場合の例について、図３４を参照して説明する。図３４は、本技術を適用したビデオセットの概略的な構成の一例を示している。
【０３４７】
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、１機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する１セットとして実施を行う場合も多く見られるようになってきた。
【０３４８】
図３４に示されるビデオセット１３００は、このような多機能化された構成であり、画像の符号化や復号（いずれか一方でもよいし、両方でも良い）に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
【０３４９】
図３４に示されるように、ビデオセット１３００は、ビデオモジュール１３１１、外部メモリ１３１２、パワーマネージメントモジュール１３１３、およびフロントエンドモジュール１３１４等のモジュール群と、コネクティビティ１３２１、カメラ１３２２、およびセンサ１３２３等の関連する機能を有するデバイスとを有する。
【０３５０】
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
【０３５１】
図３４の例の場合、ビデオモジュール１３１１は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム１３３３、およびRFモジュール１３３４を有する。
【０３５２】
プロセッサは、所定の機能を有する構成をSoC（System On a Chip）により半導体チップに集積したものであり、例えばシステムLSI（Large Scale Integration）等と称されるものもある。この所定の機能を有する構成は、論理回路（ハードウエア構成）であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム（ソフトウエア構成）であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路（ハードウエア構成）により実現し、その他の機能をCPUにおいて実行されるプログラム（ソフトウエア構成）により実現するようにしてもよい。
【０３５３】
図３４のアプリケーションプロセッサ１３３１は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ１３３１において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ１３３２等、ビデオモジュール１３１１内外の構成を必要に応じて制御することもできる。
【０３５４】
ビデオプロセッサ１３３２は、画像の符号化・復号（その一方若しくは両方）に関する機能を有するプロセッサである。
【０３５５】
ブロードバンドモデム１３３３は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線（またはその両方）の広帯域通信により送信するデータ（デジタル信号）をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ（デジタル信号）に変換したりする。ブロードバンドモデム１３３３は、例えば、ビデオプロセッサ１３３２が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
【０３５６】
RFモジュール１３３４は、アンテナを介して送受信されるRF（Radio Frequency）信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール１３３４は、ブロードバンドモデム１３３３により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール１３３４は、フロントエンドモジュール１３１４を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
【０３５７】
なお、図３４において点線１３４１に示されるように、アプリケーションプロセッサ１３３１とビデオプロセッサ１３３２を、一体化し、１つのプロセッサとして構成されるようにしてもよい。
【０３５８】
外部メモリ１３１２は、ビデオモジュール１３１１の外部に設けられた、ビデオモジュール１３１１により利用される記憶デバイスを有するモジュールである。この外部メモリ１３１２の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM（Dynamic Random Access Memory）のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
【０３５９】
パワーマネージメントモジュール１３１３は、ビデオモジュール１３１１（ビデオモジュール１３１１内の各構成）への電力供給を管理し、制御する。
【０３６０】
フロントエンドモジュール１３１４は、RFモジュール１３３４に対してフロントエンド機能（アンテナ側の送受信端の回路）を提供するモジュールである。図３４に示されるように、フロントエンドモジュール１３１４は、例えば、アンテナ部１３５１、フィルタ１３５２、および増幅部１３５３を有する。
【０３６１】
アンテナ部１３５１は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部１３５１は、増幅部１３５３から供給される信号を無線信号として送信し、受信した無線信号を電気信号（RF信号）としてフィルタ１３５２に供給する。フィルタ１３５２は、アンテナ部１３５１を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール１３３４に供給する。増幅部１３５３は、RFモジュール１３３４から供給されるRF信号を増幅し、アンテナ部１３５１に供給する。
【０３６２】
コネクティビティ１３２１は、外部との接続に関する機能を有するモジュールである。コネクティビティ１３２１の物理構成は、任意である。例えば、コネクティビティ１３２１は、ブロードバンドモデム１３３３が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
【０３６３】
例えば、コネクティビティ１３２１が、Bluetooth（登録商標）、IEEE 802.11（例えばWi-Fi（Wireless Fidelity、登録商標））、NFC（Near Field Communication）、IrDA（InfraRed Data Association）等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ１３２１が、USB（Universal Serial Bus）、HDMI（登録商標）（High-Definition Multimedia Interface）等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ１３２１が、アナログ入出力端子等のその他のデータ（信号）伝送機能等を有するようにしてもよい。
【０３６４】
なお、コネクティビティ１３２１が、データ（信号）の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ１３２１が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ（リムーバブルメディアのドライブだけでなく、ハードディスク、SSD（Solid State Drive）、NAS（Network Attached Storage）等も含む）を有するようにしてもよい。また、コネクティビティ１３２１が、画像や音声の出力デバイス（モニタやスピーカ等）を有するようにしてもよい。
【０３６５】
カメラ１３２２は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ１３２２の撮像により得られた画像データは、例えば、ビデオプロセッサ１３３２に供給されて符号化される。
【０３６６】
センサ１３２３は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ１３２３により検出されたデータは、例えば、アプリケーションプロセッサ１３３１に供給されてアプリケーション等により利用される。
【０３６７】
以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
【０３６８】
以上のような構成のビデオセット１３００において、後述するようにビデオプロセッサ１３３２に本技術を適用することができる。したがって、ビデオセット１３００は、本技術を適用したセットとして実施することができる。
【０３６９】
＜ビデオプロセッサの構成例＞
図３５は、本技術を適用したビデオプロセッサ１３３２（図３４）の概略的な構成の一例を示している。
【０３７０】
図３５の例の場合、ビデオプロセッサ１３３２は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
【０３７１】
図３５に示されるように、ビデオプロセッサ１３３２は、ビデオ入力処理部１４０１、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３、ビデオ出力処理部１４０４、フレームメモリ１４０５、およびメモリ制御部１４０６を有する。また、ビデオプロセッサ１３３２は、エンコード・デコードエンジン１４０７、ビデオES（Elementary Stream）バッファ１４０８Ａおよび１４０８Ｂ、並びに、オーディオESバッファ１４０９Ａおよび１４０９Ｂを有する。さらに、ビデオプロセッサ１３３２は、オーディオエンコーダ１４１０、オーディオデコーダ１４１１、多重化部（MUX（Multiplexer））１４１２、逆多重化部（DMUX（Demultiplexer））１４１３、およびストリームバッファ１４１４を有する。
【０３７２】
ビデオ入力処理部１４０１は、例えばコネクティビティ１３２１（図３４）等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第１画像拡大縮小部１４０２は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第２画像拡大縮小部１４０３は、画像データに対して、ビデオ出力処理部１４０４を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第１画像拡大縮小部１４０２と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部１４０４は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ１３２１等に出力する。
【０３７３】
フレームメモリ１４０５は、ビデオ入力処理部１４０１、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３、ビデオ出力処理部１４０４、およびエンコード・デコードエンジン１４０７によって共用される画像データ用のメモリである。フレームメモリ１４０５は、例えばDRAM等の半導体メモリとして実現される。
【０３７４】
メモリ制御部１４０６は、エンコード・デコードエンジン１４０７からの同期信号を受けて、アクセス管理テーブル１４０６Ａに書き込まれたフレームメモリ１４０５へのアクセススケジュールに従ってフレームメモリ１４０５に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル１４０６Ａは、エンコード・デコードエンジン１４０７、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３等で実行される処理に応じて、メモリ制御部１４０６により更新される。
【０３７５】
エンコード・デコードエンジン１４０７は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン１４０７は、フレームメモリ１４０５から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ１４０８Ａに順次書き込む。また、例えば、ビデオESバッファ１４０８Ｂからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ１４０５に順次書き込む。エンコード・デコードエンジン１４０７は、これらの符号化や復号において、フレームメモリ１４０５を作業領域として使用する。また、エンコード・デコードエンジン１４０７は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部１４０６に対して同期信号を出力する。
【０３７６】
ビデオESバッファ１４０８Ａは、エンコード・デコードエンジン１４０７によって生成されたビデオストリームをバッファリングして、多重化部（MUX）１４１２に供給する。ビデオESバッファ１４０８Ｂは、逆多重化部（DMUX）１４１３から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン１４０７に供給する。
【０３７７】
オーディオESバッファ１４０９Ａは、オーディオエンコーダ１４１０によって生成されたオーディオストリームをバッファリングして、多重化部（MUX）１４１２に供給する。オーディオESバッファ１４０９Ｂは、逆多重化部（DMUX）１４１３から供給されたオーディオストリームをバッファリングして、オーディオデコーダ１４１１に供給する。
【０３７８】
オーディオエンコーダ１４１０は、例えばコネクティビティ１３２１等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3（AudioCode number 3）方式等の所定の方式で符号化する。オーディオエンコーダ１４１０は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ１４０９Ａに順次書き込む。オーディオデコーダ１４１１は、オーディオESバッファ１４０９Ｂから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ１３２１等に供給する。
【０３７９】
多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法（すなわち、多重化により生成されるビットストリームのフォーマット）は任意である。また、この多重化の際に、多重化部（MUX）１４１２は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部（MUX）１４１２は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ（ファイルデータ）に変換する。
【０３８０】
逆多重化部（DMUX）１４１３は、多重化部（MUX）１４１２による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部（DMUX）１４１３は、ストリームバッファ１４１４から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する（ビデオストリームとオーディオストリームとを分離する）。つまり、逆多重化部（DMUX）１４１３は、逆多重化によりストリームのフォーマットを変換（多重化部（MUX）１４１２による変換の逆変換）することができる。例えば、逆多重化部（DMUX）１４１３は、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等から供給されたトランスポートストリームを、ストリームバッファ１４１４を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部（DMUX）１４１３は、例えばコネクティビティ１３２１により各種記録媒体から読み出されたファイルデータを、ストリームバッファ１４１４を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
【０３８１】
ストリームバッファ１４１４は、ビットストリームをバッファリングする。例えば、ストリームバッファ１４１４は、多重化部（MUX）１４１２から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等に供給する。
【０３８２】
また、例えば、ストリームバッファ１４１４は、多重化部（MUX）１４１２から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ１３２１等に供給し、各種記録媒体に記録させる。
【０３８３】
さらに、ストリームバッファ１４１４は、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部（DMUX）１４１３に供給する。
【０３８４】
また、ストリームバッファ１４１４は、例えばコネクティビティ１３２１等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部（DMUX）１４１３に供給する。
【０３８５】
次に、このような構成のビデオプロセッサ１３３２の動作の例について説明する。例えば、コネクティビティ１３２１等からビデオプロセッサ１３３２に入力されたビデオ信号は、ビデオ入力処理部１４０１において４：２：２Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式のデジタル画像データに変換され、フレームメモリ１４０５に順次書き込まれる。このデジタル画像データは、第１画像拡大縮小部１４０２または第２画像拡大縮小部１４０３に読み出されて、４：２：０Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ１４０５に書き込まれる。この画像データは、エンコード・デコードエンジン１４０７によって符号化され、ビデオストリームとしてビデオESバッファ１４０８Ａに書き込まれる。
【０３８６】
また、コネクティビティ１３２１等からビデオプロセッサ１３３２に入力されたオーディオ信号は、オーディオエンコーダ１４１０によって符号化され、オーディオストリームとして、オーディオESバッファ１４０９Ａに書き込まれる。
【０３８７】
ビデオESバッファ１４０８Ａのビデオストリームと、オーディオESバッファ１４０９Ａのオーディオストリームは、多重化部（MUX）１４１２に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部（MUX）１４１２により生成されたトランスポートストリームは、ストリームバッファ１４１４にバッファされた後、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークに出力される。また、多重化部（MUX）１４１２により生成されたファイルデータは、ストリームバッファ１４１４にバッファされた後、例えばコネクティビティ１３２１等に出力され、各種記録媒体に記録される。
【０３８８】
また、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークからビデオプロセッサ１３３２に入力されたトランスポートストリームは、ストリームバッファ１４１４にバッファされた後、逆多重化部（DMUX）１４１３により逆多重化される。また、例えばコネクティビティ１３２１等において各種記録媒体から読み出され、ビデオプロセッサ１３３２に入力されたファイルデータは、ストリームバッファ１４１４にバッファされた後、逆多重化部（DMUX）１４１３により逆多重化される。つまり、ビデオプロセッサ１３３２に入力されたトランスポートストリームまたはファイルデータは、逆多重化部（DMUX）１４１３によりビデオストリームとオーディオストリームとに分離される。
【０３８９】
オーディオストリームは、オーディオESバッファ１４０９Ｂを介してオーディオデコーダ１４１１に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ１４０８Ｂに書き込まれた後、エンコード・デコードエンジン１４０７により順次読み出されて復号されてフレームメモリ１４０５に書き込まれる。復号された画像データは、第２画像拡大縮小部１４０３によって拡大縮小処理されて、フレームメモリ１４０５に書き込まれる。そして、復号された画像データは、ビデオ出力処理部１４０４に読み出されて、４：２：２Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
【０３９０】
このように構成されるビデオプロセッサ１３３２に本技術を適用する場合、エンコード・デコードエンジン１４０７に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン１４０７が、上述した画像符号化装置１００の機能を有するようにしてもよい。このようにすることにより、ビデオプロセッサ１３３２は、図１乃至図２２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０３９１】
なお、エンコード・デコードエンジン１４０７において、本技術（すなわち、画像符号化装置１００の機能）は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
【０３９２】
＜ビデオプロセッサの他の構成例＞
図３６は、本技術を適用したビデオプロセッサ１３３２の概略的な構成の他の例を示している。図３６の例の場合、ビデオプロセッサ１３３２は、ビデオデータを所定の方式で符号化・復号する機能を有する。
【０３９３】
より具体的には、図３６に示されるように、ビデオプロセッサ１３３２は、制御部１５１１、ディスプレイインタフェース１５１２、ディスプレイエンジン１５１３、画像処理エンジン１５１４、および内部メモリ１５１５を有する。また、ビデオプロセッサ１３３２は、コーデックエンジン１５１６、メモリインタフェース１５１７、多重化・逆多重化部（MUX DMUX）１５１８、ネットワークインタフェース１５１９、およびビデオインタフェース１５２０を有する。
【０３９４】
制御部１５１１は、ディスプレイインタフェース１５１２、ディスプレイエンジン１５１３、画像処理エンジン１５１４、およびコーデックエンジン１５１６等、ビデオプロセッサ１３３２内の各処理部の動作を制御する。
【０３９５】
図３６に示されるように、制御部１５１１は、例えば、メインCPU１５３１、サブCPU１５３２、およびシステムコントローラ１５３３を有する。メインCPU１５３１は、ビデオプロセッサ１３３２内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU１５３１は、そのプログラム等に従って制御信号を生成し、各処理部に供給する（つまり、各処理部の動作を制御する）。サブCPU１５３２は、メインCPU１５３１の補助的な役割を果たす。例えば、サブCPU１５３２は、メインCPU１５３１が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ１５３３は、メインCPU１５３１およびサブCPU１５３２が実行するプログラムを指定する等、メインCPU１５３１およびサブCPU１５３２の動作を制御する。
【０３９６】
ディスプレイインタフェース１５１２は、制御部１５１１の制御の下、画像データを例えばコネクティビティ１３２１等に出力する。例えば、ディスプレイインタフェース１５１２は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ１３２１のモニタ装置等に出力する。
【０３９７】
ディスプレイエンジン１５１３は、制御部１５１１の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
【０３９８】
画像処理エンジン１５１４は、制御部１５１１の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
【０３９９】
内部メモリ１５１５は、ディスプレイエンジン１５１３、画像処理エンジン１５１４、およびコーデックエンジン１５１６により共用される、ビデオプロセッサ１３３２の内部に設けられたメモリである。内部メモリ１５１５は、例えば、ディスプレイエンジン１５１３、画像処理エンジン１５１４、およびコーデックエンジン１５１６の間で行われるデータの授受に利用される。例えば、内部メモリ１５１５は、ディスプレイエンジン１５１３、画像処理エンジン１５１４、またはコーデックエンジン１５１６から供給されるデータを格納し、必要に応じて（例えば、要求に応じて）、そのデータを、ディスプレイエンジン１５１３、画像処理エンジン１５１４、またはコーデックエンジン１５１６に供給する。この内部メモリ１５１５は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM（Static Random Access Memory）のような比較的（例えば外部メモリ１３１２と比較して）小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
【０４００】
コーデックエンジン１５１６は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン１５１６が対応する符号化・復号の方式は任意であり、その数は１つであってもよいし、複数であってもよい。例えば、コーデックエンジン１５１６は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
【０４０１】
図３６に示される例において、コーデックエンジン１５１６は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video１５４１、AVC/H.264１５４２、HEVC/H.265１５４３、HEVC/H.265(Scalable)１５４４、HEVC/H.265(Multi-view)１５４５、およびMPEG-DASH１５５１を有する。
【０４０２】
MPEG-2 Video１５４１は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.264１５４２は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265１５４３は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)１５４４は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)１５４５は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
【０４０３】
MPEG-DASH１５５１は、画像データをMPEG-DASH（MPEG-Dynamic Adaptive Streaming over HTTP）方式で送受信する機能ブロックである。MPEG-DASHは、HTTP（HyperText Transfer Protocol）を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の１つとする。MPEG-DASH１５５１は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video１５４１乃至HEVC/H.265(Multi-view)１５４５を利用する。
【０４０４】
メモリインタフェース１５１７は、外部メモリ１３１２用のインタフェースである。画像処理エンジン１５１４やコーデックエンジン１５１６から供給されるデータは、メモリインタフェース１５１７を介して外部メモリ１３１２に供給される。また、外部メモリ１３１２から読み出されたデータは、メモリインタフェース１５１７を介してビデオプロセッサ１３３２（画像処理エンジン１５１４若しくはコーデックエンジン１５１６）に供給される。
【０４０５】
多重化・逆多重化部（MUX DMUX）１５１８は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部（MUX DMUX）１５１８は、複数のデータを１つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部（MUX DMUX）１５１８は、１つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部（MUX DMUX）１５１８は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部（MUX DMUX）１５１８は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ（ファイルデータ）に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
【０４０６】
ネットワークインタフェース１５１９は、例えばブロードバンドモデム１３３３やコネクティビティ１３２１等向けのインタフェースである。ビデオインタフェース１５２０は、例えばコネクティビティ１３２１やカメラ１３２２等向けのインタフェースである。
【０４０７】
次に、このようなビデオプロセッサ１３３２の動作の例について説明する。例えば、コネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース１５１９を介して多重化・逆多重化部（MUX DMUX）１５１８に供給されて逆多重化され、コーデックエンジン１５１６により復号される。コーデックエンジン１５１６の復号により得られた画像データは、例えば、画像処理エンジン１５１４により所定の画像処理が施され、ディスプレイエンジン１５１３により所定の変換が行われ、ディスプレイインタフェース１５１２を介して例えばコネクティビティ１３２１等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン１５１６の復号により得られた画像データは、コーデックエンジン１５１６により再符号化され、多重化・逆多重化部（MUX DMUX）１５１８により多重化されてファイルデータに変換され、ビデオインタフェース１５２０を介して例えばコネクティビティ１３２１等に出力され、各種記録媒体に記録される。
【０４０８】
さらに、例えば、コネクティビティ１３２１等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース１５２０を介して多重化・逆多重化部（MUX DMUX）１５１８に供給されて逆多重化され、コーデックエンジン１５１６により復号される。コーデックエンジン１５１６の復号により得られた画像データは、画像処理エンジン１５１４により所定の画像処理が施され、ディスプレイエンジン１５１３により所定の変換が行われ、ディスプレイインタフェース１５１２を介して例えばコネクティビティ１３２１等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン１５１６の復号により得られた画像データは、コーデックエンジン１５１６により再符号化され、多重化・逆多重化部（MUX DMUX）１５１８により多重化されてトランスポートストリームに変換され、ネットワークインタフェース１５１９を介して例えばコネクティビティ１３２１やブロードバンドモデム１３３３等に供給され図示せぬ他の装置に伝送される。
【０４０９】
なお、ビデオプロセッサ１３３２内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ１５１５や外部メモリ１３１２を利用して行われる。また、パワーマネージメントモジュール１３１３は、例えば制御部１５１１への電力供給を制御する。
【０４１０】
このように構成されるビデオプロセッサ１３３２に本技術を適用する場合、コーデックエンジン１５１６に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン１５１６が、上述した画像符号化装置１００を実現する機能ブロックを有するようにすればよい。このようにすることにより、ビデオプロセッサ１３３２は、図１乃至図２２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４１１】
なお、コーデックエンジン１５１６において、本技術（すなわち、画像符号化装置１００の機能）は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
【０４１２】
以上にビデオプロセッサ１３３２の構成を２例示したが、ビデオプロセッサ１３３２の構成は任意であり、上述した２例以外のものであってもよい。また、このビデオプロセッサ１３３２は、１つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する３次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
【０４１３】
＜装置への適用例＞
ビデオセット１３００は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット１３００は、テレビジョン装置９００（図３０）、携帯電話機９２０（図３１）、記録再生装置９４０（図３２）、撮像装置９６０（図３３）等に組み込むことができる。ビデオセット１３００を組み込むことにより、その装置は、図１乃至図２２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４１４】
なお、上述したビデオセット１３００の各構成の一部であっても、ビデオプロセッサ１３３２を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ１３３２のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線１３４１により示されるプロセッサやビデオモジュール１３１１等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール１３１１、外部メモリ１３１２、パワーマネージメントモジュール１３１３、およびフロントエンドモジュール１３１４を組み合わせ、本技術を適用したビデオユニット１３６１として実施することもできる。いずれの構成の場合であっても、図１乃至図２２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４１５】
つまり、ビデオプロセッサ１３３２を含むものであればどのような構成であっても、ビデオセット１３００の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ１３３２、点線１３４１により示されるプロセッサ、ビデオモジュール１３１１、または、ビデオユニット１３６１を、テレビジョン装置９００（図３０）、携帯電話機９２０（図３１）、記録再生装置９４０（図３２）、撮像装置９６０（図３３）等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット１３００の場合と同様に、図１乃至図２２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４１６】
また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０４１７】
なお、本技術は以下のような構成も取ることができる。
（１）  符号化される画像データの処理対象であるカレント係数データの符号化に用いる符号化テーブルを、前記カレント係数データの周辺の係数データの符号化に用いられた符号化テーブルに基づいて設定する設定部と、
前記設定部により設定された符号化テーブルを用いて、前記カレント係数データを符号化する符号化部と
を備える画像処理装置。
（２）
前記設定部は、前記周辺の係数データの符号化に用いられた符号化テーブルとして、前記カレント係数データの右に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの下に隣接する係数データの符号化に用いられた符号化テーブルとに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定する
（１）に記載の画像処理装置。
（３）  前記設定部は、前記周辺の係数データの符号化に用いられた符号化テーブルとして、前記カレント係数データの右に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの下に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの右下に隣接する係数データの符号化に用いられた符号化テーブルとに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定する
（１）または（２）に記載の画像処理装置。
（４）  前記設定部は、前記周辺の係数データの符号化に用いられた符号化テーブルとして、前記カレント係数データの右上に隣接する係数データの符号化に用いられた符号化テーブルと、前記カレント係数データの左下に隣接する係数データの符号化に用いられた符号化テーブルとに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定する
（１）乃至（３）のいずれかに記載の画像処理装置。
（５）  前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが単数の場合、前記符号化テーブルを、前記カレント係数データの符号化に用いる符号化テーブルとして設定する
（１）乃至（４）のいずれかに記載の画像処理装置。
（６）  前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが複数の場合、複数の前記符号化テーブルのテーブル番号の平均値をテーブル番号とする符号化テーブルを、前記カレント係数データの符号化に用いる符号化テーブルとして設定する
（１）乃至（５）のいずれかに記載の画像処理装置。
（７）  前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが複数の場合、複数の前記符号化テーブルのテーブル番号の中央値をテーブル番号とする符号化テーブルを、前記カレント係数データの符号化に用いる符号化テーブルとして設定する
（１）乃至（６）のいずれかに記載の画像処理装置。
（８）  前記設定部は、利用可能な前記周辺の係数データの符号化に用いられた符号化テーブルが複数の場合、複数の前記符号化テーブルのいずれかを、前記カレント係数データの符号化に用いる符号化テーブルとして設定する
（１）乃至（７）のいずれかに記載の画像処理装置。
（９）  前記設定部は、前記カレント係数データが、前記画像データの符号化単位における先頭の係数データである場合、前記カレント係数データの符号化に用いる符号化テーブルを、前記周辺の係数データの符号化に用いられた符号化テーブルに基づいて設定する
（１）乃至（８）のいずれかに記載の画像処理装置。
（１０）  前記設定部は、全ての係数データについて、前記カレント係数データの符号化に用いる符号化テーブルを、前記周辺の係数データの符号化に用いられた符号化テーブルに基づいて設定する
（１）乃至（９）のいずれかに記載の画像処理装置。
（１１）  前記設定部は、前記周辺の係数データの符号化に用いられた符号化テーブルとして、前記カレント係数データに隣接し、かつ、前記カレント係数データの符号化単位と異なる符号化単位に属する係数データの符号化に用いられた符号化テーブルに基づいて、前記カレント係数データの符号化に用いる符号化テーブルを設定する
（１０）に記載の画像処理装置。
（１２）  符号化される画像データの処理対象であるカレント係数データの符号化に用いる符号化テーブルを、前記カレント係数データの周辺の係数データの符号化に用いられた符号化テーブルに基づいて設定し、
設定された符号化テーブルを用いて、前記カレント係数データを符号化する
画像処理方法。
【符号の説明】
【０４１８】
１００  画像符号化装置，  １１５  可逆符号化部，  １５１  制御部，  １５２  テーブル選択部，  １５３  TR符号化部，  １５４  テーブル指定情報バッファ，  １６１  周辺履歴演算部，  １６２  テーブル処理部，  １６３  選択部，  １６４  ベースレベル決定部，  １６５  演算部，  １６６  演算部，  １６７  選択部，  １７１  シフト処理部，  １７２  テーブル処理部，  １７３  選択部，  １７４  ベースレベル決定部，  １７５  演算部，  １７６  演算部，  １７７  選択部，  １９０  TU，  １９１  符号化サブブロック，  ２１１  選択部，  ２１２  選択部
【図１】
0006341067.tif 000002
【図２】
0006341067.tif 000003
【図３】
0006341067.tif 000004
【図４】
0006341067.tif 000005
【図５】
0006341067.tif 000006
【図６】
0006341067.tif 000007
【図７】
0006341067.tif 000008
【図８】
0006341067.tif 000009
【図９】
0006341067.tif 000010
【図１０】
0006341067.tif 000011
【図１１】
0006341067.tif 000012
【図１２】
0006341067.tif 000013
【図１３】
0006341067.tif 000014
【図１４】
0006341067.tif 000015
【図１５】
0006341067.tif 000016
【図１６】
0006341067.tif 000017
【図１７】
0006341067.tif 000018
【図１８】
0006341067.tif 000019
【図１９】
0006341067.tif 000020
【図２０】
0006341067.tif 000021
【図２１】
0006341067.tif 000022
【図２２】
0006341067.tif 000023
【図２３】
0006341067.tif 000024
【図２４】
0006341067.tif 000025
【図２５】
0006341067.tif 000026
【図２６】
0006341067.tif 000027
【図２７】
0006341067.tif 000028
【図２８】
0006341067.tif 000029
【図２９】
0006341067.tif 000030
【図３０】
0006341067.tif 000031
【図３１】
0006341067.tif 000032
【図３２】
0006341067.tif 000033
【図３３】
0006341067.tif 000034
【図３４】
0006341067.tif 000035
【図３５】
0006341067.tif 000036
【図３６】
0006341067.tif 000037