(58)【調査した分野】(Int.Cl.,DB名)
前記コンテキスト選択ステップでは、前記復号化対象ブロック内の左上の係数の位置から前記復号化対象係数の位置までの水平方向距離および垂直方向距離をそれぞれHおよびVと表した場合に、“(H/4)の整数部+(V/4)の整数部”の値に基づいて、前記復号化対象係数のためのコンテキストセットを、前記第1コンテキストセット及び前記第2コンテキストセットの間で切り替える
請求項1に記載の画像復号化方法。
【発明を実施するための形態】
【0011】
(本発明の基礎となった知見)
符号化対象係数を算術符号化するためのコンテキストは、符号化対象係数の周辺の符号化済係数に応じて選択される。そして、符号化対象係数は、選択されたコンテキストに対応するシンボル発生確率を用いて算術符号化される。
【0012】
一般的な画像では、低周波数成分に近い係数ほど大きい値になる。そのため、符号化済みの周辺係数(符号化対象係数より高周波数成分の係数)を参照してコンテキストを選択することによって、シンボル発生確率に偏りを持たせることができる。例えば、符号化済みの周辺係数の値が大きければ、符号化対象係数の値も大きくなる確率が大きい。そこで、符号化済みの周辺係数の値が大きい場合に、符号化対象係数の算術符号化のために大きい値用のコンテキストを使用することによって、発生符号量を減少させることができる。
【0013】
また、符号化対象ブロック内の複数の係数は、周波数成分に基づいてグループ分けされる。そして、グループごとに異なるコンテキストセットが用いられる。つまり、各係数は、当該係数が属するグループに対応するコンテキストセットから選択されたコンテキストを用いて算術符号化される。一般的な画像では、低周波領域には大きい係数が多く、高周波領域には小さい係数が多い。そのため、低周波領域の係数と高周波領域と係数とで異なるコンテキストセットを使うことにより、発生符号量を減少させることができる。
【0014】
HEVC規格では、係数を複数のパラメータ(例えば、significant_flagやgreater1_flag等)で表現する。
図1は、significant_flagを算術符号化するためのコンテキストの選択方法を説明するための図である。
【0015】
図1では、符号化対象ブロックは、16×16画素を含む。そして、各画素は係数を有する。左上に位置する画素ほど低周波数成分の係数を有し、右下に位置する画素ほど高周波数成分の係数を有する。
【0016】
また、各画素は、グループAおよびグループBのいずれかに属する。
図1において、グループAは、ハッチングされていない画素が属するグループである。グループBは、ハッチングされた画素が属するグループである。
【0017】
各画素が有する係数を表すsignificant_flagを算術符号化するためのコンテキストは、当該画素が属するグループに対応するコンテキストセットから選択される。例えば、左上隅に位置する画素のsignificant_flagは、グループAに対応するコンテキストセットAからコンテキストが選択される。一方、例えば右下隅に位置する画素のsignificant_flagは、グループBに対応するコンテキストセットBからコンテキストが選択される。
【0018】
このとき、コンテキストセットからのコンテキストの選択は、符号化対象画素(符号化対象係数)の近傍に位置する参照画素が有する係数(参照係数)に基づいて行われる。
図1において、符号化対象係数の右側に位置する2つの係数、下側に位置する2つの係数、および右下に位置する係数の合計5つの参照係数を用いて、コンテキストセットから選択するコンテキストが決定される。
【0019】
以上のように、
図1に示すように複数の画素がグループ分けされ、かつ符号化対象係数の近傍の参照係数を用いることにより、周波数成分によって係数に偏りが生じる特徴を利用してコンテキストを選択することができ、符号化効率を向上させることができる。
【0020】
図2は、符号化対象ブロックに含まれる係数の符号化順を示す。
図2では、16×16画素の符号化対象ブロックは、太線で囲まれた複数の4×4画素のサブブロックに分割されている。サブロック内に記載された番号は、符号化順を示す。つまり、符号化対象ブロックに含まれる複数の係数は、破線矢印で示される順に、サブブロック単位で符号化される。また、サブブロックに含まれる複数の係数は、13番目のサブロックに記載された矢印が示す順番で符号化される。
【0021】
図3Aおよび
図3Bは、左上隅に位置するサブブロックに含まれる異なる係数のためのコンテキストセットを説明するための図である。
図3Aの符号化対象係数と
図3Bの符号化対象係数とは、同じサブブロックに含まれが、異なるグループに含まれる。つまり、
図3Aの符号化対象係数を算術符号化するためのコンテキストと、
図3Bの符号化対象係数を算術符号化するためのコンテキストとは、異なるコンテキストセットから選択される。
【0022】
すなわち、
図1に示すように複数の画素(複数の係数)がグループ分けされた場合、サブブロック内でコンテキストセットの切り替えが発生する。この場合、例えばサブブロック内の係数毎に、当該係数がどのグループに属するかを判定する必要があり、コンテキストの選択処理の負荷が増大する。
【0023】
そこで、本発明の一態様に係る画像符号化方法は、画像をブロック毎に符号化する画像符号化方法であって、変換単位である符号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを、前記符号化対象係数の周辺に位置する少なくとも1つの参照係数に基づいて選択するコンテキスト選択ステップと、選択された前記コンテキストの確率情報を用いて前記符号化対象係数を表すパラメータを算術符号化する算術符号化ステップとを含み、前記コンテキスト選択ステップでは、前記符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する。
【0024】
この方法によれば、サブブロックに対応するコンテキストセットからコンテキストを選択することができる。したがって、サブブロック内でコンテキストセットの切り替えが発生することを防ぐことができ、コンテキストの選択処理の負荷を低減することが可能となる。
【0025】
さらに、この方法によれば、符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択することができる。したがって、周波数成分による係数の偏りに適したコンテキストセットを利用することができ、サブブロックに対応するコンテキストセットを用いることによる符号化効率の低下を抑制することができる。
【0026】
例えば、前記コンテキスト選択ステップでは、前記符号化対象ブロック内の左上の係数の位置から前記符号化対象係数の位置までの水平方向距離および垂直方向距離をそれぞれHおよびVと表し、かつ前記複数のサブブロックの垂直方向および水平方向のサイズをαと表した場合に、“(H/α)の整数部+(V/α)の整数部”を前記和として算出してもよい。
【0027】
この方法によれば、符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和を簡易に算出することができる。
【0028】
例えば、前記コンテキスト選択ステップでは、前記和が閾値以下である場合に、第1コンテキストセットから前記コンテキストを選択し、前記和が前記閾値より大きい場合に、前記第1コンテキストセットとは異なる第2コンテキストセットから前記コンテキストを選択してもよい。
【0029】
この方法によれば、和が閾値以下である場合に、第1コンテキストセットからコンテキストを選択し、和が閾値より大きい場合に第2コンテキストセットからコンテキストを選択することができる。したがって、和と閾値との比較結果に基づいて、コンテキストセットをサブブロック間で容易に切り替えることができる。
【0030】
例えば、前記コンテキスト選択ステップでは、前記符号化対象ブロックのサイズが大きいほど大きい前記閾値を算出してもよい。
【0031】
この方法によれば、符号化対象ブロックのサイズが大きいほど大きい閾値を算出することができる。したがって、符号化対象ブロックのサイズによって係数の偏り方が異なる場合に、適切なコンテキストセットからコンテキストを選択することができる。
【0032】
例えば、前記少なくとも1つの参照係数は、前記符号化対象係数よりも高周波数成分の係数であってもよい。
【0033】
この方法によれば、符号化対象係数よりも高周波数成分の係数を参照係数として用いることができる。一般的な画像では、低周波数成分の係数の方が高周波数成分の係数よりも値が大きいことが多い。したがって、符号化対象係数よりも高周波数成分の係数を参照係数として用いることにより、一般的な画像の特性を利用して適切なコンテキストを選択することが可能となる。
【0034】
例えば、前記符号化対象係数を表すパラメータは、前記符号化対象係数が0か否かを示すフラグであってもよい。
【0035】
この方法によれば、符号化対象係数を表すパラメータとして、符号化対象係数が0か否かを示すフラグを符号化することができる。このフラグは、発生頻度が高いパラメータであり、符号化効率に及ぼす影響が大きい。さらに、このフラグは、サブブロック内で発生数が制限されるパラメータとは異なり、サブブロックによる値の偏りも存在しない。しかし、このようなフラグを符号化する際に、サブブロックに対応するコンテキストセットからコンテキストを選択しても、符号化効率の低下を抑制することができる。
【0036】
例えば、前記少なくとも1つの参照係数は、複数の参照係数であり、前記コンテキスト選択ステップでは、前記複数の参照係数の中で値が0でない参照係数の数に対応する前記コンテキストを選択してもよい。
【0037】
この方法によれば、複数の参照係数の中で値が0でない参照係数の数を用いてコンテキストを選択することができる。したがって、参照係数に基づいて適切なコンテキストを選択することが可能となる。
【0038】
例えば、前記画像符号化方法は、さらに、第1規格に準拠する第1符号化処理、または第2規格に準拠する第2符号化処理に、符号化処理を切り替える切り替えステップと、切り替えられた前記符号化処理が準拠する前記第1規格または前記第2規格を示す識別情報をビットストリームに付加する付加ステップとを含み、前記符号化処理が前記第1符号化処理に切り替えられた場合に、前記第1符号化処理として、前記コンテキスト選択ステップと、前記算術符号化ステップとが行われてもよい。
【0039】
この方法によれば、第1規格に準拠する第1符号化処理と第2規格に準拠する第2符号化処理とを切り替えることが可能となる。
【0040】
また、本発明の一態様に係る画像復号化方法は、ブロック毎に符号化された画像を復号化する画像復号化方法であって、変換単位である復号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる復号化対象係数を表すパラメータを算術復号化するためのコンテキストを、前記復号化対象係数の周辺に位置する少なくとも1つの参照係数に基づいて選択するコンテキスト選択ステップと、選択された前記コンテキストの確率情報を用いて前記復号化対象係数を表すパラメータを算術復号化する算術復号化ステップとを含み、前記コンテキスト選択ステップでは、前記復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する。
【0041】
この方法によれば、サブブロックに対応するコンテキストセットからコンテキストを選択することができる。したがって、サブブロック内でコンテキストセットの切り替えが発生することを防ぐことができ、コンテキストの選択処理の負荷を低減することが可能となる。
【0042】
さらに、この方法によれば、復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択することができる。したがって、周波数成分による係数の偏りに適したコンテキストセットを利用することができ、サブブロックに対応するコンテキストセットを用いることによる符号化効率の低下が抑制された符号列を適切に復号化することができる。
【0043】
例えば、前記コンテキスト選択ステップでは、前記復号化対象ブロック内の左上の係数の位置から前記復号化対象係数の位置までの水平方向距離および垂直方向距離をそれぞれHおよびVと表し、かつ前記複数のサブブロックの垂直方向および水平方向のサイズをαと表した場合に、“(H/α)の整数部+(V/α)の整数部”を前記和として算出してもよい。
【0044】
この方法によれば、復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和を簡易に算出することができる。
【0045】
例えば、前記コンテキスト選択ステップでは、前記和が閾値以下である場合に、第1コンテキストセットから前記コンテキストを選択し、前記和が前記閾値より大きい場合に、前記第1コンテキストセットとは異なる第2コンテキストセットから前記コンテキストを選択してもよい。
【0046】
この方法によれば、和が閾値以下である場合に、第1コンテキストセットからコンテキストを選択し、和が閾値より大きい場合に第2コンテキストセットからコンテキストを選択することができる。したがって、和と閾値との比較結果に基づいて、コンテキストセットをサブブロック間で容易に切り替えることができる。
【0047】
例えば、前記コンテキスト選択ステップでは、前記復号化対象ブロックのサイズが大きいほど大きい前記閾値を算出してもよい。
【0048】
この方法によれば、復号化対象ブロックのサイズが大きいほど大きい閾値を算出することができる。したがって、復号化対象ブロックのサイズによって係数の偏り方が異なる場合に、適切なコンテキストセットからコンテキストを選択することができる。
【0049】
例えば、前記少なくとも1つの参照係数は、前記復号化対象係数よりも高周波数成分の係数であってもよい。
【0050】
この方法によれば、復号化対象係数よりも高周波数成分の係数を参照係数として用いることができる。一般的な画像では、低周波数成分の係数の方が高周波数成分の係数よりも値が大きいことが多い。したがって、復号化対象係数よりも高周波数成分の係数を参照係数として用いることにより、一般的な画像の特性を利用して適切なコンテキストを選択することが可能となる。
【0051】
例えば、前記復号化対象係数を表すパラメータは、前記復号化対象係数が0か否かを示すフラグであってもよい。
【0052】
この方法によれば、復号化対象係数を表すパラメータとして、復号化対象係数が0か否かを示すフラグを復号化することができる。このフラグは、発生頻度が高いパラメータであり、符号化効率に及ぼす影響が大きい。さらに、このフラグは、サブブロック内で発生数が制限されるパラメータとは異なり、サブブロックによる値の偏りも存在しない。しかし、このようなフラグを符号化する際に、サブブロックに対応するコンテキストセットからコンテキストを選択しても、符号化効率の低下を抑制することができる。
【0053】
例えば、前記少なくとも1つの参照係数は、複数の参照係数であり、前記コンテキスト選択ステップでは、前記複数の参照係数の中で値が0でない参照係数の数に対応する前記コンテキストを選択してもよい。
【0054】
この方法によれば、複数の参照係数の中で値が0でない参照係数の数を用いてコンテキストを選択することができる。したがって、参照係数に基づいて適切なコンテキストを選択することが可能となる。
【0055】
例えば、前記画像復号化方法は、さらに、ビットストリームに付加された第1規格または第2規格を示す識別情報に応じて、前記第1規格に準拠する第1復号化処理、または前記第2規格に準拠する第2復号化処理に、復号化処理を切り替える切り替えステップを含み、前記復号化処理が第1復号化処理に切り替えられた場合に、前記第1復号化処理として、前記コンテキスト選択ステップと、前記算術復号化ステップとが行われてもよい。
【0056】
この方法によれば、第1規格に準拠する第1復号化処理と第2規格に準拠する第2復号化処理とを切り替えることが可能となる。
【0057】
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【0058】
以下、実施の形態について図面を参照しながら具体的に説明する。
【0059】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0060】
(実施の形態1)
<全体構成>
図4は、実施の形態1における画像符号化装置100の構成を示す。この画像符号化装置100は、画像をブロック毎に符号化する。画像符号化装置100は、符号ブロック分割部101と、予測部102と、減算部103と、変換部104と、可変長符号化部105と、逆変換部106と、加算部107と、フレームメモリ108とを備える。
【0061】
符号ブロック分割部101は、入力画像(入力ピクチャ)を複数の符号ブロックに分割する。符号ブロックは、例えば周波数変換が行われる単位(変換単位)である。変換単位は、符号化単位と同一のサイズまたは符号化単位より小さいサイズを有する。符号ブロック分割部101は、予測部102および減算部103に、複数の符号ブロックを順次出力する。
【0062】
予測部102は、符号ブロックの予測画像(予測ブロック)を生成する。例えば、予測部102は、インター予測またはイントラ予測により、予測ブロックを生成する。
【0063】
減算部103は、符号ブロックの画像から符号ブロックの予測画像を減算することにより、符号ブロックの予測誤差画像(差分ブロック)を生成する。
【0064】
変換部104は、差分ブロックを周波数変換することにより、複数の周波数係数を生成する。なお、変換部104は、必要に応じて、複数の周波数係数を量子化することにより、複数の量子化係数を生成する。なお、以下において、周波数係数および量子化係数を区別せずに単に係数と呼ぶ。
【0065】
可変長符号化部105は、変換部104によって生成された複数の係数を可変長符号化する。さらに、可変長符号化部105は、予測情報(例えば動きベクトル情報)を可変長符号化する。この可変長符号化部105の詳細は後述する。
【0066】
逆変換部106は、複数の係数を逆変換することにより、差分ブロックを復元する。
【0067】
加算部107は、符号化ブロックの予測画像と、復元された誤差画像とを加算することにより、符号ブロックの復号画像(復号ブロック)を生成する。
【0068】
フレームメモリ108は、復号画像を格納している。
【0069】
<動作(全体)>
次に、以上にように構成された画像符号化装置100の処理動作について説明する。
図5は、実施の形態1における画像符号化装置100の処理動作を示すフローチャートである。
【0070】
(ステップS101)
符号ブロック分割部101は、入力画像を複数の符号ブロックに分割する。そして、符号ブロック分割部101は、複数の符号ブロックを順次、減算部103と予測部102とに出力する。
【0071】
ここでは、符号ブロックは、可変サイズである。したがって、符号ブロック分割部101は、画像の特徴を用いて、入力画像を複数の符号ブロックに分割する。符号ブロックの最小サイズは、例えば横4画素×縦4画素である。また、符号ブロックの最大サイズは、例えば横32画素×縦32画素である。
【0072】
(ステップS102)
予測部102は、符号ブロックとフレームメモリ108に格納されている復号画像とに基づいて予測ブロックを生成する。
【0073】
(ステップS103)
減算部103は、入力画像から予測ブロックを減算することにより、差分ブロックを生成する。
【0074】
(ステップS104)
変換部104は、差分ブロックを複数の係数に変換する。
【0075】
(ステップS105)
可変長符号化部105は、複数の係数を可変長符号化することにより、符号列を出力する。
【0076】
(ステップS106)
逆変換部106は、複数の係数を逆変換することにより、差分ブロックを復元する。
【0077】
(ステップS107)
加算部107は、復元された差分ブロックと予測ブロックとを加算することにより復号ブロックを生成する。さらに、加算部107は、生成された復号ブロックを、フレームメモリ108に格納する。
【0078】
(ステップS108)
入力画像内の全ての符号ブロックの符号化が完了するまで、ステップS102からステップS107を繰り返す。
【0079】
<可変長符号化部の構成>
図6は、実施の形態1における可変長符号化部105の内部構成を示す。本実施の形態では、可変長符号化部105は、各係数を、significant_flag、greater1_flag、greater2_flag、level_minus3、およびsign_flagの5つのパラメータのうちの少なくとも1つを用いて符号化する。可変長符号化部105は、係数ブロック分割部111と、significant_flag符号化部112と、greater1_flag符号化部113と、greater2_flag符号化部114と、level_minus3符号化部115と、sign_flag符号化部116とを備える。
【0080】
係数ブロック分割部111は、符号ブロックを複数の係数ブロックに分割する。係数ブロックは、サブブロックの一例である。本実施の形態では、係数ブロック分割部111は、符号ブロックを4×4画素の係数ブロックに分割する。つまり、本実施の形態では、係数ブロックは、16個の係数を含む。
【0081】
significant_flag符号化部112は、significant_flagを符号化する。significant_flagは、係数が「0」かどうかを示すフラグである。significant_flagの値が「0」の場合には、係数が「0」であることを示す。一方、significant_flagの値が「1」の場合には、係数が「0」でないことを示す。このsignificant_flag符号化部112の詳細は後述する。
【0082】
greater1_flag符号化部113は、significant_flagが「1」である場合(係数が「0」ではない場合)にのみ、greater1_flagを符号化する。greater1_flagは、係数の絶対値が1より大きいかどうかを示すフラグである。greater1_flagの値が「0」の場合は、係数の絶対値が「1」であることを示す。一方、greater1_flagの値が「1」の場合は、係数の絶対値が2以上であることを示す。
【0083】
greater2_flag符号化部114は、greater1_flagが「1」である場合(係数の絶対値が「2」以上の場合)にのみ、greater2_flagを符号化する。greater2_flagは、係数の絶対値が「2」より大きいかどうかを示すフラグである。greater2_flagの値が「0」の場合は、係数の絶対値が「2」であることを示す。一方、greater2_flagの値が「1」の場合は、係数の絶対値が「3」以上であることを示す。
【0084】
level_minus3符号化部115は、greater2_flagが「1」の場合(係数の絶対値が3以上の場合)にのみ、level_minus3を符号化する。level_minus3は、係数の絶対値から「3」を減算した値を示す。
【0085】
sign_flag符号化部116は、significant_flagが「1」の場合(係数が「0」ではない場合)にのみ、sign_flagを符号化する。sign_flagは、係数が負の値かどうかを示すフラグである。sign_flagの値が「0」の場合は、係数が正の値であることを示す。一方、sign_flagの値が「1」の場合は、係数が負の値であることを示す。
【0086】
<動作(可変長符号化)>
次に、以上のように構成された可変長符号化部105の処理動作について説明する。
図7は、実施の形態1における可変長符号化部105の処理動作を示すフローチャートである。
【0087】
(ステップS111)
係数ブロック分割部111は、符号ブロックを4×4画素の係数ブロックに分割する。例えば、符号ブロックが32×32画素の場合、係数ブロック分割部111は、符号ブロックを、横に8分割し、縦に8分割する。また例えば、符号ブロックが4×4画素の場合は、符号ブロックを分割しない。なお、以降のステップS112〜ステップS116は、4×4画素の係数ブロック毎に実行される。
【0088】
(ステップS112)
significant_flag符号化部112は、コンテキストを用いて、significant_flagを算術符号化する。
【0089】
(ステップS113)
greater1_flag符号化部113は、コンテキストを用いて、greater1_flagを算術符号化する。
【0090】
(ステップS114)
greater2_flag符号化部114は、コンテキストを用いて、greater2_flagを算術符号化する。
【0091】
(ステップS115)
level_minus3符号化部115は、level_minus3を算術符号化する。具体的には、level_minus3符号化部115は、コンテキストを用いずに、固定のシンボル発生確率(50%)を用いて算術符号化を行う。
【0092】
(ステップS116)
sign_flag符号化部116は、sign_flagを算術符号化する。具体的には、sign_flag符号化部116は、level_minus3符号化部115と同様に、コンテキストを用いずに、固定のシンボル発生確率(50%)を用いて算術符号化を行う。
【0093】
(ステップS117)
符号ブロック内の全ての係数ブロックの符号化が完了するまで、ステップS112〜ステップS116を繰り返す。
【0094】
<significant_flag符号化部の構成>
図8は、実施の形態1におけるsignificant_flag符号化部112の内部構成を示す。significant_flag符号化部112は、significant_flagグループ設定部121と、significant_flag設定部122と、significant_flagメモリ123と、significant_flagコンテキスト選択部124と、算術符号化部125と、significant_flagコンテキストメモリ126とを備える。
【0095】
significant_flagグループ設定部121は、符号ブロックに含まれる複数の係数ブロックをグループ分けする。具体的には、significant_flagグループ設定部121は、符号ブロック内における係数ブロックの水平方向の位置を示す値と垂直方向の位置を示す値との和を用いて、複数の係数ブロックをグループ分けする。より具体的には、significant_flagグループ設定部121は、複数の係数ブロックを、例えば、上記の和が閾値(グループ判定閾値)以下の場合と和が閾値より大きい場合とで互いに異なるグループに分ける。
【0096】
係数ブロックの水平方向および垂直方向の位置を示す値は、係数ブロックに含まれる係数の水平方向の位置を示す値(係数水平位置)および垂直方向の位置を示す値(係数垂直位置)からそれぞれ導出される。具体的には、significant_flagグループ設定部121は、例えば、「(係数水平位置/係数ブロックの水平サイズ)の整数部」を、係数ブロックの水平方向の位置を示す値として導出する。また例えば、significant_flagグループ設定部121は、「(係数垂直位置/係数ブロックの垂直サイズ)の整数部」を、係数ブロックの垂直方向の位置を示す値として導出する。
【0097】
なお、係数水平位置および係数垂直位置として、例えば、符号ブロック内の左上の係数の位置から係数ブロックに含まれる係数の位置までの水平方向および垂直方向の距離をそれぞれ用いることができる。
【0098】
significant_flag設定部122は、係数ブロック毎に、当該係数ブロックに含まれる複数の係数を順に読み出す。そして、significant_flag設定部122は、読み出された係数が「0」か否かに基づいて、当該係数のsignificant_flagに値を設定する。本実施の形態では、significant_flag設定部122は、係数が「0」である場合に、significant_flagに「0」を設定し、係数が「0」でない場合に、significant_flagに「1」を設定する。
【0099】
さらに、significant_flag設定部122は、各係数のsignificant_flagをsignificant_flagメモリ123に格納する。
【0100】
significant_flagメモリ123は、各係数のsignificant_flagを格納している。
【0101】
significant_flagコンテキスト選択部124は、係数ブロックの各々について、当該係数ブロックに対応するコンテキストセットから、当該係数ブロックに含まれる処理対象係数(符号化対象係数)を表すパラメータを算術符号化するためのコンテキストを、処理対象係数の周辺に位置する少なくとも1つの参照係数に基づいて選択する。具体的には、significant_flagコンテキスト選択部124は、符号ブロック内における当該係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択する。
【0102】
算術符号化部125は、選択されたコンテキストの確率情報をsignificant_flagコンテキストメモリ126から取得する。そして、算術符号化部125は、取得されたコンテキストの確率情報を用いて処理対象係数を表すパラメータを算術符号化する。本実施の形態では、パラメータは、significant_flagである。
【0103】
さらに、算術符号化部125は、significant_flagの値に応じて、significant_flagコンテキストメモリ126に格納されているコンテキストの確率情報を更新する。
【0104】
significant_flagコンテキストメモリ126は、コンテキスト毎に確率情報を格納している。
【0105】
<動作(significant_flag符号化)>
次に、以上のように構成されたsignificant_flag符号化部112の処理動作について説明する。
図9は、実施の形態1におけるsignificant_flag符号化部112の処理動作を示す。なお、係数ブロックに含まれる複数の係数のsignificant_flagの符号化順は、
図2と同様である。つまり、significant_flagは、係数ブロック単位で符号化される。
【0106】
(ステップS121)
significant_flagグループ設定部121は、グループ判定閾値を算出する。例えば、significant_flagグループ設定部121は、符号ブロックの水平サイズを例えば「16」で除算する。そして、significant_flagグループ設定部121は、除算結果の整数部をグループ判定閾値に設定する。
【0107】
つまり、significant_flagグループ設定部121は、符号ブロックのサイズが大きいほど大きい閾値を算出する。これにより、符号ブロックのサイズによって係数の偏り方が異なる場合に、適切なコンテキストセットを係数ブロックに対応付けることができる。なお、閾値は、符号ブロックのサイズに依存しない一定の値であってもよい。この場合、significant_flagグループ設定部121は、符号ブロックのサイズを用いて閾値を算出しなくてもよい。
【0108】
(ステップS122)
significant_flagグループ設定部121は、「係数水平位置/4」の整数部と「係数垂直位置/4」の整数部とを加算する。そして、significant_flagグループ設定部121は、加算結果を、ステップS121で設定されたグループ判定閾値と比較する。ここで、加算結果がグループ判定閾値以下であれば、ステップS123へ進み、そうでなければステップS124へ進む。
【0109】
係数水平位置および係数垂直位置は、符号ブロック内における処理対象係数の水平方向および垂直方向の位置またはそれらの位置を示す値である。ここでは、係数水平位置および係数垂直位置は、符号ブロック内の左上係数から処理対象係数までの水平方向および垂直方向の距離(画素数)である。つまり、左上係数では、係数水平位置および係数垂直位置はともに「0」である。なお、係数水平位置および係数垂直位置をそれぞれ「4」で除算するのは、係数ブロックの水平サイズおよび垂直サイズが「4」であるからである。
【0110】
(ステップS123)
significant_flagグループ設定部121は、グループに「A」を設定する。
【0111】
(ステップS124)
significant_flagグループ設定部121は、グループに「B」を設定する。
【0112】
図10Aは、16×16画素の符号ブロックの場合におけるグループ分け結果の一例を示す。
図10Bは、32×32画素の符号ブロックの場合におけるグループ分け結果の一例を示す。
【0113】
図10Aに示すように、16×16画素の符号ブロックの場合は、左上の1つの係数ブロックのみがグループAに含まれる。また
図10Bに示すように、32×32画素の符号ブロックの場合は、左上の3つの係数ブロックがグループAに含まれる。
【0114】
以降のステップS125からステップS139は、係数ブロック内の係数単位の処理であり、係数ブロック内の全ての係数の処理が完了するまで繰り返される。
【0115】
(ステップS125)
significant_flag設定部122は、処理対象係数が「0」かどうか判定する。そして、処理対象係数が「0」である場合はステップS126へ進み、処理対象係数が「0」でない場合はステップS127へ進む。
【0116】
(ステップS126)
significant_flag設定部122は、signifiant_flagに「0」を設定する。そして、significant_flag設定部122は、「0」が設定されたsignificant_flagを算術符号化部125およびsignificant_flagメモリ123に出力する。
【0117】
(ステップS127)
significant_flag設定部122は、signifiant_flagに「1」を設定する。そして、significant_flag設定部122は、「1」が設定されたsignificant_flagを算術符号化部125およびsignificant_flagメモリ123に出力する。
【0118】
(ステップS128)
significant_flagコンテキスト選択部124は、以降の処理で使用するSNUMに「0」を設定する。
【0119】
なお、以降のステップS129からステップS132は、処理済みの係数ごとに処理され、処理済係数の全てが処理されるまで繰り返される。
【0120】
(ステップS129)
significant_flagコンテキスト選択部124は、処理済係数が処理対象係数より高周波数成分の係数か否かを判定する。処理済係数が処理対象係数より高周波数成分の係数の場合はステップS130へ進み、そうでない場合はステップS133へ進む。つまり、significant_flagコンテキスト選択部124は、処理対象係数よりも高周波数成分の係数を参照係数として利用する。
【0121】
なお、significant_flagコンテキスト選択部124は、処理済係数が処理対象係数の右方向、下方向、および右下方向のいずれに位置するかを判定することにより、処理済係数が処理対象係数より高周波数成分の係数かどうかを判定する。
【0122】
(ステップS130)
significant_flagコンテキスト選択部124は、処理済係数位置と処理対象係数位置との差分を計算し、hに水平位置差分、vに垂直位置差分を設定する。
【0123】
(ステップS131)
significant_flagコンテキスト選択部124は、ステップS130で設定したhとvとの和が「2」以下かどうかを判定する。ここで、hとvとの和が「2」以下であればステップS132へ、そうでなければステップS133へ進む。すなわち、significant_flagコンテキスト選択部124は、hとvとの和が「2」以下の処理済係数を参照係数として用い、hとvとの和が「3」以上の処理済係数を参照係数として用いない。つまり、処理対象係数の1つ右の係数、2つ右の係数、1つ下の係数、2つ下の係数、および右下の係数の合計5つの係数が参照係数として用いられる。参照係数位置に関しては、
図1で示した参照係数と同様である。
【0124】
(ステップS132)
significant_flagコンテキスト選択部124は、処理済係数(参照係数)のsignificant_flagの値をsignificant_flagメモリ123からロードし、SNUMに加算する。
【0125】
(ステップS133)
significant_flagコンテキスト選択部124は、符号ブロック内の全ての処理済係数に対して処理が行われるまでステップS129〜ステップS132を繰り返す。
【0126】
ステップS129からステップS132の処理の結果、最終的なSNUMには、処理対象係数の周辺の参照係数のうち、significant_flagが「1」である参照係数の個数が設定される。つまり、SNUMは、複数の参照係数の中で値が0でない参照係数の数を示す。ここでは、SNUMは、0〜5の値を取り得る。
【0127】
(ステップS134)
significant_flagコンテキスト選択部124は、SNUMが「3」より大きいかを判定する。ここで、SNUMが「3」より大きい場合はステップS135へ、そうでない場合はステップS136へ進む。
【0128】
(ステップS135)
significant_flagコンテキスト選択部124は、SNUMに「4」を設定する。つまり、significant_flagコンテキスト選択部124は、SNUMが「4」を超えないように、SNUMの値を再設定する。
【0129】
(ステップS136)
significant_flagコンテキスト選択部124は、処理対象係数を含む係数ブロックがグループAに含まれる場合には、SNUMをコンテキスト番号に設定する。一方、significant_flagコンテキスト選択部124は、処理対象係数を含む係数ブロックがグループBに含まれる場合には、SUMに「5」を加算した結果をコンテキスト番号に設定する。
【0130】
その結果、グループAに含まれる係数ブロック内の処理対象係数の算術符号化には、0〜4のコンテキスト番号が示すコンテキストのいずれかが選択され、グループBに含まれる係数ブロック内の処理対象係数の算術符号化には、5〜9のコンテキスト番号が示すコンテキストのいずれかが選択される。
【0131】
つまり、significant_flagコンテキスト選択部124は、係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和が閾値以下である場合に、第1コンテキストセット(コンテキスト番号0〜4のコンテキスト)からコンテキストを選択する。また、significant_flagコンテキスト選択部124は、係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和が閾値以下である場合に、第2コンテキストセット(コンテキスト番号5〜9のコンテキスト)からコンテキストを選択する。すなわち、係数ブロックが属するグループによってどのコンテキストセットが使われるかが決まる。
【0132】
また、コンテキストセット中のどのコンテキストを使うかはSNUM(複数の参照係数の中で値が0でない参照係数の数)に応じて決まる。つまり、significant_flagコンテキスト選択部124は、複数の参照係数の中で値が「0」でない参照係数の数(逆に言えば、値が「0」である参照係数の数)に対応するコンテキストを選択する。
【0133】
(ステップS137)
算術符号化部125は、コンテキスト番号に従って、significant_flagコンテキストメモリ126からコンテキストの確率情報をロードする。
【0134】
(ステップS138)
算術符号化部125は、確率情報を用いてsignificant_flagを算術符号化することにより、符号列を出力する。
【0135】
(ステップS139)
算術符号化部125は、significant_flagの値に応じてコンテキストの確率情報を更新し、更新したコンテキストの確率情報をsignificant_flagコンテキストメモリ126にストアする。
【0136】
(ステップS140)
係数ブロック内の全ての係数の処理が完了するまでステップS125〜ステップS139が繰り返される。
【0137】
なお、
図9では、係数ブロック毎に、当該係数ブロックがどのグループに属するか否かの判定が行われていたが、係数毎に判定が行われてもよい。つまり、
図9では、ステップS140の判定結果がNoの場合に、ステップS125に戻っていたが、ステップS122に戻ってもよい。この場合であっても、係数ブロック内でコンテキストセットの切り替えが発生することを防ぐことができる。さらに、この場合、決定されたグループに対応するコンテキストセットのみをメモリからロードすればよいので、メモリ負荷を軽減することができる。
【0138】
<効果>
以上のように、本実施の形態における画像符号化装置100よれば、符号化効率の低下を抑制しつつ、コンテキストの選択処理の負荷を減らすことができる。この効果を、図面を用いてより具体的に説明する。
【0139】
図11Aおよび
図11Bは、実施の形態1における、係数ブロックに含まれる異なる係数のためのコンテキストセットを説明するための図である。
図11Aおよび
図11Bでは、
図3Aおよび
図3Bで示したような係数ブロック内部でのグループ(コンテキストセット)の切り替えが発生しない。したがって、画像符号化装置100は、どのコンテキストセットからコンテキストから選択するかを係数毎に判定する必要がなく、コンテキストの選択処理の負荷を低減することができる。
【0140】
さらに、画像符号化装置100は、符号ブロック内における係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択することができる。したがって、画像符号化装置100は、周波数成分による係数の偏りに適したコンテキストセットを利用することができ、係数ブロックに対応するコンテキストセットを用いることによる符号化効率の低下を抑制することができる。
【0141】
また、本実施の形態における画像符号化装置100によれば、significant_flagを算術符号化する際に、係数ブロックに対応するコンテキストセットからコンテキストを選択することができる。significant_flagは、発生頻度が高いパラメータであり、符号化効率に及ぼす影響が大きい。また、significant_flagは、係数ブロック内で発生数が制限されるパラメータとは異なり、係数ブロックによる値の偏りも存在しない。しかし、このようなsignificant_flagを符号化する際に、係数ブロックに対応するコンテキストセットからコンテキストを選択しても、符号化効率が低下しないことを本発明者らは発見した。つまり、画像符号化装置100は、significant_flagの算術符号化において、符号化効率の低下を抑制しつつ、コンテキストの選択処理の負荷を低減することが可能となる。
【0142】
(実施の形態2)
<全体構成>
図12は、実施の形態2における画像復号化装置200の構成を示す。画像復号化装置200は、ブロック毎に符号化された画像を復号化する。具体的には、画像復号化装置200は、実施の形態1における画像符号化装置100によって符号化された画像を復号化する。画像復号化装置200は、可変長復号化部201と、逆変換部202と、予測部203と、加算部204と、復号ブロック結合部205と、フレームメモリ206とを備える。
【0143】
可変長復号化部201は、符号列を可変長復号化することにより、復号化対象ブロック毎に複数の係数と予測情報(例えば、動きベクトル情報など)とを得る。
【0144】
逆変換部202は、複数の係数を逆変換することにより、復号化対象ブロックの誤差画像(差分ブロック)を生成する。
【0145】
予測部203は、予測情報とフレームメモリ206に格納されている復号画像(復号ピクチャ)とを用いて、復号化対象ブロックの予測画像(予測ブロック)を生成する。
【0146】
加算部204は、復号化対象ブロックの誤差画像と予測画像とを加算することにより、復号化対象ブロックの復号画像(復号ブロック)を生成する。
【0147】
復号ブロック結合部205は、複数の復号ブロックを結合することにより復号画像を生成する。さらに、復号ブロック結合部205は、復号画像をフレームメモリ206に格納する。
【0148】
フレームメモリ206は、復号画像を格納している。
【0149】
<動作(全体)>
次に、以上にように構成された画像復号化装置200の処理動作について説明する。
図13は、実施の形態2における画像復号化装置200の処理動作を示すフローチャートである。
【0150】
(ステップS201)
可変長復号化部201は、符号列を可変長復号化することにより、複数の係数と予測情報とを得る。そして、可変長復号化部201は、複数の係数を逆変換部202へ出力し、予測情報を予測部203へ出力する。
【0151】
(ステップS202)
逆変換部202は、複数の係数を逆変換することにより、差分ブロックを生成する。
【0152】
(ステップS203)
予測部203は、フレームメモリ206に格納されている復号画像と、可変長復号化部201によって復号化された予測情報とを用いて、予測ブロックを生成する。
【0153】
(ステップS204)
加算部204は、予測ブロックと差分ブロックとを加算することにより、復号ブロックを生成する。
【0154】
(ステップS205)
画像内の全ての復号ブロックの復号化が完了するまで、ステップS201〜ステップS204が繰り返される。
【0155】
(ステップS206)
復号ブロック結合部205は、復号ブロックを結合することによって復号画像を生成する。さらに、復号ブロック結合部205は、フレームメモリ206に復号画像を格納する。
【0156】
<可変長復号化部の構成>
図14は、実施の形態2における可変長復号化部201の内部構成を示す。本実施の形態では、実施の形態1と同様に、各係数は、significant_flag、greater1_flag、greater2_flag、level_minus3、およびsign_flagの5つのパラメータのうちの少なくとも1つを用いて表現される。各パラメータの意味は、実施の形態1と同様であるため、説明を省略する。
【0157】
可変長復号化部201は、significant_flag復号化部211と、greater1_flag復号化部212と、greater2_flag復号化部213と、level_minus3復号化部214と、sign_flag復号化部215と、係数復元部216と、係数ブロック結合部217とを備える。
【0158】
<動作(可変長復号化)>
次に、以上のように構成された可変長復号化部201の処理動作について説明する。
図15は、実施の形態2における可変長復号化部201の処理動作を示すフローチャートである。なお、ステップS211〜ステップS216は、復号化対象ブロックに含まれる係数ブロック毎に処理される。
【0159】
(ステップS211)
significant_flag復号化部211は、コンテキストを用いて、係数ブロックに含まれる各係数のsignificant_flagを算術復号化する。そして、significant_flag復号化部211は、significant_flagを、greater1_flag復号化部212、greater2_flag復号化部213、level_minus3復号化部214、sign_flag復号化部215、および係数復元部216へ出力する。
【0160】
(ステップS212)
greater1_flag復号化部212は、コンテキストを用いて、significant_flagが「1」である係数のgreater1_flagを算術復号化する。そして、greater1_flag復号化部212は、greater1_flagを、greater2_flag復号化部213、level_minus3復号化部214、および係数復元部216へ出力する。
【0161】
(ステップS213)
greater2_flag復号化部213は、コンテキストを用いて、significant_flagが「1」であり、かつgreater1_flagが「1」である係数のgreater2_flagを算術復号化する。そして、greater2_flag復号化部213は、greater2_flagを、level_minus3復号化部214、および係数復元部216へ出力する。
【0162】
(ステップS214)
level_minus3復号化部214は、コンテキストを用いずに、固定のシンボル発生確率(50%)を用いて、significant_flagが「1」であり、かつgreater1_flagが「1」であり、かつgreater2_flagが「1」である係数のlevel_minus3を復号化する。そして、level_minus3復号化部214は、level_minus3を係数復元部216へ出力する。
【0163】
(ステップS215)
sign_flag復号化部215は、コンテキストを用いずに、固定のシンボル発生確率(50%)を用いて、significant_flagが「1」である係数のsign_flagを復号化する。そして、sign_flag復号化部215は、sign_flagを係数復元部216へ出力する。
【0164】
(ステップS216)
係数復元部216は、significant_flag、greater1_flag、greater2_flag、level_minus3、およびsign_flagを用いて係数を復元する。各パラメータの意味は前述した通りであるので、係数復元部216は、その意味に従って係数を復元する。
【0165】
(ステップS217)
復号化対象ブロック内の全ての係数ブロックの復号化が完了するまで、ステップS212〜ステップS216が繰り返される。
【0166】
(ステップS218)
係数ブロック結合部217は、復号化対象ブロック内の全ての係数ブロックを結合することにより、復号ブロックを出力する。
【0167】
<significant_flag復号化部の構成>
図16は、実施の形態2におけるsignificantsignificant_flag復号化部211の内部構成を示す。significant_flag復号化部211は、significant_flagグループ設定部221と、significant_flagコンテキスト選択部222と、算術復号化部223と、significant_flagコンテキストメモリ224と、significant_flagメモリ225とを備える。
【0168】
significant_flagグループ設定部221は、実施の形態1のsignificant_flagグループ設定部121と同様に、符号ブロックに含まれる複数の係数ブロックをグループ分けする。
【0169】
significant_flagコンテキスト選択部222は、係数ブロックの各々について、当該係数ブロックに対応するコンテキストセットから、当該係数ブロックに含まれる処理対象係数(復号化対象係数)を表すパラメータを算術符号化するためのコンテキストを、処理対象係数の周辺に位置する少なくとも1つの参照係数に基づいて選択する。具体的には、significant_flagコンテキスト選択部222は、符号ブロック内における当該係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択する。
【0170】
算術復号化部223は、選択されたコンテキストの確率情報をsignificant_flagコンテキストメモリ224から取得する。そして、算術復号化部223は、取得されたコンテキストの確率情報を用いて処理対象係数を表すパラメータを算術復号化する。本実施の形態では、パラメータは、significant_flagである。
【0171】
さらに、算術復号化部223は、復号化されたsignificant_flagを、significant_flagメモリ225に格納する。また、算術復号化部223は、significant_flagの値に応じて、significant_flagコンテキストメモリ224に格納されているコンテキストの確率情報を更新する。
【0172】
significant_flagコンテキストメモリ224は、コンテキスト毎に確率情報を格納している。
【0173】
significant_flagメモリ225は、各係数のsignificant_flagを格納している。
【0174】
<動作(significant_flag復号化)>
次に、以上のように構成されたsignificant_flag復号化部211の処理動作について説明する。
図17は、significant_flag復号化部の処理動作を示すフローチャートである。
【0175】
(ステップS221〜ステップS224)
significant_flagグループ設定部221は、
図9のステップS121〜ステップS124と同様に、係数ブロックのグループ分けを行う。
【0176】
(ステップS225〜ステップS233)
significant_flagコンテキスト選択部222は、
図9のステップS128〜ステップS136と同様に、係数ブロックが属するグループに対応するコンテキストセットから、処理対象係数の近傍に位置する参照係数に基づいてコンテキストを選択する。具体的には、significant_flagコンテキスト選択部222は、係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和が閾値以下である場合に、第1コンテキストセット(コンテキスト番号0〜4のコンテキスト)からコンテキストを選択する。また、significant_flagコンテキスト選択部222は、係数ブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和が閾値以下である場合に、第2コンテキストセット(コンテキスト番号5〜9のコンテキスト)からコンテキストを選択する。また、significant_flagコンテキスト選択部222は、処理対象係数よりも高周波数成分の複数の参照係数の中で値が「0」でない参照係数の数(逆に言えば、値が「0」である参照係数の数)に対応するコンテキストを選択する。
【0177】
(ステップS234)
算術復号化部223は、コンテキスト番号に従って、significant_flagコンテキストメモリ224からコンテキストの確率情報をロードする。
【0178】
(ステップS235)
算術復号化部223は、確率情報を用いてsignificant_flagを算術復号化する。
【0179】
(ステップS236)
算術復号化部223は、significant_flagの値に応じてコンテキストの確率情報を更新し、更新したコンテキストの確率情報をsignificant_flagコンテキストメモリ224にストアする。
【0180】
(ステップS237)
係数ブロック内の全ての係数の処理が完了するまでステップS225〜ステップS236が繰り返される。
【0181】
なお、
図17では、係数ブロック毎に、当該係数ブロックがどのグループに属するか否かの判定が行われていたが、係数毎に判定が行われてもよい。つまり、
図17では、ステップS237の判定結果がNoの場合に、ステップS225に戻っていたが、ステップS222に戻ってもよい。この場合であっても、係数ブロック内でコンテキストセットの切り替えが発生することを防ぐことができる。さらに、この場合、決定されたグループに対応するコンテキストセットのみをメモリからロードすればよいので、メモリ負荷を軽減することができる。
【0182】
<効果>
以上のように、本実施の形態に係る画像復号化装置200によれば、実施の形態1における画像符号化装置100と同様に、符号化効率の低下を抑制しつつ、コンテキストの選択処理の負荷を減らすことができる。
【0183】
以上、1つまたは複数の態様に係る画像符号化装置および画像復号化装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、1つまたは複数の態様の範囲内に含まれてもよい。
【0184】
例えば、上記各実施の形態において、サブブロックの水平方向および垂直方向の位置を示す値は、「(係数水平位置/係数ブロックの水平サイズ)の整数部」および「(係数垂直位置/係数ブロックの垂直サイズ)の整数部」によって算出されていたが、これとは異なる方法で算出されてもよい。例えば、サブブロックの水平方向および垂直方向の位置を示す値は、除算の代わりにシフト演算を用いて算出されてもよい。
【0185】
また、上記各実施の形態において、符号化対象ブロックまたは復号化対象ブロックに含まれる複数の係数は、2つのグループに分類されたが、3つ以上のグループに分類されてもよい。この場合、グループの数に応じて、グループ判定閾値が増加されればよい。
【0186】
また、上記各実施の形態における参照係数の数および位置は一例であり、他の参照係数が用いられてもよい。
【0187】
また、上記各実施の形態において、サブブロックと参照係数とに基づいてコンテキストが選択されているが、さらに他の条件にも基づいてコンテキストが選択されてもよい。例えば、符号化対象ブロックまたは復号化対象ブロックの左上隅の係数(直流成分)を算術符号化するためのコンテキストとして、他の係数とは異なるコンテキストが選択されてもよい。
【0188】
また、上記各実施の形態において、符号化対象ブロックまたは復号化対象ブロックの右下隅の係数(最も高周波数の成分)から順に、各係数が算術符号化または算術復号化されているが、高周波数成分から走査して最初に出現したゼロでない係数から算術符号化または算術復号化してもよい。この場合、高周波数成分から走査して最初に出現したゼロでない係数までに出現したゼロの係数は算術符号化されなくてもよい。
【0189】
また、上記各実施の形態において、係数は、5つのパラメータを用いて符号化されていたが、他のパラメータを用いて符号化されてもよい。例えば、係数は、significant_flag、level_minus1、sign_flagの3つのパラメータを用いて符号化されてもよい。
【0190】
また、上記各実施の形態では、significant_flagの算術符号化または算術復号化するためのコンテキストの選択方法について説明したが、他のパラメータについても、significant_flagと同様の選択方法を用いてコンテキストを選択してもよい。
【0191】
また、上記各実施の形態において、符号化対象ブロックまたは復号化対象ブロックの外部に位置する係数を参照係数として用いなくてもよい。さらに、符号化対象ブロックまたは復号化対象ブロックが含まれるピクチャとは時間的に異なるピクチャに含まれる係数を参照係数として用いてもよい。
【0192】
また、上記各実施の形態における符号ブロック(符号化対象ブロックまたは復号化対象ブロック)および係数ブロック(サブブロック)のサイズは一例であり、他のサイズであってもよい。
【0193】
なお、実施の形態1における画像符号化装置100は、
図4に示す構成要素をすべて備える必要はない。例えば、画像符号化装置は以下のように構成されてもよい。
【0194】
図18は、実施の形態1の変形例における画像符号化装置300の構成を示す。画像符号化装置300は、画像をブロック毎に符号化する。
図18に示すように、画像符号化装置300は、コンテキスト選択部301と、算術符号化部302とを備える。
【0195】
ここで、以上のように構成された画像符号化装置300の処理動作について説明する。
図19は、実施の形態1の変形例における画像符号化装置300の処理動作を示すフローチャートである。
【0196】
(ステップS301)
コンテキスト選択部301は、変換単位である符号化対象ブロックに含まれる各係数を表すパラメータを算術符号化するためのコンテキストを選択する。具体的には、コンテキスト選択部301は、符号化対象ブロックに含まれる複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを、符号化対象係数の周辺に位置する少なくとも1つの参照係数に基づいて選択する。
【0197】
より具体的には、コンテキスト選択部301は、複数のサブブロックの各々について、符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを選択する。
【0198】
サブブロックとは、符号化対象ブロックを分割して得られるブロックである。各サブブロックは、それぞれが係数を有する複数の画素(例えば4×4画素)を含む。
【0199】
符号化対象係数の周辺に位置する係数とは、符号化対象係数を有する画素から予め定められた範囲内に位置する画素が有する係数を意味する。例えば、符号化対象係数の周辺に位置する係数は、符号化対象係数よりも高周波数成分の係数である。
【0200】
符号化対象係数を表すパラメータとは、例えば、符号化対象係数が0か否かを示すフラグ(significant_flag)である。なお、符号化対象係数を表すパラメータは、significant_flagでなくてもよく、他のパラメータであってもよい。
【0201】
(ステップS302)
算術符号化部302は、コンテキスト選択部301によって選択されたコンテキストの確率情報を用いて符号化対象係数を表すパラメータを算術符号化する。
【0202】
以上のように、画像符号化装置300は、
図18に示すように構成されても、符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択することができる。したがって、画像符号化装置300は、符号化効率の低下を抑制しつつ、コンテキストの選択処理の負荷を低減することができる。
【0203】
なお、実施の形態2における画像復号化装置200は、
図12に示す構成要素をすべて備える必要はない。例えば、画像復号化装置は以下のように構成されてもよい。
【0204】
図20は、実施の形態2の変形例における画像復号化装置400の構成を示す。画像復号化装置400は、ブロック毎に符号化された画像を復号化する。
図20に示すように、画像復号化装置400は、コンテキスト選択部401と、算術復号化部402とを備える。
【0205】
ここで、以上のように構成された画像復号化装置400の処理動作について説明する。
図21は、実施の形態2の変形例における画像復号化装置400の処理動作を示すフローチャートである。
【0206】
(ステップS401)
コンテキスト選択部401は、変換単位である復号化対象ブロックに含まれる各係数を表すパラメータを算術復号化するためのコンテキストを選択する。この処理の詳細は、
図19のステップS301と同様であるので説明を省略する。
【0207】
(ステップS402)
算術復号化部402は、コンテキスト選択部401によって選択されたコンテキストの確率情報を用いて復号化対象係数を表すパラメータを算術復号化する。
【0208】
以上のように、画像復号化装置400は、
図20に示すように構成されても、復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応するコンテキストセットからコンテキストを選択することができる。したがって、画像復号化装置400は、符号化効率の低下を抑制しつつ、コンテキストの選択処理の負荷を低減することができる。
【0209】
なお、上記各実施の形態およびその変形例において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態またはその変形例の画像符号化装置および画像復号化装置などを実現するソフトウェアは、次のようなプログラムである。
【0210】
すなわち、このプログラムは、コンピュータに、画像をブロック毎に符号化する画像符号化方法であって、変換単位である符号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる符号化対象係数を表すパラメータを算術符号化するためのコンテキストを、前記符号化対象係数の周辺に位置する少なくとも1つの参照係数に基づいて選択するコンテキスト選択ステップと、選択された前記コンテキストの確率情報を用いて前記符号化対象係数を表すパラメータを算術符号化する算術符号化ステップとを含み、前記コンテキスト選択ステップでは、前記符号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する画像符号化方法を実行させる。
【0211】
または、このプログラムは、コンピュータに、ブロック毎に符号化された画像を復号化する画像復号化方法であって、変換単位である復号化対象ブロックに含まれる複数のサブブロックであって複数の係数をそれぞれ含む複数のサブブロックの各々について、当該サブブロックに対応するコンテキストセットから、当該サブブロックに含まれる復号化対象係数を表すパラメータを算術復号化するためのコンテキストを、前記復号化対象係数の周辺に位置する少なくとも1つの参照係数に基づいて選択するコンテキスト選択ステップと、選択された前記コンテキストの確率情報を用いて前記復号化対象係数を表すパラメータを算術復号化する算術復号化ステップとを含み、前記コンテキスト選択ステップでは、前記復号化対象ブロック内における当該サブブロックの水平方向の位置を示す値および垂直方向の位置を示す値の和に対応する前記コンテキストセットから前記コンテキストを選択する画像復号化方法を実行させる。
【0212】
(実施の形態3)
上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
【0213】
さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
【0214】
図22は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
【0215】
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
【0216】
しかし、コンテンツ供給システムex100は
図22のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
【0217】
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
【0218】
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
【0219】
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
【0220】
また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
【0221】
また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
【0222】
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
【0223】
なお、コンテンツ供給システムex100の例に限らず、
図23に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
【0224】
また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
【0225】
図24は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
【0226】
また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
【0227】
まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
【0228】
また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
【0229】
また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
【0230】
一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を
図25に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
【0231】
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
【0232】
図26に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
【0233】
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
【0234】
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば
図24に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
【0235】
図27Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
【0236】
さらに、携帯電話ex114の構成例について、
図27Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
【0237】
電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
【0238】
携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
【0239】
さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
【0240】
データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
【0241】
多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
【0242】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
【0243】
また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
【0244】
このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
【0245】
また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【0246】
(実施の形態4)
上記各実施の形態で示した動画像符号化方法または装置と、MPEG−2、MPEG4−AVC、VC−1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
【0247】
ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
【0248】
この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG−2トランスポートストリーム形式のデジタルストリームである。
【0249】
図28は、多重化データの構成を示す図である。
図28に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、または、リニアPCMのなどの方式で符号化されている。
【0250】
多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
【0251】
図29は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
【0252】
図30は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。
図30における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。
図30の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time−Stamp)やピクチャの復号時刻であるDTS(Decoding Time−Stamp)が格納される。
【0253】
図31は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD−ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには
図31下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
【0254】
また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
【0255】
図32はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
【0256】
記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
【0257】
多重化データ情報ファイルは、
図33に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
【0258】
多重化データ情報は
図33に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
【0259】
ストリーム属性情報は
図34に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
【0260】
本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
【0261】
また、本実施の形態における動画像復号化方法のステップを
図35に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
【0262】
このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
【0263】
(実施の形態5)
上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、
図36に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
【0264】
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
【0265】
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
【0266】
また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
【0267】
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0268】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0269】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【0270】
(実施の形態6)
上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
【0271】
この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。
図37は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
【0272】
より具体的には、駆動周波数切替え部ex803は、
図36のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、
図36の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態4で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態4で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、
図39のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
【0273】
図38は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
【0274】
さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
【0275】
また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4−AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
【0276】
さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
【0277】
このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
【0278】
(実施の形態7)
テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
【0279】
この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG−2、MPEG4−AVC、VC−1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を
図40Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4−AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4−AVC規格に対応する復号処理部ex902を共有し、MPEG4−AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、エントロピー復号に特徴を有していることから、例えば、エントロピー復号については専用の復号処理部ex901を用い、それ以外の逆量子化、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4−AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
【0280】
また、処理を一部共有化する他の例を
図40Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
【0281】
このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。