(実施の形態1)
以下、本発明の第1の実施の形態における画像符号化装置について図面を参照しながら説明する。
図1は、本発明の第1の実施の形態における画像符号化装置100の構成を示すブロック図である。
この画像符号化装置100は、入力画像(画像データ)に対して符号化効率を向上してピクチャ内符号化処理を行うものであって、ブロック変換部101、周波数変換部102、量子化部103、及び可変長符号化部104を備えている。
ブロック変換部101は、入力画像を水平4×垂直4画素の大きさの画素ブロックに分割して周波数変換部102に出力する。
周波数変換部102は、分割された上記各画素ブロックに対して、周波数変換を施して周波数係数を生成する。そして周波数変換部102は、生成された周波数係数を量子化部103に出力する。
量子化部103は、周波数変換部102から出力された周波数係数に対して、量子化処理を行う。ここで量子化処理とは、周波数係数を所定の量子化値によって除算することに相当する処理を意味する。また量子化値は、一般的に画素ブロック毎、周波数帯域毎によって異なる。そして量子化部103は、量子化された周波数係数を可変長符号化部104に出力する。
可変長符号化部104は、量子化部103で量子化された周波数係数を可変長符号化する。
図2は、可変長符号化部104の内部構成を示すブロック図である。
この図2に示すように、可変長符号化部104は、RL列生成部201、並べ替え部202、2値化部203、テーブル記憶部204、及び算術符号化部205を備えている。
RL列生成部201は、量子化部103から出力された量子化された周波数係数(以下、「係数」と略す)を所定の走査方法で一次元化する。そして、RL列生成部201は、一次元化された係数に対して、連続する係数の値「0」の個数Rとそれに続く「0」以外の係数の値Lとの組み合わせ(以下、「RL値」と称す)の列(以下、「RL列」と称す)を生成する。その例を図3、図4を用いて説明する。
図3の(a)は、量子化部103から出力される複数の係数により構成される係数ブロックを示す。ここで、係数ブロック内の左上の周波数係数が直流成分を示し、右に向かうほど水平方向の周波数成分が高くなり、下に向かうほど垂直方向の周波数成分が高くなる。
図3の(b)は、係数ブロック内の複数の係数を一次元化する際の走査方法を説明するための説明図である。RL列生成部201は、図3の(b)の矢印で示すように、係数ブロック内を低周波数領域から高周波数領域に向かって走査することにより、係数の一次元化を行う。
図4の(a)は、RL列生成部201から出力されるRL列を示す。
この図4の(a)の中で、最初の数字は係数の個数を示す。一般的に高周波数領域ほど係数の値が「0」になり易いので、低周波数領域から高周波数領域に向かって走査することにより、RL列の情報量(のうちの個数Rの情報量)を小さくすることができる。生成されたRL列は並べ替え部202に入力される。
並べ替え部202は、入力されたRL列を逆方向に並べ直す。ただし、係数の個数は並べ替えの対象からは除外する。
図4の(b)は、並び替え部202で並び替えられたRL列を示す。このように並び替えることで、上述のように情報量を小さくしながらも、結果的に、係数ブロック内を高周波数領域から低周波数領域に向かって走査して係数の一次元化が行われたことになる。そして、このように並べ換えられたRL列は2値化部203に出力される。
2値化部203は、係数の個数および各RL値に対して、2値化、すなわち「0」や「1」からなる2値化データへの変換を行う。ここで、個数Rと係数値Lとはそれぞれ別に2値化される。
図4の(c)は、並び替え部202で並び替えられたRL列の係数値Lのみを示す。これらの係数値Lに対しては、その絶対値と正負符号とが別に処理される。また2値化部203は、例えば図11に示すような予め定められた2値化テーブルを用いて、個数Rと係数値Lの絶対値に対して2値化を行う。そして2値化部203は、これらに対して2値化を施された2値化データを算術符号化部205に対して出力する。
算術符号化部205は、2値化データとして表される個数R値および係数値Lの絶対値に対して2値算術符号化を行うとともに、係数値Lの正負符号に対しても符号化を行う。ここでは、係数値Lの絶対値の算術符号化について説明する。算術符号化部205は、2値化データとして表される係数値Lの絶対値に算術符号化を施す場合には、複数の確率テーブルを切り替えて用いる。これら複数の確率テーブルはテーブル記憶部204に記憶されている。
図5は、確率テーブルの切り替え方法を示す遷移図である。
この図5に示すように、算術符号化部205は確率テーブルを4つ用い、先頭の係数値Lの絶対値に対しては、確率テーブル1を用いてこれを算術符号化する。そして、それ以降の係数値Lの絶対値に対しては、算術符号化部205は、直前の係数値Lの絶対値を符号化する際に用いられた確率テーブルのテーブル番号と、その絶対値とに応じて、使用される確率テーブルを切り替える。ここで、4つの確率テーブルは、確率テーブル1、確率テーブル2、確率テーブル3、確率テーブル4であり、確率テーブル1のテーブル番号は「1」、確率テーブル2のテーブル番号は「2」、確率テーブル3のテーブル番号は「3」、確率テーブル4のテーブル番号は「4」である。
具体的に、直前の係数値Lの絶対値が確率テーブル1を用いて符号化され、且つその絶対値が「1」の場合、または、直前の係数値Lの絶対値が確率テーブル2を用いて符号化され、且つその絶対値が「1」の場合には、確率テーブル2が用いられる。直前の係数値Lの絶対値が確率テーブル1を用いて符号化され、且つその絶対値が「2」の場合、または、直前の係数値Lの絶対値が確率テーブル2を用いて符号化され、かつその絶対値が「2」の場合、または、直前の係数値Lの絶対値が確率テーブル3を用いて符号化され、且つその絶対値が「2以下」の場合には、確率テーブル3が用いられる。直前の係数値Lの絶対値が「3以上」の場合、または、直前の係数値Lの絶対値が確率テーブル4を用いて符号化されている場合には、確率テーブル4が用いられる。
このように確率テーブルの切り替えは、テーブル番号が小さい確率テーブルからテーブル番号が大きい確率テーブルへの一方向であり、直前の係数値Lの絶対値が所定のしきい値以下となっても、逆方向への切り替えは行われない。これが従来例とは異なる点である。
図6は、上記4つの確率テーブル1〜4の内容を示す確率テーブル内容表示図である。
確率テーブル1〜4のそれぞれは、図6に示すように、「0」の発生する確率と、「1」の発生する確率とから構成される。
例えば確率テーブル1は、「0」の発生する確率「0.1」と、「1」の発生する確率「0.9」とから構成され、確率テーブル2は、「0」の発生する確率「0.2」と、「1」の発生する確率「0.8」とから構成さている。
つまり、係数値Lの絶対値が「2」であれば、この「2」が2値化されたものが「01」であるため、算術符号化部205は、これを確率テーブル1を用いて算術符号化するときには、上記「01」の「0」に対応する確率「0.1」と、上記「01」の「1」に対応する確率「0.9」とを用いて、この「01」を算術符号化する。
ここで、「0」が発生する確率と「1」の発生する確率との合計は1.0であるので、両者の確率を保持しておく必要はなく、一方の確率のみを保持しても良い。
図4の(c)に示す係数値Lの絶対値(2値化されたもの)が符号化される場合における、確率テーブルの切り替え例を以下に説明する。
算術符号化部205は、最初の係数値L(−2)の絶対値に対しては、確率テーブル1を用いる。ここで係数値Lの絶対値が2であるので、算術符号化部205は、使用される確率テーブルを確率テーブル1から確率テーブル3に遷移させる。これにより算術符号化部205は、2番目の係数値L(3)の絶対値を確率テーブル3を用いて算術符号化する。ここでの係数値Lの絶対値は「3」であるので、算術符号化部205は、使用される確率テーブルを確率テーブル3から確率テーブル4に遷移させる。これにより算術符号化部205は、3番目の係数値(6)の絶対値を確率テーブル4を用いて算術符号化する。ここで使用される確率テーブルが確率テーブル4に遷移されたので、算術符号化部205は、以降の係数値Lの絶対値をすべて確率テーブル4を用いて算術符号化する。例えば、5番目の係数値Lの絶対値は「2」となるが、従来例とは異なり、算術符号化部205は、6番目以降の係数値Lの絶対値を算術符号化するときには、確率テーブルを遷移させずに確率テーブル4を用いる。
また、各確率テーブルは、入力が「0」であるか「1」であるかによって随時更新されるため、入力に適応した確率テーブルに更新されていく。
以上のように、本発明に係る画像符号化装置100の可変長符号化部104における可変長符号化方法は、係数ブロック内の係数を低周波数領域から高周波数領域に向けて走査して一次元化する。そして、一次元化された係数に対して、連続する係数値「0」の個数Rとそれに続く「0」以外の係数値Lとの組み合わせであるRL値の列(RL列)を生成する。そして、RL値を走査順とは逆順に可変長符号に変換していく。可変長符号に変換する際には、個数R、係数値Lの絶対値、係数値Lの正負符号を個別に変換する。これらの変換の際には、まず2値化を行い、その後、算術符号を施す。係数値Lの絶対値に対して算術符号を施す際には、複数の確率テーブルを切り替える。確率テーブルを切り替える際には、現在の確率テーブルのテーブル番号および係数値Lの絶対値によって、次の係数値Lの絶対値を符号化する際の確率テーブルを決定する。そして、確率テーブルの遷移は一方向のみとし、係数値Lの絶対値が一度所定の値を超えると、それ以降はすべて同じ確率テーブルで算術符号化を行う。
一般に低周波数領域ほど係数値Lの絶対値は大きいため、高周波数領域から低周波数領域の順に走査すると、係数値Lの絶対値は順に大きくなっていくことが多い。したがって、係数値Lの絶対値が一度所定の値を超えると、それ以降は係数値Lの絶対値が所定値よりも小さくなったとしても、小さくなるのはその係数値Lの絶対値だけである可能性が非常に高く、同じ確率テーブルを用いて算術符号化することにより、確率テーブルの更新が入力に適応しやすくなり、それにより各確率テーブルのシンボル(2値化データの「0」または「1」)の発生確率に偏りが生じやすくなる(すなわち、「0」または「1」のいずれかの発生確率が1.0に近い値になる)。算術符号化は、確率テーブル内の確率値に偏りが生じるほど、符号化効率が高くなる特徴を有する。よって、本発明の可変長符号化方法を用いることにより、符号化効率の改善を図ることができる。
(変形例)
次に、上記本実施の形態における画像符号化装置の変形例について説明する。
まず、確率テーブルの切り替えに関する変形例を説明する。
この変形例にかかる画像符号化装置の算術符号化部は、2つの確率テーブル1,4を切り換えて用いることで係数値Lの絶対値(2値化されたもの)を算術符号化する。
図7は、変形例に係る算術符号化部が行う確率テーブルの切り替え方法を示す遷移図である。
この図7に示すように、算術符号化部は確率テーブルを2つ用い、先頭の係数値Lの絶対値に対しては確率テーブル1を用いて算術符号化する。そして、算術符号化部は、直前の係数値Lの絶対値が「1」を超えると、確率テーブル1を確率テーブル4に切り替え、それ以降の全ての符号化の対象となる係数値Lの絶対値に対して、確率テーブル4を用いて算術符号化を行う。つまり、算術符号化部は、算術符号化されたものの中に係数値Lの絶対値が「1」を超えるものがなければ、符号化の対象となる係数値Lの絶対値に対して、確率テーブル1を用いて算術符号化を行い、算術符号化されたものの中に係数値Lの絶対値が「1」を超えるものがあれば、言い換えれば係数値Lの絶対値が「1」を超えるものが0個でなくなれば、使用される確率テーブルを確率テーブル1から確率テーブル4に切り替え、それ以降の全ての符号化の対象となる係数値Lの絶対値に対して、確率テーブル4を用いて算術符号化を行う。
ここで、係数値Lが高周波数領域から低周波数領域への順に「−1,1,−2,3,4,4,1」である場合における、確率テーブルの切り替え例を以下に説明する。算術符号化部は、最初の係数値L(−1)の絶対値に対しては、確率テーブル1を用いる。ここで係数値Lの絶対値は「1」であってしきい値の「1」を超えていないので、算術符号化部は、使用される確率テーブルを遷移させず確率テーブル1のままとする。これにより算術符号化部は、2番目の係数値L(1)の絶対値を確率テーブル1を用いて算術符号化する。ここでの係数値Lの絶対値は「1」であるので、上述と同様に算術符号化部は使用される確率テーブルを遷移させず確率テーブル1のままとする。これにより算術符号化部は、3番目の係数値L(−2)の絶対値を確率テーブル1を用いて算術符号化する。ここでの絶対値は「2」であってしきい値の「1」を超えているので、算術符号化部は、使用される確率テーブルを確率テーブル1から確率テーブル4に遷移させ、4番目の係数値L(3)の絶対値を確率テーブル4を用いて算術符号化する。5番目以降の係数値Lの絶対値に対しても、算術符号化されたものの中には既に係数値Lの絶対値がしきい値の「1」を超えるものがあるので、算術符号化部は、5番目以降の係数値Lの絶対値を確率テーブル4を用いて符号化する。
ここで図11からわかるように、係数値Lの絶対値が「1」の場合、2値化データは「1」のみとなる。したがって、しきい値を「1」に設定すると、そのしきい値を超えない場合に用いる確率テーブル1は、シンボル(2値化データ)「1」の発生確率が高くなるように適応していくことになる。これにより確率テーブル1の発生確率に大きな偏りが発生することになり、さらなる符号化効率の向上を図ることができる。
次に、各係数値Lの絶対値(2値化されたもの)に対して複数の確率テーブルを用いる場合について説明する。
図8は、各係数値Lの絶対値に対して2つの確率テーブルを用いる場合を説明するための説明図である。
例えばこの図8に示すように、算術符号化部は、各係数値Lの絶対値の2値化データにおいて、その1ビット目に対しては4つの確率テーブル1〜4を切り替えて用いることで算術符号化を行い、2ビット目以降の各ビットに対しては上記確率テーブル1〜4と異なる4つの確率テーブル1'〜4'を切り替えて用いることで算術符号化を行う。ここで、確率テーブル1には確率テーブル1'が対応し、確率テーブル2には確率テーブル2'が対応し、確率テーブル3には確率テーブル3'が対応し、確率テーブル4には確率テーブル4'が対応する。すなわち、図5を用いて説明した実施例と同様に、直前までに符号化した係数の絶対値の最大値により用いる確率テーブルを変更するが、その際に1ビット目の符号化のために用いる確率テーブルと、2ビット目以降に用いる確率テーブルを同時に変更する。
図5を用いて説明した実施例と同じしきい値と、そのしきい値に対応する確率テーブルの番号とを用いるとする。この場合、すべてのビットを同じ確率テーブルで符号化する場合と比べて、確率テーブル1、2の内容は、より「1」が発生しやすい確率が高く設定され(入力に適応するため)、確率テーブル3、4の内容は、より「0」が発生しやすい確率が高く設定されることになる。また、同様にして確率テーブル1'〜4'についても、確率テーブル1'〜3'については、「1」が発生する確率が高く設定され(入力に適応するため)、確率テーブル4'の内容は、より「0」が発生する確率が高く設定されることになる。算術符号化においては、確率テーブルが保持する、シンボル(2値化データの「0」または「1」)の発生確率の偏りが大きくなるほど(すなわち「0」または「1」のいずれかの発生確率が1.0に近づくほど)、符号化効率が高くなる。したがってこれにより、符号化効率のさらなる改善を図ることができる。またこの場合、2値化データを分割する際に、1ビット目と2ビット目以降とで分割するだけでなく、他のビット位置で分割しても良いし、ビット位置によって3つ以上に分割しても良い。また、分割したビット位置毎に同じだけの確率テーブルを用意せずに、例えば1ビット目には複数の確率テーブルを用意し、2ビット目以降は1つの確率テーブルを用いる(すなわちどの係数に対しても同じ確率テーブルを用いる)ような形態にしても良い。また、上記の実施の形態のように、分割したビット位置毎に同数の確率テーブルを用意した場合、同じ基準で同時に切り替えるのではなく、それらを異なる基準(しきい値)で(すなわち異なるタイミングで)切り替えても良い。
以上、本発明に係る画像符号化装置について本実施の形態及び変形例を用いて説明したが、本発明はこれらに限定されるものではない。
例えば、本実施の形態及び変形例では、ピクチャ内符号化により画像を符号化する場合について説明したが、これは動画像入力に対して動き補償等を用いてピクチャ間符号化をする場合であっても良く、同様の効果が得られる。
また、本実施の形態及び変形例では、入力画像を水平4×垂直4画素の画素ブロックに分割する場合について説明したが、その画素ブロックの大きさは他の大きさであっても良い。
また、本実施の形態及び変形例では、係数ブロック内の走査方法として図3の(b)を用いて説明したが、これは低周波数領域から高周波数領域への走査であれば他の走査順序であっても良い。
また、本実施の形態及び変形例では、RL列生成部201が、量子化された周波数係数を所定の走査方法で一次元化し、一次元化された係数に対して、連続する係数値「0」の個数Rとそれに続く「0」以外の係数値Lとの組み合わせの列(RL列)を生成する場合について説明したが、個数Rの列と係数値Lの列とを個別に生成しても良い。例えば、係数値Lの列を生成する場合、高周波数領域から低周波数領域に向かって走査し、係数値が0以外の係数を選択することにより生成すれば、並べ替え部202を省くことができる。
また、本実施の形態では4つの確率テーブルを用い、図5に示す遷移図に基づいて確率テーブルが遷移する場合について説明し、変形例では2つの確率テーブルを用い、図7に示す遷移図に基づいて確率テーブルが遷移する場合について説明したが、確率テーブルの数や、図5及び図7における遷移の際の、係数値Lの絶対値に対するしきい値は他の値であっても良い。
また、本実施の形態及び変形例では、2値化テーブルの例として図11を用いて説明したが、これは他のテーブルであっても良い。
また、本実施の形態及び変形例では、算術符号化部が2値算術符号を行う場合について説明したが、多値算術符号を行っても良い。この場合、2値化部203を省くことができる。
(実施の形態2)
以下、本発明の第2の実施の形態における画像復号化装置について図面を参照しながら説明する。
図9は、本発明の第2の実施の形態における画像復号化装置600の構成を示すブロック図である。
この画像復号化装置600は、画像データがピクチャ内符号化処理された符号列に対し、ピクチャ内復号化処理を行うものであって、可変長復号化部601、逆量子化部602、逆周波数変換部603、及びフレームメモリ604を備えている。ここで入力される上記符号列は、例えば、実施の形態1の画像符号化装置100の可変長符号化方法により生成されたものであって、まず可変長復号化部601がこれを取得する。
可変長復号化部601は、符号列を取得すると、この符号列に対して可変長復号化することで図3の(a)に示すような複数の係数から構成される係数ブロックを作成する。
逆量子化部602は、可変長復号化部601から上記係数ブロックを取得すると、この係数ブロックに対して逆量子化処理を行う。ここで逆量子化処理とは、係数ブロックの各係数に所定の量子化値を積算することを意味する。ここで量子化値は、一般的に個々の係数ブロックや周波数帯域毎によって異なっており、符号列中から得られる。そして逆量子化部602は、逆量子化された係数ブロックを逆周波数変換部603に出力する。
逆周波数変換部603は、逆量子化された係数ブロックに対して、逆周波数変換を施し、係数ブロックを画素ブロックに変換する。そして逆周波数変換部603は、変換された画素ブロックをフレームメモリ604に出力する。
フレームメモリ604は、復号化された画素ブロックを順に蓄積し、1画面分の画素ブロックが蓄積されると、これらの画素ブロックを出力画像として出力する。
ここで上述の可変長復号化部601について詳細に説明する。
図10は、可変長復号化部601の内部構成を示すブロック図である。
この図10に示すように可変長復号化部601は、算術復号化部701、多値化部702、テーブル記憶部703、並べ替え部704、及び係数生成部705を備えている。
テーブル記憶部703は、例えば図6に示すような4つの確率テーブル1〜4を保持している。
算術復号化部701は、符号列を取得すると、まずこの符号列に対して、算術復号化を行う。ここでは、符号列に含まれる符号化された係数値Lの絶対値(2値化されたもの)に対する2値算術復号化について説明する。
算術復号化部701は、符号化された係数値Lの絶対値に対して算術復号化を行う際には、既に復号化されて多値化された直前の係数値Lの絶対値を多値化部702から取得し、その係数値Lの絶対値に応じてテーブル記憶部703に保持されている確率テーブル1〜4を図5に示すように切り替えて用い、符号化された各係数値Lの絶対値を2値算術復号化してこれらに対応する2値化データを出力する。
多値化部702は、算術復号化部701から出力される2値化データに対して、例えば図11に示すような2値化テーブルを用いることで多値化し、係数値Lの絶対値とする。そして多値化部702は、係数値Lの絶対値を算術復号化部701と並べ替え部704に出力する。
このような算術復号化部701及び多値化部702の詳細な動作について説明する。
まず算術復号化部701は、符号化された先頭の係数値Lの絶対値を確率テーブル1を用いて算術復号化する。そして、算術復号化部701は、算術復号化して得られた2値化データを多値化部702に対して出力する。多値化部702は、2値化テーブルを用いることで2値化データから係数値Lの絶対値への変換を行い、その絶対値を算術復号化部701および並べ替え部704に対して出力する。
次に、算術復号化部701は、それ以降の符号化された係数値Lの絶対値に対しては、直前の符号化された係数値Lの絶対値を2値算術復号化する際に用いられた確率テーブルのテーブル番号と、多値化部702から取得された直前の係数値Lの絶対値によって、使用される確率テーブルを切り替える。図5に示すように、直前の符号化された係数値Lの絶対値が確率テーブル1を用いて算術復号化され、かつ多値化部702から取得された直前の係数値Lの絶対値が「1」の場合、または、直前の符号化された係数値Lの絶対値が確率テーブル2を用いて算術復号化され、かつ多値化部702から取得された直前の係数値Lの絶対値が「1」の場合には、確率テーブル2が用いられる。直前の符号化された係数値Lの絶対値が確率テーブル1を用いて算術復号化され、かつ多値化部702から取得された直前の係数値Lの絶対値が「2」の場合、または、直前の符号化された係数値Lの絶対値が確率テーブル2を用いて算術復号化され、かつ多値化部702から取得された直前の係数値Lの絶対値が「2」の場合、または、直前の符号化された係数値Lの絶対値が確率テーブル3を用いて算術復号化され、かつ多値化部702から取得された直前の係数値Lの絶対値が「2以下」の場合には、確率テーブル3が用いられる。多値化部702から取得された直前の係数値Lの絶対値が「3以上」の場合、または、直前の符号化された係数値Lの絶対値が確率テーブル4を用いて算術復号化されている場合には、確率テーブル4が用いられる。このように確率テーブル1〜4の切り替えは、テーブル番号が小さい確率テーブルからテーブル番号が大きい確率テーブルへの一方向であり、多値化部702から取得された直前の係数値Lの絶対値が所定のしきい値以下となっても、逆方向への切り替えは行われない。これが従来例とは異なる点である。
図4の(c)に示す係数値Lの絶対値に復号化される場合における、確率テーブルの切り替え例を以下に説明する。
算術復号化部701は、最初の符号化された係数値L(−2)の絶対値に対しては、確率テーブル1を用いて2値化データ「01」に算術復号化する。ここで、算術復号化部701は、その2値化データ「01」に対して多値化された「2」を多値化部702から取得するので、使用される確率テーブルを確率テーブル1から確率テーブル3に遷移させる。これにより算術復号化部701は、2番目の符号化された係数値L(3)の絶対値を、確率テーブル3を用いて2値化データ「001」に算術復号化する。ここで、算術復号化部701は、その2値化データ「001」に対して多値化された「3」を多値化部702から取得するので、使用される確率テーブルを確率テーブル3から確率テーブル4に遷移させる。これにより算術復号化部701は、3番目の符号化された係数値L(6)の絶対値を、確率テーブル4を用いて2値化データ「000001」に算術復号化する。ここで使用される確率テーブルが確率テーブル4に遷移されたので、算術復号化部701は、以降の符号化された係数値Lの絶対値を全て確率テーブル4を用いて算術復号化する。例えば、5番目の符号化された係数値Lの絶対値が復号化され多値化された結果は「2」となるが、従来例とは異なり、算術復号化部701は、6番目以降の符号化された係数値Lの絶対値を算術復号化するときには、確率テーブルを遷移させずに確率テーブル4を用いる。
以上のような動作により、1つの係数ブロック分の係数値Lの絶対値および個数R並びに係数値Lの正負符号が生成されると、これらはRL列として並べ替え部704に入力される。
並べ替え部704は、入力されたRL列を逆方向に並べ直す。ただし、係数の個数は並べ替えの対象からは除外する。並べ替えた後の状態は図4の(a)となる。そして並べ替え部704は、このように並べ換えられたRL列を係数生成部705に出力する。
係数生成部705は、入力されたRL列を係数ブロックに変換する。この際には、係数生成部705は、所定の走査順序に基づいて、個数Rで示された個数だけ値「0」の係数を生成し、その次に係数値Lで示された値の係数を生成することを繰り返すことにより、RL列から係数ブロックへの変換を行う。ここでは、係数生成部705は、図3の(b)に示すように低周波数領域から高周波数領域に向かってジグザグに走査し、図4の(a)に示すRL列を、図3の(a)に示す係数ブロックに変換する。そして係数生成部705は、このように生成された係数ブロックを逆量子化部602に出力する。
以上のように、本発明に係る画像復号化装置600の可変長復号化部601における可変長復号化方法は、入力符号列中の、係数値Lの絶対値の算術復号化を行う場合に、複数の確率テーブルを切り替える。確率テーブルを切り替える際には、現在の確率テーブルのテーブル番号および復号化により得られた係数値Lの絶対値によって、次の係数値Lの絶対値を復号化する際の確率テーブルを決定する。この際の、確率テーブルの遷移は一方向のみとし、復号化により得られた係数値Lの絶対値が一度所定の値を超えると、それ以降はすべて同じ確率テーブルで算術復号化を行う。
このように、本発明の可変長復号化方法を用いることにより、本発明の可変長符号化方法を用いて符号化された符号列を正しく復号化することが可能となる。
(変形例)
次に、上記本実施の形態における画像復号化装置の算術復号化部の変形例について説明する。
まず、確率テーブルの切り替えに関する変形例を説明する。
この変形例にかかる画像復号化装置の算術復号化部は、2つの確率テーブル1,4を切り替えて用いることで符号化された係数値Lの絶対値(2値化されたもの)を2値算術復号化する。
このような算術復号化部は、図7に示すように、確率テーブルを2つ用い、先頭の符号化された係数値Lの絶対値に対しては確率テーブル1を用いて算術復号化する。そして、算術復号化部は、直前の係数値Lの絶対値が「1」を超えると、確率テーブル1を確率テーブル4に切り替え、それ以降の全ての復号化の対象となる係数値Lの絶対値に対して、確率テーブル4を用いて算術復号化を行う。つまり、算術復号化部は、復号化及び多値化されたものの中に係数値Lの絶対値が「1」を超えるものがなければ、復号化の対象となる符号化された係数値Lの絶対値に対して、確率テーブル1を用いて算術復号化を行い、算術復号化及び多値化されたものの中に係数値Lの絶対値が「1」を超えるものがあれば、言い換えれば係数値Lの絶対値が「1」を超えるものが0個でなくなれば、使用される確率テーブルを確率テーブル1から確率テーブル4に切り替え、それ以降の全ての復号化の対象となる符号化された係数値Lの絶対値に対して、確率テーブル4を用いて算術復号化を行う。
ここで、係数値Lが高周波数領域から低周波数領域への順に「−1,1,−2,3,4,4,1」である場合における、確率テーブルの切り替え例を以下に説明する。算術復号化部は、最初の符号化された係数値Lの絶対値を、確率テーブル1を用いて2値化データ「1」に算術復号化する。ここで、算術復号化部は、その2値化データ「1」に対して多値化された「1」を多値化部702から取得し、係数値Lの絶対値は「1」であってしきい値「1」を超えていないと判別するので、使用される確率テーブルを遷移させず確率テーブル1のままとする。これにより算術復号化部は、2番目の符号化された係数値Lの絶対値を、確率テーブル1を用いて2値化データ「1」に算術復号化する。ここで、算術復号化部は、上述と同様、多値化部702からの取得結果に基づき、係数値Lの絶対値は「1」であってしきい値の「1」を超えていないと判別するので、使用される確率テーブルを遷移させず確率テーブル1のままとする。これにより算術復号化部は、3番目の符号化された係数値Lの絶対値を、確率テーブル1を用いて2値化データ「01」に算術復号化する。ここで、算術復号化部は、その2値化データ「01」に対して多値化された「2」を多値化部702から取得し、係数値Lの絶対値は「2」であってしきい値の「1」を超えていると判別するので、使用される確率テーブルを確率テーブル1から確率テーブル4に遷移させ、4番目の符号化された係数値Lの絶対値を確率テーブル4を用いて2値化データ「001」に算術復号化する。5番目以降の符号化された係数値Lの絶対値に対しても、算術復号化及び多値化された係数値Lの絶対値の中には既にしきい値「1」を超えるものがあるので、算術復号化部は、5番目以降の符号化された係数値Lの絶対値を全て確率テーブル4を用いて算術復号化する。
次に、符号列中に含まれる符号化された係数値Lの絶対値の2値化データが複数の要素からなり、この符号化された係数値Lの絶対値の2値化データを2値算術復号化するときに、各要素ごとに確率テーブルを異ならせる場合について説明する。
例えば、符号化された係数値Lの絶対値の2値化データが2つの要素からなる場合、図8に示すように、算術復号化部は、4つの確率テーブル1〜4を切り替えて用いることで、符号化された上記2値化データの一方の要素を、2値化データの1ビット目に該当する数値に算術復号化する。そして算術復号化部は、上記確率テーブル1〜4と異なる4つの確率テーブル1'〜4'を切り替えて用いることで、上記2値化データの他方の要素を、2値化データの2ビット目以降の各ビットに該当する数値に算術復号化する。
ここで、確率テーブル1には確率テーブル1'が対応し、確率テーブル2には確率テーブル2'が対応し、確率テーブル3には確率テーブル3'が対応し、確率テーブル4には確率テーブル4'が対応する。すなわち、図5を用いて説明した実施例と同様に、直前までに符号化した係数の絶対値の最大値により用いる確率テーブルを変更するが、その際に1ビット目の符号化のために用いる確率テーブルと、2ビット目以降に用いる確率テーブルを同時に変更する。
図5を用いて説明した実施例と同じしきい値と、そのしきい値に対応する確率テーブルの番号とを用いるとする。この場合、すべてのビットを同じ確率テーブルで符号化する場合と比べて、確率テーブル1、2の内容は、より「1」が発生しやすい確率が高く設定され(入力に適応するため)、確率テーブル3、4の内容は、より「0」が発生しやすい確率が高く設定されることになる。また、同様にして確率テーブル1'〜4'についても、確率テーブル1'〜3'については、「1」が発生する確率が高く設定され(入力に適応するため)、確率テーブル4'の内容は、より「0」が発生する確率が高く設定されることになる。またこの場合、2値化データを分割する際に、1ビット目と2ビット目以降とで分割するだけでなく、他のビット位置で分割しても良いし、ビット位置によって3つ以上に分割しても良い。また、分割したビット位置毎に同じだけの確率テーブルを用意せずに、例えば1ビット目には複数の確率テーブルを用意し、2ビット目以降は1つの確率テーブルを用いる(すなわちどの係数に対しても同じ確率テーブルを用いる)ような形態にしても良い。また、上記の実施の形態のように、分割したビット位置毎に同数の確率テーブルを用意した場合、それらを異なる基準(しきい値)で切り替えても良い。
以上、本発明に係る画像復号化装置について、本実施の形態及び変形例を用いて説明したが、本発明はこれらに限定されるものではない。
例えば、本実施の形態及び変形例では、ピクチャ内符号化により生成された符号列を復号化する場合について説明したが、これは動画像入力に対して動き補償等を用いてピクチャ間符号化をして生成された符号列を復号化する場合であっても良く、同様の効果が得られる。
また、本実施の形態及び変形例では、画像データが水平4×垂直4画素の画素ブロックに分割されて符号化されている符号列について説明したが、その画素ブロックの大きさは他の大きさであっても良い。
また、本実施の形態では4つの確率テーブルを用い、図5に示す遷移図に基づいて確率テーブルが遷移する場合について説明し、変形例では2つの確率テーブルを用い、図7に示す遷移図に基づいて確率テーブルが遷移する場合について説明したが、確率テーブルの数や、図5及び図7における遷移の際の、係数値Lの絶対値に対するしきい値は他の値であっても良い。
また、本実施の形態及び変形例では、係数ブロック内の走査方法として図3(b)を用いて説明したが、これは符号化の際に用いた走査方法と同じであれば、他の走査順序であっても良い。
また、本実施の形態及び変形例では、2値化テーブルの例として図11を用いて説明したが、これは符号化の際に用いた2値化テーブルと同じであれば、他のテーブルであっても良い。
また、本実施の形態及び変形例では、算術復号化部701が2値算術復号化を行う場合について説明したが、これは多値算術復号化を行っても良い。この場合、多値化部702を省くことができる。
(実施の形態3)
さらに、上記各実施の形態で示した可変長符号化方法または可変長復号化方法を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図13は、実施の形態1及び実施の形態2の画像符号化装置100及び画像復号化装置600が実行する可変長符号化方法および可変長復号化方法をコンピュータシステムにより実現するためのプログラムを格納する記憶媒体についての説明図である。
図13中の(b)は、フレキシブルディスクFDの正面からみた外観、断面構造、及びディスク本体FD1を示し、図13中の(a)は、記録媒体の本体であるディスク本体FD1の物理フォーマットの例を示している。
ディスク本体FD1はケースF内に内蔵され、ディスク本体FD1の表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクFDでは、上記ディスク本体FD1上に割り当てられた領域に、上記プログラムとしての可変長符号化方法や可変長復号化方法が記録されている。
また、図13中の(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。
上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsが上記プログラムとしての可変長符号化方法または可変長復号化方法をフレキシブルディスクドライブFDDを介して書き込む。また、フレキシブルディスクFD内のプログラムにより上記可変長符号化方法又は可変長復号化方法をコンピュータシステムCs中に構築する場合は、フレキシブルディスクドライブFDDによりプログラムがフレキシブルディスクFDから読み出され、コンピュータシステムCsに転送される。
なお、上記説明では、記録媒体としてフレキシブルディスクFDを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
(実施の形態4)
さらにここで、上記実施の形態で示した可変長符号化方法や可変長復号化方法の応用例とそれを用いたシステムを説明する。
図14は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図14のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した画像符号化装置あるいは画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図15は、上記実施の形態で説明した可変長符号化方法と可変長復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図16を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図17に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置により符号化ビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録した符号化ビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図16に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した可変長符号化方法あるいは可変長復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明のすべての実施の形態について、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく、種々の変形または修正が可能である。