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