H.264のように画素領域における画面内予測信号生成方法を用いる符号化方法では、多くのテキスチャ信号の生成方法(以下、テキスチャ信号の生成方法を「モード」とも言う)を設け、ブロック毎に適切な方法を選択することで予測精度を高めることが可能となる。しかしながら、選択されたテキスチャ信号の生成方法にかかわらず、対象ブロックの画素信号と予測信号との差分信号に同じ変換符号化方法を適用しているため、予測精度を高めても、差分信号の符号量が効率良く削減できない場合がある。
本発明は、上記の課題を解決するものであり、差分信号の符号量を抑制することを目的とする。
本発明に係る画像符号化装置、方法及びプログラム、並びに、画像復号装置、方法及びプログラムは、以下のような態様を採用可能である。
本発明に係る画像復号装置は、圧縮データの中から処理対象である対象領域に関する画面内予測モード情報と量子化された変換係数の1次元データとを抽出して復元する復号手段と、複数の画面内予測信号生成方法の中から前記画面内予測モード情報で指定された方法で既再生の画素を参照して画面内予測信号を生成する予測信号生成手段と、前記量子化された変換係数の1次元データを逆走査して、量子化された変換係数行列を生成し、生成した変換係数行列に逆量子化と逆変換を行うことで再生残差信号を復元し、前記画面内予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元手段と、前記復元された画素信号を、前記予測信号生成手段が参照可能な既再生の画素として蓄積する画像保存手段と、を備え、前記画像復元手段は、逆変換を実施する際の逆変換ブロックサイズが第1のサイズである場合には用意された複数の逆走査方法の中から、前記画面内予測モード情報に基づいて定まる逆走査方法を用い、前記逆変換ブロックサイズが前記第1のサイズよりも大きい第2のサイズである場合には規定の逆走査方法を用いて、前記量子化された変換係数の1次元データを逆走査して、前記量子化された変換係数行列を生成し、前記複数の逆走査方法には前記規定の逆走査方法が含まれる、
ことを特徴とする。
上記の予測信号生成手段は、前記対象領域に隣接する既再生の画素を参照する画面内予測信号生成方法により、1つ以上のテキスチャ信号を生成し、前記用意された複数の逆走査方法は、前記画面内予測信号生成方法により生成されるテキスチャ信号に適した逆走査方法を含んでもよい。
逆走査方法と画面内予測信号生成方法との対応は、予め決まっていてもよい。
上記の復号手段は、前記用意された複数の逆走査方法の中から、特定された予測信号生成方法に対応する逆走査方法を選択するための識別情報を抽出して復元し、前記画像復元手段は、前記用意された複数の逆走査方法の中から、前記画面内予測モード情報と前記識別情報とから定まる逆走査方法を用いて、前記量子化された変換係数行列を生成してもよい。
本発明に係る画像復号方法は、画像復号装置により実行される画像復号方法であって、圧縮データの中から処理対象である対象領域に関する画面内予測モード情報と量子化された変換係数の1次元データとを抽出して復元する復号ステップと、複数の画面内予測信号生成方法の中から前記画面内予測モード情報で指定された方法で既再生の画素を参照して画面内予測信号を生成する予測信号生成ステップと、前記量子化された変換係数の1次元データを逆走査して、量子化された変換係数行列を生成し、生成した変換係数行列に逆量子化と逆変換を行うことで再生残差信号を復元し、前記画面内予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元ステップと、前記復元された画素信号を、前記予測信号生成ステップで参照可能な既再生の画素として蓄積する画像保存ステップと、を備え、前記画像復元ステップでは、逆変換を実施する際の逆変換ブロックサイズが第1のサイズである場合には用意された複数の逆走査方法の中から、前記画面内予測モード情報に基づいて定まる逆走査方法を用い、前記逆変換ブロックサイズが前記第1のサイズよりも大きい第2のサイズである場合には規定の逆走査方法を用いて、前記量子化された変換係数の1次元データを逆走査して、前記量子化された変換係数行列を生成し、前記複数の逆走査方法には前記規定の逆走査方法が含まれる、ことを特徴とする。
本発明に係る画像復号プログラムは、コンピュータを、圧縮データの中から処理対象である対象領域に関する画面内予測モード情報と量子化された変換係数の1次元データとを抽出して復元する復号手段と、複数の画面内予測信号生成方法の中から前記画面内予測モード情報で指定された方法で既再生の画素を参照して画面内予測信号を生成する予測信号生成手段と、前記量子化された変換係数の1次元データを逆走査して、量子化された変換係数行列を生成し、生成した変換係数行列に逆量子化と逆変換を行うことで再生残差信号を復元し、前記画面内予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元手段と、前記復元された画素信号を、前記予測信号生成手段が参照可能な既再生の画素として蓄積する画像保存手段、として機能させるための画像復号プログラムであって、前記画像復元手段は、逆変換を実施する際の逆変換ブロックサイズが第1のサイズである場合には用意された複数の逆走査方法の中から、前記画面内予測モード情報に基づいて定まる逆走査方法を用い、前逆記変換ブロックサイズが前記第1のサイズよりも大きい第2のサイズである場合には規定の逆走査方法を用いて、前記量子化された変換係数の1次元データを逆走査して、前記量子化された変換係数行列を生成し、前記複数の逆走査方法には前記規定の逆走査方法が含まれる、ことを特徴とする。
また、本発明に係る画像復号装置、方法及びプログラムは、以下のような態様を採用可能である。
本発明に係る画像復号装置は、圧縮データの中から処理対象である対象領域に関する画面内予測モード情報と量子化された変換係数の1次元データとを抽出して復元する復号手段と、複数の画面内予測信号生成方法の中から前記画面内予測モード情報で指定された方法で既再生の画素を参照して画面内予測信号を生成する予測信号生成手段と、前記量子化された変換係数の1次元データを逆走査して、量子化された変換係数行列を生成し、生成した変換係数行列に逆量子化と逆変換を行うことで再生残差信号を復元し、前記画面内予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元手段と、を備え、前記画像復元手段は、逆変換を実施する際の逆変換ブロックサイズがある基準より小さい場合には用意された複数の逆走査方法の中から、前記画面内予測モード情報に基づいて定まる逆走査方法を用い、前記変換ブロックサイズがそれ以外の場合には規定の逆走査方法を用いて、前記量子化された変換係数の1次元データを逆走査して、前記量子化された変換係数行列を生成する、ことを特徴とする。
上記の予測信号生成手段は、前記対象領域に隣接する既再生の画素を参照する画面内予測信号生成方法により、1つ以上のテキスチャ信号を生成し、前記用意された複数の逆走査方法は、前記画面内予測信号生成方法により生成されるテキスチャ信号に適した逆走査方法を含んでもよい。
逆走査方法と画面内予測信号生成方法との対応は、予め決まっていてもよい。
上記の復号手段は、前記用意された複数の逆走査方法の中から、特定された予測信号生成方法に対応する逆走査方法を選択するための識別情報を抽出して復元し、画像復元手段は、前記用意された複数の逆走査方法の中から、前記画面内予測モード情報と前記識別情報とから定まる逆走査方法を用いて、前記量子化された変換係数行列を生成してもよい。
本発明に係る画像復号方法は、画像復号装置により実行される画像復号方法であって、圧縮データの中から処理対象である対象領域に関する画面内予測モード情報と量子化された変換係数の1次元データとを抽出して復元する復号ステップと、複数の画面内予測信号生成方法の中から前記画面内予測モード情報で指定された方法で既再生の画素を参照して画面内予測信号を生成する予測信号生成ステップと、前記量子化された変換係数の1次元データを逆走査して、量子化された変換係数行列を生成し、生成した変換係数行列に逆量子化と逆変換を行うことで再生残差信号を復元し、前記画面内予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元ステップと、を備え、前記画像復元ステップでは、逆変換を実施する際の逆変換ブロックサイズがある基準より小さい場合には用意された複数の逆走査方法の中から、前記画面内予測モード情報に基づいて定まる逆走査方法を用い、前記変換ブロックサイズがそれ以外の場合には規定の逆走査方法を用いて、前記量子化された変換係数の1次元データを逆走査して、前記量子化された変換係数行列を生成する、ことを特徴とする。
本発明に係る画像復号プログラムは、コンピュータを、圧縮データの中から処理対象である対象領域に関する画面内予測モード情報と量子化された変換係数の1次元データとを抽出して復元する復号手段と、複数の画面内予測信号生成方法の中から前記画面内予測モード情報で指定された方法で既再生の画素を参照して画面内予測信号を生成する予測信号生成手段と、前記量子化された変換係数の1次元データを逆走査して、量子化された変換係数行列を生成し、生成した変換係数行列に逆量子化と逆変換を行うことで再生残差信号を復元し、前記画面内予測信号と前記再生残差信号を加算することによって、前記対象領域の画素信号を復元する画像復元手段、として機能させるための画像復号プログラムであって、前記画像復元手段は、逆変換を実施する際の逆変換ブロックサイズがある基準より小さい場合には用意された複数の逆走査方法の中から、前記画面内予測モード情報に基づいて定まる逆走査方法を用い、前記変換ブロックサイズがそれ以外の場合には規定の逆走査方法を用いて、前記量子化された変換係数の1次元データを逆走査して、前記量子化された変換係数行列を生成する、ことを特徴とする。
また、本発明に係る画像復号装置は、以下のような態様も採用可能である。
本発明に係る画像復号装置は、上述した画像符号化装置による符号化によって得られた圧縮データを復号する画像復号装置であって、圧縮データの中から処理対象である対象領域に関する残差信号の符号化データを抽出し、残差信号に関わる変換係数の1次元データを復元する復号手段と、前記対象領域に含まれる対象画素信号に対する予測信号を生成する予測信号生成手段と、前記復号手段により復号された残差信号に関する変換係数又は量子化された変換係数の1次元データを逆走査して、変換係数行列又は量子化された変換係数行列を生成する逆走査手段と、前記逆走査手段により生成された前記変換係数行列に逆変換を行うか、又は、前記逆走査手段により生成された量子化された変換係数行列に逆量子化と逆変換の両方若しくは逆量子化のみを行うことで、再生残差信号を復元する逆変換手段と、前記予測信号生成手段により生成された予測信号と前記逆変換手段により復元された再生残差信号とを加算することによって、前記対象領域の画素信号を復元する画像復元手段と、前記復元された対象画素信号を蓄積する画像保存手段と、を備え、前記復号手段は、圧縮データの中から、予測信号生成方法を指示するモード情報を抽出して復元し、前記予測信号生成手段は、前記画像保存手段に蓄積されている既再生の画素を参照して異なるテキスチャ信号を生成するための複数の予測信号生成方法の中から、前記復号手段により復号された前記モード情報に対応する予測信号生成方法を特定し、特定した予測信号生成方法により前記対象領域の予測信号を生成し、前記逆走査手段は、用意された複数の逆走査方法の中から、前記復号手段により復元された前記モード情報と変換ブロックサイズとに対応する逆走査方法を用いて、前記再生残差信号の変換係数行列又は量子化された変換係数行列を生成することを特徴とする。
さらに、本発明に係る画像復号装置は、以下のような態様も採用可能である。
本発明に係る画像復号装置は、圧縮データの中から処理対象である対象領域に関する残差信号の符号化データを抽出し、残差信号に関わる変換係数の1次元データを復元する復号手段と、前記対象領域に含まれる対象画素信号に対する予測信号を生成する予測信号生成手段と、前記復号手段により復号された残差信号に関する変換係数又は量子化された変換係数の1次元データを逆走査して、変換係数行列又は量子化された変換係数行列を生成する逆走査手段と、前記逆走査手段により生成された前記変換係数行列に逆変換を行うか、又は、前記逆走査手段により生成された量子化された変換係数行列に逆量子化と逆変換の両方若しくは逆量子化のみを行うことで、再生残差信号を復元する逆変換手段と、前記予測信号生成手段により生成された前記画面内予測信号と前記逆変換手段により復元された再生残差信号とを加算することによって、前記対象領域の画素信号を復元する画像復元手段と、前記復元された対象画素信号を蓄積する画像保存手段と、を備え、前記復号手段は、圧縮データの中から、予測信号生成方法を指示するモード情報を抽出して復元し、前記予測信号生成手段は、前記画像保存手段に蓄積されている既再生の画素を参照して異なるテキスチャ信号を生成するための複数の予測信号生成方法の中から、前記復号手段により復号された前記モード情報に対応する予測信号生成方法を特定し、特定した予測信号生成方法により前記対象領域の予測信号を生成し、前記逆走査手段は、用意された複数の逆走査方法の中から、前記復号手段により復元された前記モード情報に対応する逆走査方法を用いて、前記再生残差信号の変換係数行列又は量子化された変換係数行列を生成することを特徴とする。
なお、上記の予測信号生成手段は、前記対象領域に隣接する既再生の画素を参照する画面内予測信号生成方法により、1つ以上のテキスチャ信号を生成し、前記用意された複数の逆走査方法は、前記画面内予測信号生成方法により生成されるテキスチャ信号に適した逆走査方法を含む構成とすることが望ましい。
また、前記逆走査方法と前記予測信号生成方法との対応が、予め決まっている構成としてもよいし、前記復号手段が、前記用意された複数の逆走査方法の中から、前記特定された予測信号生成方法に対応する逆走査方法を選択するための識別情報を抽出して復元し、前記逆走査手段が、前記用意された複数の逆走査方法の中から、前記復号手段により復元された前記モード情報と前記識別情報とから定まる逆走査方法を用いて、前記再生残差信号の変換係数行列又は量子化された変換係数行列を生成する構成としてもよい。
本発明に係る画像復号装置は、方法に係る発明又はプログラムに係る発明として捉えることもでき、以下のように記述することができる。方法に係る発明又はプログラムに係る発明は、同様の作用・効果を奏する
本発明に係る画像復号方法は、画像復号装置により実行される画像復号方法であって、圧縮データの中から処理対象である対象領域に関する残差信号の符号化データを抽出し、残差信号に関わる変換係数の1次元データを復元する復号ステップと、前記対象領域に含まれる対象画素信号に対する予測信号を生成する予測信号生成ステップと、前記復号ステップにより復号された残差信号に関する変換係数又は量子化された変換係数の1次元データを逆走査して、変換係数行列又は量子化された変換係数行列を生成する逆走査ステップと、前記逆走査ステップにより生成された前記変換係数行列に逆変換を行うか、又は、前記逆走査ステップにより生成された量子化された変換係数行列に逆量子化と逆変換の両方若しくは逆量子化のみを行うことで、再生残差信号を復元する逆変換ステップと、前記予測信号生成ステップにより生成された前記画面内予測信号と前記逆変換ステップにより復元された再生残差信号とを加算することによって、前記対象領域の画素信号を復元する画像復元ステップと、前記復元された対象画素信号を蓄積する画像保存ステップと、を備え、前記復号ステップでは、圧縮データの中から、予測信号生成方法を指示するモード情報を抽出して復元し、前記予測信号生成ステップでは、前記画像保存ステップにより蓄積された既再生の画素を参照して異なるテキスチャ信号を生成するための複数の予測信号生成方法の中から、前記復号ステップにより復号された前記モード情報に対応する予測信号生成方法を特定し、特定した予測信号生成方法により前記対象領域の予測信号を生成し、前記逆走査ステップでは、用意された複数の逆走査方法の中から、前記復号ステップにより復元された前記モード情報に対応する逆走査方法を用いて、前記再生残差信号の変換係数行列又は量子化された変換係数行列を生成することを特徴とする。
本発明に係る画像復号プログラムは、画像復号装置に設けたコンピュータを、圧縮データの中から処理対象である対象領域に関する残差信号の符号化データを抽出し、残差信号に関わる変換係数の1次元データを復元する復号手段と、前記対象領域に含まれる対象画素信号に対する予測信号を生成する予測信号生成手段と、前記復号手段により復号された残差信号に関する変換係数又は量子化された変換係数の1次元データを逆走査して、変換係数行列又は量子化された変換係数行列を生成する逆走査手段と、前記逆走査手段により生成された前記変換係数行列に逆変換を行うか、又は、前記逆走査手段により生成された量子化された変換係数行列に逆量子化と逆変換の両方若しくは逆量子化のみを行うことで、再生残差信号を復元する逆変換手段と、前記予測信号生成手段により生成された前記画面内予測信号と前記逆変換手段により復元された再生残差信号とを加算することによって、前記対象領域の画素信号を復元する画像復元手段と、前記復元された対象画素信号を蓄積する画像保存手段として機能させるための画像復号プログラムであって、前記復号手段は、圧縮データの中から、予測信号生成方法を指示するモード情報を抽出して復元し、前記予測信号生成手段は、前記画像保存手段に蓄積されている既再生の画素を参照して異なるテキスチャ信号を生成するための複数の予測信号生成方法の中から、前記復号手段により復号された前記モード情報に対応する予測信号生成方法を特定し、特定した予測信号生成方法により前記対象領域の予測信号を生成し、前記逆走査手段は、用意された複数の逆走査方法の中から、前記復号手段により復元された前記モード情報に対応する逆走査方法を用いて、前記再生残差信号の変換係数行列又は量子化された変換係数行列を生成することを特徴とする。
本発明によれば、異なる予測信号生成方法で複数のテキスチャ信号を生成し、生成した複数のテキスチャ信号のうち、所定の評価規則に照らし対象画素信号との相関が最も高いテキスチャ信号を、対象領域の予測信号として選択し、選択されたテキスチャ信号を生成する予測信号生成方法に応じて、変換係数の符号化方法を切り替えることにより予測差分信号の符号量を抑制することができる。
以下、本発明の実施の形態について、図1〜図23を用いて説明する。
図1は本発明の実施形態に係る画像符号化装置100を示すブロック図である。画像符号化装置100は、入力端子101、ブロック分割器102、画面間予測信号生成方法決定器103、画面間予測信号生成器104、画面内予測信号生成方法決定器105、画面内予測信号生成器106、切り替えスイッチ107、減算器108、変換器109、量子化器110、走査器129、逆走査器130、逆量子化器111、逆変換器112、加算器113、フレームメモリ(画像保存手段)114、エントロピー符号化器115、及び出力端子116を備えている。
以上のように構成された画像符号化装置100について、以下その動作を述べる。複数枚の画像からなる動画像の信号は入力端子101に入力される。符号化の対象なる画像はブロック分割器102にて、複数の領域に分割される。本発明に係る実施形態では8×8の画素からなるブロックに分割されるが、それ以外のブロックの大きさ又は形に分割してもよい。次に、符号化処理の対象となる領域(以下「対象ブロック」と言う)に対して、予測信号を生成する。本発明に係る実施形態では、2種類の予測方法が用いられる。すなわち画面間予測と画面内予測である。
画面間予測では、過去に符号化されたのちに復元された再生画像を参照画像として、この参照画像から対象ブロックに対する誤差の最も小さい予測信号を与える動き情報を求める。この処理は動き検出とよばれる。また場合に応じて、対象ブロックを再分割し、再分割された小領域に対し画面間予測方法を決定してもよい。この場合、各種の分割方法の中から、対象ブロック全体に対し最も効率のよい分割方法及びそれぞれの動き情報を決定する。本発明に係る実施形態では、この処理は画面間予測信号生成方法決定器103にて行われ、対象ブロックはラインL103経由で、参照画像はL121(フレームメモリ114に接続されているが図示されていない)経由で入力される。参照画像としては、過去に符号化され復元された複数の画像を参照画像として用いてもよい。詳細は従来の技術であるMPEG−2,4、H.264のいつずれの方法と同じである。このように決定された動き情報及び小領域の分割方法は、ラインL122を経由して画面間予測信号生成器104に送られる。またこれらの情報はラインL124経由でエントロピー符号化器115に送られ符号化した上で出力端子116から送出される。画面間予測信号生成器104では、小領域の分割方法及びそれぞれの小領域に対応する動き情報をもとにフレームメモリ114(ラインL121経由)から参照信号を取得し、予測信号を生成する。このように生成された画面間予測信号は端子107a経由で次の処理ブロックに送られる。
画面内予測では、対象ブロックに空間的に隣接する既再生の画素値を用いて所定の方法で画面内予測信号を生成する。画面内予測信号を生成する方法は、画面内予測信号生成方法決定器105にて決定される。画面内予測信号生成方法決定器105の処理は後に説明するが、ここでは対象ブロックに直に隣接する複数の画素を用いて補間する方法を用いている。このように決定された予測方法に関する情報(又はモード情報ともいう)はラインL123経由で画面内予測信号生成器106に送られる。これらのモード情報はラインL125経由でエントロピー符号化器115に送られ符号化した上で出力端子116から送出される。画面内予測信号生成器106では、画面内予測信号生成方法を指示するモード情報をもとにフレームメモリ114(ラインL120経由)から同じ画面内にあり対象ブロックに直に隣接する既再生の画素信号を取得し、モード情報に従って予測信号を生成する。このように生成された画面間予測信号は端子107b経由で次の処理ブロックに送られる。
上述のように求められた画面間予測信号と画面内予測信号に対し、切り替えスイッチ107によって誤差の最も小さいものが選択され、減算器108に送られる。選択情報は、予測信号生成方法を指示するモード情報に含まれる。但し、一枚目の画像については、過去の画像がないため、全ての対象ブロックは画面内予測で処理され、当該画像を処理する際にはスイッチ107は常に端子107bに接続される。同様にシーンカットの直後や周期的に画面内予測の画像を導入する必要がある場合においては、画面一面に対し画面内予測のみとなる場合がある。なお、下記に述べる画面内予測信号生成方法は静止画像の符号化・復号にも適用できる。
減算器108にて対象ブロックの信号(ラインL102経由)から予測信号(ラインL127経由)を引き算し、残差信号を生成する。この残差信号は変換器109にて離散コサイン変換される。ここで、変換係数行列(変換ブロック)は、順次、量子化器110に入力され、量子化される(量子化変換係数行列の生成)。量子化された変換係数行列内の量子化変換係数は、走査器129にて量子化変換係数の1次元データに走査される。走査器129における走査方法については後で説明するが、選択した予測方法に応じて異なる方法が用いられる。最後にエントロピー符号化器115にて量子化された変換係数を符号化して、予測信号生成方法に関する情報(予測信号生成方法を指示するモード情報や動きベクトル)や量子化方法を指示する量子化パラメータ(図示なし)とともに出力端子116より送出される。
次の対象ブロックに対する画面内予測もしくは画面間予測を行うために、圧縮された対象ブロックの信号は逆処理した上で復元される。すなわち、逆走査器130にて量子化変換係数の1次元データから量子化変換係数行列(量子化変換ブロック)に逆走査される。量子化変換係数は逆量子化器111にて逆量子化されたのち、逆変換器112にて逆離散コサイン変換され、残差信号を復元する。加算器113にて復元された残差信号とラインL128から送られた予測信号とを加算し、対象ブロックの信号を再生し、フレームメモリ114に格納する。
次に、画面内予測処理について説明する。図2は本発明の実施形態に係る画像符号化装置100に用いられる第1の画面内予測信号生成方法決定器を示すブロック図である。図2に示すように、画面内予測信号生成法決定器105は、予測方法決定器201、及び予測信号生成器202を備えている。本実施形態においては、予測信号生成器202にて対象ブロックに直に接する複数の既再生画素を用いて、9つの方法で予測信号を生成する。この9つの予測信号の生成方法について図8(a)、図9(a)、図10(a)、図11(a)、図12(a)、図13(a)、図14(a)、図15(a)、図16(a)を用いて説明する。図8(a)は対象領域の第1の画面内予測信号生成方法を示す。この図8(a)において、各升目は画素を示し、画素A〜Mの画素群801は既再生画素群であり、ラインL120経由で画面内予測信号生成法決定器105内の予測信号生成器202に入力される。また画素a〜pの画素群802は対象ブロックに含まれる画素である。本実施形態では4×4画素からなる対象ブロックを用いているが、それ以外の画素数からなるブロックを対象ブロックとしてもよい。その場合対象ブロックのサイズに合わせて対象ブロックに隣接する再生画素群を定義すればよい。対象ブロックの第1の画面内予測信号生成方法は、既再生画素群801の一部である画素A〜Dを用いて、それぞれの画素を下方に引き伸ばしてテキスチャ信号(予測信号)を生成する。具体的な演算は式806に示されている。806では、pred(a,e,i,m)=Aは、対象ブロック802にあるa、e、i、mの各画素の予測値はAとすることを意味する。対象領域の第2の画面内予測信号生成方法は図9(a)に示され、この場合既再生画素群901の一部であるI,J,K,Lを右に引き伸ばして対象ブロック902の予測信号として生成する。具体的な演算は式906に示されている。対象領域の第3の画面内予測信号生成方法は図10(a)に示され、この場合既再生画素群1001に含まれる画素A〜DとI〜Lの平均値を対象ブロック1002の予測信号として用いる。具体的な演算は式1006に示されている。対象ブロックに対する残りの画面内予測信号生成方法は、それぞれ図11(a)、図12(a)、図13(a)、図14(a)、図15(a)、図16(a)に示されている。詳細について省略する。なお、9つのテキスチャ信号のほかに、より多い又は少ないテキスチャ信号を用いてもよい。また上述と異なる方法、たとえばスプライン外挿などの方法でテキスチャ信号を生成してもよい。
図2に戻り、このように作られた9つのテキスチャ信号は、ラインL202経由で予測方法決定器201に送られる。予測方法決定器201には、さらにラインL103経由で対象ブロックの信号が入力される。そこにおいて、ラインL202経由で送られた9つのテキスチャ信号に対し、対象ブロックとの差分を求め、最も小さい差分値を与えるテキスチャ信号を対象ブロックの予測信号とする。この最適なテキスチャ信号を生成する予測信号生成方法を指示するモード情報はラインL123経由で図1にある画面内予測信号生成器106に送られる。画面内予測信号生成器106では、このモード情報にしたがい、上述の方法で既再生画素群を用いて対象ブロックの予測信号を生成する。
次に、本発明における変換係数の走査方法について説明する。差分信号のエントロピー符号化では、ブロック内の量子化変換係数を、1以上の大きさを持つ有意係数と連続する0係数の数に分けて符号化する。そのため、エントロピー符号化器に入力される量子化変換係数の1次元データの並びに、有意係数と0係数が混在していると符号化効率が低下する。図21に量子化変換係数の1次元データの例を示す。各枡の値が量子化変換係数を示している。図21(a)と図21(b)では、量子化係数の値の構成は同じであるが、符号化される順番が異なる。図21(b)の例では、7番目以降の量子化変換係数が0値であることを示す情報を送ることにより、符号化処理を打ち切ることが可能となる。一方、図21(a)では、16番目の量子化係数まですべて送る必要があり、かつ、連続する0の数を4回送る必要があるため、図21(b)に対して符号化効率が悪い。このように、変換係数の走査順が符号化効率に影響を与える。
図3に示すように、走査器129は、9つの画面内予測信号生成方法に対して用意された走査器301〜309、スイッチ323、及び走査方法選択器322を備えている。なお、ここでは、図1のスイッチ107にて画面内予測を選択した場合について説明する。画面間予測を選択した場合の説明は割愛するが、画面間予測用の走査器を用いる(走査順序としては、例えば、図10(b)で説明するジグザグ走査が採用される)。
図3の走査器129では、最初にL125経由で選択された画面内予測信号生成方法を指示するモード情報が走査方法選択器322に送られる。走査方法選択器322は、モード情報に従って、スイッチ323を切り替える。これにより、量子化変換係数行列(量子化変換ブロック)の各変換係数は、L106経由で走査器301〜309のいずれかにラスタスキャン順に入力される。なお、変換係数の入力順は予め定めておけば別の順序でもよい。各走査器301〜309は、入力された複数個の変換係数を下記に説明する走査方法で1次元データに並べ替え、L130経由で図1のエントロピー符号化器115に出力する。また、モード情報に画面間予測と画面間予測の判定結果を含めるようにすれば、画面間予測にも対応できる。画面間予測用の走査器を別途用意しても良い。
ここで、図8(b)、図9(b)、図10(b)、図11(b)、図12(b)、図13(b)、図14(b)、図15(b)、図16(b)を用いて、各走査器301〜309における変換係数の走査方法を説明する。本実施の形態においては、9つの画面内予測信号生成方法が定義されている。これらの予測方法は、図10(a)を除いて、図8(a)〜図16(a)に示されるように13個の既再生画素(A〜M)の一部を特定の方向に引き伸ばして対象領域内の予測信号を生成する。そのため、生成される予測信号は特定の方向に強い相関を持ち、この特性は差分信号を離散コサイン変換したブロックの変換係数にも影響を与える。図8(b)は図8(a)に示される第1の画面内予測信号生成方法が選択された場合の変換係数の走査方法を示している。この場合、差分信号は縦方向に強い相関を持っており、大きな値を持つ変換係数は相関の弱い横方向、つまり予測方向に対して90度の方向に現れる可能性が高い。そこで、量子化変換係数行列(量子化変換ブロック)803内の変換係数を矢印に示すように左から右、上から下に向かって走査し、係数0〜係数15の並びとなる1次元データを生成する。図9(b)のブロック903は図9(a)に示される第2の画面内予測信号生成方法が選択された場合の変換係数の走査方法を示している。図8(b)の場合と同様に予測方向に90度の方向、つまり縦方向に大きな値を持つ変換係数が現れる可能性が高いため、量子化変換ブロック903内の変換係数を矢印に示すように上から下、左から右に向かって走査し、係数0〜係数15の並びとなる1次元データを生成する。図10(b)では、8個の再生画素の平均値が対象ブロック内の各画素の予測信号となる。この場合には、予測方向に偏りはないため、変換係数の低周波成分から高周波成分に向かってジグザグに走査する。同様に図11(b)、図12(b)、図13(b)、図14(b)、図15(b)、図16(b)については、図8(b)や図9(b)と同様に予測方向に対して90度の方向に変換係数を走査する。
次に、本発明における変換係数の逆走査方法について説明する。ここでは、図1のスイッチ107にて画面内予測を選択した場合について説明する。図6に示すように、逆走査器130(図1にも示す)は、9つの画面内予測信号生成方法に対して用意された逆走査器601〜609、逆走査方法選択器622、及びスイッチ623を備えている。逆走査方法選択器622は、図3の走査方法選択器と同様の機能を持つ。つまり、L125経由で選択された画面内予測信号生成方法を指示するモード情報が逆走査方法選択器622に送られると、逆走査方法選択器622は、モード情報に従って、スイッチ623を切り替える。これにより、量子化変換係数に関する1次元データの変換係数列は、L130経由で逆走査器601〜609のいずれかに入力される。各逆走査器601〜609は、それぞれ、図8(b)、図9(b)、図10(b)、図11(b)、図12(b)、図13(b)、図14(b)、図15(b)、図16(b)に示す矢印の順に従って、入力された量子化変換係数に関する1次元データの変換係数を、量子化変換係数行列(量子化変換ブロック)上にマッピングする。量子化変換ブロックは、L131経由で図1の逆量子化器111に出力される。なお、画面間予測を選択した場合の説明は割愛するが(図示なし)、予測方法を指示するモード情報に画面間予測と画面間予測の判定結果を含めるようにすれば、画面間予測にも対応できる。画面間予測用の逆走査器を用いる(走査順序としては、例えば、図10(b)で説明するジグザグ走査が採用される、画面間予測用の逆走査器を別途用意しても良い)。
図4は、本発明の実施形態に係る画像符号化装置100における画面内符号化処理を示す流れ図である。ステップ402では、対象ブロックに直に隣接する複数の既再生画素(例えば図8(a)の801)をフレームメモリから取得し、9つの画面内予測信号生成方法について、対象ブロックの予測信号を生成する。そして、対象ブロックの信号との差分値が最小となる1つの予測信号生成方法を選択する。ステップ403では、対象ブロックの信号と予測信号との差分信号を生成し、ステップ404にて、差分信号にDCTを施し、変換係数行列を生成する。ステップ405では、変換係数行列の各変換係数を量子化する。続いて、ステップ406では、ステップ402で選択した予測信号生成方法に対応する走査方法を図8(b)〜図16(b)から選択し、量子化変換係数行列内の変換係数を1次元データに並べ替える。量子化された変換係数、及び、ステップ402にて選択した予測信号生成方法を指示するモード情報は、エントロピー符号化される(ステップ407)。最後に、ステップ408にて、上記符号化されたモード情報及び量子化変換係数を出力する。
次に、本発明の逆走査方法を実施する画像復号装置ならびに復号方法について説明する。図5は本発明の実施形態に係る画像復号装置500のブロック図を示す。画像復号装置500は、入力端子500A、エントロピー復号器501、逆走査器513、逆量子化器502、逆変換器503、加算器504、画面内予測信号生成器505、フレームメモリ(画像保存手段)506、画面内予測信号生成方法取得器507、画面間予測信号生成器508、切り替えスイッチ509、及び出力端子512を備えている。
以上のように構成された画像復号装置500について、以下その動作を述べる。上述した方法で圧縮符号化された圧縮データは入力端子500Aから入力される。この圧縮データには、画像を複数のブロックに分割された対象ブロックの予測残差信号の符号化データ及び予測信号生成方法を指示するモード情報が含まれている。エントロピー復号器501にて、圧縮データより、対象ブロックの残差信号の符号化データ、予測信号生成方法を指示するモード情報(フレーム内予測の場合はさらに画面内予測信号生成方法を指示するモード情報を含む)、量子化パラメータ、フレーム間予測の場合はさらに動き情報(動きベクトル)を抽出し、復号する。対象ブロックの残差信号の符号化データ、すなわち量子化変換係数の1次元データは、逆走査器513にて、量子化変換係数行列に逆走査し、ラインL513経由で逆量子化器502に出力される。なお、逆走査器513における逆走査方法については後で説明するが、選択した予測方法に応じて異なる方法が用いられる。量子化変換行列内の量子化変換係数は逆量子化器502では量子化パラメータ(ラインL511c経由)をもとに逆量子化され、ラインL503経由で逆変換器503に出力される。逆変換器503では、逆量子化により得られた変換係数行列に逆離散コサイン変換を施す。次にラインL511b経由で予測信号生成方法を指示するモード情報に含まれる画面内予測と画面間予測の切り替え情報が切り替えスイッチ509に送られる。画面間予測を行なう場合、切り替えスイッチ509は端子510aに倒される。復元の対象となる対象ブロックに対する動きベクトルはラインL511a経由で画面間予測信号生成器508に送られ、フレームメモリ506にアクセスし動きベクトルによって指定された予測信号を生成する。画面内予測を行なう場合、切り替えスイッチ509は端子510bに倒される。この場合、ラインL511d経由で予測信号生成方法を指示するモード情報に含まれる画面内予測信号生成方法を指示するモード情報が画面内予測信号生成器505に送られる。画面内予測信号生成器505では、フレームメモリ506から対象ブロックに直に接する既再生画素群を取得し、モード情報に対応する画面内予測信号生成方法(図8(a)から図16(a)のいずれか)にて予測信号を生成する。画面間予測信号生成器508や画面内予測信号生成器505より生成された予測信号はラインL510経由で加算器504に送られ、復元された残差信号に加算され、対象ブロック信号を再生し、ラインL512経由で出力すると同時にフレームメモリ506に格納される。
次に本発明に係る逆走査器513について説明する。逆走査器513の機能は、図1の逆走査器130と同じである。まず、図5のスイッチ509にて画面内予測を選択される場合について説明する。図6に示すように、逆走査器513は、9つの画面内予測信号生成方法に対して用意された逆走査器601〜609、逆走査方法選択器622、及びスイッチ623を備えている。L511d経由で選択された画面内予測信号生成方法を指示するモード情報が逆走査方法選択器622に送られると、逆走査方法選択器622は、モード情報に従って、スイッチ623を切り替える。これにより、図5のエントロピー復号器501から出力される量子化変換係数に関する1次元データの変換係数列は、L503経由で逆走査器601〜609のいずれかに入力される。各逆走査器601〜609は、それぞれ、図8(b)、図9(b)、図10(b)、図11(b)、図12(b)、図13(b)、図14(b)、図15(b)、図16(b)に示す矢印の順に従って、入力された量子化変換係数の1次元データの変換係数を、量子化変換係数行列(量子化変換ブロック)上にマッピングする。量子化変換ブロックは、L513経由で図5の逆量子化器502に出力される。図5のスイッチ509にて画面間予測を選択される場合については、画面内予測と画面間予測の切り替え情報を、予測信号生成方法を指示するモード情報に含めることで対応できる。図10(b)に示す矢印の順に従って、入力された量子化変換係数の1次元データの変換係数を、変換ブロック上にマッピングする(図示なし)。この際、逆走査器513に、画面間予測用の逆走査器を別途用意しても良い。
図7は、本発明の実施形態に係る画像復号装置500における画面内復号処理を示す流れ図である。ステップ702では、圧縮データから対象ブロックの復号処理に要するデータを入力する。ステップ703では、ステップ702で取得した対象ブロックの圧縮データをエントロピー復号し、量子化変換係数と予測信号生成方法を指示するモード情報を復元する。ステップ704では、復元したモード情報に対応する逆走査方法により、量子化変換係数の1次元データを逆走査し、量子化変換係数行列に復元する。ステップ705では、復元した量子化変換係数を逆量子化し、変換係数行列を復元する。ステップ705では、復元した変換係数行列はステップ706にて逆DCT処理され、対象ブロックの差分信号が復元される。最後にステップ707にて、復元した差分信号と復元したモード情報に従って生成した画面内予測信号を加算し、対象ブロックの再生信号を生成する。
次に、コンピュータを本発明に係る画像符号化装置として動作させるための画像符号化プログラム、及び、コンピュータを本発明に係る画像復号装置として動作させるための画像復号プログラムについて説明する。図22は画像符号化プログラムP100の構成を、記録媒体10と共に示す図であり、図23は画像復号プログラムP500の構成を、記録媒体10と共に示す図である。このように画像符号化プログラムP100及び画像復号プログラムP500は、記録媒体10に格納されて提供される。記録媒体10としては、フレキシブルディスク、CD−ROM、DVD、あるいはROM等の記録媒体、あるいは半導体メモリ等が例示される。
図22に示すように、画像符号化プログラムP100は、本発明に係る画像符号化装置が備える領域分割手段に相当する領域分割モジュールP101と、予測信号生成手段に相当する予測信号生成モジュールP102と、残差信号生成手段に相当する残差信号生成モジュールP103と、変換手段に相当する変換モジュールP104と、走査手段に相当する走査モジュールP105と、符号化手段に相当する符号化モジュールP106と、復号手段に相当する復号モジュールP107と、逆走査手段に相当する逆走査モジュールP108と、逆変換手段に相当する逆変換モジュールP109と、画像復元手段に相当する画像復元モジュールP110と、画像保存手段に相当する画像保存モジュールP111とを備えている。
また、図23に示すように、画像復号プログラムP500は、本発明に係る画像復号装置が備える復号手段に相当する復号モジュールP501と、予測信号生成手段に相当する予測信号生成モジュールP502と、逆走査手段に相当する逆走査モジュールP503と、逆変換手段に相当する逆変換モジュールP504と、画像復元手段に相当する画像復元モジュールP505と、画像保存手段に相当する画像保存モジュールP506とを備えている。
図17は、記録媒体に記録されたプログラムを実行するためのコンピュータのハードウェア構成を示す図であり、図18は、記録媒体に記憶されたプログラムを実行するためのコンピュータの斜視図である。コンピュータとして、CPUを具備しソフトウエアによる処理や制御を行なうDVDプレーヤ、セットトップボックス、携帯電話などを含む。
図17に示すように、コンピュータ30は、フレキシブルディスクドライブ装置、CD−ROMドライブ装置、DVDドライブ装置等の読取装置12と、オペレーティングシステムを常駐させた作業用メモリ(RAM)14と、記録媒体10に記憶されたプログラムを記憶するメモリ16と、ディスプレイといった表示装置18と、入力装置であるマウス20及びキーボード22と、データ等の送受を行うための通信装置24と、プログラムの実行を制御するCPU26とを備えている。コンピュータ30は、記録媒体10が読取装置12に挿入されると、読取装置12から記録媒体10に格納された画像符号化プログラムP100及び画像復号プログラムP500にアクセス可能になり、当該画像符号化プログラムP100及び画像復号プログラムP500によって、本発明に係る画像符号化装置・画像復号装置として動作することが可能になる。
図18に示すように、画像符号化プログラムもしくは画像復号プログラムは、搬送波に重畳されたコンピュータデータ信号40としてネットワークを介して提供されるものであってもよい。この場合、コンピュータ30は、通信装置24によって受信した画像符号化プログラムもしくは画像復号プログラムをメモリ16に格納し、当該画像符号化プログラムもしくは画像復号プログラムを実行することができる。
以上のように本発明における変換係数の走査方法ならびに逆走査方法によれば、特定の方向に強い相関を持つ予測信号の差分符号化において、予測方向等の特徴に応じて変換係数の走査方法ならびに逆走査方法を切り替えることが可能となるため、符号化効率が向上する。
上記では、予測方向に対して90度の方向に変換係数を走査しているが、走査方法は、量子化変換係数行列内の変換係数を符号化する順番を定めるものであり、その順番は符号化効率を高める走査方法であればよい。従って、最適な角度は、予測方法や画像の特徴に応じて異なるものであり、限定されるものではない。また、図8(b)〜図16(b)では、量子化変換係数行列の走査は1本線で実施されているが、最適な走査方法は、予測方法や画像の特徴に応じて異なるものであり、数本の組み合わせで変換係数の1次元データを走査する場合もある。また、特定の量子化変換係数を0に既定するような場合には、必ずしも量子化変換係数内の全ての変換係数を走査する必要もない。逆走査方法も、走査方法を逆にたどって、量子化変換係数の1次元データを量子化変換係数行列に復元するものであり、走査方法と同じく、上記の実施形態の方法には限定されない。
上記の実施形態では、複数の予測信号の生成方法に対する走査方法ならびに逆走査方法は予め定めているが、シーケンス単位やフレーム単位、あるいはブロック単位で符号化してもよい。
シーケンス単位やフレーム単位では、予め定めた逆走査方法を用いるか、あるいは逆走査方法を指示するデータを送るかを示すフラグを送る。この際、予測信号生成方法毎にフラグを送っても良いし、複数の予測信号生成方法毎に(すべての予測信号生成方法を含む)フラグを送っても良い。逆走査方法を指示するデータのフォーマットとしては、1次元データの各変換係数と逆走査後の量子化変換係数行列内における座標との対応を、量子化変換係数の復号順に並べる場合が考えられるが、このフォーマットには限定されない。例えば、量子化変換係数行列内の各係数のindexを予め決めておき、座標の代わりに該indexを符号化してもよいし、量子化変換係数行列内の各係数を所定の順番に並べ、その順序で1次元データとの対応を符号化するようにしてもよい。さらに、逆走査方法を指示するデータを送るのではなく、予め定めた複数の逆走査方法にそれぞれ識別番号を与えておき、各予測信号生成方法に対応する逆走査方法の識別情報を選択的に送る方法も考えられる。
ブロック単位では、上記のように逆走査方法を符号化してもよいが、予測信号生成方法に対応した逆走査方法を用いるか、又は、デフォルトの逆走査方法(例えば図10(b))を用いるか、のいずれかを示す識別情報を送っても良い。識別情報には、シーケンス単位あるいはフレーム単位で送った逆走査方法を示すデータを選択肢に含んでも良いし、さらに、識別情報には、逆走査方法を示すデータを送るという選択肢を含んでも良い。識別情報が逆走査方法を示すデータを送ることを示すブロックでは、識別情報に続いて、逆走査方法を示すデータが伝送される。なお、これら4種類のいずれかの2つあるいは3つの組み合わせで識別情報を構成してもよい。
このように逆走査方法に関する情報をフレームやブロック単位で送る場合には、符号化側ではテキスチャ信号の特徴に基づいて、各予測信号生成方法に対応する逆走査方法を決める必要がある。その手順としては、まず、候補となる走査方法を実際に試してみて、符号量が少ない方法を選択する。そして、適切な走査方法の対となる逆走査方法をデコーダに通知するという方法がある。復号側では、復号された予測信号生成方法を指示するモード情報と逆走査方法に関する情報から、各予測信号生成方法に対応する逆走査方法を選択し、復元した量子化変換係数の1次元データから量子化変換係数行列を生成する。
本発明の実施は、予測信号生成方法の数には限定されないし、生成される予測信号が特定の特徴を有する場合には、走査方法ならびに逆走査方法切り替えの効果は期待できる。
本実施形態では予測信号生成と同じく量子化変換係数行列(量子化変換ブロック)を4×4画素としているが、それ以外の画素数(例えば8×8画素)からなるブロックを量子化変換ブロックとしてもよい。また、変換ブロックのサイズを予測信号生成の対象ブロックと異なるサイズにしてもよい。変換ブロックのサイズが対象ブロックのサイズよりも小さい場合、予測方向の違いが変換係数に与える影響は予測に用いる既再生画素から空間的に離れるほど小さくなる。このように予測方向の影響が小さい量子化変換ブロックに対しては、一般的なジグザグ走査を用いるように走査方法を設定してもよい。
上記では差分信号の変換方法として離散コサイン変換(DCT)を用いているが、変換方法はDCTには限定されない。H.264に定義されるような整数変換でもよいし、KLT等の別の変換方法を用いてもよいし、あるいは周波数変換を行わなくてよい。この際、適用される量子化変換係数行列の走査方法ならびに量子化変換係数の1次元データの逆走査方法は、変換方法によって異なる。例えば、周波数変換を行わない場合には、既再生画素から空間的に離れた画素ほど予測差分値が大きくなる傾向があるため、図8(b)〜図16(b)に示した矢印を逆方向に走査し(走査方法)、量子化変換係数の1次元データを矢印の逆方向から量子化変換係数行列にマッピングする(逆走査方法)手順が効果的と考えられる。また、本発明は、エントロピー符号化の方法にも限定されない。算術符号化や可変長符号化など、あらゆる方法が適用可能である。また、量子化器が存在しない場合にも適用可能である。この場合には、量子化変換行列並びに量子化変換係数の1次元データは、それぞれ変換行列並びに変換係数の1次元データに置き換えられる。さらに、周波数変換を行わない場合には、差分行列(差分ブロック)並びに差分信号の1次元データに置き換えられる。
図1では、走査器を変換器ならびに量子化器とは別に設けているが、変換器あるいは量子化器に含まれるような構成であってもよいし、量子化器に変換器に含まれる構成でも本発明の走査方法は適用可能である。同様に、図1と図5の逆走査器は逆変換器あるいは逆量子化器に含まれるような構成であってもよいし、逆量子化器に逆変換器が含まれる構成でも本発明の逆走査方法は適用可能である。また、図1と図5は、画面内予測信号生成器への再生済み信号の入力はフレームメモリから行う構成となっているが、フレームメモリを介さずに加算器113(図1)や加算器504(図5)から行う構成であっても、本発明の逆走査方法は適用できる。