JP3707118B2 - Image coding method and apparatus - Google Patents
Image coding method and apparatus Download PDFInfo
- Publication number
- JP3707118B2 JP3707118B2 JP31143695A JP31143695A JP3707118B2 JP 3707118 B2 JP3707118 B2 JP 3707118B2 JP 31143695 A JP31143695 A JP 31143695A JP 31143695 A JP31143695 A JP 31143695A JP 3707118 B2 JP3707118 B2 JP 3707118B2
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- data
- circuit
- predetermined time
- macroblock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Color Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、画像符号化方法及び装置に関し、特に、光ディスク、磁気ディスク、磁気テープ等の画像記録媒体に動画の映像信号を蓄積用符号化して記録するシステムや、伝送路を介して動画の映像信号を伝送するシステム等において使用される画像符号化方法及び装置に関するものである。
【0002】
【従来の技術】
従来、例えばテレビ会議システム、テレビ電話システム等のように動画の映像信号を遠隔地に伝送するシステムや、動画の映像信号を光ディスク、磁気ディスク、磁気テープ等の画像記録媒体に記録し、また記録された動画の映像信号を再生するシステム等において、伝送路(あるいは画像記録媒体)を効率良く利用するために、映像信号の有するライン相関やフレーム相関を利用して映像信号を所謂高能率符号化し、空間軸方向と時間軸方向の冗長度を落として有意情報のみを伝送し、伝送効率を高めるようになされている。
【0003】
例えば空間軸方向の符号化処理(以下フレーム内符号化処理という)では、映像信号の例えばライン相関を利用するもので、図15のAに示す時刻t1 、t2 、t3 、・・・において動画を構成する各画像PC1、PC2、PC3・・・を伝送しようとする場合、伝送処理すべき画像データを、例えば同一走査線内で1次元符号化したり、例えば画像を複数のブロックに分割し、各ブロックの画像データを2次元符号化することにより、データ圧縮を行い、伝送効率を向上させている。
【0004】
また、時間軸方向の符号化処理(以下フレーム間符号化処理という)では、映像信号のフレーム間相関を利用して例えば所謂予測符号化により、すなわち図15のBに示すように、順次隣合う画像PC1及びPC2、PC2及びPC3・・・間の対応する画素毎の画像データの差分(所謂予測誤差)でなる画像データPC12、PC23・・・を求め、これらの画像データPC12、PC23・・・を伝送することにより、データ圧縮を行い、伝送効率を向上させている。
【0005】
かくして、画像PC1、PC2、PC3・・・の全ての画像データを伝送する場合と比較して、格段に少ないデータ量で映像信号を伝送することができる。
【0006】
また、上述のフレーム間符号化処理における予測符号化では、さらに効率を高めるために、例えばマクロブロック単位で動き補償予測が用いられる。すなわち、例えば画面中央の人物が移動する場合等、画面中の動いている物体に対してその動きを検出し、その動き分だけ前の画像中で予測に用いる画像データの位置を補正して予測符号化を行うことにより、符号化効率を向上させることができる。しかし、これでもまだ、物体が移動して後ろから出現した部分に対しては、多くのデータを送らなけらばならない。そこで、動き補償予測を上述の前方だけではなく、後方あるいは両者を組み合わせて行うことにより、さらに符号化効率を高めることができる。
【0007】
具体的には、図16のAに示すように、伝送しようとする動画の映像信号VDの第0、第1、第2、第3・・・番目のフレームのフレームデータF0、F1、F2、F3・・・のマクロブロックにおいて、順次フレーム間に動きベクトルX0、X1、X2、X3・・・でそれぞれ表わされるような画像の変化があった場合、送信側の装置は、所定フレーム数(例えば1フレーム)置きの、すなわち第2、第4・・・番目のフレームを補間フレームに指定し、これらの補間フレームに対して、図16のBに示すように、所定の補間フレーム処理により伝送補間フレームデータF2X、F4X・・・を生成する。また、残りの非補間フレームに対して、フレームデータF1、F3・・・に所定の符号化処理を施して、伝送非補間フレームデータF1X、F3X・・・を生成する。
【0008】
例えば、動き補償されたフレームデータF3とフレームデータF2の差分SP2(予測誤差)、動き補償されたフレームデータF1とフレームデータF2の差分SP3、動き補償されたフレームデータF1、F3を補間処理して得られるフレームデータとフレームデータF2の差分SP4をマクロブロック単位でそれぞれ求め、フレームデータF2のマクロブロックSP1とこれらの差分の比較を行う。そして、これらのデータSP1〜SP4のうちでデータ発生量が最小のデータをマクロブロック単位で伝送補間データF2Xとし、以下同様して各補間フレームに対する伝送補間データF4X・・・を生成する。また、非補間フレームのフレームデータF1、F3・・・にそれぞれ、例えばDCT変換処理、可変長符号化処理等を施して伝送非補間フレームデータF1X、F3X・・・を生成する。
【0009】
そして、これらの伝送非補間フレームデータF1X、F3X・・・及び伝送補間データF2X、F4X・・・を、動きベクトルX0, X1, X3・・・のデータと共に、伝送データDATAとして受信側の装置に伝送する。
【0010】
一方、受信側の装置は、送られてくる伝送データDATA(伝送非補間フレームデータF1X、F3X・・・、伝送補間データF2X、F4X・・・、動きベクトルX0, X1, X3・・・のデータ)に、送信側の符号化処理に対応した復号化処理を施して、フレームデータF0、F1、F2、F3・・・を再生する。この結果、動き補償予測を前方だけではなく、後方あるいは両者を組み合わせて行うことにより、さらに符号化効率を高めることができる。
【0011】
ここで、上述の機能を有する画像符号化装置と画像復号化装置について、図17を参照しながら説明する。
【0012】
この図17に示す画像符号化装置70は、入力映像信号VDを輝度信号と色差信号に分離する前処理回路71と、該前処理回路71からの輝度信号、色差信号をそれぞれディジタル信号に変換するアナログ/ディジタル(以下A/Dという)変換回路72a、72bと、該A/D変換回路72a、72bからの輝度データ、色差データ(以下これらを画像データという)を記憶するフレームメモリ群73と、フレームメモリ群73から画像データをブロックフォーマットに従って読み出すフォーマット変換回路74と、フォーマット変換回路74からのブロックの画像データを高能率符号化するエンコーダ75とを備える。
【0013】
そして、前処理回路71は、入力映像信号VDを輝度信号と色差信号に分離し、A/D変換回路72a、72bは、輝度信号、色差信号をそれぞれ8ビツトからなる輝度データ、色差データに変換し、フレームメモリ群73は、これらの輝度データ、色差データを記憶する。
【0014】
フォーマット変換回路74は、フレームメモリ群73に記憶されている画像データ(輝度データ、色差データ)を、ブロックフォーマットに従って読み出し、エンコーダ75は、この読みだされた画像データを所定の高能率符号化により符号化して、ビットストリームを出力する。
【0015】
そして、このビットストリームは、伝送路や、光ディスク、磁気ディスク、磁気テープ等の画像記録媒体からなる伝送メディア90を介して、画像復号化装置80に供給される。
【0016】
この画像復号化装置80は、上述の図17に示すように、上記エンコーダ75に対応したデコーダ81と、該デコーダ81で再生された画像データを、フレームフォーマットに変換するフォーマット変換回路82と、該フォーマット変換回路82からの画像データを記憶するフレームメモリ群83と、該フレームメモリ群83から読み出された輝度データ、色差データをアナログ信号に変換するD/A変換回路84a、84bと、該D/A変換回路84a、84bからの輝度信号、色差信号を混合して出力映像信号を生成する後処理回路85とを備える。
【0017】
そして、デコーダ81は、エンコーダ75の高能率符号化に対応した復号化によりビットストリームを復号化して、ブロックフォーマットの画像データを再生し、フォーマット変換回路82は、この画像データをフレームフォーマットに変換してフレームメモリ群83に記憶する。
【0018】
D/A変換回路84a、84bは、フレームメモリ群83から読み出された輝度データ、色差データをそれぞれ輝度信号、色差信号に変換し、後処理回路81は、これらの輝度信号、色差信号を混合して出力映像信号を生成する。
【0019】
具体的には、前処理回路71及びA/D変換回路72a、72bは、上述したように輝度信号及び色差信号をディジタル信号に変換すると共に、色差信号に対しては上下左右方向に画素数が輝度信号の1/2となるようにデータ量を削減した後、時間軸多重化し、得られる輝度データと色差データをフレームメモリ群73に供給する。
【0020】
そして、フレームメモリ群73からは、上述したようにブロックフォーマットに従って輝度データと色差データが読み出される。すなわち、例えば1フレーム分の画像データは、図18のAに示すように、N個のスライスに分割され、各スライスが、図18のBに示すように、M個のマクロブロックを含むようになされ、各マクロブロックは、図18のCに示すように、8×8画素からなるブロック単位であって上下左右に隣接する4つの輝度ブロックの輝度データY[1] 、Y[2] 、Y[3] 、Y[4] と、これらの4つの輝度ブロックに対応する範囲の8×8画素からなる色差ブロックの色差データCb[5]、Cr[6]とを含んでなる。そして、フレームメモリ群73からは、スライスではマクロブロツク単位で画像データが連続し、マクロブロツク内ではY[1],Y[2],Y[3],Y[4],Cb[5],Cr[6] の順に連続するように輝度データと色差データが読み出される。このようにしてブロックフォーマットに従って読み出された画像データは、エンコーダ75に供給される。
【0021】
エンコーダ75は、図19に示すように、動きベクトル検出回路101を備え、この動きベクトル検出回路101は、ブロックフォーマットで供給される画像データの動きベクトルをマクロブロック単位で検出する。すなわち、動きベクトル検出回路101は、フレームメモリ群102に記憶された前方原画像及び/又は後方原画像を用いて、現在の参照画像の動きベクトルをマクロブロック単位で検出する。ここで、動きベクトルの検出は、マクロブロック単位でのフレーム間差分の絶対値和が最小になるものを、その動きベクトルとする。そして、検出された動きベクトルは動き補償回路113等に供給され、マクロブロック単位でのフレーム間差分の絶対値和はフレーム内/前方/後方/両方向予測判定回路103に供給される。
【0022】
このフレーム内/前方/後方/両方向予測判定回路103は、この値をもとに、参照ブロックの予測モードを決定し、決定した予測モードに基づいて、マクロブロック単位でフレーム内/前方/後方/両方向予測の切り換えを行うように予測符号化回路104を制御する。そして、予測符号化回路104は、加算回路104a、104b、104c及び切換スイッチ104dを備え、フレーム内符号化モードのときは入力画像データそのものを、前方/後方/両方向予測モードのときはそれぞれの予測画像に対する入力画像データの画素毎の差分(以下差分データという)を選択し、選択したデータをDCT回路105に供給する。
【0023】
DCT回路105は、映像信号の2次元相関を利用して、入力画像データ又は差分データをブロツク単位でDCT変換し、得られる係数データを量子化回路106に供給する。
【0024】
量子化回路106は、マクロブロック又はスライス毎に定まる量子化ステップサイズ(量子化スケール)を用いて係数データを量子化し、得られる量子化データを可変長符号化(VLC:Variable Length Code)回路107及び逆量子化回路108に供給する。ところで、この量子化に用いる量子化ステップサイズは、後述する送信バッファメモリ109のバッファ残量をフィードバックすることによって、送信バッファメモリ109が破綻しない値に決定され、この量子化ステップサイズも、可変長符号化回路107及び逆量子化回路108に供給される。
【0025】
可変長符号化回路107は、量子化データを、量子化ステップサイズ、予測モード、動きベクトルと共に可変長符号化し、伝送データとして送信バッファメモリ109に供給する。
【0026】
送信バッファメモリ109は、伝送データを一旦記憶した後、一定のビットレートで読み出すことにより、伝送データを平滑化してビットストリームとして出力すると共に、メモリに残留している残留データ量に応じてマクロブロック単位の量子化制御信号を量子化回路106にフィードバックして量子化ステップサイズを制御する。これにより送信バッファメモリ109は、ビットストリームとして発生されるデータ量を調整し、メモリ内に適正な残量(オーバーフロー又はアンダーフローを生じさせないようなデータ量)のデータを維持する。例えば、送信バッファメモリ109のデータ残量が許容上限にまで増量すると、送信バッファメモリ109は、量子化制御信号によつて量子化回路106の量子化ステップサイズを大きくすることにより、量子化データのデータ量を低下させる。一方、送信バッファメモリ109のデータ残量が許容下限まで減量すると、送信バッファメモリ109は、量子化制御信号によつて量子化回路106の量子化ステップサイズを小さくすることにより、量子化データのデータ量を増大させる。
【0027】
このようにして、バッファメモリ109から出力されるビットストリームは一定のビットレートで、上述したように伝送路や、光ディスク、磁気ディスク、磁気テープ等の画像記録媒体からなる伝送メディア90を介して、画像復号化装置80に供給される。
【0028】
一方、逆量子化回路108は、量子化回路106から供給される量子化データを逆量子化して、上述のDCT回路105の出力に対応する係数データ(量子化歪みが加算されている)を再生し、この係数データを逆離散余弦変換(以下IDCT:Inverse Discrete Cosine Trasformという)回路110に供給する。
【0029】
IDCT回路110は、係数データをIDCT変換して、フレーム内符号化モードでは入力画像データに対応する画像データを再生し、前方/後方/両方向予測モードでは予測符号化回路104の出力に対応する差分データを再生して、加算回路111に供給する。
【0030】
この加算回路111には、前方/後方/両方向予測モードのとき、後述する動き補償回路113から動き補償された予測画像データが供給されており、この動き補償された予測画像データと差分データを加算することにより、入力画像データに対応する画像データを再生する。
【0031】
そして、このようにして再生された画像データは、フレームメモリ112に記憶される。すなわち、逆量子化回路108〜加算回路111は、局所復号化回路を構成し、予測モードに基づいて、量子化回路106から出力される量子化データを局所復号化し、得られる復号画像を前方予測画像もしくは後方予測画像としてフレームメモリ112に書き込む。フレームメモリ112は、複数のフレームメモリからなり、フレームメモリのバンク切り換えが行われ、符号化する画像に応じて、単一のフレームが、前方予測画像データとして出力されたり、後方予測画像データとして出力される。また、両方向予測の場合は、前方予測画像データと後方予測画像データが例えば平均化されて出力される。これらの予測画像データは、後述するデコーダ81で再生される画像と全く同一の画像であり、次の処理画像はこの予測画像をもとに前方/後方/両方向予測符号化が行われる。
【0032】
すなわち、フレームメモリ112から読み出された画像データは動き補償回路113に供給され、この動き補償回路113は、動きベクトルに基づいて、予測画像データに動き補償を施し、動き補償された予測画像データを予測符号化回路104及び加算回路111に供給する。
【0033】
次に、デコーダ81について図20を参照しながら説明する。
【0034】
この図20に示すデコーダ81には、上記図17の伝送メディア90を介してビットストリームが入力される。このビットストリームは、受信バッファ201を介して可変長復号化(IVLC)回路202に入力される。可変長復号化回路202は、ビットストリームから量子化データ、動きベクトル、予測モード、量子化ステップサイズ等を再生する。これらの量子化データと量子化ステップサイズは逆量子化回路203に供給され、動きベクトルは動き補償回路207に供給され、予測モードは加算回路205に供給される。
【0035】
逆量子化回路203〜加算回路205の動作は、上記図18に示すエンコーダ75の局所復号化回路と同様であり、フレームメモリ群206、動き補償回路207の動作はそれぞれエンコーダ75のフレームメモリ112、動き補償回路113と同じであり、量子化データ、動きベクトル、予測モード、量子化ステップサイズをもとに復号化が行われる。この結果、加算回路205から再生画像データが出力され、この再生画像データは、上記図17のフォーマット変換回路82に送られる。
【0036】
【発明が解決しようとする課題】
以上のように、従来の装置では、エンコーダ75で発生するビットストリームの符号化ビットレートは伝送メディア90の転送レートにあわせて一定とされ、この制限のもとでデータ発生量、すなわちエンコーダ75における量子化回路106の量子化ステップサイズが制御されていた。換言すると、例えば絵柄が複雑な画像が連続するときは、量子化ステップサイズを大きくしてデータ発生量を抑圧し、逆に単純な絵柄が連続するときは、量子化ステップサイズを小さくしてデータ発生量を増加させることにより、バッファメモリ109のオーバーフロー又はアンダーフローを生じさせないようにして固定レートを保持するようになっていた。
【0037】
したがって、従来の装置では複雑な画像が連続するときは、量子化ステップサイズが大きくされ、画質が劣化し、単純な画像が連続するときは、量子化ステップサイズが小さくされ、全体を通じて均等な画質を得ることができなかった。
【0038】
また、ビットストリームをデータ容量が限られている画像記録媒体に記録する場合、絵柄が複雑な画像に対する極端な画質劣化を避けるためには、この複雑な画像の画質を損なわないような高いレートの固定レートを全体に対して適用しなければならず、記録時間を減少させる結果となっていた。
【0039】
さらに、単に画像の複雑さが同じ場合でも、絵柄によって符号化画質の主観的印象が悪い場合がある。これは、人間の視覚特性によるものであり、例えば画像の暗い部分や、赤い部分や、平坦な部分で、符号化ノイズ、例えばブロックノイズやモスキートノイズ等が目立つ、という問題がある。
【0040】
本発明は、このような実情に鑑みてなされたものであり、全体を通じて均等で良好な画質を得ることができ、また長時間記録を可能にし、さらに、人間の視覚特性を反映して符号化ノイズを目立たせないように符号化することが可能な画像符号化方法及び装置を提供することを目的とする。
【0041】
【課題を解決するための手段】
本発明によれば、入力映像信号の少なくとも一部を符号化して第1の符号化データを生成し、この第1の符号化データの所定時間毎のデータ量と、入力映像信号の所定時間毎の画像特性情報と、使用可能なデータ総量とに基づいて上記所定時間毎の符号化レートを求め、この符号化レートに基づいて上記所定時間毎に上記入力映像信号を符号化して第2の符号化データを生成することにより、上述の課題を解決する。
【0042】
また、上述の課題を解決するために、上記第1の符号化データを生成することなしに、入力映像信号の所定時間毎の画像特性情報に基づいて所定時間毎の符号化難易度を求め、この符号化難易度と、使用可能なデータ総量とに基づいて所定時間毎の符号化レートを求め、この符号化レートに基づいて上記所定時間毎に上記入力映像信号を符号化して符号化データを生成してもよい。
【0043】
上記画像特性情報としては、画像の輝度情報としての輝度信号の所定時間毎の平均値、色度情報としての色度信号の所定時間毎の平均値、平坦度情報としての輝度信号の分散値、画像の動き情報としてのマクロブロックの動きベクトル量の所定時間毎の平均値、画像間差分としてのマクロブロックの動きベクトルの画像間予測残差の所定時間毎の総和等を挙げることができる。
【0044】
すなわち、本発明に係る画像符号化方法及び装置は、入力画像信号の少なくとも一部を符号化して第1の符号化データを生成し、輝度信号の平均値を第1のパラメータとし、符号化ノイズの知覚しやすい低輝度でピーク値を有する第1の関数により、入力画像信号の所定時間毎の輝度信号の平均値に対応する第1の関数値を算出し、上記第1の関数値と上記第1の符号化データの所定時間毎のデータ量との積に基づき上記所定時間毎の符号化難易度を算出し、上記符号化難易度に比例させて、使用可能なデータ総量から上記所定時間毎に符号量を割り当てることにより、上記所定時間毎の符号化レートを求め、上記所定時間毎の符号化レートに基づいて上記所定時間毎に上記入力画像信号を符号化して第2の符号化データを生成することを特徴とするものである。
【0045】
これにより、画像の複雑さに応じた所定時間毎のデータ量に基づく符号化レートで符号化が行え、しかも、人間の視覚特性が反映された符号化が行える。
【0046】
【発明の実施の形態】
以下、本発明に係る画像符号化方法及び装置のいくつかの好ましい実施の形態について図面を参照しながら説明する。
【0047】
第1の実施の形態
本発明の第1の実施の形態を適用した画像符号化装置は、例えば図1に示すように、入力映像信号を符号化して第1の符号化データを生成する第1の符号化回路10と、入力映像信号の統計的性質あるいは画像特性を求める画像解析回路60と、該第1の符号化回路10からの第1の符号化データの所定時間毎のデータ量、及び該画像解析回路60からの統計データあるいは画像特性情報、及び使用可能なデータ総量に基づいて上記所定時間毎の符号化レートを求める符号化制御回路30と、該符号化制御回路30からの符号化レートに基づいて上記所定時間毎に上記入力映像信号を符号化して第2の符号化データを生成する第2の符号化回路40とを備える。
【0048】
上記画像解析回路60は、上述の図1に示すように、フレーム内情報解析回路61とフレーム間情報解析回路62からなる。フレーム内情報解析回路61では、入力画像の画像特性情報として、例えば、輝度,色度,平坦度の統計情報を計算し、フレーム間情報解析回路62では、入力画像の画像特性情報として、例えば、動画像の動き量の統計情報を計算する。
【0049】
上記画像特性情報の具体例を挙げると、入力画像の輝度についての統計情報としては、例えば、輝度信号Yの所定時間毎の平均値(L)を計算し、また入力画像の色度についての統計情報としては、例えば、色度信号Crの所定時間毎の平均値(R)を計算し、また入力画像の平坦度の統計情報としては、例えば、輝度信号Yの所定時間毎の分散値(V)を計算し、入力画像の動き量の統計情報としては、例えば、動きベクトル量の所定時間毎の平均値(M)を計算する。
【0050】
さらに、上記第1の符号化回路10は、上述の図1に示すように、入力映像信号である入力画像データを記憶するフレームメモリ群12と、該フレームメモリ群12に記憶された画像データに基づいて、入力画像データの動きベクトルを検出する動きベクトル検出回路11と、予測画像データを記憶するフレームメモリ22と、上記動きベクトル検出回路11からの動きベクトルに基づいて、上記フレームメモリ22から読み出された予測画像データに動き補償を施する動き補償回路23と、該動き補償回路23からの動き補償された予測画像データに基づいて、入力画像データを予測符号する予測符号化回路14と、該予測符号化回路14からの予測誤差である差分等を符号化、例えば離散余弦変換(以下DCT:Discrete Cosine Transform という)して係数データを生成するDCT回路15と、該DCT回路15からの係数データを一定の量子化ステップサイズで量子化して、量子化データを生成する量子化回路16と、該量子化回路16からの量子化データを可変長符号化して、可変長符号データを出力する可変長符号化(VLC:Variable Length Code)回路17と、上記量子化回路16からの量子化データを逆量子化して係数データを再生する逆量子化回路18と、該逆量子化回路18からの係数データを復号化、例えば逆離散余弦変換(以下IDCT:Inverse Discrete Cosine Trasformという)して上記差分を再生するIDCT回路20と、該IDCT回路20からの差分と上記動き補償回路23からの動き補償された予測画像データを加算して次の入力画像データに対する予測画像データを生成し、該予測画像データを上記フレームメモリ22に供給する加算回路21とを備える。
【0051】
また、上記第2の符号化回路40は、上述の図1に示すように、入力画像データを遅延する遅延器43と、予測画像データを記憶するフレームメモリ52と、上記動きベクトル検出回路11からの動きベクトルに基づいて上記フレームメモリ52から読み出された予測画像データに動き補償を施す動き補償回路53と、該動き補償回路53からの動き補償された予測画像データに基づいて、上記遅延器43で遅延された入力画像データを予測符号化する予測符号化回路44と、該予測符号化回路44からの差分等を符号化、例えばDCT変換して係数データを生成するDCT回路45と、上記符号化制御回路30からの符号化レートに基づいて量子化ステップサイズを設定する量子化スケール設定回路33と、上記DCT回路45からの係数データを上記量子化スケール設定回路33からの量子化ステップサイズで量子化して、量子化データを生成する量子化回路46と、該量子化回路46からの量子化データを可変長符号化して、可変長符号データを出力する可変長符号化回路47と、該可変長符号化回路47からの可変長符号データを一旦記憶し、一定のビットレートで出力する送信バッファメモリ49と、上記量子化回路46からの量子化データを逆量子化して係数データを再生する逆量子化回路48と、該逆量子化回路48からの係数データを復号化、例えばIDCT変換して上記差分を再生するIDCT回路50と、該IDCT回路50からの差分と上記動き補償回路53からの動き補償された予測画像データを加算して次の入力画像データに対する予測画像データを生成し、該予測画像データを上記フレームメモリ52に供給する加算回路51とを備える。
【0052】
この画像符号化装置では、第1の符号化回路10により、入力画像データの1シーケンスに対して符号化処理、例えば予測符号化処理、DCT変換処理、一定の量子化ステップサイズでの量子化処理、可変長符号化処理を施し、符号化制御回路30により符号化ビットレートを求めた後、この得られた符号化ビットレートに基づいて第2の符号化回路40により符号化を行っている。ここで、上記1シーケンスとは、例えば映画や番組の1本分のように、1つの画像記録媒体に記録される全フレームを想定しており、この他、記録媒体を分割して用いるときには各分割領域毎に記録される全フレームを1シーケンスとしてもよい。符号化制御回路30は、第1の符号化回路により得られた第1のビットストリームである可変長符号データの所定時間毎のデータ量と、画像解析回路60により求められた入力映像信号の輝度信号Yの所定時間毎の平均値(L)および分散(V),色度信号Crの所定時間毎の平均値(R)と、動きベクトル量の所定時間毎の平均値(M)と、例えば光ディスク、磁気ディスク、磁気テープ等からなる画像記録媒体55のデータ容量、あるいは伝送路のビットレート(転送レート)等により定まる使用可能なデータ総量とに基づいて、所定時間毎の符号化ビットレートを上記1シーケンス分求めている。また、第2の符号化回路40は、入力画像データに再び予測符号化処理、DCT変換処理、量子化処理、可変長符号化処理を施して、第2のビットストリームである可変長符号データを生成する際に、上記符号化ビットレートに基づいた量子化ステップサイズで量子化している。
【0053】
ここで、上記第1の実施の形態の画像符号化装置を構成する第1の符号化回路10の動作の具体例について、図2のフローチャートを参照しながら説明する。
【0054】
すなわち、図2に示すフローチャートのステップST1において、上記図1の第1の符号化回路10の量子化回路16は、量子化ステップサイズを例えば1としてDCT回路15から供給される係数データを量子化して、量子化データを生成し、符号化制御回路30のカウンタ31は、この量子化データを可変長符号化して得られる可変長符号データ(第1のビットストリーム)のデータ量を所定の単位時間、例えばマクロブロック毎に計数して、発生符号量(y)をマクロブロック毎に求める。さらに、画像解析回路60により、該マクロブロック内の輝度信号Yの平均値(L)及び分散(V)と、色度信号Crの平均値(R)とを求め、またマクロブロックの動きベクトル量の平均値(M)を求める。
【0055】
次のステップST2において、上記ビットレート演算回路32は、上記各値y,L,V,R,Mと、上述した使用可能なデータ総量(B)とに基づいて、マクロブロック毎に割り当てられる割当符号量(b)を求める。この場合、具体的には上記各値y,L,V,R,Mに基づいて符号化の難易度(difficulty)(d)を求め、この符号化難易度(d)と上記使用可能なデータ総量(B)とに基づいて上記割当符号量(b)を求めている。
【0056】
ステップST3において、第2の符号化回路40の量子化回路46は、割当符号量に基づいた量子化ステップサイズにより、DCT回路45から供給される係数データを量子化して、量子化データを生成するようになっている。
【0057】
このような第1の符号化回路10の動作について、図1を参照しながらより具体的に説明する。
【0058】
入力された画像データは、フレームメモリ群12に一旦記憶される。そして、フレームメモリ群12からは、従来の技術で述べたようにブロックフォーマットに従って読み出される。
【0059】
動きベクトル検出回路11は、フレームメモリ群12から必要な画像データを上述のマクロブロック単位で読みだし、動きベクトルを検出する。すなわち、動きベクトル検出回路11は、フレームメモリ群12に記憶されている前方原画像及び/又は後方原画像を用いて、現在の参照画像の動きベクトルをマクロブロック単位で検出する。ここで、動きベクトルの検出は、例えばマクロブロック単位でのフレーム間差分の絶対値和が最小になるものを、その動きベクトルとする。そして、検出された動きベクトルは動き補償回路23、53等に供給され、マクロブロック単位でのフレーム間差分の絶対値和はフレーム内/前方/後方/両方向予測判定回路13に供給される。
【0060】
フレーム内/前方/後方/両方向予測判定回路13は、この値をもとに、参照ブロックの予測モードを決定し、決定した予測モードに基づいて、ブロック単位でフレーム内/前方/後方/両方向予測の切り換えを行うように予測符号化回路14を制御する。
【0061】
予測符号化回路14は、上述の図1に示すように、加算回路14a、14b、14c及び切換スイッチ14dを備え、フレーム内符号化モードのときは入力画像データそのものを、前方/後方/両方向予測モードのときはそれぞれの予測画像に対する入力画像データの画素毎の差分(以下差分データという)を選択し、選択したデータをDCT回路15に供給する。
【0062】
DCT回路15は、映像信号の2次元相関を利用して、切換スイッチ14dから供給される入力画像データ又は差分データをブロツク単位でDCT変換し、得られる係数データを量子化回路16に供給する。
【0063】
量子化回路16は、一定の量子化ステップサイズ、例えば量子化ステップサイズを1として、DCT回路15から供給される係数データを量子化し、得られる量子化データを可変長符号化回路17及び逆量子化回路18に供給する。
【0064】
可変長符号化回路17は、量子化データを、量子化ステップサイズ、予測モード、動きベクトル等と共に可変長符号化し、得られる可変長符号データを第1のビットストリームとして符号化制御回路30に供給する。
【0065】
符号化制御回路30は、上述の図1に示すように、上記可変長符号化回路17から可変長符号データの所定時間毎のデータ量を計数するカウンタ31と、該カウンタ31からのデータ量及び使用可能なデータ総量に基づいて所定時間当たりの割当符号量を求めるビットレート演算回路32とを備える。そして、カウンタ31は、第1のビットストリームのデータ量を所定時間毎、例えばマクロブロック毎に計数して、発生符号量をマクロブロック毎に求め、この発生符号量をビットレート演算回路32に供給する。
【0066】
ビットレート演算回路32は、このマクロブロック毎の発生符号量と、マクロブロックの輝度信号Yの平均値(L)と分散(V)と、マクロブロックの色度信号Crの平均値(R)と、マクロブロックの動きベクトル量の平均値(M)と、使用可能なデータ総量に基づいて、マクロブロック毎に割り当てられる割当符号量すなわちマクロブロック時間毎の平均符号化レートを求めると共に、この割当符号量を第2の符号化回路40の量子化スケール設定回路33に供給する。
【0067】
具体的には、ビットレート演算回路32は、全マクロブロック数をNとし、使用可能なデータ総量をBとし、i(i=0、1、2・・・N−1)番目のマクロブロックの発生符号量をyi とし、i番目のマクロブロックの輝度信号Yの平均値をLi、分散をViとし、色度信号Crの平均値をRiとし、動きベクトル量の平均値をMiとし、それぞれ関数f1 、f2 、f3 、f4 の特性から画像の絵柄の主観的印象を符号化難易度di へ反映する係数αi ,βi ,γi ,θi を求め、式1に示すように、これらの係数とyiの積により、符号化難易度diを求めている。
【0068】
αi = f1(Li)
βi = f2(Ri)
γi = f3(Vi)
θi = f4(Mi)
di = αi×βi×γi×θi×yi ・・・式1
ここで、関数f1 、f2 、f3 、f4 の特性の具体例について、図3〜図6を参照しながら説明する。
【0069】
図3に、輝度信号Yの平均値Lに対する係数αを表す関数f1 の特性を示す。この図3の横軸のLは、0が黒であり、MAXが最も明るい値である。一般に、人間の目は、暗い画像では、符号化ノイズをわかりやすい。ただし、あるレベル以下の暗さでは、暗すぎて符号化ノイズを知覚できなくなる。この特徴に基づいて、L=0付近では、α=1とし、最も劣化を知覚しやすいLのレベルで、αはピークをもち、それ以上のLでは、徐々にαを小さくする。αが1以上の場合、符号化難易度dを増大させ、逆にαが1以下の場合、符号化難易度dを減少させる。なお、i番目のマクロブロックについての輝度信号Yの平均値はLiであり、このi番目のマクロブロックについての係数αi は f1(Li)となる。
【0070】
図4に、色度信号Crの平均値Rと係数βの関数f2 の特性を示す。図4の横軸のRは、0がグレーであり、MAXが最も赤い値である。一般に、人間の目は赤の劣化をわかりやすい特徴がある。この特徴に基づいて、Rが大きい値ほどβを1以上の大きな値とし、符号化難易度dを増大させる。なお、i番目のマクロブロックについての色度信号Crの平均値はRiであり、このi番目のマクロブロックについての係数βi は f2(Ri)となる。
【0071】
図5に、輝度信号Yの分散値Vと係数γの関数f3 の特性を示す。図5の横軸のVは、0が完全に平坦であり、MAXが最も絵柄が乱雑である。一般に、人間の目は、絵柄の平坦部分で、符号化ノイズがわかりやすく、逆に、絵柄が乱雑な部分では、劣化はわかりにくい。この特徴に基づいて、Vが大きい値ほどγを1以下の小さな値とし、符号化難易度dを減少させる。i番目のマクロブロックについての輝度信号Yの分散値はViであり、このi番目のマクロブロックについての係数γi は f3(Vi)となる。
【0072】
図6に、動きベクトル量の平均値Mと係数θの関数f4 の特性を示す。図6の横軸のMは、0が静止している場合で、MAXが最も動きが大きい(速い)。一般に、人間の目は、画像の動きが大きい(速い)と、目が動きについていけず、画像の劣化がわかりにくい。この特徴に基づいて、Mが大きい値ほどθを1以下の小さな値とし、符号化難易度dを減少させる。なお、マクロブロックがイントラ符号化される時は、θ=1とする。i番目のマクロブロックについての動きベクトル量の平均値はMiで、このi番目のマクロブロックについての係数θi はf4(Mi)となる。
【0073】
このように求めた係数α,β,γ,θを、発生符号量yと乗算することで、符号化難易度dを求める。なお、i番目のマクロブロックについては、それぞれ係数αi ,βi ,γi ,θi を求め、上記式1に示したように発生符号量yi と乗算し、符号化難易度diとする。
【0074】
ここで、i番目のマクロブロックに対する割当符号量をbi として、この割当符号量bi を下記式2に示すように上記符号化難易度di に比例させると、データ総量Bは、下記式3に示すように、全マクロブロックの割当符号量bi を加算することにより求められる。なお、a,cは定数である。
【0075】
bi = a×di + c ・・・式2
【0076】
【数1】
【0077】
ここで、定数cは、上記割当符号量bi を平均化したときの平均ビットレートを考慮して、上記1シーケンスでの平均ビットレートに応じて、予め決定される値である。また、定数aは下記式4により求めることができ、この定数aを上記式2に代入すると、i番目のマクロブロックに対する割当符号量bi は、下記式5により求めることができる。
【0078】
【数2】
【0079】
1スライスを構成する全てのマクロブロックについてのbiを加算したものが、そのスライスの割当符号量である。また、1フレームを構成する全てのマクロブロックについてのbiを加算したものが、そのフレームの割当符号量である。かくして、ビットレート演算回路32は、例えば複雑な絵柄のフレームに対しては割当符号量を多くし、逆に単純な絵柄のフレームに対しては割当符号量を少なくする。
【0080】
一方、逆量子化回路18は、量子化回路16から供給される量子化データを、量子化ステップサイズを1として逆量子化して、DCT回路15の出力に対応した係数データ(量子化歪みが加算されている)を再生し、この係数データをIDCT回路20に供給する。
【0081】
IDCT回路20は、係数データをIDCT変換して、フレーム内符号化モードでは予測符号化回路14の出力に対応した入力画像データを再生し、前方/後方/両方向予測モードでは差分データを再生して、加算回路21に供給する。
【0082】
加算回路21には、前方/後方/両方向予測モードのとき、動き補償回路23から動き補償された予測画像データが供給されており、この予測画像データとIDCT回路20から供給される差分データを加算することにより、入力画像データに対応した画像データを再生する。
【0083】
そして、このようにして再生された画像データは、フレームメモリ22に予測画像データとして記憶される。すなわち、逆量子化回路18〜加算回路21は、局所復号化回路を構成し、予測モードに基づいて、量子化回路16から出力される量子化データを局所復号化し、得られる復号画像を前方予測画像もしくは後方予測画像としてフレームメモリ22に書き込む。フレームメモリ22は、複数のフレームメモリからなり、フレームメモリのバンク切り替えが行われ、符号化する画像に応じて、例えば単一のフレームが、前方予測画像データとして出力されたり、後方予測画像データとして出力される。また、両方向予測の場合は、前方予測画像データと後方予測画像データが例えば平均化されて出力される。これらの予測画像データは、後述する画像復号化装置で再生される画像データと全く同一の画像データであり、次の処理画像はこの予測画像をもとに前方/後方/両方向予測符号化が行われる。
【0084】
次に、第2の符号化回路40の動作について説明する。なお、第2の符号化回路40を構成する量子化スケール設定回路33、遅延器43、量子化回路46、送信バッファメモリ49以外の回路は、上述した第1の符号化回路10を構成する回路と同じ動作を行うので、説明を省略する。
【0085】
遅延器43は、入力画像データを、例えば符号化制御回路30から符号化制御信号が出力されるまでの時間遅延する。そして、予測符号化回路44、DCT回路45において、遅延された入力画像データにフレーム内/前方/後方/両方向予測判定回路13から供給される予測モードに従った予測符号化処理、DCT変換処理が施され、係数データが生成される。
【0086】
量子化スケール設定回路33は、送信バッファ49からのバッファフィードバックから検出される、あるマクロブロックにおいて発生した発生符号量と、このマクロブロック毎の割当符号量の比較を行う。
【0087】
量子化スケール設定回路33は、第2の符号化での各マクロブロックの発生符号量を設定された各マクロブロックの割当符号量に近付けるため、当該マクロブロックにおける発生符号量がマクロブロック毎の割当符号量より大きい場合、次のマクロブロックの発生符号量を抑えるために次のマクロブロックの量子化ステップサイズを大きく設定し、当該マクロブロックにおける発生符号量がマクロブロック毎の割当符号量より小さい場合は、発生符号量を多くするために次のマクロブロックの量子化ステップサイズを小さくする。なお上記の説明では、マクロブロック毎に割当符号量と発生符号化量を近付けるように制御したが、この他、スライス毎に、フレーム毎に、あるいは後述するようにGOP(グループオブピクチャ)毎に制御を行わせるようにしてもよい。
【0088】
さらに、量子化スケール設定回路33は、送信バッファ49からのバッファフィードバックが、送信バッファ49のオーバーフローが近いことを示す場合、上記の割当符号量と発生符号量との比較結果によらず、量子化ステップサイズを大きくしてオーバーフローを抑制し、また、送信バッファからのバッファフィードバックが、送信バッファ49のアンダーフローが近いことを示す場合、上記の割当符号量と発生符号量との比較結果によらず、量子化ステップサイズを小さくしてアンダーフローを抑制するようにしてもよい。
【0089】
なお、上記の説明では、マクロブロック毎に発生符号量と割当符号量とを比較して、マクロブロック毎に量子化ステップサイズを切り換えるようにしたが、スライス毎、フレーム毎、あるいはGOP毎に切り換えを行うこともできる。
【0090】
また、上記の説明では、発生符号量を送信バッファ49の蓄積量から検出するようにしたが、可変長符号化回路47の出力から直接得ることもできる。量子化スケール設定回路33は、このようにして設定した量子化ステップサイズを量子化回路46に供給する。
【0091】
量子化回路46は、上述した量子化スケール設定回路33から供給される量子化ステップサイズにより、DCT回路45から供給される係数データを量子化して、量子化データを生成する。
【0092】
そして、可変長符号化回路47は、量子化回路46から供給される量子化データを、量子化スケール設定回路33からの量子化ステップサイズ、フレーム内/前方/後方/両方向予測判定回路13からの予測モード、動きベクトル検出回路11からの動きベクトル等と共に可変長符号化し、得られる可変長符号データを第2のビットストリームとして送信バッファメモリ49に供給する。
【0093】
ここで、図7は、この画像符号化装置の第2の符号化回路40の動作を概略的に示すフローチャートである。
【0094】
この図7に示すように、ステップST11において、遅延器43を介して画像データが入力されると、ステップST12において、量子化スケール設定回路33は、現在符号化の対象とされているフレームに対する割当符号量を符号化制御回路30から読み込み、ステップST13に進む。
【0095】
ステップST13において、予測符号化回路44〜可変長符号化回路47は、画像データに予測符号化処理、DCT変換処理を施すと共に、マクロブロックの割当符号量に基づいた量子化ステップサイズにより係数データを量子化した後、可変長符号化し、ステップST14に進む。
【0096】
ステップST14において、例えば同一の画面サイズや同一の転送レートが適用される全フレーム(シーケンス)に対して符号化処理が終了したかが判断され、該当するときは終了し、該当しないときはステップST11に戻る。かくして、フレーム単位で符号化レートが変わる可変レート符号化が実現され、絵柄が複雑な画像(フレーム)が連続しても、これらの画像に対して量子化ステップサイズが従来の装置のように大きくされることなく、全体を通じて均等な高画質を得ることができる。
【0097】
一方、逆量子化回路48は、量子化回路46から供給される量子化データを、上述の量子化回路46で用いた量子化ステップサイズにより逆量子化して、DCT回路45の出力に対応した係数データ(量子化歪みが加算されている)を再生し、この係数データをIDCT回路50に供給する。すなわち、局所復号化回路を構成する逆量子化回路48〜加算回路51は、量子化回路46から出力される量子化データを局所復号化し、得られる復号画像を前方予測画像もしくは後方予測画像としてフレームメモリ52に書き込む。フレームメモリ52に記憶された画像データは、次の処理画像に対する予測画像として使用される。
【0098】
送信バッファメモリ49は、必要に応じて設ければよいが、設けた場合には、送信バッファメモリ49は、可変長符号データを一旦記憶した後、一定のビットレートで読み出すことにより、可変長符号データを平滑化してビットストリームとして出力する。そして、送信バッファメモリ49から出力されたビットストリームは、例えば符号化されたオーディオ信号、同期信号等と多重化され、更にエラー訂正用のコードが付加され、伝送あるいは記録に適した所定の変調が加えられた後、例えば伝送路を介して画像復号化装置に伝送されたり、上述の図1に示すように、光ディスク、磁気ディスク、磁気テープ等からなる画像記録媒体55に記録される。すなわち、第2の符号化回路40において、例えば予め複雑な画像に対しては割当符号量bi を多くして、単純な画像に対しては割当符号量bi を少なくして可変レート符号化を行っていることから、従来の装置のように絵柄が複雑な画像に対して極端な画質劣化をさけるために全体を通じて高いレートの固定レートを適用する必要がなく、画像記録媒体55の記録時間を長くすることができる。
【0099】
送信バッファメモリ49を設けない場合、あるいは小容量のメモリを設ける場合には、可変ビットレートで出力ビットストリームが画像記録媒体55に供給されることになるが、記録レートを可変制御でき最高記録レートが出力ビットストリームの最高ビットレート以上の記録装置を用いることにより、画像記録媒体55の全記録容量あるいは上記使用可能なデータ総量Bをオーバーフローすることがない範囲で、しかも使用可能なデータ総量Bに近いデータ量で、1シーケンスの映像信号を記録することができ、画像記録媒体55の全記録容量を、複雑な画像には多く、単純な画像には少なく割り当てて、全体として最も良好な画質が得られるように、媒体容量の最適の有効利用を図ることができる。
【0100】
以上説明した本発明の実施の形態からも明らかなように、第1の符号化回路10において、所定時間毎に符号化の難易度(difficulty)を計算するために、標準量子化値を予め設定し、バッファの占有量による制御を行なわず、適応量子化のみでDCT係数を量子化し符号量を求めており、適応量子化は、固定の標準量子化値とした時の符号化情報量に加え、画像の明るさ、、平坦度、色度、画像の動きのような画像特性情報を所定時間毎に計算し、ビットレート演算回路では、これらの画像特性情報と、符号化情報量と、使用可能なデータ総量とに基づいて、所定時間毎に割り当てられる割当符号量、例えばフレーム時間毎の平均符号化レートを求めている。
【0101】
ここで、上記画像の明るさとしては、例えば、輝度信号Yの所定時間毎の平均値(L)を、平坦度としては、例えば、輝度信号Yの所定時間毎の分散値(V)を、色度としては、例えば、色度信号Crの所定時間毎の平均値(R)を、画像の動きとしては、例えば、マクロブロックの動きベクトル量の所定時間毎の平均値(M)を、それぞれ用いている。
【0102】
第2の符号化回路40では、仮符号化(第1の符号化)で得られた所定時間毎の発生符号量に対して、目標符号量を決めて、量子化ステップサイズあるいは量子化値を制御して、画像の符号化を行なう。すなわち、各所定時間毎に、人間の視覚特性に応じた符号量が配分されるように、暗い画像のノイズを知覚しやすい部分で量子化ステップサイズを小さくし、画面の平坦部分ほど量子化ステップサイズを小さくし、赤レベルが大きいほど量子化ステップサイズを小さくし、動きベクトル量が大きい(動きが速い)ほど量子化ステップサイズを大きくしている。
【0103】
このように、人間の視覚特性が反映された符号化を行うことにより、絵柄によって符号化画質の主観的印象が悪い場合、例えば、画像の暗い部分や、赤い部分や、平坦な部分等でも、符号化ノイズ(ブロックノイズ、モスキートノイズ)が目立つことを未然に回避できる。
【0104】
第2の実施の形態
ところで、上述の第1の実施の形態では、所定時間当たりの割当符号量、すなわち所定時間当たりの平均符号化レートを、マクロブロックを所定時間としてマクロブロック毎に得るようにしているが、本発明はこれに限定されるものではない。例えば、フレームを所定時間とする場合も同様である。この場合は、上記式1〜式5における、yi,Li,Ri,Vi,Miのパラメータ群を1フレーム時間を所定時間として計算する。それらパラメータ群に基づいて、各フレーム毎にその割当符号量biを上記式5により求めることができる。
【0105】
この第2の実施の形態の場合のLi,Ri,Vi,Miの計算方法は、1フレームでの全てのマクロブロックの平均値としても良いし、1フレームの中で指定された一部のマクロブロックの平均値としても良い。後者の方法は、レターボックスフォーマット、すなわち4:3の画面に16:9の画像を表示するためにフレームの上下が黒帯でマスクされているフォーマットの画像を扱う場合に有効である。この場合、画像の上下の黒帯のマスク部分を除いた中央の有効な画像部分を構成するマクロブロックについて、Li,Ri,Vi,Miを計算する。この方法では、フレームの中央の有効な画像部分についての性質を正確にとらえることができ、上記黒帯のマスク部分の計算を省略することができるので有効である。
【0106】
この第2の実施の形態における第2の符号化回路40では、上述の第1の実施の形態と比べ、量子化スケール設定回路33において、マクロブロック毎の割当符号量を計算する必要がある。この場合、量子化スケール設定回路33は、供給されたフレーム毎の割当符号量biから、マクロブロック毎の割当符号量を、例えば、フレーム毎の割当符号量biを1フレーム中のマクロブロックの数で割ったものとする。送信バッファ49からのバッファフィードバック制御は、上述の第1の実施の形態と同じである。
【0107】
この第2の実施の形態では、割当符号量biをフレームに基づいて求めていることから、上述の第1の実施の形態に比して、すべてのbiを記憶するために必要なメモリ量を節約することが可能である。
【0108】
第3の実施の形態
上述の実施の形態では、所定時間当たりの割当符号量すなわち所定時間当たりの平均符号化レートを、フレームを所定時間としてフレーム毎に得るようにしているが、本発明はこれに限定されるものではない。例えば、所謂MPEG(Moving Picture ExpertGroup)におけるGOP(Group of Picture)を所定時間としてもよい。なお、上述のMPEGは、所謂ISO(国際標準化機構)とIEC(国際電気標準会議)のJTC(Joint Technical Committee )1におけるSC(Sub Committee )29のWG(Working Group )11において検討されている動画像符号化方式の通称である。
【0109】
すなわち、この第3の実施の形態において、上記MPEGにおけるGOPは、少なくとも1枚の所謂Iピクチャと、複数枚のPピクチャ又はBピクチャ(非Iピクチャ)とから構成される。具体的には、例えば図8に示すように、1枚のIピクチャと、3ピクチャ周期の4枚のPピクチャと、10枚のBピクチャとから構成されるとすると、符号化制御回路30は、GOP毎に割当符号量を求める。ここで、Iピクチャとは、フィールド内若しくはフレーム内符号化される画像であり、Pピクチャとは、前方向からのみ予測可能とされ、フィールド間若しくはフレーム間符号化される画像であり、Bピクチャとは、前方向から、後方向から、および両方向から予測可能とされ、フィールド間若しくはフレーム間符号化される画像である。
【0110】
そして、第1の符号化回路10において、例えば図9に示すように、GOPを構成するピクチャ数を周期としてGOP内の連続する任意の2枚のピクチャを仮にIピクチャ、Pピクチャとすると共に、量子化ステップサイズを例えば1として、これらのIピクチャ、Pピクチャの画像データに予測符号化処理、DCT変換処理、可変長符号化処理を施して、可変長符号データを生成し、この可変長符号データを符号化制御回路30に供給する。ここで、2枚のピクチャをIピクチャ、Pピクチャとするのは、絵柄の複雑さと、フレーム間の相関性を調べるためであり、Iピクチャの発生符号量から絵柄の複雑さを知ることができ、Pピクチャの発生符号量からフレーム間の相関性を知ることができる。一般的に、連続する複数のフレームは類似した画像をもつため、抽出した2枚のピクチャからでも、GOPの絵柄の傾向を見ることができる。
【0111】
符号化制御回路30は、Iピクチャのデータ量 bitIj とPピクチャのデータ量 bitPj をGOP毎に計数すると共に、例えば下記式6に示すように、これらのデータ量 bitIj 、 bitPj と、GOPを構成するPピクチャの枚数Nとに基づいて、発生符号量GOPyj (j=0、1、2・・・)をGOP毎に求める。
【0112】
GOPyj = bitIj +N× bitPj ・・・式6
そして、符号化制御回路30は、このGOP毎の発生符号量GOPyj と、使用可能なデータ総量に基づいて、GOP毎に割り当てられる割当符号量を求めると共に、この割当符号量を第2の符号化回路40に供給する。
【0113】
具体的には、全GOP数をMとし、使用可能なデータ総量をBとし、j(j=0、1、2・・・M−1)番目のGOPの発生符号量をGOPyj とし、j番目のGOPでの輝度信号Yの平均値をLj、分散をVjとし、色度信号Crの平均値をRjとし、動きベクトル量の平均値をMjとし、それぞれ関数f1 、f2 、f3 、f4 の特性から画像の絵柄の主観的印象を符号化難易度GOPdj へ反映する係数αj,βj,γj,θjを求め、式7に示すように、それらとyj の積により、符号化難易度GOPdj を求める。関数f1 、f2 、f3 、f4 のそれぞれの特性は、上述した図3〜図6に示したものと同じものが適用できる。
【0114】
j番目のGOPに対する割当符号量をGOPbj とし、この割当符号量GOPbj を下記式8に示すように難易度に比例させると、データ総量Bは、下記式9に示すように、全GOPの割当符号量GOPbj を加算することにより求められる。なお、a,cは定数である。
【0115】
αj = f1(Lj)
βj = f2(Rj)
γj = f3(Vj)
θj = f4(Mj)
GOPdj = αj×βj×γj×θj×GOPyj ・・・式7
GOPbj = a×GOPdj + c ・・・式8
【0116】
【数3】
【0117】
ここで、定数cは、上記割当符号量bi を平均化したときの平均ビットレートを考慮して、上記1シーケンスでの平均ビットレートに応じて、予め決定される値である。また、定数aは下記式10により求めることができ、この定数aを式8に代入すると、j番目のGOPに対する割当符号量GOPbj は、下記式11により求めることができる。
【0118】
【数4】
【0119】
かくして、符号化制御回路30は、例えば絵柄が複雑な画像が含まれる或いはフレーム間の相関が低いGOPに対しては割当符号量GOPbj を多くし、逆に単純な絵柄の画像が含まれる或いはフレーム間の相関が高いGOPに対しては割当符号量GOPbj を少なくする。
【0120】
次に、第2の符号化回路40は、例えば図10に示すように、ステップST21において遅延器43を介して画像データが入力されると、ステップST22において、現在入力されている画像データがGOPの先頭ピクチャかを判断し、該当するときはステップST23に進み、該当しないときはステップST24に進む。
【0121】
ステップST23において、第2の符号化回路40は、現在符号化の対象とされているGOPに対する割当符号量を符号化制御回路30から読み込み、ステップST24に進む。
【0122】
ステップST24において、第2の符号化回路40は、画像データに予測符号化処理、DCT変換処理を施すと共に、割当符号量に基づいた量子化ステップサイズにより係数データを量子化した後、可変長符号化し、ステップST25に進む。
【0123】
ここで、量子化スケール設定回路33は、供給されたGOP毎の割当符号量から、フレーム毎の割当符号量を、実際の符号化におけるピクチャタイプ(Iピクチャ、Pピクチャ、Bピクチャ)、すなわち図8に示されるピクチャタイプを考慮して設定する。具体的には、Iピクチャに対する割当符号量を多くし、Bピクチャに対する割当符号量を少なくし、Pピクチャに対する割当符号量をその中間とする。量子化スケール設定回路33の以降の処理は、上述のフレーム毎に割当符号量を求めた実施の形態と同様である。
【0124】
次にステップST25において、同一の画面サイズや同一の転送レートが適用される全フレーム(シーケンス)に対して符号化処理が終了したかが判断され、該当するときは終了し、該当しないときはステップST21に戻る。かくして、GOP単位で符号化レートが変わる可変レート符号化が実現され、絵柄が複雑な画像(フレーム)が連続しても、これらの画像に対して量子化ステップサイズが従来の装置のように大きくされることなく、全体を通じて均等な高画質を得ることができる。また、この実施の形態ではGOP毎の割当符号量を2つのピクチャに基づいて求めていることから、上述の実施の形態に比して高速処理が可能である。なお、GOP内の全ピクチャのデータ量に基づいて各GOPの割当符号量を求めるようにしてもよいことは言うまでもない。
【0125】
第4の実施の形態
次に、本発明を適用した画像符号化装置の第4の実施の形態について、図11を参照しながら説明する。
【0126】
この第4の実施の形態と、上記第1〜第3の実施の形態とでは、次に示すような2つの相違点がある。すなわち、第1に、図1の第1の符号化回路10がなく符号化難易度の求め方が異なっており、第2に、ビットレート演算回路32の動作が異なっている。以下に、これらの違いについて説明する。
【0127】
この図11に示す第4の実施の形態の画像符号化装置は、入力映像信号の統計的性質を求める画像解析回路60と、該画像解析回路60からの統計データ、及び使用可能なデータ総量に基づいて所定時間毎の符号化レートを求める符号化制御回路30と、該符号化制御回路30からの符号化レートに基づいて上記所定時間毎に上記入力映像信号を符号化して符号化データを生成する符号化回路40とを備える。
【0128】
画像解析回路60では、入力映像信号の統計的性質に基づく情報あるいは画像特性情報を求めており、この画像特性情報として、例えば、輝度信号Yの所定時間毎の平均値(L)を計算し、また入力画像の色度についての統計情報、例えば、色度信号Crの所定時間毎の平均値(R)を計算し、また入力画像の平坦度の統計情報、例えば、輝度信号Yの所定時間毎の分散値(V)を計算し、入力画像の動き量の統計情報、例えば、動きベクトル量の所定時間毎の平均値(M)を計算し、さらに、画像間差分情報、例えば動きベクトルの画像間予測残差の所定時間毎の絶対値和(E)を計算する。
【0129】
すなわち、動きベクトルの画像間予測残差としては、符号化対象マクロブロックの輝度信号Yj と、動きベクトルにより参照されるマクロブロックの輝度信号Ri の差の絶対値の和Eを求める。
【0130】
【数5】
【0131】
なお、Eについては、絶対値和の代わりに二乗和を用いてもよい。
【0132】
この画像符号化装置では、例えば図12に示すように、ステップST31において、符号化難易度(difficulty)を表す入力映像信号の統計的性質の情報である画像特性情報、ここではマクロブロックの輝度信号Yの平均値Lと分散V、そして色度信号Crの平均値R、そしてマクロブロックの動きベクトル量の平均値Mと動きベクトルの画像間予測残差の絶対値和Eを、所定時間毎、例えばマクロブロック毎に求める。なお、マクロブロックがイントラ符号化モード、いわゆるIピクチャの場合は、上記動きベクトルの画像間予測残差の絶対値和を計算するよりも、むしろマクロブロック内の平均値分離残差の絶対値和を計算することが好ましい。
【0133】
すなわち、イントラ符号化モードのブロック内の平均値分離残差の絶対値和として、符号化対象マクロブロックの輝度信号Yi と、マクロブロックの輝度信号Yi の平均値Yavとの差の絶対値和Eを、次の式13により求める。
【0134】
【数6】
【0135】
なお、この式13のEについて、絶対値和の代わりに、二乗和、すなわち上記分散値Vを用いるようにしてもよい。
【0136】
次のステップST32において、ビットレート演算回路32は、マクロブロック毎の輝度信号の平均値と分散と、色度信号の平均値と、動きベクトル量の平均値と、動きベクトルの画像間予測残差又は輝度信号の平均値分離残差と、使用可能なデータ総量に基づいて、マクロブロック毎に割り当てられる割当符号量を求める。
【0137】
次のステップST33において、符号化回路40の量子化回路46は、割当符号量に基づいた量子化ステップサイズにより、DCT回路45から供給される係数データを量子化して、量子化データを生成するようになっている。
【0138】
ここで、ビットレート演算回路32の具体的な動作を説明する。ビットレート演算回路32は、シーケンスの全マクロブロック数をNとし、i(i=0、1、2・・・N−1)番目のマクロブロックの輝度信号Yの平均値をLi、分散をViとし、色度信号Crの平均値をRiとし、動きベクトル量の平均値をMiとし、関数f1 、f2 、f3 、f4 の特性から画像の絵柄の主観的印象を符号化難易度di へ反映する係数αi ,βi ,γi ,θi を求める。また、動きベクトルの画像間予測残差の絶対値和Eに基づき、関数f6 の特性から、そのマクロブロックの発生符号量の推定値、すなわち上記第1の実施の形態でのyiに相当するものy'i を経験的に推定する。そして、下記の式31に示すように、各係数αi ,βi ,γi ,θi と発生符号量の推定値y'i との積により、符号化難易度diを求めている。
【0139】
αi = f1(Li) ・・・式14
βi = f2(Ri) ・・・式15
γi = f3(Vi) ・・・式16
θi = f4(Mi) ・・・式17
y'i = f6(Ei) ・・・式18
di = αi×βi×γi×θi×y'i ・・・式19
上記関数f1 、f2 、f3 、f4 の特性の具体例は、上記図3〜図6に示すものを使用できる。また、上記関数f6 の一例を図13に示す。すなわち、この図13は、動きベクトルの画像間予測残差に対するマクロブロック単位の発生符号量の推定値y' を示している。実験結果から経験的にEとy’とはほぼ比例する関係にあり、i番目のマクロブロックの動きベクトルの画像間予測残差Eiについての発生符号量の推定値y'i は f6(Ei)となる。
【0140】
符号化対象マクロブロックがイントラ符号化モードの場合は、マクロブロック内の輝度信号の上記平均値分離残差の絶対値和、又は分散値(V)を用いることが好ましく、この場合には、例えば輝度信号Yの分散Viに基づき、関数f5 の特性から、そのマクロブロックの発生符号量の推定値y'i を推定する。
【0141】
y'i = f5(Vi) ・・・式20
この関数 f5(Vi)の具体例を図14に示す。
この図14は、輝度信号Yの分散Vに対するマクロブロック単位の発生符号量の推定値y' を示しており、i番目のマクロブロックの輝度信号Yの分散Viについての発生符号量の推定値y'i は f5(Vi)となる。
【0142】
i番目のマクロブロックに対する割当符号量biは、上記第1の実施の形態で説明した式5のようにして求めることができる。
【0143】
かくして、ビットレート演算回路32は、例えば複雑な絵柄のフレームに対しては割当符号量を多くし、逆に単純な絵柄のフレームに対しては割当符号量を少なくする。
【0144】
符号化回路40の動作は、上記第1の実施の形態で説明した第2の符号化回路40と同じであるので、省略する。
【0145】
ここで、上述した実施の形態では、所定時間当たりの割当符号量biについて、マクロブロックを所定時間として、マクロブロック毎に得るようにた例を説明しているが、この所定時間をフレームまたはGOP(グループオブピクチャ)とする場合も同様である。この場合、上記第2、第3の実施の形態のように、輝度信号Yの平均値Li、分散値Vi、色度信号Crの平均値Ri、及び動きベクトル量の平均値Miの各パラメータを所定時間毎に計算し、さらに上記動きベクトルの画像間予測残差又は輝度信号の平均値分離残差の絶対値和Eiを所定時間毎に計算し、上記式19のように、所定時間毎の符号化難易度を計算し、上記式5のように、所定時間毎の割当符号量を計算すればよい。
【0146】
なお、本発明は上述の実施の形態に限定されるものではなく、例えば上述の実施の形態おいては、変換符号化をDCTとしているが、所謂ストラト変換、ハール変換、ウエーブレット変換等としてもよい。
【0147】
【発明の効果】
以上の説明から明らかなように、本発明によれば、入力画像信号の少なくとも一部を符号化して第1の符号化データを生成し、第1の符号化データの所定時間毎のデータ量と入力画像信号の所定時間毎の輝度信号の平均値をパラメータとする第1の関数との積に基づき符号化難易度を算出し、この符号化難易度と、使用可能なデータ総量とに基づいて所定時間毎の符号化レートを求め、所定時間毎の符号化レートに基づいて所定時間毎に入力映像信号を符号化して第2の符号化データを生成しているため、画像の複雑さに応じた所定時間毎のデータ量に基づくと共に、人間の視覚特性が反映された符号化レートで、使用可能なデータ総量を有効に活用した符号化が行える。
【0148】
また、絵柄が複雑な画像(フレーム)が連続しても、これらの画像に対して量子化ステップサイズが従来の装置のように大きくされることなく、全体を通じて視覚的に好ましく均等な高画質を得ることができる。
【0149】
さらに、上述のようにして得られる第2の符号化データは可変レートであるため、これを画像記録媒体に記録することにより、限られた記憶容量を有効に使うことができ、画像記録媒体の記録時間を長くすることができる。そして、この画像記録媒体から全体を通じて均等でしかも視覚的に良好な高画質の画像データを再生することができる。
【0150】
また、上記第1の符号化データを生成することなしに、入力映像信号の所定時間毎の画像特性情報から計算した所定時間毎の符号化難易度情報と、使用可能なデータ総量とに基づいて上記所定時間毎の符号化レートを求め、この符号化レートに基づいて上記所定時間毎に上記入力映像信号を符号化することにより、可変レートの符号化データを生成するようにしても、ほぼ上述と同様な効果が得られる。さらに、システムの簡略化が図れる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を適用した画像符号化装置の要部の回路構成を示すブロック図である。
【図2】第1の実施の形態の画像符号化装置を構成する第1の符号化回路の動作を説明するためのフローチャートである。
【図3】輝度信号Yの平均値Lと係数αの関数f1 の特性図である。
【図4】色度信号Crの平均値Rと係数βの関数f2 の特性図である。
【図5】輝度信号Yの分散値Vと係数γの関数f3 の特性図である。
【図6】動きベクトル量の平均値Mと係数θの関数f4 の特性図である。
【図7】第1の実施の形態の画像符号化装置を構成する第2の符号化回路の動作を説明するためのフローチャートである。
【図8】MPEGにおけるGOPの構成を説明するための各ピクチャを示す図である。
【図9】GOP毎の符号化制御信号を説明するための各ピクチャを示す図である。
【図10】本発明の第3の実施の形態となる画像符号化装置を構成する第2の符号化回路の動作を説明するためのフローチャートである。
【図11】本発明の第4の実施の形態を適用した画像符号化装置の要部の回路構成を示すブロック図である。
【図12】該第4の実施の形態の画像符号化装置の要部の動作を説明するためのフローチャートである。
【図13】動きベクトルの画像間予測残差に対するマクロブロック単位の発生符号量の推定値y'iの関数f6 の特性図である。
【図14】輝度信号Yの分散値Vとマクロブロックの発生符号量の推定値y'iの関数f5 の特性図である。
【図15】予測符号化の原理を説明するための画像を示す図である。
【図16】動き補償予測符号化の原理を説明するための画像を示す図である。
【図17】画像符号化装置と画像復号化装置の構成例を示すブロック図である。
【図18】マクロブロック、スライスの構成を示す図である。
【図19】従来のエンコーダの回路構成の一例を示すブロック図である。
【図20】従来のデコーダの回路構成の一例を示すブロック図である。
【符号の説明】
10 第1の符号化回路
14、44 予測符号化回路
15、45 DCT回路
16、46 量子化回路
17、47 可変長符号化回路
30 符号化制御回路
31 カウンタ
32 ビットレート演算回路
33 量子化スケール設定回路
40 第2の符号化回路
43 遅延器
60 画像解析回路
61 フレーム内情報解析回路
62 フレーム間情報解析回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image encoding method and apparatus, and in particular, a system for encoding and recording a moving image signal on an image recording medium such as an optical disk, a magnetic disk, and a magnetic tape, and a moving image image via a transmission line. The present invention relates to an image encoding method and apparatus used in a system for transmitting signals.
[0002]
[Prior art]
Conventionally, for example, a video transmission system such as a video conferencing system or a videophone system transmits a video signal to a remote location, and a video signal is recorded on an image recording medium such as an optical disk, a magnetic disk, or a magnetic tape. In a system for reproducing a video signal of a moving image, etc., in order to efficiently use a transmission path (or image recording medium), so-called high-efficiency encoding is performed on the video signal using line correlation or frame correlation of the video signal. The system reduces the redundancy in the space axis direction and the time axis direction and transmits only significant information to increase transmission efficiency.
[0003]
For example, in the encoding process in the spatial axis direction (hereinafter referred to as intra-frame encoding process), for example, line correlation of the video signal is used, and the time t shown in FIG. 1 , T 2 , T Three When transmitting each image PC1, PC2, PC3... Constituting the moving image in..., The image data to be transmitted is one-dimensionally encoded within the same scanning line, for example, a plurality of images, for example. By dividing the block into two blocks and two-dimensionally encoding the image data of each block, data compression is performed and transmission efficiency is improved.
[0004]
Further, in the encoding process in the time axis direction (hereinafter referred to as interframe encoding process), for example, by so-called predictive encoding using the interframe correlation of the video signal, that is, as shown in FIG. Image data PC12, PC23..., Which are image data differences (so-called prediction errors) for the corresponding pixels between the images PC1 and PC2, PC2 and PC3..., Are obtained, and these image data PC12, PC23. By transmitting the data, data compression is performed and transmission efficiency is improved.
[0005]
Thus, it is possible to transmit a video signal with a remarkably small amount of data compared to the case of transmitting all image data of the images PC1, PC2, PC3.
[0006]
Further, in the predictive coding in the above-described interframe coding processing, motion compensation prediction is used, for example, in units of macroblocks in order to further increase the efficiency. That is, for example, when a person in the center of the screen moves, the movement of the moving object in the screen is detected, and the position of the image data used for prediction is corrected in the previous image by the amount of the movement. Encoding efficiency can be improved by performing encoding. However, a lot of data still needs to be sent to the part where the object has moved and appeared from behind. Therefore, encoding efficiency can be further improved by performing motion compensation prediction not only in the above-described direction but also in the backward direction or a combination of both.
[0007]
Specifically, as shown in FIG. 16A, the frame data F0, F1, F2, and the 0th, 1st, 2nd, 3rd,..., Frame data of the video signal VD of the moving image to be transmitted. In the macro block of F3..., When there is a change in the image represented by the motion vectors X0, X1, X2, X3. Every other frame), that is, the second, fourth,... Frames are designated as interpolation frames, and transmission interpolation is performed for these interpolation frames by predetermined interpolation frame processing as shown in FIG. Frame data F2X, F4X,... Are generated. Further, the frame data F1, F3,... Are subjected to a predetermined encoding process for the remaining non-interpolated frames to generate transmission non-interpolated frame data F1X, F3X,.
[0008]
For example, the difference SP2 (prediction error) between the frame data F3 and the frame data F2 subjected to motion compensation, the difference SP3 between the frame data F1 and the frame data F2 subjected to motion compensation, and the frame data F1 and F3 subjected to the motion compensation are interpolated. The difference SP4 between the obtained frame data and the frame data F2 is obtained for each macroblock, and the difference between the macroblock SP1 of the frame data F2 and these differences is compared. Then, among these data SP1 to SP4, data with the smallest data generation amount is set as transmission interpolation data F2X in units of macroblocks, and transmission interpolation data F4X... For each interpolation frame is generated in the same manner. Further, the non-interpolated frame data F1, F3,... Are subjected to, for example, DCT conversion processing, variable length coding processing, and the like to generate transmission non-interpolated frame data F1X, F3X,.
[0009]
These transmission non-interpolated frame data F1X, F3X,... And transmission interpolation data F2X, F4X,..., Together with the motion vectors X0, X1, X3. To transmit.
[0010]
On the other hand, the receiving-side apparatus sends transmission data DATA (transmission non-interpolated frame data F1X, F3X..., Transmission interpolation data F2X, F4X..., Motion vectors X0, X1, X3. ) Is subjected to a decoding process corresponding to the encoding process on the transmission side to reproduce the frame data F0, F1, F2, F3. As a result, encoding efficiency can be further improved by performing motion compensation prediction not only in the forward direction but also in the backward direction or a combination of both.
[0011]
Here, an image encoding device and an image decoding device having the above-described functions will be described with reference to FIG.
[0012]
The
[0013]
The preprocessing
[0014]
The
[0015]
The bit stream is supplied to the
[0016]
As shown in FIG. 17, the
[0017]
The
[0018]
The D /
[0019]
Specifically, the
[0020]
Then, as described above, the luminance data and the color difference data are read from the frame memory group 73 according to the block format. That is, for example, image data for one frame is divided into N slices as shown in FIG. 18A, and each slice includes M macroblocks as shown in B of FIG. As shown in FIG. 18C, each macro block is a block unit composed of 8 × 8 pixels, and luminance data Y [1], Y [2], Y of four luminance blocks adjacent vertically and horizontally. [3], Y [4] and color difference data Cb [5], Cr [6] of a color difference block composed of 8 × 8 pixels in a range corresponding to these four luminance blocks. From the frame memory group 73, image data continues in units of macroblocks in the slice, and Y [1], Y [2], Y [3], Y [4], Cb [5], in the macroblock. Luminance data and color difference data are read out so as to be continuous in the order of Cr [6]. The image data read according to the block format in this way is supplied to the
[0021]
As shown in FIG. 19, the
[0022]
Based on this value, the intra-frame / forward / backward / bidirectional
[0023]
The
[0024]
The
[0025]
The variable length coding circuit 107 performs variable length coding of the quantized data together with the quantization step size, the prediction mode, and the motion vector, and supplies the data to the
[0026]
The
[0027]
In this way, the bit stream output from the
[0028]
On the other hand, the inverse quantization circuit 108 inversely quantizes the quantized data supplied from the
[0029]
The IDCT circuit 110 performs IDCT conversion on the coefficient data and reproduces image data corresponding to the input image data in the intra-frame coding mode, and a difference corresponding to the output of the
[0030]
In the forward / backward / bidirectional prediction mode, the adder circuit 111 is supplied with motion compensated predicted image data from a
[0031]
The image data reproduced in this way is stored in the
[0032]
That is, the image data read from the
[0033]
Next, the
[0034]
A bit stream is input to the
[0035]
The operations of the
[0036]
[Problems to be solved by the invention]
As described above, in the conventional apparatus, the encoding bit rate of the bit stream generated by the
[0037]
Therefore, in the conventional apparatus, when complex images are continuous, the quantization step size is increased and the image quality is deteriorated. When simple images are continuous, the quantization step size is decreased and the image quality is uniform throughout. Could not get.
[0038]
Also, when recording a bitstream on an image recording medium with a limited data capacity, a high rate that does not impair the image quality of the complex image in order to avoid extreme image quality degradation for images with complex patterns. A fixed rate had to be applied to the whole, resulting in a reduction in recording time.
[0039]
Furthermore, even if the complexity of the images is the same, the subjective impression of the encoded image quality may be poor depending on the design. This is due to human visual characteristics. For example, there is a problem that coding noise such as block noise and mosquito noise is conspicuous in a dark portion, a red portion, and a flat portion of an image.
[0040]
The present invention has been made in view of such a situation, and can obtain uniform and good image quality throughout the whole, and can record for a long time, and further encodes reflecting human visual characteristics. An object of the present invention is to provide an image encoding method and apparatus capable of encoding so as not to make noise conspicuous.
[0041]
[Means for Solving the Problems]
According to the present invention, first encoded data is generated by encoding at least a part of an input video signal, and the amount of data of the first encoded data per predetermined time and the predetermined time of the input video signal. The coding rate for each predetermined time is obtained based on the image characteristic information and the total amount of data that can be used, and the input video signal is coded for each predetermined time based on the coding rate to obtain the second code. The above-mentioned problem is solved by generating the digitized data.
[0042]
Further, in order to solve the above-described problem, the encoding difficulty level for each predetermined time is obtained based on the image characteristic information for each predetermined time period of the input video signal without generating the first encoded data, An encoding rate for each predetermined time is obtained based on the encoding difficulty level and the total amount of usable data, and the input video signal is encoded for each predetermined time based on the encoding rate to generate encoded data. It may be generated.
[0043]
As the image characteristic information, the average value of the luminance signal as the luminance information of the image every predetermined time, the average value of the chromaticity signal as the chromaticity information every predetermined time, the variance value of the luminance signal as the flatness information, The average value of the motion vector amount of the macroblock as the motion information of the image at every predetermined time, the sum of the prediction residual between the images of the motion vector of the macroblock as the difference between the images at the predetermined time, and the like can be mentioned.
[0044]
That is, the image encoding method and apparatus according to the present invention encodes at least a part of an input image signal to generate first encoded data, uses the average value of the luminance signal as the first parameter, and encodes noise. The first function value corresponding to the average value of the luminance signal for each predetermined time of the input image signal is calculated by the first function having a peak value with low brightness that is easy to perceive, and the first function value and the above An encoding difficulty level for each predetermined time is calculated based on a product of the first encoded data and a data amount for each predetermined time period, and is proportional to the encoding difficulty level, and is calculated from the total available data amount for the predetermined time period. By assigning a code amount every time, an encoding rate for each predetermined time is obtained, and the input image signal is encoded for each predetermined time based on the encoding rate for each predetermined time to obtain second encoded data Specially to produce It is an.
[0045]
As a result, encoding can be performed at an encoding rate based on the amount of data every predetermined time according to the complexity of the image, and encoding that reflects human visual characteristics can be performed.
[0046]
DETAILED DESCRIPTION OF THE INVENTION
Several preferred embodiments of an image coding method and apparatus according to the present invention will be described below with reference to the drawings.
[0047]
First embodiment
An image encoding apparatus to which the first embodiment of the present invention is applied includes a
[0048]
The
[0049]
As a specific example of the image characteristic information, as the statistical information about the luminance of the input image, for example, an average value (L) of the luminance signal Y every predetermined time is calculated, and the statistical information about the chromaticity of the input image As the information, for example, an average value (R) of the chromaticity signal Cr every predetermined time is calculated, and as the statistical information of the flatness of the input image, for example, the variance value (V) of the luminance signal Y every predetermined time As the statistical information of the motion amount of the input image, for example, an average value (M) of the motion vector amount per predetermined time is calculated.
[0050]
Further, as shown in FIG. 1, the
[0051]
As shown in FIG. 1, the
[0052]
In this image coding device, the
[0053]
Here, a specific example of the operation of the
[0054]
That is, in step ST1 of the flowchart shown in FIG. 2, the
[0055]
In the next step ST2, the bit rate calculation circuit 32 assigns each macroblock based on the values y, L, V, R, and M and the total usable data (B) described above. The code amount (b) is obtained. In this case, specifically, the encoding difficulty (difficulty) (d) is obtained based on the values y, L, V, R, and M, and the encoding difficulty (d) and the usable data are obtained. The allocated code amount (b) is obtained based on the total amount (B).
[0056]
In step ST3, the
[0057]
The operation of the
[0058]
The input image data is temporarily stored in the
[0059]
The motion
[0060]
The intra-frame / forward / backward / bidirectional
[0061]
As shown in FIG. 1 described above, the
[0062]
The
[0063]
The
[0064]
The variable
[0065]
As shown in FIG. 1 described above, the
[0066]
The bit rate calculation circuit 32 generates the generated code amount for each macroblock, the average value (L) and variance (V) of the luminance signal Y of the macroblock, and the average value (R) of the chromaticity signal Cr of the macroblock. Based on the average value (M) of the motion vector amount of the macroblock and the total usable data amount, the assigned code amount assigned to each macroblock, that is, the average coding rate for each macroblock time is obtained, and this assigned code The quantity is supplied to the quantization
[0067]
Specifically, the bit rate calculation circuit 32 sets the total number of macro blocks to N, sets the total usable data amount to B, and sets the i (i = 0, 1, 2,..., N−1) -th macro block. The generated code amount is yi, the average value of the luminance signal Y of the i-th macroblock is Li, the variance is Vi, the average value of the chromaticity signal Cr is Ri, the average value of the motion vector amount is Mi, f 1 , F 2 , F Three , F Four The coefficient α that reflects the subjective impression of the image pattern on the coding difficulty di from the characteristics of i , Β i , Γ i , Θ i As shown in
[0068]
α i = F 1 (Li)
β i = F 2 (Ri)
γ i = F Three (Vi)
θ i = F Four (Mi)
d i = Α i × β i × γ i × θ i Xy i ...
Where the function f 1 , F 2 , F Three , F Four Specific examples of the characteristics will be described with reference to FIGS.
[0069]
FIG. 3 shows a function f representing the coefficient α with respect to the average value L of the luminance signal Y. 1 The characteristics of In the L on the horizontal axis in FIG. 3, 0 is black and MAX is the brightest value. In general, human eyes can easily understand coding noise in dark images. However, at darkness below a certain level, it is too dark to perceive coding noise. Based on this feature, α = 1 in the vicinity of L = 0, L is at the level of L that is most easily perceived of deterioration, α has a peak, and at more than L, α is gradually reduced. When α is 1 or more, the encoding difficulty level d is increased. Conversely, when α is 1 or less, the encoding difficulty level d is decreased. Note that the average value of the luminance signal Y for the i-th macroblock is Li, and the coefficient α for this i-th macroblock is i Is f 1 (Li).
[0070]
FIG. 4 shows a function f of the average value R and coefficient β of the chromaticity signal Cr. 2 The characteristics of As for R on the horizontal axis in FIG. 4, 0 is gray and MAX is the most red value. In general, the human eye has a feature that makes red deterioration easy to understand. Based on this feature, the larger R is, the larger β is 1 or more, and the encoding difficulty d is increased. Note that the average value of the chromaticity signal Cr for the i-th macroblock is Ri, and the coefficient β for this i-th macroblock is i Is f 2 (Ri).
[0071]
FIG. 5 shows a function f of the variance value V of the luminance signal Y and the coefficient γ. Three The characteristics of As for V on the horizontal axis in FIG. 5, 0 is completely flat, and MAX has the most random pattern. In general, the human eye can easily understand the coding noise in the flat portion of the design, and conversely, the deterioration is difficult to understand in the portion where the design is messy. Based on this feature, as the value of V increases, γ is set to a smaller value of 1 or less, and the encoding difficulty d is decreased. The variance value of the luminance signal Y for the i-th macroblock is Vi, and the coefficient γ for this i-th macroblock is i Is f Three (Vi).
[0072]
FIG. 6 shows a function f of the average value M of the motion vector amount and the coefficient θ. Four The characteristics are shown. M on the horizontal axis in FIG. 6 is a case where 0 is stationary, and MAX has the largest movement (fast). In general, when the movement of an image is large (fast), the human eye cannot keep up with the movement and it is difficult to understand the deterioration of the image. Based on this feature, θ is set to a smaller value of 1 or less as M increases, and the encoding difficulty d is reduced. When the macro block is intra-coded, θ = 1. The average motion vector amount for the i-th macroblock is Mi, and the coefficient θ for this i-th macroblock is i Is f Four (Mi).
[0073]
The coefficient α, β, γ, θ obtained in this way is multiplied by the generated code amount y to obtain the encoding difficulty level d. For the i-th macroblock, the coefficient α i , Β i , Γ i , Θ i And is multiplied by the generated code amount yi as shown in the
[0074]
Here, when the allocated code amount for the i-th macroblock is bi, and this allocated code amount bi is proportional to the encoding difficulty di as shown in the
[0075]
bi = a × di + c (2)
[0076]
[Expression 1]
[0077]
Here, the constant c is a value determined in advance according to the average bit rate in the one sequence in consideration of the average bit rate when the allocated code amount bi is averaged. Further, the constant a can be obtained by the
[0078]
[Expression 2]
[0079]
A sum of bi for all macroblocks constituting one slice is an allocated code amount of the slice. Also, the sum of bi for all macroblocks constituting one frame is the allocated code amount of that frame. Thus, for example, the bit rate calculation circuit 32 increases the assigned code amount for a frame with a complex picture, and conversely reduces the assigned code amount for a frame with a simple picture.
[0080]
On the other hand, the inverse quantization circuit 18 inversely quantizes the quantization data supplied from the
[0081]
The
[0082]
In the forward / backward / bidirectional prediction mode, the
[0083]
The image data reproduced in this way is stored in the
[0084]
Next, the operation of the
[0085]
The
[0086]
The quantization
[0087]
The quantization
[0088]
Further, when the buffer feedback from the
[0089]
In the above description, the generated code amount and the assigned code amount are compared for each macro block, and the quantization step size is switched for each macro block. However, the switching is performed for each slice, each frame, or each GOP. Can also be done.
[0090]
In the above description, the generated code amount is detected from the accumulated amount of the
[0091]
The
[0092]
Then, the variable
[0093]
Here, FIG. 7 is a flowchart schematically showing the operation of the
[0094]
As shown in FIG. 7, when image data is input via the
[0095]
In step ST13, the
[0096]
In step ST14, for example, it is determined whether or not the encoding process has been completed for all frames (sequences) to which the same screen size and the same transfer rate are applied. If applicable, the process ends. If not, step ST11. Return to. Thus, variable-rate coding in which the coding rate is changed in units of frames is realized, and even if images (frames) with complicated patterns are continuous, the quantization step size for these images is large as in the conventional device. Therefore, uniform image quality can be obtained throughout.
[0097]
On the other hand, the
[0098]
The
[0099]
When the
[0100]
As is clear from the embodiment of the present invention described above, a standard quantization value is set in advance in the
[0101]
Here, as the brightness of the image, for example, the average value (L) of the luminance signal Y every predetermined time, and as the flatness, for example, the variance value (V) of the luminance signal Y every predetermined time, As the chromaticity, for example, an average value (R) per predetermined time of the chromaticity signal Cr, and as the image motion, for example, an average value (M) per predetermined time of the motion vector amount of the macroblock, respectively. Used.
[0102]
In the
[0103]
In this way, by performing encoding that reflects human visual characteristics, if the subjective impression of encoded image quality is bad depending on the design, for example, even in the dark part, red part, flat part, etc. of the image, The conspicuous encoding noise (block noise, mosquito noise) can be avoided in advance.
[0104]
Second embodiment
By the way, in the first embodiment described above, the allocated code amount per predetermined time, that is, the average coding rate per predetermined time is obtained for each macro block with the macro block as the predetermined time. Is not limited to this. For example, the same applies when the frame is set to a predetermined time. In this case, the parameter group of yi, Li, Ri, Vi, and Mi in the
[0105]
The calculation method of Li, Ri, Vi, and Mi in the second embodiment may be an average value of all macroblocks in one frame, or a part of macros specified in one frame. It is good also as an average value of a block. The latter method is effective when dealing with an image in a letterbox format, that is, a format in which a 16: 9 image is displayed on a 4: 3 screen and the upper and lower frames are masked with black bands. In this case, Li, Ri, Vi, and Mi are calculated for macroblocks that constitute the central effective image portion excluding the upper and lower black belt mask portions of the image. This method is effective because the properties of the effective image portion at the center of the frame can be accurately grasped and the calculation of the mask portion of the black belt can be omitted.
[0106]
In the
[0107]
In the second embodiment, since the allocated code amount bi is obtained based on the frame, the memory amount necessary to store all the bi is smaller than that in the first embodiment. It is possible to save.
[0108]
Third embodiment
In the above-described embodiment, the allocated code amount per predetermined time, that is, the average coding rate per predetermined time is obtained for each frame with the frame as the predetermined time. However, the present invention is not limited to this. Absent. For example, a GOP (Group of Picture) in a so-called MPEG (Moving Picture Expert Group) may be set as the predetermined time. Note that the above-mentioned MPEG is a moving image that is being studied in the WG (Working Group) 11 of the SC (Sub Committee) 29 in the so-called ISO (International Organization for Standardization) and JTC (Joint Technical Committee) 1 of the IEC (International Electrotechnical Commission). It is a common name for image coding.
[0109]
That is, in the third embodiment, the MPEG GOP is composed of at least one so-called I picture and a plurality of P pictures or B pictures (non-I pictures). Specifically, for example, as shown in FIG. 8, if it is composed of one I picture, four P pictures of three picture periods, and ten B pictures, the
[0110]
Then, in the
[0111]
The
[0112]
GOPyj = bitIj + N × bitPj
Then, the
[0113]
Specifically, the total number of GOPs is M, the total usable data amount is B, the generated code amount of the j (j = 0, 1, 2,... M−1) th GOP is GOPyj, and the jth In the GOP, the average value of the luminance signal Y is Lj, the variance is Vj, the average value of the chromaticity signal Cr is Rj, the average value of the motion vector amount is Mj, and the function f 1 , F 2 , F Three , F Four The coefficient α that reflects the subjective impression of the picture pattern on the coding difficulty GOPdj from the characteristics of j , Β j , Γ j , Θ j As shown in
[0114]
If the allocated code amount for the jth GOP is GOPbj, and this allocated code amount GOPbj is proportional to the degree of difficulty as shown in the
[0115]
α j = F 1 (Lj)
β j = F 2 (Rj)
γ j = F Three (Vj)
θ j = F Four (Mj)
GOPdj = α j × β j × γ j × θ j × GOPyj ・ ・ ・
GOPbj = a * GOPdj + c (Formula 8)
[0116]
[Equation 3]
[0117]
Here, the constant c is a value determined in advance according to the average bit rate in the one sequence in consideration of the average bit rate when the allocated code amount bi is averaged. Further, the constant a can be obtained by the following
[0118]
[Expression 4]
[0119]
Thus, the
[0120]
Next, as shown in FIG. 10, for example, when the image data is input via the
[0121]
In step ST23, the
[0122]
In step ST24, the
[0123]
Here, the quantization
[0124]
Next, in step ST25, it is determined whether or not the encoding process has been completed for all frames (sequences) to which the same screen size and the same transfer rate are applied. If applicable, the process ends. Return to ST21. In this way, variable rate coding in which the coding rate is changed in units of GOP is realized, and even if images (frames) with complicated patterns are continuous, the quantization step size for these images is large as in the conventional device. Therefore, uniform image quality can be obtained throughout. Further, in this embodiment, since the allocated code amount for each GOP is obtained based on two pictures, high-speed processing is possible as compared with the above-described embodiment. Needless to say, the allocated code amount of each GOP may be obtained based on the data amount of all the pictures in the GOP.
[0125]
Fourth embodiment
Next, a fourth embodiment of an image encoding device to which the present invention is applied will be described with reference to FIG.
[0126]
The fourth embodiment and the first to third embodiments have the following two differences. That is, first, there is no
[0127]
The image coding apparatus according to the fourth embodiment shown in FIG. 11 has an
[0128]
The
[0129]
That is, as the inter-picture prediction residual of the motion vector, a sum E of absolute values of differences between the luminance signal Yj of the encoding target macroblock and the luminance signal Ri of the macroblock referred to by the motion vector is obtained.
[0130]
[Equation 5]
[0131]
For E, a sum of squares may be used instead of the sum of absolute values.
[0132]
In this image encoding device, for example, as shown in FIG. 12, in step ST31, image characteristic information that is statistical property information of an input video signal representing the difficulty of encoding (difficulty), here, a luminance signal of a macroblock The average value L and variance V of Y, the average value R of the chromaticity signal Cr, the average value M of the motion vector amount of the macroblock, and the absolute value sum E of the inter-picture prediction residuals of the motion vector are calculated every predetermined time, For example, it is calculated for each macro block. If the macroblock is an intra coding mode, that is, a so-called I picture, the absolute value sum of the average value separation residuals in the macroblock is calculated rather than calculating the absolute value sum of the inter-picture prediction residuals of the motion vector. Is preferably calculated.
[0133]
That is, the absolute value sum E of the difference between the luminance signal Yi of the encoding target macroblock and the average value Yav of the macroblock luminance signal Yi is used as the absolute value sum of the average value separation residuals in the block of the intra coding mode. Is obtained by the following equation (13).
[0134]
[Formula 6]
[0135]
For E in
[0136]
In the next step ST32, the bit rate calculation circuit 32 calculates the average value and variance of the luminance signal for each macroblock, the average value of the chromaticity signal, the average value of the motion vector amount, and the inter-picture prediction residual of the motion vector. Alternatively, the assigned code amount assigned to each macroblock is obtained based on the average value separation residual of the luminance signal and the total usable data amount.
[0137]
In the next step ST33, the
[0138]
Here, a specific operation of the bit rate calculation circuit 32 will be described. The bit rate calculation circuit 32 sets the total number of macroblocks in the sequence to N, sets the average value of the luminance signal Y of the i (i = 0, 1, 2,..., N−1) -th macroblock to Li, and sets the variance to Vi. The average value of the chromaticity signal Cr is Ri, the average value of the motion vector amount is Mi, and the function f 1 , F 2 , F Three , F Four The coefficient α that reflects the subjective impression of the image pattern on the coding difficulty di from the characteristics of i , Β i , Γ i , Θ i Ask for. Also, based on the absolute value sum E of the inter-picture prediction residual of the motion vector, the function f 6 From this characteristic, an estimated value of the generated code amount of the macroblock, that is, y′i corresponding to yi in the first embodiment is estimated empirically. Then, as shown in Equation 31 below, each coefficient α i , Β i , Γ i , Θ i And the estimated value y′i of the generated code amount, the encoding difficulty level di is obtained.
[0139]
α i = F 1 (Li)
β i = F 2 (Ri) ...
γ i = F 3 (Vi)
θ i = F 4 (Mi) ...
y ' i = F 6 (Ei) Expression 18
d i = Α i × β i × γ i × θ i Xy ' i ... Formula 19
The function f 1 , F 2 , F 3 , F 4 Specific examples of the characteristics shown in FIGS. 3 to 6 can be used. In addition, the function f 6 An example is shown in FIG. That is, FIG. 13 shows the estimated value y ′ of the generated code amount in units of macroblocks with respect to the inter-picture prediction residual of the motion vector. From the experimental results, E and y ′ are empirically proportional to each other, and the estimated value y′i of the generated code amount for the inter-picture prediction residual Ei of the motion vector of the i-th macroblock is f 6 (Ei).
[0140]
When the encoding target macroblock is in the intra coding mode, it is preferable to use the absolute value sum or variance value (V) of the average value separation residual of the luminance signal in the macroblock. In this case, for example, Based on the variance Vi of the luminance signal Y, the function f Five From this characteristic, an estimated value y′i of the generated code amount of the macroblock is estimated.
[0141]
y ' i = F Five (Vi)
This function f Five A specific example of (Vi) is shown in FIG.
FIG. 14 shows the estimated value y ′ of the generated code amount for each macroblock with respect to the variance V of the luminance signal Y. The estimated value y of the generated code amount for the variance Vi of the luminance signal Y of the i-th macroblock. 'i is f Five (Vi).
[0142]
The assigned code amount bi for the i-th macroblock can be obtained as shown in
[0143]
Thus, for example, the bit rate calculation circuit 32 increases the assigned code amount for a frame with a complex picture, and conversely reduces the assigned code amount for a frame with a simple picture.
[0144]
Since the operation of the
[0145]
Here, in the embodiment described above, an example has been described in which the allocated code amount bi per predetermined time is obtained for each macroblock with the macroblock as the predetermined time. The same applies to the case of (group of picture). In this case, as in the second and third embodiments, each parameter of the average value Li of the luminance signal Y, the variance value Vi, the average value Ri of the chromaticity signal Cr, and the average value Mi of the motion vector amount is set. Further, the absolute value sum Ei of the inter-picture prediction residual of the motion vector or the average value separation residual of the luminance signal is calculated every predetermined time. The encoding difficulty level may be calculated, and the allocated code amount for each predetermined time may be calculated as in
[0146]
Note that the present invention is not limited to the above-described embodiment. For example, in the above-described embodiment, the transform coding is DCT. Good.
[0147]
【The invention's effect】
As is apparent from the above description, according to the present invention, the first encoded data is generated by encoding at least a part of the input image signal, and the amount of data of the first encoded data per predetermined time and An encoding difficulty level is calculated based on the product of the first function using the average value of the luminance signal for each predetermined time of the input image signal as a parameter, and based on the encoding difficulty level and the total amount of usable data. Since the encoding rate for each predetermined time is obtained and the second encoded data is generated by encoding the input video signal every predetermined time based on the encoding rate for every predetermined time, depending on the complexity of the image In addition, it is possible to perform encoding that effectively uses the total amount of data that can be used at an encoding rate that is based on the data amount for each predetermined time and reflects human visual characteristics.
[0148]
In addition, even if images (frames) with complicated patterns are consecutive, the quantization step size for these images is not increased as in the conventional apparatus, and a visually preferable and uniform high image quality is achieved throughout. Obtainable.
[0149]
Furthermore, since the second encoded data obtained as described above has a variable rate, recording this on the image recording medium enables effective use of the limited storage capacity. The recording time can be lengthened. It is possible to reproduce high-quality image data that is uniform and visually good throughout the entire image recording medium.
[0150]
Further, based on the encoding difficulty level information for each predetermined time calculated from the image characteristic information for each predetermined time of the input video signal and the total usable data amount without generating the first encoded data. Even if the encoding rate at every predetermined time is obtained and the input video signal is encoded at every predetermined time based on the encoding rate to generate variable rate encoded data, it is almost the same as described above. The same effect can be obtained. Furthermore, the system can be simplified.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a circuit configuration of a main part of an image encoding device to which a first embodiment of the present invention is applied.
FIG. 2 is a flowchart for explaining an operation of a first coding circuit constituting the image coding apparatus according to the first embodiment;
FIG. 3 is a function f of an average value L of a luminance signal Y and a coefficient α. 1 FIG.
FIG. 4 is a function f of an average value R of a chromaticity signal Cr and a coefficient β. 2 FIG.
FIG. 5 is a function f of a variance value V of a luminance signal Y and a coefficient γ. Three FIG.
FIG. 6 is a function f of an average value M of motion vector quantities and a coefficient θ. Four FIG.
FIG. 7 is a flowchart for explaining an operation of a second coding circuit constituting the image coding apparatus according to the first embodiment;
FIG. 8 is a diagram illustrating each picture for explaining the configuration of a GOP in MPEG.
FIG. 9 is a diagram illustrating each picture for explaining an encoding control signal for each GOP.
FIG. 10 is a flowchart for explaining an operation of a second coding circuit constituting the image coding apparatus according to the third embodiment of the present invention.
FIG. 11 is a block diagram illustrating a circuit configuration of a main part of an image encoding device to which a fourth embodiment of the present invention has been applied.
FIG. 12 is a flowchart for explaining an operation of a main part of the image coding apparatus according to the fourth embodiment.
FIG. 13 is a function f of an estimated value y′i of a generated code amount for each macroblock with respect to an inter-picture prediction residual of a motion vector. 6 FIG.
FIG. 14 is a function f of the variance value V of the luminance signal Y and the estimated value y′i of the generated code amount of the macroblock. Five FIG.
FIG. 15 is a diagram illustrating an image for explaining the principle of predictive encoding.
FIG. 16 is a diagram illustrating an image for explaining the principle of motion compensation predictive coding.
FIG. 17 is a block diagram illustrating a configuration example of an image encoding device and an image decoding device.
FIG. 18 is a diagram illustrating a configuration of macroblocks and slices.
FIG. 19 is a block diagram illustrating an example of a circuit configuration of a conventional encoder.
FIG. 20 is a block diagram showing an example of a circuit configuration of a conventional decoder.
[Explanation of symbols]
10 First encoding circuit
14, 44 Predictive coding circuit
15, 45 DCT circuit
16, 46 Quantization circuit
17, 47 Variable length coding circuit
30 Encoding control circuit
31 counter
32-bit rate arithmetic circuit
33 Quantization scale setting circuit
40 Second encoding circuit
43 Delayer
60 Image analysis circuit
61 In-frame information analysis circuit
62 Inter-frame information analysis circuit
Claims (6)
輝度信号の平均値を第1のパラメータとし、符号化ノイズの知覚しやすい低輝度でピーク値を有する第1の関数により、入力画像信号の所定時間毎の輝度信号の平均値に対応する第1の関数値を算出し、
上記第1の関数値と上記第1の符号化データの所定時間毎のデータ量との積に基づき上記所定時間毎の符号化難易度を算出し、
上記符号化難易度に比例させて、使用可能なデータ総量から上記所定時間毎に符号量を割り当てることにより、上記所定時間毎の符号化レートを求め、
上記所定時間毎の符号化レートに基づいて上記所定時間毎に上記入力画像信号を符号化して第2の符号化データを生成する
ことを特徴とする画像符号化方法。Encoding at least a portion of the input image signal to generate first encoded data;
The first function corresponding to the average value of the luminance signal for each predetermined time of the input image signal by the first function having the average value of the luminance signal as the first parameter and having a low luminance and peak value that is easy to perceive encoding noise. The function value of
Based on the product of the first function value and the data amount per predetermined time of the first encoded data, the encoding difficulty level per predetermined time is calculated,
By assigning a code amount every predetermined time from the total amount of usable data in proportion to the degree of encoding difficulty, an encoding rate per predetermined time is obtained,
An image encoding method, wherein the second encoded data is generated by encoding the input image signal every predetermined time based on the encoding rate every predetermined time.
上記入力画像信号のi番目のマクロブロックの符号化データのデータ量yiと、
上記入力画像信号のi番目のマクロブロックの輝度信号Yの平均値Liを上記第1のパラメータとする上記第1の関数の関数値と、
上記入力画像信号のi番目のマクロブロックの色度信号Crの平均値Riを第2のパラメータとし、上記第2のパラメータが大きいほど関数値が増大する第2の関数の関数値と、
上記入力画像信号のi番目のマクロブロックの輝度信号Yの分散Viを第3のパラメータとし、上記第3のパラメータが大きいほど関数値が減少する第3の関数の関数値と、
上記入力画像信号のi番目のマクロブロックの 動きベクトル量の平均値Miを第4のパラメータとし、上記第4のパラメータが大きいほど値が減少する第4の関数の関数値との積に基づき算出されることを特徴とする請求項1記載の画像符号化方法。The encoding difficulty level is obtained based on image characteristic information for each macroblock of the input image signal, and the encoding difficulty level d i of the i-th (i is an integer) macroblock is:
A data amount y i of encoded data of the i-th macroblock of the input image signal;
And the function value of the first function of the mean value L i of the luminance signal Y of the i-th macroblock of the input image signal and the first parameter,
The average value R i of the chromaticity signal Cr of the i-th macroblock of the input image signal is set as the second parameter, and the function value of the second function that increases as the second parameter increases,
The variance V i of the luminance signal Y of the i-th macroblock of the input image signal is the third parameter, and the function value of the third function that decreases as the third parameter increases,
Based on the product of the average value M i of the motion vector amount of the i-th macroblock of the input image signal as the fourth parameter and the function value of the fourth function that decreases as the fourth parameter increases. The image encoding method according to claim 1, wherein the image encoding method is calculated.
この第1の符号化手段からの第1の符号化データの所定時間毎のデータ量を求める符号化制御手段と、
上記入力画像信号を符号化して第2の符号化データを生成する第2の符号化手段とを備え、
上記符号化制御手段は、輝度信号の平均値を第1のパラメータとし、符号化ノイズの知覚しやすい低輝度でピーク値を有する第1の関数により、入力画像信号の所定時間毎の輝度信号の平均値に対応する第1の関数値を算出し、
上記第1の関数値と上記第1の符号化データの所定時間毎のデータ量との積に基づき上記所定時間毎の符号化難易度を算出し、
上記符号化難易度に比例させて、使用可能なデータ総量から上記所定時間毎に符号量を割り当てることにより、上記所定時間毎の符号化レートを求め、
上記第2の符号化手段は、上記所定時間毎の符号化レートに基づいて上記所定時間毎に上記入力画像信号を符号化して第2の符号化データを生成する
ことを特徴とする画像符号化装置。First encoding means for encoding at least part of an input image signal to generate first encoded data;
Encoding control means for determining a data amount of the first encoded data from the first encoding means per predetermined time;
And a second encoding means for generating a second encoded data by encoding the input image signal,
The encoding control means uses the average value of the luminance signal as the first parameter and the luminance signal of the input image signal for each predetermined time by a first function having a peak value with low luminance that is easy to perceive encoding noise. A first function value corresponding to the average value is calculated;
Based on the product of the first function value and the data amount per predetermined time of the first encoded data, the encoding difficulty level per predetermined time is calculated,
By assigning a code amount every predetermined time from the total amount of usable data in proportion to the degree of encoding difficulty, an encoding rate per predetermined time is obtained ,
The second encoding means generates the second encoded data by encoding the input image signal at the predetermined time based on the encoding rate at the predetermined time . apparatus.
上記入力画像信号のi番目のマクロブロックの符号化データのデータ量yiと、
上記入力画像信号のi番目のマクロブロックの輝度信号Yの平均値Liを上記第1のパラメータとする上記第1の関数の関数値と、
上記入力画像信号のi番目のマクロブロックの色度信号Crの平均値Riを第2のパラメータとし、上記第2のパラメータが大きいほど関数値が増大する第2の関数の関数値と、
上記入力画像信号のi番目のマクロブロックの輝度信号Yの分散Viを第3のパラメータとし、上記第3のパラメータが大きいほど関数値が減少する第3の関数の関数値と、
上記入力画像信号のi番目のマクロブロックの 動きベクトル量の平均値Miを第4のパラメータとし、上記第4のパラメータが大きいほど値が減少する第4の関数の関数値との積に基づき算出されることを特徴とする請求項4記載の画像符号化装置。The encoding difficulty level is obtained based on image characteristic information for each macroblock of the input image signal, and the encoding difficulty level d i of the i-th (i is an integer) macroblock is:
A data amount y i of encoded data of the i-th macroblock of the input image signal;
And the function value of the first function of the mean value L i of the luminance signal Y of the i-th macroblock of the input image signal and the first parameter,
The average value R i of the chromaticity signal Cr of the i-th macroblock of the input image signal is set as the second parameter, and the function value of the second function that increases as the second parameter increases,
The variance V i of the luminance signal Y of the i-th macroblock of the input image signal is the third parameter, and the function value of the third function that decreases as the third parameter increases,
Based on the product of the average value M i of the motion vector amount of the i-th macroblock of the input image signal as the fourth parameter and the function value of the fourth function that decreases as the fourth parameter increases. 5. The image encoding device according to claim 4, wherein the image encoding device is calculated.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31143695A JP3707118B2 (en) | 1995-04-28 | 1995-11-29 | Image coding method and apparatus |
US08/962,222 US6151360A (en) | 1995-04-28 | 1997-10-31 | Method for encoding video signal using statistical information |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7-106403 | 1995-04-28 | ||
JP10640395 | 1995-04-28 | ||
JP31143695A JP3707118B2 (en) | 1995-04-28 | 1995-11-29 | Image coding method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0918872A JPH0918872A (en) | 1997-01-17 |
JP3707118B2 true JP3707118B2 (en) | 2005-10-19 |
Family
ID=26446510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31143695A Expired - Fee Related JP3707118B2 (en) | 1995-04-28 | 1995-11-29 | Image coding method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3707118B2 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4341078B2 (en) * | 1997-02-14 | 2009-10-07 | 株式会社デンソー | Encoding device for moving picture information |
JP4081727B2 (en) * | 1997-02-24 | 2008-04-30 | ソニー株式会社 | Image encoding apparatus, image encoding method, recording apparatus, and recording method |
JPH10290458A (en) * | 1997-04-15 | 1998-10-27 | Sony Corp | Video encode system |
JP3829312B2 (en) * | 1997-08-28 | 2006-10-04 | ソニー株式会社 | Image recording apparatus and method, and image processing apparatus and method |
DE69828950T2 (en) * | 1997-11-07 | 2006-01-12 | Koninklijke Philips Electronics N.V. | CODING OF A PICTURE |
DE69940703D1 (en) * | 1998-03-05 | 2009-05-20 | Panasonic Corp | Image encoding method, image coding / decoding method, image encoder, or image recording / reproducing apparatus |
JPH11313318A (en) * | 1998-04-28 | 1999-11-09 | Matsushita Electric Ind Co Ltd | Image coding method |
JP4203707B2 (en) * | 2001-01-31 | 2009-01-07 | 日本電気株式会社 | A moving picture coding apparatus, a moving picture coding method, and a program using the prior analysis. |
JP4348614B2 (en) * | 2003-12-22 | 2009-10-21 | カシオ計算機株式会社 | Movie reproducing apparatus, imaging apparatus and program thereof |
JP4335779B2 (en) * | 2004-10-28 | 2009-09-30 | 富士通マイクロエレクトロニクス株式会社 | Encoding apparatus, recording apparatus using the same, encoding method, and recording method |
JP5128389B2 (en) * | 2008-07-01 | 2013-01-23 | 株式会社日立国際電気 | Moving picture coding apparatus and moving picture coding method |
JP5502336B2 (en) * | 2009-02-06 | 2014-05-28 | パナソニック株式会社 | Video signal encoding apparatus and video signal encoding method |
JP5988577B2 (en) | 2011-12-28 | 2016-09-07 | キヤノン株式会社 | Image coding apparatus, image coding method, and program |
TW201942870A (en) * | 2018-04-03 | 2019-11-01 | 香港商科科串流股份有限公司 | Bitrate optimization system and method |
-
1995
- 1995-11-29 JP JP31143695A patent/JP3707118B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0918872A (en) | 1997-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4223571B2 (en) | Image coding method and apparatus | |
JP3268306B2 (en) | Image coding method | |
JP3358620B2 (en) | Image encoding method and image encoding device | |
US7170938B1 (en) | Rate control method for video transcoding | |
US5453799A (en) | Unified motion estimation architecture | |
US6343098B1 (en) | Efficient rate control for multi-resolution video encoding | |
US5703646A (en) | Picture encoding method, picture encoding apparatus and picture recording medium | |
KR100504641B1 (en) | Image encoder and image encoding method | |
US6628713B1 (en) | Method and device for data encoding and method for data transmission | |
JP3707118B2 (en) | Image coding method and apparatus | |
US5606372A (en) | Video signal decoding apparatus capable of reducing blocking effects | |
JPH0879766A (en) | Moving image coding method and moving image coder | |
US5946421A (en) | Method and apparatus for compensating quantization errors of a decoded video image by using an adaptive filter | |
JP3857342B2 (en) | Image encoding method and image encoding apparatus | |
KR100571685B1 (en) | Image data encoding apparatus and method and image data transmission method | |
US5614953A (en) | Image signal decoding apparatus having an encoding error compensation | |
JP4636159B2 (en) | Encoding apparatus and method | |
KR100323235B1 (en) | Algorithm and Implementation Method of a Low-Complexity Video Encoder | |
JP4359273B2 (en) | Coding mode selection method | |
JPH06153181A (en) | Prediction coding method, prediction decoding method, prediction coder and prediction decoder | |
JP3311312B2 (en) | Encoding control method, encoding control device, and recording medium recording encoding control program | |
JP4353928B2 (en) | Data compression method, recording method, and transmission method | |
JP3590976B2 (en) | Video compression device | |
GB2316828A (en) | Compensating quantization errors of a decoded video signal by using an adaptive filter | |
JPH06189293A (en) | Method and device for encoding and decoding picture and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040730 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050512 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050523 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050725 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080812 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090812 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100812 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110812 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120812 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130812 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |