(57)【特許請求の範囲】
【請求項１】
画像信号をブロックに分割して直交変換を行い、得られた直交変換係数を読み出して係数列とした上で、エントロピー符号化する画像符号化方法であって、
サイズの異なる複数のブロックから、前記直交変換を行うブロックのサイズを選択するブロック選択ステップと、
前記ブロック選択ステップにおいて選択されたサイズのブロックの直交変換を行い、その直交変換係数を読み出して係数列を得る直交変換ステップと、
前記ブロック選択ステップにおいて最小サイズより大きいサイズのブロックが選択された場合に、前記直交変換ステップにおいて得られた係数列を前記最小サイズのブロックにおける係数列と同じ長さの複数の係数列に分割する係数列分割ステップと、
前記係数列分割ステップにおいて得られた係数列それぞれについて、エントロピー符号化を行う符号化ステップと
を備え、
前記ブロック選択ステップは、８×８画素サイズと４×４画素サイズとから、いずれかのサイズを選択し、
前記直交変換ステップは、前記ブロック選択ステップにおいて選択された８×８画素サイズと４×４画素サイズとのいずれかのサイズのブロックの直交変換を行い、その直交変換係数を低周波成分から順次読み出して６４個もしくは１６個の係数からなる係数列を得、
前記係数列分割ステップは、前記ブロック選択ステップにおいて８×８画素サイズのブロックが選択された場合に、前記直交変換ステップにおいて得られた６４個の係数からなる係数列の係数を低周波成分からひとつずつ順に４つの係数列に割り当てていくことによって、６４個の係数からなる係数列を１６個の係数からなる４つの係数列に分割し、
前記符号化ステップは、前記直交変換ステップにおいて得られた１６個の係数からなる係数列および前記係数列分割ステップにおいて得られた１６個の係数からなる係数列それぞれについて、エントロピー符号化を行う
ことを特徴とする画像符号化方法。
【請求項２】
画像信号を異なるサイズのブロックに分割して直交変換を行い、得られた直交変換係数を読み出し、最小サイズのブロックよりも大きいサイズのブロックの係数列については最小サイズのブロックの係数列と同じ長さの係数列に分割した上で、エントロピー符号化する画像符号化方法によって符号化された符号化データを復号する画像復号方法であって、
前記係数列を復号する復号ステップと、
前記復号ステップにおいて復号された係数列が前記最小サイズより大きいサイズのブロックのものである場合、前記復号ステップにおいて復号された複数の係数列から当該大きいサイズのブロックの係数列を構成する係数列構成ステップと、
前記係数列構成ステップにおいて構成された係数列を逆直交変換することによって画像信号を復号する逆直交変換ステップと
を備え、
前記符号化データは、４×４画素サイズのブロックについて直交変換を行ってその直交変換係数を低周波成分から順次読み出した１６個の係数からなる係数列、又は８×８画素サイズのブロックについて直交変換を行ってその直交変換係数を低周波成分から順次読み出した６４個の係数を低周波成分からひとつずつ順に４つの係数列に割り当てていくことによって生成された１６個の係数からなる係数列の符号化データであり、
前記復号ステップは、前記１６個の係数からなる係数列の符号化データを復号し、
前記係数列構成ステップは、前記復号ステップにおいて復号された係数列が前記８×８画素サイズのブロックのものである場合、前記復号ステップにおいて復号された当該８×８画素サイズのブロックのものである４つの係数列それぞれの係数を低周波成分からひとつずつ順に読み出して並べ、６４個の係数からなる係数列を構成し、
前記逆直交変換ステップは、前記復号ステップにおいて復号された前記４×４画素サイズのブロックの係数列、および前記係数列構成ステップにおいて構成された前記８×８画素サイズのブロックの係数列を逆直交変換することによって画像信号を復号する
ことを特徴とする画像復号方法。
【請求項３】
画像信号をブロックに分割して直交変換を行い、得られた直交変換係数を読み出して係数列とした上で、エントロピー符号化する画像符号化装置であって、
サイズの異なる複数のブロックから、前記直交変換を行うブロックのサイズを選択するブロック選択手段と、
前記ブロック選択手段によって選択されたサイズのブロックの直交変換を行い、その直交変換係数を読み出して係数列を得る直交変換手段と、
前記ブロック選択手段によって最小サイズより大きいサイズのブロックが選択された場合に、前記直交変換手段によって得られた係数列を前記最小サイズのブロックにおける係数列と同じ長さの複数の係数列に分割する係数列分割手段と、
前記係数列分割手段によって得られた係数列それぞれについて、エントロピー符号化を行う符号化手段と
を備え、
前記ブロック選択手段は、８×８画素サイズと４×４画素サイズとから、いずれかのサイズを選択し、
前記直交変換手段は、前記ブロック選択手段によって選択された８×８画素サイズと４×４画素サイズとのいずれかのサイズのブロックの直交変換を行い、その直交変換係数を低周波成分から順次読み出して６４個もしくは１６個の係数からなる係数列を得、
前記係数列分割手段は、前記ブロック選択手段によって８×８画素サイズのブロックが選択された場合に、前記直交変換手段によって得られた６４個の係数からなる係数列の係数を低周波成分からひとつずつ順に４つの係数列に割り当てていくことによって、６４個の係数からなる係数列を１６個の係数からなる４つの係数列に分割し、
前記符号化手段は、前記直交変換手段によって得られた１６個の係数からなる係数列および前記係数列分割手段によって得られた１６個の係数からなる係数列それぞれについて、エントロピー符号化を行う
ことを特徴とする画像符号化装置。
【請求項４】
画像信号を異なるサイズのブロックに分割して直交変換を行い、得られた直交変換係数を読み出し、最小サイズのブロックよりも大きいサイズのブロックの係数列については最小サイズのブロックの係数列と同じ長さの係数列に分割した上で、エントロピー符号化する画像符号化方法によって符号化された符号化データを復号する画像復号装置であって、
前記係数列を復号する復号手段と、
前記復号手段によって復号された係数列が前記最小サイズより大きいサイズのブロックのものである場合、前記復号手段によって復号された複数の係数列から当該大きいサイズのブロックの係数列を構成する係数列構成手段と、
前記係数列構成手段によって構成された係数列を逆直交変換することによって画像信号を復号する逆直交変換手段と
を備え、
前記符号化データは、４×４画素サイズのブロックについて直交変換を行ってその直交変換係数を低周波成分から順次読み出した１６個の係数からなる係数列、又は８×８画素サイズのブロックについて直交変換を行ってその直交変換係数を低周波成分から順次読み出した６４個の係数を低周波成分からひとつずつ順に４つの係数列に割り当てていくことによって生成された１６個の係数からなる係数列の符号化データであり、
前記復号手段は、前記１６個の係数からなる係数列の符号化データを復号し、
前記係数列構成手段は、前記復号手段によって復号された係数列が前記８×８画素サイズのブロックのものである場合、前記復号手段によって復号された当該８×８画素サイズのブロックのものである４つの係数列それぞれの係数を低周波成分からひとつずつ順に読み出して並べ、６４個の係数からなる係数列を構成し、
前記逆直交変換手段は、前記復号手段によって復号された前記４×４画素サイズのブロックの係数列、および前記係数列構成手段によって構成された前記８×８画素サイズのブロックの係数列を逆直交変換することによって画像信号を復号する
ことを特徴とする画像復号装置。
【請求項５】
画像信号をブロックに分割して直交変換を行い、得られた直交変換係数を読み出して係数列とした上で、エントロピー符号化するために、コンピュータに、
サイズの異なる複数のブロックから、前記直交変換を行うブロックのサイズを選択するブロック選択ステップと、
前記ブロック選択ステップにおいて選択されたサイズのブロックの直交変換を行い、その直交変換係数を読み出して係数列を得る直交変換ステップと、
前記ブロック選択ステップにおいて最小サイズより大きいサイズのブロックが選択された場合に、前記直交変換ステップにおいて得られた係数列を前記最小サイズのブロックにおける係数列と同じ長さの複数の係数列に分割する係数列分割ステップと、
前記係数列分割ステップにおいて得られた係数列それぞれについて、エントロピー符号化を行う符号化ステップと
を実行させ、
前記ブロック選択ステップは、８×８画素サイズと４×４画素サイズとから、いずれかのサイズを選択し、
前記直交変換ステップは、前記ブロック選択ステップにおいて選択された８×８画素サイズと４×４画素サイズとのいずれかのサイズのブロックの直交変換を行い、その直交変換係数を低周波成分から順次読み出して６４個もしくは１６個の係数からなる係数列を得、
前記係数列分割ステップは、前記ブロック選択ステップにおいて８×８画素サイズのブロックが選択された場合に、前記直交変換ステップにおいて得られた６４個の係数からなる係数列の係数を低周波成分からひとつずつ順に４つの係数列に割り当てていくことによって、６４個の係数からなる係数列を１６個の係数からなる４つの係数列に分割し、
前記符号化ステップは、前記直交変換ステップにおいて得られた１６個の係数からなる係数列および前記係数列分割ステップにおいて得られた１６個の係数からなる係数列それぞれについて、エントロピー符号化を行う
ことを特徴とする画像符号化プログラム。
【請求項６】
画像信号を異なるサイズのブロックに分割して直交変換を行い、得られた直交変換係数を読み出し、最小サイズのブロックよりも大きいサイズのブロックの係数列については最小サイズのブロックの係数列と同じ長さの係数列に分割した上で、エントロピー符号化する画像符号化方法によって符号化された符号化データを復号するために、コンピュータに、
前記係数列を復号する復号ステップと、
前記復号ステップにおいて復号された係数列が前記最小サイズより大きいサイズのブロックのものである場合、前記復号ステップにおいて復号された複数の係数列から当該大きいサイズのブロックの係数列を構成する係数列構成ステップと、
前記係数列構成ステップにおいて構成された係数列を逆直交変換することによって画像信号を復号する逆直交変換ステップと
を実行させ、
前記符号化データは、４×４画素サイズのブロックについて直交変換を行ってその直交変換係数を低周波成分から順次読み出した１６個の係数からなる係数列、又は８×８画素サイズのブロックについて直交変換を行ってその直交変換係数を低周波成分から順次読み出した６４個の係数を低周波成分からひとつずつ順に４つの係数列に割り当てていくことによって生成された１６個の係数からなる係数列の符号化データであり、
前記復号ステップは、前記１６個の係数からなる係数列の符号化データを復号し、
前記係数列構成ステップは、前記復号ステップにおいて復号された係数列が前記８×８画素サイズのブロックのものである場合、前記復号ステップにおいて復号された当該８×８画素サイズのブロックのものである４つの係数列それぞれの係数を低周波成分からひとつずつ順に読み出して並べ、６４個の係数からなる係数列を構成し、
前記逆直交変換ステップは、前記復号ステップにおいて復号された前記４×４画素サイズのブロックの係数列、および前記係数列構成ステップにおいて構成された前記８×８画素サイズのブロックの係数列を逆直交変換することによって画像信号を復号する
ことを特徴とする画像復号プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、直交変換を行うブロックのサイズを複数から選択することができる場合に、直交変換係数の効率的なエントロピー符号化を可能とする、画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像処理システム、画像符号化プログラム、画像復号プログラムに関するものである。
【０００２】
【従来の技術】
静止画像や動画像などの画像信号の伝送や蓄積再生を行うために、画像信号の符号化技術が用いられる。そのような技術として、静止画像の符号化技術としてはISO/IEC International Standard 10918（以下JPEGと呼ぶ）、動画像の符号化技術としてはISO/IEC International Standard 14496-2（MPEG-4 Visual、以下MPEG-4と呼ぶ）などの国際標準化符号化方式が知られている。またより新しい符号化方式として、ITU-T とISO/IECとの合同国際標準化が予定されている動画像符号化方式、ITU-T Recommendation H.264、ISO/IEC International Standard 14496-10（Joint Final Committee Draft of Joint Video Specification、ftp//ftp.imtc-files.org/jvt-experts/2002 07 Klagenfurt/JVT-D157.zip、以下H.26Lと呼ぶ）が知られている。これらの画像符号化方式に用いられている一般的な符号化技術については、例えば、非特許文献１に記載されている。
【０００３】
画像信号では、空間的に隣接する画素間の相関が大きいことから、周波数領域へ変換すると低周波領域に情報が偏ることとなり、この偏りを利用した冗長の削減が可能となる。そこで一般的な画像符号化方式では、画像信号に直交変換を行い周波数領域における直交変換係数へと変換して信号成分を低周波領域に偏らせ、さらにこの係数値に対して量子化を行い値の小さな係数をゼロ値とする。これ低周波領域の係数から順に読み出して係数列とした上で、係数値の偏りを利用したエントロピー符号化を行い、冗長を削減した効率的な符号化を実現する。
【０００４】
この場合に直交変換としては、符号化効率や実装の容易さの点から、離散コサイン変換（Discrete Cosine Transform、DCT）が広く用いられている。DCTなどによる直交変換は、画像信号を複数の画素から構成されるブロックに分割してこのブロックの単位で行われる。このブロックの大きさは画像信号の性質とともに符号化効率に大きく影響する。
【０００５】
画像信号における空間的な性質の変化が小さければ、同じような周波数領域の直交変換係数に変換される画像信号が画像上で広く分布していることから、ブロックの大きさ、すなわち直交変換の大きさを大きくすることにより、小さなブロックを用いた場合に同じ直交変換係数を繰り返し表現する必要が生じてしまうことと比較して、より冗長を削減することができるようになり符号化効率が向上する。他方で画像信号における空間的な性質の変化が大きければ、ブロックの大きさを大きくしてしまうと、その直交変換係数には様々な周波数成分が含まれて係数の偏りが小さくなることから、効率的なエントロピー符号化を行うことが困難となり、符号化効率は悪化してしまう。
【０００６】
このような、直交変換を行うブロックの大きさと、画像信号の性質の変化による符号化効率の変化を利用するために、あらかじめ複数のブロックのサイズでの直交変換手段を用意しておき、それらの中から最も良い符号化効率の得られるサイズを適応的に選択して用いる技術が利用される。この技術は適応ブロックサイズ直交変換（Adaptive Block size Transforms、ABT）と呼ばれ、H.26Lにおいて採用されている。図１にH.26LにおけるABTにて用いられる直交変換ブロックを示す。ABTでは、図１（ａ）に示す１６×１６画素のマクロブロック毎に、図１（ｂ）〜（ｅ）に示す４種類の直交変換ブロックサイズの中から、最も良い符号化効率の得られるサイズを選択することができる。マクロブロックの画素値に対しては、選択されたサイズのブロックにより等分割されて直交変換が行われることとなる。このような選択を行うことにより、マクロブロックにおける画像信号の空間的な性質の変化に合わせて、直交変換を利用した冗長の削減を効率的に行うことができる。なおABTのより具体的な詳細については、H.26Lを参照されたい。
【０００７】
直交変換により得られた直交変換係数に対するエントロピー符号化は、直交変換係数を低周波領域の係数から順に読み出した係数列について行われる。図２（ａ）に４×４画素の直交変換ブロックにおける係数の読み出し順を示す。直交変換を行って得られる係数は左上を最も低周波の成分（すなわち直流成分）として配置されることから、左上の係数から順に読み出しを行い、図２（ｂ）に示すような１６個の係数からなる係数列を得る。このような読み出し順はジグザグスキャンと呼ばれる。
【０００８】
直交変換により得られた係数は互いに無相関化されており、また信号成分が低周波領域に偏ることから、これをさらに量子化した場合には、低周波領域の係数ほど非ゼロの係数値となり、また係数列中にゼロ値となる係数が数多く現れる。例えば、図２（ｃ）に示すような係数値の並びとなる。そこでこのような分布の係数列を効率よくエントロピー符号化するために、画像符号化においては一般的に、係数列を非ゼロ係数に先行するゼロ係数の連続数（ラン）および非ゼロ係数の係数値（レベル）により表現して符号化を行う。ABTによる直交変換係数のエントロピー符号化についても、このようなランとレベルによる符号化が用いられている。
【０００９】
他方で、このようなエントロピー符号化を行う際により効率を高めるために、コンテキスト適応可変長符号（Context-based Adaptive Variable Length Code、CAVLC）と呼ばれる技術がH.26Lにおいて採用され、ABTを用いない場合の直交変換、すなわち直交変換が常に４×４画素の直交変換ブロックの単位にて行われる場合において用いられている。
【００１０】
H.26LにおけるCAVLCでは、４×４画素の直交変換ブロックから得られる係数列に含まれる係数が最大でも１６個であり、ランの大きさはこの最大数により制限されること、またレベルの大きさは低周波領域のものほど大きな値となりやすいこと、を利用して、可変長符号化に用いる符号化テーブルをそれぞれの条件毎に最適化したものとして多数用意し、これを順次切り替えて適用することにより、符号化効率を向上させている。
【００１１】
例えば各ランの符号化を順に行っていく場合、はじめのランにおいては０から１４（H.26Lにおけるランの定義により、ランの最大数は全係数数より２だけ少ない１４となる）までの様々な値を取り得るが、順にランを符号化していった後の終わりの方のランにおいては、係数列に含まれる係数の数に上限があることから、限られたランの値しか取り得ない。したがって、図３に示すように、はじめの方のランにおいては符号化テーブルの要素数がもっとも多い右側の符号化テーブルを用い、終わりの方のランとなるに従い、符号化テーブルの要素数を小さくした左側の符号化テーブルを適用することにより、より少ないビット数の符号を割り当てて効率的にエントロピー符号化を行うことができる。CAVLCにおいては、このようにブロックに含まれる係数の最大数などの条件を利用して、符号化すべき値が取り得る範囲に制限を加えることにより効率的な符号化を実現している。なおCAVLCのより具体的な詳細については、H.26Lを参照されたい。
【００１２】
【非特許文献１】
「国際標準画像符号化の基礎技術」、小野 文孝、渡辺 裕 共著、コロナ社
【００１３】
【発明が解決しようとする課題】
上述のようなCAVLCをABTに適用することにより、ABTの係数列においてもより効率的なエントロピー符号化を実現することが期待できる。
【００１４】
しかしながら、CAVLCはブロックに含まれる係数の最大数に基づきながら、可変長符号化に用いる符号化テーブルをそれぞれの条件毎に最適化し、これを切り替えながら符号化に用いることにより符号化効率を向上させている。
【００１５】
ABTを用いた場合には、サイズの異なるブロック毎に含まれる係数数が異なり、図１（ｂ）の８×８ブロックの場合には６４個、図１（ｃ）、（ｄ）の８×４、４×８ブロックの場合には３２個、図１（ｅ）の４×４ブロックの場合には１６個となる。このため、CAVLCを適用するためにはそれぞれの場合において起こり得る膨大な数の条件を考慮する必要が生じる。
【００１６】
例えば図３に示すランの符号化テーブルのように、係数列に含まれる係数の数の上限に応じて符号化テーブルを設定しようとした場合、６４個の係数数となる８×８ブロックの場合には、要素数２の符号化テーブルから、要素数６２個の符号化テーブルまでの膨大な数の符号化テーブルを用意する必要が生じる。これと同様に、３２個の係数数となる８×４、４×８ブロックにおいても要素数２から要素数３０までの符号化テーブルを用意することとなってしまう。
【００１７】
このように、ABTのようにサイズの異なる直交変換ブロックを選択して用いる直交変換において、CAVLCのように係数の特性に適応させたエントロピー符号化を適用しようとした場合には、用意すべき符号化テーブルの数が膨大になってしまい、符号化テーブルの保持に必要なメモリ量が膨大になってしまうという問題があった。またそれぞれのサイズのブロックについて用いられる符号化テーブル、ならびにその選択手順がそれぞれ異なることとなるため、エントロピー符号化における手順が複雑なものとなり、実現手段や装置構成が複雑になってしまうという問題があった。
【００１８】
本発明は、以上の問題点を解決するためになされたものであり、可変サイズの直交変換における効率的なエントロピー符号化を可能とする、画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像処理システム、画像符号化プログラム、画像復号プログラムを提供することを目的とする。
【００１９】
【課題を解決するための手段】
このような目的を達成するために、本発明に係る画像符号化方法（装置）は、画像信号をブロックに分割して直交変換を行い、得られた直交変換係数を読み出して係数列とした上で、エントロピー符号化する画像符号化方法（装置）であって、サイズの異なる複数のブロックから、直交変換を行うブロックのサイズを選択するブロック選択ステップ（手段）と、ブロック選択ステップ（手段）において最小サイズより大きいサイズのブロックが選択された場合に、そのブロックにおける係数列を最小サイズのブロックにおける係数列と同じ長さの複数の係数列に分割する係数列分割ステップ（手段）と、最小サイズのブロックにおける係数列に適応したエントロピー符号化を行うための符号化ステップ（手段）と、を備えることを特徴とする。また、本発明に係る画像符号化プログラムは、上記各ステップをコンピュータに実行させることを特徴とする。
【００２０】
このように、本発明に係る画像符号化方法においては、大きなサイズのブロックが選択されて直交変換が行われる場合に、そのブロックにおける係数列を分割してからエントロピー符号化を行うこととしている。これにより、係数列のエントロピー符号化において、最小サイズのブロックにおける係数列に適応したエントロピー符号化を用いることができ、エントロピー符号化の手順を複雑化させることなく、直交変換係数の効率的なエントロピー符号化を実現することができる。
【００２１】
上記画像符号化方法（装置）において、係数列分割ステップ（手段）は、係数列を低周波領域の係数から読み出し、最小サイズのブロックにおける係数列と同じ長さの複数の係数列に、それぞれ１つずつ順番に割り当てることにより、分割後の係数列を得ることを特徴としても良い。また、上記画像符号化プログラムにおいても、コンピュータに実行させる係数列分割ステップは、係数列を低周波領域の係数から読み出し、最小サイズのブロックにおける係数列と同じ長さの複数の係数列に、それぞれ１つずつ順番に割り当てることにより、分割後の係数列を得ることを特徴としても良い。
【００２２】
上記画像符号化方法（装置）において、係数列分割ステップ（手段）は、係数列を低周波領域の係数から読み出し、最小サイズのブロックにおける係数列が有する係数数と同数の係数を読み出して分割後の係数列とすることを繰り返すことにより、分割後の係数列を得ることを特徴としても良い。また、上記画像符号化プログラムにおいても、コンピュータに実行させる係数列分割ステップは、係数列を低周波領域の係数から読み出し、最小サイズのブロックにおける係数列が有する係数数と同数の係数を読み出して分割後の係数列とすることを繰り返すことにより、分割後の係数列を得ることを特徴としても良い。
【００２３】
本発明に係る画像復号方法（装置）は、画像信号をブロックに分割して直交変換を行い、得られた直交変換係数を読み出して係数列とした上で、エントロピー符号化する画像符号化方法によって符号化された符号化データを復号する画像復号方法であって、サイズの異なる複数のブロックから、直交変換を行うブロックのサイズを選択するブロック選択ステップ（手段）と、複数のブロックの中で、最小サイズのブロックにおける係数列に適応したエントロピー符号化による符号化データの復号を行うための復号ステップ（手段）と、ブロック選択ステップ（手段）において最小サイズより大きいサイズのブロックが選択された場合に、復号ステップ（手段）において復号された複数の係数列から当該大きいサイズのブロックの係数列を構成する係数列構成ステップ（手段）と、を備えることを特徴とする。また、本発明に係る画像復号プログラムは、上記各ステップをコンピュータに実行させることを特徴とする。
【００２４】
このように、本発明に係る画像復号方法においては、大きなサイズのブロックが選択されて直交変換の行われた符号化データを復号する場合に、そのブロックにおける係数列を、そのブロックに包含されるブロックの係数列から構成することとしている。これにより、最小サイズのブロックにおける係数列に適応したエントロピー符号化を用いた符号化データから係数列を復号することができ、エントロピー符号化の復号の手順を複雑化させることなく、直交変換係数の効率的なエントロピー符号化を実現することができる。
【００２５】
上記画像復号方法（装置）において、係数列構成ステップ（手段）は、復号ステップ（手段）において復号された複数の係数列を低周波領域の係数から読み出すと共に、それぞれの係数列から読み出された係数を１つずつ順番に用いて新たな係数列に低周波領域から書き込み、これを構成後の係数列とすることを特徴としても良い。また、上記復号化プログラムにおいても、コンピュータに実行させる係数列構成ステップは、復号ステップにおいて復号された複数の係数列を低周波領域の係数から読み出すと共に、それぞれの係数列から読み出された係数を１つずつ順番に用いて新たな係数列に低周波領域から書き込み、これを構成後の係数列とすることを特徴としても良い。
【００２６】
上記画像復号方法（装置）において、係数列構成ステップ（手段）は、復号ステップ（手段）において復号された複数の係数列を低周波領域の係数から読み出すと共に、読み出された係数を読出元の係数列ごとに新たな係数列に低周波領域から書き込み、これを構成後の係数列とすることを特徴としても良い。また、上記画像復号プログラムにおいても、コンピュータに実行させる係数列構成ステップは、復号ステップにおいて復号された複数の係数列を低周波領域の係数から読み出すと共に、読み出された係数を読出元の係数列ごとに新たな係数列に低周波領域から書き込み、これを構成後の係数列とすることを特徴としても良い。
【００２７】
本発明に係る画像処理システムは、上記画像符号化装置と、上記画像復号装置と、を備えることを特徴とする。
【００２８】
上記画像符号化装置を備えることにより、可変サイズの直交変換における効率的なエントロピー符号化を可能とすると共に、上記画像復号装置を備えることにより、上記画像符号化装置によってエントロピー符号化された符号を復号可能な画像処理システムを実現することができる。
【００２９】
【発明の実施の形態】
以下、図面とともに本発明による画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及び画像処理システムの好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００３０】
以下の説明における符号化および復号においては、H.26Lをもとにして実現することとして説明を行い、画像符号化における動作について特に触れていない部分については、H.26Lの動作に準じるものとする。ただし本発明はH.26Lに限定されるものではない。
【００３１】
本発明の実施形態について説明する。本実施形態による符号化においては、H.26LにおけるABTのそれぞれのサイズのブロックの直交変換係数について、これから得られる係数列を、４×４ブロックの係数列における係数の数と同じ数からなる複数の係数列に分割することにより、４×４ブロックに適応させて定義されたH.26LのCAVLCによりエントロピー符号化することができるようにしている。
【００３２】
符号化においてはまず、ひとつのマクロブロックに対してH.26LにおけるABTが適用されて、図１（ｂ）〜（ｅ）に示したブロックの中から最も良い符号化効率の得られるサイズが選択され、そのブロックの単位にて直交変換がなされているものとする。
【００３３】
また、直交変換係数のエントロピー符号化として、H.26LにおけるCAVLCが用いられるものとする。すなわち、図１（ｅ）に示した４×４ブロックについての直交変換係数の符号化に適応させた可変長符号化のみが定義されているものとする。
【００３４】
例えば、ここで図１（ｂ）の８×８ブロックが選択されたものとする。この８×８ブロックについて、以下のような直交変換係数の読み出し操作を行う。まず、８×８ブロックにおける６４個の係数を、図４（ａ）に示すようにジグザグスキャンにより読み出し、図４（ｂ）に示すような係数列を得る。
【００３５】
次に、この係数列を、４×４ブロックの係数列における係数の数と同じ、１６個の係数からなる４つの係数列に分割するものとする。ここで、もとの係数列を低周波領域の係数から読み出しながら、４つの係数列にそれぞれ交互に割り当てることにより、分割後の係数列を得る。図４（ｃ）、（ｄ）にこの読み出し操作を示す。低周波領域の係数から各係数列へと交互に割り当てられることから、第１の分割後係数列には、もとの係数列における０番目、４番目、８番目、１２番目、と続く係数がそれぞれ読み出され割り当てられることとなり、第２の分割後係数列には１番目、５番目、９番目、１３番目、と続く係数がそれぞれ読み出され割り当てられることとなる。図４では第３、第４の分割後係数列については省略している。
【００３６】
同様にして、図１（ｃ）または（ｄ）の８×４ブロックまたは４×８ブロックが選択された場合には、３２個の係数を、１６個の係数からなる２つの係数列に分割するものとする。分割後の係数列を得るための読み出し方も、交互に割り当てる係数列の数が４から２になることを除いて８×８ブロックの場合と同様であることとし、もとの係数列を低周波領域の係数から読み出していき、２つの係数列に交互に割り当てていくこととする。
【００３７】
このようにして得られた係数列は、ABTが用いられていない場合におけるCAVLCの符号化と全く同じ手順によりエントロピー符号化され、順にABTブロックにおける直交変換係数の符号化データとして出力されるものとする。
【００３８】
このとき、H.26LのCAVLCでは、隣接する４×４ブロックにおける非ゼロ係数数に基づいて用いる符号化テーブルを切り替える、空間コンテキストが利用される。このため、４×４ブロックよりも大きなABTブロックについて、分割後の係数列のABTブロック内での配置を定義する。この定義を図５に示す。例えば図５（ａ）に示す８×８ブロックでは、図４（ｃ）で説明した第１の分割後係数列は「１」の位置に、また図４（ｄ）で説明した第２の分割後係数列は「２」の位置に、それぞれ配置されているものとして扱う。この配置の定義を用いて、ABTブロック内の分割後係数列についての空間コンテキスト、あるいはABTブロックに隣接する４×４ブロックについての空間コンテキストは、H.26LにおけるCAVLCでの手法とまったく変更なく扱われるものとする。
【００３９】
復号においては、符号化における手順と逆の手順により、もとの直交変換行列を得ることができる。
【００４０】
ひとつのマクロブロックにH.26LにおけるABTが適用されて、図１（ｂ）〜（ｅ）に示したブロックの中からサイズが指示され、このマクロブロックに対する符号化データでは、そのABTブロックの単位にて行われた直交変換がなされているものとする。
【００４１】
このとき符号化データには、分割後係数列をCAVLCによりエントロピー符号化した符号化データが、ABTブロックにおける直交変換係数の符号化データとして順に含まれていることとなる。したがってこれを順次、CAVLCの手順に従って復号し、分割後係数列を得る。
【００４２】
これらの分割後係数列は、図４に示した読み出し方により分割された係数列であるから、逆に分割後係数列の係数をもとの係数列に書き込み、さらに得られた係数列を直交変換係数ブロックに書き込むことにより、もとの直交変換係数ブロックを得ることができる。以降は、H.26LにおけるABTが適用された場合の復号の手順と同じである。
【００４３】
次に、上記の画像符号化及び画像復号を実現する画像処理システム１の構成について説明する。図７は、実施形態に係る画像処理システム１を示すブロック図である。画像処理システム１は、画像データを符号化する画像符号化装置１０と画像復号装置２０とを備えている。
【００４４】
画像符号化装置１０は、直交変換手段１１と、係数列分割手段１２と、エントロピー符号化手段１３と、ブロック選択手段１４とを有する。直交変換手段１１は、画像データを直交変換して周波数成分に変換する機能を有する。直交変換手段１１は、画像データのマクロブロックを複数のブロックに分割し、分割されたブロックを直交変換する。ブロック選択手段１４と接続されており、ブロック選択手段１４によって最も効率良く直交変換を行うことができるブロックを選択する。
【００４５】
係数列分割手段１２は、直交変換によって得られた係数列を所定の長さの係数列に分割する機能を有する。ここで、「所定の長さ」とは、直交変換手段１１によって画像データが直交変換される際に分割され得るブロックのうち、最小のサイズのブロックを直交変換したときに得られる係数列の長さである。
【００４６】
エントロピー符号化手段１３は、係数列分割手段１２によって分割された係数列を符号化する機能を有する。上記したように、係数列分割手段１２は、最小ブロックの係数列と同じ長さの係数列に分割するので、エントロピー符号化手段１３は、その長さの係数列を符号化するために適応させた構成とすることができ、効率良く符号化を行うことができる。
【００４７】
画像復号装置２０は、エントロピー復号手段２３と、係数列構成手段２２と、逆直交変換手段２１と、ブロック選択手段２４と、を有する。エントロピー復号手段２３は、符号化されたデータを復号する機能を有する。
【００４８】
係数列構成手段２２は、画像符号化装置１０によって符号化される際に、分割された係数列をもとの係数列に構成する機能を有する。係数列構成手段２２は、ブロック選択手段２４に接続され、ブロック選択手段２４から元のブロックのサイズに関する情報を取得し、この情報に基づいて係数列を構成する。なお、ブロック選択手段２４は、画像符号化装置から符号化データと共に送信される付加情報などにより、元のブロックのサイズを取得することができる。
【００４９】
逆直交変換手段２１は、係数列構成手段２２によって構成された係数列を画像データに変換する機能を有する。
【００５０】
このような構成を有する画像処理システム１によって、上述した画像符号化及び画像復号は実現される。
【００５１】
なお、本実施形態においては、直交変換係数の読み出しはジグザグスキャンによるものとしたが、本発明を適用する際の係数の読み出し方法は、ジグザグスキャンに限られるものではない。例えばH.26LのABTにおいて定義されている、インターレース画像におけるフィールド符号化を行うための、フィールドスキャンが適用される場合に本発明を適用することとしてもよい。この場合でも、本実施形態における係数列の分割手法はそのまま適用可能である。
【００５２】
また、本実施形態においては、分割後の係数列を得るための読み出し方を、図４に示したような交互の読み出しによるものとして示したが、これとは異なる読み出し方を行って分割後の係数列を得ることとしてもよい。例えば図６（ｃ）、（ｄ）に示すように、もとの係数列を低周波領域の係数から１６個ずつ連続して読み出していき、それぞれを分割後の係数列ひとつに割り当てていくこととしてもよい。
【００５３】
また、本実施形態においては、符号化における直交変換係数の読み出しは、直交変換ブロックから係数列を得るための第一の読み出しの後に、分割後の複数の係数列を得るための第二の読み出しを行うこととしている。また復号における直交変換係数の書き込みは、構成後の係数列を得るための第一の書き込みの後に、直交変換ブロックを得るための第二の書き込みが行われることとしている。しかしながら本発明による係数の読み出し、書き込みはこれらに限られるものではなく、所望の配置による係数列が得られるような、さまざまな読み出し、書き込み方法をとることができる。例えば、直交変換ブロックからの第一の係数読み出しにおいて、直ちに分割後の複数の係数列が得られるように読み出しを行ってもよい。また分割後係数列からの書き込みにおいても、第一の係数書き込みにおいて直ちに直交変換ブロックが得られるように行ってもよい。
【００５４】
また、本実施形態においては、分割後の係数列を図５のように配置し、H.26LにおけるCAVLCでの隣接する４×４ブロックからの空間コンテキストが、まったく変更なく扱われるものとしたが、このとき、４×４ブロックより大きなABTブロックの係数列から分割された係数列は、もともと４×４ブロックであった場合の係数列とは性質が異なると考えて、空間コンテキストとして用いる数値に重み付けを行うこととしてもよい。具体的には、隣接するブロックからの空間コンテキストとして非ゼロ係数数が用いられるが、４×４ブロックよりも大きなABTブロックから得られた分割後係数列についての非ゼロ係数数は、空間コンテキストとして用いられる際に常に定数を加算もしくは乗算した値が用いられることとしてもよい。あるいはまた、図６に示したように低周波領域から連続して読み出すことにより分割後の係数列が得られている場合には、低周波領域から読み出されたものと高周波領域から読み出されたものとで異なる定数を加算もしくは乗算されることとしてもよい。
【００５５】
本実施形態の説明はH.26Lをもとにして実現したものとして説明し、またH.26LにおけるABT、CAVLCに基づいて説明したが、本発明を適用することのできる画像符号化方式はH.26Lに限定されるものではなく、直交変換を行うブロックのサイズを複数から選択することができ、直交変換係数に適応させたエントロピー符号化が用いられる様々な画像符号化方式に適用することが可能である。
【００５６】
【発明の効果】
本発明による、画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及び画像処理システムは、以上詳細に説明したように、次のような効果を得る。すなわち、直交変換を行うブロックのサイズを複数から選択することができる場合に、得られた直交変換係数からなる係数列を、最小サイズのブロックにおける係数列と同じ大きさの複数の係数列に分割し、これに対して最小サイズのブロックにおける係数列に適応したエントロピー符号化を行うことにより、エントロピー符号化における符号化テーブルの数を増大させることなく、また符号化テーブルならびにその選択手順を複雑なものとすることなく、効率的なエントロピー符号化を行うことが可能となる。
【図面の簡単な説明】
【図１】  H.26Lの適応ブロックサイズ直交変換（Adaptive Block size Transforms、ABT）において用いられる直交変換ブロックについて示す図である。
【図２】４×４ブロックにおける係数の読み出し方法と、読み出し後の係数列の一例について示す図である。
【図３】  H.26Lのコンテキスト適応可変長符号（Context-based Adaptive Variable Length Code、CAVLC）において用いられる、ランの符号化テーブルについて示す図である。
【図４】本発明による直交変換係数の読み出しおよび分割を、８×８ブロックについて行った例について示す図である。
【図５】本発明による分割後の係数列の、もとのブロック内における配置の定義について示す図である。
【図６】本発明による直交変換係数の読み出しおよび分割の、もうひとつの方法を、８×８ブロックについて行った例について示す図である。
【図７】実施形態に係る画像処理システムの構成を示すブロック図である。
【符号の説明】
１…画像処理システム、１０…画像符号化装置、１１…直交変換手段、１２…係数列分割手段、１３…エントロピー符号化手段、１４…ブロック選択手段、２０…画像復号装置、２１…逆直交変換手段、２２…係数列構成手段、２３…エントロピー復号手段、２４…ブロック選択手段。
【図１】
0003679083.tif 000002
【図２】
0003679083.tif 000003
【図３】
0003679083.tif 000004
【図４】
0003679083.tif 000005
【図５】
0003679083.tif 000006
【図６】
0003679083.tif 000007
【図７】
0003679083.tif 000008