(57)【要約】【課題】画像符号化の高速化による符号化効率の低減を抑制させることができるようにする。【解決手段】スライス１処理部１５３は、スライス１の各マクロブロックラインを下から上に符号化する。スライス１処理部１５３は、各マクロブロックの符号化を、処理対象のマクロブロックの１つ左のマクロブロックと、処理対象のマクロブロックの１つ下のマクロブロックとの状態に応じて行う。スライス２処理部１５４は、スライス２の各マクロブロックラインを上から下に符号化する。スライス２処理部１５４は、各マクロブロックの符号化を、処理対象のマクロブロックの１つ左のマクロブロックと、処理対象のマクロブロックの１つ上のマクロブロックとの状態に応じて行う。本発明は、例えば、画像処理装置に適用することができる。【選択図】図３
2014143708.tif 000002
【特許請求の範囲】
【請求項１】
コンテキストを用いて、画像データが符号化された符号化データのブロックを復号する復号部と、
復号対象となる対象ブロックラインの上部に隣接するブロックラインである上ブロックラインにおいて復号されたブロックのコンテキストを用いて、前記対象ブロックラインの先頭に位置する先頭ブロックを復号する際に用いるコンテキストを初期化するように、前記復号部を制御する制御部と
を備える画像処理装置。
【請求項２】
前記制御部は、前記上ブロックラインのブロックを復号した際に用いたコンテキストを初期値として、前記先頭ブロックを復号するように、前記復号部を制御する
請求項１に記載の画像処理装置。
【請求項３】
前記制御部は、前記上ブロックラインのブロックを復号した際に用いた確率テーブルを初期値として、前記先頭ブロックを復号するように、前記復号部を制御する
請求項２に記載の画像処理装置。
【請求項４】
前記復号部は、前記対象ブロックラインを、コンテキストを用いて算術復号する
請求項３に記載の画像処理装置。
【請求項５】
コンテキストを用いて、画像データが符号化された符号化データのブロックを復号し、
復号対象となる対象ブロックラインの上部に隣接するブロックラインである上ブロックラインにおいて復号されたブロックのコンテキストを用いて、前記対象ブロックラインの先頭に位置する先頭ブロックを復号する際に用いるコンテキストを初期化するように制御する
画像処理方法。
【請求項６】
前記上ブロックラインのブロックを復号した際に用いたコンテキストを初期値として、前記先頭ブロックを復号するように制御する
請求項５に記載の画像処理方法。
【請求項７】
前記上ブロックラインのブロックを復号した際に用いた確率テーブルを初期値として、前記先頭ブロックを復号するように制御する
請求項６に記載の画像処理方法。
【請求項８】
前記対象ブロックラインを、コンテキストを用いて算術復号する
請求項７に記載の画像処理方法。
【請求項９】
コンピュータに、
コンテキストを用いて、画像データが符号化された符号化データのブロックを復号する復号部と、
復号対象となる対象ブロックラインの上部に隣接するブロックラインである上ブロックラインにおいて復号されたブロックのコンテキストを用いて、前記対象ブロックラインの先頭に位置する先頭ブロックを復号する際に用いるコンテキストを初期化するように、前記復号部を制御する制御部と
して機能させるためのプログラム。
【請求項１０】
コンピュータに、
コンテキストを用いて、画像データが符号化された符号化データのブロックを復号する復号部と、
復号対象となる対象ブロックラインの上部に隣接するブロックラインである上ブロックラインにおいて復号されたブロックのコンテキストを用いて、前記対象ブロックラインの先頭に位置する先頭ブロックを復号する際に用いるコンテキストを初期化するように、前記復号部を制御する制御部と
して機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、プログラム、並びに、記録媒体に関し、特に、画像符号化の高速化による符号化効率の低減を抑制させることができるようにした画像処理装置および方法、プログラム、並びに、記録媒体に関する。
【背景技術】
【０００２】
従来、AVC（Advanced Video Coding）画像符号化方式では、エントロピ符号化としてCABAC(Context-based Adaptive Binary Arithmetic Coding)や、CAVLC(Context-based Adaptive Variable Length Coding)が定義されている。このうちCABACは周囲の状況（コンテキスト（Context））に応じて適応的に符号化を行う２値の算術符号方式である。
【０００３】
算術符号化では１シンボルごとに発生確率に応じて数値区間を分割する処理を繰り返すことで符号列を得る。すなわち、全シンボルを順次処理する必要があり、処理の並列化が困難であるので、処理の高速化が困難であった。
【０００４】
そこで、AVCではマルチスライス（multi slice）という手法を用いて高スループットを実現することができるようになされた。マルチスライスにおいては、図１Ａに示されるように、画像が複数の領域に分割され、それぞれに対して独立してCABAC符号化処理が行われる。つまり、図１Ａの点線矢印に示されるように、画像内上側のマクロブロックラインから画像内下側のマクロブロックラインに向かう順に、マクロブロック毎に算術符号化が行われる。このようにすることにより各領域のCABAC符号化を並列に行うことができるようになり、処理の高速化が実現された。この分割された領域をスライス（slice）と称する。
【０００５】
各マクロブロックは、図１Ｂや図１Ｃに示されるように、隣接する他のマクロブロックを参照しながら符号化される。
【０００６】
しかしながら、領域を分割することは符号化効率を落とす要因になる。第１に、各スライスが独立に符号化されるので、図１Ｂや図１Ｃに示されるように、各領域（スライス）の符号化において相互参照をすることができない。したがって、境界部分で画面内予測(intra-prediction)が使用できなくなり、符号化効率が低減する恐れがあった。
【０００７】
第２に、CABACではシンボル発生確率テーブルを選択するために、図１Ｃに示されるように周辺マクロブロックの状態が参照されるが、境界部分では隣接マクロブロックの参照が不可能になるため、適切な発生確率テーブルの選択が困難になる恐れがあった。
【０００８】
第３に、CABACで用いられるシンボル発生確率テーブルは、符号化が進むにつれて実際の発生確率に収束して符号化効率が高まっていくが、マルチスライス（multi slice）の場合、領域（スライス）毎にそのシンボル発生確率テーブルが初期化されるので、スライス（slice）開始時点での符号化効率が低減する恐れがあった。
【０００９】
CABACを並列化しつつ符号化効率を改善する手法としてエントロピスライス（entropy slice）方式が提案された（例えば、非特許文献１参照）。この方式によればCABAC処理部分のみが、エントロピスライス（entropy slice）と称される領域に分割されて並列に実行されるので、画面内予測についてはエントロピスライス（entropy slice）境界でも使用可能であった。しかしながら、CABAC処理における周辺マクロブロック参照は、エントロピスライス（entropy slice）境界において使用不可であった。
【００１０】
さらなる改善手法としてオーダードエントロピスライス（ordered entropy slices）方式が提案された（例えば、特許文献２参照）。この方式により、CABAC処理でも境界部分で隣接マクロブロックの参照が可能となった。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】A. Segall, J.Zhao, ”Entropy slices for parallel entropy decoding”, VCEG input document COM16-C405, Geneva, CH, April 2008
【非特許文献２】Xun Guo,Yu-Wen Huang,Shawmin Lei"Ordered Entropy Slices for Parallel CABAC", VCEG input document VCEG-AK25, Yokohama, Japan, April 2009
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、第２のエントロピスライス（entropy slice）を符号化するときに上側に隣接する第１のエントロピスライス（entropy slice）のマクロブロックが処理を終えていなければならないためにスライス（slice）間の依存が生じてしまい並列化のメリットが失われた。すなわち、本来の目的であるCABAC処理並列化による高速化の達成が困難であった。
【００１３】
本発明は、このような状況に鑑みてなされたものであり、画像符号化の高速化による符号化効率の低減を抑制させることを目的とする。
【課題を解決するための手段】
【００１４】
本技術の一側面は、コンテキストを用いて、画像データが符号化された符号化データのブロックを復号する復号部と、復号対象となる対象ブロックラインの上部に隣接するブロックラインである上ブロックラインにおいて復号されたブロックのコンテキストを用いて、前記対象ブロックラインの先頭に位置する先頭ブロックを復号する際に用いるコンテキストを初期化するように、前記復号部を制御する制御部とを備える画像処理装置である。
【００１５】
前記制御部は、前記上ブロックラインのブロックを復号した際に用いたコンテキストを初期値として、前記先頭ブロックを復号するように、前記復号部を制御することができる。
【００１６】
前記制御部は、前記上ブロックラインのブロックを復号した際に用いた確率テーブルを初期値として、前記先頭ブロックを復号するように、前記復号部を制御することができる。
【００１７】
前記復号部は、前記対象ブロックラインを、コンテキストを用いて算術復号することができる。
【００１８】
本技術の一側面は、また、コンテキストを用いて、画像データが符号化された符号化データのブロックを復号し、復号対象となる対象ブロックラインの上部に隣接するブロックラインである上ブロックラインにおいて復号されたブロックのコンテキストを用いて、前記対象ブロックラインの先頭に位置する先頭ブロックを復号する際に用いるコンテキストを初期化するように制御する画像処理方法である。
【００１９】
前記上ブロックラインのブロックを復号した際に用いたコンテキストを初期値として、前記先頭ブロックを復号するように制御することができる。
【００２０】
前記上ブロックラインのブロックを復号した際に用いた確率テーブルを初期値として、前記先頭ブロックを復号するように制御することができる。
【００２１】
前記対象ブロックラインを、コンテキストを用いて算術復号することができる。
【００２２】
本技術の一側面は、さらに、コンピュータに、コンテキストを用いて、画像データが符号化された符号化データのブロックを復号する復号部と、復号対象となる対象ブロックラインの上部に隣接するブロックラインである上ブロックラインにおいて復号されたブロックのコンテキストを用いて、前記対象ブロックラインの先頭に位置する先頭ブロックを復号する際に用いるコンテキストを初期化するように、前記復号部を制御する制御部として機能させるためのプログラムである。
【００２３】
本技術の一側面は、また、コンピュータに、コンテキストを用いて、画像データが符号化された符号化データのブロックを復号する復号部と、復号対象となる対象ブロックラインの上部に隣接するブロックラインである上ブロックラインにおいて復号されたブロックのコンテキストを用いて、前記対象ブロックラインの先頭に位置する先頭ブロックを復号する際に用いるコンテキストを初期化するように、前記復号部を制御する制御部として機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体である。
【００２４】
本技術の一側面においては、コンテキストを用いて、画像データが符号化された符号化データのブロックが復号され、復号対象となる対象ブロックラインの上部に隣接するブロックラインである上ブロックラインにおいて復号されたブロックのコンテキストを用いて、前記対象ブロックラインの先頭に位置する先頭ブロックを復号する際に用いるコンテキストが初期化される。
【発明の効果】
【００２５】
本発明によれば、画像データを符号化することができる。特に、画像符号化の高速化による符号化効率の低減を抑制させることができる。
【図面の簡単な説明】
【００２６】
【図１】従来の処理進行方向および参照方向の例を説明する図である。
【図２】本発明を適用した画像符号化装置の主な構成例を示すブロック図である。
【図３】可逆符号化部の主な構成例を示すブロック図である。
【図４】本発明の処理進行方向および参照方向の例を説明する図である。
【図５】符号化処理の流れの例を説明するフローチャートである。
【図６】可逆符号化処理の流れの例を説明するフローチャートである。
【図７】スライス１符号化処理の流れの例を説明するフローチャートである。
【図８】スライス２符号化処理の流れの例を説明するフローチャートである。
【図９】本発明を適用した画像復号装置の主な構成例を示すブロック図である。
【図１０】可逆復号部の主な構成例を示すブロック図である。
【図１１】復号処理の流れの例を説明するフローチャートである。
【図１２】可逆復号処理の流れの例を説明するフローチャートである。
【図１３】スライス１復号処理の流れの例を説明するフローチャートである。
【図１４】スライス２復号処理の流れの例を説明するフローチャートである。
【図１５】可逆符号化部の他の構成例を示すブロック図である。
【図１６】可逆符号化処理の流れの例を説明するフローチャートである。
【図１７】スライス１符号化処理の流れの他の例を説明するフローチャートである。
【図１８】スライス２符号化処理の流れの他の例を説明するフローチャートである。
【図１９】確率テーブルの利用の様子の例を説明する図である。
【図２０】スライス１符号化処理の流れの他の例を説明するフローチャートである。
【図２１】スライス２符号化処理の流れの他の例を説明するフローチャートである。
【図２２】４分割の例を説明するフローチャートである。
【図２３】可逆符号化部の他の構成例を示すブロック図である。
【図２４】可逆復号部の他の構成例を示すブロック図である。
【図２５】マクロブロックの他の例を示す図である。
【図２６】本発明を適用したパーソナルコンピュータの主な構成例を示すブロック図である。
【図２７】本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。
【図２８】本発明を適用した携帯電話機の主な構成例を示すブロック図である。
【図２９】本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。
【図３０】本発明を適用したカメラの主な構成例を示すブロック図である。
【発明を実施するための形態】
【００２７】
以下、発明を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像符号化装置）
２．第２の実施の形態（画像復号装置）
３．第３の実施の形態（画像符号化装置・画像復号装置）
４．第４の実施の形態（パーソナルコンピュータ）
５．第５の実施の形態（テレビジョン受像機）
６．第６の実施の形態（携帯電話機）
７．第７の実施の形態（ハードディスクレコーダ）
８．第８の実施の形態（カメラ）
【００２８】
＜１．第１の実施の形態＞
［画像符号化装置］
図２は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
【００２９】
図２に示される画像符号化装置１００は、例えば、H．264及びMPEG（Moving Picture Experts Group）４ Part１０（AVC（Advanced Video Coding））（以下H．264/AVCと称する）方式で画像を圧縮符号化する符号化装置である。ただし、画像符号化装置１００は、可逆符号化方式としてCABACをマルチスライス方式で行う。
【００３０】
図２の例において、画像符号化装置１００は、A/D（Analog / Digital）変換部１０１、画面並べ替えバッファ１０２、演算部１０３、直交変換部１０４、量子化部１０５、可逆符号化部１０６、および蓄積バッファ１０７を有する。また、画像符号化装置１００は、逆量子化部１０８、逆直交変換部１０９、および演算部１１０を有する。さらに、画像符号化装置１００は、デブロックフィルタ１１１、およびフレームメモリ１１２を有する。また、画像符号化装置１００は、選択部１１３、イントラ予測部１１４、動き予測補償部１１５、および選択部１１６を有する。さらに、画像符号化装置１００は、レート制御部１１７を有する。
【００３１】
A/D変換部１０１は、入力された画像データをA/D変換し、画面並べ替えバッファ１０２に出力し、記憶させる。画面並べ替えバッファ１０２は、記憶した表示の順番のフレームの画像を、GOP（Group of Picture）構造に応じて、符号化のためのフレームの順番に並べ替える。画面並べ替えバッファ１０２は、フレームの順番を並び替えた画像を、演算部１０３、イントラ予測部１１４、および動き予測補償部１１５に供給する。
【００３２】
演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、選択部１１６から供給される予測画像を減算し、その差分情報を直交変換部１０４に出力する。例えば、イントラ符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像にイントラ予測部１１４から供給される予測画像を加算する。また、例えば、インター符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像に動き予測補償部１１５から供給される予測画像を加算する。
【００３３】
直交変換部１０４は、演算部１０３からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を量子化部１０５に供給する。量子化部１０５は、直交変換部１０４が出力する変換係数を量子化する。量子化部１０５は、量子化された変換係数を可逆符号化部１０６に供給する。
【００３４】
可逆符号化部１０６は、その量子化された変換係数に対して、CABACをマルチスライス方式で行う。つまり、可逆符号化部１０６は、量子化された変換係数の画像領域を上下２つのエントロピスライス（スライス１とスライス２）に分割し、各スライスについてのCABACを互いに並行して行う。
【００３５】
このとき可逆符号化部１０６は、上側のエントロピスライス（スライス１）に対するCABACを、下のマクロブロックから上のマクロブロックに向かう順に進める。また、可逆符号化部１０６は、下側のエントロピスライス（スライス２）に対するCABACを、上のマクロブロックから下のマクロブロックに向かう順に進める。
【００３６】
このように、可逆符号化部１０６は、上下２つのエントロピスライスに対して、互いの境界から遠ざかる方向に各マクロブロックを順次処理する。
【００３７】
可逆符号化部１０６は、イントラ予測を示す情報などをイントラ予測部１１４から取得し、インター予測モードを示す情報などを動き予測補償部１１５から取得する。なお、イントラ予測を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
【００３８】
可逆符号化部１０６は、量子化された変換係数を符号化するとともに、フィルタ係数、イントラ予測モード情報、インター予測モード情報、および量子化パラメータなどを、符号化データのヘッダ情報の一部とする（多重化する）。可逆符号化部１０６は、符号化して得られた符号化データを蓄積バッファ１０７に供給して蓄積させる。
【００３９】
蓄積バッファ１０７は、可逆符号化部１０６から供給された符号化データを、一時的に保持し、所定のタイミングにおいて、H．264/AVC方式で符号化された符号化画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００４０】
また、量子化部１０５において量子化された変換係数は、逆量子化部１０８にも供給される。逆量子化部１０８は、その量子化された変換係数を、量子化部１０５による量子化に対応する方法で逆量子化し、得られた変換係数を、逆直交変換部１０９に供給する。
【００４１】
逆直交変換部１０９は、供給された変換係数を、直交変換部１０４による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力は、演算部１１０に供給される。
【００４２】
演算部１１０は、逆直交変換部１０９より供給された逆直交変換結果、すなわち、復元された差分情報に、選択部１１６から供給される予測画像を加算し、局部的に復号された画像（復号画像）を得る。例えば、差分情報が、イントラ符号化が行われる画像に対応する場合、演算部１１０は、その差分情報にイントラ予測部１１４から供給される予測画像を加算する。また、たとえば、差分情報が、インター符号化が行われる画像に対応する場合、演算部１１０は、その差分情報に動き予測補償部１１５から供給される予測画像を加算する。
【００４３】
その加算結果は、デブロックフィルタ１１１またはフレームメモリ１１２に供給される。
【００４４】
デブロックフィルタ１１１は、適宜デブロックフィルタ処理を行うことにより復号画像のブロック歪を除去するとともに、例えばウィナーフィルタ（Wiener Filter）を用いて適宜ループフィルタ処理を行うことにより画質改善を行う。デブロックフィルタ１１１は、各画素をクラス分類し、クラスごとに適切なフィルタ処理を施す。デブロックフィルタ１１１は、そのフィルタ処理結果をフレームメモリ１１２に供給する。
【００４５】
フレームメモリ１１２は、所定のタイミングにおいて、蓄積されている参照画像を、選択部１１３を介してイントラ予測部１１４または動き予測補償部１１５に出力する。
【００４６】
例えば、イントラ符号化が行われる画像の場合、フレームメモリ１１２は、参照画像を、選択部１１３を介してイントラ予測部１１４に供給する。また、例えば、インター符号化が行われる画像の場合、フレームメモリ１１２は、参照画像を、選択部１１３を介して動き予測補償部１１５に供給する。
【００４７】
画像符号化装置１００においては、例えば、画面並べ替えバッファ１０２からのＩピクチャ、Ｂピクチャ、およびＰピクチャが、イントラ予測（イントラ処理とも称する）する画像として、イントラ予測部１１４に供給される。また、画面並べ替えバッファ１０２から読み出されたＢピクチャおよびＰピクチャが、インター予測（インター処理とも称する）する画像として、動き予測補償部１１５に供給される。
【００４８】
選択部１１３は、フレームメモリ１１２から供給される参照画像を、イントラ符号化を行う画像の場合、イントラ予測部１１４に供給し、インター符号化を行う画像の場合、動き予測補償部１１５に供給する。
【００４９】
イントラ予測部１１４は、画面内の画素値を用いて予測画像を生成するイントラ予測（画面内予測）を行う。イントラ予測部１１４は、複数のモード（イントラ予測モード）によりイントラ予測を行う。このイントラ予測モードには、選択部１１３を介してフレームメモリ１１２から供給された参照画像に基づいて予測画像を生成するモードがある。
【００５０】
イントラ予測部１１４は、全てのイントラ予測モードで予測画像を生成し、各予測画像を評価し、最適なモードを選択する。イントラ予測部１１４は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、選択部１１６を介して演算部１０３に供給する。また、上述したように、イントラ予測部１１４は、採用したイントラ予測モードを示すイントラ予測モード情報等の情報を、適宜可逆符号化部１０６に供給する。
【００５１】
動き予測補償部１１５は、インター符号化が行われる画像について、画面並べ替えバッファ１０２から供給される入力画像と、選択部１１３を介してフレームメモリ１１２から供給される参照フレームとなる復号画像とを用いて、動きベクトルを算出する。動き予測補償部１１５は、算出した動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。
【００５２】
動き予測補償部１１５は、候補となる全てのインター予測モードのインター予測処理を行い、予測画像を生成する。動き予測補償部１１５は、生成された予測画像を、選択部１１６を介して演算部１０３に供給する。
【００５３】
動き予測補償部１１５は、採用されたインター予測モードを示すインター予測モード情報や、算出した動きベクトルを示す動きベクトル情報を可逆符号化部１０６に供給する。
【００５４】
選択部１１６は、イントラ符号化を行う画像の場合、イントラ予測部１１４の出力を演算部１０３に供給し、インター符号化を行う画像の場合、動き予測補償部１１５の出力を演算部１０３に供給する。
【００５５】
レート制御部１１７は、蓄積バッファ１０７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【００５６】
［可逆符号化部の構成］
図３は可逆符号化部１０６の主な構成例を示すブロック図である。図３に示されるように、可逆符号化部１０６は、制御部１５１、記憶部１５２、スライス１処理部１５３、およびスライス２処理部１５４を有する。
【００５７】
制御部１５１は、記憶部１５２のデータ入出力を制御する。制御部１５１は、マクロブロック検出部１６１およびスライス検出部１６２を有する。
【００５８】
係数データは、量子化部１０５から、マクロブロック毎に供給される。例えば図１Ａの実線矢印に示されるように、係数データは、マクロブロックの水平方向の並び（以下、マクロブロックラインと称する）において、左端のマクロブロックから右端のマクロブロックに向かう順に１マクロブロック分ずつ供給される。また、例えば図１Ａの点線矢印に示されるように、画像内の上のマクロブロックライン程優先的に供給される。
【００５９】
つまり、１画像（１ピクチャ若しくは１フィールド）の係数データは、画像内の左上端のマクロブロックから供給され、最後に右下端のマクロブロックが供給される。
【００６０】
マクロブロック検出部１６１は、このような順で量子化部１０５から供給される係数データの各マクロブロックを検出し、各マクロブロックラインの先頭アドレスを係数データとともに記憶部１５２に記憶させる。また、マクロブロック検出部１６１は、検出したマクロブロックラインの先頭アドレスをスライス検出部１６２に通知する。
【００６１】
スライス検出部１６２は、マクロブロックラインの先頭アドレスから、エントロピスライスの境界（スライス１とスライス２との境界）を検出し、その検出結果に応じて、スライス１処理部１５３およびスライス１５４を動作させる。
【００６２】
例えば、図１Ａに示されるように、画像（１ピクチャ若しくは１フィールド）がスライス１とスライス２に２分割される場合、スライス検出部１６２は、マクロブロックラインの先頭アドレスから、画像の上半分の係数データが記憶部１５２に記憶されたことを検出し、エントロピスライスの境界を検出する。
【００６３】
スライス検出部１６２は、スライス１の一番下のマクロブロックラインの係数データの書き込みが開始されたと判定すると、スライス１処理部１５３を動作させ、記憶部１５２からのスライス１の係数データの読み出しを開始させる。
【００６４】
また、その１つ下のマクロブロックラインの係数データの書き込みが開始されたと判定すると、スライス検出部１６２は、スライス２処理部１５４も動作させ、記憶部１５２からのスライス２の係数データの読み出しも開始させる。
【００６５】
記憶部１５２は、例えばRAM（Random Access Memory）やフラッシュメモリ等の半導体メモリやハードディスク等、任意の記録媒体を有し、係数データやマクロブロックラインの先頭アドレス等の情報を記憶する。基本的に、スライス１処理部１５３およびスライス２処理部１５４が行う算術符号化処理（CABAC）は、負荷が大きく、処理時間が長い。また処理速度が変化する。したがって、記憶部１５２が供給される係数データをバッファリングすることで、オーバフローやアンダーフローの発生を抑制することができる。
【００６６】
スライス１処理部１５３は、記憶部１５２からスライス１の係数データを読み出し、CABACを行う。スライス１処理部１５３は、読み出し制御部１７１、マクロブロックラインメモリ１７２、コンテキスト算出部１７３、２値化部１７４、および算術符号化部１７５を有する。
【００６７】
読み出し制御部１７１は、記憶部１５２の係数データが記憶されている領域とは別の領域に書き込まれたマクロブロックラインの先頭アドレスを参照し、記憶部１５２からスライス１の係数データをマクロブロック毎に読み出す。読み出し制御部１７１は、係数データを、スライス１の１番下のマクロブロックラインから優先的に読み出す。読み出し制御部１７１は、読み出した係数データをマクロブロックラインメモリ１７２に記憶させるとともに、２値化部１７４に供給する。
【００６８】
マクロブロックラインメモリ１７２は、例えばRAM（Random Access Memory）やフラッシュメモリ等の半導体メモリやハードディスク等、任意の記録媒体を有し、係数データを最大１マクロブロックライン以上記憶する。
【００６９】
コンテキスト算出部１７３は、マクロブロックラインメモリ１７２に記憶されている係数データを用いて、処理対象マクロブロックに隣接する周辺マクロブロックの状態を求め、その周囲の状態に基づいて、発生確率テーブルと発生確率の高いシンボルを示すコンテキスト（Context）を算出し、それを算術符号化部１７５に供給する。
【００７０】
２値化部１７４は、読み出し制御部１７１から供給される係数データ（多値データ）を２値化し、その２値化されたデータ（２値データ）を算術符号化部１７５に供給する。
【００７１】
算術符号化部１７５は、２値化部１７４から供給される２値データを、コンテキスト算出部１７３から供給されるコンテキストに従って２値算術符号化する。算術符号化部１７５は、得られた符号化データを蓄積バッファ１０７に供給し、蓄積させる。
【００７２】
スライス２処理部１５４は、記憶部１５２から主にスライス２の係数データを読み出し、CABACを行う。スライス２処理部１５４は、基本的にスライス１処理部１５３と同様の構成を有する。すなわち、スライス２処理部１５４は、読み出し制御部１８１、マクロブロックラインメモリ１８２、コンテキスト算出部１８３、２値化部１８４、および算術符号化部１８５を有する。
【００７３】
読み出し制御部１８１は、読み出し制御部１７１と同様の構成を有し、同様の処理を行う。マクロブロックラインメモリ１８２は、マクロブロックラインメモリ１７２と同様の構成を有し、同様の処理を行う。コンテキスト算出部１８３は、コンテキスト算出部１７３と同様の構成を有し、同様の処理を行う。２値化部１８４は、２値化部１７４と同様の構成を有し、同様の処理を行う。算術符号化部１８５は、算術符号化部１７５と同様の構成を有し、同様の処理を行う。
【００７４】
ただし、スライス２の場合、マクロブロックの処理順や参照方向がスライス１の場合と異なる。
【００７５】
［符号化手順］
図４は、本発明の処理進行方向および参照方向の例を説明する図である。
【００７６】
１画像（１ピクチャ若しくは１フィールド）分のCABACは、図４Ａに示される矢印のような順序で行われる。つまり、画像は上下方向に並ぶ複数のエントロピスライス（大領域）に分割され、各エントロピスライスを行列方向に分割するマクロブロック（小領域）毎にCABAC（符号化）が行われる。
【００７７】
スライス１では、係数データは、図４Ａの点線矢印に示されるように、一番下のマクロブロックライン（小領域行）が最初に符号化され、次に１つ上のマクロブロックラインが符号化される。このように処理対象が１行ずつ上のマクロブロックラインに移動し、最後に一番上のマクロブロックラインが符号化される。
【００７８】
各マクロブロックライン内においては、図４Ａの実線矢印に示されるように、従来の場合と同様に、左端のマクロブロックが最初に符号化され、次に１つ右のマクロブロックが符号化される。このように処理対象が１つずつ右のマクロブロックに移動し、最後に右端のマクロブロックが符号化される。
【００７９】
係数データは、図１Ａの矢印に示されるように、画像の上のマクロブロックラインから下のマクロブロックラインに向かう順に、マクロブロック毎に記憶部１５２に記憶される。つまり、スライス１の一番下のマクロブロックラインの一番左のマクロブロックの係数データが記憶部１５２に書き込まれると、スライス１のCABACが開始される。
【００８０】
従来のCABACの場合、図１Ｃに示されるように、処理対象マクロブロック（curr）の１つ左のマクロブロック（mbA）と、１つ上のマクロブロック（mbB）が周辺マクロブロックとして参照される。しかしながら、このスライス１の場合、図４Ｂに示されるように、処理対象マクロブロック（curr）の１つ左のマクロブロック（mbA）と、１つ下のマクロブロック（mbB’）が周辺マクロブロックとして参照される。
【００８１】
ただし、最初に符号化される一番下のマクロブロックラインの１つ下のマクロブロックラインは、スライス２のマクロブロックラインであるので、図４Ｃに示されるように、参照不可能である。この場合、参照方向は異なるが、従来のCABACの一番上のマクロブロックラインの場合と同様に処理される。
【００８２】
また、図４Ｃに示されるように、処理対象が画面左端のマクロブロックの場合、その１つ左のマクロブロック（mbA）は、参照不可能である。この場合、従来のCABACの場合と同様に処理される。
【００８３】
これに対してスライス２では、図４Ａの矢印に示されるように、従来の場合と同様に符号化が進められる。つまり、係数データは、図４Ａの点線矢印に示されるように、一番上のマクロブロックラインが最初に符号化され、次に１つ下のマクロブロックラインが符号化される。このように処理対象が１つずつ下のマクロブロックラインに移動し、最後に一番下のマクロブロックラインが符号化される。
【００８４】
各マクロブロックライン内においては、図４Ａの実線矢印に示されるように、左端のマクロブロックが最初に符号化され、次に１つ右のマクロブロックが符号化される。このように処理対象が１つずつ右のマクロブロックに移動し、最後に右端のマクロブロックが符号化される。
【００８５】
このスライス２の場合、周辺マクロブロックの参照方向は、図４Ｄに示されるように、従来の場合と同様であり、処理対象マクロブロック（curr）の１つ左のマクロブロック（mbA）と、１つ上のマクロブロック（mbB）が周辺マクロブロックとして参照される。
【００８６】
したがって、スライス２のCABACは、スライス２の一番上のマクロブロックラインの一番左のマクロブロックの係数データが記憶部１５２に書き込まれた時点で開始することができる。つまり、スライス２のCABACは、スライス１のCABACの終了を待たずに開始することができる。例えば、スライス１のCABACと並行してスライス２のCABACを実行することができる。
【００８７】
スライス１のCABACは、スライス２の係数データを参照しない。また、後述するように、スライス２の一番上のマクロブロックラインについては、スライス１の一番下のマクロブロックラインが参照されるが、このスライス１の係数データは、スライス２のCABACが開始された時点で記憶部１５２に存在する。したがって、スライス１のCABACと、スライス２のCABACとは互いに処理の待ち合わせ等を必要とせずに、互いに独立して処理を進めることができる。
【００８８】
これにより、可逆符号化部１０６は、符号化処理のスループットを向上させることができる。換言すれば、可逆符号化部１０６は、より高速に符号化を行うことができる。
【００８９】
また、上述したように、スライス２の一番上のマクロブロックラインのCABAC時に参照される、その１つ上のマクロブロックラインは、スライス１の一番下のマクロブロックラインであり、既に記憶部１５２に記憶されている。したがって、図４Ｄに示されるように、スライス２のCABACの場合、最初のマクロブロックライン、つまり、一番上のマクロブロックラインの符号化において、１つ上のマクロブロック（mbB）を参照することができる。
【００９０】
より具体的には、スライス２処理部１５４の読み出し制御部１８１は、スライス２の一番上のマクロブロックラインの係数データを処理対象として読み出す前に、スライス１の一番下のマクロブロックラインを読み出し、マクロブロックラインメモリ１８２に保持させる。
【００９１】
コンテキスト算出部１８３は、算術符号化部１８５が行う、スライス２の一番上のマクロブロックラインの係数データに対する算術符号化処理に対して、マクロブロックラインメモリ１８２に記憶されているスライス１の一番下のマクロブロックラインの係数データ等を用いて周辺マクロブロックのコンテキストを算出し、提供する。
【００９２】
算術符号化部１８５は、そのコンテキストを用いて、スライス２の一番上のマクロブロックラインの係数データに対する算術符号化処理を行う。
【００９３】
このように、エントロピスライス境界においても周辺マクロブロックを参照することができるので、可逆符号化部１０６は、画像分割（マルチスライス化）による符号化効率の低減を抑制させることができる。
【００９４】
［符号化処理］
次に、以上のような画像符号化装置１００により実行される各処理の流れについて説明する。最初に、図５のフローチャートを参照して、符号化処理の流れの例を説明する。
【００９５】
ステップＳ１０１において、A/D変換部１０１は入力された画像をA/D変換する。ステップＳ１０２において、画面並べ替えバッファ１０２は、A/D変換部１０１から供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【００９６】
ステップＳ１０３において、イントラ予測部１１４および動き予測補償部１１５は、それぞれ画像の予測処理を行う。すなわち、ステップＳ１０３において、イントラ予測部１１４は、イントラ予測モードのイントラ予測処理を行う。動き予測補償部１１５は、インター予測モードの動き予測補償処理を行う。
【００９７】
ステップＳ１０４において、選択部１１６は、イントラ予測部１１４および動き予測補償部１１５から出力された各コスト関数値に基づいて、最適予測モードを決定する。つまり、選択部１１６は、イントラ予測部１１４により生成された予測画像と、動き予測補償部１１５により生成された予測画像のいずれか一方を選択する。
【００９８】
また、この予測画像の選択情報は、イントラ予測部１１４または動き予測補償部１１５に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部１１４は、最適イントラ予測モードを示す情報（すなわち、イントラ予測モード情報）を、可逆符号化部１０６に供給する。
【００９９】
最適インター予測モードの予測画像が選択された場合、動き予測補償部１１５は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部１０６に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。
【０１００】
ステップＳ１０５において、演算部１０３は、ステップＳ１０２で並び替えられた画像と、ステップＳ１０３の予測処理により得られた予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測補償部１１５から、イントラ予測する場合はイントラ予測部１１４から、それぞれ選択部１１６を介して演算部１０３に供給される。
【０１０１】
差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１０２】
ステップＳ１０６において、直交変換部１０４は演算部１０３から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップＳ１０７において、量子化部１０５は変換係数を量子化する。
【０１０３】
ステップＳ１０８において、可逆符号化部１０６は量子化部１０５から出力された量子化された変換係数を符号化する。すなわち、差分画像（インターの場合、２次差分画像）に対して、算術符号化等の可逆符号化が行われる。符号化処理の詳細については後述する。
【０１０４】
なお、可逆符号化部１０６は、ステップＳ１０４の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データのヘッダ情報に付加する。
【０１０５】
つまり、可逆符号化部１０６は、イントラ予測部１１４から供給されるイントラ予測モード情報、または、動き予測補償部１１５から供給される最適インター予測モードに応じた情報なども符号化し、ヘッダ情報に付加する。
【０１０６】
ステップＳ１０９において蓄積バッファ１０７は、可逆符号化部１０６から出力される符号化データを蓄積する。蓄積バッファ１０７に蓄積された符号化データは、適宜読み出され、伝送路を介して復号側に伝送される。
【０１０７】
ステップＳ１１０においてレート制御部１１７は、蓄積バッファ１０７に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【０１０８】
また、ステップＳ１０７の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１１１において、逆量子化部１０８は量子化部１０５により量子化された変換係数を量子化部１０５の特性に対応する特性で逆量子化する。ステップＳ１１２において、逆直交変換部１０９は、逆量子化部１０８により逆量子化された変換係数を直交変換部１０４の特性に対応する特性で逆直交変換する。
【０１０９】
ステップＳ１１３において、演算部１１０は、選択部１１６を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部１０３への入力に対応する画像）を生成する。ステップＳ１１４においてデブロックフィルタ１１１は、演算部１１０から出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップＳ１１５においてフレームメモリ１１２は、フィルタリングされた画像を記憶する。なお、フレームメモリ１１２にはデブロックフィルタ１１１によりフィルタ処理されていない画像も演算部１１０から供給され、記憶される。
【０１１０】
［可逆符号化処理］
次に、図６のフローチャートを参照して、図５のステップＳ１０８において実行される可逆符号化処理の流れの例を説明する。
【０１１１】
可逆符号化処理が開始されると、ステップＳ１３１において、記憶部１５２は、マクロブロック検出部１６１を介して供給されるマクロブロック毎の係数データを記憶する。ステップＳ１３２において、記憶部１５２は、マクロブロック検出部１６１により検出されたマクロブロックラインの先頭アドレスを、係数データとは異なる領域に記憶する。
【０１１２】
ステップＳ１３３において、スライス検出部１６２は、記憶部１５２に記憶されたマクロブロックがエントロピスライスの境界のマクロブロックであるか否かを判定し、エントロピスライスの境界であると判定された場合、処理をステップＳ１３４に進める。
【０１１３】
ステップＳ１３４において、スライス検出部１６２は、スライス１の一番下のマクロブロックラインの一番左のマクロブロックが記憶部１５２に書き込まれた時点で、スライス１処理部１５３を制御し、スライス１の下方から上方に向かう符号化（後述するスライス１符号化処理）を開始させる。つまり、スライス検出部１６２は、スライス１処理部１５３に、図４を参照して説明したようにスライス１の下から上に向かう順序でCABACを別タスクとして実行させる。
【０１１４】
ステップＳ１３５において、スライス検出部１６２は、スライス２の一番上のマクロブロックラインの一番左のマクロブロックが記憶部１５２に書き込まれた時点で、スライス２処理部１５４を制御し、スライス２の上方から下方に向かう符号化（後述するスライス２符号化処理）を開始させる。つまり、スライス検出部１６２は、スライス２処理部１５４に、図４を参照して説明したようにスライス２の上から下に向かう順序でCABACを別タスクとして実行させる。
【０１１５】
スライス１に対するCABACおよびスライス２に対するCABACを開始させると、スライス検出部１６２は、処理をステップＳ１３６に進める。また、ステップＳ１３３において、スライスの境界でないと判定された場合、スライス検出部１６２は、処理をステップＳ１３６に進める。
【０１１６】
ステップＳ１３６において、マクロブロック検出部１６１は、画像（ピクチャ若しくはフィールド）内の全てのマクロブロックを処理したか否かを判定し、未処理のマクロブロックが存在すると判定された場合、処理をステップＳ１３１に戻し、次に供給されるマクロブロックに対して、それ以降の処理を繰り返す。
【０１１７】
また、ステップＳ１３６において、全てのマクロブロックを処理したと判定された場合、マクロブロック検出部１６１は、可逆符号化処理を終了し、図５のステップＳ１０８に処理を戻し、ステップＳ１０９に処理を進める。
【０１１８】
［スライス１符号化処理］
次に、図７のフローチャートを参照して、スライス１処理部１５３により実行されるスライス１符号化処理の流れの例を説明する。
【０１１９】
図６のステップＳ１３４の処理が実行され、スライス１符号化処理が開始されると、スライス１処理部１５３の読み出し制御部１７１は、ステップＳ１５１において、スライス１の最後のマクロブロックラインの係数データを読み出す。ステップＳ１５２において、マクロブロックラインメモリ１７２は、ステップＳ１５１において読み出されたマクロブロックラインの係数データを記憶する。
【０１２０】
ステップＳ１５３において、２値化部１７４は、ステップＳ１５１において読み出されたマクロブロックラインの係数データを２値化する。ステップＳ１５４において、算術符号化部１７５は、下側のマクロブロックラインを参照せずに算術符号化を行う。
【０１２１】
以上のようにして、スライス１の一番下のマクロブロックラインの係数データを全て符号化すると、スライス１処理部１５３は、処理をステップＳ１５５に進める。ステップＳ１５５において、スライス１処理部１５３の読み出し制御部１７１は、前回読み出したマクロブロックラインの１つ上のマクロブロックラインの係数データを読み出す。ステップＳ１５６において、マクロブロックラインメモリ１７２は、ステップＳ１５５において読み出されたマクロブロックラインの係数データを記憶する。
【０１２２】
ステップＳ１５７において、２値化部１７４は、ステップＳ１５５において読み出されたマクロブロックラインの係数データを２値化する。ステップＳ１５８において、コンテキスト算出部１７３は、１つ下側のマクロブロックラインを参照して処理対象マクロブロックのコンテキストを算出する。ステップＳ１５９において、算術符号化部１７５は、ステップＳ１５８において算出されたコンテキストを用いて算術符号化を行う。
【０１２３】
ステップＳ１６０において、読み出し制御部１７１は、画像（ピクチャ若しくはフィールド）内の全てのマクロブロックラインを処理したか否かを判定し、未処理のマクロブロックラインが存在する場合、処理をステップＳ１５５に戻し、それ以降の処理を繰り返す。
【０１２４】
ステップＳ１５５乃至ステップＳ１６０の処理が繰り返し実行され、ステップＳ１６０において、画像内の全てのマクロブロックラインを処理したと判定された場合、読み出し制御部１７１は、スライス１符号化処理を終了する。
【０１２５】
［スライス２符号化処理］
次に、図８のフローチャートを参照して、スライス２処理部１５４により実行されるスライス２符号化処理の流れの例を説明する。
【０１２６】
図６のステップＳ１３５の処理が実行され、スライス２符号化処理が開始されると、スライス２処理部１５４の読み出し制御部１８１は、ステップＳ１８１において、スライス１の最後のマクロブロックラインの係数データと、スライス２の最初のマクロブロックラインの係数データを読み出す。ステップＳ１８２において、マクロブロックラインメモリ１８２は、ステップＳ１８１において読み出されたマクロブロックラインの係数データを記憶する。
【０１２７】
ステップＳ１８３において、２値化部１８４は、ステップＳ１８１において読み出されたスライス２の最初のマクロブロックラインの係数データを２値化する。ステップＳ１８４において、コンテキスト算出部１８３は、ステップＳ１８２において記憶されたスライス１の最後のマクロブロックラインを参照して、処理対象マクロブロックのコンテキストを算出する。ステップＳ１８５において、算術符号化部１８５は、ステップＳ１８４において算出されたコンテキストを用いて算術符号化を行う。
【０１２８】
以上のようにして、スライス２の一番上のマクロブロックラインの係数データを全て符号化すると、スライス２処理部１５４は、処理をステップＳ１８６に進める。ステップＳ１８６において、スライス２処理部１５４の読み出し制御部１８１は、前回読み出したマクロブロックラインの１つ下のマクロブロックラインの係数データを読み出す。ステップＳ１８７において、マクロブロックラインメモリ１７２は、ステップＳ１８６において読み出されたマクロブロックラインの係数データを記憶する。
【０１２９】
ステップＳ１８８において、２値化部１８４は、ステップＳ１８６において読み出されたマクロブロックラインの係数データを２値化する。ステップＳ１８９において、コンテキスト算出部１８３は、１つ上側のマクロブロックラインを参照して処理対象マクロブロックのコンテキストを算出する。ステップＳ１９０において、算術符号化部１８５は、ステップＳ１８９において算出されたコンテキストを用いて算術符号化を行う。
【０１３０】
ステップＳ１９１において、読み出し制御部１８１は、画像（ピクチャ若しくはフィールド）内の全てのマクロブロックラインを処理したか否かを判定し、未処理のマクロブロックラインが存在する場合、処理をステップＳ１８６に戻し、それ以降の処理を繰り返す。
【０１３１】
ステップＳ１８６乃至ステップＳ１９１の処理が繰り返し実行され、ステップＳ１９１において、画像内の全てのマクロブロックラインを処理したと判定された場合、読み出し制御部１８１は、スライス２符号化処理を終了する。
【０１３２】
以上のように可逆符号化部１０６は、符号化効率の低減を抑制させながら、画像符号化の高速化を実現することができる。
【０１３３】
＜２．第２の実施の形態＞
［画像復号装置］
第１の実施の形態において説明した画像符号化装置１００により符号化された符号化データは、所定の伝送路を介して、画像符号化装置１００に対応する画像復号装置に伝送され、復号される。
【０１３４】
以下に、その画像復号装置について説明する。図９は、本発明を適用した画像復号装置の主な構成例を示すブロック図である。
【０１３５】
図９に示されるように、画像復号装置２００は、蓄積バッファ２０１、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、演算部２０５、デブロックフィルタ２０６、画面並べ替えバッファ２０７、D/A変換部２０８、フレームメモリ２０９、選択部２１０、イントラ予測部２１１、動き予測補償部２１２、および選択部２１３を有する。
【０１３６】
蓄積バッファ２０１は、伝送されてきた符号化データを蓄積する。この符号化データは、画像符号化装置１００により符号化されたものである。可逆復号部２０２は、蓄積バッファ２０１から所定のタイミングで読み出された符号化データを、図２の可逆符号化部１０６の符号化方式に対応する方式で復号する。
【０１３７】
逆量子化部２０３は、可逆復号部２０２により復号されて得られた係数データを、図２の量子化部１０５の量子化方式に対応する方式で逆量子化する。逆量子化部２０３は、逆量子化された係数データを、逆直交変換部２０４に供給する。逆直交変換部２０４は、図２の直交変換部１０４の直交変換方式に対応する方式で、その係数データを逆直交変換し、画像符号化装置１００において直交変換される前の残差データに対応する復号残差データを得る。
【０１３８】
逆直交変換されて得られた復号残差データは、演算部２０５に供給される。また、演算部２０５には、選択部２１３を介して、イントラ予測部２１１若しくは動き予測補償部２１２から予測画像が供給される。
【０１３９】
演算部２０５は、その復号残差データと予測画像とを加算し、画像符号化装置１００の演算部１０３により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部２０５は、その復号画像データをデブロックフィルタ２０６に供給する。
【０１４０】
デブロックフィルタ２０６は、復号された画像のブロック歪を除去した後、フレームメモリ２０９に供給し、蓄積させるとともに、画面並べ替えバッファ２０７にも供給する。
【０１４１】
画面並べ替えバッファ２０７は、画像の並べ替えを行う。すなわち、図２の画面並べ替えバッファ１０２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部２０８は、画面並べ替えバッファ２０７から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【０１４２】
選択部２１０は、インター処理される画像と参照される画像をフレームメモリ２０９から読み出し、動き予測補償部２１２に供給する。また、選択部２１０は、イントラ予測に用いられる画像をフレームメモリ２０９から読み出し、イントラ予測部２１１に供給する。
【０１４３】
イントラ予測部２１１には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部２０２から適宜供給される。イントラ予測部２１１は、この情報に基づいて、予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【０１４４】
動き予測補償部２１２は、ヘッダ情報を復号して得られた情報（予測モード情報、動きベクトル情報、参照フレーム情報）を可逆復号部２０２から取得る。インター予測モードを示す情報が供給された場合、動き予測補償部２１２は、可逆復号部２０２からのインター動きベクトル情報に基づいて、予測画像を生成し、生成した予測画像を選択部２１３に供給する。
【０１４５】
選択部２１３は、動き予測補償部２１２またはイントラ予測部２１１により生成された予測画像を選択し、演算部２０５に供給する。
【０１４６】
［可逆復号部］
図１０は、図９の可逆復号部２０２の主な構成例を示すブロック図である。
【０１４７】
図１０に示されるように可逆復号部２０２は、デマルチプレクサ２５１、スライス１処理部２５２、スライス２処理部２５３、記憶部２５４、および読み出し制御部２５５を有する。
【０１４８】
デマルチプレクサ２５１は、蓄積バッファ２０１から供給された符号化データが属するエントロピスライス（スライス１かスライス２か）を識別し、そのエントロピスライスによって符号化データの供給先を制御する。
【０１４９】
図２の画像符号化装置１００により生成されたビットストリームは、エントロピスライス毎に独立したストリームとして多重化されている。蓄積バッファ２０１からは、その多重化されたストリームが供給される。
【０１５０】
例えば、デマルチプレクサ２５１は、スライス１に属する符号化データの場合、スライス１処理部２５２に供給する。また、例えば、デマルチプレクサ２５１は、スライス２に属する符号化データの場合、スライス２処理部２５３に供給する。
【０１５１】
スライス１処理部２５２は、スライス１に属する符号化データを算術復号する。画像符号化装置１００において、スライス１の各マクロブロックは、画像の左から右、下から上の順に符号化されている。また、参照する周辺ブロックは、処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックである。復号処理もこれと同様の処理順および参照方向で行われる。
【０１５２】
スライス２処理部２５３は、スライス２に属する符号化データを算術復号する。画像符号化装置１００において、スライス２の各マクロブロックは、画像の左から右、上から下の順に符号化されている。また、参照する周辺ブロックは、処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックである。復号処理もこれと同様の処理順および参照方向で行われる。
【０１５３】
記憶部２５４は、スライス１処理部２５２において生成された復号係数データ（多値データ）、および、スライス２処理部２５３において生成された復号係数データ（多値データ）を取得し、記憶する。読み出し制御部２５５は、記憶部２５４に記憶されている復号係数データを所定のタイミングに所定の順に読み出し、逆量子化部２０３に供給する。
【０１５４】
なお、実際には、可逆復号部２０２は、供給されたビットストリームから符号化パラメータや予測モード情報等のメタデータを抽出し、それらをイントラ予測部２１１や動き予測補償部２１２に供給する。
【０１５５】
スライス１処理部２５２は、算術復号部２６１、多値化部２６２、マクロブロックラインメモリ２６３、およびコンテキスト算出部２６４を有する。
【０１５６】
算術復号部２６１は、コンテキスト算出部２６４が算出したコンテキストを用いて符号化データを算術復号し、２値データを生成する。多値化部２６２は、算術復号部２６１から出力される２値データを多値化する。多値化部２６２は、生成した多値データを、復号係数データとして記憶部２５４に供給するとともに、マクロブロックラインメモリ２６３に供給する。
【０１５７】
マクロブロックラインメモリ２６３は、多値化部２６２より供給される復号係数データを記憶する。マクロブロックラインメモリ２６３は、復号係数データを１マクロラインブロック分以上記憶することができる。
【０１５８】
コンテキスト算出部２６４は、マクロブロックラインメモリ２６３に記憶されている復号係数データを用いて、算術復号部２６１による復号処理の処理対象マクロブロックに隣接する周辺マクロブロックのコンテキストを算出し、それを算術復号部２６１に供給する。
【０１５９】
例えば、コンテキスト算出部２６４は、処理対象マクロブロックの１つ左のマクロブロックのコンテキストと、処理対象マクロブロックの１つ下のマクロブロックのコンテキストを生成する。
【０１６０】
スライス２処理部２５３は、算術復号部２７１、多値化部２７２、マクロブロックラインメモリ２７３、およびコンテキスト算出部２７４を有する。
【０１６１】
算術復号部２７１は、コンテキスト算出部２７４が算出したコンテキストを用いて符号化データを算術復号し、２値データを生成する。多値化部２７２は、算術復号部２７１から出力される２値データを多値化する。多値化部２７２は、生成した多値データを、復号係数データとして記憶部２５４に供給するとともに、マクロブロックラインメモリ２７３に供給する。
【０１６２】
マクロブロックラインメモリ２７３は、多値化部２７２より供給される復号係数データを記憶する。マクロブロックラインメモリ２７３は、復号係数データを１マクロラインブロック分以上記憶することができる。
【０１６３】
コンテキスト算出部２７４は、マクロブロックラインメモリ２７３に記憶されている復号係数データを用いて、算術復号部２７１による復号処理の処理対象マクロブロックに隣接する周辺マクロブロックのコンテキストを算出し、それを算術復号部２７１に供給する。
【０１６４】
例えば、コンテキスト算出部２７４は、処理対象マクロブロックの１つ左のマクロブロックのコンテキストと、処理対象マクロブロックの１つ上のマクロブロックのコンテキストを生成する。
【０１６５】
なお、コンテキスト算出部２７４は、復号処理対象がスライス２の一番上のマクロブロックラインである場合、スライス１処理部２５２のマクロブロックラインメモリ２６３に記憶されているスライス１の一番下のマクロブロックラインの復号係数データを用いて、処理対象マクロブロックの１つ上のマクロブロックのコンテキストを生成する。
【０１６６】
以上のように復号処理を行うことにより、可逆復号部２０２は、可逆符号化部１０６の場合と同様の順序で処理を進め、同様の方向に周辺参照を行うので、符号化データを正しく復号することができる。
【０１６７】
［復号処理］
次に、以上のような画像復号装置２００により実行される各処理の流れについて説明する。最初に、図１１のフローチャートを参照して、復号処理の流れの例を説明する。
【０１６８】
復号処理が開始されると、ステップＳ２０１において、蓄積バッファ２０１は伝送されてきた符号化データを蓄積する。ステップＳ２０２において、可逆復号部２０２は、蓄積バッファ２０１から供給される符号化データを復号する。すなわち、図２の可逆符号化部１０６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。
【０１６９】
このとき、動きベクトル情報、参照フレーム情報、予測モード情報（イントラ予測モード、またはインター予測モード）、およびフラグ情報等も復号される。
【０１７０】
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部２１１に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報は、動き予測補償部２１２に供給される。
【０１７１】
ステップＳ２０３において、逆量子化部２０３は可逆復号部２０２により復号された変換係数を、図２の量子化部１０５の特性に対応する特性で逆量子化する。ステップＳ２０４において逆直交変換部２０４は逆量子化部２０３により逆量子化された変換係数を、図２の直交変換部１０４の特性に対応する特性で逆直交変換する。これにより図２の直交変換部１０４の入力（演算部１０３の出力）に対応する差分情報が復号されたことになる。
【０１７２】
ステップＳ２０５において、イントラ予測部２１１、または動き予測補償部２１２は、可逆復号部２０２から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
【０１７３】
すなわち、可逆復号部２０２からイントラ予測モード情報が供給された場合、イントラ予測部２１１は、イントラ予測モードのイントラ予測処理を行う。また、可逆復号部２０２からインター予測モード情報が供給された場合、動き予測補償部２１２は、インター予測モードの動き予測処理を行う。
【０１７４】
ステップＳ２０６において、選択部２１３は予測画像を選択する。すなわち、選択部２１３には、イントラ予測部２１１により生成された予測画像、若しくは、動き予測補償部２１２により生成された予測画像が供給される。選択部２１３は、そのいずれか一方を選択する。選択された予測画像は、演算部２０５に供給される。
【０１７５】
ステップＳ２０７において、演算部２０５は、ステップＳ２０４の処理により得られた差分情報に、ステップＳ２０６の処理により選択された予測画像を加算する。これにより元の画像データが復号される。
【０１７６】
ステップＳ２０８において、デブロックフィルタ２０６は、演算部２０５から供給された復号画像データをフィルタリングする。これによりブロック歪みが除去される。
【０１７７】
ステップＳ２０９において、フレームメモリ２０９は、フィルタリングされた復号画像データを記憶する。
【０１７８】
ステップＳ２１０において、画面並べ替えバッファ２０７は、復号画像データのフレームの並べ替えを行う。すなわち、復号画像データの、画像符号化装置１００の画面並べ替えバッファ１０２（図２）により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０１７９】
ステップＳ２１１において、D/A変換部２０８は、画面並べ替えバッファ２０７においてフレームが並べ替えられた復号画像データをD/A変換する。この復号画像データが図示せぬディスプレイに出力され、その画像が表示される。
【０１８０】
［可逆復号処理］
次に図１２のフローチャートを参照して、図１１のステップＳ２０２において実行される可逆復号処理の流れの例を説明する。
【０１８１】
可逆復号処理が開始されると、デマルチプレクサ２５１は、ステップＳ２３１において、係数データをスライス毎に分割する。ステップＳ２３２において、デマルチプレクサ２５１は、スライス１の符号化データをスライス１処理部２５２に供給し、スライス１の下方から上方に向かう復号（スライス１復号処理）を別タスクとして開始させる。
【０１８２】
ステップＳ２３３においてデマルチプレクサ２５１は、ステップＳ２３２において開始されたスライス１復号処理により、スライス１の最後の（一番下の）マクロブロックラインの復号が終了したか否かを判定し、終了したと判定されるまで待機する。スライス１の最後の（一番下の）マクロブロックラインの復号が終了したと判定された場合、デマルチプレクサ２５１は、処理をステップＳ２３４に進める。
【０１８３】
ステップＳ２３４において、デマルチプレクサ２５１は、スライス２の符号化データをスライス２処理部２５３に供給し、スライス２の上方から下方に向かう復号（スライス２復号処理）を別タスクとして開始させる。
【０１８４】
ステップＳ２３５においてデマルチプレクサ２５１は、ステップＳ２３４において開始されたスライス２復号処理により、スライス２の全てのマクロブロックの復号が終了したか否かを判定し、終了したと判定されるまで待機する。スライス２の復号が終了したと判定された場合、デマルチプレクサ２５１は、可逆復号処理を終了し、処理を図１１のステップＳ２０２に戻し、ステップＳ２０３に処理を進める。
【０１８５】
［スライス１復号処理］
次に、図１２のステップＳ２３２の処理により開始されるスライス１復号処理の流れの例を図１３のフローチャートを参照して説明する。
【０１８６】
スライス１復号処理が開始されると、算術復号部２６１は、ステップＳ２５１において、スライス１の最後の（一番下の）マクロブロックラインの各マクロブロックについて、下側のマクロブロックラインのマクロブロックを参照せずに算術復号を行う。
【０１８７】
ステップＳ２５２において、多値化部２６２は、ステップＳ２５２において復号されて得られた２値の係数データを多値化し、多値データの係数データに変換する。
【０１８８】
ステップＳ２５３において、マクロブロックラインメモリ２６３は、以上のように生成される処理対象マクロブロックラインの係数データ（多値データ）を記憶する。スライス１の一番下のマクロブロックラインの係数データを記憶すると、マクロブロックラインメモリ２６３は、処理をステップＳ２５４に進める。
【０１８９】
ステップＳ２５４に処理が進むと、復号処理対象のマクロブロックラインが１つ上に移動する。ステップＳ２５４において、コンテキスト算出部２６４は、復号処理対象のマクロブロックラインだけでなく、復号処理対象のマクロブロックラインの１つ下のマクロブロックラインも参照し、コンテキストを算出する。
【０１９０】
ステップＳ２５５において、算術復号部２６１は、ステップＳ２５４において生成されたコンテキストを用いて算術復号を行う。ステップＳ２５６において、多値化部２６２は、ステップＳ２５５において復号されて得られた２値の係数データを多値化し、多値データを生成する。
【０１９１】
ステップＳ２５７において、マクロブロックラインメモリ２６３は、以上のように生成される処理対象マクロブロックラインの係数データ（多値データ）を記憶する。処理対象のマクロブロックラインの係数データを記憶すると、マクロブロックラインメモリ２６３は、処理をステップＳ２５８に進める。
【０１９２】
ステップＳ２５８において、スライス１処理部２５２は、スライス１の全てのマクロブロックラインを処理したか否かを判定する。未処理のマクロブロックラインが存在すると判定された場合、スライス１処理部２５２は、処理をステップＳ２５４に戻し、前回処理対象とされたマクロブロックラインの１つ上のマクロブロックラインを処理対象とし、処理を繰り返す。
【０１９３】
ステップＳ２５４乃至ステップＳ２５８の処理が繰り返し行われ、ステップＳ２５８において、全てのマクロブロックラインが処理されたと判定された場合、スライス１復号処理が終了される。
【０１９４】
［スライス２復号処理］
次に、図１２のステップＳ２３４の処理により開始されるスライス２復号処理の流れの例を図１４のフローチャートを参照して説明する。
【０１９５】
スライス２復号処理が開始されると、コンテキスト算出部２７４は、ステップＳ２７１において、処理対象であるスライス２の最初の（一番上の）マクロブロックラインの各マクロブロックについて、その処理対象のマクロブロックラインだけでなく、マクロブロックラインメモリ２６３に記憶されているスライス１の最後（一番下の）マクロブロックラインも参照してコンテキストを算出する。
【０１９６】
ステップＳ２７２において、算術復号部２７１は、ステップＳ２７１において算出されたコンテキストを用いて算術復号を行う。ステップＳ２７３において、多値化部２７２は、ステップＳ２７２において復号されて得られた２値の係数データを多値化し、多値データの係数データに変換する。
【０１９７】
ステップＳ２７４において、マクロブロックラインメモリ２７３は、以上のように生成される処理対象マクロブロックラインの係数データ（多値データ）を記憶する。スライス２の一番上のマクロブロックラインの係数データを記憶すると、マクロブロックラインメモリ２７３は、処理をステップＳ２７５に進める。
【０１９８】
ステップＳ２７５に処理が進むと、復号処理対象のマクロブロックラインが１つ下に移動する。ステップＳ２７５において、コンテキスト算出部２７４は、復号処理対象のマクロブロックラインだけでなく、復号処理対象のマクロブロックラインの１つ上のマクロブロックラインも参照し、コンテキストを算出する。
【０１９９】
ステップＳ２７６において、算術復号部２７１は、ステップＳ２７５において生成されたコンテキストを用いて算術復号を行う。ステップＳ２７７において、多値化部２７２は、ステップＳ２７６において復号されて得られた２値の係数データを多値化し、多値データを生成する。
【０２００】
ステップＳ２７８において、マクロブロックラインメモリ２７３は、以上のように生成される処理対象マクロブロックラインの係数データ（多値データ）を記憶する。処理対象のマクロブロックラインの係数データを記憶すると、マクロブロックラインメモリ２７３は、処理をステップＳ２７９に進める。
【０２０１】
ステップＳ２７９において、スライス２処理部２５３は、スライス２の全てのマクロブロックラインを処理したか否かを判定する。未処理のマクロブロックラインが存在すると判定された場合、スライス２処理部２５３は、処理をステップＳ２７５に戻し、前回処理対象とされたマクロブロックラインの１つ下のマクロブロックラインを処理対象とし、処理を繰り返す。
【０２０２】
ステップＳ２７５乃至ステップＳ２７９の処理が繰り返し行われ、ステップＳ２７９において、全てのマクロブロックラインが処理されたと判定された場合、スライス２復号処理が終了される。
【０２０３】
以上のように画像復号装置２００は、画像符号化装置１００により符号化されて得られた符号化データを、正しく復号することができる。これにより、可逆復号部２０２は、符号化効率の低減を抑制させながら、画像符号化の高速化を実現することができる。
【０２０４】
＜３．第３の実施の形態＞
［可逆符号化部の構成］
なお、以上においては、コンテキストの生成をスライス１処理部１５３とスライス２処理部１５４において行うように説明したが、これに限らず、記憶部１５２に記憶する前にコンテキストを生成するようにしてもよい。
【０２０５】
図１５は、図１の可逆符号化部１０６の他の構成例を示すブロック図である。
【０２０６】
図１５に示されるように、この場合、可逆符号化部１０６は、図３の場合の構成に加え、コンテキスト処理部３０１を有する。また、可逆符号化部１０６は、図３の場合のスライス１処理部１５３の代わりにスライス１処理部３０３を有し、さらに、スライス２処理部１５４の代わりにスライス２処理部３０４を有する。
【０２０７】
コンテキスト処理部３０１は、量子化部１０５から供給される係数データからコンテキストを算出する。スライス１処理部３０３は、基本的にスライス１処理部１５３と同様の構成を有するが、コンテキスト処理部３０１がスライス１処理部３０３の外部に存在するので、マクロブロックラインメモリ１７２およびコンテキスト算出部１７３が省略される。スライス２処理部３０４は、基本的にスライス２処理部１５４と同様の構成を有するが、コンテキスト処理部３０１がスライス２処理部３０４の外部に存在するので、マクロブロックラインメモリ１８２およびコンテキスト算出部１８３が省略される。
【０２０８】
コンテキスト処理部３０１は、マクロブロックラインメモリ３１１とコンテキスト算出部３１２を有する。マクロブロックラインメモリ３１１は、マクロブロックラインメモリ１７２やマクロブロックラインメモリ１８２と基本的に同様であり、量子化部１０５から供給される係数データを記憶する。なお、スライス１の参照方向は従来と逆向きであり、処理対象マクロブロックの１つ下のマクロブロックラインが参照されるので、マクロブロックラインメモリ３１１は、少なくとも１マクロブロックラインの係数データを全て記憶することができるようにする必要がある。
【０２０９】
コンテキスト算出部３１２は、コンテキスト算出部１７３やコンテキスト算出部１８３と基本的に同様であり、マクロブロックラインメモリ３１１に記憶されているマクロブロックラインを参照し、コンテキストを算出する。
【０２１０】
コンテキスト算出部３１２は、スライス２においてコンテキストを算出する場合、処理対象の１つ上のマクロブロックラインを参照するが、スライス１においてコンテキストを算出する場合、処理対象の１つ下のマクロブロックラインを参照する。
【０２１１】
つまり、コンテキスト算出部３１２は、スライス２においてコンテキストを算出する場合、従来と同様に、処理対象マクロブロック（curr）に対して１つ左のマクロブロック（mb-A）と１つ上のマクロブロック（mb-B）を参照してコンテキスト（context index）を算出する。
【０２１２】
これに対して、コンテキスト算出部３１２は、スライス１においてコンテキストを算出する場合、処理対象マクロブロック（curr）に対して１つ左のマクロブロック（mb-A）と１つ下のマクロブロック（mb-B’）を参照してコンテキスト（context index）を算出する。つまり、コンテキスト算出部３１２は、１つ下のマクロブロック（mb-B’）が供給された時点で、マクロブロックラインメモリ３１１に記憶されている処理対象マクロブロック（curr）と１つ左のマクロブロック（mb-A）とを読み出し、コンテキスト（context index）を算出する。
【０２１３】
なお、コンテキスト算出部３１２は、スライス１の下から２番目のマクロブロックラインを処理対象（curr）としてコンテキストを生成する際に、スライス１の一番下のマクロブロックラインのコンテキストも生成する。
【０２１４】
コンテキスト算出部３１２は、算出したコンテキストを、記憶部１５２の係数データやマクロブロックアドレスの先頭アドレスとは別の領域に、係数データやマクロブロックアドレスの先頭アドレスとの対応関係を示すタグを付けて記憶させる。
【０２１５】
スライス１処理部３０３の読み出し制御部１７１は、係数データやマクロブロックアドレスの先頭アドレスとともに、必要なコンテキストも記憶部１５２から読み出す。読み出し制御部１７１は、読み出したコンテキストを算術符号化部１７５に供給する。
【０２１６】
スライス２処理部３０４の読み出し制御部１８１は、係数データやマクロブロックアドレスの先頭アドレスとともに、必要なコンテキストも記憶部１５２から読み出す。読み出し制御部１８１は、読み出したコンテキストを算術符号化部１８５に供給する。
【０２１７】
［可逆符号化処理］
この場合の、可逆符号化処理の流れの例を図１６のフローチャートを参照して説明する。このフローチャートは、図６のフローチャートに対応する。
【０２１８】
この場合、ステップＳ３０１およびステップＳ３０２の各処理は、図６のステップＳ１３１およびステップＳ１３２の各処理と同様に実行される。
【０２１９】
ステップＳ３０３において、コンテキスト処理部３０１は、処理対象マクロブロックラインがスライス１であるか否かを判定し、スライス１であると判定された場合、処理をステップＳ３０４に進める。
【０２２０】
ステップＳ３０４において、コンテキスト処理部３０１は、１つ下のマクロブロックラインを参照してコンテキストを算出する。なお、スライス１の一番上のマクロブロックラインと一番下のマクロブロックラインのコンテキストについては、上述した通り生成する。コンテキストを生成すると、コンテキスト処理部３０１は、処理をステップＳ３０６に進める。
【０２２１】
また、ステップＳ３０３において、処理対象マクロブロックラインがスライス２であると判定された場合、コンテキスト処理部３０１は、処理をステップＳ３０５に進める。
【０２２２】
ステップＳ３０５において、コンテキスト処理部３０１は、１つ上のマクロブロックラインを参照してコンテキストを算出する。なお、スライス２の一番上のマクロブロックラインのコンテキストは、スライス１の一番下のマクロブロックラインを参照して生成する。コンテキストを生成すると、コンテキスト処理部３０１は、処理をステップＳ３０６に進める。
【０２２３】
ステップＳ３０６において、記憶部１５２は、ステップＳ３０４若しくはステップＳ３０５において算出されたコンテキストを記憶する。
【０２２４】
ステップＳ３０７乃至ステップＳ３１０の各処理は、図６のステップＳ１３３乃至ステップＳ１３６の各処理と同様に行われる。
【０２２５】
［スライス１符号化処理］
次に、図１６のステップＳ３０８の処理により開始されるスライス１符号化処理の流れの例を図１７のフローチャートを参照して説明する。なお、このフローチャートは、図７のフローチャートに対応する。
【０２２６】
この場合も、基本的に図７の場合と同様に行われるが、コンテキストは既に生成されているので、図７のステップＳ１５２、ステップＳ１５６、およびステップＳ１５８の各処理は省略され、ステップＳ１５１に対応するステップＳ３３１、ステップＳ１５３に対応するステップＳ３３２、ステップＳ１５５に対応するステップＳ３３３、ステップＳ１５５に対応するステップＳ３３４、ステップＳ１５７に対応するステップＳ３３５、ステップＳ１５９に対応するステップＳ３３６、並びに、ステップＳ１６０に対応するステップＳ３３７の各処理が実行される。
【０２２７】
ただし、ステップＳ３３４において、読み出し制御部１７１は、スライス１の１つ上のマクロブロックラインとともに対応するコンテキストも記憶部１５２から読み出す。ステップＳ３３６において、算術符号化部１７５は、このステップＳ３３４において読み出されたコンテキストを用いて算術符号化を行う。
【０２２８】
［スライス２符号化処理］
次に、図１６のステップＳ３０９の処理により開始されるスライス２符号化処理の流れの例を図１８のフローチャートを参照して説明する。なお、このフローチャートは、図８のフローチャートに対応する。
【０２２９】
この場合も、基本的に図８の場合と同様に行われるが、コンテキストは既に生成されているので、図８のステップＳ１８２、ステップＳ１８４、ステップＳ１８７、およびステップＳ１８９の各処理は省略され、ステップＳ１８１に対応するステップＳ３５１、ステップＳ１８３に対応するステップＳ３５２、ステップＳ１８５に対応するステップＳ３５３、ステップＳ１８６に対応するステップＳ３５４、ステップＳ１８８に対応するステップＳ３５５、ステップＳ１９０に対応するステップＳ３５６、並びに、ステップＳ１９１に対応するステップＳ３５７の各処理が実行される。
【０２３０】
ただし、ステップＳ３５１において、読み出し制御部１８１は、スライス２の最初（一番上）のマクロブロックラインととともに、対応するコンテキストも記憶部１５２から読み出す。つまり、スライス１の最後（一番下）のマクロブロックラインのコンテキストも読みだされる。ステップＳ３５３において、算術符号化部１８５は、このステップＳ３５１において読み出されたコンテキストを用いて算術符号化を行う。
【０２３１】
同様に、ステップＳ３５４において、読み出し制御部１８１は、スライス２の１つ下のマクロブロックラインととともに、対応するコンテキストも記憶部１５２から読み出す。ステップＳ３５６において、算術符号化部１８５は、このステップＳ３５４において読み出されたコンテキストを用いて算術符号化を行う。
【０２３２】
以上のように、コンテキストの算出を、係数データを記憶部１５２に記憶する前に行うことにより、読み出し後の算術符号化処理（スライス１処理部３０３およびスライス２処理部３０４）の負荷を軽減させることができる。一般的に算術符号化処理の負荷は、前後の他の処理と比較して大きいので、上述したように、係数データを記憶部１５２に記憶させる前にコンテキストを予め算出するようにすることにより、負荷を分散させることができ、コストの低減や符号化処理のさらなる高速化等を実現することができる。
【０２３３】
［確率テーブルの複製］
さらに、算術符号化の初期状態を改善することができる。
【０２３４】
AVC規格ではcabac_init_idcというパラメータとslice_type, SliceQPyというパラメータを用いてCABACの確率テーブルを初期化する。
【０２３５】
これに対して、図１９に示されるように、スライス１の一番下のマクロブロックラインの処理を終わった時、スライス１処理部１５３が持っている確率テーブルの内容をスライス２処理部１５４が持つ確率テーブルにコピーする。スライス２処理部１５４は、スライス１処理部１５３が使っていた値を初期値としてCABACを開始する。
【０２３６】
このようにすることにより、可逆符号化部１０６は、規格による初期値よりも画像に適した確率値で符号化を開始することができ、符号化効率を向上させることができる。
【０２３７】
［スライス１符号化処理］
この場合のスライス１符号化処理の流れの例を図２０のフローチャートを参照して説明する。図２０に示されるフローチャートは、図７のフローチャートに対応する。
【０２３８】
ステップＳ４０１において、算術符号化部１７５は、確率テーブルを初期化する。ステップＳ４０２乃至ステップＳ４０５の各処理は、図７のステップＳ１５１乃至ステップＳ１５４の各処理と同様に行われる。
【０２３９】
ステップＳ４０６において、算術符号化部１７５は、一番下のマクロブロックラインの最後（一番右）のマクロブロックの確率テーブルをコピーし、算術符号化部１８５に供給する。
【０２４０】
ステップＳ４０７乃至ステップＳ４１２の各処理は、図７のステップＳ１５５乃至ステップＳ１６０の各処理と同様に行われる。
【０２４１】
［スライス２符号化処理］
この場合のスライス２符号化処理の流れの例を図２１のフローチャートを参照して説明する。図２１に示されるフローチャートは、図８のフローチャートに対応する。
【０２４２】
ステップＳ４３１およびステップＳ４３２の各処理は、図８のステップＳ１８１およびステップＳ１８２の各処理と同様に実行される。
【０２４３】
ステップＳ４３３において、算術符号化部１８５は、スライス１の確率テーブルのコピーを取得する。ステップＳ４３４およびステップＳ４３５の各処理は、図７のステップＳ１８３およびステップＳ１８４の各処理と同様に行われる。
【０２４４】
ステップＳ４３６において、算術符号化部１８５は、スライス１の確率テーブルのコピーを初期値として、コンテキストを用いて算術符号化を行う。
【０２４５】
ステップＳ４３７乃至ステップＳ４４２の各処理は、図８のステップＳ１８６乃至ステップＳ１９１の各処理と同様に行われる。
【０２４６】
なお、画像復号装置２００においても同様に、確率テーブルのコピーを初期値として利用して復号を行う。そのために、画像符号化装置１００は、確率テーブルを初期化したか若しくはコピーを利用したかを示す情報を、例えば符号化データに付加する等して、画像復号装置２００に提供する。確率テーブルのコピーを初期値として利用する旨の情報を得ると画像復号装置２００の可逆復号部２０２は、スライス１処理部２５２の算術復号部２６１がスライス１の一番下のマクロブロックラインの処理を終えた時にCABAC確率テーブルの内容をコピーし、スライス２処理部２５３の算術復号部２７１がそのコピーを用いて算術復号処理を開始するようにする。このようにすることにより、可逆復号部２０２は、上述した符号化の場合と同じ確率テーブルを使うことができ、符号化データを正しく復号することができる。
【０２４７】
［多分割］
以上においては画像を２分割するように説明したが、分割数は２以外であってもよい。例えば、図２２に示されるように、画像が、スライス１乃至スライス４の４つのエントロピスライスに分割されるようにしてもよい。
【０２４８】
この図２２の例のように画像を４分割する場合、スライス１とスライス２は、上述した２分割の場合と同様に符号化が行われるようにする。また、スライス３はスライス１と同様に、スライス４はスライス２と同様に符号化が行われるようにする。
【０２４９】
つまり、スライス１とスライス３の符号化処理は、下のマクロブロックラインから上のマクロブロックラインに向かう順に進められるようにする。また、スライス１とスライス３の符号化処理においては、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックが参照されるようにする。
【０２５０】
これに対して、スライス２とスライス４の符号化処理は、従来と同様に、上のマクロブロックラインから下のマクロブロックラインに向かう順に進められるようにする。また、スライス２とスライス４の符号化処理においては、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックが参照されるようにする。
【０２５１】
そして、スライス１の一番下のマクロブロックラインの係数データが記憶部１５２に記憶されたときにスライス２の符号化処理が開始されるのと同様に、スライス３の一番下のマクロブロックラインの係数データが記憶部１５２に記憶されたときにスライス４の符号化処理が開始される。
【０２５２】
さらに、スライス２の一番上のマクロブロックラインの符号化処理においてスライス１の一番下のマクロブロックラインが参照されるのと同様に、スライス４の一番上のマクロブロックラインの符号化処理では、処理対象マクロブロックの１つ上のマクロブロックとして、スライス３の一番下のマクロブロックラインのマクロブロックが参照されるようにする。
【０２５３】
［可逆符号化部の構成］
このように画像を４分割する場合、可逆符号化部１０６は、例えば、図２３に示されるように、図３のスライス１処理部１５３と同様のスライス３処理部５０３と、スライス２処理部１５４と同様のスライス４処理部５０４をさらに有する。
【０２５４】
また、可逆符号化部１０６は、画像を２つのスライスに分割する制御部１５１の代わりに、画像を４つのスライスに分割する制御部５０１を有する。
【０２５５】
制御部５０１は、マクロブロック検出部１６１とスライス検出部５１２を有する。スライス検出部５１２は、スライス１処理部１５３、スライス２処理部１５４、スライス３処理部５０３、およびスライス４処理部５０４を制御し、画像を４つのスライスに分割し、互いに並行して符号化処理を行わせる。
【０２５６】
画像が４分割される以外は、各処理は２分割の場合と同様に実行される。つまり、スライス３はスライス１と同様に符号化され、スライス４はスライス２と同様に符号化される。
【０２５７】
このように分割数を増やすことにより、並列数が増大するので、スループットが向上し、可逆符号化部１０６は、より高速に可逆符号化処理を行うことができる。その際、２分割の場合と同様に符号化処理が行われるので、可逆符号化部１０６は、符号化効率の低減を抑制させながら、画像符号化の高速化を実現することができる。
【０２５８】
つまり、画像符号化装置１００の可逆符号化部１０６は、符号化対象の画像を、上下に並ぶ複数の領域に分割する。そして、可逆符号化部１０６は、上から偶数番目の領域については、従来どおり、上のマクロブロックラインから下に向かう順に符号化を行い、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックを参照する。
【０２５９】
これに対して、上から奇数番目の領域については、可逆符号化部１０６は、従来とは逆に、下のマクロブロックラインから上に向かう順に符号化を行い、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックを参照する。
【０２６０】
さらに、可逆符号化部１０６は、上から奇数番目の領域の一番下のマクロブロックラインの符号化が終了した時点で、その１つ下の（上から偶数番目の）領域についての符号化処理を開始する。
【０２６１】
また、このとき、可逆符号化部１０６は、上から奇数番目の領域の一番下のマクロブロックラインを参照して、その１つ下の（上から偶数番目の）領域の一番上のマクロブロックラインについての符号化処理を行う。
【０２６２】
［可逆復号部の構成］
画像を４分割する場合の画像復号装置２００の可逆復号部２０２の構成例を図２４に示す。
【０２６３】
図２４に示されるように、この場合の可逆復号部２０２は、図１０の場合に比べて、デマルチプレクサ２５１の代わりに、符号化データをスライス毎に４つに分割するデマルチプレクサ５５１を有し、さらに、スライス３処理部５５２およびスライス４処理部５５３を有する。
【０２６４】
スライス３処理部５５２は、スライス３の符号化データを復号する処理部であり、スライス１処理部２５２と同様の構成を有し、同様の処理を行う。スライス３においては、スライス１と同様の方法で符号化されているので、スライス３処理部５５２は、スライス１処理部２５２と同様の方法で復号することにより、スライス３の符号化データを正しく復号することができる。
【０２６５】
スライス４処理部５５３は、スライス４の符号化データを復号する処理部であり、スライス２処理部２５３と同様の構成を有し、同様の処理を行う。スライス４においては、スライス２と同様の方法で符号化されているので、スライス４処理部５５３は、スライス２処理部２５３と同様の方法で復号することにより、スライス４の符号化データを正しく復号することができる。
【０２６６】
まず、スライス１処理部２５２によるスライス１の符号化データの復号処理と、スライス３処理部５５２によるスライス３の符号化データの復号処理が開始される。スライス２処理部２５３によるスライス２の一番上のマクロブロックラインの復号処理は、スライス１の一番下のマクロブロックラインの復号処理結果を待って開始される（周辺マクロブロックとして参照される）。
【０２６７】
同様に、スライス４処理部５５３によるスライス４の一番上のマクロブロックラインの復号処理は、スライス３の一番下のマクロブロックラインの復号処理結果を待って開始される（周辺マクロブロックとして参照される）。
【０２６８】
つまり、画像復号装置２００の可逆復号部２０２は、復号対象の符号化データに対応する符号化前の画像を、上下に並ぶ複数の領域に分割する。そして、可逆復号部２０２は、上から偶数番目の領域に対応する符号化データについては、従来どおり、上のマクロブロックラインから下に向かう順に復号し、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックを参照する。
【０２６９】
これに対して、上から奇数番目の領域に対応する符号化データについては、可逆復号部２０２は、従来とは逆に、下のマクロブロックラインから上に向かう順に復号し、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックを参照する。
【０２７０】
さらに、可逆復号部２０２は、上から奇数番目の領域の一番下のマクロブロックラインに対応する符号化データの復号が終了した時点で、その１つ下の（上から偶数番目の）領域の符号化データについての復号処理を開始する。
【０２７１】
また、このとき、可逆復号部２０２は、上から奇数番目の領域の一番下のマクロブロックラインを参照して、その１つ下の（上から偶数番目の）領域の一番上のマクロブロックラインに対応する符号化データについての復号処理を行う。
【０２７２】
なお、画像符号化装置１００および画像復号装置２００が、それぞれ多数のスライス処理部を予め有し、その中のエントロピスライス数と同数のスライス処理部を動作させるようにしてもよい。つまり、エントロピスライス数は、画像単位、シーケンス単位、コンテンツ単位等で変更することができるようにしてもよい。その場合、画像符号化装置１００は、画像復号装置２００に対して、符号化処理に採用したエントロピスライス数を通知する。画像復号装置２００は、その情報に基づいて復号処理を行うことにより、画像符号化装置１００が生成した符号化データを正しく復号することができる。
【０２７３】
［マクロブロック］
マクロブロックのサイズは、１６×１６以下であってもよいが、１６×１６より大きくてもよい。
【０２７４】
本発明は、例えば図２５に示されるようなあらゆる大きさのマクロブロックに対して適用することができる。例えば、本発明は、通常の１６×１６画素のようなマクロブロックだけでなく、３２×３２画素のような拡張されたマクロブロック（拡張マクロブロック）にも適用することができる。
【０２７５】
図２５において、上段には、左から、３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロック（パーティション）に分割された３２×３２画素で構成されるマクロブロックが順に示されている。また、中段には、左から、１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックに分割された１６×１６画素で構成されるブロックが順に示されている。さらに、下段には、左から、８×８画素、８×４画素、４×８画素、および４×４画素のブロックに分割された８×８画素のブロックが順に示されている。
【０２７６】
すなわち、３２×３２画素のマクロブロックは、上段に示される３２×３２画素、３２×１６画素、１６×３２画素、および１６×１６画素のブロックでの処理が可能である。
【０２７７】
上段の右側に示される１６×１６画素のブロックは、H．264/AVC方式と同様に、中段に示される１６×１６画素、１６×８画素、８×１６画素、および８×８画素のブロックでの処理が可能である。
【０２７８】
中段の右側に示される８×８画素のブロックは、H．264/AVC方式と同様に、下段に示される８×８画素、８×４画素、４×８画素、および４×４画素のブロックでの処理が可能である。
【０２７９】
これらのブロックは、以下の３階層に分類することができる。すなわち、図２５の上段に示される３２×３２画素、３２×１６画素、および１６×３２画素のブロックを第１階層と称する。上段の右側に示される１６×１６画素のブロック、並びに、中段に示される１６×１６画素、１６×８画素、および８×１６画素のブロックを、第２階層と称する。中段の右側に示される８×８画素のブロック、並びに、下段に示される８×８画素、８×４画素、４×８画素、および４×４画素のブロックを、第３階層と称する。
【０２８０】
このような階層構造を採用することにより、１６×１６画素のブロック以下に関しては、H．264/AVC方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックを定義することができる。
【０２８１】
＜４．第４の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図２６に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０２８２】
図２６において、パーソナルコンピュータ６００のCPU（Central Processing Unit）６０１は、ROM（Read Only Memory）６０２に記憶されているプログラム、または記憶部６１３からRAM（Random Access Memory）６０３にロードされたプログラムに従って各種の処理を実行する。RAM６０３にはまた、CPU６０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２８３】
CPU６０１、ROM６０２、およびRAM６０３は、バス６０４を介して相互に接続されている。このバス６０４にはまた、入出力インタフェース６１０も接続されている。
【０２８４】
入出力インタフェース６１０には、キーボード、マウスなどよりなる入力部６１１、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部６１２、ハードディスクなどより構成される記憶部６１３、モデムなどより構成される通信部６１４が接続されている。通信部６１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０２８５】
入出力インタフェース６１０にはまた、必要に応じてドライブ６１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア６２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部６１３にインストールされる。
【０２８６】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０２８７】
この記録媒体は、例えば、図２６に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア６２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM６０２や、記憶部６１３に含まれるハードディスクなどで構成される。
【０２８８】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０２８９】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２９０】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０２９１】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０２９２】
例えば、上述した画像符号化装置１００や画像復号装置２００は、任意の電子機器に適用することができる。以下にその例について説明する。
【０２９３】
＜５．第５の実施の形態＞
［テレビジョン受像機］
図２７は、本発明を適用した画像復号装置２００を用いるテレビジョン受像機の主な構成例を示すブロック図である。
【０２９４】
図２７に示されるテレビジョン受像機１０００は、地上波チューナ１０１３、ビデオデコーダ１０１５、映像信号処理回路１０１８、グラフィック生成回路１０１９、パネル駆動回路１０２０、および表示パネル１０２１を有する。
【０２９５】
地上波チューナ１０１３は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ１０１５に供給する。ビデオデコーダ１０１５は、地上波チューナ１０１３から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路１０１８に供給する。
【０２９６】
映像信号処理回路１０１８は、ビデオデコーダ１０１５から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路１０１９に供給する。
【０２９７】
グラフィック生成回路１０１９は、表示パネル１０２１に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路１０２０に供給する。また、グラフィック生成回路１０１９は、項目の選択などにユーザにより利用される画面を表示するための映像データ（グラフィック）を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路１０２０に供給するといった処理も適宜行う。
【０２９８】
パネル駆動回路１０２０は、グラフィック生成回路１０１９から供給されたデータに基づいて表示パネル１０２１を駆動し、番組の映像や上述した各種の画面を表示パネル１０２１に表示させる。
【０２９９】
表示パネル１０２１はLCD（Liquid Crystal Display）などよりなり、パネル駆動回路１０２０による制御に従って番組の映像などを表示させる。
【０３００】
また、テレビジョン受像機１０００は、音声A/D（Analog/Digital)変換回路１０１４、音声信号処理回路１０２２、エコーキャンセル／音声合成回路１０２３、音声増幅回路１０２４、およびスピーカ１０２５も有する。
【０３０１】
地上波チューナ１０１３は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ１０１３は、取得した音声信号を音声A/D変換回路１０１４に供給する。
【０３０２】
音声A/D変換回路１０１４は、地上波チューナ１０１３から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路１０２２に供給する。
【０３０３】
音声信号処理回路１０２２は、音声A/D変換回路１０１４から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル／音声合成回路１０２３に供給する。
【０３０４】
エコーキャンセル／音声合成回路１０２３は、音声信号処理回路１０２２から供給された音声データを音声増幅回路１０２４に供給する。
【０３０５】
音声増幅回路１０２４は、エコーキャンセル／音声合成回路１０２３から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ１０２５から出力させる。
【０３０６】
さらに、テレビジョン受像機１０００は、デジタルチューナ１０１６およびMPEGデコーダ１０１７も有する。
【０３０７】
デジタルチューナ１０１６は、デジタル放送（地上デジタル放送、BS（Broadcasting Satellite）／CS（Communications Satellite）デジタル放送）の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS（Moving Picture Experts Group-Transport Stream）を取得し、それをMPEGデコーダ１０１７に供給する。
【０３０８】
MPEGデコーダ１０１７は、デジタルチューナ１０１６から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象（視聴対象）になっている番組のデータを含むストリームを抽出する。MPEGデコーダ１０１７は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路１０２２に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路１０１８に供給する。また、MPEGデコーダ１０１７は、MPEG-TSから抽出したEPG（Electronic Program Guide)データを図示せぬ経路を介してCPU１０３２に供給する。
【０３０９】
テレビジョン受像機１０００は、このように映像パケットをデコードするMPEGデコーダ１０１７として、上述した画像復号装置２００を用いる。なお、放送局等より送信されるMPEG-TSは、画像符号化装置１００によって符号化されている。
【０３１０】
MPEGデコーダ１０１７は、画像復号装置２００の場合と同様に、画像符号化装置１００より供給される符号化データをエントロピスライス毎に並行して復号し、復号画像データを生成する。そのとき、MPEGデコーダ１０１７は、画像復号装置２００の場合と同様に、復号対象の符号化データに対応する符号化前の画像を、上下に並ぶ複数（偶数個）の領域に分割する。そして、MPEGデコーダ１０１７は、上から偶数番目の領域に対応する符号化データについては、従来どおり、上のマクロブロックラインから下に向かう順に復号し、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックを参照する。
【０３１１】
これに対して、上から奇数番目の領域に対応する符号化データについては、MPEGデコーダ１０１７は、従来とは逆に、下のマクロブロックラインから上に向かう順に復号し、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックを参照する。
【０３１２】
さらに、MPEGデコーダ１０１７は、上から奇数番目の領域の一番下のマクロブロックラインに対応する符号化データの復号が終了した時点で、その１つ下の（上から偶数番目の）領域の符号化データについての復号処理を開始する。
【０３１３】
また、このとき、MPEGデコーダ１０１７は、上から奇数番目の領域の一番下のマクロブロックラインを参照して、その１つ下の（上から偶数番目の）領域の一番上のマクロブロックラインに対応する符号化データについての復号処理を行う。
【０３１４】
したがって、MPEGデコーダ１０１７は、符号化効率の低減を抑制させながら、画像符号化の高速化を実現することができる。
【０３１５】
MPEGデコーダ１０１７から供給された映像データは、ビデオデコーダ１０１５から供給された映像データの場合と同様に、映像信号処理回路１０１８において所定の処理が施され、グラフィック生成回路１０１９において、生成された映像データ等が適宜重畳され、パネル駆動回路１０２０を介して表示パネル１０２１に供給され、その画像が表示される。
【０３１６】
MPEGデコーダ１０１７から供給された音声データは、音声A/D変換回路１０１４から供給された音声データの場合と同様に、音声信号処理回路１０２２において所定の処理が施され、エコーキャンセル／音声合成回路１０２３を介して音声増幅回路１０２４に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ１０２５から出力される。
【０３１７】
また、テレビジョン受像機１０００は、マイクロホン１０２６、およびA/D変換回路１０２７も有する。
【０３１８】
A/D変換回路１０２７は、音声会話用のものとしてテレビジョン受像機１０００に設けられるマイクロホン１０２６により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル／音声合成回路１０２３に供給する。
【０３１９】
エコーキャンセル／音声合成回路１０２３は、テレビジョン受像機１０００のユーザ（ユーザＡ）の音声のデータがA/D変換回路１０２７から供給されている場合、ユーザＡの音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路１０２４を介してスピーカ１０２５より出力させる。
【０３２０】
さらに、テレビジョン受像機１０００は、音声コーデック１０２８、内部バス１０２９、SDRAM（Synchronous Dynamic Random Access Memory)１０３０、フラッシュメモリ１０３１、CPU１０３２、USB（Universal Serial Bus) I/F１０３３、およびネットワークI/F１０３４も有する。
【０３２１】
A/D変換回路１０２７は、音声会話用のものとしてテレビジョン受像機１０００に設けられるマイクロホン１０２６により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック１０２８に供給する。
【０３２２】
音声コーデック１０２８は、A/D変換回路１０２７から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス１０２９を介してネットワークI/F１０３４に供給する。
【０３２３】
ネットワークI/F１０３４は、ネットワーク端子１０３５に装着されたケーブルを介してネットワークに接続される。ネットワークI/F１０３４は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック１０２８から供給された音声データを送信する。また、ネットワークI/F１０３４は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子１０３５を介して受信し、それを、内部バス１０２９を介して音声コーデック１０２８に供給する。
【０３２４】
音声コーデック１０２８は、ネットワークI/F１０３４から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル／音声合成回路１０２３に供給する。
【０３２５】
エコーキャンセル／音声合成回路１０２３は、音声コーデック１０２８から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路１０２４を介してスピーカ１０２５より出力させる。
【０３２６】
SDRAM１０３０は、CPU１０３２が処理を行う上で必要な各種のデータを記憶する。
【０３２７】
フラッシュメモリ１０３１は、CPU１０３２により実行されるプログラムを記憶する。フラッシュメモリ１０３１に記憶されているプログラムは、テレビジョン受像機１０００の起動時などの所定のタイミングでCPU１０３２により読み出される。フラッシュメモリ１０３１には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
【０３２８】
例えば、フラッシュメモリ１０３１には、CPU１０３２の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ１０３１は、例えばCPU１０３２の制御により、そのMPEG-TSを、内部バス１０２９を介してMPEGデコーダ１０１７に供給する。
【０３２９】
MPEGデコーダ１０１７は、デジタルチューナ１０１６から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機１０００は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ１０１７を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
【０３３０】
また、テレビジョン受像機１０００は、リモートコントローラ１０５１から送信される赤外線信号を受光する受光部１０３７も有する。
【０３３１】
受光部１０３７は、リモートコントローラ１０５１からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU１０３２に出力する。
【０３３２】
CPU１０３２は、フラッシュメモリ１０３１に記憶されているプログラムを実行し、受光部１０３７から供給される制御コードなどに応じてテレビジョン受像機１０００の全体の動作を制御する。CPU１０３２とテレビジョン受像機１０００の各部は、図示せぬ経路を介して接続されている。
【０３３３】
USB I/F１０３３は、USB端子１０３６に装着されたUSBケーブルを介して接続される、テレビジョン受像機１０００の外部の機器との間でデータの送受信を行う。ネットワークI/F１０３４は、ネットワーク端子１０３５に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
【０３３４】
テレビジョン受像機１０００は、MPEGデコーダ１０１７として画像復号装置２００を用いることにより、符号化効率の低減を抑制させながら高速に符号化された符号化データを正しく復号することができる。その結果として、テレビジョン受像機１０００は、アンテナを介して受信する放送波信号や、ネットワークを介して取得するコンテンツデータの復号を高速に行うことができ、リアルタイム処理をより低いコストで実現することができる。
【０３３５】
＜６．第６の実施の形態＞
［携帯電話機］
図２８は、本発明を適用した画像符号化装置１００および画像復号装置２００を用いる携帯電話機の主な構成例を示すブロック図である。
【０３３６】
図２８に示される携帯電話機１１００は、各部を統括的に制御するようになされた主制御部１１５０、電源回路部１１５１、操作入力制御部１１５２、画像エンコーダ１１５３、カメラI/F部１１５４、LCD制御部１１５５、画像デコーダ１１５６、多重分離部１１５７、記録再生部１１６２、変復調回路部１１５８、および音声コーデック１１５９を有する。これらは、バス１１６０を介して互いに接続されている。
【０３３７】
また、携帯電話機１１００は、操作キー１１１９、CCD（Charge Coupled Devices）カメラ１１１６、液晶ディスプレイ１１１８、記憶部１１２３、送受信回路部１１６３、アンテナ１１１４、マイクロホン（マイク）１１２１、およびスピーカ１１１７を有する。
【０３３８】
電源回路部１１５１は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機１１００を動作可能な状態に起動する。
【０３３９】
携帯電話機１１００は、CPU、ROMおよびRAM等でなる主制御部１１５０の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
【０３４０】
例えば、音声通話モードにおいて、携帯電話機１１００は、マイクロホン（マイク）１１２１で集音した音声信号を、音声コーデック１１５９によってデジタル音声データに変換し、これを変復調回路部１１５８でスペクトラム拡散処理し、送受信回路部１１６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１１００は、その変換処理により得られた送信用信号を、アンテナ１１１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（音声信号）は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
【０３４１】
また、例えば、音声通話モードにおいて、携帯電話機１１００は、アンテナ１１１４で受信した受信信号を送受信回路部１１６３で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部１１５８でスペクトラム逆拡散処理し、音声コーデック１１５９によってアナログ音声信号に変換する。携帯電話機１１００は、その変換して得られたアナログ音声信号をスピーカ１１１７から出力する。
【０３４２】
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機１１００は、操作キー１１１９の操作によって入力された電子メールのテキストデータを、操作入力制御部１１５２において受け付ける。携帯電話機１１００は、そのテキストデータを主制御部１１５０において処理し、LCD制御部１１５５を介して、画像として液晶ディスプレイ１１１８に表示させる。
【０３４３】
また、携帯電話機１１００は、主制御部１１５０において、操作入力制御部１１５２が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機１１００は、その電子メールデータを、変復調回路部１１５８でスペクトラム拡散処理し、送受信回路部１１６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１１００は、その変換処理により得られた送信用信号を、アンテナ１１１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（電子メール）は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
【０３４４】
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機１１００は、基地局から送信された信号を、アンテナ１１１４を介して送受信回路部１１６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機１１００は、その受信信号を変復調回路部１１５８でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機１１００は、復元された電子メールデータを、LCD制御部１１５５を介して液晶ディスプレイ１１１８に表示する。
【０３４５】
なお、携帯電話機１１００は、受信した電子メールデータを、記録再生部１１６２を介して、記憶部１１２３に記録する（記憶させる）ことも可能である。
【０３４６】
この記憶部１１２３は、書き換え可能な任意の記憶媒体である。記憶部１１２３は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
【０３４７】
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機１１００は、撮像によりCCDカメラ１１１６で画像データを生成する。CCDカメラ１１１６は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。CCDカメラ１１１６は、その画像データを、カメラI/F部１１５４を介して、画像エンコーダ１１５３で符号化し、符号化画像データに変換する。
【０３４８】
携帯電話機１１００は、このような処理を行う画像エンコーダ１１５３として、上述した画像符号化装置１００を用いる。画像エンコーダ１１５３は、画像符号化装置１００の場合と同様に、符号化対象の画像を、上下に並ぶ複数（偶数個）の領域に分割する。そして、画像エンコーダ１１５３は、上から偶数番目の領域については、従来どおり、上のマクロブロックラインから下に向かう順に符号化を行い、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックを参照する。
【０３４９】
これに対して、上から奇数番目の領域については、画像エンコーダ１１５３は、従来とは逆に、下のマクロブロックラインから上に向かう順に符号化を行い、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックを参照する。
【０３５０】
さらに、画像エンコーダ１１５３は、上から奇数番目の領域の一番下のマクロブロックラインの符号化が終了した時点で、その１つ下の（上から偶数番目の）領域についての符号化処理を開始する。
【０３５１】
また、このとき、画像エンコーダ１１５３は、上から奇数番目の領域の一番下のマクロブロックラインを参照して、その１つ下の（上から偶数番目の）領域の一番上のマクロブロックラインについての符号化処理を行う。
【０３５２】
このような符号化を行うことにより、画像エンコーダ１１５３は、符号化効率の低減を抑制させながら、画像符号化の高速化を実現することができる。
【０３５３】
なお、携帯電話機１１００は、このとき同時に、CCDカメラ１１１６で撮像中にマイクロホン（マイク）１１２１で集音した音声を、音声コーデック１１５９においてアナログデジタル変換し、さらに符号化する。
【０３５４】
携帯電話機１１００は、多重分離部１１５７において、画像エンコーダ１１５３から供給された符号化画像データと、音声コーデック１１５９から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機１１００は、その結果得られる多重化データを、変復調回路部１１５８でスペクトラム拡散処理し、送受信回路部１１６３でデジタルアナログ変換処理および周波数変換処理する。携帯電話機１１００は、その変換処理により得られた送信用信号を、アンテナ１１１４を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号（画像データ）は、ネットワーク等を介して、通信相手に供給される。
【０３５５】
なお、画像データを送信しない場合、携帯電話機１１００は、CCDカメラ１１１６で生成した画像データを、画像エンコーダ１１５３を介さずに、LCD制御部１１５５を介して液晶ディスプレイ１１１８に表示させることもできる。
【０３５６】
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機１１００は、基地局から送信された信号を、アンテナ１１１４を介して送受信回路部１１６３で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機１１００は、その受信信号を変復調回路部１１５８でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機１１００は、多重分離部１１５７において、その多重化データを分離して、符号化画像データと音声データとに分ける。
【０３５７】
携帯電話機１１００は、画像デコーダ１１５６において符号化画像データをデコードすることにより、再生動画像データを生成し、これを、LCD制御部１１５５を介して液晶ディスプレイ１１１８に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ１１１８に表示される。
【０３５８】
携帯電話機１１００は、このような処理を行う画像デコーダ１１５６として、上述した画像復号装置２００を用いる。つまり、画像デコーダ１１５６は、画像復号装置２００の場合と同様に、画像符号化装置１００より供給される符号化データをエントロピスライス毎に並行して復号し、復号画像データを生成する。そのとき、画像デコーダ１１５６は、画像復号装置２００の場合と同様に、復号対象の符号化データに対応する符号化前の画像を、上下に並ぶ複数（偶数個）の領域に分割する。そして、画像デコーダ１１５６は、上から偶数番目の領域に対応する符号化データについては、従来どおり、上のマクロブロックラインから下に向かう順に復号し、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックを参照する。
【０３５９】
これに対して、上から奇数番目の領域に対応する符号化データについては、画像デコーダ１１５６は、従来とは逆に、下のマクロブロックラインから上に向かう順に復号し、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックを参照する。
【０３６０】
さらに、画像デコーダ１１５６は、上から奇数番目の領域の一番下のマクロブロックラインに対応する符号化データの復号が終了した時点で、その１つ下の（上から偶数番目の）領域の符号化データについての復号処理を開始する。
【０３６１】
また、このとき、画像デコーダ１１５６は、上から奇数番目の領域の一番下のマクロブロックラインを参照して、その１つ下の（上から偶数番目の）領域の一番上のマクロブロックラインに対応する符号化データについての復号処理を行う。
【０３６２】
したがって、画像デコーダ１１５６は、符号化効率の低減を抑制させながら、画像符号化の高速化を実現することができる。
【０３６３】
このとき、携帯電話機１１００は、同時に、音声コーデック１１５９において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ１１１７より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
【０３６４】
なお、電子メールの場合と同様に、携帯電話機１１００は、受信した簡易ホームページ等にリンクされたデータを、記録再生部１１６２を介して、記憶部１１２３に記録する（記憶させる）ことも可能である。
【０３６５】
また、携帯電話機１１００は、主制御部１１５０において、撮像されてCCDカメラ１１１６で得られた２次元コードを解析し、２次元コードに記録された情報を取得することができる。
【０３６６】
さらに、携帯電話機１１００は、赤外線通信部１１８１で赤外線により外部の機器と通信することができる。
【０３６７】
携帯電話機１１００は、画像エンコーダ１１５３として画像符号化装置１００を用いることにより、例えばCCDカメラ１１１６において生成された画像データを符号化して伝送する際の、画像符号化の高速化による符号化効率の低減を抑制させることができる。その結果として、携帯電話機１１００は、リアルタイム処理をより低いコストで実現することができる。
【０３６８】
また、携帯電話機１１００は、画像デコーダ１１５６として画像復号装置２００を用いることにより、例えば、簡易ホームページ等にリンクされた動画像ファイルのデータ（符号化効率の低減を抑制させながら高速に符号化された符号化データ）を正しく復号させることができ、リアルタイム処理をより低いコストで実現することができる。
【０３６９】
なお、以上において、携帯電話機１１００が、CCDカメラ１１１６を用いるように説明したが、このCCDカメラ１１１６の代わりに、CMOS（Complementary Metal Oxide Semiconductor）を用いたイメージセンサ（CMOSイメージセンサ）を用いるようにしてもよい。この場合も、携帯電話機１１００は、CCDカメラ１１１６を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
【０３７０】
また、以上においては携帯電話機１１００として説明したが、例えば、PDA（Personal Digital Assistants）、スマートフォン、UMPC（Ultra Mobile Personal Computer）、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機１１００と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機１１００の場合と同様に、画像符号化装置１００および画像復号装置２００を適用することができる。
【０３７１】
＜７．第７の実施の形態＞
［ハードディスクレコーダ］
図２９は、本発明を適用した画像符号化装置１００および画像復号装置２００を用いるハードディスクレコーダの主な構成例を示すブロック図である。
【０３７２】
図２９に示されるハードディスクレコーダ（HDDレコーダ）１２００は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号（テレビジョン信号）に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
【０３７３】
ハードディスクレコーダ１２００は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ１２００は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
【０３７４】
さらに、ハードディスクレコーダ１２００は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ１２６０に供給し、モニタ１２６０の画面にその画像を表示させ、モニタ１２６０のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ１２００は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ１２６０に供給し、モニタ１２６０の画面にその画像を表示させ、モニタ１２６０のスピーカよりその音声を出力させることもできる。
【０３７５】
もちろん、この他の動作も可能である。
【０３７６】
図２９に示されるように、ハードディスクレコーダ１２００は、受信部１２２１、復調部１２２２、デマルチプレクサ１２２３、オーディオデコーダ１２２４、ビデオデコーダ１２２５、およびレコーダ制御部１２２６を有する。ハードディスクレコーダ１２００は、さらに、EPGデータメモリ１２２７、プログラムメモリ１２２８、ワークメモリ１２２９、ディスプレイコンバータ１２３０、OSD（On Screen Display）制御部１２３１、ディスプレイ制御部１２３２、記録再生部１２３３、D/Aコンバータ１２３４、および通信部１２３５を有する。
【０３７７】
また、ディスプレイコンバータ１２３０は、ビデオエンコーダ１２４１を有する。記録再生部１２３３は、エンコーダ１２５１およびデコーダ１２５２を有する。
【０３７８】
受信部１２２１は、リモートコントローラ（図示せず）からの赤外線信号を受信し、電気信号に変換してレコーダ制御部１２２６に出力する。レコーダ制御部１２２６は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ１２２８に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部１２２６は、このとき、ワークメモリ１２２９を必要に応じて使用する。
【０３７９】
通信部１２３５は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部１２３５は、レコーダ制御部１２２６により制御され、チューナ（図示せず）と通信し、主にチューナに対して選局制御信号を出力する。
【０３８０】
復調部１２２２は、チューナより供給された信号を、復調し、デマルチプレクサ１２２３に出力する。デマルチプレクサ１２２３は、復調部１２２２より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ１２２４、ビデオデコーダ１２２５、またはレコーダ制御部１２２６に出力する。
【０３８１】
オーディオデコーダ１２２４は、入力されたオーディオデータをデコードし、記録再生部１２３３に出力する。ビデオデコーダ１２２５は、入力されたビデオデータをデコードし、ディスプレイコンバータ１２３０に出力する。レコーダ制御部１２２６は、入力されたEPGデータをEPGデータメモリ１２２７に供給し、記憶させる。
【０３８２】
ディスプレイコンバータ１２３０は、ビデオデコーダ１２２５またはレコーダ制御部１２２６より供給されたビデオデータを、ビデオエンコーダ１２４１により、例えばNTSC（National Television Standards Committee）方式のビデオデータにエンコードし、記録再生部１２３３に出力する。また、ディスプレイコンバータ１２３０は、ビデオデコーダ１２２５またはレコーダ制御部１２２６より供給されるビデオデータの画面のサイズを、モニタ１２６０のサイズに対応するサイズに変換し、ビデオエンコーダ１２４１によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部１２３２に出力する。
【０３８３】
ディスプレイ制御部１２３２は、レコーダ制御部１２２６の制御のもと、OSD（On Screen Display）制御部１２３１が出力したOSD信号を、ディスプレイコンバータ１２３０より入力されたビデオ信号に重畳し、モニタ１２６０のディスプレイに出力し、表示させる。
【０３８４】
モニタ１２６０にはまた、オーディオデコーダ１２２４が出力したオーディオデータが、D/Aコンバータ１２３４によりアナログ信号に変換されて供給されている。モニタ１２６０は、このオーディオ信号を内蔵するスピーカから出力する。
【０３８５】
記録再生部１２３３は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
【０３８６】
記録再生部１２３３は、例えば、オーディオデコーダ１２２４より供給されるオーディオデータを、エンコーダ１２５１によりエンコードする。また、記録再生部１２３３は、ディスプレイコンバータ１２３０のビデオエンコーダ１２４１より供給されるビデオデータを、エンコーダ１２５１によりエンコードする。記録再生部１２３３は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部１２３３は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
【０３８７】
記録再生部１２３３は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部１２３３は、デコーダ１２５２によりオーディオデータおよびビデオデータをデコードする。記録再生部１２３３は、復号したオーディオデータをD/A変換し、モニタ１２６０のスピーカに出力する。また、記録再生部１２３３は、復号したビデオデータをD/A変換し、モニタ１２６０のディスプレイに出力する。
【０３８８】
レコーダ制御部１２２６は、受信部１２２１を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ１２２７から最新のEPGデータを読み出し、それをOSD制御部１２３１に供給する。OSD制御部１２３１は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部１２３２に出力する。ディスプレイ制御部１２３２は、OSD制御部１２３１より入力されたビデオデータをモニタ１２６０のディスプレイに出力し、表示させる。これにより、モニタ１２６０のディスプレイには、EPG（電子番組ガイド）が表示される。
【０３８９】
また、ハードディスクレコーダ１２００は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
【０３９０】
通信部１２３５は、レコーダ制御部１２２６に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部１２２６に供給する。レコーダ制御部１２２６は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部１２３３に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部１２２６および記録再生部１２３３が、必要に応じて再エンコード等の処理を行うようにしてもよい。
【０３９１】
また、レコーダ制御部１２２６は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ１２３０に供給する。ディスプレイコンバータ１２３０は、ビデオデコーダ１２２５から供給されるビデオデータと同様に、レコーダ制御部１２２６から供給されるビデオデータを処理し、ディスプレイ制御部１２３２を介してモニタ１２６０に供給し、その画像を表示させる。
【０３９２】
また、この画像表示に合わせて、レコーダ制御部１２２６が、復号したオーディオデータを、D/Aコンバータ１２３４を介してモニタ１２６０に供給し、その音声をスピーカから出力させるようにしてもよい。
【０３９３】
さらに、レコーダ制御部１２２６は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ１２２７に供給する。
【０３９４】
以上のようなハードディスクレコーダ１２００は、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダとして画像復号装置２００を用いる。つまり、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、画像復号装置２００の場合と同様に、画像符号化装置１００より供給される符号化データをエントロピスライス毎に並行して復号し、復号画像データを生成する。そのとき、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、画像復号装置２００の場合と同様に、復号対象の符号化データに対応する符号化前の画像を、上下に並ぶ複数（偶数個）の領域に分割する。そして、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、上から偶数番目の領域に対応する符号化データについては、従来どおり、上のマクロブロックラインから下に向かう順に復号し、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックを参照する。
【０３９５】
これに対して、上から奇数番目の領域に対応する符号化データについては、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、従来とは逆に、下のマクロブロックラインから上に向かう順に復号し、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックを参照する。
【０３９６】
さらに、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、上から奇数番目の領域の一番下のマクロブロックラインに対応する符号化データの復号が終了した時点で、その１つ下の（上から偶数番目の）領域の符号化データについての復号処理を開始する。
【０３９７】
また、このとき、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、上から奇数番目の領域の一番下のマクロブロックラインを参照して、その１つ下の（上から偶数番目の）領域の一番上のマクロブロックラインに対応する符号化データについての復号処理を行う。
【０３９８】
したがって、ビデオデコーダ１２２５、デコーダ１２５２、およびレコーダ制御部１２２６に内蔵されるデコーダは、符号化効率の低減を抑制させながら、画像符号化の高速化を実現することができる。
【０３９９】
したがって、ハードディスクレコーダ１２００は、例えば、チューナや通信部１２３５が受信するビデオデータ（符号化効率の低減を抑制させながら高速に符号化された符号化データ）や、記録再生部１２３３が再生するビデオデータ（符号化効率の低減を抑制させながら高速に符号化された符号化データ）を正しく復号させることができ、リアルタイム処理をより低いコストで実現することができる。
【０４００】
また、ハードディスクレコーダ１２００は、エンコーダ１２５１として画像符号化装置１００を用いる。したがって、エンコーダ１２５１は、画像符号化装置１００の場合と同様に、符号化対象の画像を、上下に並ぶ複数（偶数個）の領域に分割する。そして、エンコーダ１２５１は、上から偶数番目の領域については、従来どおり、上のマクロブロックラインから下に向かう順に符号化を行い、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックを参照する。
【０４０１】
これに対して、上から奇数番目の領域については、エンコーダ１２５１は、従来とは逆に、下のマクロブロックラインから上に向かう順に符号化を行い、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックを参照する。
【０４０２】
さらに、エンコーダ１２５１は、上から奇数番目の領域の一番下のマクロブロックラインの符号化が終了した時点で、その１つ下の（上から偶数番目の）領域についての符号化処理を開始する。
【０４０３】
また、このとき、エンコーダ１２５１は、上から奇数番目の領域の一番下のマクロブロックラインを参照して、その１つ下の（上から偶数番目の）領域の一番上のマクロブロックラインについての符号化処理を行う。
【０４０４】
このような符号化を行うことにより、エンコーダ１２５１は、符号化効率の低減を抑制させながら、画像符号化の高速化を実現することができる。
【０４０５】
したがって、ハードディスクレコーダ１２００は、例えば、ハードディスクに記録する符号化データを生成する際の、画像符号化の高速化による符号化効率の低減を抑制させることができる。その結果として、携帯電話機１１００は、リアルタイム処理をより低いコストで実現することができる。
【０４０６】
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ１２００について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ１２００の場合と同様に、画像符号化装置１００および画像復号装置２００を適用することができる。
【０４０７】
＜８．第８の実施の形態＞
［カメラ］
図３０は、本発明を適用した画像符号化装置１００および画像復号装置２００を用いるカメラの主な構成例を示すブロック図である。
【０４０８】
図３０に示されるカメラ１３００は、被写体を撮像し、被写体の画像をLCD１３１６に表示させたり、それを画像データとして、記録メディア１３３３に記録したりする。
【０４０９】
レンズブロック１３１１は、光（すなわち、被写体の映像）を、CCD/CMOS１３１２に入射させる。CCD/CMOS１３１２は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部１３１３に供給する。
【０４１０】
カメラ信号処理部１３１３は、CCD/CMOS１３１２から供給された電気信号を、Ｙ，Ｃｒ，Ｃｂの色差信号に変換し、画像信号処理部１３１４に供給する。画像信号処理部１３１４は、コントローラ１３２１の制御の下、カメラ信号処理部１３１３から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ１３４１で符号化したりする。画像信号処理部１３１４は、画像信号を符号化して生成した符号化データを、デコーダ１３１５に供給する。さらに、画像信号処理部１３１４は、オンスクリーンディスプレイ（OSD）１３２０において生成された表示用データを取得し、それをデコーダ１３１５に供給する。
【０４１１】
以上の処理において、カメラ信号処理部１３１３は、バス１３１７を介して接続されるDRAM（Dynamic Random Access Memory）１３１８を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM１３１８に保持させる。
【０４１２】
デコーダ１３１５は、画像信号処理部１３１４から供給された符号化データを復号し、得られた画像データ（復号画像データ）をLCD１３１６に供給する。また、デコーダ１３１５は、画像信号処理部１３１４から供給された表示用データをLCD１３１６に供給する。LCD１３１６は、デコーダ１３１５から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
【０４１３】
オンスクリーンディスプレイ１３２０は、コントローラ１３２１の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス１３１７を介して画像信号処理部１３１４に出力する。
【０４１４】
コントローラ１３２１は、ユーザが操作部１３２２を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス１３１７を介して、画像信号処理部１３１４、DRAM１３１８、外部インタフェース１３１９、オンスクリーンディスプレイ１３２０、およびメディアドライブ１３２３等を制御する。FLASH ROM１３２４には、コントローラ１３２１が各種処理を実行する上で必要なプログラムやデータ等が格納される。
【０４１５】
例えば、コントローラ１３２１は、画像信号処理部１３１４やデコーダ１３１５に代わって、DRAM１３１８に記憶されている画像データを符号化したり、DRAM１３１８に記憶されている符号化データを復号したりすることができる。このとき、コントローラ１３２１は、画像信号処理部１３１４やデコーダ１３１５の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部１３１４やデコーダ１３１５が対応していない方式により符号化・復号処理を行うようにしてもよい。
【０４１６】
また、例えば、操作部１３２２から画像印刷の開始が指示された場合、コントローラ１３２１は、DRAM１３１８から画像データを読み出し、それを、バス１３１７を介して外部インタフェース１３１９に接続されるプリンタ１３３４に供給して印刷させる。
【０４１７】
さらに、例えば、操作部１３２２から画像記録が指示された場合、コントローラ１３２１は、DRAM１３１８から符号化データを読み出し、それを、バス１３１７を介してメディアドライブ１３２３に装着される記録メディア１３３３に供給して記憶させる。
【０４１８】
記録メディア１３３３は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア１３３３は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
【０４１９】
また、メディアドライブ１３２３と記録メディア１３３３を一体化し、例えば、内蔵型ハードディスクドライブやSSD（Solid State Drive）等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
【０４２０】
外部インタフェース１３１９は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ１３３４と接続される。また、外部インタフェース１３１９には、必要に応じてドライブ１３３１が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア１３３２が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM１３２４にインストールされる。
【０４２１】
さらに、外部インタフェース１３１９は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ１３２１は、例えば、操作部１３２２からの指示に従って、DRAM１３１８から符号化データを読み出し、それを外部インタフェース１３１９から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ１３２１は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース１３１９を介して取得し、それをDRAM１３１８に保持させたり、画像信号処理部１３１４に供給したりすることができる。
【０４２２】
以上のようなカメラ１３００は、デコーダ１３１５として画像復号装置２００を用いる。つまり、デコーダ１３１５は、画像復号装置２００の場合と同様に、画像符号化装置１００より供給される符号化データをエントロピスライス毎に並行して復号し、復号画像データを生成する。そのとき、デコーダ１３１５は、画像復号装置２００の場合と同様に、復号対象の符号化データに対応する符号化前の画像を、上下に並ぶ複数（偶数個）の領域に分割する。そして、デコーダ１３１５は、上から偶数番目の領域に対応する符号化データについては、従来どおり、上のマクロブロックラインから下に向かう順に復号し、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックを参照する。
【０４２３】
これに対して、上から奇数番目の領域に対応する符号化データについては、デコーダ１３１５は、従来とは逆に、下のマクロブロックラインから上に向かう順に復号し、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックを参照する。
【０４２４】
さらに、デコーダ１３１５は、上から奇数番目の領域の一番下のマクロブロックラインに対応する符号化データの復号が終了した時点で、その１つ下の（上から偶数番目の）領域の符号化データについての復号処理を開始する。
【０４２５】
また、このとき、デコーダ１３１５は、は、上から奇数番目の領域の一番下のマクロブロックラインを参照して、その１つ下の（上から偶数番目の）領域の一番上のマクロブロックラインに対応する符号化データについての復号処理を行う。
【０４２６】
したがって、デコーダ１３１５は、符号化効率の低減を抑制させながら、画像符号化の高速化を実現することができる。
【０４２７】
したがって、カメラ１３００は、例えば、CCD/CMOS１３１２において生成される画像データや、DRAM１３１８または記録メディア１３３３から読み出すビデオデータの符号化データや、ネットワークを介して取得するビデオデータの符号化データの符号化効率をより向上させることができ、リアルタイム処理をより低いコストで実現することができる。
【０４２８】
また、カメラ１３００は、エンコーダ１３４１として画像符号化装置１００を用いる。エンコーダ１３４１は、画像符号化装置１００の場合と同様に、符号化対象の画像を、上下に並ぶ複数（偶数個）の領域に分割する。そして、エンコーダ１３４１は、上から偶数番目の領域については、従来どおり、上のマクロブロックラインから下に向かう順に符号化を行い、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ上のマクロブロックを参照する。
【０４２９】
これに対して、上から奇数番目の領域については、エンコーダ１３４１は、従来とは逆に、下のマクロブロックラインから上に向かう順に符号化を行い、周辺マクロブロックとして処理対象マクロブロックの１つ左のマクロブロックと１つ下のマクロブロックを参照する。
【０４３０】
さらに、エンコーダ１３４１は、上から奇数番目の領域の一番下のマクロブロックラインの符号化が終了した時点で、その１つ下の（上から偶数番目の）領域についての符号化処理を開始する。
【０４３１】
また、このとき、エンコーダ１３４１は、上から奇数番目の領域の一番下のマクロブロックラインを参照して、その１つ下の（上から偶数番目の）領域の一番上のマクロブロックラインについての符号化処理を行う。
【０４３２】
このような符号化を行うことにより、エンコーダ１３４１は、符号化効率の低減を抑制させながら、画像符号化の高速化を実現することができる。
【０４３３】
したがって、カメラ１３００は、エンコーダ１３４１として画像符号化装置１００を用いることにより、例えば、DRAM１３１８や記録メディア１３３３に記録する符号化データや、他の装置に提供する符号化データの画像符号化の高速化による符号化効率の低減を抑制させることができる。その結果として、カメラ１３００は、リアルタイム処理をより低いコストで実現することができる。
【０４３４】
なお、コントローラ１３２１が行う復号処理に画像復号装置２００の復号方法を適用するようにしてもよい。同様に、コントローラ１３２１が行う符号化処理に画像符号化装置１００の符号化方法を適用するようにしてもよい。
【０４３５】
また、カメラ１３００が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
【０４３６】
もちろん、画像符号化装置１００および画像復号装置２００は、上述した装置以外の装置やシステムにも適用可能である。
【符号の説明】
【０４３７】
１００  画像符号化装置，  １０６  可逆符号化部，  １５１  制御部，  １５２  記憶部，  １５３  スライス１処理部，  １５４  スライス２処理部，  ２００  画像復号装置，  ２０２  可逆復号部，  ２５１  デマルチプレクサ，  ２５２  スライス１処理部，  ２５３  スライス２処理部，  ３０１  コンテキスト処理部，  ５０１  制御部，  ５０３  スライス３処理部，  ５０４  スライス４処理部，  ５５１  デマルチプレクサ，  ５５２  スライス３処理部，  ５５４  スライス４処理部
【図１】
2014143708.tif 000003
【図２】
2014143708.tif 000004
【図３】
2014143708.tif 000005
【図４】
2014143708.tif 000006
【図５】
2014143708.tif 000007
【図６】
2014143708.tif 000008
【図７】
2014143708.tif 000009
【図８】
2014143708.tif 000010
【図９】
2014143708.tif 000011
【図１０】
2014143708.tif 000012
【図１１】
2014143708.tif 000013
【図１２】
2014143708.tif 000014
【図１３】
2014143708.tif 000015
【図１４】
2014143708.tif 000016
【図１５】
2014143708.tif 000017
【図１６】
2014143708.tif 000018
【図１７】
2014143708.tif 000019
【図１８】
2014143708.tif 000020
【図１９】
2014143708.tif 000021
【図２０】
2014143708.tif 000022
【図２１】
2014143708.tif 000023
【図２２】
2014143708.tif 000024
【図２３】
2014143708.tif 000025
【図２４】
2014143708.tif 000026
【図２５】
2014143708.tif 000027
【図２６】
2014143708.tif 000028
【図２７】
2014143708.tif 000029
【図２８】
2014143708.tif 000030
【図２９】
2014143708.tif 000031
【図３０】
2014143708.tif 000032