(57)【要約】    【課題】  符号化による画質の劣化やちらつきを防止することができる画像符号化装置を提供する。    【解決手段】  符号化処理が第１符号化手段と第２符号化手段とによって実行され、第１符号化手段の符号化結果に応じてフレーム毎の画質評価値を算出し、その画質評価値に応じて第１符号化手段の符号化に用いられた変換係数をマクロブロック毎に補正し、第２符号化手段ではその補正後の変換係数に応じて画像データを符号化して符号化画像データを生成する。【選択図】  図２
2006237709.tif 000002
【特許請求の範囲】
【請求項１】
フレーム毎に入力画像データの符号化タイプをイントラ符号化及びインター符号化のいずれか一方に設定する符号化タイプ設定手段と、
前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定手段によって設定された符号化タイプにてマクロブロック毎に前記画像データを符号化する第１符号化手段と、
前記第１符号化手段の符号化結果に応じてフレーム毎の画質評価値を算出する符号化情報取得手段と、
前記画質評価値に応じて前記第１符号化手段の符号化の変換係数をマクロブロック毎に補正する変換係数補正手段と、
前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定手段によって設定された符号化タイプにてマクロブロック毎に前記変換係数補正手段による補正後の変換係数に応じて前記画像データを符号化して符号化画像データを生成する第２符号化手段と、を備えたことを特徴とする画像符号化装置。
【請求項２】
前記第１符号化手段は、フレーム毎の前記画像データが示す画像の複雑度に応じて前記変換係数としての量子化係数をマクロブロック毎に設定する第１量子化係数設定手段と、
マクロブロック毎に前記量子化係数に応じて前記画像データを量子化する第１量子化手段と、を有し、
前記変換係数補正手段は、前記前記符号化タイプ設定手段によってイントラ符号化に設定されたフレームとその前後のフレームとの画質評価値の差が減少するように前記イントラ符号化に設定されたフレーム又は前記前後のフレームの各マクロブロックの前記量子化係数を補正し、
前記第２符号化手段は、マクロブロック毎に前記変換係数補正手段による補正後の量子化係数に応じて前記画像データを量子化する第２量子化手段を有することを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記変換係数補正手段は、前記前記符号化タイプ設定手段によってイントラ符号化に設定されたフレームの画質評価値とその前後のフレームとの画質評価値の差が第１所定値以上であるとき前記イントラ符号化に設定されたフレームの各マクロブロックの前記量子化係数を１だけ増加させ、前記前記符号化タイプ設定手段によってインター符号化に設定されたフレームの画質評価値とその前後のイントラ符号化のフレームとの画質評価値の差が第２所定値より小であるとき前記インター符号化に設定されたフレームの各マクロブロックの前記量子化係数を１だけ減少させることを特徴とする請求項２記載の画像符号化装置。
【請求項４】
前記符号化情報取得手段は前記画質評価値としてＰＳＮＲ(Peak Signal to Noise Ratio)を算出することを特徴とする請求項１記載の画像符号化装置。
【請求項５】
前記符号化タイプ設定手段は、所定のフレーム数間隔で前記入力画像データの符号化タイプをイントラ符号化に設定し、それ以外のフレームではインター符号化に設定することを特徴とする請求項１記載の画像符号化装置。
【請求項６】
フレーム毎に入力画像データの符号化タイプをイントラ符号化及びインター符号化のいずれか一方に設定する符号化タイプ設定行程と、
前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定行程において設定された符号化タイプにてマクロブロック毎に前記画像データを符号化する第１符号化行程と、
前記第１符号化行程の符号化結果に応じてフレーム毎の画質評価値を算出する符号化情報取得行程と、
前記画質評価値に応じて前記第１符号化行程の符号化の変換係数をマクロブロック毎に補正する変換係数補正行程と、
前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定行程において設定された符号化タイプにてマクロブロック毎に前記変換係数補正行程による補正後の変換係数に応じて前記画像データを符号化して符号化画像データを生成する第２符号化行程と、を備えたことを特徴とする画像符号化方法。
【請求項７】
画像符号化方法を実行するコンピュータ読取可能なプログラムであって、
フレーム毎に入力画像データの符号化タイプをイントラ符号化及びインター符号化のいずれか一方に設定する符号化タイプ設定行程と、
前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定行程において設定された符号化タイプにてマクロブロック毎に前記画像データを符号化する第１符号化行程と、
前記第１符号化行程の符号化結果に応じてフレーム毎の画質評価値を算出する符号化情報取得行程と、
前記画質評価値に応じて前記第１符号化行程の符号化の変換係数をマクロブロック毎に補正する変換係数補正行程と、
前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定行程において設定された符号化タイプにてマクロブロック毎に前記変換係数補正行程による補正後の変換係数に応じて前記画像データを符号化して符号化画像データを生成する第２符号化行程と、を備えたことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データをフレーム毎に符号化する画像符号化装置及び方法に関する。
【背景技術】
【０００２】
画像データをフレーム毎に圧縮する画像符号化としてインター符号化とイントラ符号化とがあることは既に良く知られている。インター符号化及びイントラ符号化のいずれにおいてもフレーム毎に複数のマクロブロックに分割してマクロブロック毎に画像データは符号化される。インター符号化では、それ以前のフレームとを参照して動き補償して予測画像データを作成し、今回の画像データと予測画像データとの差を予測誤差データとして得て、予測誤差データを符号化することが行われる。一方、イントラ符号化では動き補償を行わず、そのフレームの画像データのみを用いて符号化が行われる（特許文献１参照）。
【０００３】
イントラ符号化は例えば、所定のフレーム数間隔で、或いはシーンチェンジのようにフレーム間の差分が大なるときに行われ、その他のフレームについてはインター符号化が行われる。
【特許文献１】特開平１１−１９６４２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、イントラ符号化では直前までのフレームの画像データを全く考慮することなく符号化画像データが作成されるので、イントラ符号化の画像データとそれまでの符号化画像データとの間の相関性が失われる。よって、シーンチェンジではないフレームでイントラ符号化を行うと、画質の劣化やちらつきが生じるという欠点があった。
【０００５】
本発明が解決しようとする課題には、上記の欠点が一例として挙げられ、符号化による画質の劣化やちらつきを防止することができる画像符号化装置及び方法並びにその方法を実行するコンピュータ読取可能なプログラムを提供することが本発明の目的である。
【課題を解決するための手段】
【０００６】
請求項１に係る発明の画像符号化装置は、フレーム毎に入力画像データの符号化タイプをイントラ符号化及びインター符号化のいずれか一方に設定する符号化タイプ設定手段と、前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定手段によって設定された符号化タイプにてマクロブロック毎に前記画像データを符号化する第１符号化手段と、前記第１符号化手段の符号化結果に応じてフレーム毎の画質評価値を算出する符号化情報取得手段と、前記画質評価値に応じて前記第１符号化手段の符号化に用いられた変換係数をマクロブロック毎に補正する変換係数補正手段と、前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定手段によって設定された符号化タイプにてマクロブロック毎に前記変換係数補正手段による補正後の変換係数に応じて前記画像データを符号化して符号化画像データを生成する第２符号化手段と、を備えたことを特徴としている。
【０００７】
請求項６に係る発明の画像符号化方法は、フレーム毎に入力画像データの符号化タイプをイントラ符号化及びインター符号化のいずれか一方に設定する符号化タイプ設定行程と、前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定行程において設定された符号化タイプにてマクロブロック毎に前記画像データを符号化する第１符号化行程と、前記第１符号化行程の符号化結果に応じてフレーム毎の画質評価値を算出する符号化情報取得行程と、前記画質評価値に応じて前記第１符号化行程の符号化に用いられた変換係数をマクロブロック毎に補正する変換係数補正行程と、前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定行程において設定された符号化タイプにてマクロブロック毎に前記変換係数補正行程による補正後の変換係数に応じて前記画像データを符号化して符号化画像データを生成する第２符号化行程と、を備えたことを特徴としている。
【０００８】
請求項７に係る発明のプログラムは、画像符号化方法を実行するコンピュータ読取可能なプログラムであって、フレーム毎に入力画像データの符号化タイプをイントラ符号化及びインター符号化のいずれか一方に設定する符号化タイプ設定行程と、前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定行程において設定された符号化タイプにてマクロブロック毎に前記画像データを符号化する第１符号化行程と、前記第１符号化行程の符号化結果に応じてフレーム毎の画質評価値を算出する符号化情報取得行程と、前記画質評価値に応じて前記第１符号化行程の符号化に用いられた変換係数をマクロブロック毎に補正する変換係数補正行程と、前記画像データをフレーム毎に複数のマクロブロックに分割し、前記符号化タイプ設定行程において設定された符号化タイプにてマクロブロック毎に前記変換係数補正行程による補正後の変換係数に応じて前記画像データを符号化して符号化画像データを生成する第２符号化行程と、を備えたことを特徴としている。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
【００１０】
図１は、本発明による画像符号化装置の構成を示すブロック図である。
【００１１】
図１に示す画像符号化装置は、演算器１、ＤＣＴ変換器２、量子化器３、可変長符号化器４、バッファ５、逆量子化器６、逆ＤＣＴ変換器７、演算器８、フレームメモリ９、動き補償器１０、動きベクトル検出器１１、ピクチャタイプ検出器１２、コントローラ１３からなる。
【００１２】
演算器１は、入力された画像データからマクロブロック毎に、動き補償器１０により動き補償された予測画像データを減算し、その差分データをＤＣＴ変換器２に出力する。マクロブロックとは画像データを１６画素×１６画素に分割して得られた各ブロックである。なお、入力画像データのマクロブロック化の処理ブロックは図１には示していない。ＤＣＴ変換器２は演算器１の出力データを２次元離散コサイン変換を行う。量子化器３は、ＤＣＴ変換後の画像データを量子化し、可変長符号化器４及び逆量子化器６に出力する。可変長符号化器４は、量子化器３から供給された量子化データと、動きベクトル検出器１１から供給された動きベクトルを可変長符号化し、バッファ５に出力する。バッファ５は、可変長符号化器４から供給された可変長データを保持しつつ所定の伝送路に出力する。
【００１３】
逆量子化器６は、量子化器３より入力された量子化データを逆量子化し、逆ＤＣＴ変換器７に出力する。逆ＤＣＴ変換器７は逆量子化後のデータを逆ＤＣＴ変換して演算器８に供給する。演算器８は、動き補償器１０により動き補償された予測画像データと逆ＤＣＴ変換器７より入力された誤差分データとを加算して元の画像データに変換し、その変換した画像データをフレームメモリ９に供給して記憶させる。
【００１４】
動きベクトル検出器１１は、フレームメモリ９から読み出された画像データを参照して入力された画像データの動きベクトルを検出し、その動きベクトルを可変長符号化器４及び動き補償器１０に出力する。動き補償器１０は、フレームメモリ９から読み出された画像データを、動きベクトルに対応して動き補償して予測画像データを生成する。
【００１５】
ピクチャタイプ検出器１２は、入力された画像データの複雑度に対応するパラメータを検出し、コントローラ１３に出力する。具体的には、入力されたフレームの画像データをイントラピクチャ（Ｉピクチャ）、インターピクチャ（Ｐピクチャ）及びバイディレクショナルピクチャ（Ｂピクチャ）のいずれか１のピクチャとしての符号化を指示する。例えば、Ｉピクチャの発生から次のＩピクチャの発生までの間隔を０．５秒（１５フレーム）とした場合には、ＩＢＢＰＢＢＰＢＢＰＢＢＰＢＢの順で符号化のピクチャタイプが設定されるので、そのピクチャタイプに従って各フレームのイントラ符号化又はインター符号化が設定される。
【００１６】
コントローラ１３は、画像符号化装置全体を制御すると共にピクチャタイプ検出器１２からの複雑度に関するデータに応じて量子化器３の量子化係数を指示する。
【００１７】
次に、かかる構成の画像符号化装置による画像符号化動作について図２〜図４のフローチャートを参照しつつ説明する。なお、図２〜図５のフローチャートにおいて太い矢印線はデータの流れを示し、細い矢印線は処理や要求の流れである。
【００１８】
図２及び図３は画像符号化装置による画像符号化動作の概略を示している。先ず、ｍフレーム分の画像が入力される場合に、そのフレーム番号ｋが０とされ（ステップＳ１）、フレームｋの画像データがピクチャタイプ検出器１２並びに後述の基本符号化処理のマクロブロック化部及びＰＳＮＲ計算部に供給される。
【００１９】
ピクチャタイプ検出器１２は、供給されたフレームｋの符号化タイプを上記した順に従って設定し、フレームｋの画像データが示す画像の複雑度を検出し、その複雑度の情報をコントローラ１３に通知する（ステップＳ２）。図示していないが、複雑度の情報と共に符号化タイプもコントローラ１３に供給される。ステップＳ２の実行後、フレームｋの画像データについて基本符号化処理が実行される（ステップＳ３）。
【００２０】
基本符号化処理においては、図４に示すように、供給されたフレームｋの画像データが示す画像が１６画素×１６画素からなるマクロブロックｎ個に分割され（ステップＳ１０１）、カウンタ値ｉが０とされる（ステップＳ１０２）。そして、マクロブロックｉについての量子化係数が設定される（ステップＳ１０３）。ステップＳ１０３では、コントローラ１３に対してマクロブロックｉの量子化係数が要求される。
【００２１】
コントローラ１３はその量子化係数の要求に対してピクチャタイプ検出器１２から供給されたフレームｋの複雑度の情報に応じたマクロブロックｉの量子化係数を指示する（ステップＳ４）。指示したマクロブロックｉの量子化係数は符号化情報として内部メモリ（図示せず）に保存される。内部メモリには、符号化情報として、フレーム毎の符号化タイプ及びＰＳＮＲ、並びに各フレームのマクロブロック毎の量子化係数が書き込まれるようになっている。
【００２２】
マクロブロックｉについての量子化係数が設定されると、フレームｋはイントラ符号化のピクチャであるか否かが判別される（ステップＳ１０４）。イントラ符号化のピクチャでない場合、すなわちインター符号化のピクチャである場合には、動きベクトル検出器１１はフレームメモリ９に記憶された画像データを読み出してそれを参照画像してマクロブロックｉの動きベクトルを検出し（ステップＳ１０５）、フレームメモリ９に記憶された画像データを読み出して動き補償が行われて予測画像データが出力される（ステップＳ１０６）。予測画像データは演算器１，８に供給され、演算器１はマクロブロックｉの画像データと予測画像データとの差分データ（予測誤差）をＤＣＴ変換器２に供給する。ＤＣＴ変換器２は差分データをＤＣＴ変換してその変換後のデータを量子化器３に供給し（ステップＳ１０７）、量子化器３は設定された量子化係数に応じて供給されたデータを量子化し、量子化データを可変長符号化器４及び逆量子化器６に供給する（ステップＳ１０８）。
【００２３】
ステップＳ１０４において、イントラ符号化のピクチャであると判別された場合には、ステップＳ１０５及びＳ１０６を実行することなくマクロブロックｉの画像データは演算器１を介してＤＣＴ変換器２に供給される。よって、ステップＳ１０７では差分データではなくマクロブロックｉの画像データがＤＣＴ変換され、ステップＳ１０８ではそのＤＣＴ変換後の画像データが量子化される。
【００２４】
逆量子化器６は量子化器３から供給された量子化データを設定された量子化係数に応じて逆量子化し（ステップＳ１０９）、逆ＤＣＴ変換器７は逆量子化されたデータを更に逆ＤＣＴ変換して演算器８に供給する（ステップＳ１１０）。演算器８には逆ＤＣＴ変換の結果のデータと共に動き補償器１０から予測画像データが供給される。演算器８はそれらのデータを加算してマクロブロック毎の画像データを復号する。この復号画像データは後述のステップＳ１１４でフレーム単位でフレームメモリ９に保存され、次フレームの画像データの符号化の参照画像として用いられる。
【００２５】
可変長符号化器４は量子化器３から供給された量子化データと、動きベクトル検出器１１から供給された動きベクトルとを可変長符号化し、バッファ５に出力する（ステップＳ１１１）。バッファ５は、可変長符号化器４から供給された可変長データを符号化画像データとして保持する。
【００２６】
以上のステップＳ１０３〜Ｓ１１１を処理する毎にカウンタ値ｉが１だけ加算される（ステップＳ１１２）。そして、そのカウンタ値ｉが１フレームのマクロブロックの数ｎより小であるか否かが判別される（ステップＳ１１３）。ｉ＜ｎならば、ステップＳ１０３に戻って次のマクロブロックｉについての符号化処理が行われる。ｉ≧ｎならば、フレームｋの基本符号化処理が終了したので、フレームｋの復号画像データがフレームメモリ９に保存される（ステップＳ１１４）。
【００２７】
基本符号化処理の終了後、画像の画質評価値としてフレームｋのＰＳＮＲ(Peak Signal to Noise Ratio)が計算される（ステップＳ５）。ＰＳＮＲは次式を用いて計算される。
【００２８】
【数１】
2006237709.tif 000003
【００２９】
ここで、Ｗは画像の幅、Ｈは画像の高さ、ｆ(x,y)は符号化前のフレームｋの画素値、ｆ'(x,y)は復号したフレームｋの画素値である。
【００３０】
ステップＳ５で計算されたフレームｋのＰＳＮＲは符号化情報として保存される。その後、ｍフレームの符号化が終了したか否かが判別される（ステップＳ６）。ｋ＜ｍならば、フレーム番号ｋに１が加算され（ステップＳ７）、ステップＳ２に戻って次のフレームｋについて符号化処理が実行される。ｋ≧ｍならば、ｍフレーム分の１回目の符号化処理が終了したので、２回目の符号化処理に移行するためにコントローラ１３によってＰＳＮＲ利用による量子化係数変更処理が行われる（ステップＳ８）。
【００３１】
量子化係数変更処理においては、図５に示すように、フレーム番号ｋが０とされ（ステップＳ２０１）、フレームｋの画像データは１回目の符号化処理ではイントラ符号化されたか否かが判別される（ステップＳ２０２）。イントラ符号化されたならば、フレームｋのＰＳＮＲ（ＰＳＮＲkと表す）とフレームｋ±１のいずれかのＰＳＮＲ（ＰＳＮＲk+1又はＰＳＮＲk-1）との差が２ｄＢ以上あるか否かが判別される（ステップＳ２０３）。ＰＳＮＲk−ＰＳＮＲk+1≧２ｄＢ又はＰＳＮＲk−ＰＳＮＲk-1≧２ｄＢの場合には、フレームｋのマクロブロック各々の量子化係数が内部メモリから読み出されて各々＋１される（ステップＳ２０４）。ＰＳＮＲk−ＰＳＮＲk+1＜２ｄＢかつＰＳＮＲk−ＰＳＮＲk-1＜２ｄＢの場合には、フレームｋの各マクロブロックの量子化係数が維持される。
【００３２】
ステップＳ２０２において、フレームｋの画像データの符号化がイントラ符号化ではなくインター符号化であると判別されたならば、１回目の符号化処理でフレームｋ±３にイントラ符号化されたピクチャが存在するか否かが判別される（ステップＳ２０５）。フレームｋ±３にイントラ符号化されたピクチャが存在するならば、イントラ符号化されたフレームのＰＳＮＲ（ＰＳＮＲintraと表す）とフレームｋのＰＳＮＲkとの差が３ｄＢ以上であるか否かが判別される（ステップＳ２０６）。ＰＳＮＲintra−ＰＳＮＲk≧３ｄＢの場合には、フレームｋのマクロブロック各々の量子化係数が内部メモリから読み出されて各々−１される（ステップＳ２０７）。フレームｋ±３にイントラ符号化されたピクチャが存在しない場合、又はＰＳＮＲintra−ＰＳＮＲk＜３ｄＢの場合には、フレームｋの各マクロブロックの量子化係数が維持される。
【００３３】
ステップＳ２０４又はＳ２０７においてフレームｋの各マクロブロックの量子化係数の補正計算が行われた場合にはその結果が上記の内部メモリに上書き保存される（ステップＳ２０８）。次いで、フレーム番号ｋに１が加算され（ステップＳ２０９）、フレーム番号ｋがｍより小であるか否かが判別される（ステップＳ２１０）。ｋ＜ｍならば、全てのフレームについての量子化係数変更処理が終了していないので、ステップＳ２０２に戻って新たなフレーム番号ｋについて上記の動作が繰り返される。
【００３４】
ｋ≧ｍならば、全てのフレームについての量子化係数変更処理が終了したので、フレーム番号ｋが０とされる（ステップＳ９）。フレームｋの画像データが後述のＳ１１の基本符号化処理のマクロブロック化部に供給される。
【００３５】
コントローラ１３は、供給されたフレームｋの符号化タイプを内部メモリから読み出し（ステップＳ１０）、フレームｋの画像データについて基本符号化処理を制御する（ステップＳ１１）。
【００３６】
ステップＳ１１の基本符号化処理は図４に具体的に示したステップＳ３の基本符号化処理と同一の処理である。ステップＳ１１の基本符号化処理のステップＳ１０３においては、マクロブロックｉの量子化係数を設定する際に、コントローラ１３に対してマクロブロックｉの量子化係数が要求される。この要求に応答してコントローラ１３はフレームｋのマクロブロックｉの量子化係数を内部メモリから読み出して指示する（ステップＳ１２）。すなわち、２回目の符号化では、コントローラ１３によって内部メモリから読み出されたマクロブロックｉの量子化係数が量子化器３のために設定される。よって、ステップＳ１０８では量子化器３は内部メモリから読み出された量子化係数に応じてＤＣＴ変換器２の出力データを量子化する。量子化器３から供給された量子化データは、可変長符号化器４によって動きベクトル検出器１１から供給された動きベクトルと共に可変長符号化された後に、バッファ５を介して符号化画像データとして出力される。
【００３７】
ステップＳ１１の基本符号化処理が終了すると、ｍフレームの符号化が終了したか否かが判別される（ステップＳ１３）。ｋ＜ｍならば、フレーム番号ｋに１が加算され（ステップＳ１４）、ステップＳ１０に戻って次のフレームｋについて２回目の符号化処理が実行される。ｋ≧ｍならば、ｍフレーム分の２回目の符号化処理が終了したので、ｍフレーム分の符号化画像データが得られる。
【００３８】
このように、かかる画像符号化装置による画像符号化動作においては、符号化処理が２回実行される。すなわち、第１符号化手段と第２符号化手段とによって実行される。１回目の符号化処理結果に基づいて計算されたＰＳＮＲはフレーム０〜ｍ−１について例えば、図６に示すように、変化したとする。シーンチェンジではないフレームでのイントラ符号化ではそれまでのインター符号化のフレームとの相関性が維持されてないので、図６に示すようにそのフレーム部分でＰＳＮＲの値を大きくしてしまう。２回目の符号化処理では先ず、ＰＳＮＲを利用して量子化係数変更処理が行われる。１回目の符号化処理でイントラ符号化されたフレームのうちの、ＰＳＮＲの値がそのイントラ符号化フレーム前後のフレームｋ＋１又はｋ−１のＰＳＮＲの値より２ｄＢ以上のフレームｋでは、２回目の符号化処理での量子化を粗くするために量子化係数が１だけ増大される。１回目の符号化処理でインター符号化されたフレームのうちの、ＰＳＮＲの値がそのインター符号化フレーム前後のイントラ符号化フレームｋ＋３又はｋ−３のＰＳＮＲの値より３ｄＢ以下のフレームｋでは、２回目の符号化処理での量子化を細かくするために量子化係数が１だけ減少される。
【００３９】
量子化係数変更処理で量子化係数が補正されるので、２回目の符号化処理ではイントラ符号化すべきフレームとその直前までのフレームとの間の相関性を失うことなく画像データの符号化が行われる。その結果、２回目の符号化処理結果に基づいてＰＳＮＲはフレーム０〜ｍ−１について例えば、図７に示すようになり、イントラ符号化フレーム部分でのＰＳＮＲの変化を抑えることができる。
【００４０】
なお、上記した実施例においては、ステップＳ２０３でイントラ符号化のフレームｋのＰＳＮＲkとフレームｋ±１のＰＳＮＲk+1又はＰＳＮＲk-1との差が２ｄＢ以上あるか否かを判別しているが、イントラ符号化のフレームｋに対してフレームｋ±２のＰＳＮＲk+2又はＰＳＮＲk-2を用いても良い。また、ステップＳ２０５でフレームｋ±３がイントラ符号化されたか否かを判別しているが、フレームｋに対してフレームｋ±３に限定する必要はなく、フレームｋ±２或いはフレームｋ±４であっても良い。
【００４１】
また、上記した実施例においては、符号化手段の符号化に用いられる変換係数として量子化係数を示し、画質評価値としてＰＳＮＲを示したが、これらに限定されない。
【００４２】
更に、上記した画像符号化装置による符号化動作と同様の動作を実行するコンピュータプログラムとして提供することができる。
【００４３】
以上の如く、本発明によれば、第１符号化手段の符号化結果に応じてフレーム毎の画質評価値を算出し、その画質評価値に応じて第１符号化手段の符号化に用いられた変換係数をマクロブロック毎に補正し、第２符号化手段ではその補正後の変換係数に応じて画像データを符号化して符号化画像データを生成するので、イントラ符号化すべきフレームとその直前のフレームとの間の相関を維持することができる。この結果、符号化による画質の劣化やちらつきを防止することができる。
【００４４】
本発明はＭＰＥＧ及びＨ.２６４等の画像データの符号化方式において適用することができる。
【図面の簡単な説明】
【００４５】
【図１】本発明による画像符号化装置の構成を示すブロック図である。
【図２】図１の装置の符号化動作を示すフローチャートである。
【図３】図２の符号化動作の続き部分を示すフローチャートである。
【図４】図２及び図３の符号化動作中の基本符号化処理を具体的に示すフローチャートである。
【図５】図３の符号化動作中の量子化係数変更処理を具体的に示すフローチャートである。
【図６】１回目の符号化処理結果に基づいて計算されたフレーム−ＰＳＮＲ特性である。
【図７】２回目の符号化処理結果に基づいて計算されたフレーム−ＰＳＮＲ特性である。
【符号の説明】
【００４６】
２  ＤＣＴ変換器
３  量子化器
４  可変長符号化器
６  逆量子化器
７  逆ＤＣＴ変換器
９  フレームメモリ
１０  動き補償器
１１  動きベクトル検出器
１２  ピクチャタイプ検出器
１３  コントローラ
【図１】
2006237709.tif 000004
【図２】
2006237709.tif 000005
【図３】
2006237709.tif 000006
【図４】
2006237709.tif 000007
【図５】
2006237709.tif 000008
【図６】
2006237709.tif 000009
【図７】
2006237709.tif 000010