(57)【要約】  画像をブロック毎に符号化する画像符号化方法は、変換単位である符号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを、符号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択するコンテキスト選択ステップ（Ｓ３０１）と、選択されたコンテキストの確率情報を用いて符号化対象係数を表すパラメータを算術符号化する算術符号化ステップ（Ｓ３０２）とを含み、コンテキスト選択ステップでは、符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択する。
2013094199.tif 000002
【特許請求の範囲】
【請求項１】
画像をブロック毎に符号化する画像符号化方法であって、
変換単位である符号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを、前記符号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択するコンテキスト選択ステップと、
選択された前記コンテキストの確率情報を用いて前記符号化対象係数を表すパラメータを算術符号化する算術符号化ステップとを含み、
前記コンテキスト選択ステップでは、前記符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する
画像符号化方法。
【請求項２】
前記コンテキスト選択ステップでは、前記符号化対象ブロック内の左上の係数の位置から前記符号化対象係数の位置までの水平方向距離および垂直方向距離をそれぞれＨおよびＶと表し、かつ前記複数のサブブロックの垂直方向および水平方向のサイズをαと表した場合に、“（Ｈ／α）の整数部＋（Ｖ／α）の整数部”を前記和として算出する
請求項１に記載の画像符号化方法。
【請求項３】
前記コンテキスト選択ステップでは、
前記和が閾値以下である場合に、第１コンテキストセットから前記コンテキストを選択し、
前記和が前記閾値より大きい場合に、前記第１コンテキストセットとは異なる第２コンテキストセットから前記コンテキストを選択する
請求項１または２に記載の画像符号化方法。
【請求項４】
前記コンテキスト選択ステップでは、前記符号化対象ブロックのサイズが大きいほど大きい前記閾値を算出する
請求項３に記載の画像符号化方法。
【請求項５】
前記少なくとも１つの参照係数は、前記符号化対象係数よりも高周波数成分の係数である
請求項１〜４のいずれか１項に記載の画像符号化方法。
【請求項６】
前記符号化対象係数を表すパラメータは、前記符号化対象係数が０か否かを示すフラグである
請求項１〜５のいずれか１項に記載の画像符号化方法。
【請求項７】
前記少なくとも１つの参照係数は、複数の参照係数であり、
前記コンテキスト選択ステップでは、前記複数の参照係数の中で値が０でない参照係数の数に対応する前記コンテキストを選択する
請求項１〜６のいずれか１項に記載の画像符号化方法。
【請求項８】
前記画像符号化方法は、さらに、
第１規格に準拠する第１符号化処理、または第２規格に準拠する第２符号化処理に、符号化処理を切り替える切り替えステップと、
切り替えられた前記符号化処理が準拠する前記第１規格または前記第２規格を示す識別情報をビットストリームに付加する付加ステップとを含み、
前記符号化処理が前記第１符号化処理に切り替えられた場合に、前記第１符号化処理として、前記コンテキスト選択ステップと、前記算術符号化ステップとが行われる
請求項１に記載の画像符号化方法。
【請求項９】
画像をブロック毎に符号化する画像符号化装置であって、
変換単位である符号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを、前記符号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択するコンテキスト選択部と、
選択された前記コンテキストの確率情報を用いて前記符号化対象係数を表すパラメータを算術符号化する算術符号化部とを備え、
前記コンテキスト選択部は、前記符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する
画像符号化装置。
【請求項１０】
ブロック毎に符号化された画像を復号化する画像復号化方法であって、
変換単位である復号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる復号化対象係数を表すパラメータを算術復号化するためのコンテキストを、前記復号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択するコンテキスト選択ステップと、
選択された前記コンテキストの確率情報を用いて前記復号化対象係数を表すパラメータを算術復号化する算術復号化ステップとを含み、
前記コンテキスト選択ステップでは、前記復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する
画像復号化方法。
【請求項１１】
前記コンテキスト選択ステップでは、前記復号化対象ブロック内の左上の係数の位置から前記復号化対象係数の位置までの水平方向距離および垂直方向距離をそれぞれＨおよびＶと表し、かつ前記複数のサブブロックの垂直方向および水平方向のサイズをαと表した場合に、“（Ｈ／α）の整数部＋（Ｖ／α）の整数部”を前記和として算出する
請求項１０に記載の画像復号化方法。
【請求項１２】
前記コンテキスト選択ステップでは、
前記和が閾値以下である場合に、第１コンテキストセットから前記コンテキストを選択し、
前記和が前記閾値より大きい場合に、前記第１コンテキストセットとは異なる第２コンテキストセットから前記コンテキストを選択する
請求項１０または１１に記載の画像復号化方法。
【請求項１３】
前記コンテキスト選択ステップでは、前記復号化対象ブロックのサイズが大きいほど大きい前記閾値を算出する
請求項１２に記載の画像復号化方法。
【請求項１４】
前記少なくとも１つの参照係数は、前記復号化対象係数よりも高周波数成分の係数である
請求項１０〜１３のいずれか１項に記載の画像復号化方法。
【請求項１５】
前記復号化対象係数を表すパラメータは、前記復号化対象係数が０か否かを示すフラグである
請求項１０〜１４のいずれか１項に記載の画像復号化方法。
【請求項１６】
前記少なくとも１つの参照係数は、複数の参照係数であり、
前記コンテキスト選択ステップでは、前記複数の参照係数の中で値が０でない参照係数の数に対応する前記コンテキストを選択する
請求項１０〜１５のいずれか１項に記載の画像復号化方法。
【請求項１７】
前記画像復号化方法は、さらに、
ビットストリームに付加された第１規格または第２規格を示す識別情報に応じて、前記第１規格に準拠する第１復号化処理、または前記第２規格に準拠する第２復号化処理に、復号化処理を切り替える切り替えステップを含み、
前記復号化処理が第１復号化処理に切り替えられた場合に、前記第１復号化処理として、前記コンテキスト選択ステップと、前記算術復号化ステップとが行われる
請求項１０に記載の画像復号化方法。
【請求項１８】
ブロック毎に符号化された画像を復号化する画像復号化装置であって、
変換単位である復号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる復号化対象係数を表すパラメータを算術復号化するためのコンテキストを、前記復号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択するコンテキスト選択部と、
選択された前記コンテキストの確率情報を用いて前記復号化対象係数を表すパラメータを算術復号化する算術復号化部とを備え、
前記コンテキスト選択部は、前記復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する
画像復号化装置。
【請求項１９】
請求項９に記載の画像符号化装置と、
請求項１８に記載の画像復号化装置とを備える
画像符号化復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、算術符号化または算術復号を行う画像符号化技術および画像復号化技術に関する。
【背景技術】
【０００２】
近年、デジタル映像機器の技術進歩が著しく、映像信号（時系列順に並んだ複数のピクチャ）を圧縮符号化することが求められている。圧縮符号化された映像信号は、例えば、ＤＶＤやハードディスク等の記録メディアに記録されたり、ネットワーク上に配信されたりする。画像符号化規格としては、Ｈ．２６４／ＡＶＣ（ＭＰＥＧ−４  ＡＶＣ）があるが、次世代の標準規格としてＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）規格が検討されている（非特許文献１）。【０００３】
現在のＨＥＶＣ規格は、符号化画像を予測するステップ、予測画像と符号化対象画像の差分を求めるステップ、差分画像を周波数係数に変換するステップ、および周波数係数を算術符号化するステップで構成される。算術符号化するステップでは、符号化対象ブロックに含まれる成分（係数）は、例えば、高周波数成分から低周波数成分の順にコンテキスト適応算術符号化される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT, 14-22 July, 2011 JCTVC-F803_d0, Title: WD4: Working Draft 4 of High-Efficiency Video Coding http://phenix.it-sudparis.eu/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F803-v2.zip
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のコンテキスト適応算術符号化では、符号化対象係数を符号化するためのコンテキストの選択処理の負荷が高くなる場合があった。【０００６】
そこで、本発明は、コンテキスト適応算術符号化において、符号化対象係数を符号化するためのコンテキストの選択処理の負荷を低減することができる画像符号化方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る画像符号化方法は、画像をブロック毎に符号化する画像符号化方法であって、変換単位である符号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを、前記符号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択するコンテキスト選択ステップと、選択された前記コンテキストの確率情報を用いて前記符号化対象係数を表すパラメータを算術符号化する算術符号化ステップとを含み、前記コンテキスト選択ステップでは、前記符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する。【０００８】
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００９】
本発明の一態様に係る画像符号化方法によれば、コンテキスト適応算術符号化において、符号化対象係数を符号化するためのコンテキストの選択処理の負荷を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、基礎となった知見における、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを算術符号化するためのコンテキストの選択方法を説明するための図である。
【図２】図２は、基礎となった知見における、符号化対象ブロックに含まれる係数の符号化順を示す図である。
【図３Ａ】図３Ａは、基礎となった知見における、サブブロックに含まれる１つの係数のためのコンテキストセットを説明するための図である。
【図３Ｂ】図３Ｂは、基礎となった知見における、サブブロックに含まれる他の１つの係数のためのコンテキストセットを説明するための図である。
【図４】図４は、実施の形態１における画像符号化装置の構成を示すブロック図である。
【図５】図５は、実施の形態１における画像符号化装置の処理動作を示すフローチャートである。
【図６】図６は、実施の形態１における可変長符号化部の内部構成を示すブロック図である。
【図７】図７は、実施の形態１における可変長符号化部の処理動作を示すフローチャートである。
【図８】図８は、実施の形態１におけるｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部の内部構成を示すブロック図である。
【図９】図９は、実施の形態１におけるｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部の処理動作を示すフローチャートである。
【図１０Ａ】図１０Ａは、実施の形態１における、１６×１６画素の符号ブロックの場合におけるグループ分け結果の一例を示す図である。
【図１０Ｂ】図１０Ｂは、実施の形態１における、３２×３２画素の符号ブロックの場合におけるグループ分け結果の一例を示す図である。
【図１１Ａ】図１１Ａは、実施の形態１における、係数ブロックに含まれる１つの係数のためのコンテキストセットを説明するための図である。
【図１１Ｂ】図１１Ｂは、実施の形態１における、係数ブロックに含まれる他の１つの係数のためのコンテキストセットを説明するための図である。
【図１２】図１２は、実施の形態２における画像復号化装置の構成を示すブロック図である。
【図１３】図１３は、実施の形態２における画像復号化装置の処理動作を示すフローチャートである。
【図１４】図１４は、実施の形態２における可変長復号化部の内部構成を示すブロック図である。
【図１５】図１５は、実施の形態２における可変長復号化部の処理動作を示すフローチャートである。
【図１６】図１６は、実施の形態２におけるｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部の内部構成を示すブロック図である。
【図１７】図１７は、実施の形態２におけるｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部の処理動作を示すフローチャートである。
【図１８】図１８は、実施の形態１の変形例における画像符号化装置の構成を示すブロック図である。
【図１９】図１９は、実施の形態１の変形例における画像符号化装置の処理動作を示すフローチャートである。
【図２０】図２０は、実施の形態２の変形例における画像復号化装置の構成を示すブロック図である。
【図２１】図２１は、実施の形態２の変形例における画像復号化装置の処理動作を示すフローチャートである。
【図２２】図２２は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。
【図２３】図２３は、デジタル放送用システムの全体構成図である。
【図２４】図２４は、テレビの構成例を示すブロック図である。
【図２５】図２５は、光ディスクである記録メディアに情報の読み書きを行う情報再生／記録部の構成例を示すブロック図である。
【図２６】図２６は、光ディスクである記録メディアの構造例を示す図である。
【図２７Ａ】図２７Ａは、携帯電話の一例を示す図である。
【図２７Ｂ】図２７Ｂは、携帯電話の構成例を示すブロック図である。
【図２８】図２８は、多重化データの構成を示す図である。
【図２９】図２９は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。
【図３０】図３０は、ＰＥＳパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。
【図３１】図３１は、多重化データにおけるＴＳパケットとソースパケットの構造を示す図である。
【図３２】図３２は、ＰＭＴのデータ構成を示す図である。
【図３３】図３３は、多重化データ情報の内部構成を示す図である。
【図３４】図３４は、ストリーム属性情報の内部構成を示す図である。
【図３５】図３５は、映像データを識別するステップを示す図である。
【図３６】図３６は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。
【図３７】図３７は、駆動周波数を切り替える構成を示す図である。
【図３８】図３８は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。
【図３９】図３９は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。
【図４０Ａ】図４０Ａは、信号処理部のモジュールを共有化する構成の一例を示す図である。
【図４０Ｂ】図４０Ｂは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
【発明を実施するための形態】
【００１１】
（本発明の基礎となった知見）
符号化対象係数を算術符号化するためのコンテキストは、符号化対象係数の周辺の符号化済係数に応じて選択される。そして、符号化対象係数は、選択されたコンテキストに対応するシンボル発生確率を用いて算術符号化される。
【００１２】
一般的な画像では、低周波数成分に近い係数ほど大きい値になる。そのため、符号化済みの周辺係数（符号化対象係数より高周波数成分の係数）を参照してコンテキストを選択することによって、シンボル発生確率に偏りを持たせることができる。例えば、符号化済みの周辺係数の値が大きければ、符号化対象係数の値も大きくなる確率が大きい。そこで、符号化済みの周辺係数の値が大きい場合に、符号化対象係数の算術符号化のために大きい値用のコンテキストを使用することによって、発生符号量を減少させることができる。
【００１３】
また、符号化対象ブロック内の複数の係数は、周波数成分に基づいてグループ分けされる。そして、グループごとに異なるコンテキストセットが用いられる。つまり、各係数は、当該係数が属するグループに対応するコンテキストセットから選択されたコンテキストを用いて算術符号化される。一般的な画像では、低周波領域には大きい係数が多く、高周波領域には小さい係数が多い。そのため、低周波領域の係数と高周波領域と係数とで異なるコンテキストセットを使うことにより、発生符号量を減少させることができる。
【００１４】
ＨＥＶＣ規格では、係数を複数のパラメータ（例えば、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇやｇｒｅａｔｅｒ１＿ｆｌａｇ等）で表現する。図１は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを算術符号化するためのコンテキストの選択方法を説明するための図である。
【００１５】
図１では、符号化対象ブロックは、１６×１６画素を含む。そして、各画素は係数を有する。左上に位置する画素ほど低周波数成分の係数を有し、右下に位置する画素ほど高周波数成分の係数を有する。
【００１６】
また、各画素は、グループＡおよびグループＢのいずれかに属する。図１において、グループＡは、ハッチングされていない画素が属するグループである。グループＢは、ハッチングされた画素が属するグループである。
【００１７】
各画素が有する係数を表すｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを算術符号化するためのコンテキストは、当該画素が属するグループに対応するコンテキストセットから選択される。例えば、左上隅に位置する画素のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇは、グループＡに対応するコンテキストセットＡからコンテキストが選択される。一方、例えば右下隅に位置する画素のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇは、グループＢに対応するコンテキストセットＢからコンテキストが選択される。
【００１８】
このとき、コンテキストセットからのコンテキストの選択は、符号化対象画素（符号化対象係数）の近傍に位置する参照画素が有する係数（参照係数）に基づいて行われる。図１において、符号化対象係数の右側に位置する２つの係数、下側に位置する２つの係数、および右下に位置する係数の合計５つの参照係数を用いて、コンテキストセットから選択するコンテキストが決定される。
【００１９】
以上のように、図１に示すように複数の画素がグループ分けされ、かつ符号化対象係数の近傍の参照係数を用いることにより、周波数成分によって係数に偏りが生じる特徴を利用してコンテキストを選択することができ、符号化効率を向上させることができる。
【００２０】
図２は、符号化対象ブロックに含まれる係数の符号化順を示す。図２では、１６×１６画素の符号化対象ブロックは、太線で囲まれた複数の４×４画素のサブブロックに分割されている。サブロック内に記載された番号は、符号化順を示す。つまり、符号化対象ブロックに含まれる複数の係数は、破線矢印で示される順に、サブブロック単位で符号化される。また、サブブロックに含まれる複数の係数は、１３番目のサブロックに記載された矢印が示す順番で符号化される。
【００２１】
図３Ａおよび図３Ｂは、左上隅に位置するサブブロックに含まれる異なる係数のためのコンテキストセットを説明するための図である。図３Ａの符号化対象係数と図３Ｂの符号化対象係数とは、同じサブブロックに含まれが、異なるグループに含まれる。つまり、図３Ａの符号化対象係数を算術符号化するためのコンテキストと、図３Ｂの符号化対象係数を算術符号化するためのコンテキストとは、異なるコンテキストセットから選択される。
【００２２】
すなわち、図１に示すように複数の画素（複数の係数）がグループ分けされた場合、サブブロック内でコンテキストセットの切り替えが発生する。この場合、例えばサブブロック内の係数毎に、当該係数がどのグループに属するかを判定する必要があり、コンテキストの選択処理の負荷が増大する。
【００２３】
そこで、本発明の一態様に係る画像符号化方法は、画像をブロック毎に符号化する画像符号化方法であって、変換単位である符号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを、前記符号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択するコンテキスト選択ステップと、選択された前記コンテキストの確率情報を用いて前記符号化対象係数を表すパラメータを算術符号化する算術符号化ステップとを含み、前記コンテキスト選択ステップでは、前記符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する。
【００２４】
この方法によれば、サブブロックに対応するコンテキストセットからコンテキストを選択することができる。したがって、サブブロック内でコンテキストセットの切り替えが発生することを防ぐことができ、コンテキストの選択処理の負荷を低減することが可能となる。
【００２５】
さらに、この方法によれば、符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択することができる。したがって、周波数成分による係数の偏りに適したコンテキストセットを利用することができ、サブブロックに対応するコンテキストセットを用いることによる符号化効率の低下を抑制することができる。
【００２６】
例えば、前記コンテキスト選択ステップでは、前記符号化対象ブロック内の左上の係数の位置から前記符号化対象係数の位置までの水平方向距離および垂直方向距離をそれぞれＨおよびＶと表し、かつ前記複数のサブブロックの垂直方向および水平方向のサイズをαと表した場合に、“（Ｈ／α）の整数部＋（Ｖ／α）の整数部”を前記和として算出してもよい。
【００２７】
この方法によれば、符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和を簡易に算出することができる。
【００２８】
例えば、前記コンテキスト選択ステップでは、前記和が閾値以下である場合に、第１コンテキストセットから前記コンテキストを選択し、前記和が前記閾値より大きい場合に、前記第１コンテキストセットとは異なる第２コンテキストセットから前記コンテキストを選択してもよい。
【００２９】
この方法によれば、和が閾値以下である場合に、第１コンテキストセットからコンテキストを選択し、和が閾値より大きい場合に第２コンテキストセットからコンテキストを選択することができる。したがって、和と閾値との比較結果に基づいて、コンテキストセットをサブブロック間で容易に切り替えることができる。
【００３０】
例えば、前記コンテキスト選択ステップでは、前記符号化対象ブロックのサイズが大きいほど大きい前記閾値を算出してもよい。
【００３１】
この方法によれば、符号化対象ブロックのサイズが大きいほど大きい閾値を算出することができる。したがって、符号化対象ブロックのサイズによって係数の偏り方が異なる場合に、適切なコンテキストセットからコンテキストを選択することができる。
【００３２】
例えば、前記少なくとも１つの参照係数は、前記符号化対象係数よりも高周波数成分の係数であってもよい。
【００３３】
この方法によれば、符号化対象係数よりも高周波数成分の係数を参照係数として用いることができる。一般的な画像では、低周波数成分の係数の方が高周波数成分の係数よりも値が大きいことが多い。したがって、符号化対象係数よりも高周波数成分の係数を参照係数として用いることにより、一般的な画像の特性を利用して適切なコンテキストを選択することが可能となる。
【００３４】
例えば、前記符号化対象係数を表すパラメータは、前記符号化対象係数が０か否かを示すフラグであってもよい。
【００３５】
この方法によれば、符号化対象係数を表すパラメータとして、符号化対象係数が０か否かを示すフラグを符号化することができる。このフラグは、発生頻度が高いパラメータであり、符号化効率に及ぼす影響が大きい。さらに、このフラグは、サブブロック内で発生数が制限されるパラメータとは異なり、サブブロックによる値の偏りも存在しない。しかし、このようなフラグを符号化する際に、サブブロックに対応するコンテキストセットからコンテキストを選択しても、符号化効率の低下を抑制することができる。
【００３６】
例えば、前記少なくとも１つの参照係数は、複数の参照係数であり、前記コンテキスト選択ステップでは、前記複数の参照係数の中で値が０でない参照係数の数に対応する前記コンテキストを選択してもよい。
【００３７】
この方法によれば、複数の参照係数の中で値が０でない参照係数の数を用いてコンテキストを選択することができる。したがって、参照係数に基づいて適切なコンテキストを選択することが可能となる。
【００３８】
例えば、前記画像符号化方法は、さらに、第１規格に準拠する第１符号化処理、または第２規格に準拠する第２符号化処理に、符号化処理を切り替える切り替えステップと、切り替えられた前記符号化処理が準拠する前記第１規格または前記第２規格を示す識別情報をビットストリームに付加する付加ステップとを含み、前記符号化処理が前記第１符号化処理に切り替えられた場合に、前記第１符号化処理として、前記コンテキスト選択ステップと、前記算術符号化ステップとが行われてもよい。
【００３９】
この方法によれば、第１規格に準拠する第１符号化処理と第２規格に準拠する第２符号化処理とを切り替えることが可能となる。
【００４０】
また、本発明の一態様に係る画像復号化方法は、ブロック毎に符号化された画像を復号化する画像復号化方法であって、変換単位である復号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる復号化対象係数を表すパラメータを算術復号化するためのコンテキストを、前記復号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択するコンテキスト選択ステップと、選択された前記コンテキストの確率情報を用いて前記復号化対象係数を表すパラメータを算術復号化する算術復号化ステップとを含み、前記コンテキスト選択ステップでは、前記復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する。
【００４１】
この方法によれば、サブブロックに対応するコンテキストセットからコンテキストを選択することができる。したがって、サブブロック内でコンテキストセットの切り替えが発生することを防ぐことができ、コンテキストの選択処理の負荷を低減することが可能となる。
【００４２】
さらに、この方法によれば、復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択することができる。したがって、周波数成分による係数の偏りに適したコンテキストセットを利用することができ、サブブロックに対応するコンテキストセットを用いることによる符号化効率の低下が抑制された符号列を適切に復号化することができる。
【００４３】
例えば、前記コンテキスト選択ステップでは、前記復号化対象ブロック内の左上の係数の位置から前記復号化対象係数の位置までの水平方向距離および垂直方向距離をそれぞれＨおよびＶと表し、かつ前記複数のサブブロックの垂直方向および水平方向のサイズをαと表した場合に、“（Ｈ／α）の整数部＋（Ｖ／α）の整数部”を前記和として算出してもよい。
【００４４】
この方法によれば、復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和を簡易に算出することができる。
【００４５】
例えば、前記コンテキスト選択ステップでは、前記和が閾値以下である場合に、第１コンテキストセットから前記コンテキストを選択し、前記和が前記閾値より大きい場合に、前記第１コンテキストセットとは異なる第２コンテキストセットから前記コンテキストを選択してもよい。
【００４６】
この方法によれば、和が閾値以下である場合に、第１コンテキストセットからコンテキストを選択し、和が閾値より大きい場合に第２コンテキストセットからコンテキストを選択することができる。したがって、和と閾値との比較結果に基づいて、コンテキストセットをサブブロック間で容易に切り替えることができる。
【００４７】
例えば、前記コンテキスト選択ステップでは、前記復号化対象ブロックのサイズが大きいほど大きい前記閾値を算出してもよい。
【００４８】
この方法によれば、復号化対象ブロックのサイズが大きいほど大きい閾値を算出することができる。したがって、復号化対象ブロックのサイズによって係数の偏り方が異なる場合に、適切なコンテキストセットからコンテキストを選択することができる。
【００４９】
例えば、前記少なくとも１つの参照係数は、前記復号化対象係数よりも高周波数成分の係数であってもよい。
【００５０】
この方法によれば、復号化対象係数よりも高周波数成分の係数を参照係数として用いることができる。一般的な画像では、低周波数成分の係数の方が高周波数成分の係数よりも値が大きいことが多い。したがって、復号化対象係数よりも高周波数成分の係数を参照係数として用いることにより、一般的な画像の特性を利用して適切なコンテキストを選択することが可能となる。
【００５１】
例えば、前記復号化対象係数を表すパラメータは、前記復号化対象係数が０か否かを示すフラグであってもよい。
【００５２】
この方法によれば、復号化対象係数を表すパラメータとして、復号化対象係数が０か否かを示すフラグを復号化することができる。このフラグは、発生頻度が高いパラメータであり、符号化効率に及ぼす影響が大きい。さらに、このフラグは、サブブロック内で発生数が制限されるパラメータとは異なり、サブブロックによる値の偏りも存在しない。しかし、このようなフラグを符号化する際に、サブブロックに対応するコンテキストセットからコンテキストを選択しても、符号化効率の低下を抑制することができる。
【００５３】
例えば、前記少なくとも１つの参照係数は、複数の参照係数であり、前記コンテキスト選択ステップでは、前記複数の参照係数の中で値が０でない参照係数の数に対応する前記コンテキストを選択してもよい。
【００５４】
この方法によれば、複数の参照係数の中で値が０でない参照係数の数を用いてコンテキストを選択することができる。したがって、参照係数に基づいて適切なコンテキストを選択することが可能となる。
【００５５】
例えば、前記画像復号化方法は、さらに、ビットストリームに付加された第１規格または第２規格を示す識別情報に応じて、前記第１規格に準拠する第１復号化処理、または前記第２規格に準拠する第２復号化処理に、復号化処理を切り替える切り替えステップを含み、前記復号化処理が第１復号化処理に切り替えられた場合に、前記第１復号化処理として、前記コンテキスト選択ステップと、前記算術復号化ステップとが行われてもよい。
【００５６】
この方法によれば、第１規格に準拠する第１復号化処理と第２規格に準拠する第２復号化処理とを切り替えることが可能となる。
【００５７】
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【００５８】
以下、実施の形態について図面を参照しながら具体的に説明する。
【００５９】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００６０】
（実施の形態１）
＜全体構成＞
図４は、実施の形態１における画像符号化装置１００の構成を示す。この画像符号化装置１００は、画像をブロック毎に符号化する。画像符号化装置１００は、符号ブロック分割部１０１と、予測部１０２と、減算部１０３と、変換部１０４と、可変長符号化部１０５と、逆変換部１０６と、加算部１０７と、フレームメモリ１０８とを備える。
【００６１】
符号ブロック分割部１０１は、入力画像（入力ピクチャ）を複数の符号ブロックに分割する。符号ブロックは、例えば周波数変換が行われる単位（変換単位）である。変換単位は、符号化単位と同一のサイズまたは符号化単位より小さいサイズを有する。符号ブロック分割部１０１は、予測部１０２および減算部１０３に、複数の符号ブロックを順次出力する。
【００６２】
予測部１０２は、符号ブロックの予測画像（予測ブロック）を生成する。例えば、予測部１０２は、インター予測またはイントラ予測により、予測ブロックを生成する。
【００６３】
減算部１０３は、符号ブロックの画像から符号ブロックの予測画像を減算することにより、符号ブロックの予測誤差画像（差分ブロック）を生成する。
【００６４】
変換部１０４は、差分ブロックを周波数変換することにより、複数の周波数係数を生成する。なお、変換部１０４は、必要に応じて、複数の周波数係数を量子化することにより、複数の量子化係数を生成する。なお、以下において、周波数係数および量子化係数を区別せずに単に係数と呼ぶ。
【００６５】
可変長符号化部１０５は、変換部１０４によって生成された複数の係数を可変長符号化する。さらに、可変長符号化部１０５は、予測情報（例えば動きベクトル情報）を可変長符号化する。この可変長符号化部１０５の詳細は後述する。
【００６６】
逆変換部１０６は、複数の係数を逆変換することにより、差分ブロックを復元する。
【００６７】
加算部１０７は、符号化ブロックの予測画像と、復元された誤差画像とを加算することにより、符号ブロックの復号画像（復号ブロック）を生成する。
【００６８】
フレームメモリ１０８は、復号画像を格納している。
【００６９】
＜動作（全体）＞
次に、以上にように構成された画像符号化装置１００の処理動作について説明する。図５は、実施の形態１における画像符号化装置１００の処理動作を示すフローチャートである。
【００７０】
（ステップＳ１０１）
符号ブロック分割部１０１は、入力画像を複数の符号ブロックに分割する。そして、符号ブロック分割部１０１は、複数の符号ブロックを順次、減算部１０３と予測部１０２とに出力する。
【００７１】
ここでは、符号ブロックは、可変サイズである。したがって、符号ブロック分割部１０１は、画像の特徴を用いて、入力画像を複数の符号ブロックに分割する。符号ブロックの最小サイズは、例えば横４画素×縦４画素である。また、符号ブロックの最大サイズは、例えば横３２画素×縦３２画素である。
【００７２】
（ステップＳ１０２）
予測部１０２は、符号ブロックとフレームメモリ１０８に格納されている復号画像とに基づいて予測ブロックを生成する。
【００７３】
（ステップＳ１０３）
減算部１０３は、入力画像から予測ブロックを減算することにより、差分ブロックを生成する。
【００７４】
（ステップＳ１０４）
変換部１０４は、差分ブロックを複数の係数に変換する。
【００７５】
（ステップＳ１０５）
可変長符号化部１０５は、複数の係数を可変長符号化することにより、符号列を出力する。
【００７６】
（ステップＳ１０６）
逆変換部１０６は、複数の係数を逆変換することにより、差分ブロックを復元する。
【００７７】
（ステップＳ１０７）
加算部１０７は、復元された差分ブロックと予測ブロックとを加算することにより復号ブロックを生成する。さらに、加算部１０７は、生成された復号ブロックを、フレームメモリ１０８に格納する。
【００７８】
（ステップＳ１０８）
入力画像内の全ての符号ブロックの符号化が完了するまで、ステップＳ１０２からステップＳ１０７を繰り返す。
【００７９】
＜可変長符号化部の構成＞
図６は、実施の形態１における可変長符号化部１０５の内部構成を示す。本実施の形態では、可変長符号化部１０５は、各係数を、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、ｌｅｖｅｌ＿ｍｉｎｕｓ３、およびｓｉｇｎ＿ｆｌａｇの５つのパラメータのうちの少なくとも１つを用いて符号化する。可変長符号化部１０５は、係数ブロック分割部１１１と、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１１２と、ｇｒｅａｔｅｒ１＿ｆｌａｇ符号化部１１３と、ｇｒｅａｔｅｒ２＿ｆｌａｇ符号化部１１４と、ｌｅｖｅｌ＿ｍｉｎｕｓ３符号化部１１５と、ｓｉｇｎ＿ｆｌａｇ符号化部１１６とを備える。
【００８０】
係数ブロック分割部１１１は、符号ブロックを複数の係数ブロックに分割する。係数ブロックは、サブブロックの一例である。本実施の形態では、係数ブロック分割部１１１は、符号ブロックを４×４画素の係数ブロックに分割する。つまり、本実施の形態では、係数ブロックは、１６個の係数を含む。
【００８１】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１１２は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを符号化する。ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇは、係数が「０」かどうかを示すフラグである。ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの値が「０」の場合には、係数が「０」であることを示す。一方、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの値が「１」の場合には、係数が「０」でないことを示す。このｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１１２の詳細は後述する。
【００８２】
ｇｒｅａｔｅｒ１＿ｆｌａｇ符号化部１１３は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが「１」である場合（係数が「０」ではない場合）にのみ、ｇｒｅａｔｅｒ１＿ｆｌａｇを符号化する。ｇｒｅａｔｅｒ１＿ｆｌａｇは、係数の絶対値が１より大きいかどうかを示すフラグである。ｇｒｅａｔｅｒ１＿ｆｌａｇの値が「０」の場合は、係数の絶対値が「１」であることを示す。一方、ｇｒｅａｔｅｒ１＿ｆｌａｇの値が「１」の場合は、係数の絶対値が２以上であることを示す。
【００８３】
ｇｒｅａｔｅｒ２＿ｆｌａｇ符号化部１１４は、ｇｒｅａｔｅｒ１＿ｆｌａｇが「１」である場合（係数の絶対値が「２」以上の場合）にのみ、ｇｒｅａｔｅｒ２＿ｆｌａｇを符号化する。ｇｒｅａｔｅｒ２＿ｆｌａｇは、係数の絶対値が「２」より大きいかどうかを示すフラグである。ｇｒｅａｔｅｒ２＿ｆｌａｇの値が「０」の場合は、係数の絶対値が「２」であることを示す。一方、ｇｒｅａｔｅｒ２＿ｆｌａｇの値が「１」の場合は、係数の絶対値が「３」以上であることを示す。
【００８４】
ｌｅｖｅｌ＿ｍｉｎｕｓ３符号化部１１５は、ｇｒｅａｔｅｒ２＿ｆｌａｇが「１」の場合（係数の絶対値が３以上の場合）にのみ、ｌｅｖｅｌ＿ｍｉｎｕｓ３を符号化する。ｌｅｖｅｌ＿ｍｉｎｕｓ３は、係数の絶対値から「３」を減算した値を示す。
【００８５】
ｓｉｇｎ＿ｆｌａｇ符号化部１１６は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが「１」の場合（係数が「０」ではない場合）にのみ、ｓｉｇｎ＿ｆｌａｇを符号化する。ｓｉｇｎ＿ｆｌａｇは、係数が負の値かどうかを示すフラグである。ｓｉｇｎ＿ｆｌａｇの値が「０」の場合は、係数が正の値であることを示す。一方、ｓｉｇｎ＿ｆｌａｇの値が「１」の場合は、係数が負の値であることを示す。
【００８６】
＜動作（可変長符号化）＞
次に、以上のように構成された可変長符号化部１０５の処理動作について説明する。図７は、実施の形態１における可変長符号化部１０５の処理動作を示すフローチャートである。
【００８７】
（ステップＳ１１１）
係数ブロック分割部１１１は、符号ブロックを４×４画素の係数ブロックに分割する。例えば、符号ブロックが３２×３２画素の場合、係数ブロック分割部１１１は、符号ブロックを、横に８分割し、縦に８分割する。また例えば、符号ブロックが４×４画素の場合は、符号ブロックを分割しない。なお、以降のステップＳ１１２〜ステップＳ１１６は、４×４画素の係数ブロック毎に実行される。
【００８８】
（ステップＳ１１２）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１１２は、コンテキストを用いて、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを算術符号化する。
【００８９】
（ステップＳ１１３）
ｇｒｅａｔｅｒ１＿ｆｌａｇ符号化部１１３は、コンテキストを用いて、ｇｒｅａｔｅｒ１＿ｆｌａｇを算術符号化する。
【００９０】
（ステップＳ１１４）
ｇｒｅａｔｅｒ２＿ｆｌａｇ符号化部１１４は、コンテキストを用いて、ｇｒｅａｔｅｒ２＿ｆｌａｇを算術符号化する。
【００９１】
（ステップＳ１１５）
ｌｅｖｅｌ＿ｍｉｎｕｓ３符号化部１１５は、ｌｅｖｅｌ＿ｍｉｎｕｓ３を算術符号化する。具体的には、ｌｅｖｅｌ＿ｍｉｎｕｓ３符号化部１１５は、コンテキストを用いずに、固定のシンボル発生確率（５０％）を用いて算術符号化を行う。
【００９２】
（ステップＳ１１６）
ｓｉｇｎ＿ｆｌａｇ符号化部１１６は、ｓｉｇｎ＿ｆｌａｇを算術符号化する。具体的には、ｓｉｇｎ＿ｆｌａｇ符号化部１１６は、ｌｅｖｅｌ＿ｍｉｎｕｓ３符号化部１１５と同様に、コンテキストを用いずに、固定のシンボル発生確率（５０％）を用いて算術符号化を行う。
【００９３】
（ステップＳ１１７）
符号ブロック内の全ての係数ブロックの符号化が完了するまで、ステップＳ１１２〜ステップＳ１１６を繰り返す。
【００９４】
＜ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部の構成＞
図８は、実施の形態１におけるｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１１２の内部構成を示す。ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１１２は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１と、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部１２２と、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇメモリ１２３と、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４と、算術符号化部１２５と、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ１２６とを備える。
【００９５】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、符号ブロックに含まれる複数の係数ブロックをグループ分けする。具体的には、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、符号ブロック内における係数ブロックの水平方向の位置を示す値と垂直方向の位置を示す値との和を用いて、複数の係数ブロックをグループ分けする。より具体的には、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、複数の係数ブロックを、例えば、上記の和が閾値（グループ判定閾値）以下の場合と和が閾値より大きい場合とで互いに異なるグループに分ける。
【００９６】
係数ブロックの水平方向および垂直方向の位置を示す値は、係数ブロックに含まれる係数の水平方向の位置を示す値（係数水平位置）および垂直方向の位置を示す値（係数垂直位置）からそれぞれ導出される。具体的には、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、例えば、「（係数水平位置／係数ブロックの水平サイズ）の整数部」を、係数ブロックの水平方向の位置を示す値として導出する。また例えば、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、「（係数垂直位置／係数ブロックの垂直サイズ）の整数部」を、係数ブロックの垂直方向の位置を示す値として導出する。
【００９７】
なお、係数水平位置および係数垂直位置として、例えば、符号ブロック内の左上の係数の位置から係数ブロックに含まれる係数の位置までの水平方向および垂直方向の距離をそれぞれ用いることができる。
【００９８】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部１２２は、係数ブロック毎に、当該係数ブロックに含まれる複数の係数を順に読み出す。そして、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部１２２は、読み出された係数が「０」か否かに基づいて、当該係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇに値を設定する。本実施の形態では、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部１２２は、係数が「０」である場合に、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇに「０」を設定し、係数が「０」でない場合に、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇに「１」を設定する。
【００９９】
さらに、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部１２２は、各係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇをｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇメモリ１２３に格納する。
【０１００】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇメモリ１２３は、各係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを格納している。
【０１０１】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、係数ブロックの各々について、当該係数ブロックに対応するコンテキストセットから、当該係数ブロックに含まれる処理対象係数（符号化対象係数）を表すパラメータを算術符号化するためのコンテキストを、処理対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択する。具体的には、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、符号ブロック内における当該係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択する。
【０１０２】
算術符号化部１２５は、選択されたコンテキストの確率情報をｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ１２６から取得する。そして、算術符号化部１２５は、取得されたコンテキストの確率情報を用いて処理対象係数を表すパラメータを算術符号化する。本実施の形態では、パラメータは、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇである。
【０１０３】
さらに、算術符号化部１２５は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの値に応じて、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ１２６に格納されているコンテキストの確率情報を更新する。
【０１０４】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ１２６は、コンテキスト毎に確率情報を格納している。
【０１０５】
＜動作（ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化）＞
次に、以上のように構成されたｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１１２の処理動作について説明する。図９は、実施の形態１におけるｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部１１２の処理動作を示す。なお、係数ブロックに含まれる複数の係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの符号化順は、図２と同様である。つまり、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇは、係数ブロック単位で符号化される。
【０１０６】
（ステップＳ１２１）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、グループ判定閾値を算出する。例えば、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、符号ブロックの水平サイズを例えば「１６」で除算する。そして、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、除算結果の整数部をグループ判定閾値に設定する。
【０１０７】
つまり、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、符号ブロックのサイズが大きいほど大きい閾値を算出する。これにより、符号ブロックのサイズによって係数の偏り方が異なる場合に、適切なコンテキストセットを係数ブロックに対応付けることができる。なお、閾値は、符号ブロックのサイズに依存しない一定の値であってもよい。この場合、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、符号ブロックのサイズを用いて閾値を算出しなくてもよい。
【０１０８】
（ステップＳ１２２）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、「係数水平位置／４」の整数部と「係数垂直位置／４」の整数部とを加算する。そして、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、加算結果を、ステップＳ１２１で設定されたグループ判定閾値と比較する。ここで、加算結果がグループ判定閾値以下であれば、ステップＳ１２３へ進み、そうでなければステップＳ１２４へ進む。
【０１０９】
係数水平位置および係数垂直位置は、符号ブロック内における処理対象係数の水平方向および垂直方向の位置またはそれらの位置を示す値である。ここでは、係数水平位置および係数垂直位置は、符号ブロック内の左上係数から処理対象係数までの水平方向および垂直方向の距離（画素数）である。つまり、左上係数では、係数水平位置および係数垂直位置はともに「０」である。なお、係数水平位置および係数垂直位置をそれぞれ「４」で除算するのは、係数ブロックの水平サイズおよび垂直サイズが「４」であるからである。
【０１１０】
（ステップＳ１２３）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、グループに「Ａ」を設定する。
【０１１１】
（ステップＳ１２４）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１は、グループに「Ｂ」を設定する。
【０１１２】
図１０Ａは、１６×１６画素の符号ブロックの場合におけるグループ分け結果の一例を示す。図１０Ｂは、３２×３２画素の符号ブロックの場合におけるグループ分け結果の一例を示す。
【０１１３】
図１０Ａに示すように、１６×１６画素の符号ブロックの場合は、左上の１つの係数ブロックのみがグループＡに含まれる。また図１０Ｂに示すように、３２×３２画素の符号ブロックの場合は、左上の３つの係数ブロックがグループＡに含まれる。
【０１１４】
以降のステップＳ１２５からステップＳ１３９は、係数ブロック内の係数単位の処理であり、係数ブロック内の全ての係数の処理が完了するまで繰り返される。
【０１１５】
（ステップＳ１２５）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部１２２は、処理対象係数が「０」かどうか判定する。そして、処理対象係数が「０」である場合はステップＳ１２６へ進み、処理対象係数が「０」でない場合はステップＳ１２７へ進む。
【０１１６】
（ステップＳ１２６）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部１２２は、ｓｉｇｎｉｆｉａｎｔ＿ｆｌａｇに「０」を設定する。そして、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部１２２は、「０」が設定されたｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを算術符号化部１２５およびｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇメモリ１２３に出力する。
【０１１７】
（ステップＳ１２７）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部１２２は、ｓｉｇｎｉｆｉａｎｔ＿ｆｌａｇに「１」を設定する。そして、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部１２２は、「１」が設定されたｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを算術符号化部１２５およびｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇメモリ１２３に出力する。
【０１１８】
（ステップＳ１２８）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、以降の処理で使用するＳＮＵＭに「０」を設定する。
【０１１９】
なお、以降のステップＳ１２９からステップＳ１３２は、処理済みの係数ごとに処理され、処理済係数の全てが処理されるまで繰り返される。
【０１２０】
（ステップＳ１２９）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、処理済係数が処理対象係数より高周波数成分の係数か否かを判定する。処理済係数が処理対象係数より高周波数成分の係数の場合はステップＳ１３０へ進み、そうでない場合はステップＳ１３３へ進む。つまり、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、処理対象係数よりも高周波数成分の係数を参照係数として利用する。
【０１２１】
なお、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、処理済係数が処理対象係数の右方向、下方向、および右下方向のいずれに位置するかを判定することにより、処理済係数が処理対象係数より高周波数成分の係数かどうかを判定する。
【０１２２】
（ステップＳ１３０）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、処理済係数位置と処理対象係数位置との差分を計算し、ｈに水平位置差分、ｖに垂直位置差分を設定する。
【０１２３】
（ステップＳ１３１）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、ステップＳ１３０で設定したｈとｖとの和が「２」以下かどうかを判定する。ここで、ｈとｖとの和が「２」以下であればステップＳ１３２へ、そうでなければステップＳ１３３へ進む。すなわち、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、ｈとｖとの和が「２」以下の処理済係数を参照係数として用い、ｈとｖとの和が「３」以上の処理済係数を参照係数として用いない。つまり、処理対象係数の１つ右の係数、２つ右の係数、１つ下の係数、２つ下の係数、および右下の係数の合計５つの係数が参照係数として用いられる。参照係数位置に関しては、図１で示した参照係数と同様である。
【０１２４】
（ステップＳ１３２）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、処理済係数（参照係数）のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの値をｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇメモリ１２３からロードし、ＳＮＵＭに加算する。
【０１２５】
（ステップＳ１３３）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、符号ブロック内の全ての処理済係数に対して処理が行われるまでステップＳ１２９〜ステップＳ１３２を繰り返す。
【０１２６】
ステップＳ１２９からステップＳ１３２の処理の結果、最終的なＳＮＵＭには、処理対象係数の周辺の参照係数のうち、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが「１」である参照係数の個数が設定される。つまり、ＳＮＵＭは、複数の参照係数の中で値が０でない参照係数の数を示す。ここでは、ＳＮＵＭは、０〜５の値を取り得る。
【０１２７】
（ステップＳ１３４）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、ＳＮＵＭが「３」より大きいかを判定する。ここで、ＳＮＵＭが「３」より大きい場合はステップＳ１３５へ、そうでない場合はステップＳ１３６へ進む。
【０１２８】
（ステップＳ１３５）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、ＳＮＵＭに「４」を設定する。つまり、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、ＳＮＵＭが「４」を超えないように、ＳＮＵＭの値を再設定する。
【０１２９】
（ステップＳ１３６）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、処理対象係数を含む係数ブロックがグループＡに含まれる場合には、ＳＮＵＭをコンテキスト番号に設定する。一方、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、処理対象係数を含む係数ブロックがグループＢに含まれる場合には、ＳＵＭに「５」を加算した結果をコンテキスト番号に設定する。
【０１３０】
その結果、グループＡに含まれる係数ブロック内の処理対象係数の算術符号化には、０〜４のコンテキスト番号が示すコンテキストのいずれかが選択され、グループＢに含まれる係数ブロック内の処理対象係数の算術符号化には、５〜９のコンテキスト番号が示すコンテキストのいずれかが選択される。
【０１３１】
つまり、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和が閾値以下である場合に、第１コンテキストセット（コンテキスト番号０〜４のコンテキスト）からコンテキストを選択する。また、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和が閾値以下である場合に、第２コンテキストセット（コンテキスト番号５〜９のコンテキスト）からコンテキストを選択する。すなわち、係数ブロックが属するグループによってどのコンテキストセットが使われるかが決まる。
【０１３２】
また、コンテキストセット中のどのコンテキストを使うかはＳＮＵＭ（複数の参照係数の中で値が０でない参照係数の数）に応じて決まる。つまり、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部１２４は、複数の参照係数の中で値が「０」でない参照係数の数（逆に言えば、値が「０」である参照係数の数）に対応するコンテキストを選択する。
【０１３３】
（ステップＳ１３７）
算術符号化部１２５は、コンテキスト番号に従って、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ１２６からコンテキストの確率情報をロードする。
【０１３４】
（ステップＳ１３８）
算術符号化部１２５は、確率情報を用いてｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを算術符号化することにより、符号列を出力する。
【０１３５】
（ステップＳ１３９）
算術符号化部１２５は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの値に応じてコンテキストの確率情報を更新し、更新したコンテキストの確率情報をｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ１２６にストアする。
【０１３６】
（ステップＳ１４０）
係数ブロック内の全ての係数の処理が完了するまでステップＳ１２５〜ステップＳ１３９が繰り返される。
【０１３７】
なお、図９では、係数ブロック毎に、当該係数ブロックがどのグループに属するか否かの判定が行われていたが、係数毎に判定が行われてもよい。つまり、図９では、ステップＳ１４０の判定結果がＮｏの場合に、ステップＳ１２５に戻っていたが、ステップＳ１２２に戻ってもよい。この場合であっても、係数ブロック内でコンテキストセットの切り替えが発生することを防ぐことができる。さらに、この場合、決定されたグループに対応するコンテキストセットのみをメモリからロードすればよいので、メモリ負荷を軽減することができる。
【０１３８】
＜効果＞
以上のように、本実施の形態における画像符号化装置１００よれば、符号化効率の低下を抑制しつつ、コンテキストの選択処理の負荷を減らすことができる。この効果を、図面を用いてより具体的に説明する。
【０１３９】
図１１Ａおよび図１１Ｂは、実施の形態１における、係数ブロックに含まれる異なる係数のためのコンテキストセットを説明するための図である。図１１Ａおよび図１１Ｂでは、図３Ａおよび図３Ｂで示したような係数ブロック内部でのグループ（コンテキストセット）の切り替えが発生しない。したがって、画像符号化装置１００は、どのコンテキストセットからコンテキストから選択するかを係数毎に判定する必要がなく、コンテキストの選択処理の負荷を低減することができる。
【０１４０】
さらに、画像符号化装置１００は、符号ブロック内における係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択することができる。したがって、画像符号化装置１００は、周波数成分による係数の偏りに適したコンテキストセットを利用することができ、係数ブロックに対応するコンテキストセットを用いることによる符号化効率の低下を抑制することができる。
【０１４１】
また、本実施の形態における画像符号化装置１００によれば、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを算術符号化する際に、係数ブロックに対応するコンテキストセットからコンテキストを選択することができる。ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇは、発生頻度が高いパラメータであり、符号化効率に及ぼす影響が大きい。また、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇは、係数ブロック内で発生数が制限されるパラメータとは異なり、係数ブロックによる値の偏りも存在しない。しかし、このようなｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを符号化する際に、係数ブロックに対応するコンテキストセットからコンテキストを選択しても、符号化効率が低下しないことを本発明者らは発見した。つまり、画像符号化装置１００は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの算術符号化において、符号化効率の低下を抑制しつつ、コンテキストの選択処理の負荷を低減することが可能となる。
【０１４２】
（実施の形態２）
＜全体構成＞
図１２は、実施の形態２における画像復号化装置２００の構成を示す。画像復号化装置２００は、ブロック毎に符号化された画像を復号化する。具体的には、画像復号化装置２００は、実施の形態１における画像符号化装置１００によって符号化された画像を復号化する。画像復号化装置２００は、可変長復号化部２０１と、逆変換部２０２と、予測部２０３と、加算部２０４と、復号ブロック結合部２０５と、フレームメモリ２０６とを備える。
【０１４３】
可変長復号化部２０１は、符号列を可変長復号化することにより、復号化対象ブロック毎に複数の係数と予測情報（例えば、動きベクトル情報など）とを得る。
【０１４４】
逆変換部２０２は、複数の係数を逆変換することにより、復号化対象ブロックの誤差画像（差分ブロック）を生成する。
【０１４５】
予測部２０３は、予測情報とフレームメモリ２０６に格納されている復号画像（復号ピクチャ）とを用いて、復号化対象ブロックの予測画像（予測ブロック）を生成する。
【０１４６】
加算部２０４は、復号化対象ブロックの誤差画像と予測画像とを加算することにより、復号化対象ブロックの復号画像（復号ブロック）を生成する。
【０１４７】
復号ブロック結合部２０５は、複数の復号ブロックを結合することにより復号画像を生成する。さらに、復号ブロック結合部２０５は、復号画像をフレームメモリ２０６に格納する。
【０１４８】
フレームメモリ２０６は、復号画像を格納している。
【０１４９】
＜動作（全体）＞
次に、以上にように構成された画像復号化装置２００の処理動作について説明する。図１３は、実施の形態２における画像復号化装置２００の処理動作を示すフローチャートである。
【０１５０】
（ステップＳ２０１）
可変長復号化部２０１は、符号列を可変長復号化することにより、複数の係数と予測情報とを得る。そして、可変長復号化部２０１は、複数の係数を逆変換部２０２へ出力し、予測情報を予測部２０３へ出力する。
【０１５１】
（ステップＳ２０２）
逆変換部２０２は、複数の係数を逆変換することにより、差分ブロックを生成する。
【０１５２】
（ステップＳ２０３）
予測部２０３は、フレームメモリ２０６に格納されている復号画像と、可変長復号化部２０１によって復号化された予測情報とを用いて、予測ブロックを生成する。
【０１５３】
（ステップＳ２０４）
加算部２０４は、予測ブロックと差分ブロックとを加算することにより、復号ブロックを生成する。
【０１５４】
（ステップＳ２０５）
画像内の全ての復号ブロックの復号化が完了するまで、ステップＳ２０１〜ステップＳ２０４が繰り返される。
【０１５５】
（ステップＳ２０６）
復号ブロック結合部２０５は、復号ブロックを結合することによって復号画像を生成する。さらに、復号ブロック結合部２０５は、フレームメモリ２０６に復号画像を格納する。
【０１５６】
＜可変長復号化部の構成＞
図１４は、実施の形態２における可変長復号化部２０１の内部構成を示す。本実施の形態では、実施の形態１と同様に、各係数は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、ｌｅｖｅｌ＿ｍｉｎｕｓ３、およびｓｉｇｎ＿ｆｌａｇの５つのパラメータのうちの少なくとも１つを用いて表現される。各パラメータの意味は、実施の形態１と同様であるため、説明を省略する。
【０１５７】
可変長復号化部２０１は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部２１１と、ｇｒｅａｔｅｒ１＿ｆｌａｇ復号化部２１２と、ｇｒｅａｔｅｒ２＿ｆｌａｇ復号化部２１３と、ｌｅｖｅｌ＿ｍｉｎｕｓ３復号化部２１４と、ｓｉｇｎ＿ｆｌａｇ復号化部２１５と、係数復元部２１６と、係数ブロック結合部２１７とを備える。
【０１５８】
＜動作（可変長復号化）＞
次に、以上のように構成された可変長復号化部２０１の処理動作について説明する。図１５は、実施の形態２における可変長復号化部２０１の処理動作を示すフローチャートである。なお、ステップＳ２１１〜ステップＳ２１６は、復号化対象ブロックに含まれる係数ブロック毎に処理される。
【０１５９】
（ステップＳ２１１）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部２１１は、コンテキストを用いて、係数ブロックに含まれる各係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを算術復号化する。そして、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部２１１は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを、ｇｒｅａｔｅｒ１＿ｆｌａｇ復号化部２１２、ｇｒｅａｔｅｒ２＿ｆｌａｇ復号化部２１３、ｌｅｖｅｌ＿ｍｉｎｕｓ３復号化部２１４、ｓｉｇｎ＿ｆｌａｇ復号化部２１５、および係数復元部２１６へ出力する。
【０１６０】
（ステップＳ２１２）
ｇｒｅａｔｅｒ１＿ｆｌａｇ復号化部２１２は、コンテキストを用いて、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが「１」である係数のｇｒｅａｔｅｒ１＿ｆｌａｇを算術復号化する。そして、ｇｒｅａｔｅｒ１＿ｆｌａｇ復号化部２１２は、ｇｒｅａｔｅｒ１＿ｆｌａｇを、ｇｒｅａｔｅｒ２＿ｆｌａｇ復号化部２１３、ｌｅｖｅｌ＿ｍｉｎｕｓ３復号化部２１４、および係数復元部２１６へ出力する。
【０１６１】
（ステップＳ２１３）
ｇｒｅａｔｅｒ２＿ｆｌａｇ復号化部２１３は、コンテキストを用いて、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが「１」であり、かつｇｒｅａｔｅｒ１＿ｆｌａｇが「１」である係数のｇｒｅａｔｅｒ２＿ｆｌａｇを算術復号化する。そして、ｇｒｅａｔｅｒ２＿ｆｌａｇ復号化部２１３は、ｇｒｅａｔｅｒ２＿ｆｌａｇを、ｌｅｖｅｌ＿ｍｉｎｕｓ３復号化部２１４、および係数復元部２１６へ出力する。
【０１６２】
（ステップＳ２１４）
ｌｅｖｅｌ＿ｍｉｎｕｓ３復号化部２１４は、コンテキストを用いずに、固定のシンボル発生確率（５０％）を用いて、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが「１」であり、かつｇｒｅａｔｅｒ１＿ｆｌａｇが「１」であり、かつｇｒｅａｔｅｒ２＿ｆｌａｇが「１」である係数のｌｅｖｅｌ＿ｍｉｎｕｓ３を復号化する。そして、ｌｅｖｅｌ＿ｍｉｎｕｓ３復号化部２１４は、ｌｅｖｅｌ＿ｍｉｎｕｓ３を係数復元部２１６へ出力する。
【０１６３】
（ステップＳ２１５）
ｓｉｇｎ＿ｆｌａｇ復号化部２１５は、コンテキストを用いずに、固定のシンボル発生確率（５０％）を用いて、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇが「１」である係数のｓｉｇｎ＿ｆｌａｇを復号化する。そして、ｓｉｇｎ＿ｆｌａｇ復号化部２１５は、ｓｉｇｎ＿ｆｌａｇを係数復元部２１６へ出力する。
【０１６４】
（ステップＳ２１６）
係数復元部２１６は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｇｒｅａｔｅｒ１＿ｆｌａｇ、ｇｒｅａｔｅｒ２＿ｆｌａｇ、ｌｅｖｅｌ＿ｍｉｎｕｓ３、およびｓｉｇｎ＿ｆｌａｇを用いて係数を復元する。各パラメータの意味は前述した通りであるので、係数復元部２１６は、その意味に従って係数を復元する。
【０１６５】
（ステップＳ２１７）
復号化対象ブロック内の全ての係数ブロックの復号化が完了するまで、ステップＳ２１２〜ステップＳ２１６が繰り返される。
【０１６６】
（ステップＳ２１８）
係数ブロック結合部２１７は、復号化対象ブロック内の全ての係数ブロックを結合することにより、復号ブロックを出力する。
【０１６７】
＜ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部の構成＞
図１６は、実施の形態２におけるｓｉｇｎｉｆｉｃａｎｔｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部２１１の内部構成を示す。ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部２１１は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部２２１と、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部２２２と、算術復号化部２２３と、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ２２４と、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇメモリ２２５とを備える。
【０１６８】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部２２１は、実施の形態１のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部１２１と同様に、符号ブロックに含まれる複数の係数ブロックをグループ分けする。
【０１６９】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部２２２は、係数ブロックの各々について、当該係数ブロックに対応するコンテキストセットから、当該係数ブロックに含まれる処理対象係数（復号化対象係数）を表すパラメータを算術符号化するためのコンテキストを、処理対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択する。具体的には、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部２２２は、符号ブロック内における当該係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択する。
【０１７０】
算術復号化部２２３は、選択されたコンテキストの確率情報をｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ２２４から取得する。そして、算術復号化部２２３は、取得されたコンテキストの確率情報を用いて処理対象係数を表すパラメータを算術復号化する。本実施の形態では、パラメータは、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇである。
【０１７１】
さらに、算術復号化部２２３は、復号化されたｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇメモリ２２５に格納する。また、算術復号化部２２３は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの値に応じて、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ２２４に格納されているコンテキストの確率情報を更新する。
【０１７２】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ２２４は、コンテキスト毎に確率情報を格納している。
【０１７３】
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇメモリ２２５は、各係数のｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを格納している。
【０１７４】
＜動作（ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化）＞
次に、以上のように構成されたｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部２１１の処理動作について説明する。図１７は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部の処理動作を示すフローチャートである。
【０１７５】
（ステップＳ２２１〜ステップＳ２２４）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部２２１は、図９のステップＳ１２１〜ステップＳ１２４と同様に、係数ブロックのグループ分けを行う。
【０１７６】
（ステップＳ２２５〜ステップＳ２３３）
ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部２２２は、図９のステップＳ１２８〜ステップＳ１３６と同様に、係数ブロックが属するグループに対応するコンテキストセットから、処理対象係数の近傍に位置する参照係数に基づいてコンテキストを選択する。具体的には、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部２２２は、係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和が閾値以下である場合に、第１コンテキストセット（コンテキスト番号０〜４のコンテキスト）からコンテキストを選択する。また、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部２２２は、係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和が閾値以下である場合に、第２コンテキストセット（コンテキスト番号５〜９のコンテキスト）からコンテキストを選択する。また、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部２２２は、処理対象係数よりも高周波数成分の複数の参照係数の中で値が「０」でない参照係数の数（逆に言えば、値が「０」である参照係数の数）に対応するコンテキストを選択する。
【０１７７】
（ステップＳ２３４）
算術復号化部２２３は、コンテキスト番号に従って、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ２２４からコンテキストの確率情報をロードする。
【０１７８】
（ステップＳ２３５）
算術復号化部２２３は、確率情報を用いてｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇを算術復号化する。
【０１７９】
（ステップＳ２３６）
算術復号化部２２３は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの値に応じてコンテキストの確率情報を更新し、更新したコンテキストの確率情報をｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ２２４にストアする。
【０１８０】
（ステップＳ２３７）
係数ブロック内の全ての係数の処理が完了するまでステップＳ２２５〜ステップＳ２３６が繰り返される。
【０１８１】
なお、図１７では、係数ブロック毎に、当該係数ブロックがどのグループに属するか否かの判定が行われていたが、係数毎に判定が行われてもよい。つまり、図１７では、ステップＳ２３７の判定結果がＮｏの場合に、ステップＳ２２５に戻っていたが、ステップＳ２２２に戻ってもよい。この場合であっても、係数ブロック内でコンテキストセットの切り替えが発生することを防ぐことができる。さらに、この場合、決定されたグループに対応するコンテキストセットのみをメモリからロードすればよいので、メモリ負荷を軽減することができる。
【０１８２】
＜効果＞
以上のように、本実施の形態に係る画像復号化装置２００によれば、実施の形態１における画像符号化装置１００と同様に、符号化効率の低下を抑制しつつ、コンテキストの選択処理の負荷を減らすことができる。
【０１８３】
以上、１つまたは複数の態様に係る画像符号化装置および画像復号化装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、１つまたは複数の態様の範囲内に含まれてもよい。
【０１８４】
例えば、上記各実施の形態において、サブブロックの水平方向および垂直方向の位置を示す値は、「（係数水平位置／係数ブロックの水平サイズ）の整数部」および「（係数垂直位置／係数ブロックの垂直サイズ）の整数部」によって算出されていたが、これとは異なる方法で算出されてもよい。例えば、サブブロックの水平方向および垂直方向の位置を示す値は、除算の代わりにシフト演算を用いて算出されてもよい。
【０１８５】
また、上記各実施の形態において、符号化対象ブロックまたは復号化対象ブロックに含まれる複数の係数は、２つのグループに分類されたが、３つ以上のグループに分類されてもよい。この場合、グループの数に応じて、グループ判定閾値が増加されればよい。
【０１８６】
また、上記各実施の形態における参照係数の数および位置は一例であり、他の参照係数が用いられてもよい。
【０１８７】
また、上記各実施の形態において、サブブロックと参照係数とに基づいてコンテキストが選択されているが、さらに他の条件にも基づいてコンテキストが選択されてもよい。例えば、符号化対象ブロックまたは復号化対象ブロックの左上隅の係数（直流成分）を算術符号化するためのコンテキストとして、他の係数とは異なるコンテキストが選択されてもよい。
【０１８８】
また、上記各実施の形態において、符号化対象ブロックまたは復号化対象ブロックの右下隅の係数（最も高周波数の成分）から順に、各係数が算術符号化または算術復号化されているが、高周波数成分から走査して最初に出現したゼロでない係数から算術符号化または算術復号化してもよい。この場合、高周波数成分から走査して最初に出現したゼロでない係数までに出現したゼロの係数は算術符号化されなくてもよい。
【０１８９】
また、上記各実施の形態において、係数は、５つのパラメータを用いて符号化されていたが、他のパラメータを用いて符号化されてもよい。例えば、係数は、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ、ｌｅｖｅｌ＿ｍｉｎｕｓ１、ｓｉｇｎ＿ｆｌａｇの３つのパラメータを用いて符号化されてもよい。
【０１９０】
また、上記各実施の形態では、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇの算術符号化または算術復号化するためのコンテキストの選択方法について説明したが、他のパラメータについても、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇと同様の選択方法を用いてコンテキストを選択してもよい。
【０１９１】
また、上記各実施の形態において、符号化対象ブロックまたは復号化対象ブロックの外部に位置する係数を参照係数として用いなくてもよい。さらに、符号化対象ブロックまたは復号化対象ブロックが含まれるピクチャとは時間的に異なるピクチャに含まれる係数を参照係数として用いてもよい。
【０１９２】
また、上記各実施の形態における符号ブロック（符号化対象ブロックまたは復号化対象ブロック）および係数ブロック（サブブロック）のサイズは一例であり、他のサイズであってもよい。
【０１９３】
なお、実施の形態１における画像符号化装置１００は、図４に示す構成要素をすべて備える必要はない。例えば、画像符号化装置は以下のように構成されてもよい。
【０１９４】
図１８は、実施の形態１の変形例における画像符号化装置３００の構成を示す。画像符号化装置３００は、画像をブロック毎に符号化する。図１８に示すように、画像符号化装置３００は、コンテキスト選択部３０１と、算術符号化部３０２とを備える。
【０１９５】
ここで、以上のように構成された画像符号化装置３００の処理動作について説明する。図１９は、実施の形態１の変形例における画像符号化装置３００の処理動作を示すフローチャートである。
【０１９６】
（ステップＳ３０１）
コンテキスト選択部３０１は、変換単位である符号化対象ブロックに含まれる各係数を表すパラメータを算術符号化するためのコンテキストを選択する。具体的には、コンテキスト選択部３０１は、符号化対象ブロックに含まれる複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを、符号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択する。
【０１９７】
より具体的には、コンテキスト選択部３０１は、複数のサブブロックの各々について、符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを選択する。
【０１９８】
サブブロックとは、符号化対象ブロックを分割して得られるブロックである。各サブブロックは、それぞれが係数を有する複数の画素（例えば４×４画素）を含む。
【０１９９】
符号化対象係数の周辺に位置する係数とは、符号化対象係数を有する画素から予め定められた範囲内に位置する画素が有する係数を意味する。例えば、符号化対象係数の周辺に位置する係数は、符号化対象係数よりも高周波数成分の係数である。
【０２００】
符号化対象係数を表すパラメータとは、例えば、符号化対象係数が０か否かを示すフラグ（ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ）である。なお、符号化対象係数を表すパラメータは、ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇでなくてもよく、他のパラメータであってもよい。
【０２０１】
（ステップＳ３０２）
算術符号化部３０２は、コンテキスト選択部３０１によって選択されたコンテキストの確率情報を用いて符号化対象係数を表すパラメータを算術符号化する。
【０２０２】
以上のように、画像符号化装置３００は、図１８に示すように構成されても、符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択することができる。したがって、画像符号化装置３００は、符号化効率の低下を抑制しつつ、コンテキストの選択処理の負荷を低減することができる。
【０２０３】
なお、実施の形態２における画像復号化装置２００は、図１２に示す構成要素をすべて備える必要はない。例えば、画像復号化装置は以下のように構成されてもよい。
【０２０４】
図２０は、実施の形態２の変形例における画像復号化装置４００の構成を示す。画像復号化装置４００は、ブロック毎に符号化された画像を復号化する。図２０に示すように、画像復号化装置４００は、コンテキスト選択部４０１と、算術復号化部４０２とを備える。
【０２０５】
ここで、以上のように構成された画像復号化装置４００の処理動作について説明する。図２１は、実施の形態２の変形例における画像復号化装置４００の処理動作を示すフローチャートである。
【０２０６】
（ステップＳ４０１）
コンテキスト選択部４０１は、変換単位である復号化対象ブロックに含まれる各係数を表すパラメータを算術復号化するためのコンテキストを選択する。この処理の詳細は、図１９のステップＳ３０１と同様であるので説明を省略する。
【０２０７】
（ステップＳ４０２）
算術復号化部４０２は、コンテキスト選択部４０１によって選択されたコンテキストの確率情報を用いて復号化対象係数を表すパラメータを算術復号化する。
【０２０８】
以上のように、画像復号化装置４００は、図２０に示すように構成されても、復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択することができる。したがって、画像復号化装置４００は、符号化効率の低下を抑制しつつ、コンテキストの選択処理の負荷を低減することができる。
【０２０９】
なお、上記各実施の形態およびその変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態またはその変形例の画像符号化装置および画像復号化装置などを実現するソフトウェアは、次のようなプログラムである。
【０２１０】
すなわち、このプログラムは、コンピュータに、画像をブロック毎に符号化する画像符号化方法であって、変換単位である符号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを、前記符号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択するコンテキスト選択ステップと、選択された前記コンテキストの確率情報を用いて前記符号化対象係数を表すパラメータを算術符号化する算術符号化ステップとを含み、前記コンテキスト選択ステップでは、前記符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する画像符号化方法を実行させる。
【０２１１】
または、このプログラムは、コンピュータに、ブロック毎に符号化された画像を復号化する画像復号化方法であって、変換単位である復号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる復号化対象係数を表すパラメータを算術復号化するためのコンテキストを、前記復号化対象係数の周辺に位置する少なくとも１つの参照係数に基づいて選択するコンテキスト選択ステップと、選択された前記コンテキストの確率情報を用いて前記復号化対象係数を表すパラメータを算術復号化する算術復号化ステップとを含み、前記コンテキスト選択ステップでは、前記復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する画像復号化方法を実行させる。
【０２１２】
（実施の形態３）
上記各実施の形態で示した動画像符号化方法（画像符号化方法）または動画像復号化方法（画像復号方法）の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ＩＣカード、半導体メモリ等、プログラムを記録できるものであればよい。
【０２１３】
さらにここで、上記各実施の形態で示した動画像符号化方法（画像符号化方法）や動画像復号化方法（画像復号方法）の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
【０２１４】
図２２は、コンテンツ配信サービスを実現するコンテンツ供給システム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５００で実装することも可能である。
【０２８１】
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、ＬＳＩの回路規模を小さくし、かつ、コストを低減することが可能である。
【産業上の利用可能性】
【０２８２】
本発明の一態様に係る画像符号化装置および画像復号化装置は、例えば、テレビジョン受像機、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、または、デジタルビデオカメラ等に利用可能である。
【符号の説明】
【０２８３】
１００、３００  画像符号化装置
１０１  符号ブロック分割部
１０２、２０３  予測部
１０３  減算部
１０４  変換部
１０５  可変長符号化部
１０６、２０２  逆変換部
１０７、２０４  加算部
１０８、２０６  フレームメモリ
１１１  係数ブロック分割部
１１２  ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ符号化部
１１３  ｇｒｅａｔｅｒ１＿ｆｌａｇ符号化部
１１４  ｇｒｅａｔｅｒ２＿ｆｌａｇ符号化部
１１５  ｌｅｖｅｌ＿ｍｉｎｕｓ３符号化部
１１６  ｓｉｇｎ＿ｆｌａｇ符号化部
１２１、２２１  ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇグループ設定部
１２２  ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ設定部
１２３、２２５  ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇメモリ
１２４、２２２  ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキスト選択部
１２５、３０２  算術符号化部
１２６、２２４  ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇコンテキストメモリ
２００、４００  画像復号化装置
２０１  可変長復号化部
２０５  復号ブロック結合部
２１１  ｓｉｇｎｉｆｉｃａｎｔ＿ｆｌａｇ復号化部
２１２  ｇｒｅａｔｅｒ１＿ｆｌａｇ復号化部
２１３  ｇｒｅａｔｅｒ２＿ｆｌａｇ復号化部
２１４  ｌｅｖｅｌ＿ｍｉｎｕｓ３復号化部
２１５  ｓｉｇｎ＿ｆｌａｇ復号化部
２１６  係数復元部
２１７  係数ブロック結合部
２２３、４０２  算術復号化部
３０１、４０１  コンテキスト選択部
【図１】
2013094199.tif 000003
【図２】
2013094199.tif 000004
【図３Ａ】
2013094199.tif 000005
【図３Ｂ】
2013094199.tif 000006
【図４】
2013094199.tif 000007
【図５】
2013094199.tif 000008
【図６】
2013094199.tif 000009
【図７】
2013094199.tif 000010
【図８】
2013094199.tif 000011
【図９】
2013094199.tif 000012
【図１０Ａ】
2013094199.tif 000013
【図１０Ｂ】
2013094199.tif 000014
【図１１Ａ】
2013094199.tif 000015
【図１１Ｂ】
2013094199.tif 000016
【図１２】
2013094199.tif 000017
【図１３】
2013094199.tif 000018
【図１４】
2013094199.tif 000019
【図１５】
2013094199.tif 000020
【図１６】
2013094199.tif 000021
【図１７】
2013094199.tif 000022
【図１８】
2013094199.tif 000023
【図１９】
2013094199.tif 000024
【図２０】
2013094199.tif 000025
【図２１】
2013094199.tif 000026
【図２２】
2013094199.tif 000027
【図２３】
2013094199.tif 000028
【図２４】
2013094199.tif 000029
【図２５】
2013094199.tif 000030
【図２６】
2013094199.tif 000031
【図２７Ａ】
2013094199.tif 000032
【図２７Ｂ】
2013094199.tif 000033
【図２８】
2013094199.tif 000034
【図２９】
2013094199.tif 000035
【図３０】
2013094199.tif 000036
【図３１】
2013094199.tif 000037
【図３２】
2013094199.tif 000038
【図３３】
2013094199.tif 000039
【図３４】
2013094199.tif 000040
【図３５】
2013094199.tif 000041
【図３６】
2013094199.tif 000042
【図３７】
2013094199.tif 000043
【図３８】
2013094199.tif 000044
【図３９】
2013094199.tif 000045
【図４０Ａ】
2013094199.tif 000046
【図４０Ｂ】
2013094199.tif 000047
【国際調査報告】
2013094199.tif 000048
2013094199.tif 000049
2013094199.tif 000050
2013094199.tif 000051