(57)【特許請求の範囲】
【請求項１】
算術符号化を用いる画像符号化方法であって、
処理対象の係数ブロックに含まれる処理対象の係数の絶対値が、値が１である第１の閾値より大きいか否かを示す第１フラグを算術符号化する第１フラグ符号化ステップと、
前記処理対象の係数の絶対値が、値が２である第２の閾値より大きいか否かを示す第２フラグを算術符号化する第２フラグ符号化ステップとを含み、
前記第１フラグ符号化ステップ及び前記第２フラグ符号化ステップでは、前記処理対象の係数ブロックの直前の係数ブロックに絶対値が第３の閾値を超える係数が存在するかどうかを判定し、判定結果に応じて、前記第１フラグ及び前記第２フラグの算術符号化に使用するコンテキストを切り替える
画像符号化方法。
【請求項２】
算術符号化を用いる画像符号化装置であって、
制御回路と、
前記制御回路からアクセス可能な記憶装置とを備え、
前記制御回路は、
処理対象の係数ブロックに含まれる処理対象の係数の絶対値が、値が１である第１の閾値より大きいか否かを示す第１フラグを算術符号化する第１フラグ符号化ステップと、
前記処理対象の係数の絶対値が、値が２である第２の閾値より大きいか否かを示す第２フラグを算術符号化する第２フラグ符号化ステップとを実行し、
前記第１フラグ符号化ステップ及び前記第２フラグ符号化ステップでは、前記処理対象の係数ブロックの直前の係数ブロックに絶対値が第３の閾値を超える係数が存在するかどうかを判定し、判定結果に応じて、前記第１フラグ及び前記第２フラグの算術符号化に使用するコンテキストを切り替える
画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化方法及び画像復号方法に関する。
【背景技術】
【０００２】
近年、デジタル映像機器の技術進歩が著しく、映像信号（時系列順に並んだ複数の動画像ピクチャ）を圧縮符号化し、符号化により得られた映像信号を、ＤＶＤ又はハードディスク等の記録メディアに記録したり、ネット上に配信する機会が増えている。画像符号化規格としてはＨ．２６４／ＡＶＣ（ＭＰＥＧ−４  ＡＶＣ）があるが、次世代の標準規格としてＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）規格が検討されている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｊｏｉｎｔ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｔｅａｍ  ｏｎ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  （ＪＣＴ−ＶＣ）  ｏｆ  ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１  ９ｔｈ  Ｍｅｅｔｉｎｇ：  Ｇｅｎｅｖａ，  ＣＨ，  ２７  Ａｐｒｉｌ  −  ７  Ｍａｙ  ２０１２  ＪＣＴＶＣ−Ｉ１００３＿ｄ４．ｄｏｃ，  Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ  （ＨＥＶＣ）  ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ７ｈｔｔｐ：／／ｐｈｅｎｉｘ．ｉｔ−ｓｕｄｐａｒｉｓ．ｅｕ／ｊｃｔ／ｄｏｃ＿ｅｎｄ＿ｕｓｅｒ／ｄｏｃｕｍｅｎｔｓ／９＿Ｇｅｎｅｖａ／ｗｇ１１／ＪＣＴＶＣ−Ｉ１００３−ｖ５．ｚｉｐ
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような画像符号化方法及び画像復号方法では、符号化効率の劣化を抑制しつつ、処理量を低減できることが望まれている。【０００５】
本発明は、符号化効率の劣化を抑制しつつ、処理量を低減できる画像符号化方法及び画像復号方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様に係る画像符号化方法は、算術符号化を用いる画像符号化方法であって、処理対象の係数ブロックに含まれる処理対象の係数の絶対値が１より大きいか否かを示す第１フラグを算術符号化する第１フラグ符号化ステップと、前記処理対象の係数の絶対値が２より大きいか否かを示す第２フラグを算術符号化する第２フラグ符号化ステップとを含み、前記第１フラグ符号化ステップ及び前記第２フラグ符号化ステップでは、前記処理対象の係数ブロックの直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定し、判定結果に応じて、前記第１フラグ及び前記第２フラグの算術符号化に使用するコンテキストを切り替える。【０００７】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本発明は、符号化効率の劣化を抑制しつつ、処理量を低減できる画像符号化方法及び画像復号方法を提供できる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態１に係る画像符号化装置のブロック図である。
【図２】図２は、実施の形態１に係る画像符号化処理のフローチャートである。
【図３】図３は、実施の形態１に係る可変長符号化部のブロック図である。
【図４】図４は、実施の形態１に係る可変長符号化処理のフローチャートである。
【図５】図５は、実施の形態１に係るｌｅｖｅｌ符号化部のブロック図である。
【図６】図６は、実施の形態１に係るｌｅｖｅｌ符号化処理のフローチャートである。
【図７】図７は、実施の形態１に係るｇｒｅａｔｅｒ１＿ｆｌａｇ符号化処理のフローチャートである。
【図８】図８は、実施の形態１に係るｇｒｅａｔｅｒ２＿ｆｌａｇ符号化処理のフローチャートである。
【図９】図９は、実施の形態１に係るｒｅｍａｉｎｉｎｇ符号化処理のフローチャートである。
【図１０】図１０は、実施の形態１に係るコンテキストセット選択処理のフローチャートである。
【図１１】図１１は、実施の形態１に係るｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択処理のフローチャートである。
【図１２】図１２は、実施の形態１に係るコンテキスト番号の一例を示す図である。
【図１３】図１３は、実施の形態１に係るｒｅｍａｉｎｉｎｇ二値化処理のフローチャートである。
【図１４】図１４は、実施の形態１に係るＰｒｅｆｉｘ、Ｓｕｆｆｉｘ決定処理のフローチャートである。
【図１５Ａ】図１５Ａは、実施の形態１に係るｒｅｍａｉｎｉｎｇとＰｒｅｆｉｘ及びＳｕｆｆｉｘ  ｂｉｎとの対応関係の一例を示す図である。
【図１５Ｂ】図１５Ｂは、実施の形態１に係るｒｅｍａｉｎｉｎｇとＰｒｅｆｉｘ及びＳｕｆｆｉｘ  ｂｉｎとの対応関係の一例を示す図である。
【図１５Ｃ】図１５Ｃは、実施の形態１に係るｒｅｍａｉｎｉｎｇとＰｒｅｆｉｘ及びＳｕｆｆｉｘ  ｂｉｎとの対応関係の一例を示す図である。
【図１６】図１６は、実施の形態１に係るＰｒｅｆｉｘ  ｂｉｎ出力処理のフローチャートである。
【図１７】図１７は、実施の形態１に係るＳｕｆｆｉｘ  ｂｉｎ出力処理のフローチャートである。
【図１８】図１８は、実施の形態１に係る二値化パラメータ更新処理のフローチャートである。
【図１９】図１９は、実施の形態１に係る画像符号化方法の評価結果を示す図である。
【図２０】図２０は、実施の形態２に係る画像復号装置のブロック図である。
【図２１】図２１は、実施の形態２に係る画像復号処理のフローチャートである。
【図２２】図２２は、実施の形態２に係る可変長復号部のブロック図である。
【図２３】図２３は、実施の形態２に係る可変長復号処理のフローチャートである。
【図２４】図２４は、実施の形態２に係るｌｅｖｅｌ復号部のブロック図である。
【図２５】図２５は、実施の形態２に係るｌｅｖｅｌ復号処理のフローチャートである。
【図２６】図２６は、実施の形態２に係るｇｒｅａｔｅｒ１＿ｆｌａｇ復号処理のフローチャートである。
【図２７】図２７は、実施の形態２に係るｇｒｅａｔｅｒ２＿ｆｌａｇ復号処理のフローチャートである。
【図２８】図２８は、実施の形態２に係るｒｅｍａｉｎｉｎｇ復号処理のフローチャートである。
【図２９】図２９は、実施の形態２に係るｒｅｍａｉｎｉｎｇ多値化処理のフローチャートである。
【図３０】図３０は、実施の形態２に係るＰｒｅｆｉｘ復号処理のフローチャートである。
【図３１】図３１は、実施の形態２に係るＳｕｆｆｉｘ復号処理及びＰｒｅｆｉｘ、Ｓｕｆｆｉｘ結合処理のフローチャートである。
【図３２Ａ】図３２Ａは、実施の形態１に係る画像符号化方法のフローチャートである。
【図３２Ｂ】図３２Ｂは、実施の形態１に係る第１フラグ符号化処理及び第２フラグ符号化処理のフローチャートである。
【図３３Ａ】図３３Ａは、実施の形態２に係る画像復号方法のフローチャートである。
【図３３Ｂ】図３３Ｂは、実施の形態２に係る第１フラグ復号処理及び第２フラグ復号処理のフローチャートである。
【図３４】図３４は、実施の形態３に係るｌｅｖｅｌ符号化部のブロック図である。
【図３５】図３５は、実施の形態３に係るｌｅｖｅｌ符号化処理のフローチャートである。
【図３６】図３６は、実施の形態３に係るコンテキストセット選択処理のフローチャートである。
【図３７】図３７は、実施の形態３に係る画像符号化方法の評価結果を示す図である。
【図３８】図３８は、実施の形態４に係るｌｅｖｅｌ復号部のブロック図である。
【図３９】図３９は、実施の形態４に係るｌｅｖｅｌ復号処理のフローチャートである。
【図４０】図４０は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。
【図４１】図４１は、デジタル放送用システムの全体構成図である。
【図４２】図４２は、テレビの構成例を示すブロック図である。
【図４３】図４３は、光ディスクである記録メディアに情報の読み書きを行う情報再生／記録部の構成例を示すブロック図である。
【図４４】図４４は、光ディスクである記録メディアの構造例を示す図である。
【図４５Ａ】図４５Ａは、携帯電話の一例を示す図である。
【図４５Ｂ】図４５Ｂは、携帯電話の構成例を示すブロック図である。
【図４６】図４６は、多重化データの構成を示す図である。
【図４７】図４７は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。
【図４８】図４８は、ＰＥＳパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。
【図４９】図４９は、多重化データにおけるＴＳパケットとソースパケットの構造を示す図である。
【図５０】図５０は、ＰＭＴのデータ構成を示す図である。
【図５１】図５１は、多重化データ情報の内部構成を示す図である。
【図５２】図５２は、ストリーム属性情報の内部構成を示す図である。
【図５３】図５３は、映像データを識別するステップを示す図である。
【図５４】図５４は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。
【図５５】図５５は、駆動周波数を切り替える構成を示す図である。
【図５６】図５６は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。
【図５７】図５７は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。
【図５８Ａ】図５８Ａは、信号処理部のモジュールを共有化する構成の一例を示す図である。
【図５８Ｂ】図５８Ｂは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
【発明を実施するための形態】
【００１０】
（本発明の基礎となった知見）
本発明者は、従来の画像符号化方法に関し、以下の問題が生じることを見出した。
【００１１】
現在のＨＥＶＣ規格（例えば、非特許文献１を参照）における画像符号化方法は、符号化画像を予測するステップと、予測画像と符号化対象画像との差分を求めるステップと、差分画像を周波数係数に変換するステップと、周波数係数を算術符号化するステップとを含む。算術符号化では、符号化対象の係数ブロックに含まれる複数の係数は、高周波成分から低周波成分の順に符号化される。このとき符号化済み係数に応じてコンテキストが選択され、選択されたコンテキストに対応して決められるシンボル発生確率を用いて符号化対象係数が算術符号化される。
【００１２】
一般的な画像では低周波成分に近い係数ほど大きい値になる場合が多いため、符号化済みの係数（符号化対象係数より高周波の係数）を参照してコンテキストを決めることによってシンボル発生確率に偏りを持たせることができる。例えば符号化済みの係数（符号化対象係数より高周波の係数）で値が大きければ符号化対象係数も大きい値となる確率が大きい。よって、画像符号化装置は、大きい値用のコンテキストを使用することによって発生符号量を抑えることができる。現在のＨＥＶＣ規格では、符号化済みの係数において係数の絶対値が２以上の係数の個数をカウントし、その個数に応じて符号化対象係数のコンテキストを決定する。
【００１３】
しかしながら、上記画像符号化方法では符号化済みの係数において絶対値が２以上の係数の個数をカウントする必要があり、カウントする処理及びカウント値を格納するためのレジスタが必要であるという課題があることを本発明者は見出した。
【００１４】
上記目的を達成するために、本発明の一態様に係る画像符号化方法は、算術符号化を用いる画像符号化方法であって、処理対象の係数ブロックに含まれる処理対象の係数の絶対値が１より大きいか否かを示す第１フラグを算術符号化する第１フラグ符号化ステップと、前記処理対象の係数の絶対値が２より大きいか否かを示す第２フラグを算術符号化する第２フラグ符号化ステップとを含み、前記第１フラグ符号化ステップ及び前記第２フラグ符号化ステップでは、前記処理対象の係数ブロックの直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定し、判定結果に応じて、前記第１フラグ及び前記第２フラグの算術符号化に使用するコンテキストを切り替える。
【００１５】
これによれば、当該画像符号化方法は、直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかに応じてコンテキストを切り替える。よって、当該画像符号化方法は、係数の個数に応じてコンテキストを切り替える場合に比べて処理量を低減できる。また、当該画像符号化方法は、符号化効率の低下を抑制しつつ、処理量を低減できる。
【００１６】
例えば、前記第１フラグ符号化ステップ及び前記第２フラグ符号化ステップでは、前記直前の係数ブロックの算術符号化の際に生成された変数を用いて、前記直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定してもよい。
【００１７】
これによれば、当該画像符号化方法は、他の処理で用いられた変数を、コンテキストの切り替え処理に流用することで、処理量を低減できる。
【００１８】
例えば、前記画像符号化方法は、さらに、前記処理対象の係数の絶対値が２より大きい場合に、前記処理対象の係数の絶対値から３を減算した値である残り値を、複数の変換テーブルのうち、二値化パラメータで指定される変換テーブルに従い二値化し、前記二値化パラメータは、前記直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかに応じて決定され、前記変数は、前記二値化パラメータであってもよい。
【００１９】
例えば、前記閾値は１であってもよい。
【００２０】
また、本発明の一態様に係る画像復号方法は、算術復号を用いる画像復号方法であって、処理対象の係数ブロックに含まれる処理対象の係数の絶対値が１より大きいか否かを示す第１フラグを算術復号する第１フラグ復号ステップと、前記処理対象の係数の絶対値が２より大きいか否かを示す第２フラグを算術復号する第２フラグ復号ステップとを含み、前記第１フラグ復号ステップ及び前記第２フラグ復号ステップでは、前記処理対象の係数ブロックの直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定し、判定結果に応じて、前記第１フラグ及び前記第２フラグの算術復号に使用するコンテキストを切り替える。
【００２１】
これによれば、当該画像復号方法は、直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかに応じてコンテキストを切り替える。よって、当該画像復号方法は、係数の個数に応じてコンテキストを切り替える場合に比べて処理量を低減できる。また、当該画像復号方法は、符号化効率の低下を抑制しつつ、処理量を低減できる。
【００２２】
例えば、前記第１フラグ復号ステップ及び前記第２フラグ復号ステップでは、前記直前の係数ブロックの算術復号の際に生成された変数を用いて、前記直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定してもよい。
【００２３】
これによれば、当該画像復号方法は、他の処理で用いられた変数を、コンテキストの切り替え処理に流用することで、処理量を低減できる。
【００２４】
例えば、前記画像復号方法は、さらに、前記処理対象の係数の絶対値が２より大きい場合に、前記処理対象の係数の絶対値から３を減算した値である残り値を、複数の変換テーブルのうち、二値化パラメータで指定される変換テーブルに従い多値化し、前記二値化パラメータは、前記直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかに応じて決定され、前記変数は、前記二値化パラメータであってもよい。
【００２５】
例えば、前記閾値は１であってもよい。
【００２６】
また、本発明の一態様に係る画像符号化装置は、算術符号化を用いる画像符号化装置であって、制御回路と、前記制御回路からアクセス可能な記憶装置とを備え、前記制御回路は、処理対象の係数ブロックに含まれる処理対象の係数の絶対値が１より大きいか否かを示す第１フラグを算術符号化する第１フラグ符号化ステップと、前記処理対象の係数の絶対値が２より大きいか否かを示す第２フラグを算術符号化する第２フラグ符号化ステップとを実行し、前記第１フラグ符号化ステップ及び前記第２フラグ符号化ステップでは、前記処理対象の係数ブロックの直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定し、判定結果に応じて、前記第１フラグ及び前記第２フラグの算術符号化に使用するコンテキストを切り替える。
【００２７】
これによれば、当該画像符号化装置は、直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかに応じてコンテキストを切り替える。よって、当該画像符号化装置は、係数の個数に応じてコンテキストを切り替える場合に比べて処理量を低減できる。また、当該画像符号化装置は、符号化効率の低下を抑制しつつ、処理量を低減できる。
【００２８】
また、本発明の一態様に係る画像復号装置は、算術復号を用いる画像復号装置であって、制御回路と、前記制御回路からアクセス可能な記憶装置とを備え、前記制御回路は、処理対象の係数ブロックに含まれる処理対象の係数の絶対値が１より大きいか否かを示す第１フラグを算術復号する第１フラグ復号ステップと、前記処理対象の係数の絶対値が２より大きいか否かを示す第２フラグを算術復号する第２フラグ復号ステップとを実行し、前記第１フラグ復号ステップ及び前記第２フラグ復号ステップでは、前記処理対象の係数ブロックの直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定し、判定結果に応じて、前記第１フラグ及び前記第２フラグの算術復号に使用するコンテキストを切り替える。
【００２９】
これによれば、当該画像復号装置は、直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかに応じてコンテキストを切り替える。よって、当該画像復号装置は、係数の個数に応じてコンテキストを切り替える場合に比べて処理量を低減できる。また、当該画像復号装置は、符号化効率の低下を抑制しつつ、処理量を低減できる。
【００３０】
また、本発明の一態様に係る画像符号化復号装置は、前記画像符号化装置と、前記画像復号装置とを備える。
【００３１】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【００３２】
以下、画像符号化装置及び画像復号装置の実施の形態について図面を参照して説明する。
【００３３】
なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００３４】
（実施の形態１）
本実施の形態では、画像符号化装置の実施の形態について説明する。
【００３５】
＜全体構成＞
図１は、本実施の形態に係る画像符号化装置の構成を示すブロック図である。
【００３６】
図１に示す画像符号化装置１００は、入力画像１２１を符号化することで符号列１２５（符号化ビットストリーム）を生成する。この画像符号化装置１００は、符号ブロック分割部１０１と、減算部１０２と、変換部１０３と、可変長符号化部１０４と、逆変換部１０５と、加算部１０６と、フレームメモリ１０７と、予測部１０８とを備える。
【００３７】
＜動作（全体）＞
次に、図２を参照しつつ、符号化処理全体の流れについて説明する。
【００３８】
（ステップＳ１０１）
符号ブロック分割部１０１は、入力画像１２１を符号ブロック１２２に分割し、符号ブロック１２２を順次、減算部１０２及び予測部１０８に出力する。この時、符号ブロック１２２のサイズは可変であり、符号ブロック分割部１０１は、入力画像１２１の特徴を用いて入力画像１２１を符号ブロック１２２に分割する。例えば、符号ブロック１２２の最小サイズは横４画素×縦４画素であり、最大サイズは横３２画素×縦３２画素である。
【００３９】
（ステップＳ１０２）
予測部１０８は、符号ブロック１２２と、フレームメモリ１０７に格納されている復号画像１２８とを用いて予測ブロック１２９を生成する。
【００４０】
（ステップＳ１０３）
減算部１０２は、符号ブロック１２２と予測ブロック１２９との差分である差分ブロック１２３を生成する。
【００４１】
（ステップＳ１０４）
変換部１０３は、差分ブロック１２３を周波数係数１２４に変換する。
【００４２】
（ステップＳ１０５）
可変長符号化部１０４は、周波数係数１２４を可変長符号化することで符号列１２５を生成する。
【００４３】
（ステップＳ１０６）
逆変換部１０５は、周波数係数１２４を画素データに変換することで差分ブロック１２６を復元する。
【００４４】
（ステップＳ１０７）
加算部１０６は、復元された差分ブロック１２６と予測ブロック１２９とを加算することで復号ブロック１２７を生成し、生成された復号ブロック１２７を復号画像１２８としてフレームメモリ１０７に格納する。
【００４５】
（ステップＳ１０８）
符号化対象画像内の全符号ブロックの符号化が完了するまでステップＳ１０２からステップＳ１０７が繰り返えされる。
【００４６】
以降、可変長符号化部１０４について詳細に説明する。
【００４７】
＜可変長符号化部１０４の構成＞
図３は、可変長符号化部１０４の構成を示すブロック図である。
【００４８】
本実施の形態では可変長符号化部１０４は、周波数係数１２４（以下、単に「係数」とも呼ぶ）をｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、ｒｅｍａｉｎｉｎｇ、及びｓｉｇｎ＿ｆｌａｇの５つのパラメータを用いて符号化する。
【００４９】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇは係数が０かどうかを示すフラグであり、値が０の場合は係数が０であることを示し、値が１の場合は係数が０以外であることを示す。
【００５０】
ｇｒｅａｔｅｒ１＿ｆｌａｇはｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが１である係数（０ではない係数）に対してのみ存在する。ｇｒｅａｔｅｒ１＿ｆｌａｇは、係数の絶対値が２以上（１より大きい）かどうかを示すフラグである。ｇｒｅａｔｅｒ１＿ｆｌａｇの値が０の場合は係数の絶対値が１であることを示し、値が１の場合は係数の絶対値が２以上であることを示す。
【００５１】
ｇｒｅａｔｅｒ２＿ｆｌａｇはｇｒｅａｔｅｒ１＿ｆｌａｇが１である係数（絶対値が２以上の係数）に対してのみ存在する。ｇｒｅａｔｅｒ２＿ｆｌａｇは係数の絶対値が３以上（２より大きい）かどうかを示すフラグである。ｇｒｅａｔｅｒ２＿ｆｌａｇの値が０の場合は係数の絶対値が２であることを示し、値が１の場合は係数の絶対値が３以上であることを示す。
【００５２】
ｒｅｍａｉｎｉｎｇはｇｒｅａｔｅｒ２＿ｆｌａｇが１である係数（絶対値が３以上の係数）に対してのみ存在する。ｒｅｍａｉｎｉｎｇは係数の絶対値から３を減算した値を示す。
【００５３】
ｓｉｇｎ＿ｆｌａｇはｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが１である係数（０ではない係数）に対してのみ存在する。ｓｉｇｎ＿ｆｌａｇは係数が負の値かどうか（負であるか正であるか）を示すフラグである。ｓｉｇｎ＿ｆｌａｇの値が０の場合は係数が正の値であることを示し、値が１の場合は係数が負の値であることを示す。
【００５４】
図３に示すように、可変長符号化部１０４は、係数ブロック分割部１３１と、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１３２と、ｌｅｖｅｌ符号化部１３３と、ｓｉｇｎ＿ｆｌａｇ符号化部１３４とを備える。
【００５５】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１３２は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを符号化する。ｌｅｖｅｌ符号化部１３３は、ｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、及びｒｅｍａｉｎｉｎｇを符号化する。ｓｉｇｎ＿ｆｌａｇ符号化部１３４は、ｓｉｇｎ＿ｆｌａｇを符号化する。
【００５６】
＜動作（可変長符号化）＞
次に、図４を参照しつつ、可変長符号化処理の流れを説明する。
【００５７】
（ステップＳ１２１）
係数ブロック分割部１３１は、符号ブロック（周波数係数１２４）を４×４の係数ブロックに分割する。具体的には、係数ブロック分割部１３１は、符号ブロックが３２×３２の場合、横に８分割し、縦に８分割する。また、係数ブロック分割部１３１は、符号ブロックが４×４の場合は分割を行わない。なお、以降のステップＳ１２２〜ステップＳ１２４は係数ブロック毎に実行される。また、複数の係数ブロックは、高域成分の係数ブロックから低域成分の係数ブロックの順に処理される。
【００５８】
（ステップＳ１２２）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１３２は、係数ブロックに含まれる各係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを符号化する。
【００５９】
（ステップＳ１２３）
ｌｅｖｅｌ符号化部１３３は、係数ブロックに含まれる各係数のｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、及びｒｅｍａｉｎｉｎｇを符号化する。
【００６０】
（ステップＳ１２４）
ｓｉｇｎ＿ｆｌａｇ符号化部１３４は、係数ブロックに含まれる各係数のｓｉｇｎ＿ｆｌａｇを符号化する。
【００６１】
（ステップＳ１２５）
符号ブロックに含まれる全ての係数ブロックの処理が完了するまでステップＳ１２２〜Ｓ１２４が繰り返される。
【００６２】
以降、ｌｅｖｅｌ符号化部１３３を詳細に説明する。
【００６３】
＜ｌｅｖｅｌ符号化部１３３の構成＞
図５は、ｌｅｖｅｌ符号化部１３３の構成を示すブロック図である。図５に示すようにｌｅｖｅｌ符号化部１３３は、ｇｒｅａｔｅｒ１＿ｆｌａｇ設定部１４１と、ｇｒｅａｔｅｒ２＿ｆｌａｇ設定部１４２と、ｒｅｍａｉｎｉｎｇ設定部１４３と、二値化パラメータ更新部１４４と、コンテキストセット選択部１４５と、ｇｒｅａｔｅｒ１＿ｆｌａｇメモリ１４６と、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７と、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキストメモリ１４８と、ｇｒｅａｔｅｒ２＿ｆｌａｇコンテキスト選択部１４９と、ｇｒｅａｔｅｒ２＿ｆｌａｇコンテキストメモリ１５０と、算術符号化部１５１と、ｒｅｍａｉｎｉｎｇ二値化部１５２とを備える。ｒｅｍａｉｎｉｎｇ二値化部１５２は、Ｐｒｅｆｉｘ  Ｓｕｆｆｉｘ決定部１５３と、Ｓｕｆｆｉｘ  ｂｉｎ出力部１５４と、Ｐｒｅｆｉｘ  ｂｉｎ出力部１５５とを備える。
【００６４】
ｌｅｖｅｌ符号化部１３３は、まず、ｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇの算術符号化で使用するコンテキストセットを選択する。次に、ｌｅｖｅｌ符号化部１３３は、ｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、及びｒｅｍａｉｎｉｎｇをこの順に符号化する。ｌｅｖｅｌ符号化部１３３は、ｒｅｍａｉｎｉｎｇを算術符号化の前に多値信号から二値信号（ｂｉｎ）に変換する。その際、ｌｅｖｅｌ符号化部１３３は、二値化パラメータ（ｃＰａｒａｍ）を用いて二値信号（ｂｉｎ）の長さを適応的に変更する。また、ｌｅｖｅｌ符号化部１３３は、コンテキストセットの選択の際にもこの二値化パラメータを用い、コンテキストセットを適応的に選択する。
【００６５】
＜動作（ｌｅｖｅｌ符号化）＞
次に、図６〜図９を参照しつつ、ｌｅｖｅｌ符号化部１３３による符号化処理の流れを詳細に説明する。図６は、ｌｅｖｅｌ符号化部１３３による符号化処理の流れを示す図である。
【００６６】
（ステップＳ１４１）
コンテキストセット選択部１４５は、ｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇの算術符号化で使用するコンテキストセット番号を設定する。詳細は後述する。
【００６７】
（ステップＳ１４２）
二値化パラメータ更新部１４４は、二値化パラメータ（ｃＰａｒａｍ）を０に初期化する。本処理によって４×４の係数ブロックの先頭でｃＰａｒａｍが０に設定される。なお、ステップＳ１４１及びステップＳ１４２は係数ブロックに対して１回行われる。ステップＳ１４３以降は係数毎に行われる。
【００６８】
（ステップＳ１４３）
ｌｅｖｅｌ符号化部１３３は、係数ブロックに含まれる各係数のｇｒｅａｔｅｒ１＿ｆｌａｇを符号化する。図７は、この処理の詳細を示すフローチャートである。
【００６９】
（ステップＳ１５１）
ｇｒｅａｔｅｒ１＿ｆｌａｇ設定部１４１は、対象係数（処理対象の係数）の絶対値が１以上か判定する。対象係数の絶対値が１以上であればステップＳ１５２〜Ｓ１５４でｇｒｅａｔｅｒ１＿ｆｌａｇは符号化され、対象係数の絶対値が０であればｇｒｅａｔｅｒ１＿ｆｌａｇは符号化されない。
【００７０】
（ステップＳ１５２）
ｇｒｅａｔｅｒ１＿ｆｌａｇ設定部１４１は、対象係数の絶対値が２以上の場合にはｇｒｅａｔｅｒ１＿ｆｌａｇを１に設定し、対象係数の絶対値が１であればｇｒｅａｔｅｒ１＿ｆｌａｇを０に設定する。
【００７１】
（ステップＳ１５３）
ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７は、ステップＳ１４１で選択されたコンテキストセット番号を用いてコンテキスト番号を設定する。詳細は後述する。
【００７２】
（ステップＳ１５４）
算術符号化部１５１は、ステップＳ１５３で選択されたコンテキスト番号に従ってｇｒｅａｔｅｒ１＿ｆｌａｇコンテキストメモリ１４８から使用するコンテキストをロードし、そのコンテキストを用いてｇｒｅａｔｅｒ１＿ｆｌａｇの算術符号化を行う。また、算術符号化部１５１は、この算術符号化で更新されたコンテキストを、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキストメモリ１４８の、元のコンテキストと同じ場所にストアする。
【００７３】
（ステップＳ１５５）
４×４の係数ブロック内の全係数の処理が完了するまでステップＳ１５１〜ステップＳ１５５が繰り返えされる。
【００７４】
以上により、係数ブロックに含まれる各係数のｇｒｅａｔｅｒ１＿ｆｌａｇが符号化される。
【００７５】
（ステップＳ１４４）
ｌｅｖｅｌ符号化部１３３は、係数ブロックに含まれる各係数のｇｒｅａｔｅｒ２＿ｆｌａｇを符号化する。図８は、この処理の詳細を示すフローチャートである。
【００７６】
（ステップＳ１６１）
ｇｒｅａｔｅｒ２＿ｆｌａｇ設定部１４２は、対象係数の絶対値が２以上か判定する。対象係数の絶対値が２以上であればステップＳ１６２〜Ｓ１６５でｇｒｅａｔｅｒ２＿ｆｌａｇは符号化され、対象係数の絶対値が１以下であればｇｒｅａｔｅｒ２＿ｆｌａｇは符号化されない。
【００７７】
（ステップＳ１６２）
ｇｒｅａｔｅｒ２＿ｆｌａｇ設定部１４２は、対象係数の絶対値が３以上の場合にはｇｒｅａｔｅｒ２＿ｆｌａｇを１に設定し、対象係数の絶対値が２であればｇｒｅａｔｅｒ２＿ｆｌａｇを０に設定する。
【００７８】
（ステップＳ１６３）
ｇｒｅａｔｅｒ２＿ｆｌａｇコンテキスト選択部１４９は、ステップＳ１４１で選択されたコンテキストセット番号をコンテキスト番号に設定する。ｇｒｅａｔｅｒ２＿ｆｌａｇのコンテキストはｇｒｅａｔｅｒ１＿ｆｌａｇと異なり、コンテキストセット番号そのものがコンテキスト番号に設定される。つまり、ｇｒｅａｔｅｒ２＿ｆｌａｇの１つのコンテキストセットは１つのコンテキストしか含まない。
【００７９】
（ステップＳ１６４）
算術符号化部１５１は、ステップＳ１５０で選択されたコンテキスト番号に従ってｇｒｅａｔｅｒ２＿ｆｌａｇコンテキストメモリ１５０から使用するコンテキストをロードし、そのコンテキストを用いてｇｒｅａｔｅｒ２＿ｆｌａｇの算術符号化を行う。また、算術符号化部１５１は、この算術符号化で更新されたコンテキストを、ｇｒｅａｔｅｒ２＿ｆｌａｇコンテキストメモリ１５０の、元のコンテキストと同じ場所にストアする。
【００８０】
（ステップＳ１６５）
４×４の係数ブロック内の全係数の処理が完了するまでステップＳ１６１〜ステップＳ１６４が繰り返される。
【００８１】
以上により、係数ブロックに含まれる各係数のｇｒｅａｔｅｒ２＿ｆｌａｇが符号化される。
【００８２】
（ステップＳ１４５）
ｌｅｖｅｌ符号化部１３３は、係数ブロックに含まれる各係数のｒｅｍａｉｎｉｎｇを符号化する。図９は、この処理の詳細を示すフローチャートである。
【００８３】
（ステップＳ１７１）
ｒｅｍａｉｎｉｎｇ設定部１４３は、対象係数の絶対値が３以上か判定する。対象係数の絶対値が３以上であればステップＳ１７２〜Ｓ１７５でｒｅｍａｉｎｉｎｇは符号化され、対象係数の絶対値が２以下であればｒｅｍａｉｎｉｎｇは符号化されない。
【００８４】
（ステップＳ１７２）
ｒｅｍａｉｎｉｎｇ設定部１４３は、対象係数の絶対値から３を減算した数値をｒｅｍａｉｎｉｎｇ（多値信号）に設定する。
【００８５】
（ステップＳ１７３）
ｒｅｍａｉｎｉｎｇ二値化部１５２は、ｒｅｍａｉｎｉｎｇの多値信号を二値信号に変換する。詳細は後述する。
【００８６】
（ステップＳ１７４）
算術符号化部１５１は、ｒｅｍａｉｎｉｎｇの算術符号化を行う。ｒｅｍａｉｎｉｎｇは、ｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇと異なり、コンテキストを用いないＢｙｐａｓｓ算術符号化により符号化される。
【００８７】
（ステップＳ１７５）
二値化パラメータ更新部１４４は、二値化パラメータ（ｃＰａｒａｍ）を更新する。詳細は後述する。
【００８８】
（ステップＳ１７６）
係数ブロック内の全係数の処理が完了するまでステップＳ１７１〜ステップＳ１７５が繰り返される。
【００８９】
＜動作（コンテキストセット選択）＞
次に、図１０を参照しつつ、コンテキストセット選択処理（図６のＳ１４１）を詳細に説明する。
【００９０】
（ステップＳ１８１〜Ｓ１８３）
コンテキストセット選択部１４５は、処理対象の係数ブロックが符号ブロック内で最も低周波の係数ブロックであるかどうかを判定し、処理対象の係数ブロックが最も低周波の係数ブロックである場合はコンテキストセット番号に０を設定し、そうでない場合はコンテキストセット番号に２を設定する。つまり、コンテキストセット選択部１４５は、処理対象の係数ブロックが符号ブロック内の左上の係数ブロックの場合はコンテキストセット番号に０を設定し、そうでない場合はコンテキストセット番号に２を設定する。
【００９１】
（ステップＳ１８４〜Ｓ１８５）
コンテキストセット選択部１４５は、直前に処理された係数ブロック（直前の係数ブロック）の更新後の二値化パラメータ（ｃＰａｒａｍ）が０より大きい場合はコンテキストセット番号に１を加算する。こうすることにより直前の係数ブロックでｃＰａｒａｍが一回でも更新された場合はコンテキストセットが切り替えられる。
【００９２】
このように、ステップＳ１８１〜Ｓ１８５によってコンテキストセット番号は０〜３のいずれかの値に設定される。つまり、コンテキストセットは４種類あり、コンテキストセット選択部１４５は、４種類の中から１種類を選択する。
【００９３】
＜動作（ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択）＞
次に、図１１を参照しつつ、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択処理（図７のＳ１５３）を詳細に説明する。
【００９４】
（ステップＳ１９１）
ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７は、処理対象の係数ブロック内の処理済み係数において、値１のｇｒｅａｔｅｒ１＿ｆｌａｇの個数（Ｇ１ＮＵＭ）を算出する。つまり、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７は、係数の絶対値が２以上の係数の個数を算出する。なお、処理済み係数のｇｒｅａｔｅｒ１＿ｆｌａｇはｇｒｅａｔｅｒ１＿ｆｌａｇメモリ１４６に格納されており、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７は、ｇｒｅａｔｅｒ１＿ｆｌａｇメモリ１４６から処理済み係数のｇｒｅａｔｅｒ１＿ｆｌａｇを取得する。
【００９５】
（ステップＳ１９２〜Ｓ１９３）
ステップＳ１９１で算出されたＧ１ＮＵＭが１以上の場合、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７は、コンテキストオフセットを３に設定し、Ｇ１ＮＵＭが０の場合はステップＳ１９４へ進む。つまり、係数ブロック内の処理済み係数のうち１個でも絶対値が２以上の係数がある場合は、コンテキストオフセットが３に設定される。
【００９６】
（ステップＳ１９４）
ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７は、処理対象の係数ブロック内の処理済み係数のうち、ｇｒｅａｔｅｒ１＿ｆｌａｇを持つ係数の個数（Ｇ１ＮＵＭ２）を算出する。つまり、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７は、係数の絶対値が１以上の係数の個数を算出する。なお、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７は、処理済み係数のｇｒｅａｔｅｒ１＿ｆｌａｇをｇｒｅａｔｅｒ１＿ｆｌａｇメモリ１４６から取得する。
【００９７】
（ステップＳ１９５〜Ｓ１９７）
ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７は、ステップＳ１９４で算出されたＧ１ＮＵＭ２が２より大きい場合はコンテキストオフセットに２を設定し、それ以外の場合はコンテキストオフセットにＧ１ＮＵＭ２の値を設定する。
【００９８】
このように、ステップＳ１９１〜Ｓ１９７によってコンテキストオフセットは０〜３のいずれかの値が設定される。
【００９９】
（ステップＳ１９８）
ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７は、コンテキスト番号に「（コンテキストセット番号×４）＋コンテキストオフセット」を設定し、設定されたコンテキスト番号をｇｒｅａｔｅｒ１＿ｆｌａｇコンテキストメモリ１４８に出力する。図１２に示すように、コンテキストセット番号は０〜３であり、コンテキストオフセットは０〜３であるため、コンテキスト番号は０〜１５のいずれかの値である。つまり、コンテキストセットは４種類あり、ｇｒｅａｔｅｒ１＿ｆｌａｇではコンテキストセット内に４つのコンテキストが存在する。コンテキストセット選択部１４５により４種類の中から１種類のコンテキストセットが選択され、選択されたコンテキストセットの中の４つのコンテキストの中から、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部１４７により、１つのコンテキストが選択される。
【０１００】
＜動作（ｒｅｍａｉｎｉｎｇ二値化）＞
次に、図１３〜図１６を参照しつつ、ｒｅｍａｉｎｉｎｇ二値化処理（図９のＳ１７３）を詳細に説明する。概要を説明すると、二値信号（ｂｉｎ）はＰｒｅｆｉｘとＳｕｆｆｉｘとを含む。二値化パラメータ（ｃＰａｒａｍ）に応じて、Ｐｒｅｆｉｘ、及びＳｕｆｆｉｘの決定方法が切り替えられる。
【０１０１】
（ステップＳ２０１）
Ｐｒｅｆｉｘ  Ｓｕｆｆｉｘ決定部１５３は、Ｐｒｅｆｉｘ及びＳｕｆｆｉｘを決定する。図１４は、この処理の詳細を示すフローチャートである。
【０１０２】
（ステップＳ２１１〜Ｓ２２２）
Ｐｒｅｆｉｘ  Ｓｕｆｆｉｘ決定部１５３は、Ｐｒｅｆｉｘ及びＳｕｆｆｉｘの決定にｃＰａｒａｍを用いる。処理は大きく２つに分けられ、ｒｅｍａｉｎｉｎｇが小さい場合はステップＳ２１３〜Ｓ２１４によってＰｒｅｆｉｘ及びＳｕｆｆｉｘが決定され、ｒｅｍａｉｎｉｎｇが大きい場合はステップＳ２１５〜Ｓ２２２によってＰｒｅｆｉｘ及びＳｕｆｆｉｘが決定される。ｒｅｍａｉｎｉｎｇが小さいか大きいかを分ける閾値にｃＰａｒａｍが用いられ、ｃＰａｒａｍが大きいほど閾値は大きくなる。また、ｃＰａｒａｍはＰｒｅｆｉｘ及びＳｕｆｆｉｘのｂｉｎ長にも関連する。
【０１０３】
図１５Ａ〜図１５Ｃは、ｃＰａｒａｍ及びｒｅｍａｉｎｉｎｇに応じたＰｒｅｆｉｘ及びＳｕｆｆｉｘのｂｉｎを示す図である。図１５Ａ〜図１５Ｃに示すように、ｒｅｍａｉｎｉｎｇが小さい場合はｃＰａｒａｍが小さいほどｂｉｎ長は短くなり、ｒｅｍａｉｎｉｎｇが大きい場合はｃＰａｒａｍが大きいほどｂｉｎ長は短くなる。つまり、ｒｅｍａｉｎｉｎｇが小さい確率が高い場合はｃＰａｒａｍを小さくした方が符号化効率は良くなる可能性が高い。逆にｒｅｍａｉｎｉｎｇが大きい確率が高い場合はｃＰａｒａｍを大きくした方が符号化効率は良くなる可能性が高い。
【０１０４】
（ステップＳ２０２）
Ｐｒｅｆｉｘ  ｂｉｎ出力部１５５は、Ｐｒｅｆｉｘに関するｂｉｎを算術符号化部１５１へ出力する。図１６は、この処理の詳細を示すフローチャートである。
【０１０５】
（ステップＳ２３１〜Ｓ２３５）
Ｐｒｅｆｉｘ  ｂｉｎ出力部１５５は、まずＰｒｅｆｉｘの値の数だけ「１」を出力し、最後に「０」を出力する。
【０１０６】
（ステップＳ２０３）
Ｓｕｆｆｉｘ  ｂｉｎ出力部１５４は、Ｓｕｆｆｉｘに関するｂｉｎを算術符号化部１５１へ出力する。図１７は、この処理の詳細を示すフローチャートである。
【０１０７】
（ステップＳ２４１〜Ｓ２４５）
Ｓｕｆｆｉｘ  ｂｉｎ出力部１５４は、Ｓｕｆｆｉｘの値を２進数に変換し、変換した２進数を上位ｂｉｔから順に出力する。Ｓｕｆｆｉｘ  ｂｉｎ出力部１５４は、ｔｍｐＬｅｎの数だけｂｉｎを出力するが、Ｓｕｆｆｉｘ値のｂｉｔ数がｔｍｐＬｅｎより小さい場合は上位ｂｉｔを０として出力する。
【０１０８】
＜動作（二値化パラメータ更新）＞
次に、図１８を参照しつつ、二値化パラメータ更新処理（図９のＳ１７５）を詳細に説明する。
【０１０９】
（ステップＳ２５１）
二値化パラメータ更新部１４４は、二値化パラメータ（ｃＰａｒａｍ）が４より小さい場合はステップＳ２５２〜Ｓ２５４により更新処理を行い、４以上の場合は更新処理を行わず、処理を終了する。
【０１１０】
（ステップＳ２５２〜Ｓ２５４）
二値化パラメータ更新部１４４は、対象係数の絶対値が閾値より大きい場合はｃＰａｒａｍに１を加算する。閾値は「３×（１＜＜ｃＰａｒａｍ）」の算式で設定される。また、「＜＜」は左シフトを示す。ｃＰａｒａｍが大きい値であるほど閾値は大きい値となる。ｃＰａｒａｍは前述した通り係数ブロックの処理の先頭で０に初期化され、二値化パラメータ更新部１４４によって閾値を超える係数が現れる度に最大値の４になるまで１ずつ増加していく。
【０１１１】
＜効果＞
以上、本実施の形態に係る画像符号化装置１００は、処理済み係数ブロック内で絶対値が閾値を超える係数が存在した場合にｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇのコンテキストを切り替えることで、少ない処理量で符号化効率を向上できる。
【０１１２】
より具体的には、二値化パラメータ（ｃＰａｒａｍ）は係数の絶対値が閾値を超える度に１増加する。係数ブロック処理の先頭で直前の係数ブロック処理で更新されたｃＰａｒａｍの値が０より大きい場合、つまり、直前の係数ブロックに閾値を超える係数が１つでも存在した場合にコンテキストセット番号が切り替えられる。つまり、画像符号化装置１００は、直前の係数ブロック（処理対象の係数ブロックよりも高周波の係数ブロック）で値が大きい係数が存在した場合には、処理対象の係数ブロックにも値の大きい係数が存在する可能性が高いと判断し、値の大きい係数に適したコンテキストを選択する。
【０１１３】
ここで、現在のＨＥＶＣ規格（非特許文献１参照）では処理済みの係数のうち絶対値が２以上の係数の個数がカウントされ、その個数に応じて符号化対象係数のコンテキストが決定されていた。また、ここでの処理済み係数は、直前の係数ブロックに含まれる係数に限らず、処理対象の係数ブロックより高周波側に位置する複数の係数ブロックに含まれる複数の係数を含む。
【０１１４】
一方、本実施の形態の手法では、直前の係数ブロックに閾値を超える係数が存在するか／しないかの判定しか行わない。よって、本実施の形態に係る画像符号化装置１００では、閾値を超える係数の個数をカウントする必要がなく、カウント値を格納するためのレジスタも必要ない。
【０１１５】
また、現在のＨＥＶＣ規格のテスト用ソフトウェアに対し、本実施の形態に係る画像符号化方法を実装し、実験した。図１９は実装前と比較した実験結果を示す図である。実験条件はＨＥＶＣ規格化団体の共通実験条件に従っている。数値が大きいほど符号化効率が低下していることを示し、負の値であれば符号化効率が向上していることを示す。図１９に示すように、全ての値が−０．０１〜０．０３％であり、係数の個数をカウントする処理を削除しても符号化効率はほとんど変わらないことが分かる。
【０１１６】
また、コンテキストの切り替えに用いる情報と、ｒｅｍａｉｎｉｎｇの符号化に用いる情報とを統一することにより、回路規模を削減できる。具体的には係数の絶対値が閾値を超える度に大きくなるｃＰａｒａｍをｒｅｍａｉｎｉｎｇの二値化パラメータと、ｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇのコンテキスト切り替えとに使用することにより、１つの機構で複数の機能を実現している。このように、本実施の形態に係る画像符号化方法は、現在のＨＥＶＣ規格と比較し、新たな機構を追加することなく、符号化効率の低下を抑制しつつ係数の個数のカウント処理の削除を実現している。
【０１１７】
なお、上記説明では、画像符号化装置１００は、直前の係数ブロックで更新された二値化パラメータ（ｃＰａｒａｍ）を用いてコンテキストセットを切り替えているが、直前以外の係数ブロックで更新された二値化パラメータを用いてもよい。例えば、画像符号化装置１００は、処理済みの係数ブロックのいずれかでｃＰａｒａｍが０より大きくなった場合にはコンテキストセットを切り替えてもよい。係数ブロックは高周波のブロックから処理される。よって、いずれかの係数ブロックでｃＰａｒａｍが０より大きくなった場合、つまり絶対値が閾値以上の係数が出現した場合には以降全ての係数ブロックでは係数値が大きい可能性が高い。よって、このような場合には、係数値が大きい可能性が高い場合に使うコンテキストセットを選択することで符号化効率を向上できる。
【０１１８】
また、画像符号化装置１００は、二値化パラメータ（ｃＰａｒａｍ）を係数ブロックの処理の先頭で０に初期化しているが、０に初期化せず、直前の係数ブロックで更新されたｃＰａｒａｍを継続して使用してもよい。こうする方が高周波の係数ブロックの状態を継続して使用することが可能となり、入力画像によっては符号化効率が向上する場合がある。
【０１１９】
また、上記説明では、画像符号化装置１００は、ｃＰａｒａｍが０より大きい場合にコンテキストセットを切り替えているが、その限りではなく、例えばｃＰａｒａｍが１より大きい場合、又は２より大きい場合にコンテキストセットを切り替えてもよい。入力画像によってはｃＰａｒａｍが１より大きい場合にコンテキストセットを切り替えた方が符号化効率が良くなる場合がある。
【０１２０】
また、上記説明では、４種類のコンテキストセットを用いる例を述べたが、その限りではなく、コンテキストセットは、４種類より多くても少なくてもよい。例えば、上記説明では、画像符号化装置１００は、コンテキストセット番号が０の場合でも２の場合でもｃＰａｒａｍが０より大きい場合にはコンテキストセット番号を１増加させているが、コンテキストセット番号が２の場合のみ１増加させてもよい。
【０１２１】
また、上記説明では、画像符号化装置１００は、最も低周波な係数ブロックの場合は別コンテキストセットを使うようにしているが、その切り替えを無くしてもよい。また、画像符号化装置１００は、ｃＰａｒａｍが０より大きい場合にはコンテキストセット番号を１増加させ、ｃＰａｒａｍが１より大きい場合にはさらに１増加させてもよい。入力画像によってはコンテキストセットの種類を多くした方が符号化効率が良くなる場合もあるし、コンテキストセットを少なくした方が、コンテキストの種類が減り、選択処理の回路規模を削減できたり、コンテキスト格納用のメモリを削減できたりする。
【０１２２】
また、上記説明では、画像符号化装置１００は、ｇｒｅａｔｅｒ１＿ｆｌａｇのコンテキストを、図１１に示すように、Ｇ１ＮＵＭ及びＧ１ＮＵＭ２を用いて設定しているが、その限りではない。例えば、画像符号化装置１００は、対象係数の係数ブロック内の位置に応じてコンテキストを設定してもよいし、Ｇ１ＮＵＭ及びＧ１ＮＵＭ２の一方のみを用いてコンテキストを設定してもよい。
【０１２３】
また、上記説明では、画像符号化装置１００は、ｇｒｅａｔｅｒ２＿ｆｌａｇのコンテキスト選択において、コンテキストセット番号そのものをコンテキスト番号に設定しているが、その限りではない。画像符号化装置１００は、ｇｒｅａｔｅｒ１＿ｆｌａｇと同様の手法でｇｒｅａｔｅｒ２＿ｆｌａｇのコンテキストを選択してもよい。
【０１２４】
また、上記説明では、ｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇは対象係数の絶対値が１以上、又は２以上の場合に存在するが、現在のＨＥＶＣ規格（非特許文献１）と同様に係数ブロック内で最大数を制限してもよく、ｇｒｅａｔｅｒ１＿ｆｌａｇは最大８個まで、ｇｒｅａｔｅｒ２＿ｆｌａｇは最大１個までとしてもよい。
【０１２５】
また、上記説明では、画像符号化装置１００は、ｒｅｍａｉｎｉｎｇの二値化において、Ｐｒｅｆｉｘ及びＳｕｆｆｉｘでｂｉｎを構成しているが、ｒｅｍａｉｎｉｎｇの二値化信号は、ｃＰａｒａｍによってｂｉｎ長を変更できるような仕組みであればそれでよい。例えば、ｒｅｍａｉｎｉｎｇの二値化信号は、Ｐｒｅｆｉｘのみで構成されてもよいし、Ｈ．２６４動画符号化規格の指数ゴロム手法で表現されてもよい。
【０１２６】
また、上記説明では、Ｐｒｅｆｉｘのｂｉｎの最後は０に設定されているが、Ｐｒｅｆｉｘが最大の場合は最後の０が削除されてもよい。最大Ｐｒｅｆｉｘではない場合は「０」を挿入することによってＰｒｅｆｉｘとＳｕｆｆｉｘとの境界のｂｉｎを明示する必要があるが、画像復号装置が係数の最大値を把握している場合は、Ｐｒｅｆｉｘの最大も把握できる。よって、画像復号装置は、最大Ｐｒｅｆｉｘの場合には「０」がなくともＰｒｅｆｉｘとＳｕｆｆｉｘとの境界を判断できる。最大Ｐｒｅｆｉｘの場合に「０」を挿入しないことによって、最大Ｐｒｅｆｉｘの係数が多く発生するケース（符号ビットレートが高いケース）でｂｉｎ長を多く削減することが可能となる。これにより、符号化効率を向上させることができる。
【０１２７】
また、上記説明では、二値化パラメータ（ｃＰａｒａｍ）の更新用の閾値は「３＊（１＜＜ｃＰａｒａｍ）」の数式により設定されるが、その限りではない。例えば、画像符号化装置は、係数「３」の代わりに「４」等の他の数値を用いてもよいし、他の算式を用いてもよい。
【０１２８】
また、上記説明では、画像符号化装置は、全ての係数のｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇを、コンテキストを使って算術符号化しているが、一部の係数のｇｒｅａｔｅｒ１＿ｆｌａｇ、又はｇｒｅａｔｅｒ２＿ｆｌａｇにｒｅｍａｉｎｉｎｇと同様にコンテキストを使わないＢｙｐａｓｓ算術符号化を用いてもよい。例えば、画像符号化装置は、直前に処理された係数のｇｒｅａｔｅｒ１＿ｆｌａｇが１の場合には対象係数のｇｒｅａｔｅｒ１＿ｆｌａｇをＢｙｐａｓｓ算術符号化してもよい。また、画像符号化装置は、係数ブロックの先頭のｇｒｅａｔｅｒ１＿ｆｌａｇをＢｙｐａｓｓ算術符号化してもよい。Ｂｙｐａｓｓ算術符号化を用いることで、コンテキストのロード及び更新が必要なくなる。また、同じコンテキストを使う他のｓｙｎｔａｘとの依存関係も削除できる。これらにより、処理を高速化することが可能となる。
【０１２９】
また、上記説明では、符号ブロックは最大３２×３２、かつ最小４×４であるが、符号化ブロックのサイズはこれに限定されない。また、符号ブロックは固定サイズでもよい。
【０１３０】
また、上記説明では、符号ブロックを４×４の係数ブロックに分割したが、係数ブロックは４×４でなくてもよい。例えば、係数ブロックは、８×８でもよい。また、係数ブロックは、８×４等の長方形であってもよい。
【０１３１】
更に、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをダウンロード等により配布してもよい。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布してもよい。なお、このことは、本明細書における他の実施の形態においても該当する。
【０１３２】
（実施の形態２）
本実施の形態では、実施の形態１に係る画像符号化装置により生成された符号化ビットストリームを復号する画像復号装置について説明する。
【０１３３】
＜全体構成＞
図２０は、本実施の形態に係る画像復号装置２００の構成を示すブロック図である。
【０１３４】
図２０に示す画像復号装置２００は、符号列２２１を復号することで復号画像２２５を生成する。ここで符号列２２１は、例えば、上述した画像符号化装置１００により生成された符号列１２５に対応する。この画像復号装置２００は、可変長復号部２０１と、逆変換部２０２と、加算部２０３と、復号ブロック結合部２０４と、フレームメモリ２０５とを備える。
【０１３５】
＜動作（全体）＞
次に、図２１を参照しつつ、復号処理の全体の流れを説明する。
【０１３６】
（ステップＳ３０１）
可変長復号部２０１は、符号列２２１を可変長復号することで周波数係数２２２を生成し、周波数係数２２２を逆変換部２０２へ出力する。
【０１３７】
（ステップＳ３０２）
逆変換部２０２は、周波数係数２２２を画素データに変換することで差分ブロック２２３を生成する。
【０１３８】
（ステップＳ３０３）
加算部２０３は、フレームメモリ２０５に格納してある復号画像２２６と差分ブロック２２３とを加算することで復号ブロック２２４を生成する。
【０１３９】
（ステップＳ３０４）
復号対象画像内の全復号ブロックの復号が完了するまでステップＳ３０１〜ステップＳ３０３が繰り返される。
【０１４０】
（ステップＳ３０５）
復号ブロック結合部２０４は、複数の復号ブロック２２４を結合することによって復号画像２２５を生成すると共に、フレームメモリ２０５に復号画像２２５を復号画像２２６として格納する。
【０１４１】
以降、可変長復号部２０１について詳細に説明する。
【０１４２】
＜可変長復号部２０１の構成＞
図２２は、可変長復号部２０１の構成を示すブロック図である。本実施の形態では実施の形態１と同様に周波数係数２２２（以下、単に「係数」とも呼ぶ）をｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、ｒｅｍａｉｎｉｎｇ、及びｓｉｇｎ＿ｆｌａｇの５つのパラメータを用いて表現する。各パラメータの意味は実施の形態１と同様であるため、説明を省略する。
【０１４３】
図２２に示すように、可変長復号部２０１は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号部２３１と、ｌｅｖｅｌ復号部２３２と、ｓｉｇｎ＿ｆｌａｇ復号部２３３と、係数復号部２３４とを備える。
【０１４４】
＜動作（可変長復号）＞
次に、図２３を参照しつつ、可変長復号処理の流れを説明する。
【０１４５】
（ステップＳ３２１）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号部２３１は、係数ブロック内の各係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを復号し、復号により得られたｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇをｌｅｖｅｌ復号部２３２、ｓｉｇｎ＿ｆｌａｇ復号部２３３及び係数復号部２３４へ出力する。
【０１４６】
（ステップＳ３２２）
ｌｅｖｅｌ復号部２３２は、係数ブロック内の各係数のｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、及びｒｅｍａｉｎｉｎｇを復号し、復号により得られたｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、及びｒｅｍａｉｎｉｎｇを係数復号部２３４へ出力する。なお、ｌｅｖｅｌ復号部２３２は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが１の時しかｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、及びｒｅｍａｉｎｉｎｇを復号しない。
【０１４７】
（ステップＳ３２３）
ｓｉｇｎ＿ｆｌａｇ復号部２３３は、係数ブロック内の各係数のｓｉｇｎ＿ｆｌａｇを復号し、復号により得られたｓｉｇｎ＿ｆｌａｇを係数復号部２３４へ出力する。なお、ｓｉｇｎ＿ｆｌａｇ復号部２３３は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが１の時しかｓｉｇｎ＿ｆｌａｇを復号しない。
【０１４８】
（ステップＳ３２４）
係数復号部２３４は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、ｒｅｍａｉｎｉｎｇ、及びｓｉｇｎ＿ｆｌａｇを用いて係数を復号する。各パラメータの意味は実施の形態１と同様であり、係数復号部２３４は、その意味に従って係数を復号する。
【０１４９】
以降、ｌｅｖｅｌ復号部２３２について詳細に説明する。
【０１５０】
＜ｌｅｖｅｌ復号部２３２の構成＞
図２４は、ｌｅｖｅｌ復号部２３２の構成を示すブロック図である。図２４に示すように、ｌｅｖｅｌ復号部２３２は、コンテキストセット選択部２４１と、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部２４２と、ｇｒｅａｔｅｒ１＿ｆｌａｇメモリ２４３と、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキストメモリ２４４と、ｇｒｅａｔｅｒ２＿ｆｌａｇコンテキスト選択部２４５と、ｇｒｅａｔｅｒ２＿ｆｌａｇコンテキストメモリ２４６と、算術復号部２４７と、二値化パラメータ更新部２４８と、ｒｅｍａｉｎｉｎｇ多値化部２４９とを備える。ｒｅｍａｉｎｉｎｇ多値化部２４９は、Ｐｒｅｆｉｘ復号部２５０と、Ｓｕｆｆｉｘ復号部２５１と、Ｐｒｅｆｉｘ  Ｓｕｆｆｉｘ結合部２５２とを備える。
【０１５１】
＜動作（ｌｅｖｅｌ復号）＞
次に、図２５〜図２８を参照しつつ、ｌｅｖｅｌ復号処理を詳細に説明する。図２５は、ｌｅｖｅｌ復号部２３２による復号処理の流れを示す図である。
【０１５２】
（ステップＳ３４１）
コンテキストセット選択部２４１は、ｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇの算術復号で使用するコンテキストセット番号を設定する。この設定方法は実施の形態１のコンテキストセット選択処理（図１０）と同様である。
【０１５３】
（ステップＳ３４２）
二値化パラメータ更新部２４８は、二値化パラメータ（ｃＰａｒａｍ）を０に初期化する。本処理によって係数ブロックの先頭でｃＰａｒａｍが０に設定される。なお、ステップＳ３４１とステップＳ３４２は係数ブロックに対して１回行われるが、ステップＳ３４３以降は係数毎に行われる。
【０１５４】
（ステップＳ３４３）
ｌｅｖｅｌ復号部２３２は、係数ブロックに含まれる各係数のｇｒｅａｔｅｒ１＿ｆｌａｇを復号する。図２６は、この処理の詳細を示すフローチャートである。
【０１５５】
（ステップＳ３５１）
ｌｅｖｅｌ復号部２３２は、対象係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが１かどうか判定し、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが１であればステップＳ３５２〜Ｓ３５３でｇｒｅａｔｅｒ１＿ｆｌａｇを復号し、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが０であればｇｒｅａｔｅｒ１＿ｆｌａｇを復号しない。
【０１５６】
（ステップＳ３５２）
ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部２４２は、ステップＳ３４１で選択されたコンテキストセット番号を用いてコンテキスト番号を設定する。この設定方法は実施の形態１のｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択処理（図１１）と同様である。
【０１５７】
（ステップＳ３５３）
算術復号部２４７は、ステップＳ３５２で選択されたコンテキスト番号に従ってｇｒｅａｔｅｒ１＿ｆｌａｇコンテキストメモリ２４４から使用するコンテキストをロードし、そのコンテキストを用いてｇｒｅａｔｅｒ１＿ｆｌａｇの算術復号を行う。また、算術復号部２４７は、この算術復号で更新されたコンテキストを、ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキストメモリ２４４の、元のコンテキストと同じ場所にストアする。
【０１５８】
（ステップＳ３５４）
係数ブロック内の全係数の処理が完了するまでステップＳ３５１〜Ｓ３５３が繰り返される。
【０１５９】
以上により、係数ブロックに含まれる各係数のｇｒｅａｔｅｒ１＿ｆｌａｇが復号される。
【０１６０】
（ステップＳ３４４）
ｌｅｖｅｌ復号部２３２は、係数ブロックに含まれる各係数のｇｒｅａｔｅｒ２＿ｆｌａｇを復号する。図２７は、この処理の詳細を示すフローチャートである。
【０１６１】
（ステップＳ３６１）
ｌｅｖｅｌ復号部２３２は、対象係数のｇｒｅａｔｅｒ１＿ｆｌａｇが１かどうか判定し、ｇｒｅａｔｅｒ１＿ｆｌａｇが１であればステップＳ３６２〜Ｓ３６３でｇｒｅａｔｅｒ２＿ｆｌａｇを復号し、ｇｒｅａｔｅｒ１＿ｆｌａｇが０であればｇｒｅａｔｅｒ２＿ｆｌａｇを復号しない。なお、ｌｅｖｅｌ復号部２３２は、対象係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが０の場合にはｇｒｅａｔｅｒ１＿ｆｌａｇを復号しないが、その場合はｇｒｅａｔｅｒ２＿ｆｌａｇも復号しない。
【０１６２】
（ステップＳ３６２）
ｇｒｅａｔｅｒ２＿ｆｌａｇコンテキスト選択部２４５は、ステップＳ３４１で選択されたコンテキストセット番号をコンテキスト番号に設定する。ｇｒｅａｔｅｒ２＿ｆｌａｇのコンテキストはｇｒｅａｔｅｒ１＿ｆｌａｇと異なり、コンテキストセット番号そのものがコンテキスト番号に設定される。つまり、ｇｒｅａｔｅｒ２＿ｆｌａｇの１つのコンテキストセットは１つのコンテキストしか含まない。
【０１６３】
（ステップＳ３６３）
算術復号部２４７は、ステップＳ３６２で選択されたコンテキスト番号に従ってｇｒｅａｔｅｒ２＿ｆｌａｇコンテキストメモリ２４６から使用するコンテキストをロードし、そのコンテキストを用いてｇｒｅａｔｅｒ２＿ｆｌａｇの算術復号を行う。また、算術復号部２４７は、この算術復号で更新されたコンテキストを、ｇｒｅａｔｅｒ２＿ｆｌａｇコンテキストメモリ２４６の、元のコンテキストと同じ場所にストアする。
【０１６４】
（ステップＳ３６４）
係数ブロック内の全係数の処理が完了するまでステップＳ３６１〜Ｓ３６３が繰り返される。
【０１６５】
以上により、係数ブロックに含まれる各係数のｇｒｅａｔｅｒ２＿ｆｌａｇが復号される。
【０１６６】
（ステップＳ３４５）
ｌｅｖｅｌ復号部２３２は、係数ブロックに含まれる各係数のｒｅｍａｉｎｉｎｇを復号する。図２８は、この処理の詳細を示すフローチャートである。
【０１６７】
（ステップＳ３７１）
ｌｅｖｅｌ復号部２３２は、対象係数のｇｒｅａｔｅｒ２＿ｆｌａｇが１かどうか判定し、ｇｒｅａｔｅｒ２＿ｆｌａｇが１であればステップＳ３７２〜Ｓ３７３でｒｅｍａｉｎｉｎｇを復号し、ｇｒｅａｔｅｒ２＿ｆｌａｇが０であればｒｅｍａｉｎｉｎｇを復号しない。なお、ｌｅｖｅｌ復号部２３２は、対象係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが０又はｇｒｅａｔｅｒ１＿ｆｌａｇが０の場合にはｇｒｅａｔｅｒ２＿ｆｌａｇを復号しないが、その場合はｒｅｍａｉｎｉｎｇも復号しない。
【０１６８】
（ステップＳ３７２）
算術復号部２４７は、ｒｅｍａｉｎｉｎｇの算術復号を行う。ｒｅｍａｉｎｉｎｇはｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇと異なり、コンテキストを用いないＢｙｐａｓｓ算術復号により復号される。
【０１６９】
（ステップＳ３７３）
ｒｅｍａｉｎｉｎｇ多値化部２４９は、ｒｅｍａｉｎｉｎｇの二値信号を多値信号に変換する。詳細は後述する。
【０１７０】
（ステップＳ３７４）
二値化パラメータ更新部２４８は、二値化（ｃＰａｒａｍ）を更新する。この更新方法は実施の形態１の二値化パラメータ更新処理（図１８）と同様である。
【０１７１】
（ステップＳ３７５）
係数ブロック内の全係数の処理が完了するまでステップＳ３７１〜Ｓ３７４が繰り返される。
【０１７２】
＜動作（ｒｅｍａｉｎｉｎｇ多値化）＞
次に、図２９〜図３１を参照しつつ、ｒｅｍａｉｎｉｎｇ多値化処理（図２８のＳ３７３）を詳細に説明する。
【０１７３】
（ステップＳ４０１）
Ｐｒｅｆｉｘ復号部２５０は、Ｐｒｅｆｉｘを復号する。図３０は、この処理の詳細を示すフローチャートである。
【０１７４】
（ステップＳ４１１〜Ｓ４１５）
Ｐｒｅｆｉｘ復号部２５０は、Ｐｒｅｆｉｘを決定する。概要を説明すると、Ｐｒｅｆｉｘ復号部２５０は、「０」が出現するまで算術復号部２４７から１ｂｉｎずつ符号を取得し、「１」が連続した個数をＰｒｅｆｉｘの値に設定する。
【０１７５】
（ステップＳ４０２）
Ｓｕｆｆｉｘ復号部２５１は、Ｓｕｆｆｉｘを復号する。
【０１７６】
（ステップＳ４０３）
Ｐｒｅｆｉｘ  Ｓｕｆｆｉｘ結合部２５２は、ＰｒｅｆｉｘとＳｕｆｆｉｘとを結合することで、ｒｅｍａｉｎｉｎｇの多値信号を生成する。
【０１７７】
図３１は、ステップＳ４０２及びＳ４０３の詳細を示すフローチャートである。
【０１７８】
（ステップＳ４２１〜Ｓ４３３）
Ｓｕｆｆｉｘ復号部２５１は、Ｓｕｆｆｉｘを決定する。概要を説明すると、Ｓｕｆｆｉｘ復号部２５１は、Ｐｒｅｆｉｘが８未満の場合は、ｃＰａｒａｍの値をｂｉｎ長に設定し、当該ｂｉｎ長の算術復号結果を上位から並べることでＳｕｆｆｉｘを生成する。一方、Ｐｒｅｆｉｘが８以上の場合は、Ｓｕｆｆｉｘ復号部２５１は、Ｐｒｅｆｉｘ及びｃＰａｒａｍからｂｉｎ長を求め、当該ｂｉｎ長の算術復号結果を上位から並べることでＳｕｆｆｉｘを生成する。
【０１７９】
（ステップＳ４４１〜Ｓ４４２）
Ｐｒｅｆｉｘ  Ｓｕｆｆｉｘ結合部２５２は、Ｐｒｅｆｉｘ、Ｓｕｆｆｉｘ、及びｃＰａｒａｍを用いてｒｅｍａｉｎｉｎｇを算出する。
【０１８０】
＜効果＞
以上により、本実施の形態に係る画像復号装置は、上記実施の形態１と同様の効果を実現できる。
【０１８１】
図３２Ａは、上述した画像符号化装置１００による画像符号化処理のフローチャートである。
【０１８２】
以上説明したように、画像符号化装置１００は、処理対象の係数ブロックに含まれる処理対象の係数の絶対値が１より大きいか否かを示す第１フラグ（ｇｒｅａｔｅｒ１＿ｆｌａｇ）を算術符号化する（Ｓ７０１）。次に、画像符号化装置１００は、処理対象の係数の絶対値が２より大きいか否かを示す第２フラグ（ｇｒｅａｔｅｒ２＿ｆｌａｇ）を算術符号化する（Ｓ７０２）。
【０１８３】
図３２Ｂは、これらステップＳ７０１及びＳ７０２のフローチャートである。
【０１８４】
画像符号化装置１００は、ステップＳ７０１及びＳ７０２において、直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定し（Ｓ７１１）、判定結果に応じて、第１フラグ及び第２フラグの算術符号化に使用するコンテキストを切り替える（Ｓ７１２）。言い換えると、画像符号化装置１００は、この判定に、直前の係数ブロックに含まれる係数のみを参照し、直前以外の処理済み係数ブロックに含まれる係数は参照しない。つまり、画像符号化装置１００は、複数のコンテキストのうち、判定結果に対応するコンテキストを用いて第１フラグ及び第２フラグを算術符号化する。
【０１８５】
また、直前の係数ブロックとは、処理順で処理対象の係数ブロックの直前の係数ブロックである。
【０１８６】
具体的には、画像符号化装置１００は、係数の絶対値が閾値より大きい場合に二値化パラメータ（ｃＰａｒａｍ）を増加させる（図１８のＳ２５３〜Ｓ２５４）。そして、画像符号化装置１００は、直前の係数ブロックのｃＰａｒａｍが０より大きい場合にコンテキストを切り替える（コンテキストセット番号を増加させる）（図１０のＳ１８４〜Ｓ１８５）。
【０１８７】
つまり、画像符号化装置１００は、直前の係数ブロックの算術符号化の際に生成された変数を用いて、直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定する。
【０１８８】
具体的には、画像符号化装置１００は、さらに、処理対象の係数の絶対値が２より大きい場合に、処理対象の係数の絶対値から３を減算した値である残り値（ｒｅｍａｉｎｉｎｇ）を、複数の変換テーブルのうち、二値化パラメータ（ｃＰａｒａｍ）で指定される変換テーブルに従い二値化する。この二値化パラメータは、直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかに応じて決定される。上記変数は、この二値化パラメータである。
【０１８９】
なお、上記説明では、コンテキストの切り替えの基準である、係数の絶対値の閾値は、二値化パラメータに応じて決定されている（図１８のＳ２５２）が、従来技術で説明したように、この閾値は予め定められた値（「１」）であってもよい。つまり、画像符号化装置１００は、直前の係数ブロックに絶対値が１を超える（２以上の）係数が存在するかどうかを判定し、判定結果に応じて、使用するコンテキストを切り替えてもよい。なお、上述したように、従来技術では、絶対値が閾値を超える係数の数がカウントされてり、本実施の形態のように、絶対値が閾値を超える係数が存在するか否かを判定する処理とは異なる。
【０１９０】
さらに、この場合にも上記と同様に、画像符号化装置１００は、直前の係数ブロックの算術符号化の際に生成された変数を用いて、直前の係数ブロックに絶対値が１を超える係数が存在するかどうかを判定してもよい。例えば、この変数はｇｒｅａｔｅｒ１＿ｆｌａｇである。つまり、画像符号化装置１００は、直前の係数ブロックに値が１のｇｒｅａｔｅｒ１＿ｆｌａｇを有する係数が存在するかどうかに応じて、コンテキストを切り替えてもよい。
【０１９１】
図３３Ａは、上述した画像復号装置２００による画像復号処理のフローチャートである。
【０１９２】
図３３Ａに示すように、画像復号装置２００は、処理対象の係数ブロックに含まれる処理対象の係数の絶対値が１より大きいか否かを示す第１フラグ（ｇｒｅａｔｅｒ１＿ｆｌａｇ）を算術復号する（Ｓ７５１）。画像復号装置２００は、処理対象の係数の絶対値が２より大きいか否かを示す第２フラグ（ｇｒｅａｔｅｒ２＿ｆｌａｇ）を算術復号する（Ｓ７５２）。
【０１９３】
図３３Ｂは、これらステップＳ７５１及びＳ７５２のフローチャートである。
【０１９４】
画像復号装置２００は、これらステップＳ７５１及びＳ７５２において、直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定し（Ｓ７６１）、判定結果に応じて、第１フラグ及び第２フラグの算術復号に使用するコンテキストを切り替える（Ｓ７６２）。つまり、画像復号装置２００は、複数のコンテキストのうち、判定結果に対応するコンテキストを用いて第１フラグ及び第２フラグを算術復号する。
【０１９５】
具体的には、画像復号装置２００は、係数の絶対値が閾値より大きい場合に二値化パラメータ（ｃＰａｒａｍ）を増加させる（図１８のＳ２５３〜Ｓ２５４）。そして、画像復号装置２００は、直前の係数ブロックのｃＰａｒａｍが０より大きい場合にコンテキストを切り替える（コンテキストセット番号を増加させる）（図１０のＳ１８４〜Ｓ１８５）。
【０１９６】
つまり、画像復号装置２００は、直前の係数ブロックの算術復号の際に生成された変数を用いて、直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかを判定する。
【０１９７】
具体的には、画像復号装置２００は、さらに、処理対象の係数の絶対値が２より大きい場合に、処理対象の係数の絶対値から３を減算した値である残り値を、複数の変換テーブルのうち、二値化パラメータで指定される変換テーブルに従い多値化する。この二値化パラメータは、直前の係数ブロックに絶対値が閾値を超える係数が存在するかどうかに応じて決定される。上記変数は、二値化パラメータである。
【０１９８】
また、上記と同様に、上記閾値は、予め定められた値（「１」）であってもよい。さらに、この場合にも上記と同様に、画像復号装置２００は、直前の係数ブロックの算術符号化の際に生成された変数を用いて、直前の係数ブロックに絶対値が１を超える係数が存在するかどうかを判定してもよい。例えば、この変数はｇｒｅａｔｅｒ１＿ｆｌａｇである。つまり、画像復号装置２００は、直前の係数ブロックに値が１のｇｒｅａｔｅｒ１＿ｆｌａｇを有する係数が存在するかどうかに応じて、コンテキストを切り替えてもよい。
【０１９９】
（実施の形態３）
本実施の形態では、上記実施の形態１の変形例について説明する。本実施の形態に係る画像符号化装置は実施の形態１に係る画像符号化装置に対してｌｅｖｅｌ符号化部１３３Ａの機能がｌｅｖｅｌ符号化部１３３と異なる。以降ではｌｅｖｅｌ符号化部１３３Ａについて説明する。
【０２００】
＜ｌｅｖｅｌ符号化部１３３Ａの構成＞
図３４は、ｌｅｖｅｌ符号化部１３３Ａの構成を示すブロック図である。このｌｅｖｅｌ符号化部１３３Ａは、実施の形態１に係るｌｅｖｅｌ符号化部１３３の構成に加え、ｇｒｅａｔｅｒ＿ｆｌａｇ切替部１６０を備える。また、ｒｅｍａｉｎｉｎｇ設定部１４３Ａ、及びコンテキストセット選択部１４５Ａの機能が、ｒｅｍａｉｎｉｎｇ設定部１４３、及びコンテキストセット選択部１４５と異なる。
【０２０１】
＜動作（ｌｅｖｅｌ符号化）＞
次に、図３５を参照しつつ、ｌｅｖｅｌ符号化処理を詳細に説明する。実施の形態１のｌｅｖｅｌ符号化処理に対して、ステップＳ５０１〜Ｓ５０３が追加されている。また、ステップＳ１４１Ａ及びＳ１７１ＡがステップＳ１４１及びＳ１７１と異なる。なお、実施の形態１と同様の処理は説明を省略する。
【０２０２】
（ステップＳ１４１Ａ）
コンテキストセット選択部１４５Ａは、ｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇの算術符号化で使用するコンテキストセット番号を設定する。詳細は後述する。
【０２０３】
（ステップＳ５０１）
ｇｒｅａｔｅｒ＿ｆｌａｇ切替部１６０は、直前の係数ブロックの更新後の二値化パラメータ（ｃＰａｒａｍ）が０より大きいか判定する。二値化パラメータが０の場合は実施の形態１と同様にｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇは符号化されるが、二値化パラメータが０より大きい場合はｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇは符号化されない。
【０２０４】
（ステップＳ５０２、Ｓ５０３、Ｓ１７１Ａ）
ｒｅｍａｉｎｉｎｇ設定部１４３Ａは、直前の係数ブロックの更新後の二値化パラメータ（ｃＰａｒａｍ）が０より大きい場合はｒｅｍａｉｎｉｎｇベース値を１に設定し、当該二値化パラメータが０の場合はｒｅｍａｉｎｉｎｇベース値を３に設定する。そして、ｌｅｖｅｌ符号化部１３３Ａは、係数の絶対値がｒｅｍａｉｎｉｎｇベース値以上の場合はステップＳ１７２〜Ｓ１７５によってｒｅｍａｉｎｉｎｇを符号化し、ｒｅｍａｉｎｉｎｇベース値未満の場合はｒｅｍａｉｎｉｎｇを符号化しない。ｌｅｖｅｌ符号化部１３３Ａは、ｒｅｍａｉｎｉｎｇを符号化する場合、係数の絶対値からｒｅｍａｉｎｉｎｇベース値を減算した値をｒｅｍａｉｎｉｎｇに設定して符号化する。これはｃＰａｒａｍに応じてｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇが符号化されない場合があるため、ｒｅｍａｉｎｉｎｇに設定すべき値が変化するためである。実施の形態１ではｃＰａｒａｍによらずｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇが存在したため、ｒｅｍａｉｎｉｎｇベース値は「３」固定であった。
【０２０５】
＜動作（コンテキストセット選択）＞
次に、図３５を参照しつつ、コンテキストセット選択処理（図３４のＳ１４１Ａ）を詳細に説明する。
【０２０６】
（ステップＳ５１１〜Ｓ５１３）
コンテキストセット選択部１４５Ａは、処理対象の係数ブロックが符号ブロック内で最も低周波の係数ブロックであるかどうかを判定し、最も低周波の係数ブロックである場合はコンテキストセット番号を０に設定し、そうでない場合はコンテキストセット番号を１に設定する。つまり、コンテキストセット選択部１４５Ａは、符号ブロック内の左上の係数ブロックのコンテキストセット番号を０に設定し、そうでない場合はコンテキストセット番号を１に設定する。
【０２０７】
また、コンテキストセット選択部１４５Ａは、実施の形態１と異なりｃＰａｒａｍが０より大きい場合のコンテキストセットの切り替えは行わない。これは前述のｌｅｖｅｌ符号化処理の通り、ｃＰａｒａｍが０より大きい場合は、ｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇの符号化が行われず、コンテキストの選択も行われないためである。
【０２０８】
＜効果＞
以上、本実施の形態に係る画像符号化装置は、直前の係数ブロックの更新後の二値化パラメータに応じてｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇを符号化せず、ｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇの代わりにｒｅｍａｉｎｉｎｇにより係数を符号化する。よって、画像符号化装置は、直前の係数ブロックの処理で閾値を超える係数が１つでも存在した場合はコンテキストを用いる算術符号化の代わりにコンテキストを用いないＢｙｐａｓｓ算術符号化を用いる。Ｂｙｐａｓｓ算術符号化はコンテキストのロード及び更新が不要であり、尚且つ前段の処理のコンテキスト更新完了を待たずして処理を始めることができる。よって、Ｂｙｐａｓｓ算術符号化は、コンテキストを用いる算術符号化に比べて処理を高速化することが可能である。
【０２０９】
また、係数の絶対値が小さい可能性が高い場合にはｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇが０となる場合もありｒｅｍａｉｎｉｎｇを符号化しないでよいケースもある。一方、係数の絶対値が大きい可能性が高い場合はそのようなケースはほとんどないので、ｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇを符号化しない方がトータルのｂｉｎ量が減る場合も多い。
【０２１０】
本実施の形態に係る画像符号化装置は、直前の係数ブロック処理後のｃＰａｒａｍが０より大きい場合（閾値を超える係数が１つでも存在した場合）、本係数ブロック内では絶対値が大きい係数の発生確率が高いと想定し、ｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇを符号化しない。これによって、符号化効率の低下を抑制しつつ、コンテキストを用いた算術符号化の数を減らすことができるので、処理高速化を実現できる。
【０２１１】
また、ｃＰａｒａｍが０より大きい場合にｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇを符号化しないようにすることによって、ｃＰａｒａｍが０より大きい場合に使うコンテキストセット、つまり値が大きい係数の発生確率が高い場合に使用するコンテキストセットが不要である。つまり、画像符号化装置は、符号ブロック内の左上の係数ブロックの時に１つのコンテキストセットを使用し、それ以外の係数ブロックの時には共通の１つのコンテキストセットを使用する。こうすることによって使用するコンテキストの数を減らすことができるので、コンテキストを格納するためのメモリサイズ及びコンテキスト選択処理のための回路の規模を削減することができる。
【０２１２】
また、ｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇの符号化処理の有無の切り替えに用いる情報と、ｒｅｍａｉｎｉｎｇの符号化に用いる情報とを統一することにより、回路規模を削減できる。具体的には、係数の絶対値が閾値を超える度に大きくなるｃＰａｒａｍをｒｅｍａｉｎｉｎｇの二値化パラメータと、ｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇの符号化処理の有無の切り替えとに使用することにより、１つの機構で複数の機能を実現できる。このように、本実施の形態に係る画像符号化装置は、現在のＨＥＶＣ規格（非特許文献１）と比較し、新たな機構を追加することなく、ｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇの符号化処理の有無の切り替えを実現できる。
【０２１３】
また、現在のＨＥＶＣ規格（非特許文献１）のテスト用ソフトウェアに対し、本実施の形態に係る画像符号化方法を実装し、実験した。図３７は実装前と比較した実験結果を示す図である。実験条件はＨＥＶＣ規格化団体の共通実験条件に従っており、図３７の数値はテスト用画像の先頭４９フレームに対する結果である。数値が大きいほど符号化効率が低下していることを示し、負の値であれば符号化効率が向上していることを示す。図３７に示すように、全ての値が０．００〜０．０６％であり、コンテキストを用いた算術符号化を削減することで処理を高速化しても、またコンテキストの総数を減らしても、符号化効率はほとんど変わらないことが分かる。
【０２１４】
なお、上記説明では、画像符号化装置は、直前の係数ブロックで更新された二値化パラメータ（ｃＰａｒａｍ）を用いてｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇの符号化処理の有無を切り替えているが、直前以外の係数ブロックで更新された二値化パラメータを用いてもよい。例えば、画像符号化装置は、処理済みの係数ブロックのいずれかでｃＰａｒａｍが０より大きくなった場合には以降の係数ブロックではｇｒｅａｔｅｒ１＿ｆｌａｇ及びｇｒｅａｔｅｒ２＿ｆｌａｇを符号化しないようにしてもよい。係数ブロックは高周波のブロックから処理される。よって、いずれかの係数ブロックでｃＰａｒａｍが０より大きくなった場合、つまり絶対値が閾値以上の係数が出現した場合に、以降全ての係数ブロックでは係数値が大きい可能性が高い。よって、このような場合に、ｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇを符号化しなくても符号化効率が低下しない場合もある。
【０２１５】
また、上記説明では、画像符号化装置は、ｃＰａｒａｍが０より大きい場合にｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇを符号化しないが、その限りではなく、例えばｃＰａｒａｍが１より大きい場合、又は２より大きい場合にｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇを符号化しなくてもよい。入力画像によってはｃＰａｒａｍが１より大きい場合にｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇの符号化処理の有無を切り替えた方が符号化効率が良くなる場合がある。
【０２１６】
なお、その他に関しては実施の形態１と同様のため、説明を省略する。
【０２１７】
（実施の形態４）
本実施の形態では、実施の形態３に係る画像符号化装置により生成された符号化ビットストリームを復号する画像復号装置について説明する。本実施の形態に係る画像復号装置は、実施の形態２に係る画像復号装置に対してｌｅｖｅｌ復号部２３２Ａがｌｅｖｅｌ復号部２３２と異なる。以降ではｌｅｖｅｌ復号部２３２Ａについて説明する。
【０２１８】
＜ｌｅｖｅｌ復号部２３２Ａの構成＞
図３８は、ｌｅｖｅｌ復号部２３２Ａの構成を示すブロック図である。このｌｅｖｅｌ復号部２３２Ａは、実施の形態２に係るｌｅｖｅｌ復号部２３２の構成に加え、ｇｒｅａｔｅｒ＿ｆｌａｇ切替部２６０を備える。また、コンテキストセット選択部２４１Ａ及び算術復号部２４７Ａの機能がコンテキストセット選択部２４１及び算術復号部２４７と異なる。
【０２１９】
＜動作（ｌｅｖｅｌ復号）＞
次に、図３９を参照しつつ、ｌｅｖｅｌ復号処理を詳細に説明する。実施の形態２のｌｅｖｅｌ復号処理に対して、ステップＳ６０１〜Ｓ６０３が追加されている。また、ステップＳ３４１Ａ及びＳ３７１ＡがステップＳ３４１及びＳ３７１と異なる。なお、実施の形態２と同様の処理は説明を省略する。
【０２２０】
（ステップＳ３４１Ａ）
コンテキストセット選択部２４１Ａは、ｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇの算術復号で使用するコンテキストセット番号を設定する。選択方法については実施の形態３のコンテキストセット選択処理（図３６）と同様である。つまり、コンテキストセット選択部２４１Ａは、ｃＰａｒａｍに応じたコンテキストセットの切り替えは行わない。
【０２２１】
（ステップＳ６０１）
ｇｒｅａｔｅｒ＿ｆｌａｇ切替部２６０は、直前の係数ブロックの更新後の二値化パラメータ（ｃＰａｒａｍ）が０より大きいか判定する。ｇｒｅａｔｅｒ＿ｆｌａｇ切替部２６０は、二値化パラメータが０の場合は実施の形態２と同様にｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇを復号するが、二値化パラメータが０より大きい場合はｇｒｅａｔｅｒ１＿ｆｌａｇ、及びｇｒｅａｔｅｒ２＿ｆｌａｇを復号しない。
【０２２２】
（ステップＳ６０２、Ｓ６０３、Ｓ３７１Ａ）
算術復号部２４７Ａは、直前の係数ブロックの更新後の二値化パラメータ（ｃＰａｒａｍ）が０より大きい場合はｒｅｍａｉｎｉｎｇベース値を１に設定し、二値化パラメータが０の場合はｒｅｍａｉｎｉｎｇベース値を３に設定する。そして、レベル復号部２３２Ａは、ｒｅｍａｉｎｉｎｇベース値が３であり、かつ対象係数のｇｒｅａｔｅｒ２＿ｆｌａｇが１の場合、又はｒｅｍａｉｎｉｎｇベース値が１であり、かつ対象係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが１の場合、ステップＳ３７２〜Ｓ３７３によってｒｅｍａｉｎｉｎｇを復号し、そうでない場合はｒｅｍａｉｎｉｎｇを復号しない。ｒｅｍａｉｎｉｎｇが復号される場合、復号されたｒｅｍａｉｎｉｎｇにｒｅｍａｉｎｉｎｇベース値を加算した数値が係数の絶対値である。
【０２２３】
＜効果＞
以上により、本実施の形態に係る画像復号装置は、上記実施の形態３と同様の効果を実現できる。
【０２２４】
以上の各実施の形態において、機能ブロックの各々は、通常、ＭＰＵ（マイクロプロセッサ）及びメモリ等によって実現可能である。また、機能ブロックの各々による処理は、通常、ソフトウェア（プログラム）によって実現することができ、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。そして、このようなソフトウェアをダウンロード等により配布してもよいし、ＣＤ−ＲＯＭなどの記録媒体に記録して配布してもよい。なお、各機能ブロックをハードウェア（専用回路）によって実現することも、当然、可能である。
【０２２５】
また、各実施の形態において説明した処理は、単一の装置（システム）を用いて集中処理することによって実現してもよく、あるいは、複数の装置を用いて分散処理することによって実現してもよい。また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、当該コンピュータは、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０２２６】
以上、実施の形態に係る画像符号化装置に及び画像復号装置ついて説明したが、本発明は、この実施の形態に限定されるものではない。
【０２２７】
また、上記実施の形態に係る画像符号化装置及び画像復号装置に含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０２２８】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０２２９】
上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵ又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０２３０】
言い換えると、画像符号化装置及び画像復号装置は、制御回路（ｃｏｎｔｒｏｌ  ｃｉｒｃｕｉｔｒｙ）と、当該制御回路に電気的に接続された（当該制御回路からアクセス可能な）記憶装置（ｓｔｏｒａｇｅ）とを備える。制御回路は、専用のハードウェア及びプログラム実行部の少なくとも一方を含む。また、記憶装置は、制御回路がプログラム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。
【０２３１】
さらに、本発明は上記ソフトウェアプログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【０２３２】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
【０２３３】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【０２３４】
また、上記の画像符号化方法又は画像復号方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【０２３５】
以上、本発明の一つ又は複数の態様に係る画像符号化装置及び画像復号装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つ又は複数の態様の範囲内に含まれてもよい。
【０２３６】
（実施の形態５）
上記各実施の形態で示した動画像符号化方法（画像符号化方法）または動画像復号化方法（画像復号方法）の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ＩＣカード、半導体メモリ等、プログラムを記録できるものであればよい。
【０２３７】
さらにここで、上記各実施の形態で示した動画像符号化方法（画像符号化方法）や動画像復号化方法（画像復号方法）の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
【０２３８】
図４０は、コンテンツ配信サービスを実現するコンテンツ供給システムex１００の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex１０６、ex１０７、ex１０８、ex１０９、ex１１０が設置されている。
【０２３９】
このコンテンツ供給システムex１００は、インターネットex１０１にインターネットサービスプロバイダex１０２および電話網ex１０４、および基地局ex１０６からex１１０を介して、コンピュータex１１１、ＰＤＡ（Personal Digital Assistant）ex１１２、カメラex１１３、携帯電話ex１１４、ゲーム機ex１１５などの各機器が接続される。
【０２４０】
しかし、コンテンツ供給システムex１００は図４０のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex１０６からex１１０を介さずに、各機器が電話網ex１０４に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
【０２４１】
カメラex１１３はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex１１６はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex１１４は、ＧＳＭ（登録商標）（Global System for Mobile Communications）方式、ＣＤＭＡ（Code Division Multiple Access）方式、Ｗ−ＣＤＭＡ（Wideband-Code Division Multiple Access）方式、若しくはＬＴＥ（Long Term Evolution）方式、ＨＳＰＡ(High Speed Packet Access)の携帯電話機、またはＰＨＳ（Personal Handyphone System）等であり、いずれでも構わない。
【０２４２】
コンテンツ供給システムex１００では、カメラex１１３等が基地局ex１０９、電話網ex１０４を通じてストリーミングサーバex１０３に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex１１３を用いて撮影するコンテンツ（例えば、音楽ライブの映像等）に対して上記各実施の形態で説明したように符号化処理を行い（即ち、本発明の一態様に係る画像符号化装置として機能する）、ストリーミングサーバex１０３に送信する。一方、ストリーミングサーバex１０３は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex１１１、ＰＤＡex１１２、カメラex１１３、携帯電話ex１１４、ゲーム機ex１１５等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する（即ち、本発明の一態様に係る画像復号装置として機能する）。
【０２４３】
なお、撮影したデータの符号化処理はカメラex１１３で行っても、データの送信処理をするストリーミングサーバex１０３で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex１０３で行ってもよいし、互いに分担して行ってもよい。また、カメラex１１３に限らず、カメラex１１６で撮影した静止画像および／または動画像データを、コンピュータex１１１を介してストリーミングサーバex１０３に送信してもよい。この場合の符号化処理はカメラex１１６、コンピュータex１１１、ストリーミングサーバex１０３のいずれで行ってもよいし、互いに分担して行ってもよい。
【０２４４】
また、これら符号化・復号化処理は、一般的にコンピュータex１１１や各機器が有するＬＳＩex５００において処理する。ＬＳＩex５００は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex１１１等で読み取り可能な何らかの記録メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex１１４がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex１１４が有するＬＳＩex５００で符号化処理されたデータである。
【０２４５】
また、ストリーミングサーバex１０３は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
【０２４６】
以上のようにして、コンテンツ供給システムex１００では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex１００では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
【０２４７】
なお、コンテンツ供給システムex１００の例に限らず、図４１に示すように、デジタル放送用システムex２００にも、上記各実施の形態の少なくとも動画像符号化装置（画像符号化装置）または動画像復号化装置（画像復号装置）のいずれかを組み込むことができる。具体的には、放送局ex２０１では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex２０２に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである（即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである）。これを受けた放送衛星ex２０２は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex２０４が受信する。受信した多重化データを、テレビ（受信機）ex３００またはセットトップボックス（ＳＴＢ）ex２１７等の装置が復号化して再生する（即ち、本発明の一態様に係る画像復号装置として機能する）。
【０２４８】
また、ＤＶＤ、ＢＤ等の記録メディアex２１５に記録した多重化データを読み取り復号化する、または記録メディアex２１５に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ／レコーダex２１８にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex２１９に表示され、多重化データが記録された記録メディアex２１５により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex２０３または衛星／地上波放送のアンテナex２０４に接続されたセットトップボックスex２１７内に動画像復号化装置を実装し、これをテレビのモニタex２１９で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
【０２４９】
図４２は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ（受信機）ex３００を示す図である。テレビex３００は、上記放送を受信するアンテナex２０４またはケーブルex２０３等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex３０１と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調／復調部ex３０２と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex３０６で符号化された映像データ、音声データを多重化する多重／分離部ex３０３を備える。
【０２５０】
また、テレビex３００は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex３０４、映像信号処理部ex３０５（本発明の一態様に係る画像符号化装置または画像復号装置として機能する）を有する信号処理部ex３０６と、復号化した音声信号を出力するスピーカex３０７、復号化した映像信号を表示するディスプレイ等の表示部ex３０８を有する出力部ex３０９とを有する。さらに、テレビex３００は、ユーザ操作の入力を受け付ける操作入力部ex３１２等を有するインタフェース部ex３１７を有する。さらに、テレビex３００は、各部を統括的に制御する制御部ex３１０、各部に電力を供給する電源回路部ex３１１を有する。インタフェース部ex３１７は、操作入力部ex３１２以外に、リーダ／レコーダex２１８等の外部機器と接続されるブリッジex３１３、ＳＤカード等の記録メディアex２１６を装着可能とするためのスロット部ex３１４、ハードディスク等の外部記録メディアと接続するためのドライバex３１５、電話網と接続するモデムex３１６等を有していてもよい。なお記録メディアex２１６は、格納する不揮発性／揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex３００の各部は同期バスを介して互いに接続されている。
【０２５１】
まず、テレビex３００がアンテナex２０４等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex３００は、リモートコントローラex２２０等からのユーザ操作を受け、ＣＰＵ等を有する制御部ex３１０の制御に基づいて、変調／復調部ex３０２で復調した多重化データを多重／分離部ex３０３で分離する。さらにテレビex３００は、分離した音声データを音声信号処理部ex３０４で復号化し、分離した映像データを映像信号処理部ex３０５で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex３０９から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex３１８、ex３１９等に一旦これらの信号を蓄積するとよい。また、テレビex３００は、放送等からではなく、磁気／光ディスク、ＳＤカード等の記録メディアex２１５、ex２１６から多重化データを読み出してもよい。次に、テレビex３００が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex３００は、リモートコントローラex２２０等からのユーザ操作を受け、制御部ex３１０の制御に基づいて、音声信号処理部ex３０４で音声信号を符号化し、映像信号処理部ex３０５で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重／分離部ex３０３で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex３２０、ex３２１等に一旦これらの信号を蓄積するとよい。なお、バッファex３１８、ex３１９、ex３２０、ex３２１は図示しているように複数備えていてもよいし、１つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調／復調部ex３０２や多重／分離部ex３０３の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
【０２５２】
また、テレビex３００は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのＡＶ入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex３００は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
【０２５３】
また、リーダ／レコーダex２１８で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex３００、リーダ／レコーダex２１８のいずれで行ってもよいし、テレビex３００とリーダ／レコーダex２１８が互いに分担して行ってもよい。
【０２５４】
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生／記録部ex４００の構成を図４３に示す。情報再生／記録部ex４００は、以下に説明する要素ex４０１、ex４０２、ex４０３、ex４０４、ex４０５、ex４０６、ex４０７を備える。光ヘッドex４０１は、光ディスクである記録メディアex２１５の記録面にレーザスポットを照射して情報を書き込み、記録メディアex２１５の記録面からの反射光を検出して情報を読み込む。変調記録部ex４０２は、光ヘッドex４０１に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex４０３は、光ヘッドex４０１に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex２１５に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex４０４は、記録メディアex２１５に記録するための情報および記録メディアex２１５から再生した情報を一時的に保持する。ディスクモータex４０５は記録メディアex２１５を回転させる。サーボ制御部ex４０６は、ディスクモータex４０５の回転駆動を制御しながら光ヘッドex４０１を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex４０７は、情報再生／記録部ex４００全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex４０７が、バッファex４０４に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex４０２、再生復調部ex４０３、サーボ制御部ex４０６を協調動作させながら、光ヘッドex４０１を通して、情報の記録再生を行うことにより実現される。システム制御部ex４０７は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
【０２５５】
以上では、光ヘッドex４０１はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
【０２５６】
図４４に光ディスクである記録メディアex２１５の模式図を示す。記録メディアex２１５の記録面には案内溝（グルーブ）がスパイラル状に形成され、情報トラックex２３０には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex２３１の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex２３０を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex２１５は、データ記録領域ex２３３、内周領域ex２３２、外周領域ex２３４を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex２３３であり、データ記録領域ex２３３より内周または外周に配置されている内周領域ex２３２と外周領域ex２３４は、ユーザデータの記録以外の特定用途に用いられる。情報再生／記録部ex４００は、このような記録メディアex２１５のデータ記録領域ex２３３に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
【０２５７】
以上では、１層のＤＶＤ、ＢＤ等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録／再生を行う構造の光ディスクであってもよい。
【０２５８】
また、デジタル放送用システムex２００において、アンテナex２０５を有する車ex２１０で衛星ex２０２等からデータを受信し、車ex２１０が有するカーナビゲーションex２１１等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex２１１の構成は例えば図４２に示す構成のうち、ＧＰＳ受信部を加えた構成が考えられ、同様なことがコンピュータex１１１や携帯電話ex１１４等でも考えられる。
【０２５９】
図４５Ａは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex１１４を示す図である。携帯電話ex１１４は、基地局ex１１０との間で電波を送受信するためのアンテナex３５０、映像、静止画を撮ることが可能なカメラ部ex３６５、カメラ部ex３６５で撮像した映像、アンテナex３５０で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex３５８を備える。携帯電話ex１１４は、さらに、操作キー部ex３６６を有する本体部、音声を出力するためのスピーカ等である音声出力部ex３５７、音声を入力するためのマイク等である音声入力部ex３５６、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex３６７、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex３６４を備える。
【０２６０】
さらに、携帯電話ex１１４の構成例について、図４５Ｂを用いて説明する。携帯電話ex１１４は、表示部ex３５８及び操作キー部ex３６６を備えた本体部の各部を統括的に制御する主制御部ex３６０に対して、電源回路部ex３６１、操作入力制御部ex３６２、映像信号処理部ex３５５、カメラインタフェース部ex３６３、ＬＣＤ（Liquid Crystal Display）制御部ex３５９、変調／復調部ex３５２、多重／分離部ex３５３、音声信号処理部ex３５４、スロット部ex３６４、メモリ部ex３６７がバスex３７０を介して互いに接続されている。
【０２６１】
電源回路部ex３６１は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex１１４を動作可能な状態に起動する。
【０２６２】
携帯電話ex１１４は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有する主制御部ex３６０の制御に基づいて、音声通話モード時に音声入力部ex３５６で収音した音声信号を音声信号処理部ex３５４でデジタル音声信号に変換し、これを変調／復調部ex３５２でスペクトラム拡散処理し、送信／受信部ex３５１でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex３５０を介して送信する。また携帯電話ex１１４は、音声通話モード時にアンテナex３５０を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調／復調部ex３５２でスペクトラム逆拡散処理し、音声信号処理部ex３５４でアナログ音声信号に変換した後、これを音声出力部ex３５７から出力する。
【０２６３】
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex３６６等の操作によって入力された電子メールのテキストデータは操作入力制御部ex３６２を介して主制御部ex３６０に送出される。主制御部ex３６０は、テキストデータを変調／復調部ex３５２でスペクトラム拡散処理をし、送信／受信部ex３５１でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex３５０を介して基地局ex１１０へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex３５８に出力される。
【０２６４】
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex３５５は、カメラ部ex３６５から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し（即ち、本発明の一態様に係る画像符号化装置として機能する）、符号化された映像データを多重／分離部ex３５３に送出する。また、音声信号処理部ex３５４は、映像、静止画等をカメラ部ex３６５で撮像中に音声入力部ex３５６で収音した音声信号を符号化し、符号化された音声データを多重／分離部ex３５３に送出する。
【０２６５】
多重／分離部ex３５３は、映像信号処理部ex３５５から供給された符号化された映像データと音声信号処理部ex３５４から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調／復調部（変調／復調回路部）ex３５２でスペクトラム拡散処理をし、送信／受信部ex３５１でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex３５０を介して送信する。
【０２６６】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex３５０を介して受信された多重化データを復号化するために、多重／分離部ex３５３は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex３７０を介して符号化された映像データを映像信号処理部ex３５５に供給するとともに、符号化された音声データを音声信号処理部ex３５４に供給する。映像信号処理部ex３５５は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し（即ち、本発明の一態様に係る画像復号装置として機能する）、ＬＣＤ制御部ex３５９を介して表示部ex３５８から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex３５４は、音声信号を復号し、音声出力部ex３５７から音声が出力される。
【０２６７】
また、上記携帯電話ex１１４等の端末は、テレビex３００と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という３通りの実装形式が考えられる。さらに、デジタル放送用システムex２００において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
【０２６８】
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
【０２６９】
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【０２７０】
（実施の形態６）
上記各実施の形態で示した動画像符号化方法または装置と、ＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
【０２７１】
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
【０２７２】
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、ＭＰＥＧ−２トランスポートストリーム形式のデジタルストリームである。
【０２７３】
図４６は、多重化データの構成を示す図である。図４６に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム（ＰＧ）、インタラクティブグラフィックスストリームのうち、１つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム（ＩＧ）は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にＧＵＩ部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーＡＣ−３、Ｄｏｌｂｙ  Ｄｉｇｉｔａｌ  Ｐｌｕｓ、ＭＬＰ、ＤＴＳ、ＤＴＳ−ＨＤ、または、リニアＰＣＭのなどの方式で符号化されている。
【０２７４】
多重化データに含まれる各ストリームはＰＩＤによって識別される。例えば、映画の映像に利用するビデオストリームには０ｘ１０１１が、オーディオストリームには０ｘ１１００から０ｘ１１１Ｆまでが、プレゼンテーショングラフィックスには０ｘ１２００から０ｘ１２１Ｆまでが、インタラクティブグラフィックスストリームには０ｘ１４００から０ｘ１４１Ｆまでが、映画の副映像に利用するビデオストリームには０ｘ１Ｂ００から０ｘ１Ｂ１Ｆまで、主音声とミキシングする副音声に利用するオーディオストリームには０ｘ１Ａ００から０ｘ１Ａ１Ｆが、それぞれ割り当てられている。
【０２７５】
図４７は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex２３５、複数のオーディオフレームからなるオーディオストリームex２３８を、それぞれＰＥＳパケット列ex２３６およびex２３９に変換し、ＴＳパケットex２３７およびex２４０に変換する。同じくプレゼンテーショングラフィックスストリームex２４１およびインタラクティブグラフィックスex２４４のデータをそれぞれＰＥＳパケット列ex２４２およびex２４５に変換し、さらにＴＳパケットex２４３およびex２４６に変換する。多重化データex２４７はこれらのＴＳパケットを１本のストリームに多重化することで構成される。
【０２７６】
図４８は、ＰＥＳパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図４８における第１段目はビデオストリームのビデオフレーム列を示す。第２段目は、ＰＥＳパケット列を示す。図４８の矢印ｙｙ１，ｙｙ２，ｙｙ３，ｙｙ４に示すように、ビデオストリームにおける複数のＶｉｄｅｏ  Ｐｒｅｓｅｎｔａｔｉｏｎ  ＵｎｉｔであるＩピクチャ、Ｂピクチャ、Ｐピクチャは、ピクチャ毎に分割され、ＰＥＳパケットのペイロードに格納される。各ＰＥＳパケットはＰＥＳヘッダを持ち、ＰＥＳヘッダには、ピクチャの表示時刻であるＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｔｉｍｅ−Ｓｔａｍｐ）やピクチャの復号時刻であるＤＴＳ（Ｄｅｃｏｄｉｎｇ  Ｔｉｍｅ−Ｓｔａｍｐ）が格納される。
【０２７７】
図４９は、多重化データに最終的に書き込まれるＴＳパケットの形式を示している。ＴＳパケットは、ストリームを識別するＰＩＤなどの情報を持つ４ＢｙｔｅのＴＳヘッダとデータを格納する１８４ＢｙｔｅのＴＳペイロードから構成される１８８Ｂｙｔｅ固定長のパケットであり、上記ＰＥＳパケットは分割されＴＳペイロードに格納される。ＢＤ−ＲＯＭの場合、ＴＳパケットには、４ＢｙｔｅのＴＰ＿Ｅｘｔｒａ＿Ｈｅａｄｅｒが付与され、１９２Ｂｙｔｅのソースパケットを構成し、多重化データに書き込まれる。ＴＰ＿Ｅｘｔｒａ＿ＨｅａｄｅｒにはＡＴＳ（Ａｒｒｉｖａｌ＿Ｔｉｍｅ＿Ｓｔａｍｐ）などの情報が記載される。ＡＴＳは当該ＴＳパケットのデコーダのＰＩＤフィルタへの転送開始時刻を示す。多重化データには図４９下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はＳＰＮ（ソースパケットナンバー）と呼ばれる。
【０２７８】
また、多重化データに含まれるＴＳパケットには、映像・音声・字幕などの各ストリーム以外にもＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）、ＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）、ＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）などがある。ＰＡＴは多重化データ中に利用されるＰＭＴのＰＩＤが何であるかを示し、ＰＡＴ自身のＰＩＤは０で登録される。ＰＭＴは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのＰＩＤと各ＰＩＤに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。ＰＣＲは、ＡＴＳの時間軸であるＡＴＣ（Ａｒｒｉｖａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とＰＴＳ・ＤＴＳの時間軸であるＳＴＣ（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）の同期を取るために、そのＰＣＲパケットがデコーダに転送されるＡＴＳに対応するＳＴＣ時間の情報を持つ。
【０２７９】
図５０はＰＭＴのデータ構造を詳しく説明する図である。ＰＭＴの先頭には、そのＰＭＴに含まれるデータの長さなどを記したＰＭＴヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのＰＩＤ、ストリームの属性情報（フレームレート、アスペクト比など）が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
【０２８０】
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
【０２８１】
多重化データ情報ファイルは、図５１に示すように多重化データの管理情報であり、多重化データと１対１に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
【０２８２】
多重化データ情報は図５１に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのＰＩＤフィルタへの最大転送レートを示す。多重化データ中に含まれるＡＴＳの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのＰＴＳであり、再生終了時刻は多重化データの終端のビデオフレームのＰＴＳに１フレーム分の再生間隔を足したものが設定される。
【０２８３】
ストリーム属性情報は図５２に示すように、多重化データに含まれる各ストリームについての属性情報が、ＰＩＤ毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
【０２８４】
本実施の形態においては、上記多重化データのうち、ＰＭＴに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、ＰＭＴに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
【０２８５】
また、本実施の形態における動画像復号化方法のステップを図５３に示す。ステップexＳ１００において、多重化データからＰＭＴに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexＳ１０１において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexＳ１０２において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠するものであることを示している場合には、ステップexＳ１０３において、従来の規格に準拠した動画像復号方法により復号を行う。
【０２８６】
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
【０２８７】
（実施の形態７）
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるＬＳＩで実現される。一例として、図５４に１チップ化されたＬＳＩex５００の構成を示す。ＬＳＩex５００は、以下に説明する要素ex５０１、ex５０２、ex５０３、ex５０４、ex５０５、ex５０６、ex５０７、ex５０８、ex５０９を備え、各要素はバスex５１０を介して接続している。電源回路部ex５０５は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
【０２８８】
例えば符号化処理を行う場合には、ＬＳＩex５００は、ＣＰＵex５０２、メモリコントローラex５０３、ストリームコントローラex５０４、駆動周波数制御部ex５１２等を有する制御部ex５０１の制御に基づいて、ＡＶ  Ｉ／Ｏex５０９によりマイクex１１７やカメラex１１３等からＡＶ信号を入力する。入力されたＡＶ信号は、一旦ＳＤＲＡＭ等の外部のメモリex５１１に蓄積される。制御部ex５０１の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex５０７に送られ、信号処理部ex５０７において音声信号の符号化および／または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex５０７ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームＩ／Ｏex５０６から外部に出力する。この出力された多重化データは、基地局ex１０７に向けて送信されたり、または記録メディアex２１５に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex５０８にデータを蓄積するとよい。
【０２８９】
なお、上記では、メモリex５１１がＬＳＩex５００の外部の構成として説明したが、ＬＳＩex５００の内部に含まれる構成であってもよい。バッファex５０８も１つに限ったものではなく、複数のバッファを備えていてもよい。また、ＬＳＩex５００は１チップ化されてもよいし、複数チップ化されてもよい。
【０２９０】
また、上記では、制御部ex５０１が、ＣＰＵex５０２、メモリコントローラex５０３、ストリームコントローラex５０４、駆動周波数制御部ex５１２等を有するとしているが、制御部ex５０１の構成は、この構成に限らない。例えば、信号処理部ex５０７がさらにＣＰＵを備える構成であってもよい。信号処理部ex５０７の内部にもＣＰＵを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、ＣＰＵex５０２が信号処理部ex５０７、または信号処理部ex５０７の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex５０１は、信号処理部ex５０７、またはその一部を有するＣＰＵex５０２を備える構成となる。
【０２９１】
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２９２】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。このようなプログラマブル・ロジック・デバイスは、典型的には、ソフトウェア又はファームウェアを構成するプログラムを、ロードする又はメモリ等から読み込むことで、上記各実施の形態で示した動画像符号化方法、又は動画像復号化方法を実行することができる。
【０２９３】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０２９４】
（実施の形態８）
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、ＬＳＩex５００において、従来の規格に準拠する映像データを復号する際のＣＰＵex５０２の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
【０２９５】
この課題を解決するために、テレビex３００、ＬＳＩex５００などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図５５は、本実施の形態における構成ex８００を示している。駆動周波数切替え部ex８０３は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex８０１に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex８０２に対し、映像データを復号するよう指示する。
【０２９６】
より具体的には、駆動周波数切替え部ex８０３は、図５４のＣＰＵex５０２と駆動周波数制御部ex５１２から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex８０１、および、従来の規格に準拠する復号処理部ex８０２は、図５４の信号処理部ex５０７に該当する。ＣＰＵex５０２は、映像データがどの規格に準拠するものであるかを識別する。そして、ＣＰＵex５０２からの信号に基づいて、駆動周波数制御部ex５１２は、駆動周波数を設定する。また、ＣＰＵex５０２からの信号に基づいて、信号処理部ex５０７は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態６で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態６で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、ＣＰＵex５０２における駆動周波数の選択は、例えば、図５７のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex５０８や、ＬＳＩの内部メモリに格納しておき、ＣＰＵex５０２がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
【０２９７】
図５６は、本実施の形態の方法を実施するステップを示している。まず、ステップexＳ２００では、信号処理部ex５０７において、多重化データから識別情報を取得する。次に、ステップexＳ２０１では、ＣＰＵex５０２において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexＳ２０２において、駆動周波数を高く設定する信号を、ＣＰＵex５０２が駆動周波数制御部ex５１２に送る。そして、駆動周波数制御部ex５１２において、高い駆動周波数に設定される。一方、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合には、ステップexＳ２０３において、駆動周波数を低く設定する信号を、ＣＰＵex５０２が駆動周波数制御部ex５１２に送る。そして、駆動周波数制御部ex５１２において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
【０２９８】
さらに、駆動周波数の切替えに連動して、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を低く設定することが考えられる。
【０２９９】
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、ＭＰＥＧ４−ＡＶＣ規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
【０３００】
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を高く設定し、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合には、ＬＳＩex５００またはＬＳＩex５００を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、ＣＰＵex５０２の駆動を停止させることなく、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、ＣＰＵex５０２の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、ＣＰＵex５０２の駆動を一時停止させることも考えられる。この場合は、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
【０３０１】
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてＬＳＩex５００またはＬＳＩex５００を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
【０３０２】
（実施の形態９）
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、ＬＳＩex５００の信号処理部ex５０７が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex５０７を個別に用いると、ＬＳＩex５００の回路規模が大きくなり、また、コストが増加するという課題が生じる。
【０３０３】
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のＭＰＥＧ−２、ＭＰＥＧ４−ＡＶＣ、ＶＣ−１などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図５８Ａのex９００に示す。例えば、上記各実施の形態で示した動画像復号方法と、ＭＰＥＧ４−ＡＶＣ規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、ＭＰＥＧ４−ＡＶＣ規格に対応する復号処理部ex９０２を共有し、ＭＰＥＧ４−ＡＶＣ規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex９０１を用いるという構成が考えられる。特に、本発明の一態様は、エントロピー復号に特徴を有していることから、例えば、エントロピー復号については専用の復号処理部ex９０１を用い、それ以外の逆量子化、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、ＭＰＥＧ４−ＡＶＣ規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
【０３０４】
また、処理を一部共有化する他の例を図５８Ｂのex１０００に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex１００１と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex１００２と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex１００３とを用いる構成としている。ここで、専用の復号処理部ex１００１、ex１００２は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、ＬＳＩex５００で実装することも可能である。
【０３０５】
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、ＬＳＩの回路規模を小さくし、かつ、コストを低減することが可能である。
【産業上の利用可能性】
【０３０６】
本発明は、画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置に適用できる。また、本発明は、画像符号化装置を備える、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、及びデジタルビデオカメラ等の高解像度の情報表示機器又は撮像機器に利用可能である。
【符号の説明】
【０３０７】
１００  画像符号化装置
１０１  符号ブロック分割部
１０２  減算部
１０３  変換部
１０４  可変長符号化部
１０５、２０２  逆変換部
１０６、２０３  加算部
１０７、２０５  フレームメモリ
１０８  予測部
１２１  入力画像
１２２  符号ブロック
１２３、１２６、２２３  差分ブロック
１２４、２２２  周波数係数（係数）
１２５、２２１  符号列
１２７、２２４  復号ブロック
１２８、２２５、２２６  復号画像
１２９  予測ブロック
１３１  係数ブロック分割部
１３２  ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部
１３３、１３３Ａ  ｌｅｖｅｌ符号化部
１３４  ｓｉｇｎ＿ｆｌａｇ符号化部
１４１  ｇｒｅａｔｅｒ１＿ｆｌａｇ設定部
１４２  ｇｒｅａｔｅｒ２＿ｆｌａｇ設定部
１４３、１４３Ａ  ｒｅｍａｉｎｉｎｇ設定部
１４４、２４８  二値化パラメータ更新部
１４５、１４５Ａ、２４１、２４１Ａ  コンテキストセット選択部
１４６、２４３  ｇｒｅａｔｅｒ１＿ｆｌａｇメモリ
１４７、２４２  ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキスト選択部
１４８、２４４  ｇｒｅａｔｅｒ１＿ｆｌａｇコンテキストメモリ
１４９、２４５  ｇｒｅａｔｅｒ２＿ｆｌａｇコンテキスト選択部
１５０、２４６  ｇｒｅａｔｅｒ２＿ｆｌａｇコンテキストメモリ
１５１  算術符号化部
１５２  ｒｅｍａｉｎｉｎｇ二値化部
１５３  Ｐｒｅｆｉｘ  Ｓｕｆｆｉｘ決定部
１５４  Ｓｕｆｆｉｘ  ｂｉｎ出力部
１５５  Ｐｒｅｆｉｘ  ｂｉｎ出力部
１６０、２６０  ｇｒｅａｔｅｒ＿ｆｌａｇ切替部
２００  画像復号装置
２０１  可変長復号部
２０４  復号ブロック結合部
２３１  ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号部
２３２、２３２Ａ  ｌｅｖｅｌ復号部
２３３  ｓｉｇｎ＿ｆｌａｇ復号部
２３４  係数復号部
２４７、２４７Ａ  算術復号部
２４９  ｒｅｍａｉｎｉｎｇ多値化部
２５０  Ｐｒｅｆｉｘ復号部
２５１  Ｓｕｆｆｉｘ復号部
２５２  Ｐｒｅｆｉｘ  Ｓｕｆｆｉｘ結合部
【図１】
0005603525.tif 000002
【図２】
0005603525.tif 000003
【図３】
0005603525.tif 000004
【図４】
0005603525.tif 000005
【図５】
0005603525.tif 000006
【図６】
0005603525.tif 000007
【図７】
0005603525.tif 000008
【図８】
0005603525.tif 000009
【図９】
0005603525.tif 000010
【図１０】
0005603525.tif 000011
【図１１】
0005603525.tif 000012
【図１２】
0005603525.tif 000013
【図１３】
0005603525.tif 000014
【図１４】
0005603525.tif 000015
【図１５Ａ】
0005603525.tif 000016
【図１５Ｂ】
0005603525.tif 000017
【図１５Ｃ】
0005603525.tif 000018
【図１６】
0005603525.tif 000019
【図１７】
0005603525.tif 000020
【図１８】
0005603525.tif 000021
【図１９】
0005603525.tif 000022
【図２０】
0005603525.tif 000023
【図２１】
0005603525.tif 000024
【図２２】
0005603525.tif 000025
【図２３】
0005603525.tif 000026
【図２４】
0005603525.tif 000027
【図２５】
0005603525.tif 000028
【図２６】
0005603525.tif 000029
【図２７】
0005603525.tif 000030
【図２８】
0005603525.tif 000031
【図２９】
0005603525.tif 000032
【図３０】
0005603525.tif 000033
【図３１】
0005603525.tif 000034
【図３２Ａ】
0005603525.tif 000035
【図３２Ｂ】
0005603525.tif 000036
【図３３Ａ】
0005603525.tif 000037
【図３３Ｂ】
0005603525.tif 000038
【図３４】
0005603525.tif 000039
【図３５】
0005603525.tif 000040
【図３６】
0005603525.tif 000041
【図３７】
0005603525.tif 000042
【図３８】
0005603525.tif 000043
【図３９】
0005603525.tif 000044
【図４０】
0005603525.tif 000045
【図４１】
0005603525.tif 000046
【図４２】
0005603525.tif 000047
【図４３】
0005603525.tif 000048
【図４４】
0005603525.tif 000049
【図４５Ａ】
0005603525.tif 000050
【図４５Ｂ】
0005603525.tif 000051
【図４６】
0005603525.tif 000052
【図４７】
0005603525.tif 000053
【図４８】
0005603525.tif 000054
【図４９】
0005603525.tif 000055
【図５０】
0005603525.tif 000056
【図５１】
0005603525.tif 000057
【図５２】
0005603525.tif 000058
【図５３】
0005603525.tif 000059
【図５４】
0005603525.tif 000060
【図５５】
0005603525.tif 000061
【図５６】
0005603525.tif 000062
【図５７】
0005603525.tif 000063
【図５８Ａ】
0005603525.tif 000064
【図５８Ｂ】
0005603525.tif 000065