(57)【要約】      （修正有）【課題】  符号化処理を行う装置の規模をより小さくし、且つ符号化処理をより高速に行うこと。【解決手段】  直交変換を施した夫々の画素ブロックを量子化し、量子化した画素ブロックを逆量子化してメモリに出力し、量子化された注目画素ブロックを符号化するために用いる画素ブロックを注目画素ブロックの近傍から選択し、選択した画素ブロックの上記メモリに出力されたデータを注目ブロックの量子化ステップで量子化した結果と、量子化された注目画素ブロックとの差分を計算し、計算した差分、もしくは注目画素ブロックの量子化結果の何れかを選択して符号化する。【選択図】  図１
2005123737.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像を符号化する画像符号化方法であって、
符号化対象の画像を構成する画素ブロック毎に直交変換を施す直交変換工程と、
前記直交変換工程で直交変換された夫々の画素ブロックを、当該夫々の画素ブロックに応じた量子化ステップを用いて量子化する第１の量子化工程と、
前記第１の量子化工程で量子化された画素ブロックに対して、量子化時に用いた量子化ステップを用いて逆量子化を行い、当該逆量子化された前記画素ブロックのデータをメモリに出力する逆量子化工程と、
前記第１の量子化工程で量子化された注目画素ブロックを符号化するために用いる画素ブロックを前記注目画素ブロックの近傍から選択する選択工程と、
前記選択工程で選択された画素ブロックの、前記逆量子化工程で前記メモリに出力されたデータを前記注目ブロックの量子化時に用いた量子化ステップを用いて量子化する第２の量子化工程と、
前記第１の量子化工程で量子化された注目画素ブロックと、前記第２の量子化工程で量子化された画素ブロックとの差分を計算する差分計算工程と、
前記差分計算工程で計算した差分、もしくは前記第１の量子化工程で量子化された注目画素ブロックの量子化結果の何れかを選択して符号化する符号化工程と
を備えることを特徴とする画像符号化方法。
【請求項２】
前記直交変換工程では、画素ブロック毎にＤＣＴ（離散コサイン変換）を施すことを特徴とする請求項１に記載の画像符号化方法。
【請求項３】
前記選択工程は更に、
前記注目画素ブロックに左側に隣接する第１の画素ブロック中の前記逆量子化工程によるＤＣ成分と、前記注目画素ブロックの直上に位置する第２の画素ブロックの左側に隣接する第３のブロック中の前記逆量子化工程によるＤＣ成分との第１の差分量を求める第１の計算工程と、
前記第２の画素ブロック中の前記逆量子化工程によるＤＣ成分と、前記第３の画素ブロック中の前記逆量子化工程によるＤＣ成分との第２の差分量とを求める第２の計算工程とを備え、
前記第１の差分量が前記第２の差分量よりも大きい差分量である場合には前記第１の画素ブロックを、前記第２の差分量が前記第１の差分量よりも大きい差分量である場合には前記第２の画素ブロックを、前記第１の量子化工程で量子化された注目画素ブロックを符号化するために用いる画素ブロックとして選択することを特徴とする請求項１に記載の画像符号化方法。
【請求項４】
前記選択工程で、前記第１の画素ブロックが選択された場合、
前記差分計算工程では、前記第１の画素ブロックの第１列目の前記逆量子化工程によるＡＣ成分と前記注目ブロックの第１列目の前記逆量子化工程によるＡＣ成分とで位置的に対応するＡＣ成分同士の差分、
前記第１の画素ブロックの前記逆量子化工程によるＤＣ成分と、前記注目ブロックの前記逆量子化工程によるＤＣ成分との差分を求めることを特徴とする請求項３に記載の画像符号化方法。
【請求項５】
前記選択工程で、前記第２の画素ブロックが選択された場合、
前記差分計算工程では、前記第２の画素ブロックの第１列目の前記逆量子化工程によるＡＣ成分と前記注目ブロックの第１列目の前記逆量子化工程によるＡＣ成分とで位置的に対応するＡＣ成分同士の差分、
前記第２の画素ブロックの前記逆量子化工程によるＤＣ成分と、前記注目ブロックの前記逆量子化工程によるＤＣ成分との差分を求めることを特徴とする請求項３に記載の画像符号化方法。
【請求項６】
入力された画像を符号化する画像符号化装置であって、
符号化対象の画像を構成する画素ブロック毎に直交変換を施す直交変換手段と、
前記直交変換手段によって直交変換された夫々の画素ブロックを、当該夫々の画素ブロックに応じた量子化ステップを用いて量子化する第１の量子化手段と、
前記第１の量子化手段によって量子化された画素ブロックに対して、量子化時に用いた量子化ステップを用いて逆量子化を行い、当該逆量子化された前記画素ブロックのデータを、前記画像符号化装置が有するメモリに出力する逆量子化手段と、
前記第１の量子化手段によって量子化された注目画素ブロックを符号化するために用いる画素ブロックを前記注目画素ブロックの近傍から選択する選択手段と、
前記選択手段によって選択された画素ブロックの、前記逆量子化手段によって前記メモリに出力されたデータを前記注目ブロックの量子化時に用いた量子化ステップを用いて量子化する第２の量子化手段と、
前記第１の量子化手段によって量子化された注目画素ブロックと、前記第２の量子化手段によって量子化された画素ブロックとの差分を計算する差分計算手段と、
前記差分計算手段が計算した差分、もしくは前記第１の量子化手段によって量子化された注目画素ブロックの量子化結果の何れかを選択して符号化する符号化手段と
を備えることを特徴とする画像符号化装置。
【請求項７】
コンピュータに請求項１乃至５の何れか１項に記載の画像符号化方法を実行させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化する技術に関するものである。
【背景技術】
【０００２】
画像データを圧縮する方法として、圧縮対象となる画像データを複数の画素ブロックに分割し、動き補償を用いた画像間予測によって差分信号を生成し、画素ブロック単位に直交変換して直流成分（以下、ＤＣ成分）と交流成分（以下、ＡＣ成分）とで構成された周波数成分に変換し、エントロピー符号化する方式がよく知られている。
【０００３】
この際、周波数成分をそれぞれの成分ごとに重み付けをして量子化する。すなわち、高い周波数成分ほど大きい量子化閾値をもって量子化し、低い周波数成分ほど小さい量子化閾値をもって量子化することが望ましい。なぜなら、人間の視覚特性として、高周波成分に対して鈍感であるという特性があるからである。量子化された係数は予測値との差分がとられ、その予測誤差に対してエントロピー符号化が施される。
【０００４】
ＭＰＥＧ−４ビデオ動画像標準符号化においては、上記量子化後の予測に関して、以下のごとく行なう（例えば、特許文献１を参照）。
【０００５】
ＤＣ成分の予測係数値は、処理対象となる画素ブロックの周辺の画素ブロックより適応的に選択する。図２は、処理対象となる画素ブロックＸとその周辺の画素ブロックＡ、Ｂ、及びＣとの関係を示す図である。図２において、画素ブロック内の各升目の一つ一つは、画素ブロック内におけるＤＣＴ係数を表す。また、黒で塗りつぶされた升目はＤＣ成分を表す。ここで、処理対象の画素ブロックをＸ、画素ブロックＸの周辺の画素ブロックをＡ、Ｂ、Ｃとし、画素ブロックＡ、Ｂ、Ｃにおける逆量子化されたＤＣＴ係数を夫々ＦＡ［ｉ］［ｊ］、ＦＢ［ｉ］［ｊ］、ＦＣ［ｉ］［ｊ］で表すとすると（ｉ、ｊは画素ブロックにおけるＤＣＴ係数の位置を表す）、夫々の画素ブロックＡ、Ｂ、ＣにおけるＤＣ成分は夫々、ＦＡ［０］［０］、ＦＢ［０］［０］、ＦＣ［０］［０］で表される。
【０００６】
このとき、画素ブロックＸにおけるＤＣ成分に対する予測係数値ＦＰ［０］［０］は、以下のように決定される。
【０００７】
If  (|FA[0][0]-FB[0][0]|＜|FB[0][0]-FC[0][0]|)
FP[0][0]=FC[0][0]                                      （式１）
Else
FP[0][0]=FA[0][0]
即ち、|FA[0][0]-FB[0][0]|＜|FB[0][0]-FC[0][0]|)の場合には、画素ブロックＣを選択し、選択した画素ブロックＣにおけるＤＣ成分を画素ブロックＸにおけるＤＣ成分に対する予測係数値として用い、|FA[0][0]-FB[0][0]|≧|FB[0][0]-FC[0][0]|)の場合には、画素ブロックＡを選択し、選択した画素ブロックＡにおけるＤＣ成分を画素ブロックＸにおけるＤＣ成分に対する予測係数値として用いる。
【０００８】
このように決定された予測係数値ＦＰ［０］［０］を用いて、画素ブロックＸのＤＣ成分についての予測誤差ＰＱＦＸ［０］［０］は以下のように求める。
【０００９】
PQFX[0][0]=QFX[0][0]-FP[0][0]／dc_scaler              （式２）
ここで、QFX[0][0]は画素ブロックＸの量子化されたＤＣ成分、dc_scalerは画素ブロックＸを量子化する際に用いる量子化ステップを表す。
【００１０】
ここで、予測係数値に用いるＤＣＴ係数は、量子化の際に使用した量子化ステップ値を用いて逆量子化し、さらに処理対象となる画素ブロックＸにおいて用いられる量子化ステップ値で量子化し直す点に注意されたい。
【００１１】
一方、画素ブロックＸのＡＣ成分の予測係数値は、画素ブロックＸのＤＣ成分に対する予測係数値を計算する際に選択した方の画素ブロックのＡＣ成分を用いる。即ち、画素ブロックＸのＤＣ成分の予測係数値として、画素ブロックＡのＤＣ成分を用いた場合は、図２に示すように、画素ブロックＡの斜線で示した部分、すなわち画素ブロックＡの第１列目のＡＣ成分を、画素ブロックＸのＡＣ成分の予測誤差を求めるために用いるべき、予測係数値とする。
【００１２】
一方、画素ブロックＸのＤＣ成分の予測係数値として、画素ブロックＣのＤＣ成分を用いた場合は、図２に示すように、画素ブロックＣの斜線で示した部分、すなわち画素ブロックＣの第１行目のＡＣ成分を、画素ブロックＸのＡＣ成分の予測誤差を求めるために用いるべき、予測係数値とする。
【００１３】
このようにして、画素ブロックＸのＡＣ成分の予測誤差を求めるために用いるべき、予測係数値を何れの画素ブロックのものを用いるのかを決めると、次に、画素ブロックＸのＡＣ成分に対する予測誤差を以下のようにして求める。
【００１４】
画素ブロックＸのＤＣ成分の予測係数値として、画素ブロックＡのＤＣ成分を用いた場合、画素ブロックＸのＡＣ成分に対する予測誤差PQFX[0][i] (i=1 to 7)は、以下の式に従って求める。
【００１５】
PQFX[0][i] = QFX[0][i] − (QFA[0][i] × QPA) ／ QPX        （式３）
ここで、QFX[0][i]は画素ブロックＸの第１列目の量子化されたＡＣ成分、QFA[0][i]は画素ブロックＡの第１列目の量子化されたＡＣ成分、QPAは画素ブロックＡを量子化する際に用いる量子化ステップ、QPXは画素ブロックＸを量子化する際に用いる量子化ステップを表す。
【００１６】
一方、画素ブロックＸのＤＣ成分の予測係数値として、画素ブロックＣのＤＣ成分を用いた場合、画素ブロックＸのＡＣ成分に対する予測誤差PQFX[j][0] (j = 1 to 7)は、以下の式に従って求める。
【００１７】
PQFX[j][0] = QFX[j][0] − (QFC[j][0] × QPC) ／ QPX      （式４）
ここで、QFX[j][0]は画素ブロックＸの第１行目の量子化されたＡＣ成分、QFC[j][0]は画素ブロックＣの第１行目の量子化されたＡＣ成分、QPCは画素ブロックＣを量子化する際に用いる量子化ステップを表す。
【００１８】
ＡＣ成分に対する予測誤差を求める処理でも、ＤＣ成分における処理と同様に、選択した方の画素ブロック（Ａ、もしくはＣ）のＡＣ成分を、量子化時に用いた量子化ステップを用いて逆量子化し、更に、画素ブロックＸの量子化時に用いた量子化ステップで量子化する必要がある。
【００１９】
さらに、ＡＣ成分の予測誤差が予測誤差をとる前のＡＣ成分より値が大きい場合もあるので、ＡＣ成分の予測の無効／有効を選択することができる。この選択の方法に関しては特に規定されているものではない。一般的には例えば、予測前のＡＣ成分の絶対値和と、予測誤差の絶対値和を比較し、予測前のＡＣ成分の絶対値和の方が小さい場合には、該予測を無効にするといった選択方法が知られている。
【００２０】
次に、このような符号化方式を実現する従来の装置について説明する。
【００２１】
図３は、上記符号化方式を実現する従来の画像符号化装置の基本構成を示す図である。
【００２２】
３０１はＤＣＴ部で、ＤＣＴ部３０１には、符号化対象の画像が画素ブロック毎に入力される。従って、以降の符号化処理はこの画素ブロック毎に行われるものである。ＤＣＴ部３０１は、入力された画素ブロック毎にＤＣＴ処理（離散コサイン変換処理）を施し、ＤＣＴ係数を量子化部３０２に出力する。
【００２３】
尚、ＤＣＴ部３０１に入力される画像データは、動き補償を用いた画像間予測を行い、差分信号として入力されるものであってもよい。
【００２４】
量子化部３０２は、ＤＣＴ部３０１から出力されたＤＣＴ係数を、このＤＣＴ係数の画素ブロック内における位置に応じた量子化ステップ値でもって量子化し、量子化係数として出力する。従って、画素ブロック内の各ＤＣＴ係数は、その位置に応じた量子化ステップ値で量子化され、量子化係数として出力される。
【００２５】
バッファ３０３は、量子化部３０２より出力された量子化係数の一部を格納するものである。例えば、これから図２に示す画素ブロックＸを符号化しようとする場合、バッファ３０３には、画素ブロックＡ、Ｂ、Ｃに含まれる各量子化係数が格納される。
【００２６】
以降の説明では、これから符号化しようとする画素ブロックが、画素ブロックＸであるものとして説明する。
【００２７】
バッファ３０４は、各画素ブロック毎の符号化処理で用いた各画素ブロック毎の量子化ステップのデータを格納している。従ってこれから符号化しようとする画素ブロックは画素ブロックＸであるので、当然、この画素ブロックＸを量子化する際に用いた量子化ステップのデータを格納する。またそれまでの処理で、画素ブロックＡ、Ｂ、Ｃを量子化する際に用いた量子化ステップのデータも格納しているので、後段の処理で必要に応じてこれらを出力する。
【００２８】
逆量子化部３０５，３０６，３０７はバッファ３０３から出力された量子化係数を、バッファ３０４から出力された量子化ステップを用いて逆量子化を行い、これによる逆量子化係数（扱いとしてはＤＣＴ係数なのであるが、ＤＣＴ部３０１から出力されたＤＣＴ係数と同じものを復元したわけではないことに注意されたい）を後段の比較選択部３０８に出力するものである。より具体的には、逆量子化部３０５は、バッファ３０３から出力された「画素ブロックＡの量子化係数」を、バッファ３０４から出力された「画素ブロックＡを量子化する際に用いた量子化ステップ」を用いて逆量子化処理を行い、この処理による画素ブロックＡの逆量子化係数を後段の比較選択部３０８に出力する。
【００２９】
逆量子化部３０６は、バッファ３０３から出力された「画素ブロックＢの量子化係数」を、バッファ３０４から出力された「画素ブロックＢを量子化する際に用いた量子化ステップ」を用いて逆量子化処理を行い、この処理による画素ブロックＢの逆量子化係数を後段の比較選択部３０８に出力する。
【００３０】
逆量子化部３０７は、バッファ３０３から出力された「画素ブロックＣの量子化係数」を、バッファ３０４から出力された「画素ブロックＣを量子化する際に用いた量子化ステップ」を用いて逆量子化処理を行い、この処理による画素ブロックＣの逆量子化係数を後段の比較選択部３０８に出力する。
【００３１】
比較選択部３０８は、逆量子化部３０５，３０６，３０７から出力された各画素ブロックの逆量子化係数を受け、上記（式１）に従って、画素ブロックＸにおけるＤＣ成分、ＡＣ成分に対する予測係数値を計算するために用いる画素ブロックを選択し、選択した方の画素ブロックの逆量子化係数を予測係数として後段の量子化部３０９に出力する。
【００３２】
量子化部３０９は、比較選択部３０８から出力された画素ブロック（ＡもしくはＣ）の逆量子化係数を、画素ブロックＸを量子化する際に用いた量子化ステップでもって量子化し、後段の予測誤差生成部３１０に出力する。
【００３３】
予測誤差生成部３１０は、量子化部３０２より出力される画素ブロックＸの量子化係数と、量子化部３０９より出力される、予測係数を画素ブロックＸを量子化する際に用いた量子化ステップでもって量子化することで得られる量子化係数との差分を計算し、その差分値を予測誤差として後段のマルチプレクサ（ＭＵＸ）３１１に出力する。なお、予測誤差生成部３１０は、画素ブロック内で同じ位置にある量子化係数同士の差分を計算する。
【００３４】
マルチプレクサ３１１は、量子化部３０２より出力される画素ブロックＸの量子化係数と、予測誤差生成部３１０より出力される上記予測誤差との何れかを選択して出力する。この選択は、処理対象となっている量子化係数がＤＣ成分のものである場合には、予測誤差生成部３１０より出力される予測誤差を選択するようにし、処理対象となっている量子化係数がＡＣ成分のものである場合には、ＡＣ成分予測を行なうか否かの判定のもとに、ＡＣ成分予測を行なうという判定がなされた場合には、予測誤差生成部３１０より出力される上記予測誤差を選択し、ＡＣ成分予測を行なわないという判定がなされた場合には、量子化部３０２より出力される画素ブロックＸの量子化係数を選択するようにする。
【００３５】
エントロピー符号化部３１２は、マルチプレクサ３１１からの出力をエントロピ符号化し、符号として出力する。
【特許文献１】特開２０００−７８５７９号公報
【発明の開示】
【発明が解決しようとする課題】
【００３６】
しかしながら以上説明した従来の構成では、比較選択部３０８に画素ブロックＡ、Ｂ、Ｃの逆量子化係数を入力するためには、バッファ３０３から出力される量子化係数を、夫々の画素ブロックに応じた量子化ステップでもって逆量子化を行わなければならず、そのため、各画素ブロック毎の逆量子化部３０５、３０６，３０７、及び画素ブロックＡ、Ｂ、Ｃの量子化ステップを格納しておくバッファ３０４が必要となっていた。
【００３７】
また、上記係数予測を含めた量子化処理を１クロック・サイクルで行いたくても、画素ブロックＡ、Ｂ、Ｃの量子化ステップをバッファ３０４から読み出し、読み出した量子化ステップを用いて画素ブロックＡ、Ｂ、Ｃの量子化係数を逆量子化し、というように、とても１クロック・サイクルで行うことはできなかった。また、夫々の画素ブロックについての量子化ステップ値を取り出す制御も複雑になる。
【００３８】
このように、従来の構成においてはハードウェア規模が大きく、制御も複雑になるという問題があった。
【００３９】
本発明は以上の問題に鑑みて成されたものであり、符号化処理を行う装置の規模をより小さくし、且つ符号化処理をより高速に行うことを目的とする。
【課題を解決するための手段】
【００４０】
本発明の目的を達成するために、例えば本発明の画像符号化方法は以下の構成を備える。
【００４１】
即ち、入力された画像を符号化する画像符号化方法であって、
符号化対象の画像を構成する画素ブロック毎に直交変換を施す直交変換工程と、
前記直交変換工程で直交変換された夫々の画素ブロックを、当該夫々の画素ブロックに応じた量子化ステップを用いて量子化する第１の量子化工程と、
前記第１の量子化工程で量子化された画素ブロックに対して、量子化時に用いた量子化ステップを用いて逆量子化を行い、当該逆量子化された前記画素ブロックのデータをメモリに出力する逆量子化工程と、
前記第１の量子化工程で量子化された注目画素ブロックを符号化するために用いる画素ブロックを前記注目画素ブロックの近傍から選択する選択工程と、
前記選択工程で選択された画素ブロックの、前記逆量子化工程で前記メモリに出力されたデータを前記注目ブロックの量子化時に用いた量子化ステップを用いて量子化する第２の量子化工程と、
前記第１の量子化工程で量子化された注目画素ブロックと、前記第２の量子化工程で量子化された画素ブロックとの差分を計算する差分計算工程と、
前記差分計算工程で計算した差分、もしくは前記第１の量子化工程で量子化された注目画素ブロックの量子化結果の何れかを選択して符号化する符号化工程と
を備えることを特徴とする。
【００４２】
本発明の目的を達成するために、例えば本発明の画像符号化装置は以下の構成を備える。
【００４３】
即ち、入力された画像を符号化する画像符号化装置であって、
符号化対象の画像を構成する画素ブロック毎に直交変換を施す直交変換手段と、
前記直交変換手段によって直交変換された夫々の画素ブロックを、当該夫々の画素ブロックに応じた量子化ステップを用いて量子化する第１の量子化手段と、
前記第１の量子化手段によって量子化された画素ブロックに対して、量子化時に用いた量子化ステップを用いて逆量子化を行い、当該逆量子化された前記画素ブロックのデータを、前記画像符号化装置が有するメモリに出力する逆量子化手段と、
前記第１の量子化手段によって量子化された注目画素ブロックを符号化するために用いる画素ブロックを前記注目画素ブロックの近傍から選択する選択手段と、
前記選択手段によって選択された画素ブロックの、前記逆量子化手段によって前記メモリに出力されたデータを前記注目ブロックの量子化時に用いた量子化ステップを用いて量子化する第２の量子化手段と、
前記第１の量子化手段によって量子化された注目画素ブロックと、前記第２の量子化手段によって量子化された画素ブロックとの差分を計算する差分計算手段と、
前記差分計算手段が計算した差分、もしくは前記第１の量子化手段によって量子化された注目画素ブロックの量子化結果の何れかを選択して符号化する符号化手段と
を備えることを特徴とする。
【発明の効果】
【００４４】
本発明の構成により、符号化処理を行う装置の規模をより小さくし、且つ符号化処理をより高速に行うことができる。
【発明を実施するための最良の形態】
【００４５】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００４６】
［第１の実施形態］
図１は、本実施形態に係る画像符号化装置の基本構成を示す図である。
【００４７】
１０１はＤＣＴ部で、ＤＣＴ部１０１には、符号化対象の画像が画素ブロック毎に入力される。従って、以降の符号化処理はこの画素ブロック毎に行われるものである。ＤＣＴ部１０１は、入力された画素ブロック毎にＤＣＴ処理（離散コサイン変換処理）を施し、ＤＣＴ係数を量子化部１０２に出力する。
【００４８】
尚、ＤＣＴ部１０１に入力される画像データは、動き補償を用いた画像間予測を行い、差分信号として入力されるものであってもよい。
【００４９】
量子化部１０２は、ＤＣＴ部１０１から出力されたＤＣＴ係数を、このＤＣＴ係数の画素ブロック内における位置に応じた量子化ステップ値でもって量子化し、量子化係数として出力する。従って、画素ブロック内の各ＤＣＴ係数は、その位置に応じた量子化ステップ値で量子化され、量子化係数として出力される。
【００５０】
逆量子化部１０３は、量子化部１０２より出力された量子化係数を、この量子化係数を得るために量子化部１０２が用いた量子化ステップを用いて、逆量子化し、これによる逆量子化係数（扱いとしてはＤＣＴ係数なのであるが、ＤＣＴ部１０１から出力されたＤＣＴ係数と同じものを復元したわけではないことに注意されたい）を後段のバッファ１０４に出力する。例えば、これから図２に示す画素ブロックＸを符号化しようとする場合、逆量子化部１０３は、量子化部１０２から出力された「画素ブロックＸの量子化係数」を、「画素ブロックＸを量子化する際に用いた量子化ステップ」を用いて逆量子化処理を行い、この処理による画素ブロックＸの逆量子化係数を後段のバッファ１０４に出力する。ここで、画素ブロックＸの量子化ステップについては、外部から入力されるものとする。
【００５１】
以降の説明では、これから符号化しようとする画素ブロックが、画素ブロックＸであるものとして説明するが、以降説明する処理を各画素ブロック毎に行うことで、これら画素ブロックが構成する画像を符号化することができる。
【００５２】
バッファ１０４は、逆量子化部１０３より出力された逆量子化係数の一部を格納するものである。ここでは、これから図２に示す画素ブロックＸを符号化しようとするので、バッファ１０４には、既に処理済みの画素ブロックＡ、Ｂ、Ｃに含まれる各逆量子化係数が、画素ブロックＸにおけるＤＣ成分、ＡＣ成分に対する予測係数値の候補として格納される。
【００５３】
比較選択部１０５は、バッファ１０４から出力された各画素ブロックの逆量子化係数を受け、上記（式１）に従って、画素ブロックＸにおけるＤＣ成分、ＡＣ成分に対する予測係数値を計算するために用いる画素ブロックを選択し、選択した方の画素ブロックの逆量子化係数を予測係数として後段の量子化部１０６に出力する。
【００５４】
量子化部１０６は、比較選択部１０５から出力された画素ブロック（ＡもしくはＣ）の逆量子化係数を、画素ブロックＸを量子化する際に用いた量子化ステップでもって量子化し、後段の予測誤差生成部１０７に出力する。
【００５５】
予測誤差生成部１０７は、量子化部１０２より出力される画素ブロックＸの量子化係数と、量子化部１０６より出力される、予測係数を画素ブロックＸを量子化する際に用いた量子化ステップでもって量子化することで得られる量子化係数との差分を、予測誤差として求める。
【００５６】
予測誤差生成部１０７が行う処理についてより詳細に説明する。予測誤差生成部１０７は、図３に示す予測誤差生成部３１０と同様にして、画素ブロックＸのＤＣ成分、ＡＣ成分についての予測誤差を求めるが、求めるために用いるものが若干異なる。
【００５７】
まず、画素ブロックＸのＤＣ成分についての予測誤差を求める処理について説明する。
【００５８】
量子化部１０６で量子化された画素ブロックのＤＣ成分（即ち画素ブロックＡもしくは画素ブロックＣのＤＣ成分）をＦＤ［０］［０］とおくと、画素ブロックＸのＤＣ成分についての予測誤差ＰＦＸ［０］［０］は以下のように求める。
【００５９】
PFX[0][0]=QFX[0][0]-FD[0][0]              （式５）
ここで、QFX[0][0]は画素ブロックＸの量子化されたＤＣ成分を表す。
【００６０】
次に、画素ブロックＸのＡＣ成分についての予測誤差を求める処理について説明する。
【００６１】
量子化部１０６で量子化された画素ブロックのＡＣ成分（即ち画素ブロックＡもしくは画素ブロックＣのＡＣ成分）をＦＤ［ｉ］［ｊ］（但し、ｉ、ｊ＞０）とおき、画素ブロックＸのＤＣ成分の予測係数値として、画素ブロックＡのＤＣ成分を用いた場合に（従って、ＦＤ［ｉ］［ｊ］（但し、ｉ、ｊ＞０）は画素ブロックＡのＡＣ成分）、画素ブロックＸのＡＣ成分に対する予測誤差PFX[0][i] (i=1 to 7)は、以下の式に従って求める。
【００６２】
PFX[0][i] = QFX[0][i] − FD[0][i]        （式６）
ここで、QFX[0][i]は画素ブロックＸの第１列目の量子化されたＡＣ成分、FD[0][i]は量子化部１０６による画素ブロックＡの第１列目のＡＣ成分を表す。またここで、変数ｉが０〜７までとしたのは、図２に示す列方向の要素数が８であるためである。
【００６３】
一方、画素ブロックＸのＤＣ成分の予測係数値として、画素ブロックＣのＤＣ成分を用いた場合に（従って、ＦＤ［ｉ］［ｊ］（但し、ｉ、ｊ＞０）は画素ブロックＣのＡＣ成分）、画素ブロックＸのＡＣ成分に対する予測誤差PFX[j][0] (j = 1 to 7)は、以下の式に従って求める。
【００６４】
PFX[j][0] = QFX[j][0] − FD[j][0]        （式７）
ここで、QFX[j][0]は画素ブロックＸの第１行目の量子化されたＡＣ成分、FD[j][0]は量子化部１０６による画素ブロックＣの第１行目の量子化されたＡＣ成分を表す。またここで、変数ｊが０〜７までとしたのは、図２に示す行方向の要素数が８であるためである。
【００６５】
以上の予測誤差生成部１０７が行う処理により、ＤＣ成分、ＡＣ成分の予測誤差ＰＦＸ［ｊ］［ｉ］（０≦ｉ≦７，０≦ｊ≦７）を生成することができる。以上のようにして求めたＤＣ成分、ＡＣ成分に対する予測誤差は、後段のマルチプレクサ（ＭＵＸ）１０８に出力する。
【００６６】
マルチプレクサ１０８は、量子化部１０２より出力される画素ブロックＸの量子化係数と、予測誤差生成部１０７より出力される上記予測誤差との何れかを選択して出力する。この選択は、処理対象となっている量子化係数がＤＣ成分のものである場合には、予測誤差生成部１０７より出力される予測誤差を選択するようにし、処理対象となっている量子化係数がＡＣ成分のものである場合には、ＡＣ成分予測を行なうか否かの判定のもとに、ＡＣ成分予測を行なうという判定がなされた場合には、予測誤差生成部１０７より出力される上記予測誤差を選択し、ＡＣ成分予測を行なわないという判定がなされた場合には、量子化部１０２より出力される画素ブロックＸの量子化係数を選択するようにする。
【００６７】
このＡＣ成分予測を行なうか否かの判定方法に関しては、例えば予測前のＡＣ成分の絶対値和と、予測誤差の絶対値和を比較し、予測前のＡＣ成分の絶対値和の方が小さい場合には、この予測を無効にするといった判定がなされるように実現されもよいし、また、ユーザが外部より一意に設定できるように実現されてもよい。
【００６８】
エントロピー符号化部１０９は、マルチプレクサ１０８からの出力をエントロピ符号化し、符号として出力する。
【００６９】
次に図１と図３とを用いて、以上の構成を有する本実施形態に係る画像符号化装置と図３を用いて説明した従来の画像符号化装置とを比較し、本実施形態に係る画像符号化装置について説明する。
【００７０】
従来の画像符号化装置では、図３に示すように、量子化部３０２で量子化した結果得られる量子化係数をバッファ３０３に出力するので、比較選択部３０８で画素ブロックＡ、Ｂ、Ｃの逆量子化係数が必要になった場合になって初めて逆量子化を行うことから、そのときまで各画素ブロックＡ、Ｂ、Ｃの量子化ステップのデータを保持するためのバッファ３０４は必須のものとなっていた。
【００７１】
また、この量子化ステップは、画素ブロック毎だけでなく、画素ブロック内の各ＤＣＴ係数の位置毎に設けられたものである。従って、複数の画素ブロックに対応する量子化ステップのデータを格納するためには、それ相応のサイズのバッファが必要となる。
【００７２】
また、バッファ３０４にこれら３つの画素ブロック毎の量子化ステップを格納していても、例えばこれから逆量子化部３０５で、画素ブロックＡの量子化係数を逆量子化する場合には当然、バッファ３０４に格納されている、画素ブロックＡの量子化ステップのデータを読み出して用いるのであるが、この画素ブロックＡの量子化ステップのデータが、バッファ３０４に格納されている各画素ブロック毎、画素ブロック内の各位置毎の量子化ステップのデータのうち、何れであるかの特定、及びその後の読み出しの制御処理は複雑なものになることは、容易に理解できる。
【００７３】
一方、本実施形態に係る画像符号化装置では、図１に示すように、量子化部１０２で量子化したものを、次の段階で逆量子化部１０３が逆量子化してバッファ１０４に出力する。このとき逆量子化部１０３が用いた量子化ステップのデータはその後必要が無くなるので、保存しておく必要はない。従って、本実施形態に係る画像符号化方法では、図３に示すバッファ３０４に相当するものは必要はない。これにより、図３に示す構成に比べてより小規模な装置を実現することができると共に、量子化ステップのデータの特定、読み出し処理に係る上記問題を回避することができる。
【００７４】
また、比較選択部１０５が、画素ブロックＸにおけるＤＣ成分、ＡＣ成分に対する予測係数値を画素ブロックＡ、Ｃの何れかから選択するために、画素ブロックＡ、Ｂ、Ｃの逆量子化係数のデータを要求する場合に、従来では、先ず逆量子化処理（当然この処理には、上記量子化ステップのデータを特定して読み出す処理も含まれる）を行っているが、本実施形態に係る画像符号化装置の構成では当然このような処理は必要はなく、バッファ１０４からそのまま各画素ブロックの逆量子化係数を読み出し、比較選択部１０５に出力するだけでよいので、予測係数を得るまでに係る処理時間、処理コストを従来のものに比べてより軽減させることができる。
【００７５】
また、本実施形態に係る画像符号化装置の構成では、上述の通り、量子化部１０２で量子化された各画素ブロックはその次の段階で逆量子化部１０３によって逆量子化されてバッファ１０４に格納するので、図３に示すように、画素ブロックＸにおけるＤＣ成分、ＡＣ成分に対する予測係数値を求めるために、画素ブロックＡ、Ｂ、Ｃに対応する逆量子化部３０５、３０６，３０７を設ける必要もないので、図３に示す構成に比べてより小規模な装置を実現することができる。
【００７６】
図４は、本実施形態に係る画像符号化装置が行う処理のフローチャートである。尚、各ステップにおける処理の詳細については上述の通りであるので、ここでは簡単に説明する。
【００７７】
先ず、ＤＣＴ部１０１は、入力された画素ブロック（画素ブロックＸ）のデータに対してＤＣＴを施し、ＤＣＴ係数を後段の量子化部１０２に出力する（ステップＳ４０１）。
【００７８】
量子化部１０２は、ＤＣＴ部１０１から出力されたＤＣＴ係数を、このＤＣＴ係数の画素ブロック内における位置に応じた量子化ステップ値でもって量子化し、量子化係数として後段の逆量子化部１０３に出力する（ステップＳ４０２）。
【００７９】
逆量子化部１０３は、量子化部１０２より出力された量子化係数を、この量子化係数を得るために量子化部１０２が用いた量子化ステップを用いて、逆量子化し、これによる逆量子化係数を後段のバッファ１０４に出力する（ステップＳ４０３）。
【００８０】
比較選択部１０５は、バッファ１０４から出力された各画素ブロックの逆量子化係数を受け、上記（式１）に従って、画素ブロックＸにおけるＤＣ成分、ＡＣ成分に対する予測係数値を計算するために用いる画素ブロックを選択し、選択した方の画素ブロックの逆量子化係数を予測係数として後段の量子化部１０６に出力する（ステップＳ４０４）。
【００８１】
量子化部１０６は、比較選択部１０５から出力された画素ブロック（ＡもしくはＣ）の逆量子化係数を、画素ブロックＸを量子化する際に用いた量子化ステップでもって量子化し、後段の予測誤差生成部１０７に出力する（ステップＳ４０５）。
【００８２】
予測誤差生成部１０７は、量子化部１０２より出力される画素ブロックＸの量子化係数と、量子化部１０６より出力される、予測係数を画素ブロックＸを量子化する際に用いた量子化ステップでもって量子化することで得られる量子化係数との差分を、予測誤差として求める（ステップＳ４０６）。
【００８３】
マルチプレクサ１０８は、量子化部１０２より出力される画素ブロックＸの量子化係数と、予測誤差生成部１０７より出力される上記予測誤差との何れかを選択して後段のエントロピ符号化部１０９に出力する（ステップＳ４０７）。
【００８４】
エントロピー符号化部１０９は、マルチプレクサ１０８からの出力をエントロピ符号化し、符号として出力する（ステップＳ４０８）。
【００８５】
そして以上のステップＳ４０１からステップＳ４０８までの処理が画像を形成する全ての画素ブロックについて行った否かを判断し（ステップＳ４０９）、行った場合には以上の処理を終了するが、まだ符号化していない画素ブロックがある場合には処理をステップＳ４０１に戻し、以降の処理を繰り返す。
【００８６】
以上の説明により、本実施形態に係る画像処理装置、方法によって、量子化ステップのデータを格納するためのバッファの省略、逆量子化部の数の軽減化を実現することができるので、画像符号化を行う装置の規模を従来のものよりも小さくすることができると共に、より高速に符号化処理を行うことができる。
【００８７】
［第２の実施形態］
図１に示した構成は第１の実施形態では、ハードウェアにより構成されるものとして説明したが、図１において、バッファを除く他の部分についてはソフトウェアで実現しても良く、その場合には、このようなソフトウェアのプログラム（即ち、図４に示したフローチャートに従ったプログラム）を一般のＰＣ（パーソナルコンピュータ）やＷＳ（ワークステーション）等のコンピュータに読み込ませ、このコンピュータのＣＰＵがこれを実行することで、このコンピュータは、第１の実施形態で説明した処理機能を有することになる。
【００８８】
このように、図１において、バッファを除く他の部分をソフトウェアで実現すれば、例えば図３において、バッファを除く他の部分をソフトウェアで実現した場合に比べても、ソフトウェアのプログラムのサイズをより小さなものにすることができると共に、コンピュータ上でこれらのプログラムを実行した場合に、使用するメモリのサイズをより小さくすることができる。
【００８９】
また、第１の実施形態では、符号化対象の画像のＤＣ成分、ＡＣ成分を得るためにＤＣＴを用いたが、これに限定されるものではなく、ＤＣ成分、ＡＣ成分が得られるようなものであればいかなる直交変換を用いても良い。
【００９０】
［その他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００９１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９２】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９３】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００９４】
【図１】本発明の第１の実施形態に係る画像符号化装置の基本構成を示す図である。
【図２】処理対象となる画素ブロックＸとその周辺の画素ブロックＡ、Ｂ、及びＣとの関係を示す図である。
【図３】従来の画像符号化装置の基本構成を示す図である。
【図４】本発明の第１の実施形態に係る画像符号化装置が行う処理のフローチャートである。
【図１】
2005123737.tif 000003
【図２】
2005123737.tif 000004
【図３】
2005123737.tif 000005
【図４】
2005123737.tif 000006