(57)【要約】【課題】高画質を保ちつつ、画像の符号化および復号化の処理効率を向上させることのできる画像符号化装置を提供することを目的とする。【解決手段】直交変換を用いて画像を符号化する画像符号化装置１０であって、直交変換および量子化が行われた後のＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）係数が逆変換後にゼロになるか否かを、前記ＤＣＴ係数のＡＣ（交流）係数およびＤＣ（直流）係数のうち少なくとも一方に基づいて判定する係数チェック手段１２２，１２３と、係数チェック手段１２２，１２３がＤＣＴ係数が逆変換後にゼロにならないと判断した場合に、当該ＤＣＴ係数に対して、エントロピー符号化を行うエントロピー符号化手段１２４とを備えた。【選択図】        図２
2005175629.tif 000002
【特許請求の範囲】
【請求項１】
直交変換を用いて画像を符号化する画像符号化装置であって、
直交変換および量子化が行われた後のＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）係数が逆変換後にゼロになるか否かを、前記ＤＣＴ係数のＡＣ（交流）係数およびＤＣ（直流）係数のうち少なくとも一方に基づいて判定する係数チェック手段と、
前記係数チェック手段が前記ＤＣＴ係数が逆変換後にゼロにならないと判断した場合に、当該ＤＣＴ係数に対して、エントロピー符号化を行うエントロピー符号化手段と
を備えたことを特徴とする画像符号化装置。
【請求項２】
逆変換後にゼロになるＤＣＴ係数のＡＣ係数およびＤＣ係数のうち少なくとも一方の係数を非符号化係数として記憶する非符号化係数記憶手段をさらに備え、
前記係数チェック手段は、前記ＤＣＴ係数記憶手段に記憶されている前記非符号化係数と、対応する前記ＤＣＴ係数とを比較して、当該ＤＣＴ係数が逆変換後にゼロになるか否かを判定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記係数チェック手段が、前記非符号化係数記憶手段に記憶されている前記非符号化係数と、対応する前記ＤＣＴ係数とを比較した結果、前記ＤＣＴ係数が逆変換後にゼロになると判断できない場合に、当該ＤＣＴ係数に対して逆量子化および逆変換を行う逆量子化・逆変換手段をさらに備え、
前記エントロピー符号化手段は、前記逆量子化・逆変換手段が逆量子化および逆変換を行った後の前記ＤＣＴ係数がゼロになると判断できない場合に、当該ＤＣＴ係数に対してエントロピー符号化を行うことを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記係数チェック手段が、前記非符号化係数記憶手段に記憶されている前記非符号化係数と、対応する前記ＤＣＴ係数とを比較した結果、前記ＤＣＴ係数が逆変換後にゼロになると判断できない場合に、当該ＤＣＴ係数に対して逆量子化および逆変換を行う逆量子化・逆変換手段をさらに備え、
前記非符号化係数記憶手段は、前記逆量子化・逆変換手段が逆量子化および逆変換を行った後の前記ＤＣＴ係数がゼロになると判断できない場合に、当該ＤＣＴ係数を前記非符号化係数として記憶することを特徴とする請求項２記載の画像符号化装置。
【請求項５】
前記非符号化係数記憶手段は、前記非符号化係数に対応付けて、当該非符号化係数を定める基準とした量子化値をさらに記憶し、
前記係数チェック手段は、前記ＤＣＴ係数の量子化値に対応付けて前記ＤＣＴ係数記憶手段に記憶されている前記非符号化係数と、対応する前記ＤＣＴ係数とを比較して、当該ＤＣＴ係数が逆変換後にゼロになるか否かを判定することを特徴とする請求項４に記載の画像符号化装置。
【請求項６】
前記係数チェック手段は、前記ＤＣＴ係数のＤＣ係数が予め定められた基準範囲内の値であるか否かをチェックするＤＣ係数チェック手段を有し、
前記エントロピー符号化手段は、前記ＤＣ係数チェック手段が前記ＤＣ係数が前記基準範囲外の値であると判定した場合に、当該ＤＣＴ係数に対してエントロピー符号化を行うことを特徴とする請求項１に記載の画像符号化装置。
【請求項７】
前記係数チェック手段は、
前記ＤＣＴ係数のＤＣ係数が予め定められた基準範囲内の値であるか否かを判定するＤＣ係数チェック手段と、
前記ＤＣＴ係数のＡＣ係数がゼロであるか否かを判定するＡＣ係数チェック手段と
を有し、
前記ＡＣ係数チェック手段が前記ＡＣ係数がゼロではないと判定した場合に、前記ＤＣＴ係数の逆量子化および逆変換を行う逆量子化・逆変換手段をさらに備え、
前記逆量子化・逆変換手段が前記ＤＣＴ係数の逆変換を行った後の前記ＤＣＴ係数がゼロにならない場合に、当該ＤＣＴ係数に対してエントロピー符号化を行うことを特徴とする請求項１に記載の画像符号化装置。
【請求項８】
直交変換を用いて画像を符号化する画像符号化方法であって、
直交変換および量子化が行われた後のＤＣＴ係数が逆変換後にゼロになるか否かを、前記ＤＣＴ係数のＡＣ係数およびＤＣ係数のうち少なくとも一方に基づいて判定する係数チェックステップと、
前記係数チェックステップにおいて前記ＤＣＴ係数が逆変換後にゼロにならないと判断された場合に、当該ＤＣＴ係数に対してエントロピー符号化を行うエントロピー符号化ステップと
を有することを特徴とする画像符号化方法。
【請求項９】
直交変換を用いて画像を符号化する画像符号化処理をコンピュータに実行させる画像符号化プログラムであって、
直交変換および量子化が行われた後のＤＣＴ係数が逆変換後にゼロになるか否かを、前記ＤＣＴ係数のＡＣ係数およびＤＣ係数のうち少なくとも一方に基づいて判定する係数チェックステップと、
前記係数チェックステップにおいて前記ＤＣＴ係数が逆変換後にゼロにならないと判断された場合に、当該ＤＣＴ係数に対して、エントロピー符号化を行うエントロピー符号化ステップと
をコンピュータに実行させることを特徴とする画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直交変換を用いて画像を符号化する画像予符号化装置、画像符号化方法および画像符号化プログラムに関するものである。
【背景技術】
【０００２】
画像信号の圧縮符号化方式としてJPEG、MPEG−１(ISO／IEＣ１１１７２−２)、MPEG−２(ISO／IEＣ１３８１８−２)、MPEG−４(ISO／IEＣ１４４９６−２)およびＩＴＵ−ＴＨ．２６３などが広く実用化されている（非特許文献１〜２参照）。
【０００３】
画像信号の圧縮符号化の処理は、主に（１）画素間の空間的相関除去のための直交変換（以下、単に「変換」と称す）、（２）量子化、（３）エントロピー符号化の３つのステップで構成されている。原画像から（１）および（２）のステップを経て得られた係数の行列Ａを（３）のステップで処理することにより符号化ビット列が生成される。
【０００４】
一方、復号化の処理は、主に、（I）エントロピー復号化、（II）逆量子化、（III）（１）の直交変換の逆変換（以下、単に「逆変換」と称す）の３つのステップで構成されている。画像符号化において得られた符号化ビット列から上記（I）〜（III）のステップ
を経て得られた係数の行列Ｂを用いて画像再構成を行うことにより復号画像が生成される。
【０００５】
また、圧縮符号化における圧縮率をさらに向上させ、かつ画質を向上させることを目的として、次世代の符号化方式が検討された。そして、ＩＴＵ−ＴとＩＳＯ／ＩＥＣとのジョイントにより、ＩＴＵ−Ｔ  Ｒｅｃ．Ｈ．２６４及びＩＳＯ／ＩＥＣ  １４４９６−１０（以下「Ｈ．２６４」と称す）が標準化方式として定められた。Ｈ．２６４はＭＰＥＧ−４と比較して２倍の圧縮率で同等の画質を得られる符号化方式であるとして注目されている。
【０００６】
【非特許文献１】「わかりやすいＪＰＥＧ／ＭＰＥＧ２の技術」（オーム社出版局）
【非特許文献２】「ＭＰＥＧ４のすべて」（工業調査会）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記で述べた符号化処理（（１）〜（３））および復号化の処理（（Ｉ）〜（III））において、（１）、（２）と（II）、（III）が非可逆である場合がある。この非可逆性に起因して、行列Ａの要素（以下において「係数」とも称する）のうち少なくとも一つが０（以下「Ａが非ゼロ」と称す）でない場合であっても、行列Ｂのすべての係数が０(以下「Ｂがゼロ」と称す)となる場合がある。従って、符号化ビット列に有意ではない情報が含まれる可能性がある。
【０００８】
そのため、この点に留意せずに符号化を行った場合、有意でない情報を取り除いた場合と比較して画質は等しいにも関わらず、ビット量が多くなるという問題がある。
【０００９】
有意でない情報が符号化されることを避けるために、画像符号化の際に（１）、（２）の後でＡを入力として(II)、(III)を行い、得られるＢの値が非ゼロである場合にのみ（３）の処理を行い符号化ビット列に反映するなどの方法が考えられる。しかしこの場合には、符号化時に復号化処理の一部を行うことにより、符号化時間が増加するという新たな問題が生じる。
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、高画質を保ちつつ、画像の符号化および復号化の処理効率を向上させることのできる画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、直交変換を用いて画像を符号化する画像符号化装置であって、直交変換および量子化が行われた後のＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）係数が逆変換後にゼロになるか否かを、前記ＤＣＴ係数のＡＣ（交流）係数およびＤＣ（直流）係数のうち少なくとも一方に基づいて判定する係数チェック手段と、前記係数チェック手段が前記ＤＣＴ係数が逆変換後にゼロにならないと判断した場合に、当該ＤＣＴ係数に対して、エントロピー符号化を行うエントロピー符号化手段とを備えたことを特徴とする。
【発明の効果】
【００１２】
本発明にかかる画像符号化装置は、ＤＣＴ係数に対して実際に逆変換を施すことなくＤＣＴ係数が逆変換後にゼロになるＤＣＴ係数を判別することができる。従って、逆変換後にゼロになると判別されたＤＣＴ係数に対して実際に逆変換を施す必要がなくなるため処理を効率化させることができるという効果を奏する。また、逆変換後ゼロにならないＤＣＴ係数のみをエントロピー符号化するので、圧縮率を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明にかかる画像符号化装置、画像符号化方法および画像符号化プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
（実施の形態１）
実施の形態１に係る画像符号化装置１０は、逆変換等の処理結果を予測することにより、逆変換等の処理にかかる処理負担を軽減することができる。図１は、実施の形態１にかかる画像符号化装置１０の機能構成を示すブロック図である。画像符号化装置１０は、減算器１１０と、符号化部１２０と、加算器１１２と、フレームメモリ１１４と、動き補償部１１６とを備えている。
【００１５】
画像符号化装置１０において、まず入力動画像信号２００が減算器１１０に入力される。そして、減算器１１０は、入力動画像信号２００に対する予測画像信号２０４の誤差である予測誤差信号２０１を生成する。予測画像信号２０４はフレームメモリ１１４に一時保存された少なくとも一つの参照フレーム画像信号から、動き補償部１１６により生成される。
【００１６】
動き補償部１１６は、参照フレームを選択する。また、動きベクトルの生成および動き補償予測を行う。動き補償部１１６はまた、動き補償予測に用いた動きベクトルを予測して生成される予測ベクトルの生成に関わる情報をマクロブロック毎に符号化したデータ２０８を出力する。
【００１７】
ここで、動き補償予測について説明する。動画像の符号化においては、画素間の時間的相関除去を目的として時間的に前後に存在する１つあるいは複数の単位時間の画像（以下「フレーム」と称す）を参照して予測画像を作る。そして、原画像と予測画像の差分を符号化する。また、参照画像と現符号化対象画像から予測ベクトルを抽出し符号化する。以上のように予測画像を作る処理が動き補償予測である。
【００１８】
予測誤差信号２０１は、符号化部１２０において符号化される。符号化部１２０は、予測誤差信号２０１をまず量子化変換係数の符号化データに変換する。そして、符号化データに対して動き補償予測に使用した参照フレームを特定するインデックス、および動き補償部１１６から出力されたデータ２０８を付加し、符号化データ２０５として図示しない蓄積系、または伝送系へ向けて送出する。
【００１９】
符号化部１２０はまた、入力動画像信号２００を逆量子化および逆変換し、逆変換後データ２０３を加算器１１２に送出する。加算器１１２は、逆変換後データ２０３と予測画像信号２０４とを加算して復号化画像信号２０６を生成し、復号化画像信号２０６をフレームメモリ１１４に送出する。フレームメモリ１１４は、復号化画像信号２０６を一時保存する。
【００２０】
なお、他の例としては、画像符号化装置１０は、フレームメモリ１１４にかえて、複数のフレームメモリによって構成される参照フレームメモリセットを有してもよい。この場合、復号化画像信号２０６は、フレームメモリセットに参照フレームとして一時保存される。
【００２１】
また、他の例としては、減算器１１０は、空間的画素予測であるＩｎｔｒａ予測（参照Ｈ．２６４規格仕様書）と入力動画像信号２００との予測誤差信号を生成してもよい。
【００２２】
図２は、符号化部１２０の詳細な機能構成を示すブロック図である。符号化部１２０は、変換・量子化部１２１と、ＡＣ係数チェック部１２３と、ＤＣ係数チェック部１２２と、逆量子化・逆変換部１２５と、エントロピー符号化部１２４とを有している。ここで、ＡＣ係数チェック部１２３およびＤＣ係数チェック部１２２は、本発明の係数チェック手段を構成する。
【００２３】
変換・量子化部１２１は、予測誤差信号２０１を入力し、複数画素からなるブロック毎に画素間相関除去のための変換および、量子化を行う。実施の形態１にかかる変換・量子化部１２１は、予測誤差信号２０１を４×４画素ブロック（以下、単に「ブロック」と称す）に分割し、ブロック単位に変換・量子化を行う。この方法を４×４手法と呼ぶ。
【００２４】
ここで、変換・量子化部１２１による変換・量子化について詳述する。前提として、画像信号は、数式１で示される。
Ａ={a(i,j)| i,j=０,…,3}…数式１
【００２５】
変換・量子化部１２１は、まず４×４の画像信号から数式２によりＢを得る。
Ｂ=Ｃ・Ａ…数式２
ここで、Ｃは、Ｈ．２６４におけるエンコードで使われる変換行列であって、数式３で示される。
Ｃ={ｃ(i,j)| i,j=０,…,3}…数式３
【００２６】
次に、上記結果から数式４で示される係数行列２１０を得る。
Ｄ={d(i,j)|×(q(i,j,qp)*b(i,j),qp), i,j=０,…,3}…数式４
ここで、Ｑは量子化処理の前処理として使われる行列である。また、Ｑは次式で与えられる。また、Ｘは量子化関数である。
Ｑ={q(i,j,qp)| i,j=０,…,3}…数式５
【００２７】
変換・量子化部１２１は、上記の演算によって得られた係数行列（Ｄ）２１０の係数をエントロピー符号化してビットストリームとしてＤＣチェック部１２２に出力する。
【００２８】
ＡＣ係数がゼロであって、かつＤＣ係数が基準範囲内の値である場合には、逆量子化および逆変換した結果がゼロになる。また、ＤＣ係数が基準範囲外の値である場合には、逆量子化および逆変換した結果は非ゼロになる。従って、ＡＣ係数チェック部１２３およびＤＣ係数チェック部１２２によるＤＣ係数およびＡＣ係数のチェック結果に基づいて係数行列２１０の逆量子化および逆変換した結果を判定することができる。従って、実際に逆変換等の処理を行うことなく、係数行列２１０に対してエンコード処理を行うか否かを決定することができる。以下、この内容について詳述する。
【００２９】
ＡＣ係数およびＤＣ係数と、逆量子化等の処理との関係について説明する前提として、まずデコード処理について説明する。
【００３０】
デコード処理においては、まず、係数行列（Ｄ）２１０の各要素に対して、逆量子化の前処理（行列ＩＱの要素を掛ける）を行う。そして、前処理後の係数行列（Ｄ）２１０に対して逆量子化を行う。その結果として、Ｅ行列を得る。
【００３１】
ここで、ＩＱおよびＥは、それぞれ数式６、数式７で示される。また、ＩＸ(a,qp)は、逆量子化関数である。
IQ={iq(i,j,qp)| i,j=０,…,3}・・・数式６
E={e(i,j)|ＩＸ( iq(i,j,qp)*d(i,j),qp), i,j=０,…,3}・・・数式７
【００３２】
次に、Ｅ行列に対して数式８で示される逆変換を行う。
Ｆ=IＣ・E・・・数式８
ここで、ＩＣはＥに対して逆変換を行う変換行列であって、数式９で示される。
IＣ={iｃ(i,j)| i,j=０,…,3}・・・数式９
以上で、デコード処理が完了する。
【００３３】
なお、Ｈ．２６４におけるＩＣ,ＩＱ,ＩＸに関してはＨ．２６４の規格仕様書のSｃaling and transformation proｃess for residual 4×4 bloｃksの節に記載されている。
【００３４】
ここで、図３−１から図３−３を参照しつつＤＣ係数チェック部１２２の処理について説明する。図３−１から図３−３は、係数行列２１０の一例を示している。図３−１および図３−２に示される係数行列２１０ａ，ｂにおけるＡＣ係数２１１ａ，２１１ｂは全てゼロである。一方、図３−３に示される係数行列２１０ｃのＡＣ係数２１１ｃには、１,４など０以外の係数が含まれている。従って、ＡＣ係数２１１ｃは非ゼロである。
なお、以下の前提として、ｄ（ｉ，ｊ）＝１の場合のＱＰ＝ｑｐにおけるＥ（ｉ，ｊ）の値をｕ（ｉ，ｊ，ｑｐ）と定義する。なお、ＱＰは、量子化値である。
【００３５】
ＤＣ係数チェック部１２２は、係数行列（Ｄ）２１０におけるd(０,０)*u(０,０,qp)の値をチェックする。具体的には、丸めを行った結果が０になるか否かを判定する。
【００３６】
例えば、数式１０のように係数（ここではＸ'）に対する丸め（結果Ｘ''）が行われる場合、ｄ(０,０)＊ｕ(０,０，ｑｐ)が−（１＜＜（ｐ−１））−１より大きく、（１＜＜（ｐ−１））未満であるかどうかのチェックを行う。なおここで、−（１＜＜（ｐ−１） ）−１より大きく、（１＜＜（ｐ−１））未満の範囲を基準範囲と呼ぶ。
X''=(X'+(1<<(p-1)))>>p・・・数式１０
【００３７】
ｄ(０，０)＊ｕ(０，０，１)が基準範囲内に含まれている場合には、係数行列（Ｄ）２１０に対して逆量子化および逆変換を行った結果がゼロになるので、エントロピー符号化を行わなくてよい。
【００３８】
このように、ＤＣ係数チェック部１２２は、実際に係数行列（Ｄ）２１０に対して逆量子化および逆変換を行わずに、ｄ(０，０)＊ｕ(０，０，１)の値に基づいて、逆量子化および逆変換の結果がゼロか否かを判定することができる。
【００３９】
なお、ｄ(０，０)＊ｕ(０，０，１)の基準範囲に対応するＤＣ係数の範囲を、ＤＣ係数基準範囲とし、当該ＤＣ係数基準範囲と係数行列（Ｄ）２１０のＤＣ係数とを比較することによって、係数行列（Ｄ）２１０の逆量子化および逆変換の結果がゼロか否かを判定してもよい。
【００４０】
先に述べたＨ.２６４の規格仕様に沿った場合はここでＰ＝５の場合であり、この場合の基準範囲は、−３３より大きく３２未満の範囲である。
【００４１】
Ｈ.２６４ではＱＰ＝１のとき、ｕ(０，０，１)の値が１１である。この場合、図３−１のＤＣ係数は２であり、ｄ(０,０)＊ｕ(０,０,１)＝２２となる。すなわち、図３−１に示す係数行列（Ｄ）２１０のｄ（０,０）＊ｕ（０,０,１）は、基準範囲内に含まれている。また、図３−２においては、ｄ（０,０）＊ｕ（０,０,１）＝３３となり、基準範囲に含まれない。
【００４２】
なお、他の例としては、丸めが数式１１のように行われる場合は、ｄ（０，０）＊ｕ（０，０,ｑｐ）が−１より大きく、（１＜＜（ｐ−１））未満であるかどうかのチェックを行ってもよい。
X'<0の場合  X''=(X'-(1<<(p-1)))>>p
X'>0の場合  X''=(X'+(1<<(p-1)))>>p
X'=0の場合  X''=０・・・数式１１
【００４３】
このように、丸めの計算が他の式で与えられる場合であっても、丸めの結果が０になるか否かのチェックと同様の数値との比較を行えばよい。
【００４４】
また、ＩＱ行列は、本実施の形態に限定されない。行列Ｄの全係数に対して、例えばｉｑ（ｉ,ｊ,ｑｐ）＝１（ｉ,ｊ＝０,…,３）などの一定値をかけてもよい。また、画素の位置（ｉ,ｊ）によって値を変更してもよい。これらの処理が行われる場合であっても、Ｄ行列のＤＣ係数に対して行われるＩＱ行列係数ｉｑ（０，０，ｑｐ）および逆量子化関数によって定義されるｕ（ｉ，ｊ，ｑｐ）を用いることによりＤＣ係数のチェックを行うことができる。
【００４５】
ＡＣ係数チェック部１２３は、そして、ＡＣ係数の全てがゼロか、少なくとも１つゼロでない要素があるかをチェックする。すなわち、ＡＣ係数がゼロか非ゼロかをチェックする。また、ＤＣ係数チェック部１２２は、変換・量子化部１２１から係数行列２１０を入力し、ＤＣ係数がゼロか、非ゼロかをチェックする。ここで、ＡＣ係数とは係数行列２１０における(０，０)成分以外の全ての要素のことである。ＤＣ係数とは、係数行列２１０における(０，０)成分のことである。
【００４６】
逆量子化・逆変換部１２５は、係数行列２１０に対して逆量子化・逆変換を行う。
【００４７】
エントロピー符号化部１２４は、変換・量子化部１２１から係数行列２１０を入力し、係数行列２１０に対してエントロピー符号化を行う。そして、エントロピー符号化後のデータである符号化データ２０５を送出する。
【００４８】
図４は、画像符号化装置１０の符号化処理を示すフローチャートである。まず、画像符号化装置１０にブロックとしての入力動画像信号２００が入力されると（ステップＳ１００）、符号化部１２０の変換・量子化部１２１に入力動画像信号２００が１ブロック毎に入力される（ステップＳ１０１）。次に、変換・量子化部１２１は、入力動画像信号２００に対して変換・量子化を行う（ステップＳ１０２）。
【００４９】
次に、ＤＣ係数チェック部１２２は、変換・量子化部１２１の処理により得られた係数行列（Ｄ）２１０のＤＣ係数が基準範囲内の値か否かをチェックする（ステップＳ１０３）。ＤＣ係数が基準範囲内である場合には(ステップＳ１０３，Ｙｅｓ)、ＡＣ係数チェック部１２３は、係数行列（Ｄ）２１０ＡＣ係数がゼロか否かをチェックする（(ステップＳ１０４）。係数行列（Ｄ）２１０のＡＣ係数が非ゼロである場合（ステップＳ１０４，Ｎｏ）、逆量子化・逆変換部１２５は、係数行列２１０に対して逆量子化および逆変換を行う(ステップＳ１０５)。そして、その結果がゼロである場合には(ステップＳ１０６，Ｙｅｓ)、エントロピー符号化を行わずに、当該ブロックに対する処理が完了する。
【００５０】
このように、ＡＣ係数が非ゼロである場合には、実際に逆量子化および逆変換した結果に基づいて判断する。また、逆量子化および逆変換した結果がゼロである場合には、エントロピー符号化を行わないので、処理を効率化することができるだけでなく、不必要なビットが符号に含まれないため、符号化の圧縮効率を上げることが可能になる。
【００５１】
そして、全ブロックについての処理が完了すると(ステップＳ１０８，Ｙｅｓ)、画像符号化装置１０の符号化処理が完了する。なお、全ブロックについての処理が完了していない場合には(ステップＳ１０８，Ｎｏ)、ステップＳ１０１に戻り、次のブロックに対する処理を行う。
【００５２】
また、係数行列２１０に対して逆量子化および逆変換の結果がゼロでない場合には（ステップＳ１０６，Ｎｏ）、エントロピー符号化を行い(ステップＳ１０７)、当該ブロックに対する処理が完了する。
【００５３】
一方、係数行列（Ｄ）２１０のＡＣ係数がゼロである場合（ステップＳ１０４，Ｙｅｓ）、エントロピー符号化を行わずに、当該ブロックに対する処理が完了する。
【００５４】
このように、ＤＣ係数が基準範囲内の値であって、かつＡＣ係数がゼロである場合には(ステップＳ１０４，Ｙｅｓ)、逆量子化および逆変換した結果がゼロになるので、エントロピー符号化を行わず、ステップＳ１０８へ進む。
【００５５】
また、係数行列（Ｄ）２１０のＤＣ係数が基準範囲外の値である場合(ステップＳ１０３，Ｎｏ)、エントロピー符号化部１２４は、エントロピー符号化を行う(ステップＳ１０７)。そして、全ブロックについての処理が完了していれば(ステップＳ１０８，Ｙｅｓ)、画像符号化装置１０の符号化処理が完了する。
【００５６】
このように、係数行列２１０のＡＣ係数およびＤＣ係数をチェックすることにより、一定のブロックについては、逆量子化および逆変換した結果を判定することができる。従って、逆量子化および逆変換にかかる処理負担を軽減することができる。
【００５７】
また、このように実施の形態１にかかる画像符号化装置１０は、逆量子化および逆変換の結果が非ゼロとなるブロックについてのみエントロピー符号化を行うので、処理を軽減することができる。
【００５８】
図５は、画像符号化装置１０のハードウェア構成を示す図である。画像符号化装置１０は、ハードウェア構成として、画像符号化装置１０における画像符号化処理を実行する画像符号化プログラムなどが格納されているＲＯＭ５２、ＲＯＭ５２内のプログラムに従って画像符号化装置１０の各部を制御し、画像符号化処理等を実行するＣＰＵ５１、ワークエリアが形成され、画像符号化装置１０の制御に必要な種々のデータが記憶されているＲＡＭ５３、および各部を接続するバス６２を備えている。
【００５９】
先に述べた画像符号化装置１０における画像符号化処理を実行する画像符号化プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（Ｒ）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００６０】
また、本実施の形態にかかる画像符号化プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【００６１】
この場合には、画像符号化プログラムは、画像符号化装置１０において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【００６２】
（実施の形態２）
次に、実施の形態２にかかる画像符号化装置１０について説明する。実施の形態１にかかる画像符号化装置１０は、ＡＣ係数がゼロであって、かつＤＣ係数が基準範囲外である場合には、逆変換を行わないが、実施の形態２にかかる画像符号化装置１０は、エンコード時にデコード画像を作成する。
【００６３】
図６は、実施の形態２にかかる符号化部１２０の詳細な機能構成を示すブロック図である。実施の形態２にかかる符号化部１２０は、第１逆量子化・逆変換部１２６および第２逆量子化・逆変換部１２７を備えている。第１逆量子化・逆変換部１２６は、実施の形態１にかかる逆量子化・逆変換部１２５と同様に、逆量子化および逆変換を行う。また、第２逆量子化・逆変換部１２７は、ＤＣ係数が基準範囲外となる係数行列に対して、逆量子化・逆変換を行う。
【００６４】
図７は、実施の形態２にかかる画像符号化装置１０の符号化処理を示すフローチャートである。実施の形態２にかかる画像符号化装置１０の処理においては、ＤＣ係数が基準範囲外となる場合に（ステップＳ１０３，Ｎｏ）、第２の逆量子化・逆変換を行う（ステップＳ１１０）。続いて、ステップＳ１０７へ進む。
【００６５】
一方、ＤＣ係数が基準範囲内であり、かつＡＣ係数が全てゼロであ場合には（ステップＳ１０３，Ｙｅｓ、ステップＳ１０４，Ｙｅｓ）、第２の逆量子化・逆変換およびエントロピー符号化を行わず、ステップＳ１０８に進む。
【００６６】
図８−１は、第１逆量子化・逆変換部１２６が処理する行列演算式を示している。また、図８−２は、第２逆量子化・逆変換部１２７が処理する行列演算式を示している。このように、第２逆量子化・逆変換部１２７は、ＡＣ係数が全てゼロの時に特化した行列演算を行う。
【００６７】
例えば、H.264において第２逆量子化・逆変換部１２７が施す処理は数式１２に示すように、ＤＣ係数を全てのＦの係数としてコピーするだけである。
F={f(i,j)=e(０,０)| i,j=０,…,3}・・・数式１２
【００６８】
このように、第２逆量子化・逆変換部１２７が行う演算は、図８−１に示すような第１逆量子化・逆変換部１２６における演算に比べて簡略であるため、処理を高速化することができる。
【００６９】
なお、実施の形態２に係る画像符号化装置１０のこれ以外の構成および処理は、実施の形態１に係る画像符号化装置１０の構成および動作と同様である。
【００７０】
（実施の形態３）
次に、実施の形態３にかかる画像符号化装置１０について説明する。実施の形態３にかかる画像符号化装置１０は、入力画像信号を１６×１６マクロブロック（以下、単に「マクロブロック」と称す）単位で変換・量子化処理する。なお、このような」処理を１６×１６手法と呼ぶ。
【００７１】
１６×１６手法では、まずマクロブロック中の１６個のブロックに対して変換・量子化を行う。そして、１６個のブロックのそれぞれから得られるＤＣ係数１６個を集めたブロックを作成する。作成したブロックに対して更に変換・量子化を行う。これにより、１６×１６手法では、４×４手法よりも広い範囲において、階層的に画素の空間的相関の除去を行うことができる。
【００７２】
図９は、実施の形態３にかかる符号化部１２０の詳細な機能構成を示すブロック図である。実施の形態３にかかる符号化部１２０は、第１変換・量子化部１３０と、第２変換・量子化部１３２と、第１逆量子化・逆変換部１２６と、第３逆量子化・変換部１２８と、ＡＣ係数チェック部１２３と、ＤＣ係数チェック部１２２と、エントロピー符号化部１２４とを有している。
【００７３】
第１変換・量子化部１３０は、マクロブロックに含まれる１６個のブロックに対して変換および量子化を行う。第２変換・量子化部１３２は、ＤＣ係数１６個を集めたブロックに対して変換および量子化を行う。第１逆量子化・逆変換部１２６は、第１変換・量子化部１３０により変換および量子化された係数行列（Ｄ）２１０の逆量子化および逆変換を行う。第３逆量子化・逆変換部１２８は、第２変換・量子化部１３２により変換および量子化された行列の逆量子化および逆変換を行う。
【００７４】
図１０は、実施の形態３にかかる画像符号化装置１０の符号化処理を示すフローチャートである。入力動画像信号２００が入力されると（ステップＳ１００）、次に、第１変換・量子化部１３０は、マクロブロック中に含まれる１６個の４×４ブロックそれぞれに対して、実施の形態１において示した数式３で表される変換・量子化処理を施す（ステップＳ１２０）。
【００７５】
なお、ステップＳ１２０においては、実施の形態１において説明したステップＳ１０２における変換・量子化処理と異なり、図１１に示す４×４ブロックのＣ(０，０)以外のＣの係数に対してのみ数式４で表される量子化処理を施す。
【００７６】
次に、第２変換・量子化部１３２は、図１１に示す行列Ｈに対して、変換・量子化処理を施す（ステップＳ１２２）。ここで行列Ｈは、１６個の４×４ブロックのＣ(０，０)成分を集めた行列である。
【００７７】
より具体的には、行列Ｈは、４×４ブロックｋ（０≦ｋ≦１５）のＣ（０，０）をＧ(ｋ)と表した場合に、数式１３によりＣのＤＣ係数を１６個集めた行列である。
H={H(i,j)=G(i*4,j*4),| i,j=０,…,3}・・・数式１３
【００７８】
また、第２変換・量子化部１３２が施す処理は、数式１４および数式１５で表される。
J=L・H・・・数式１４
M={Ｙ(q(０,０,qp)*Ｊ(i,j),qp)| i,j=０,…,3}・・・数式１５
ここで、Ｌは数式１６で表される。またＹ（ａ，ｑｐ）は量子化関数である。
L={L(i,j)| i,j=０,…,3}・・・数式１６
【００７９】
行列Ｌは輝度ＤＣ成分変換を行う係数行列であり、また、行列Ｍは、変換結果行列Ｊに対して量子化前処理上記Ｑ行列の該当係数をかけて、量子化（関数Ｙ）を行うことにより得られる行列である。エントロピー符号化部１２４は、このＭの係数とｄ(０,０)以外のＤの係数をエントロピー符号化し、ビットストリームを出力する。
【００８０】
ここで、ステップＳ１２４以降の処理について説明する前に、１６×１６手法で変換・量子化したエンコードデータをデコードする際のデコーダにおける逆量子化・逆変換処理について説明する。
【００８１】
デコーダはビットストリームを入力し行列Ｍの係数をエントロピー復号化して、Ｍの係数を得る。そして、実施の形態１において説明した数式６のｉｑ（０，０，ｑｐ）を用いて逆変換前処理を行う。その後、関数ＩＹにより各要素の逆量子化を行い、逆変換を行う。ここで、関数ＩＹは、数式１７で表される。また、逆量子化処理は、数式１８で表される処理である。
N={IY(iq(０,０,qp)*M(i,j),qp)| i,j=０,…,3}・・・数式１７
O=IL・N・・・数式１８
【００８２】
一方、ｄ(０,０)以外の係数行列Ｄの係数をエントロピー復号化によって得る。ここで、得られたＯの各要素を、図１２に示すように各ブロックのｐ（０，０）として用いる。ｄ（０，０）以外の係数行列Ｄの係数に対して数式１９で表される逆量子化を行い、実施の形態１において説明した数式８で表される逆変換を行い画像を再構成するための値Ｆを生成する。
P={p(i,j)|Ｉ×( iq(i,j)*d(i,j),qp), i,j=０,…,3}（i=j=０は除く）・・・数式１９
ここで、ＩＱは数式２０で示される。また、ＩＸ（ａ，ｑｐ）は逆量子化関数である。
IQ={iq(i,j,qp)| i,j=０,…,3}・・・数式２０
【００８３】
以上のデコード処理を踏まえつつ、図１０におけるステップＳ１２４以降の処理を説明する。ステップＳ１２２における第２変換・量子化部１３２の処理によって得られた行列Ｍに対し、第３逆量子化・逆変換１２８は、第３の逆量子化・逆変換を行う（ステップＳ１２４）。さらに、第３の逆量子化・逆変換により得られたＯの各要素を該当するブロックのｄ(０,０)にセットする。
【００８４】
次に、各ブロックに関して係数行列（Ｄ）に対する処理を行う。まず、ＤＣ係数チェック部１２２は、係数行列（Ｄ）のＤＣ係数すなわちｄ(０,０)が基準範囲内に含まれるか否かをチェックする（ステップＳ１０３）。
【００８５】
ここでｄ(０,０)と比較する基準範囲は、実施の形態１において説明したのと同様に、逆量子化・逆変換後の丸め処理によって定まる。ここで、実施の形態１の場合と同様に、Ｈ．２６４での丸めが利用される場合には、基準範囲は，−３３より大きく３２未満の範囲である。
【００８６】
ＤＣ係数が基準範囲内に含まれる場合には(ステップＳ１０３，Ｙｅｓ)、ＡＣ係数チェック部１２３は、係数行列（Ｄ）のＡＣ係数がゼロか否かをチェックする(ステップＳ１０４)。ＡＣ係数がゼロである場合には(ステップＳ１０４，Ｙｅｓ)、当該ブロックに対してエントロピー符号化を施さずに、次のブロックの処理に移行する（ステップＳ１０８）。一方、ＤＣ係数が基準範囲内に含まれない場合には（ステップＳ１０３，Ｎｏ）、エントロピー符号化部１２４は、当該ブロックのエントロピー符号化を行う（ステップＳ１０７）。そして、次のブロックの処理に移行する（ステップＳ１０８）。
【００８７】
また、ステップＳ１０４において、ＤのＡＣ係数がゼロでなかった場合（ステップＳ１０４，Ｎｏ）、第１逆量子化・逆変換部１２６は、第１の逆量子化・逆変換処理を行う（ステップＳ１０５）。そして、第１の逆量子化・逆変換処理の結果がゼロであるかどうかの判定を行う（ステップＳ１０６）。
【００８８】
処理の結果がゼロである場合には（ステップＳ１０６，Ｙｅｓ）、当該ブロックに対してエントロピー符号化を行わずに、次のブロックの処理に移行する（ステップＳ１０８）。一方、処理の結果がゼロでない場合には、エントロピー符号化部１２４は、当該ブロックのエントロピー符号化を行った後に、次のブロックの処理に移行する（ステップＳ１０７、ステップＳ１０８）。そして、全てのブロックの対する処理が完了すると、画像符号化装置１０の符号化処理が完了する。
【００８９】
実施の形態３においては、１６×１６手法における輝度ブロック１６個からなるマクロブロック単位の処理として説明を行ったが、これに対応する色差ブロック８個（４:２:２の場合）に対しても同様の処理を行う。
【００９０】
ただし、この場合には、１６個のブロックのＤＣ成分においては、ＤＣ成分から新たに４×４ブロックを構成し、このブロックに対して、数式１３および数式１４で表される処理を４個のブロックに関して実行するようにする。すなわち、数式１３および数式１４で表される処理を数式２１から数式２４で表される処理に置き換えて、Ｃb,Ｃrに関してそれぞれ実行すればよい。
H={h(i,j)=g(i*4,j*4),| i,j=０,1}・・・数式２１
J=L・H・・・数式２２
L={l(i,j)| i,j=０,1}・・・数式２３
M={Ｙ(q(０,０,qp)*j(i,j),qp)j=０,1}・・・数式２４
【００９１】
なお、実施の形態３に係る画像符号化装置１０のこれ以外の構成および処理は、実施の形態１に係る画像符号化装置１０の構成および動作と同様である。
【００９２】
（実施の形態４）
次に、実施の形態４にかかる画像符号化装置１０について説明する。実施の形態４にかかる画像符号化装置１０は、実施の形態２にかかる画像符号化装置１０と同様に、エンコード時にデコード画像を作成する。
【００９３】
図１３は、実施の形態４にかかる符号化部１２０の詳細な機能構成を示すブロック図である。実施の形態４にかかる符号化部１２０は、図９を参照しつつ説明した実施の形態３の符号化部１２０の機能構成に加えて、第２逆量子化・逆変換部１２７を有している。第２逆量子化・逆変換部１２７は、エンコード時にデコード画像を作成する場合には、ＡＣ係数が全てゼロであり、かつＤＣ係数が基準範囲内の値となる係数行列に対して、逆量子化・逆変換を行う。
【００９４】
図１４は、実施の形態４に係る画像符号化装置１０の画像符号化処理を示すフローチャートである。実施の形態４にかかる画像符号化処理において、ステップＳ１０７においてエントロピー符号化を行う場合その直前に、第２逆量子化・逆変換部１２７が第２の逆量子化および逆変換を行う(ステップＳ１０９)。このとき第２逆量子化・逆変換部１２７は、第１逆量子化・逆変換部１２６が施す処理に比べて簡略な処理を施す。従って、実施の形態４にかかる画像符号化装置１０においても実施の形態２にかかる画像符号化装置１０と同様に、処理の高速化を図ることができる。
【００９５】
なお、実施の形態４に係る画像符号化装置１０のこれ以外の構成および処理は、実施の形態１または実施の形態２において説明した画像符号化装置１０の構成および動作と同様である。
【００９６】
（実施の形態５）
次に、実施の形態５にかかる画像符号化装置１０について説明する。実施の形態５にかかる画像符号化装置１０は、処理対象となる係数行列が、作成済みの係数リストに含まれるか否かを判定することにより、当該係数行列に対しエントロピー符号化処理を行うか否かを決定する。
【００９７】
図１５は、実施の形態４にかかる符号化部１２０の詳細な機能構成を示すブロック図である。実施の形態４にかかる符号化部１２０は、変換・量子化部１２１と、エントロピー符号化部１２４と、係数チェック部１４０と、非符号化係数保持部１４１とを有している。
【００９８】
非符号化係数保持部１４１は、逆量子化および逆変換の結果ゼロになるＤの係数リストを保持している。係数チェック部１４０は、非符号化係数保持部１４１に保持されている係数リストを利用して、逆量子化および逆変換の結果ゼロになるか否かを判定する。
【００９９】
なお、非符号化係数保持部１４１を利用したチェック部１４０の処理は、実施の形態１におけるＡＣ係数チェック部１２３およびＤＣ係数チェック部１２２による処理に対応する。
【０１００】
図１６−１および図１６−２は、非符号化係数保持部１４１が保持する係数リストを示している。係数リストには、逆量子化・逆変換した場合にゼロになるＤと、各ＤのＡＣ係数およびＤＣ係数の範囲とが対応付けられている。したがって、係数チェック部１４０は、非符号化係数保持部１４１に保持されている係数リストを参照することにより、逆変換した場合にゼロになるか否かを判断することができる。すなわち、係数リストを参照することによりエントロピー符号化処理の実行の有無を決定することができる。
【０１０１】
本実施の形態にかかる係数リストには、上述したようなＨ．２６４の規格仕様書に沿ったＩＣ,ＩＱおよび、Ｃ,Ｑを用いた場合における、逆量子化・逆変換によってＦがゼロになるＥの係数が示されている。
【０１０２】
リストの最初にはＡＣ係数がゼロで、かつ逆量子化・逆変換処理結果がゼロになる場合のＤＣ係数の範囲とＱＰ値とが示されている。最初のＱＰ=０はＱＰの値が０である場合であることを示している。続いてカギ括弧で囲まれた値がＤＣ係数の上限値（３）および下限値（−３）である。
【０１０３】
次にＡＣ係数が非ゼロの場合のリストが示される。最初のＱＰ＝０は上記と同様ＱＰの値が０であることを示し、それに続く括弧で囲まれた連続する１６の整数が逆量子化・逆変換後にゼロとなる係数集合を示している。この１６整数は４×４行列の係数である。なお図１６−１および図１６−２においては、各行における４列を連続して表記している。
【０１０４】
例えば図３−３の行列をこの表記に直すと(２０４００１００００００００００)となる。係数リストに関してはＱＰ値と、全係数が一意に決まれば良く、本発明はこの表記法には依存しない。
【０１０５】
このリストは、例えば全てのとりうるＥの係数の組み合わせに関して、全てのとりうる量子化値についての逆量子化・逆変換処理を行い、結果がゼロとなるものをリストに挙げるという方法を符号化方式毎に一度だけ行うことによって作成される。
【０１０６】
Ｈ.２６４において４×４手法でＡＣ係数が全て０である場合は図１６−１および図１６−２に示す係数リストにおいて、ＡＣ係数が全て０の場合に示した通りである。
【０１０７】
図１７は、実施の形態１において逆量子化・逆変換の結果がゼロになると判定した条件、すなわちＡＣ係数が全て０である場合の各ＱＰ（０〜５１）に関するｕ(０，０，ｑｐ)の値を示している。
【０１０８】
例えば、ＱＰ＝０の場合はｕ（０，０，０）＝１０であるので、ｄ（０，０)＊１０が−３２より大きく３１未満の範囲に含まれるのは整数係数ｄ（０，０）の値が−３，−２，−１，０，１，２，３の場合のみであり、Ｄがゼロではなく、ＤのＡＣ係数がゼロであるという条件からｄ（０，０）の値は−３，−２，−１，１，２，３の６通りのみである。これは、図１６に示すＱＰ＝０の場合のＤＣ係数の範囲に対応している。同様にＱＰ＝１の場合はｕ（０，０，１）＝１１であるのでｄ（０，０）の値が−２，−１，１，２の４通りのみとなる。これは、図１６に示すＱＰ＝１の場合のＤＣ係数の範囲に対応している。
【０１０９】
このように、上述の方法によって作成された係数リストに示される値は、実施の形態１において逆量子化・逆変換の結果がゼロになると判定した条件に対応している。
【０１１０】
ここで、係数チェック部１４０による係数リストを用いた係数チェックの手法について、図１８、図１９−１〜図１９−３を参照しつつ説明する。
【０１１１】
図１８は４×４手法において逆量子化・逆変換結果がゼロになる係数集合のリストを示している。ある係数集合が図１８の係数リストに含まれるか否かをチェックする際、係数リストから図１９−１〜図１９−３に示すチェック関数を作成する。図１９−１〜図１９−３は、ＱＰ＝０の場合のチェック関数を示している。図１９−１〜図１９−３に示す関数がコールされた場合、係数を１つずつチェックしながら、入力係数の該当する分岐の処理に入る。そして、係数リストに無い場合はＦａｌｓｅが返され、係数リストにある場合にはＴｒｕｅが返される。このように、１６個の係数を入力とし、ＴｒｕｅまたはＦａｌｓｅのＢｏｏｌ値を出力する（図１９−１の行０参照）。
【０１１２】
例えば、図１８の係数リストの２行目の( -1 ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ 1 ０ 1 ０ ０ )は、図１９−２の行５１の分岐に入る。そしてＴｌｕｅが返される。また、係数リストの１行目の（-1 ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ ０）は、図１９−２の行８４の分岐に入る。そしてＴｒｕｅが返される。
【０１１３】
また例えば、ＱＰ=０の場合に(-1 ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ 1 ０ ０ ０ ０ )という係数列が入力されて上記の関数がコールされた場合、ｃ[０]＝−１の分岐に入り(行８)、さらにｃ[１]＝０の分岐に入り(行１２)、その後ｃ[２]＝０,ｃ[３]＝０,…,ｃ[１１]＝１の分岐に入り（行２１）、ｃ[１２]＝０,ｃ[１３]＝０, ｃ[１４]＝０,ｃ[１５]＝０（行３４）の分岐に入る、そしてＴｒｕｅが返される。
【０１１４】
一方、ＱＰ＝０で(５５ ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ ０ 1 )の場合、最初のｓｗｉｔｃｈ文(行１)で３，２，１，−１，−２，−３のどのｃａｓｅにも入らないため、行１２０においてｄｅｆａｕｌｔ分岐に入る。そしてＦａｌｓｅが返される。
【０１１５】
以上のように１６個の係数の比較を行うことによって、逆量子化・逆変換結果がゼロになるか否かを判定することができる。
【０１１６】
上記の関数ではＡＣ係数がゼロの場合と非ゼロの場合とに分けずに全ての係数の分岐をｓｗｉｔｃｈ  ｃａｓｅ文を用いて表したが、他の例としては図１６のリストのようにまず、ＡＣ係数がゼロの場合とそうではない場合とに分け、前者の場合はＤＣ係数の上限値および下限値（図１６のカギ括弧で囲んだ値）とＤＣ係数との比較を行い上限値より大きいあるいは下限値より小さい場合にＦａｌｓｅを返し、それ以外の場合にはＴｒｕｅを返すこととしてもよい。この場合も、上記実施の形態５にかかる処理と同様に、逆量子化・逆変換結果がゼロになるか否かを判定することができる。
【０１１７】
図２０は、実施の形態４にかかる画像符号化装置１０の符号化処理を示すフローチャートである。実施の形態４にかかる画像符号化装置１０においては、変換・量子化部１２１が変換・量子化処理を行った後に（ステップＳ１０２）、係数チェック部１４０が、変換・量子化部１２１から出力された係数行列（Ｄ）が非符号化係数保持部１４１に保持されている係数リストに含まれるかどうかをチェックする（ステップＳ１１３）。
【０１１８】
係数行列（Ｄ）が係数リストに含まれている場合には（ステップＳ１１３，Ｙｅｓ）、エントロピー符号化を行わずに、次のブロックに移行する（ステップＳ１０８）。また、係数行列（Ｄ）が係数リストに含まれていない場合には（ステップＳ１１３，Ｎｏ）、エントロピー符号化を行い（ステップＳ１０７）、次のブロックに移行する（ステップＳ１０８）。
【０１１９】
なお、実施の形態５にかかる画像符号化装置１０は、４×４手法により符号化処理を行ったが、これにかえて、１６×１６手法により符号化処理を行ってもよい。この場合は実施の形態３にかかる図１０のステップＳ１２４の後に各ブロックの係数行列（Ｄ）において、係数がリストと一致するか否かのチェックを行って、本実施の形態と同様に処理を行えばよい。
【０１２０】
図２１−１および図２１−２は、この場合に係数チェック部１４０が利用する係数リストを示している。図２１に示す係数リストは、４×４手法の場合と同様にＨ．２６４の規格仕様書に沿ったＩＣ，ＩＱ，ＩＸ，ＩＬ，ＩＹおよび、Ｃ，Ｑ，Ｌ，Ｘ，Ｙを用いた場合、逆量子化・逆変換によってＦがゼロになる場合のＥの係数を示している。すなわち、１６×１６手法を用いて逆量子化・逆変換処理をする場合に結果がゼロになる係数組み合わせのリストである。
【０１２１】
図２１−１および図２１−２に示す係数リストにおいて、ＡＣ係数が全て０となるのは、係数リストの最初に並べられた、ＡＣ係数が全て０の場合である。これは、実施の形態２にかかる画像符号化装置１０が逆量子化・逆変換結果がゼロになると判定した条件と一致している。１６×１６手法においては全てのＱＰにおいてＤのＡＣ係数がゼロならば、ｄ(０,０)が−３２より大きく３１未満の範囲である場合に逆量子化・逆変換結果がゼロになる。
【０１２２】
また他の例としては、実施の形態５においては、非符号化係数保持部１４１は、ＱＰ値と係数行列（Ｄ）とを対応付けて保持していたが、ＱＰ値が一定である場合にはＱＰ値を保持しなくともよい。
【０１２３】
なお、実施の形態５に係る画像符号化装置１０のこれ以外の構成および処理は、実施の形態１に係る画像符号化装置１０の構成および動作と同様である。
【０１２４】
（実施の形態６）
次に実施の形態６にかかる画像符号化装置１０について説明する。実施の形態６にかかる画像符号化装置１０は、エンコード時に逆変換処理を行う。
【０１２５】
図２２は、実施の形態６にかかる符号化部１２０の詳細な機能構成を示すブロック図である。実施の形態６にかかる符号化部１２０は、第４逆量子化・逆変換部１２９を有している。第４逆量子化・逆変換部１２９は、実施の形態１にかかる逆量子化・逆変換部１２５と同様に、逆量子化および逆変換を行う。
【０１２６】
図２３は、実施の形態６にかかる画像符号化装置１０の画像符号化処理を示すフローチャートである。実施の形態６にかかる画像符号化装置１０においては、エントロピー符号化を行う場合その直前に、第４逆量子化・逆変換部１２９が、第４の逆量子化および逆変換を行う(ステップＳ１１４)。
【０１２７】
なお、実施の形態６に係る画像符号化装置１０のこれ以外の構成および処理は、実施の形態５に係る画像符号化装置１０の構成および動作と同様である。
【０１２８】
また、他の例としては、第４逆量子化・逆変換部１２９に替えて、ＤＣ係数のみ非ゼロの場合には実施の形態２にかかる第２逆量子化・逆変換部１２７を用い、それ以外の場合は実施の形態２にかかる第１逆量子化・逆変換部１２６を用いてもよい。
【０１２９】
（実施の形態７）
次に、実施の形態７にかかる画像符号化装置１０について説明する。実施の形態５にかかる画像符号化装置１０は、取り得る係数値と量子化値の全てについて逆量子化・逆変換を行った。これに対して、実施の形態７にかかる画像符号化装置１０は、所定の条件に当てはまらない係数集合は、逆量子化・逆変換結果がゼロとはならないと判断する。すなわち、これらの係数集合に対しては、逆量子化・逆変換を行わない。そして、その他の係数集合、すなわち所定の条件に当てはまる係数集合に対してのみ逆量子化・逆変換を行う。これにより、係数リストを作成する処理を高速化することができる。
【０１３０】
図２４は、実施の形態６にかかる符号化部１２０の詳細な機能構成を示すブロック図である。実施の形態６にかかる係数チェック部１４０は、図２５に示す処理を行う。
【０１３１】
図２５は、ある係数について係数リストに追加するか否かを判断する処理を示すフローチャートである。ここで、これから判断を行う係数を候補係数と呼ぶ。
【０１３２】
候補係数と量子化値が入力されると、まず、量子化値ｑｐと１６個の係数ｃ(ｉ，ｊ)（ｉ，ｊ＝０,…,３）に関して、ｃ(ｉ，ｊ)＊ｕ(ｉ，ｊ，ｑｐ)の値がある範囲以内であるかどうかを判定する（Ｓ２００）。ここでｕ(ｉ，ｊ)は上記で定義した通りである。また、ここで比較する値の範囲は、実施の形態１において説明したのと同様に基準範囲である。すなわち、丸めによって０になる範囲である。つまり、Ｈ．２６４においては、ｃ(ｉ，ｊ)＊ｕ(ｉ，ｊ，ｑｐ)が−３２以上でかつ３１以下の範囲である。
【０１３３】
ｃ(ｉ，ｊ)＊ｕ(ｉ，ｊ，ｑｐ)の値が基準範囲内にある場合には(ステップＳ２００，Ｙｅｓ)、逆量子化・逆変換が行われる（Ｓ２０１）。その結果がゼロである場合には(ステップＳ２０２，Ｙｅｓ）、そのＱＰに対する候補係数を係数リストに追加する（Ｓ２０３）。逆量子化・逆変換の結果がゼロでない場合には(ステップＳ２０２，Ｎｏ)、候補係数は係数リストに追加されない。この場合候補係数はそのＱＰに関して逆量子化・逆変換した結果がゼロにはならないためである。
【０１３４】
また、ｃ(ｉ，ｊ)＊ｕ(ｉ，ｊ，ｑｐ)が基準範囲内にない場合(ステップＳ２００，Ｎｏ)、候補係数は係数リストには追加されない。以上で、係数を追加するか否かを判断する処理が完了する。
【０１３５】
上記処理においては、逆量子化の前処理に用いる値は、ｉｑ(ｉ，ｊ，ｑｐ)である。この値はＱＰにのみ依存する場合もあり、またＱＰおよびｉ，ｊに依存する場合もある。
【０１３６】
例えば、図２６に示すようにiq(i,j,QP)= LevelSｃale(QP%6,i,j)とｉｑ(ｉ，ｊ，ＱＰ)が定義される場合には、ｉ，ｊに応じて逆量子化前処理に使われる値が異なる。ここでｃ(i，j)は変換係数であり、ｗ(ｉ，ｊ)は逆量子化後の係数である。
【０１３７】
図２７−１から図２７−３は、図２６に示すｉｑ（ｉ，ｊ，ｑｐ）における各ｃ(ｉ，ｊ)が１である場合に逆量子化結果ｗ(ｉ，ｊ)がどのようになるかをいくつかのＱＰの場合を例に示している。
【０１３８】
図２７−１は、ＱＰ＝０の場合の行列ｕ（ｉ，ｊ，０）を示している。ＱＰ＝０の場合、図２６に示したＱＰ％６は０となる。従って、ＬｅｖｅｌＳｃａｌｅの値は(０，０)，(０，２)，(２，０)，(２，２)の位置で１０になる。また(１，１)，(１，３)，(３，１)，(３，３)の位置で１６、それ以外の位置で１３となる。従って、ｕ(ｉ，ｊ，０)は図２７−１に示す行列となる。
【０１３９】
また、図２７−３は、ＱＰ＝６の場合の行列ｕ（ｉ，ｊ，６）を示している。この場合、ＬｅｖｅｌＳｃａｌｅの値はＱＰ＝０の場合と同様になり、ＱＰ％６の値が異なる。従って、この場合の係数は、ＱＰ＝０の場合のそれぞれの係数を２倍した値となる。
【０１４０】
また、図２７−２は、ＱＰ＝３の場合の行列ｕ（ｉ，ｊ，３）を示している。ＱＰ％６が３であるので、図２６のｖ行列の上から４行目の値を用いる。従って、ｕ(ｉ，ｊ，３)は図２７−２に示す行列となる。
【０１４１】
本発明はｉｑの定義がＱＰのみに依存する場合も、上記のようにｉ，ｊに依存する場合にも同様に適用可能である。
【０１４２】
以下、ＱＰ＝０の場合に、図２８−１から図２８−４に示す候補係数を用いて、図２５に示した係数リストへの追加処理をより具体的に説明する。
【０１４３】
図２８−１に示す候補係数３１０のＤＣ係数は３、これに対応するｕ(０，０，０)は1０であり、３＊１０＝３０となる。従ってｃ(ｉ，ｊ)＊ｕ(ｉ，ｊ，ｑｐ)は、基準範囲に含まれている。また、他の１５係数はいずれも０であるからステップＳ２００からステップＳ２０１へと進む。
【０１４４】
この係数を逆量子化・逆変換した結果はゼロとなる（ステップＳ２０２，Ｙｅｓ）。従って、ステップＳ２０３へ進み、候補係数３１０は係数リストに追加される（Ｓ２０３）。以上で、係数リストへの追加処理が完了する。
【０１４５】
図２８−２に示す候補係数毎に対応する逆量子化値をかけると、行列３２２が得られる。行列３２２のいずれの係数においても、ｃ(ｉ，ｊ)＊ｕ(ｉ，ｊ，ＱＰ)は基準範囲に含まれている。したがって、ステップＳ２００からステップＳ２０１へ進む。
【０１４６】
この係数を逆量子化・逆変換した結果はゼロとなる（Ｓ２０２，Ｙｅｓ）。従って、ステップＳ２０３へ進み、候補係数３２０は、係数リストに追加される（Ｓ２０３）。
【０１４７】
図２８−３に示す係数毎に対応するｕ(ｉ，ｊ，ｑｐ)を掛けると行列３３２が得られる。行列３３２のいずれの係数もｃ(ｉ，ｊ)＊ｕ(ｉ，ｊ，ｑｐ)は、基準範囲に含まれているので、ステップＳ２００からステップＳ２０１へ進む。
【０１４８】
この係数を逆量子化・逆変換した結果はゼロとならず（Ｓ２０２，Ｎｏ）。従って、候補係数３３０は、係数リストに追加されずに処理が完了する。
【０１４９】
図２８−４に示す係数毎に対応するｕ(ｉ，ｊ，ｑｐ)を掛けると行列３４２が得られる。行列３４２においては、ｃ（ｉ，ｊ）＊ｕ（ｉ，ｊ，ｑｐ）が基準範囲内にないので、逆量子化・逆変換は行われず、また候補係数３４０は係数リストに追加されずに処理が完了する。
【０１５０】
なお、実施の形態７に係る画像符号化装置１０のこれ以外の構成および処理は、実施の形態６に係る画像符号化装置１０の構成および動作と同様である。
【０１５１】
以上の説明は４×４手法を例にとって行ったが、１６×１６手法においても本発明を適用可能である。１６×１６手法を用いる場合はブロックのＤＣ係数以外に対して、Ｓ２００のチェックを行い、ＤＣ係数に対してはｕ（０，０，ｑｐ）を乗算せずにＤＣ係数がある値の範囲（Ｈ．２６４の場合−３２から３１）内かどうかのチェックを行えばよく、それ以外は上記において説明した処理と同様である。
【０１５２】
また、上記の説明ではＡＣ係数がゼロの場合と非ゼロの場合との場合分けを行わずに係数リストへ追加したが、ここで作成される係数リストから、ＡＣ係数がゼロであるものを抽出し、ＤＣ係数部分の上限値および下限値を探索するのは容易である。実施の形態４に係る非符号化係数保持部１４１が保持する図１５に示す係数リストや実施の形態５にかかる非符号化係数保持部１４１が保持する図１７に示す係数リストを簡単に作成することができる。
【０１５３】
また他の例としては、エンコード時に当該係数リストが存在しない場合に、逆量子化および逆変換した結果がゼロになるか否かを判定するために上記処理をおこなってもよい。
【０１５４】
例えば、図２９に示す符号化部１２０の構成において、係数チェック部１４０が図２５のステップＳ２００におけるチェックを行い、Ｙｅｓの場合のみ逆量子化・逆変換部１２５が逆量子化・逆変換を行う。そして、逆量子化および逆変換の結果がゼロになる場合はエントロピーコーディングを行わない。また、ステップＳ２００のチェックでＮｏの場合はエントロピー符号化部１２４でエントロピー符号化を行う。
【０１５５】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【０１５６】
そうした変更例としては、本実施の形態にかかる画像符号化装置１０は、動画像に対する符号化処理を行ったが、これにかえて静止画に対する符号化処理を行ってもよい。直交変換ベースの静止画像符号化装置の構成は、図１を参照しつつ説明した実施の形態１にかかる画像符号化装置１０とほぼ同様である。すなわち、静止画像符号化装置は、主に減算器１１０と、符号化部１２０とを有している。また、符号化部１２０の機能構成は、図２を参照しつつ説明した実施の形態１にかかる画像符号化装置１０の符号化部１２０の機能構成と同様である。
【０１５７】
このように、実施の形態にかかる符号化処理は動画象および静止画像のいずれに対しても適用することができる。
【産業上の利用可能性】
【０１５８】
以上のように、本発明にかかる画像符号化装置、画像符号化方法および画像符号化プログラムは、直交変換を行う装置等に有用であり、特に、画像符号化装置に適している。
【図面の簡単な説明】
【０１５９】
【図１】実施の形態１にかかる画像符号化装置１０の機能構成を示すブロック図である。
【図２】符号化部１２０の詳細な機能構成を示すブロック図である。
【図３−１】係数行列２１０の一例を示す図である。
【図３−２】係数行列２１０の一例を示す図である。
【図３−３】係数行列２１０の一例を示す図である。
【図４】画像符号化装置１０の符号化処理を示すフローチャートである。
【図５】画像符号化装置１０のハードウェア構成を示す図である。
【図６】実施の形態２にかかる符号化部１２０の詳細な機能構成を示すブロック図である。
【図７】実施の形態２にかかる画像符号化装置１０の符号化処理を示すフローチャートである。
【図８−１】第１逆量子化・逆変換部１２６が処理する行列演算式を示す図である。
【図８−２】第２逆量子化・逆変換部１２７が処理する行列演算式を示す図である。
【図９】実施の形態３にかかる符号化部１２０の詳細な機能構成を示すブロック図である。
【図１０】実施の形態３にかかる画像符号化装置１０の符号化処理を示すフローチャートである。
【図１１】行列Ｈに対する量子化および変換処理を説明するための図である。
【図１２】行列Ｄに対する逆量子化および逆変換処理を説明するための図である。
【図１３】実施の形態４にかかる符号化部１２０の詳細な機能構成を示すブロック図である。
【図１４】実施の形態４に係る画像符号化装置１０の画像符号化処理を示すフローチャートである。
【図１５】実施の形態４にかかる符号化部１２０の詳細な機能構成を示すブロック図である。
【図１６−１】非符号化係数保持部１４１が保持する係数リストを示す図である。
【図１６−２】非符号化係数保持部１４１が保持する係数リストを示す図である。
【図１６−３】非符号化係数保持部１４１が保持する係数リストを示す図である。
【図１７】ＡＣ係数が全て０である場合の各ＱＰ（０〜５１）に関するｕ(０，０，ｑｐ)の値を示す図である。
【図１８】４×４手法において逆量子化・逆変換結果がゼロになる係数集合のリストを示す図である。
【図１９−１】ＱＰ＝０の場合のチェック関数を示す図である。
【図１９−２】ＱＰ＝０の場合のチェック関数を示す図である。
【図１９−３】ＱＰ＝０の場合のチェック関数を示す図である。
【図２０】実施の形態４にかかる画像符号化装置１０の符号化処理を示すフローチャートである。
【図２１−１】係数リストを示す図である。
【図２１−２】係数リストを示す図である。
【図２２】実施の形態６にかかる符号化部１２０の詳細な機能構成を示すブロック図である。
【図２３】実施の形態６にかかる画像符号化装置１０の画像符号化処理を示すフローチャートである。
【図２４】実施の形態６にかかる符号化部１２０の詳細な機能構成を示すブロック図である。
【図２５】ある係数について係数リストに追加するか否かを判断する処理を示すフローチャートである。
【図２６】ｉｑ(ｉ，ｊ，ＱＰ)を示す図である。
【図２７−１】ＱＰ＝０の場合の行列ｕ（ｉ，ｊ，０）を示す図である。
【図２７−２】ＱＰ＝３の場合の行列ｕ（ｉ，ｊ，３）を示す図である。
【図２７−３】ＱＰ＝６の場合の行列ｕ（ｉ，ｊ，６）を示す図である。
【図２８−１】候補係数と逆量子化後の行列を示す図である。
【図２８−２】候補係数と逆量子化後の行列を示す図である。
【図２８−３】候補係数と逆量子化後の行列を示す図である。
【図２８−４】候補係数と逆量子化後の行列を示す図である。
【図２９】実施の形態７にかかる符号化部１２０の詳細な機能構成を示すブロック図である。
【符号の説明】
【０１６０】
１０  画像符号化装置
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５７  通信Ｉ／Ｆ
６２  バス
１１０  減算器
１１２  加算器
１１４  フレームメモリ
１１６  動き補償部
１２０  符号化部
１２１  変換・量子化部
１２２  ＡＣ係数チェック部
１２３  ＤＣ係数チェック部
１２４  エントロピー符号化部
１２５  逆量子化・逆変換部
１２６  第１逆量子化・逆変換部
１２７  ２逆量子化・逆変換部
１２８  第３逆量子化・逆変換部
１２９  第４逆量子化・逆変換部
１３０  第１変換・量子化部
１３２  第２変換・量子化部
１４０  係数チェック部
１４１  非符号化係数保持部
【図１】
2005175629.tif 000003
【図２】
2005175629.tif 000004
【図３−１】
2005175629.tif 000005
【図３−２】
2005175629.tif 000006
【図３−３】
2005175629.tif 000007
【図４】
2005175629.tif 000008
【図５】
2005175629.tif 000009
【図６】
2005175629.tif 000010
【図７】
2005175629.tif 000011
【図８−１】
2005175629.tif 000012
【図８−２】
2005175629.tif 000013
【図９】
2005175629.tif 000014
【図１０】
2005175629.tif 000015
【図１１】
2005175629.tif 000016
【図１２】
2005175629.tif 000017
【図１３】
2005175629.tif 000018
【図１４】
2005175629.tif 000019
【図１５】
2005175629.tif 000020
【図１６−１】
2005175629.tif 000021
【図１６−２】
2005175629.tif 000022
【図１６−３】
2005175629.tif 000023
【図１７】
2005175629.tif 000024
【図１８】
2005175629.tif 000025
【図１９−１】
2005175629.tif 000026
【図１９−２】
2005175629.tif 000027
【図１９−３】
2005175629.tif 000028
【図２０】
2005175629.tif 000029
【図２１−１】
2005175629.tif 000030
【図２１−２】
2005175629.tif 000031
【図２２】
2005175629.tif 000032
【図２３】
2005175629.tif 000033
【図２４】
2005175629.tif 000034
【図２５】
2005175629.tif 000035
【図２６】
2005175629.tif 000036
【図２７−１】
2005175629.tif 000037
【図２７−２】
2005175629.tif 000038
【図２７−３】
2005175629.tif 000039
【図２８−１】
2005175629.tif 000040
【図２８−２】
2005175629.tif 000041
【図２８−３】
2005175629.tif 000042
【図２８−４】
2005175629.tif 000043
【図２９】
2005175629.tif 000044