(57)【特許請求の範囲】
【請求項１】
画像データを符号化する符号化装置において、
上記画像データを解析して、画像データの統計情報を取得する取得手段と、
上記画像データの統計情報から視覚特性に応じた符号量が配分されるように定められた所定の関係を用いて求められた変換係数と、上記画像データを符号化することによって得られる発生符号量とに基づいて、上記画像データを符号化する際の符号化難易度を上記発生符号量に上記変換係数を乗算することにより算出する符号化難易度算出手段と、
上記画像データを所定時間だけ遅延させる遅延手段と、
記憶媒体のデータ容量又は伝送路の転送レートにより定まる使用可能なデータ総容量と上記符号化難易度算出手段により算出された符号化難易度とに基づいて、上記遅延手段により遅延された画像データを符号化する際に割り当てる割当符号量を算出する割当符号量算出手段と、
上記割当符号量算出手段より算出された割当符号量に従って、上記遅延手段により遅延された画像データを符号化する符号化手段と
を有する符号化装置。
【請求項２】
上記割当符号量算出手段は、ピクチャ単位又はマクロブロック単位で上記割当符号量を算出する請求項１記載の符号化装置。
【請求項３】
上記遅延手段は、ＧＯＰ単位で上記画像データを遅延させる請求項１又は２項記載の符号化装置。
【請求項４】
画像データを符号化する符号化方法において、
上記画像データを解析して、画像データの統計情報を取得する取得工程と、
上記画像データの統計情報から視覚特性に応じた符号量が配分されるように定められた所定の関係を用いて求められた変換係数と、上記画像データを符号化することによって得られる発生符号量とに基づいて、上記画像データを符号化する際の符号化難易度を上記発生符号量に上記変換係数を乗算することにより算出する符号化難易度算出工程と、
上記画像データを所定時間だけ遅延させる遅延工程と、
記憶媒体のデータ容量又は伝送路の転送レートにより定まる使用可能なデータ総容量と上記符号化難易度算出手段により算出された符号化難易度とに基づいて、上記遅延工程により遅延された画像データを符号化する際に割り当てる割当符号量を算出する割当符号量算出工程と、
上記割当符号量算出工程により算出された割当符号量に従って、上記遅延工程により遅延された画像データを符号化する符号化工程と
を有する符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置及び方法に関し、特に、光ディスク、磁気ディスク、磁気テープ等の記録媒体に動画の映像信号等を蓄積用符号化して記録するシステムや、伝送路を介して動画の映像信号等を伝送するシステム等において使用される符号化装置及び方法に関するものである。
【背景技術】
【０００２】
従来、例えばテレビ会議システム、テレビ電話システム等のように動画の映像信号を遠隔地に伝送するシステムや、動画の映像信号を光ディスク、磁気ディスク、磁気テープ等の画像記録媒体に記録し、また記録された動画の映像信号を再生するシステム等において、伝送路（あるいは画像記録媒体）を効率良く利用するために、映像信号の有するライン相関やフレーム相関を利用して映像信号を所謂高能率符号化し、空間軸方向と時間軸方向の冗長度を落として有意情報のみを伝送し、伝送効率を高めるようになされている。
【０００３】
例えば空間軸方向の符号化処理（以下フレーム内符号化処理という）では、映像信号の例えばライン相関を利用するもので、図１９のＡに示す時刻ｔ１  、ｔ２  、ｔ３  、・・・において動画を構成する各画像ＰＣ１、ＰＣ２、ＰＣ３・・・を伝送しようとする場合、伝送処理すべき画像データを、例えば同一走査線内で１次元符号化したり、例えば画像を複数のブロックに分割し、各ブロックの画像データを２次元符号化することにより、データ圧縮を行い、伝送効率を向上させている。
【０００４】
また、時間軸方向の符号化処理（以下フレーム間符号化処理という）では、映像信号のフレーム間相関を利用して例えば所謂予測符号化により、すなわち図１９のＢに示すように、順次隣合う画像ＰＣ１及びＰＣ２、ＰＣ２及びＰＣ３・・・間の対応する画素毎の画像データの差分（所謂予測誤差）でなる画像データＰＣ１２、ＰＣ２３・・・を求め、これらの画像データＰＣ１２、ＰＣ２３・・・を伝送することにより、データ圧縮を行い、伝送効率を向上させている。
【０００５】
かくして、画像ＰＣ１、ＰＣ２、ＰＣ３・・・の全ての画像データを伝送する場合と比較して、格段に少ないデータ量で映像信号を伝送することができる。
【０００６】
また、上述のフレーム間符号化処理における予測符号化では、さらに効率を高めるために、例えばマクロブロック単位で動き補償予測が用いられる。すなわち、例えば画面中央の人物が移動する場合等、画面中の動いている物体に対してその動きを検出し、その動き分だけ前の画像中で予測に用いる画像データの位置を補正して予測符号化を行うことにより、符号化効率を向上させることができる。しかし、これでもまだ、物体が移動して後ろから出現した部分に対しては、多くのデータを送らなけらばならない。そこで、動き補償予測を上述の前方だけではなく、後方あるいは両者を組み合わせて行うことにより、さらに符号化効率を高めることができる。
【０００７】
具体的には、図２０のＡに示すように、伝送しようとする動画の映像信号ＶＤの第０、第１、第２、第３・・・番目のフレームのフレームデータＦ０、Ｆ１、Ｆ２、Ｆ３・・・のマクロブロックにおいて、順次フレーム間に動きベクトルＸ０、Ｘ１、Ｘ２、Ｘ３・・・でそれぞれ表わされるような画像の変化があった場合、送信側の装置は、所定フレーム数（例えば１フレーム）置きの、すなわち第２、第４・・・番目のフレームを補間フレームに指定し、これらの補間フレームに対して、図２０のＢに示すように、所定の補間フレーム処理により伝送補間フレームデータＦ２Ｘ、Ｆ４Ｘ・・・を生成する。また、残りの非補間フレームに対して、フレームデータＦ１、Ｆ３・・・に所定の符号化処理を施して、伝送非補間フレームデータＦ１Ｘ、Ｆ３Ｘ・・・を生成する。
【０００８】
例えば、動き補償されたフレームデータＦ３とフレームデータＦ２の差分ＳＰ２（予測誤差）、動き補償されたフレームデータＦ１とフレームデータＦ２の差分ＳＰ３、動き補償されたフレームデータＦ１、Ｆ３を補間処理して得られるフレームデータとフレームデータＦ２の差分ＳＰ４をマクロブロック単位でそれぞれ求め、フレームデータＦ２のマクロブロックＳＰ１とこれらの差分の比較を行う。そして、これらのデータＳＰ１〜ＳＰ４のうちでデータ発生量が最小のデータをマクロブロック単位で伝送補間データＦ２Ｘとし、以下同様して各補間フレームに対する伝送補間データＦ４Ｘ・・・を生成する。また、非補間フレームのフレームデータＦ１、Ｆ３・・・にそれぞれ、例えばＤＣＴ変換処理、可変長符号化処理等を施して伝送非補間フレームデータＦ１Ｘ、Ｆ３Ｘ・・・を生成する。
【０００９】
そして、これらの伝送非補間フレームデータＦ１Ｘ、Ｆ３Ｘ・・・及び伝送補間データＦ２Ｘ、Ｆ４Ｘ・・・を、動きベクトルＸ０, Ｘ１, Ｘ３・・・のデータと共に、伝送データDATAとして受信側の装置に伝送する。
【００１０】
一方、受信側の装置は、送られてくる伝送データDATA（伝送非補間フレームデータＦ１Ｘ、Ｆ３Ｘ・・・、伝送補間データＦ２Ｘ、Ｆ４Ｘ・・・、動きベクトルＸ０, Ｘ１, Ｘ３・・・のデータ）に、送信側の符号化処理に対応した復号化処理を施して、フレームデータＦ０、Ｆ１、Ｆ２、Ｆ３・・・を再生する。この結果、動き補償予測を前方だけではなく、後方あるいは両者を組み合わせて行うことにより、さらに符号化効率を高めることができる。
【００１１】
ここで、上述の機能を有する画像符号化装置と画像復号化装置について、図２１を参照しながら説明する。
【００１２】
この図２１に示す画像符号化装置７０は、入力映像信号ＶＤを輝度信号と色差信号に分離する前処理回路７１と、該前処理回路７１からの輝度信号、色差信号をそれぞれディジタル信号に変換するアナログ／ディジタル（以下Ａ／Ｄという）変換回路７２ａ、７２ｂと、該Ａ／Ｄ変換回路７２ａ、７２ｂからの輝度データ、色差データ（以下これらを画像データという）を記憶するフレームメモリ群７３と、フレームメモリ群７３から画像データをブロックフォーマットに従って読み出すフォーマット変換回路７４と、フォーマット変換回路７４からのブロックの画像データを高能率符号化するエンコーダ７５とを備える。
【００１３】
そして、前処理回路７１は、入力映像信号ＶＤを輝度信号と色差信号に分離し、Ａ／Ｄ変換回路７２ａ、７２ｂは、輝度信号、色差信号をそれぞれ８ビツトからなる輝度データ、色差データに変換し、フレームメモリ群７３は、これらの輝度データ、色差データを記憶する。
【００１４】
フォーマット変換回路７４は、フレームメモリ群７３に記憶されている画像データ（輝度データ、色差データ）を、ブロックフォーマットに従って読み出し、エンコーダ７５は、この読みだされた画像データを所定の高能率符号化により符号化して、ビットストリームを出力する。
【００１５】
そして、このビットストリームは、伝送路や、光ディスク、磁気ディスク、磁気テープ等の画像記録媒体からなる伝送メディア９０を介して、画像復号化装置８０に供給される。
【００１６】
この画像復号化装置８０は、上述の図２１に示すように、上記エンコーダ７５に対応したデコーダ８１と、該デコーダ８１で再生された画像データを、フレームフォーマットに変換するフォーマット変換回路８２と、該フォーマット変換回路８２からの画像データを記憶するフレームメモリ群８３と、該フレームメモリ群８３から読み出された輝度データ、色差データをアナログ信号に変換するＤ／Ａ変換回路８４ａ、８４ｂと、該Ｄ／Ａ変換回路８４ａ、８４ｂからの輝度信号、色差信号を混合して出力映像信号を生成する後処理回路８５とを備える。
【００１７】
そして、デコーダ８１は、エンコーダ７５の高能率符号化に対応した復号化によりビットストリームを復号化して、ブロックフォーマットの画像データを再生し、フォーマット変換回路８２は、この画像データをフレームフォーマットに変換してフレームメモリ群８３に記憶する。
【００１８】
Ｄ／Ａ変換回路８４ａ、８４ｂは、フレームメモリ群８３から読み出された輝度データ、色差データをそれぞれ輝度信号、色差信号に変換し、後処理回路８１は、これらの輝度信号、色差信号を混合して出力映像信号を生成する。
【００１９】
具体的には、前処理回路７１及びＡ／Ｄ変換回路７２ａ、７２ｂは、上述したように輝度信号及び色差信号をディジタル信号に変換すると共に、色差信号に対しては上下左右方向に画素数が輝度信号の１／２となるようにデータ量を削減した後、時間軸多重化し、得られる輝度データと色差データをフレームメモリ群７３に供給する。
【００２０】
そして、フレームメモリ群７３からは、上述したようにブロックフォーマットに従って輝度データと色差データが読み出される。すなわち、例えば１フレーム分の画像データは、図２２のＡに示すように、Ｎ個のスライスに分割され、各スライスが、図２２のＢに示すように、Ｍ個のマクロブロックを含むようになされ、各マクロブロックは、図２２のＣに示すように、８×８画素からなるブロック単位であって上下左右に隣接する４つの輝度ブロックの輝度データＹ[1] 、Ｙ[2] 、Ｙ[3] 、Ｙ[4] と、これらの４つの輝度ブロックに対応する範囲の８×８画素からなる色差ブロックの色差データＣb[5]、Ｃr[6]とを含んでなる。そして、フレームメモリ群７３からは、スライスではマクロブロツク単位で画像データが連続し、マクロブロツク内ではＹ[1],Ｙ[2],Ｙ[3],Ｙ[4],Ｃb[5],Ｃr[6] の順に連続するように輝度データと色差データが読み出される。このようにしてブロックフォーマットに従って読み出された画像データは、エンコーダ７５に供給される。
【００２１】
エンコーダ７５は、図２３に示すように、動きベクトル検出回路１０１を備え、この動きベクトル検出回路１０１は、ブロックフォーマットで供給される画像データの動きベクトルをマクロブロック単位で検出する。すなわち、動きベクトル検出回路１０１は、フレームメモリ群１０２に記憶された前方原画像及び／又は後方原画像を用いて、現在の参照画像の動きベクトルをマクロブロック単位で検出する。ここで、動きベクトルの検出は、マクロブロック単位でのフレーム間差分の絶対値和が最小になるものを、その動きベクトルとする。そして、検出された動きベクトルは動き補償回路１１３等に供給され、マクロブロック単位でのフレーム間差分の絶対値和はフレーム内／前方／後方／両方向予測判定回路１０３に供給される。
【００２２】
このフレーム内／前方／後方／両方向予測判定回路１０３は、この値をもとに、参照ブロックの予測モードを決定し、決定した予測モードに基づいて、マクロブロック単位でフレーム内／前方／後方／両方向予測の切り換えを行うように予測符号化回路１０４を制御する。そして、予測符号化回路１０４は、加算回路１０４ａ、１０４ｂ、１０４ｃ及び切換スイッチ１０４ｄを備え、フレーム内符号化モードのときは入力画像データそのものを、前方／後方／両方向予測モードのときはそれぞれの予測画像に対する入力画像データの画素毎の差分（以下差分データという）を選択し、選択したデータをＤＣＴ回路１０５に供給する。
【００２３】
ＤＣＴ回路１０５は、映像信号の２次元相関を利用して、入力画像データ又は差分データをブロツク単位でＤＣＴ変換し、得られる係数データを量子化回路１０６に供給する。
【００２４】
量子化回路１０６は、マクロブロック又はスライス毎に定まる量子化ステップサイズ（量子化スケール）を用いて係数データを量子化し、得られる量子化データを可変長符号化（ＶＬＣ：Variable Length Code）回路１０７及び逆量子化回路１０８に供給する。ところで、この量子化に用いる量子化ステップサイズは、後述する送信バッファメモリ１０９のバッファ残量をフィードバックすることによって、送信バッファメモリ１０９が破綻しない値に決定され、この量子化ステップサイズも、可変長符号化回路１０７及び逆量子化回路１０８に供給される。
【００２５】
可変長符号化回路１０７は、量子化データを、量子化ステップサイズ、予測モード、動きベクトルと共に可変長符号化し、伝送データとして送信バッファメモリ１０９に供給する。
【００２６】
送信バッファメモリ１０９は、伝送データを一旦記憶した後、一定のビットレートで読み出すことにより、伝送データを平滑化してビットストリームとして出力すると共に、メモリに残留している残留データ量に応じてマクロブロック単位の量子化制御信号を量子化回路１０６にフィードバックして量子化ステップサイズを制御する。これにより送信バッファメモリ１０９は、ビットストリームとして発生されるデータ量を調整し、メモリ内に適正な残量（オーバーフロー又はアンダーフローを生じさせないようなデータ量）のデータを維持する。例えば、送信バッファメモリ１０９のデータ残量が許容上限にまで増量すると、送信バッファメモリ１０９は、量子化制御信号によつて量子化回路１０６の量子化ステップサイズを大きくすることにより、量子化データのデータ量を低下させる。一方、送信バッファメモリ１０９のデータ残量が許容下限まで減量すると、送信バッファメモリ１０９は、量子化制御信号によつて量子化回路１０６の量子化ステップサイズを小さくすることにより、量子化データのデータ量を増大させる。
【００２７】
このようにして、バッファメモリ１０９から出力されるビットストリームは一定のビットレートで、上述したように伝送路や、光ディスク、磁気ディスク、磁気テープ等の画像記録媒体からなる伝送メディア９０を介して、画像復号化装置８０に供給される。
【００２８】
一方、逆量子化回路１０８は、量子化回路１０６から供給される量子化データを逆量子化して、上述のＤＣＴ回路１０５の出力に対応する係数データ（量子化歪みが加算されている）を再生し、この係数データを逆離散余弦変換（以下ＩＤＣＴ：Inverse Discrete Cosine Trasformという）回路１１０に供給する。
【００２９】
ＩＤＣＴ回路１１０は、係数データをＩＤＣＴ変換して、フレーム内符号化モードでは入力画像データに対応する画像データを再生し、前方／後方／両方向予測モードでは予測符号化回路１０４の出力に対応する差分データを再生して、加算回路１１１に供給する。
【００３０】
この加算回路１１１には、前方／後方／両方向予測モードのとき、後述する動き補償回路１１３から動き補償された予測画像データが供給されており、この動き補償された予測画像データと差分データを加算することにより、入力画像データに対応する画像データを再生する。
【００３１】
そして、このようにして再生された画像データは、フレームメモリ１１２に記憶される。すなわち、逆量子化回路１０８〜加算回路１１１は、局所復号化回路を構成し、予測モードに基づいて、量子化回路１０６から出力される量子化データを局所復号化し、得られる復号画像を前方予測画像もしくは後方予測画像としてフレームメモリ１１２に書き込む。フレームメモリ１１２は、複数のフレームメモリからなり、フレームメモリのバンク切り換えが行われ、符号化する画像に応じて、単一のフレームが、前方予測画像データとして出力されたり、後方予測画像データとして出力される。また、両方向予測の場合は、前方予測画像データと後方予測画像データが例えば平均化されて出力される。これらの予測画像データは、後述するデコーダ８１で再生される画像と全く同一の画像であり、次の処理画像はこの予測画像をもとに前方／後方／両方向予測符号化が行われる。
【００３２】
すなわち、フレームメモリ１１２から読み出された画像データは動き補償回路１１３に供給され、この動き補償回路１１３は、動きベクトルに基づいて、予測画像データに動き補償を施し、動き補償された予測画像データを予測符号化回路１０４及び加算回路１１１に供給する。
次に、デコーダ８１について図２４を参照しながら説明する。
【００３３】
この図２４に示すデコーダ８１には、上記図２１の伝送メディア９０を介してビットストリームが入力される。このビットストリームは、受信バッファ２０１を介して可変長復号化（ＩＶＬＣ）回路２０２に入力される。可変長復号化回路２０２は、ビットストリームから量子化データ、動きベクトル、予測モード、量子化ステップサイズ等を再生する。これらの量子化データと量子化ステップサイズは逆量子化回路２０３に供給され、動きベクトルは動き補償回路２０７に供給され、予測モードは加算回路２０５に供給される。
【００３４】
逆量子化回路２０３〜加算回路２０５の動作は、上記図２３に示すエンコーダ７５の局所復号化回路と同様であり、フレームメモリ群２０６、動き補償回路２０７の動作はそれぞれエンコーダ７５のフレームメモリ１１２、動き補償回路１１３と同じであり、量子化データ、動きベクトル、予測モード、量子化ステップサイズをもとに復号化が行われる。この結果、加算回路２０５から再生画像データが出力され、この再生画像データは、上記図２１のフォーマット変換回路８２に送られる。
【００３５】
従来技術として、特許文献１、２が知られている。
【００３６】
【特許文献１】特開平６−３３４９６８号公報
【特許文献２】国際公開第９４／２４８２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００３７】
以上のように、従来の装置では、エンコーダ７５で発生するビットストリームの符号化ビットレートは伝送メディア９０の転送レートにあわせて一定とされ、この制限のもとでデータ発生量、すなわちエンコーダ７５における量子化回路１０６の量子化ステップサイズが制御されていた。換言すると、例えば絵柄が複雑な画像が連続するときは、量子化ステップサイズを大きくしてデータ発生量を抑圧し、逆に単純な絵柄が連続するときは、量子化ステップサイズを小さくしてデータ発生量を増加させることにより、バッファメモリ１０９のオーバーフロー又はアンダーフローを生じさせないようにして固定レートを保持するようになっていた。
【００３８】
したがって、従来の装置では複雑な画像が連続するときは、量子化ステップサイズが大きくされ、画質が劣化し、単純な画像が連続するときは、量子化ステップサイズが小さくされ、全体を通じて均等な画質を得ることができなかった。
【００３９】
また、ビットストリームをデータ容量が限られている画像記録媒体に記録する場合、絵柄が複雑な画像に対する極端な画質劣化を避けるためには、この複雑な画像の画質を損なわないような高いレートの固定レートを全体に対して適用しなければならず、記録時間を減少させる結果となっていた。
【００４０】
さらに、単に画像の複雑さが同じ場合でも、絵柄によって符号化画質の主観的印象が悪い場合がある。これは、人間の視覚特性によるものであり、例えば画像の暗い部分や、赤い部分や、平坦な部分で、符号化ノイズ、例えばブロックノイズやモスキートノイズ等が目立つ、という問題がある。
【００４１】
ここで、入力信号の実際の符号化に先立って、同じ入力信号を符号化することにより所定時間当たりの割当符号量を求め、記録媒体等により定まる使用可能なデータ総量を越えない範囲で所定時間毎の符号化ビットレートを計算して、実際の符号化を行うことが提案されている。これは、いわゆる２パスの符号化方法であり、入力信号の１シーケンス、例えば１本の映画を全て符号化して符号化ビットレートを計算するため、実際の符号化を開始するまでに１シーケンス以上の時間がかかり、最終的な伝送用あるいは記録用の符号化データのビットストリームを生成するためには２シーケンス以上の時間がかかるという問題がある。
【００４２】
また、以上は動画の映像信号を取り扱う場合であったが、入力信号がオーディオ信号の場合や、字幕データあるいはキャラクタデータ等の信号の場合にも同様の問題がある。
【００４３】
本発明は、このような実情に鑑みてなされたものであり、全体を通じて均等で良好な品質の符号化データを得ることができ、長時間記録を可能にし、入力信号をほぼリアルタイムで符号化できるような符号化装置及び方法を提供することを目的とする。さらに、入力信号が映像信号の場合に、人間の視覚特性を反映して符号化ノイズを目立たせないように符号化することを可能とすることを目的とする。
【課題を解決するための手段】
【００４４】
本発明の符号化装置は、画像データを符号化する符号化装置において、上記画像データを解析して、画像データの統計情報を取得する取得手段と、上記画像データの統計情報から視覚特性に応じた符号量が配分されるように定められた所定の関係を用いて求められた変換係数と、上記画像データを符号化することによって得られる発生符号量とに基づいて、上記画像データを符号化する際の符号化難易度を上記発生符号量に上記変換係数を乗算することにより算出する符号化難易度算出手段と、上記画像データを所定時間だけ遅延させる遅延手段と、記憶媒体のデータ容量又は伝送路の転送レートにより定まる使用可能なデータ総容量と上記符号化難易度算出手段により算出された符号化難易度とに基づいて、上記遅延手段により遅延された画像データを符号化する際に割り当てる割当符号量を算出する割当符号量算出手段と、上記割当符号量算出手段より算出された割当符号量に従って、上記遅延手段により遅延された画像データを符号化する符号化手段とを有することにより、上述の課題を解決する。
【００４５】
上記符号化難易度算出手段は、上記変換係数と上記発生符号量とを乗算することにより、上記符号化難易度を算出することが挙げられる。
【００４６】
上記割当符号量算出手段は、ピクチャ単位又はマクロブロック単位で上記割当符号量を算出することが挙げられ、上記遅延手段は、ＧＯＰ単位で上記画像データを遅延させることが挙げられる。
【００４７】
本発明の符号化方法は、画像データを符号化する符号化方法において、上記画像データを解析して、画像データの統計情報を取得する取得工程と、上記画像データの統計情報から視覚特性に応じた符号量が配分されるように定められた所定の関係を用いて求められた変換係数と、上記画像データを符号化することによって得られる発生符号量とに基づいて、上記画像データを符号化する際の符号化難易度を上記発生符号量に上記変換係数を乗算することにより算出する符号化難易度算出工程と、上記画像データを所定時間だけ遅延させる遅延工程と、記憶媒体のデータ容量又は伝送路の転送レートにより定まる使用可能なデータ総容量と上記符号化難易度算出手段により算出された符号化難易度とに基づいて、上記遅延工程により遅延された画像データを符号化する際に割り当てる割当符号量を算出する割当符号量算出工程と、上記割当符号量算出工程により算出された割当符号量に従って、上記遅延工程により遅延された画像データを符号化する符号化工程とを有することにより、上述の課題を解決する。
【発明の効果】
【００４８】
本発明によれば、入力信号が属する種類の一般の入力信号により予め標準化された所定時間毎の符号化難易度と割当符号量とを関係付け、入力信号の所定時間毎の符号化難易度を求め、この入力信号の所定時間毎の符号化難易度に対して上記関係付けられた上記所定時間毎の割当符号量を求め、この割当符号量に基づいて上記所定時間毎に上記入力信号を符号化して符号化データを生成しているため、信号の入力に応じて、ほぼリアルタイムで、信号の複雑さに応じた最適の割当符号量での符号化が行える。
【００４９】
また、上記符号化難易度を、入力信号の少なくとも一部を符号化して生成された符号化データの上記所定時間毎のデータ量に基づいて求めることにより、複雑な信号が連続しても量子化ステップサイズが極端に大きくされることなく、全体を通じて均等な高品質の符号化データを得ることができる。
【００５０】
また、上記入力信号が映像信号の場合に、上記符号化難易度として、入力映像信号の所定時間毎の画像特性情報に基づいて求め、このときの上記画像特性情報として、画像の輝度情報としての輝度信号の所定時間毎の平均値、色度情報としての色度信号の所定時間毎の平均値、平坦度情報としての輝度信号の分散値、画像の動き情報としてのマクロブロックの動きベクトル量の所定時間毎の平均値、画像間差分としてマクロブロックの動きベクトルの画像間予測残差の所定時間毎の総和等を用いることにより、画像特性情報により人間の視覚特性が反映された符号化レートで符号化が行える。
【発明を実施するための最良の形態】
【００５１】
以下、本発明に係る符号化装置及び方法のいくつかの好ましい実施の形態について図面を参照しながら説明する。
【００５２】
ここで、以下の実施の形態においては、特に画像信号や映像信号を符号化する場合の画像符号化方法、画像符号化装置及び画像記録媒体の例について説明するが、本発明はこれに限定されず、オーディオ信号の符号化にも適用でき、また、字幕データやキャラクタデータの信号の符号化にも適用できるものである。
【００５３】
第１の実施の形態
本発明の第１の実施の形態を適用した画像符号化装置は、例えば図１に示すように、入力映像信号を符号化して第１の符号化データを生成する第１の符号化回路１０と、入力映像信号の統計的性質あるいは画像特性を求める画像解析回路６０と、該第１の符号化回路１０からの第１の符号化データの所定時間毎のデータ量、及び該画像解析回路６０からの統計データあるいは画像特性情報、及び使用可能なデータ総量に基づいて上記所定時間毎の符号化レートを求める符号化制御回路３０と、該符号化制御回路３０からの符号化レートに基づいて上記所定時間毎に上記入力映像信号を符号化して第２の符号化データを生成する第２の符号化回路４０とを備える。
【００５４】
上記画像解析回路６０は、上述の図１に示すように、フレーム内情報解析回路６１とフレーム間情報解析回路６２からなる。フレーム内情報解析回路６１では、入力画像の画像特性情報として、例えば、輝度，色度，平坦度の統計情報を計算し、フレーム間情報解析回路６２では、入力画像の画像特性情報として、例えば、動画像の動き量の統計情報を計算する。
【００５５】
上記画像特性情報の具体例を挙げると、入力画像の輝度についての統計情報としては、例えば、輝度信号Ｙの所定時間毎の平均値（Ｌ）を計算し、また入力画像の色度についての統計情報としては、例えば、色度信号Ｃｒの所定時間毎の平均値（Ｒ）を計算し、また入力画像の平坦度の統計情報としては、例えば、輝度信号Ｙの所定時間毎の分散値（Ｖ）を計算し、入力画像の動き量の統計情報としては、例えば、動きベクトル量の所定時間毎の平均値（Ｍ）を計算する。
【００５６】
さらに、上記第１の符号化回路１０は、上述の図１に示すように、入力映像信号である入力画像データを記憶するフレームメモリ群１２と、該フレームメモリ群１２に記憶された画像データに基づいて、入力画像データの動きベクトルを検出する動きベクトル検出回路１１と、予測画像データを記憶するフレームメモリ２２と、上記動きベクトル検出回路１１からの動きベクトルに基づいて、上記フレームメモリ２２から読み出された予測画像データに動き補償を施する動き補償回路２３と、該動き補償回路２３からの動き補償された予測画像データに基づいて、入力画像データを予測符号する予測符号化回路１４と、該予測符号化回路１４からの予測誤差である差分等を符号化、例えば離散余弦変換（以下ＤＣＴ：Discrete Cosine Transform という）して係数データを生成するＤＣＴ回路１５と、該ＤＣＴ回路１５からの係数データを一定の量子化ステップサイズで量子化して、量子化データを生成する量子化回路１６と、該量子化回路１６からの量子化データを可変長符号化して、可変長符号データを出力する可変長符号化（ＶＬＣ：Variable Length Code）回路１７と、上記量子化回路１６からの量子化データを逆量子化して係数データを再生する逆量子化回路１８と、該逆量子化回路１８からの係数データを復号化、例えば逆離散余弦変換（以下ＩＤＣＴ：Inverse Discrete Cosine Trasformという）して上記差分を再生するＩＤＣＴ回路２０と、該ＩＤＣＴ回路２０からの差分と上記動き補償回路２３からの動き補償された予測画像データを加算して次の入力画像データに対する予測画像データを生成し、該予測画像データを上記フレームメモリ２２に供給する加算回路２１とを備える。
【００５７】
また、上記第２の符号化回路４０は、上述の図１に示すように、入力画像データを遅延する遅延器４３と、予測画像データを記憶するフレームメモリ５２と、上記動きベクトル検出回路１１からの動きベクトルに基づいて上記フレームメモリ５２から読み出された予測画像データに動き補償を施す動き補償回路５３と、該動き補償回路５３からの動き補償された予測画像データに基づいて、上記遅延器４３で遅延された入力画像データを予測符号化する予測符号化回路４４と、該予測符号化回路４４からの差分等を符号化、例えばＤＣＴ変換して係数データを生成するＤＣＴ回路４５と、上記符号化制御回路３０からの符号化レートに基づいて量子化ステップサイズを設定する量子化スケール設定回路３３と、上記ＤＣＴ回路４５からの係数データを上記量子化スケール設定回路３３からの量子化ステップサイズで量子化して、量子化データを生成する量子化回路４６と、該量子化回路４６からの量子化データを可変長符号化して、可変長符号データを出力する可変長符号化回路４７と、該可変長符号化回路４７からの可変長符号データを一旦記憶し、一定のビットレートで出力する送信バッファメモリ４９と、上記量子化回路４６からの量子化データを逆量子化して係数データを再生する逆量子化回路４８と、該逆量子化回路４８からの係数データを復号化、例えばＩＤＣＴ変換して上記差分を再生するＩＤＣＴ回路５０と、該ＩＤＣＴ回路５０からの差分と上記動き補償回路５３からの動き補償された予測画像データを加算して次の入力画像データに対する予測画像データを生成し、該予測画像データを上記フレームメモリ５２に供給する加算回路５１とを備える。
【００５８】
この画像符号化装置では、第１の符号化回路１０により、入力画像データに対して符号化処理、例えば予測符号化処理、ＤＣＴ変換処理、一定の量子化ステップサイズでの量子化処理、可変長符号化処理を施し、符号化制御回路３０により得られる符号化ビットレートに基づいて第２の符号化回路４０により符号化を行っている。符号化制御回路３０は、第１の符号化回路により得られた第１のビットストリームである可変長符号データの所定時間毎のデータ量と、画像解析回路６０により求められた入力映像信号の輝度信号Ｙの所定時間毎の平均値（Ｌ）および分散（Ｖ），色度信号Ｃｒの所定時間毎の平均値（Ｒ）と、動きベクトル量の所定時間毎の平均値（Ｍ）と、例えば光ディスク、磁気ディスク、磁気テープ等からなる画像記録媒体５５のデータ容量、あるいは伝送路のビットレート（転送レート）等により定まる使用可能なデータ総量とに基づいて、所定時間毎の符号化ビットレートを求めている。また、第２の符号化回路４０は、入力画像データに再び予測符号化処理、ＤＣＴ変換処理、量子化処理、可変長符号化処理を施して、第２のビットストリームである可変長符号データを生成する際に、上記符号化ビットレートに基づいた量子化ステップサイズで量子化している。
【００５９】
ここで、上記第１の実施の形態の画像符号化装置を構成する第１の符号化回路１０の動作の具体例について、図２のフローチャートを参照しながら説明する。
【００６０】
すなわち、図２に示すフローチャートのステップＳＴ１において、上記図１の第１の符号化回路１０の量子化回路１６は、量子化ステップサイズを例えば１としてＤＣＴ回路１５から供給される係数データを量子化して、量子化データを生成し、符号化制御回路３０のカウンタ３１は、この量子化データを可変長符号化して得られる可変長符号データ（第１のビットストリーム）のデータ量を所定の単位時間、例えばマクロブロック毎に計数して、発生符号量（ｙ）をマクロブロック毎に求める。さらに、画像解析回路６０により、該マクロブロック内の輝度信号Ｙの平均値（Ｌ）及び分散（Ｖ）と、色度信号Ｃｒの平均値（Ｒ）とを求め、またマクロブロックの動きベクトル量の平均値（Ｍ）を求める。
【００６１】
次のステップＳＴ２において、上記ビットレート演算回路３２は、上記各値ｙ，Ｌ，Ｖ，Ｒ，Ｍと、上述した使用可能なデータ総量（Ｂ）とに基づいて、マクロブロック毎に割り当てられる割当符号量（ｂ）を求める。この場合、具体的には上記各値ｙ，Ｌ，Ｖ，Ｒ，Ｍに基づいて符号化の難易度（difficulty）（ｄ）を求め、この符号化難易度（ｄ）と上記使用可能なデータ総量（Ｂ）とに基づいて上記割当符号量（ｂ）を求めている。
【００６２】
ステップＳＴ３において、第２の符号化回路４０の量子化回路４６は、割当符号量に基づいた量子化ステップサイズにより、ＤＣＴ回路４５から供給される係数データを量子化して、量子化データを生成するようになっている。
【００６３】
このような第１の符号化回路１０の動作について、図１を参照しながらより具体的に説明する。
【００６４】
入力された画像データは、フレームメモリ群１２に一旦記憶される。そして、フレームメモリ群１２からは、従来の技術で述べたようにブロックフォーマットに従って読み出される。
【００６５】
動きベクトル検出回路１１は、フレームメモリ群１２から必要な画像データを上述のマクロブロック単位で読みだし、動きベクトルを検出する。すなわち、動きベクトル検出回路１１は、フレームメモリ群１２に記憶されている前方原画像及び／又は後方原画像を用いて、現在の参照画像の動きベクトルをマクロブロック単位で検出する。ここで、動きベクトルの検出は、例えばマクロブロック単位でのフレーム間差分の絶対値和が最小になるものを、その動きベクトルとする。そして、検出された動きベクトルは動き補償回路２３、５３等に供給され、マクロブロック単位でのフレーム間差分の絶対値和はフレーム内／前方／後方／両方向予測判定回路１３に供給される。
【００６６】
フレーム内／前方／後方／両方向予測判定回路１３は、この値をもとに、参照ブロックの予測モードを決定し、決定した予測モードに基づいて、ブロック単位でフレーム内／前方／後方／両方向予測の切り換えを行うように予測符号化回路１４を制御する。
【００６７】
予測符号化回路１４は、上述の図１に示すように、加算回路１４ａ、１４ｂ、１４ｃ及び切換スイッチ１４ｄを備え、フレーム内符号化モードのときは入力画像データそのものを、前方／後方／両方向予測モードのときはそれぞれの予測画像に対する入力画像データの画素毎の差分（以下差分データという）を選択し、選択したデータをＤＣＴ回路１５に供給する。
【００６８】
ＤＣＴ回路１５は、映像信号の２次元相関を利用して、切換スイッチ１４ｄから供給される入力画像データ又は差分データをブロツク単位でＤＣＴ変換し、得られる係数データを量子化回路１６に供給する。
【００６９】
量子化回路１６は、一定の量子化ステップサイズ、例えば量子化ステップサイズを１として、ＤＣＴ回路１５から供給される係数データを量子化し、得られる量子化データを可変長符号化回路１７及び逆量子化回路１８に供給する。
【００７０】
可変長符号化回路１７は、量子化データを、量子化ステップサイズ、予測モード、動きベクトル等と共に可変長符号化し、得られる可変長符号データを第１のビットストリームとして符号化制御回路３０に供給する。
【００７１】
符号化制御回路３０は、上述の図１に示すように、上記可変長符号化回路１７から可変長符号データの所定時間毎のデータ量を計数するカウンタ３１と、該カウンタ３１からのデータ量及び使用可能なデータ総量に基づいて所定時間当たりの割当符号量を求めるビットレート演算回路３２とを備える。そして、カウンタ３１は、第１のビットストリームのデータ量を所定時間毎、例えばマクロブロック毎に計数して、発生符号量をマクロブロック毎に求め、この発生符号量をビットレート演算回路３２に供給する。
【００７２】
ビットレート演算回路３２は、このマクロブロック毎の発生符号量と、マクロブロックの輝度信号Ｙの平均値（Ｌ）と分散（Ｖ）と、マクロブロックの色度信号Ｃｒの平均値（Ｒ）と、マクロブロックの動きベクトル量の平均値（Ｍ）と、使用可能なデータ総量に基づいて、マクロブロック毎に割り当てられる割当符号量すなわちマクロブロック時間毎の平均符号化レートを求めると共に、この割当符号量を第２の符号化回路４０の量子化スケール設定回路３３に供給する。
【００７３】
具体的には、ビットレート演算回路３２は、先ず次の式１に示すように、符号化する１シーケンスの時間ＳＱＴと、使用可能なデータ総量Ｂとに基づいて、そのシーケンスの平均ビットレートＳＱＢＲを計算する。
【００７４】
ＳＱＢＲ ＝ Ｂ／ＳＱＴ                        ・・・  式１
ここで、上記１シーケンスとは、例えば映画や番組の１本分のように、１つの画像記録媒体に記録される全フレームを想定しており、この他、記録媒体を分割して用いるときには各分割領域毎に記録される全フレームを１シーケンスとしてもよい。
【００７５】
またビットレート演算回路３２は、上記１シーケンスの全マクロブロック数をＮとし、使用可能なデータ総量をＢとし、ｉ（ｉ＝０、１、２・・・Ｎ−１）番目のマクロブロックの発生符号量をｙi とし、ｉ番目のマクロブロックの輝度信号Ｙの平均値をＬｉ、分散をＶｉとし、色度信号Ｃｒの平均値をＲｉとし、動きベクトル量の平均値をＭｉとし、それぞれ関数ｆ１  、ｆ２  、ｆ３  、ｆ４  の特性から画像の絵柄の主観的印象を符号化難易度ｄi へ反映する係数αｉ  ，βｉ  ，γｉ  ，θｉ  を求め、式６に示すように、これらの係数とｙｉの積により、符号化難易度ｄｉを求めている。
【００７６】
αｉ ＝ ｆ１（Ｌｉ）                            ・・・式２
βｉ ＝ ｆ２（Ｒｉ）                            ・・・式３
γｉ ＝ ｆ３（Ｖｉ）                            ・・・式４
θｉ ＝ ｆ４（Ｍｉ）                            ・・・式５
ｄｉ ＝ αｉ×βｉ×γｉ×θｉ×ｙｉ                ・・・式６
ここで、関数ｆ１  、ｆ２  、ｆ３  、ｆ４  の特性の具体例について、図３〜図６を参照しながら説明する。
【００７７】
図３に、輝度信号Ｙの平均値Ｌに対する係数αを表す関数ｆ１  の特性を示す。この図３の横軸のＬは、０が黒であり、ＭＡＸが最も明るい値である。一般に、人間の目は、暗い画像では、符号化ノイズをわかりやすい。ただし、あるレベル以下の暗さでは、暗すぎて符号化ノイズを知覚できなくなる。この特徴に基づいて、Ｌ＝０付近では、α＝１とし、最も劣化を知覚しやすいＬのレベルで、αはピークをもち、それ以上のＬでは、徐々にαを小さくする。αが１以上の場合、符号化難易度ｄを増大させ、逆にαが１以下の場合、符号化難易度ｄを減少させる。なお、ｉ番目のマクロブロックについての輝度信号Ｙの平均値はＬｉであり、このｉ番目のマクロブロックについての係数αｉ は ｆ１（Ｌｉ）となる。
【００７８】
図４に、色度信号Ｃｒの平均値Ｒと係数βの関数ｆ２  の特性を示す。図４の横軸のＲは、０がグレーであり、ＭＡＸが最も赤い値である。一般に、人間の目は赤の劣化をわかりやすい特徴がある。この特徴に基づいて、Ｒが大きい値ほどβを１以上の大きな値とし、符号化難易度ｄを増大させる。なお、ｉ番目のマクロブロックについての色度信号Ｃｒの平均値はＲｉであり、このｉ番目のマクロブロックについての係数βｉ は ｆ２（Ｒｉ）となる。
【００７９】
図５に、輝度信号Ｙの分散値Ｖと係数γの関数ｆ３  の特性を示す。図５の横軸のＶは、０が完全に平坦であり、ＭＡＸが最も絵柄が乱雑である。一般に、人間の目は、絵柄の平坦部分で、符号化ノイズがわかりやすく、逆に、絵柄が乱雑な部分では、劣化はわかりにくい。この特徴に基づいて、Ｖが大きい値ほどγを１以下の小さな値とし、符号化難易度ｄを減少させる。ｉ番目のマクロブロックについての輝度信号Ｙの分散値はＶｉであり、このｉ番目のマクロブロックについての係数γｉ は ｆ３（Ｖｉ）となる。
【００８０】
図６に、動きベクトル量の平均値Ｍと係数θの関数ｆ４  の特性を示す。図６の横軸のＭは、０が静止している場合で、ＭＡＸが最も動きが大きい（速い）。一般に、人間の目は、画像の動きが大きい（速い）と、目が動きについていけず、画像の劣化がわかりにくい。この特徴に基づいて、Ｍが大きい値ほどθを１以下の小さな値とし、符号化難易度ｄを減少させる。なお、マクロブロックがイントラ符号化される時は、θ＝１とする。ｉ番目のマクロブロックについての動きベクトル量の平均値はＭｉで、このｉ番目のマクロブロックについての係数θｉ は ｆ４（Ｍｉ）となる。
【００８１】
このように求めた係数α，β，γ，θを、発生符号量ｙと乗算することで、符号化難易度ｄを求める。なお、ｉ番目のマクロブロックについては、それぞれ係数αｉ  ，βｉ  ，γｉ  ，θｉ  を求め、上記式６に示したように発生符号量ｙi と乗算し、符号化難易度ｄｉとする。
【００８２】
ビットレート演算回路３２は、ｉ番目のマクロブロックに対する割当符号量をｂi として、この割当符号量ｂi を下記式７に従って計算する。ここでａ，ｃは定数であり、１シーケンスの上記平均ビットレートＳＱＢＲに応じて決定される値である。
【００８３】
ｂｉ ＝ ａ×ｄi ＋ ｃ                         ・・・式７
なお、上記式７のような線形の関係式を用いないで、テーブル・ルックアップで割当符号量ｂi を求めるようにしてもよい。
【００８４】
次に、上記関係式７について説明する。
【００８５】
式７は、多くの動画像シーケンス、例えば多くの映画を符号化実験し、その画質を評価し、思考錯誤を通じて、経験的に求められる。一般に、１シーケンスでのｄｉの分布は、図７に示すような形となる。
【００８６】
この図７において、横軸は符号化難易度ｄを示し、縦軸は該符号化難易度ｄの１シーケンス内での出現確率ｈ（ｄ）、すなわち、所定時間単位が例えばマクロブロック単位のときには、符号化難易度ｄとなるマクロブロックの１シーケンス内での出現頻度を１シーケンス内の全マクロブロック数で割ったもの、を示しており、図中の分布曲線と横軸とで囲まれた斜線部の面積は１となる。
【００８７】
ここで、いくつかのシーケンスについての平均的な符号化難易度が高いか低いかは、各シーケンスの符号化難易度ｄの平均値によって判断できる。例えば、図８は、平均的な符号化難易度が、低位、中位、高位の３種類の映画についての符号化難易度の分布曲線Ａ、Ｂ、Ｃを示す図である。これらの分布曲線Ａ、Ｂ、Ｃにそれぞれ対応する各映画のｉ番目のマクロブロックの符号化難易度を、それぞれｄＡi （ｉ＝０〜Ｎ）、ｄＢi （ｉ＝０〜Ｍ）、ｄＣi （ｉ＝０〜Ｋ）とすると、以下の関係がある。
【００８８】
【数１】
0004636159.tif 000002
【００８９】
この場合、平均的な符号化難易度が最も高い映画の分布曲線Ｃに基づいて、上記式７の関係をつくる。手順としては、使用可能なデータ総量Ｂの範囲内で、符号化難易度ｄに対して、十分な画質を得るために必要な割当符号量ｂを、経験的に関係づける。こうして作られた関係式は、他の種類の分布曲線Ａ、Ｂの映画についても適用することが可能となる。
【００９０】
具体的に説明すると、映画Ａ、Ｂ、Ｃのｉ番目のマクロブロックの割当符号量ｂＡi 、ｂＢi 、ｂＣi は、以下ように計算される。
【００９１】
ｂＡi ＝ａ×ｄＡi ＋ｃ                    ・・・式９
ｂＢi ＝ａ×ｄＢi ＋ｃ                    ・・・式１０
ｂＣi ＝ａ×ｄＣi ＋ｃ                    ・・・式１１
また、映画Ａ、Ｂ、Ｃのそれぞれのシーケンスあたりの割当符号量、ＢＡ、ＢＢ、ＢＣは、以下ように計算される。
【００９２】
【数２】
0004636159.tif 000003
【００９３】
このとき、以下のような関係になる。  
ＢＡ＜ＢＢ＜ＢＣ                          ・・・式１５
すなわち、全記録容量が一定の記録媒体に１シーケンス分の映像信号、例えば映画を記録する場合には、上記分布曲線Ｃに基づく上記式７の関係をつくっておくことで、曲線Ａ、Ｂ、Ｃに対応するいずれの映画でも、記録媒体の容量を越えることなく記録することができる。
【００９４】
多くの動画像シーケンスを符号化実験することによって求めたモデルとなる、あるいは基準となる典型的なシーケンス（例えば映画）の符号化難易度ｄの分布曲線を図７に示す。このモデルの平均符号化難易度は、世の中にある動画シーケンスのほとんどをカバーするものと考えることができる。ここで、任意のシーケンスでの平均ビットレートＳＱＢＲを所定値としたときの、符号化難易度ｄとその割当符号量ｂとの関係を図９に示す。この図９において、関数ｂ（ｄ）は、上記式７を一般化したｂ（ｄ）＝ａ×ｄ＋ｃを表すものであり、ｉ番目のマクロブロックに対する割当符号量ｂi は、該ｉ番目のマクロブロックについての符号化難易度ｄｉにより、ｂｉ＝ａ×ｄi＋ｃにて求められることは勿論である。
【００９５】
また、シーケンスでの平均ビットレートＳＱＢＲを独立変数としたときの、所定時間毎の符号化難易度ｄと割当符号量ｂとの関係を図１０に示す。この図１０では、具体例として、上記平均ビットレートＳＱＢＲが７Ｍbps 、６Ｍbps 、５Ｍbps 、４Ｍbps 、３Ｍbps の場合をそれぞれ示している。
【００９６】
これらの図９や図１０に示す上記式７に相当する関係式は、使用可能なデータ総量Ｂ以内で、世の中のほとんどのシーケンスの可変ビットレート符号化に適用できる。
【００９７】
１スライスを構成する全てのマクロブロックについてのｂｉを加算したものが、そのスライスの割当符号量である。また、１フレームを構成する全てのマクロブロックについてのｂｉを加算したものが、そのフレームの割当符号量である。かくして、ビットレート演算回路３２は、例えば複雑な絵柄のフレームに対しては割当符号量を多くし、逆に単純な絵柄のフレームに対しては割当符号量を少なくする。
【００９８】
一方、逆量子化回路１８は、量子化回路１６から供給される量子化データを、量子化ステップサイズを１として逆量子化して、ＤＣＴ回路１５の出力に対応した係数データ（量子化歪みが加算されている）を再生し、この係数データをＩＤＣＴ回路２０に供給する。
【００９９】
ＩＤＣＴ回路２０は、係数データをＩＤＣＴ変換して、フレーム内符号化モードでは予測符号化回路１４の出力に対応した入力画像データを再生し、前方／後方／両方向予測モードでは差分データを再生して、加算回路２１に供給する。
【０１００】
加算回路２１には、前方／後方／両方向予測モードのとき、動き補償回路２３から動き補償された予測画像データが供給されており、この予測画像データとＩＤＣＴ回路２０から供給される差分データを加算することにより、入力画像データに対応した画像データを再生する。
【０１０１】
そして、このようにして再生された画像データは、フレームメモリ２２に予測画像データとして記憶される。すなわち、逆量子化回路１８〜加算回路２１は、局所復号化回路を構成し、予測モードに基づいて、量子化回路１６から出力される量子化データを局所復号化し、得られる復号画像を前方予測画像もしくは後方予測画像としてフレームメモリ２２に書き込む。フレームメモリ２２は、複数のフレームメモリからなり、フレームメモリのバンク切り替えが行われ、符号化する画像に応じて、例えば単一のフレームが、前方予測画像データとして出力されたり、後方予測画像データとして出力される。また、前方／後方／両方向予測の場合は、前方予測画像データと後方予測画像データが例えば平均化されて出力される。これらの予測画像データは、後述する画像復号化装置で再生される画像データと全く同一の画像データであり、次の処理画像はこの予測画像をもとに前方／後方／両方向予測符号化が行われる。
【０１０２】
次に、第２の符号化回路４０の動作について説明する。なお、第２の符号化回路４０を構成する量子化スケール設定回路３３、遅延器４３、量子化回路４６、送信バッファメモリ４９以外の回路は、上述した第１の符号化回路１０を構成する回路と同じ動作を行うので、説明を省略する。
【０１０３】
遅延器４３は、入力画像データを、例えば符号化制御回路３０から符号化制御信号が出力されるまでの時間遅延する。この遅延器４３の遅延時間としては、従来の２パス方式の場合には１シーケンス以上の時間が必要であったが、この実施の形態の場合には、ビットレートの切換単位時間、例えば後述する１ＧＯＰ（グループオブピクチャ）の時間程度とすればよい。そして、予測符号化回路４４、ＤＣＴ回路４５において、遅延された入力画像データにフレーム内／前方／後方／両方向予測判定回路１３から供給される予測モードに従った予測符号化処理、ＤＣＴ変換処理が施され、係数データが生成される。
【０１０４】
量子化スケール設定回路３３は、送信バッファ４９からのバッファフィードバックから検出される、あるマクロブロックにおいて発生した発生符号量と、このマクロブロック毎の割当符号量の比較を行う。
【０１０５】
量子化スケール設定回路３３は、第２の符号化での各マクロブロックの発生符号量を設定された各マクロブロックの割当符号量に近付けるため、当該マクロブロックにおける発生符号量がマクロブロック毎の割当符号量より大きい場合、次のマクロブロックの発生符号量を抑えるために次のマクロブロックの量子化ステップサイズを大きく設定し、当該マクロブロックにおける発生符号量がマクロブロック毎の割当符号量より小さい場合は、発生符号量を多くするために次のマクロブロックの量子化ステップサイズを小さくする。なお上記の説明では、マクロブロック毎に割当符号量と発生符号化量を近付けるように制御したが、この他、スライス毎に、フレーム毎に、あるいは後述するようにＧＯＰ（グループオブピクチャ）毎に制御を行わせるようにしてもよい。
【０１０６】
さらに、量子化スケール設定回路３３は、送信バッファ４９からのバッファフィードバックが、送信バッファ４９のオーバーフローが近いことを示す場合、上記の割当符号量と発生符号量との比較結果によらず、量子化ステップサイズを大きくしてオーバーフローを抑制し、また、送信バッファからのバッファフィードバックが、送信バッファ４９のアンダーフローが近いことを示す場合、上記の割当符号量と発生符号量との比較結果によらず、量子化ステップサイズを小さくしてアンダーフローを抑制するようにしてもよい。
【０１０７】
なお、上記の説明では、マクロブロック毎に発生符号量と割当符号量とを比較して、マクロブロック毎に量子化ステップサイズを切り換えるようにしたが、スライス毎、フレーム毎、あるいはＧＯＰ毎に切り換えを行うこともできる。
【０１０８】
また、上記の説明では、発生符号量を送信バッファ４９の蓄積量から検出するようにしたが、可変長符号化回路４７の出力から直接得ることもできる。量子化スケール設定回路３３は、このようにして設定した量子化ステップサイズを量子化回路４６に供給する。
【０１０９】
量子化回路４６は、上述した量子化スケール設定回路３３から供給される量子化ステップサイズにより、ＤＣＴ回路４５から供給される係数データを量子化して、量子化データを生成する。
【０１１０】
そして、可変長符号化回路４７は、量子化回路４６から供給される量子化データを、量子化スケール設定回路３３からの量子化ステップサイズ、フレーム内／前方／後方／両方向予測判定回路１３からの予測モード、動きベクトル検出回路１１からの動きベクトル等と共に可変長符号化し、得られる可変長符号データを第２のビットストリームとして送信バッファメモリ４９に供給する。
【０１１１】
ここで、図１１は、この画像符号化装置の第２の符号化回路４０の動作を概略的に示すフローチャートである。
【０１１２】
この図１１に示すように、ステップＳＴ１１において、遅延器４３を介して画像データが入力されると、ステップＳＴ１２において、量子化スケール設定回路３３は、現在符号化の対象とされているフレームに対する割当符号量を符号化制御回路３０から読み込み、ステップＳＴ１３に進む。
【０１１３】
ステップＳＴ１３において、予測符号化回路４４〜可変長符号化回路４７は、画像データに予測符号化処理、ＤＣＴ変換処理を施すと共に、マクロブロックの割当符号量に基づいた量子化ステップサイズにより係数データを量子化した後、可変長符号化し、ステップＳＴ１４に進む。
【０１１４】
ステップＳＴ１４において、例えば同一の画面サイズや同一の転送レートが適用される全フレーム（シーケンス）に対して符号化処理が終了したかが判断され、該当するときは終了し、該当しないときはステップＳＴ１１に戻る。かくして、フレーム単位で符号化レートが変わる可変レート符号化が実現され、絵柄が複雑な画像（フレーム）が連続しても、これらの画像に対して量子化ステップサイズが従来の装置のように大きくされることなく、全体を通じて均等な高画質を得ることができる。
【０１１５】
一方、逆量子化回路４８は、量子化回路４６から供給される量子化データを、上述の量子化回路４６で用いた量子化ステップサイズにより逆量子化して、ＤＣＴ回路４５の出力に対応した係数データ（量子化歪みが加算されている）を再生し、この係数データをＩＤＣＴ回路５０に供給する。すなわち、局所復号化回路を構成する逆量子化回路４８〜加算回路５１は、量子化回路４６から出力される量子化データを局所復号化し、得られる復号画像を前方予測画像もしくは後方予測画像としてフレームメモリ５２に書き込む。フレームメモリ５２に記憶された画像データは、次の処理画像に対する予測画像として使用される。
【０１１６】
送信バッファメモリ４９は、必要に応じて設ければよいが、設けた場合には、送信バッファメモリ４９は、可変長符号データを一旦記憶した後、一定のビットレートで読み出すことにより、可変長符号データを平滑化してビットストリームとして出力する。そして、送信バッファメモリ４９から出力されたビットストリームは、例えば符号化されたオーディオ信号、同期信号等と多重化され、更にエラー訂正用のコードが付加され、伝送あるいは記録に適した所定の変調が加えられた後、例えば伝送路を介して画像復号化装置に伝送されたり、上述の図１に示すように、光ディスク、磁気ディスク、磁気テープ等からなる画像記録媒体５５に記録される。すなわち、第２の符号化回路４０において、例えば予め複雑な画像に対しては割当符号量ｂi を多くして、単純な画像に対しては割当符号量ｂi を少なくして可変レート符号化を行っていることから、従来の装置のように絵柄が複雑な画像に対して極端な画質劣化をさけるために全体を通じて高いレートの固定レートを適用する必要がなく、画像記録媒体５５の記録時間を長くすることができる。
【０１１７】
送信バッファメモリ４９を設けない場合、あるいは小容量のメモリを設ける場合には、可変ビットレートで出力ビットストリームが画像記録媒体５５に供給されることになるが、記録レートを可変制御でき最高記録レートが出力ビットストリームの最高ビットレート以上の記録装置を用いることにより、画像記録媒体５５の全記録容量あるいは上記使用可能なデータ総量Ｂをオーバーフローすることがない範囲で、１シーケンスの映像信号を記録することができ、画像記録媒体５５の全記録容量を、複雑な画像には多く、単純な画像には少なく割り当てて、全体として良好な画質が得られるように、媒体容量の最適の有効利用を図ることができる。
【０１１８】
以上説明した本発明の実施の形態からも明らかなように、第１の符号化回路１０において、所定時間毎に符号化の難易度（difficulty）を計算するために、標準量子化値を予め設定し、バッファの占有量による制御を行なわず、適応量子化のみでＤＣＴ係数を量子化し符号量を求めており、適応量子化は、固定の標準量子化値とした時の符号化情報量に加え、画像の明るさ、平坦度、色度、画像の動きのような画像特性情報を所定時間毎に計算し、ビットレート演算回路では、これらの画像特性情報と、符号化情報量と、使用可能なデータ総量とに基づいて、所定時間毎に割り当てられる割当符号量、例えばフレーム時間毎の平均符号化レートを求めている。
【０１１９】
ここで、上記画像の明るさとしては、例えば、輝度信号Ｙの所定時間毎の平均値（Ｌ）を、平坦度としては、例えば、輝度信号Ｙの所定時間毎の分散値（Ｖ）を、色度としては、例えば、色度信号Ｃｒの所定時間毎の平均値（Ｒ）を、画像の動きとしては、例えば、マクロブロックの動きベクトル量の所定時間毎の平均値（Ｍ）を、それぞれ用いている。
【０１２０】
第２の符号化回路４０では、仮符号化（第１の符号化）で得られた所定時間毎の発生符号量に対して、目標符号量を決めて、量子化ステップサイズあるいは量子化値を制御して、画像の符号化を行なう。すなわち、各所定時間毎に、人間の視覚特性に応じた符号量が配分されるように、暗い画像のノイズを知覚しやすい部分で量子化ステップサイズを小さくし、画面の平坦部分ほど量子化ステップサイズを小さくし、赤レベルが大きいほど量子化ステップサイズを小さくし、動きベクトル量が大きい（動きが速い）ほど量子化ステップサイズを大きくしている。
【０１２１】
このように、人間の視覚特性が反映された符号化を行うことにより、絵柄によって符号化画質の主観的印象が悪い場合、例えば、画像の暗い部分や、赤い部分や、平坦な部分等でも、符号化ノイズ（ブロックノイズ、モスキートノイズ）が目立つことを未然に回避できる。
【０１２２】
ここで、上記第２の符号化回路４０で、ｉ番目のマクロブロックでの発生符号量をｂ'ｉ とすると、シーケンスを符号化し終えた時、すべてのｂ'ｉ についての総和は、下記の式１６を満たさねばならない。
【０１２３】
【数３】
0004636159.tif 000004
【０１２４】
このため失敗するケースを減らすために、符号化制御回路３０から割当てる符号量の総和を、実際のＢよりも少なめに、例えばＢの９５％くらいに控えることは有効である。また、一シーケンスの長さを、例えば４分割し、それぞれの小シーケンスの中で、それぞれＢの１／４を目標符号量として符号化しきるように制御することが有効な場合もある。
【０１２５】
以上説明したような本発明に係る実施の形態の信号符号化方法あるいは装置は、いわゆる１パスのエンコーダであり、ほぼリアルタイムで入力信号の符号化が行える。これに対し、いわゆる２パスのエンコーダ、すなわち、第１の符号化の際には予め１シーケンス分の全ての符号化難易度ｄｉを計算し、この全ての符号化難易度ｄｉと使用可能なデータ総量に基づいて、所定時間毎に割り当てられる割当符号量を求め、第２の符号化の際は、第１の符号化で求めた符号量配分に応じてビットレート制御を行なうような符号化方法や装置においては、信号を入力してから出力までに少なくとも１シーケンス分だけ待ち時間あるいは遅延時間が必要とされる。
【０１２６】
従って、上述したような本実施の形態によれば、上記２パスのエンコーダと比較して、世の中のほとんどのシーケンスについて、リアルタイム（実時間）で伝送用のビットレート生成が可能となるので、大幅な時間の節約が実現される。
【０１２７】
なお、本発明の実施の形態のような１パスの符号化と、従来の２パスの符号化とを組み合わせるようにしてもよい。
【０１２８】
すなわち。符号化制御回路３０が用意する符号化難易度と割当符号量の関係は、ほとんどの動画シーケンスに適用できるが、いくつかの特殊なシーケンスには対応できず、一般化されたモデルの式７を満たすことが困難な場合には、２パスの符号化、すなわち第１の符号化回路で、１シーケンス分のすべての符号化難易度ｄｉを計算した後、ビットレート演算回路では、ｄｉと使用可能なデータ総量に基づいて、所定時間毎に割り当てられる割当符号量、例えばフレーム時間毎の平均符号化レートを求め、第２の符号化回路では、第１の符号化で求めた符号量配分に応じてビットレート制御を行なうようにしてもよい。
【０１２９】
第２の実施の形態
ところで、上述の第１の実施の形態では、所定時間当たりの割当符号量、すなわち所定時間当たりの平均符号化レートを、マクロブロックを所定時間としてマクロブロック毎に得るようにしているが、本発明はこれに限定されるものではない。例えば、フレームを所定時間とする場合も同様である。この場合は、上記式１〜式５における、ｙｉ，Ｌｉ，Ｒｉ，Ｖｉ，Ｍｉのパラメータ群を１フレーム時間を所定時間として計算する。それらパラメータ群に基づいて、各フレーム毎にその割当符号量ｂｉを上記式７により求めることができる。
【０１３０】
この第２の実施の形態の場合のＬｉ，Ｒｉ，Ｖｉ，Ｍｉの計算方法は、１フレームでの全てのマクロブロックの平均値としても良いし、１フレームの中で指定された一部のマクロブロックの平均値としても良い。後者の方法は、レターボックスフォーマット、すなわち４：３の画面に１６：９の画像を表示するためにフレームの上下が黒帯でマスクされているフォーマットの画像を扱う場合に有効である。この場合、画像の上下の黒帯のマスク部分を除いた中央の有効な画像部分を構成するマクロブロックについて、Ｌｉ，Ｒｉ，Ｖｉ，Ｍｉを計算する。この方法では、フレームの中央の有効な画像部分についての性質を正確にとらえることができ、上記黒帯のマスク部分の計算を省略することができるので有効である。
【０１３１】
この第２の実施の形態における第２の符号化回路４０では、上述の第１の実施の形態と比べ、量子化スケール設定回路３３において、マクロブロック毎の割当符号量を計算する必要がある。この場合、量子化スケール設定回路３３は、供給されたフレーム毎の割当符号量ｂｉから、マクロブロック毎の割当符号量を、例えば、フレーム毎の割当符号量ｂｉを１フレーム中のマクロブロックの数で割ったものとする。送信バッファ４９からのバッファフィードバック制御は、上述の第１の実施の形態と同じである。
【０１３２】
この第２の実施の形態では、割当符号量ｂｉをフレームに基づいて求めていることから、上述の第１の実施の形態に比して、すべてのｂｉを記憶するために必要なメモリ量を節約することが可能である。
【０１３３】
第３の実施の形態
上述の実施の形態では、所定時間当たりの割当符号量すなわち所定時間当たりの平均符号化レートを、フレームを所定時間としてフレーム毎に得るようにしているが、本発明はこれに限定されるものではない。例えば、所謂ＭＰＥＧ（Moving Picture ExpertGroup）におけるＧＯＰ（Group of Picture）を所定時間としてもよい。なお、上述のＭＰＥＧは、所謂ＩＳＯ（国際標準化機構）とＩＥＣ（国際電気標準会議）のＪＴＣ（Joint Technical Committee ）１におけるＳＣ（Sub Committee ）２９のＷＧ（Working Group ）１１において検討されている動画像符号化方式の通称である。
【０１３４】
すなわち、この第３の実施の形態において、上記ＭＰＥＧにおけるＧＯＰは、少なくとも１枚の所謂Ｉピクチャと、複数枚のＰピクチャ又はＢピクチャ（非Ｉピクチャ）とから構成される。具体的には、例えば図１２に示すように、１枚のＩピクチャと、３ピクチャ周期の４枚のＰピクチャと、１０枚のＢピクチャとから構成されるとすると、符号化制御回路３０は、ＧＯＰ毎に割当符号量を求める。ここで、Ｉピクチャとは、フィールド内若しくはフレーム内符号化される画像であり、Ｐピクチャとは、前方向からのみ予測可能とされ、フィールド間若しくはフレーム間符号化される画像であり、Ｂピクチャとは、前方向から、後方向から、および両方向から予測可能とされ、フィールド間若しくはフレーム間符号化される画像である。
【０１３５】
そして、第１の符号化回路１０において、例えば図１３に示すように、ＧＯＰを構成するピクチャ数を周期としてＧＯＰ内の連続する任意の２枚のピクチャを仮にＩピクチャ、Ｐピクチャとすると共に、量子化ステップサイズを例えば１として、これらのＩピクチャ、Ｐピクチャの画像データに予測符号化処理、ＤＣＴ変換処理、可変長符号化処理を施して、可変長符号データを生成し、この可変長符号データを符号化制御回路３０に供給する。ここで、２枚のピクチャをＩピクチャ、Ｐピクチャとするのは、絵柄の複雑さと、フレーム間の相関性を調べるためであり、Ｉピクチャの発生符号量から絵柄の複雑さを知ることができ、Ｐピクチャの発生符号量からフレーム間の相関性を知ることができる。一般的に、連続する複数のフレームは類似した画像をもつため、抽出した２枚のピクチャからでも、ＧＯＰの絵柄の傾向を見ることができる。
【０１３６】
符号化制御回路３０は、Ｉピクチャのデータ量 bitＩj とＰピクチャのデータ量 bitＰj をＧＯＰ毎に計数すると共に、例えば下記式１７に示すように、これらのデータ量 bitＩj 、 bitＰj と、ＧＯＰを構成するＰピクチャの枚数Ｎとに基づいて、発生符号量ＧＯＰｙj （ｊ＝０、１、２・・・）をＧＯＰ毎に求める。
【０１３７】
ＧＯＰｙj ＝ bitＩj ＋Ｎ× bitＰj         ・・・式１７
そして、符号化制御回路３０は、このＧＯＰ毎の発生符号量ＧＯＰｙj と、使用可能なデータ総量に基づいて、ＧＯＰ毎に割り当てられる割当符号量を求めると共に、この割当符号量を第２の符号化回路４０に供給する。
【０１３８】
具体的には、全ＧＯＰ数をＭとし、使用可能なデータ総量をＢとし、ｊ（ｊ＝０、１、２・・・Ｍ−１）番目のＧＯＰの発生符号量をＧＯＰｙj とし、ｊ番目のＧＯＰでの輝度信号Ｙの平均値をＬｊ、分散をＶｊとし、色度信号Ｃｒの平均値をＲｊとし、動きベクトル量の平均値をＭｊとし、それぞれ関数ｆ１  、ｆ２  、ｆ３  、ｆ４  の特性から画像の絵柄の主観的印象を符号化難易度ＧＯＰｄj へ反映する係数αｊ，βｊ，γｊ，θｊを求め、式２２に示すように、それらとＧＯＰｙj の積により、符号化難易度ＧＯＰｄj を求める。関数ｆ１  、ｆ２  、ｆ３  、ｆ４  のそれぞれの特性は、上述した図３〜図６に示したものと同じものが適用できる。
【０１３９】
ビットレート演算回路３２は、ｊ番目のＧＯＰに対する割当符号量ＧＯＰｂj を下記式２３に従って計算する。ここで、ａ，ｃは定数であり、１シーケンスでの上記式１に示す平均ビットレートＳＱＢＲに応じて決定される値である。
【０１４０】
αｊ ＝ ｆ１（Ｌj）                               ・・・式１８
βｊ ＝ ｆ２（Ｒj）                               ・・・式１９
γｊ ＝ ｆ３（Ｖj）                               ・・・式２０
θｊ ＝ ｆ４（Ｍj）                               ・・・式２１
ＧＯＰｄj ＝ αｊ×βｊ×γｊ×θｊ×ＧＯＰｙj      ・・・式２２
ＧＯＰｂj ＝ ａ×ＧＯＰｄj ＋ ｃ                ・・・式２３
なお、上記式２３のような線形の関係式を用いないで、テーブル・ルックアップで割当符号量ＧＯＰｂj を求めるようにしてもよい。
【０１４１】
かくして、符号化制御回路３０は、例えば絵柄が複雑な画像が含まれる或いはフレーム間の相関が低いＧＯＰに対しては割当符号量ＧＯＰｂj を多くし、逆に単純な絵柄の画像が含まれる或いはフレーム間の相関が高いＧＯＰに対しては割当符号量ＧＯＰｂj を少なくする。
【０１４２】
次に、第２の符号化回路４０は、例えば図１４に示すように、ステップＳＴ２１において遅延器４３を介して画像データが入力されると、ステップＳＴ２２において、現在入力されている画像データがＧＯＰの先頭ピクチャかを判断し、該当するときはステップＳＴ２３に進み、該当しないときはステップＳＴ２４に進む。
【０１４３】
ステップＳＴ２３において、第２の符号化回路４０は、現在符号化の対象とされているＧＯＰに対する割当符号量を符号化制御回路３０から読み込み、ステップＳＴ２４に進む。
【０１４４】
ステップＳＴ２４において、第２の符号化回路４０は、画像データに予測符号化処理、ＤＣＴ変換処理を施すと共に、割当符号量に基づいた量子化ステップサイズにより係数データを量子化した後、可変長符号化し、ステップＳＴ２５に進む。
【０１４５】
ここで、量子化スケール設定回路３３は、供給されたＧＯＰ毎の割当符号量から、フレーム毎の割当符号量を、実際の符号化におけるピクチャタイプ（Ｉピクチャ、Ｐピクチャ、Ｂピクチャ）、すなわち図１２に示されるピクチャタイプを考慮して設定する。具体的には、Ｉピクチャに対する割当符号量を多くし、Ｂピクチャに対する割当符号量を少なくし、Ｐピクチャに対する割当符号量をその中間とする。量子化スケール設定回路３３の以降の処理は、上述のフレーム毎に割当符号量を求めた実施の形態と同様である。
【０１４６】
次にステップＳＴ２５において、同一の画面サイズや同一の転送レートが適用される全フレーム（シーケンス）に対して符号化処理が終了したかが判断され、該当するときは終了し、該当しないときはステップＳＴ２１に戻る。かくして、ＧＯＰ単位で符号化レートが変わる可変レート符号化が実現され、絵柄が複雑な画像（フレーム）が連続しても、これらの画像に対して量子化ステップサイズが従来の装置のように大きくされることなく、全体を通じて均等な高画質を得ることができる。また、この実施の形態ではＧＯＰ毎の割当符号量を２つのピクチャに基づいて求めていることから、上述の実施の形態に比して高速処理が可能である。なお、ＧＯＰ内の全ピクチャのデータ量に基づいて各ＧＯＰの割当符号量を求めるようにしてもよいことは言うまでもない。
【０１４７】
第４の実施の形態
次に、本発明を適用した画像符号化装置の第４の実施の形態について、図１５を参照しながら説明する。
【０１４８】
この第４の実施の形態と、上記第１〜第３の実施の形態とでは、次に示すような２つの相違点がある。すなわち、第１に、図１の第１の符号化回路１０がなく符号化難易度の求め方が異なっており、第２に、ビットレート演算回路３２の動作が異なっている。以下に、これらの違いについて説明する。
【０１４９】
この図１５に示す第４の実施の形態の画像符号化装置は、入力映像信号の統計的性質を求める画像解析回路６０と、該画像解析回路６０からの統計データ、及び使用可能なデータ総量に基づいて所定時間毎の符号化レートを求める符号化制御回路３０と、該符号化制御回路３０からの符号化レートに基づいて上記所定時間毎に上記入力映像信号を符号化して符号化データを生成する符号化回路４０とを備える。
【０１５０】
画像解析回路６０では、入力映像信号の統計的性質に基づく情報あるいは画像特性情報を求めており、この画像特性情報として、例えば、輝度信号Ｙの所定時間毎の平均値（Ｌ）を計算し、また入力画像の色度についての統計情報、例えば、色度信号Ｃｒの所定時間毎の平均値（Ｒ）を計算し、また入力画像の平坦度の統計情報、例えば、輝度信号Ｙの所定時間毎の分散値（Ｖ）を計算し、入力画像の動き量の統計情報、例えば、動きベクトル量の所定時間毎の平均値（Ｍ）を計算し、さらに、画像間差分情報、例えば動きベクトルの画像間予測残差の所定時間毎の絶対値和（Ｅ）を計算する。
【０１５１】
すなわち、動きベクトルの画像間予測残差としては、符号化対象マクロブロックの輝度信号Ｙj と、動きベクトルにより参照されるマクロブロックの輝度信号Ｒi の差の絶対値の和Ｅを求める。
【０１５２】
【数４】
0004636159.tif 000005
【０１５３】
なお、Ｅについては、絶対値和の代わりに二乗和を用いてもよい。
【０１５４】
この画像符号化装置では、例えば図１６に示すように、ステップＳＴ３１において、符号化難易度（difficulty）を表す入力映像信号の統計的性質の情報である画像特性情報、ここではマクロブロックの輝度信号Ｙの平均値Ｌと分散Ｖ、そして色度信号Ｃｒの平均値Ｒ、そしてマクロブロックの動きベクトル量の平均値Ｍと動きベクトルの画像間予測残差の絶対値和Ｅを、所定時間毎、例えばマクロブロック毎に求める。なお、マクロブロックがイントラ符号化モード、いわゆるＩピクチャの場合は、上記動きベクトルの画像間予測残差の絶対値和を計算するよりも、むしろマクロブロック内の平均値分離残差の絶対値和を計算することが好ましい。
【０１５５】
すなわち、イントラ符号化モードのブロック内の平均値分離残差の絶対値和として、符号化対象マクロブロックの輝度信号Ｙi と、マクロブロックの輝度信号Ｙi の平均値Ｙavとの差の絶対値和Ｅを、次の式２５により求める。
【０１５６】
【数５】
0004636159.tif 000006
【０１５７】
なお、この式２５のＥについて、絶対値和の代わりに、二乗和、すなわち上記分散値Ｖを用いるようにしてもよい。
【０１５８】
次のステップＳＴ３２において、ビットレート演算回路３２は、マクロブロック毎の輝度信号の平均値と分散と、色度信号の平均値と、動きベクトル量の平均値と、動きベクトルの画像間予測残差又は輝度信号の平均値分離残差と、使用可能なデータ総量に基づいて、マクロブロック毎に割り当てられる割当符号量を求める。
【０１５９】
次のステップＳＴ３３において、符号化回路４０の量子化回路４６は、割当符号量に基づいた量子化ステップサイズにより、ＤＣＴ回路４５から供給される係数データを量子化して、量子化データを生成するようになっている。
【０１６０】
ここで、ビットレート演算回路３２の具体的な動作を説明する。ビットレート演算回路３２は、シーケンスの全マクロブロック数をＮとし、ｉ（ｉ＝０、１、２・・・Ｎ−１）番目のマクロブロックの輝度信号Ｙの平均値をＬｉ、分散をＶｉとし、色度信号Ｃｒの平均値をＲｉとし、動きベクトル量の平均値をＭｉとし、関数ｆ１  、ｆ２  、ｆ３  、ｆ４  の特性から画像の絵柄の主観的印象を符号化難易度ｄi へ反映する係数αｉ  ，βｉ  ，γｉ  ，θｉ  を求める。また、動きベクトルの画像間予測残差の絶対値和Ｅに基づき、関数ｆ６  の特性から、そのマクロブロックの発生符号量の推定値、すなわち上記第１の実施の形態でのｙｉに相当するものｙ'ｉ を経験的に推定する。そして、下記の式３１に示すように、各係数αｉ  ，βｉ  ，γｉ  ，θｉ  と発生符号量の推定値ｙ'ｉ との積により、符号化難易度ｄｉを求めている。
【０１６１】
αｉ  ＝ ｆ１（Ｌｉ）                           ・・・式２６
βｉ  ＝ ｆ２（Ｒｉ）                           ・・・式２７
γｉ  ＝ ｆ３（Ｖｉ）                           ・・・式２８
θｉ  ＝ ｆ４（Ｍｉ）                           ・・・式２９
ｙ'ｉ  ＝ ｆ６（Ｅｉ）                           ・・・式３０
ｄｉ  ＝ αｉ×βｉ×γｉ×θｉ×ｙ'ｉ              ・・・式３１
上記関数ｆ１  、ｆ２  、ｆ３  、ｆ４  の特性の具体例は、上記図３〜図６に示すものを使用できる。また、上記関数ｆ６  の一例を図１７に示す。すなわち、この図１７は、動きベクトルの画像間予測残差に対するマクロブロック単位の発生符号量の推定値ｙ' を示している。実験結果から経験的にＥとｙ’とはほぼ比例する関係にあり、ｉ番目のマクロブロックの動きベクトルの画像間予測残差Ｅｉについての発生符号量の推定値ｙ'ｉ は ｆ６（Ｖｉ）となる。
【０１６２】
符号化対象マクロブロックがイントラ符号化モードの場合は、マクロブロック内の輝度信号の上記平均値分離残差の絶対値和、又は分散値（Ｖ）を用いることが好ましく、この場合には、例えば輝度信号Ｙの分散Ｖｉに基づき、関数ｆ５  の特性から、そのマクロブロックの発生符号量の推定値ｙ'ｉ を推定する。
【０１６３】
ｙ'ｉ  ＝ ｆ５（Ｖｉ）                           ・・・式３２
この関数 ｆ５（Ｖｉ）の具体例を図１８に示す。  
この図１８は、輝度信号Ｙの分散Ｖに対するマクロブロック単位の発生符号量の推定値ｙ' を示しており、ｉ番目のマクロブロックの輝度信号Ｙの分散Ｖｉについての発生符号量の推定値ｙ'ｉ は ｆ５（Ｖｉ）となる。
【０１６４】
ビットレート演算回路３２は、上記第１の実施の形態と同様に、符号化難易度ｄｉに対するｉ番目のマクロブロックの割当符号量ｂｉを下記式３３に示すように、計算する。なお、式３３のような線形の関係式を用いないで、テーブル・ルック・アップで行なうようにしてもよい。
【０１６５】
ｂｉ ＝ ａ×ｄi ＋ ｃ                         ・・・式３３
この関係式３３は、多くの動画像シーケンス、例えば多くの映画を符号化実験し、その画質を評価し、思考錯誤を通じて、経験的に求められるものであり、世の中のほとんどのシーケンスに適用可能な一般的な関係式とする。その求め方については、上記第１の実施の形態で説明した式７と同様な方法で作られる。
【０１６６】
かくして、ビットレート演算回路３２は、例えば複雑な絵柄のフレームに対しては割当符号量を多くし、逆に単純な絵柄のフレームに対しては割当符号量を少なくする。
【０１６７】
符号化回路４０の動作は、上記第１の実施の形態で説明した第２の符号化回路４０と同じであるので、省略する。
【０１６８】
なお、本発明は上述の実施の形態に限定されるものではなく、例えば上述の実施の形態おいては、変換符号化をＤＣＴとしているが、いわゆるストラト変換、ハール変換、ウエーブレット変換等としてもよい。また、取り扱う信号は、画像信号や映像信号に限定されず、例えばオーディオ信号の符号化にも適用でき、字幕データやキャラクタデータの信号等の符号化にも適用できるものである。例えばオーディオ信号の符号化に本発明を適用する場合には、聴覚的な統計情報と、必要に応じて第１の符号化を行って得られた所定時間毎の発生符号量とにより、符号化難易度を求めるようにすればよい。
【０１６９】
以上の説明からも明らかなように、本発明の実施の形態によれば、入力信号が属する種類の一般の入力信号により予め標準化された所定時間毎の符号化難易度と割当符号量とを関係付け、入力信号の所定時間毎の符号化難易度を求め、この入力信号の所定時間毎の符号化難易度に対して上記関係付けられた上記所定時間毎の割当符号量を求め、この割当符号量に基づいて上記所定時間毎に上記入力信号を符号化して符号化データを生成しているため、信号の入力に応じて、ほぼリアルタイムで、信号の複雑さに応じた最適の割当符号量での符号化が行える。
【０１７０】
また、上記符号化難易度を、入力信号の少なくとも一部を符号化して生成された符号化データの上記所定時間毎のデータ量に基づいて求めることにより、複雑な信号が連続しても量子化ステップサイズが極端に大きくされることなく、全体を通じて均等な高品質の符号化データを得ることができる。
【０１７１】
また、上記入力信号が映像信号の場合に、上記符号化難易度として、入力映像信号の所定時間毎の画像特性情報に基づいて求め、このときの上記画像特性情報として、画像の輝度情報としての輝度信号の所定時間毎の平均値、色度情報としての色度信号の所定時間毎の平均値、平坦度情報としての輝度信号の分散値、画像の動き情報としてのマクロブロックの動きベクトル量の所定時間毎の平均値、画像間差分としてマクロブロックの動きベクトルの画像間予測残差の所定時間毎の総和等を用いることにより、画像特性情報により人間の視覚特性が反映された符号化レートで符号化が行える。
【図面の簡単な説明】
【０１７２】
【図１】本発明の第１の実施の形態を適用した画像符号化装置の要部の回路構成を示すブロック図である。
【図２】第１の実施の形態の画像符号化装置を構成する第１の符号化回路の動作を説明するためのフローチャートである。
【図３】輝度信号Ｙの平均値Ｌと係数αの関数ｆ１  の特性図である。
【図４】色度信号Ｃｒの平均値Ｒと係数βの関数ｆ２  の特性図である。
【図５】輝度信号Ｙの分散値Ｖと係数γの関数ｆ３  の特性図である。
【図６】動きベクトル量の平均値Ｍと係数θの関数ｆ４  の特性図である。
【図７】シーケンス内での符号化難易度ｄのマクロブロックの出現確率ｈ（ｄ）を示す分布図である。
【図８】平均的な符号化難易度が低位、中位、高位の場合の符号化難易度ｄのマクロブロックの出現確率ｈ（ｄ）を示す分布図である。
【図９】符号化難易度ｄに対するマクロブロックの出現確率ｈ（ｄ）と、割当符号量ｂとを示す分布図である。
【図１０】符号化難易度ｄに対し平均ビットレートＳＱＢＲを独立変数としたときの割当符号量ｂを示す分布図である。
【図１１】第１の実施の形態の画像符号化装置を構成する第２の符号化回路の動作を説明するためのフローチャートである。
【図１２】ＭＰＥＧにおけるＧＯＰの構成を説明するための各ピクチャを示す図である。
【図１３】ＧＯＰ毎の符号化制御信号を説明するための各ピクチャを示す図である。
【図１４】本発明の第３の実施の形態となる画像符号化装置を構成する第２の符号化回路の動作を説明するためのフローチャートである。
【図１５】本発明の第４の実施の形態を適用した画像符号化装置の要部の回路構成を示すブロック図である。
【図１６】該第４の実施の形態の画像符号化装置の要部の動作を説明するためのフローチャートである。
【図１７】動きベクトルの画像間予測残差に対するマクロブロック単位の発生符号量の推定値ｙ'iの関数ｆ６  の特性図である。
【図１８】輝度信号Ｙの分散値Ｖとマクロブロックの発生符号量の推定値ｙ'iの関数ｆ５  の特性図である。
【図１９】予測符号化の原理を説明するための画像を示す図である。
【図２０】動き補償予測符号化の原理を説明するための画像を示す図である。
【図２１】画像符号化装置と画像復号化装置の構成例を示すブロック図である。
【図２２】マクロブロック、スライスの構成を示す図である。
【図２３】従来のエンコーダの回路構成の一例を示すブロック図である。
【図２４】従来のデコーダの回路構成の一例を示すブロック図である。
【符号の説明】
【０１７３】
１０  第１の符号化回路、  １４，４４  予測符号化回路、  １５，４５  ＤＣＴ回路、  １６，４６  量子化回路、  １７，４７  可変長符号化回路、  ３０  符号化制御回路、  ３１  カウンタ、  ３２  ビットレート演算回路、  ３３  量子化スケール設定回路、  ４０  第２の符号化回路、  ４３  遅延器、  ６０  画像解析回路、  ６１  フレーム内情報解析回路、  ６２  フレーム間情報解析回路
【図１】
0004636159.tif 000007
【図２】
0004636159.tif 000008
【図３】
0004636159.tif 000009
【図４】
0004636159.tif 000010
【図５】
0004636159.tif 000011
【図６】
0004636159.tif 000012
【図７】
0004636159.tif 000013
【図８】
0004636159.tif 000014
【図９】
0004636159.tif 000015
【図１０】
0004636159.tif 000016
【図１１】
0004636159.tif 000017
【図１２】
0004636159.tif 000018
【図１３】
0004636159.tif 000019
【図１４】
0004636159.tif 000020
【図１５】
0004636159.tif 000021
【図１６】
0004636159.tif 000022
【図１７】
0004636159.tif 000023
【図１８】
0004636159.tif 000024
【図１９】
0004636159.tif 000025
【図２０】
0004636159.tif 000026
【図２１】
0004636159.tif 000027
【図２２】
0004636159.tif 000028
【図２３】
0004636159.tif 000029
【図２４】
0004636159.tif 000030