JP3711572B2 - 画像符号化装置及び方法 - Google Patents

画像符号化装置及び方法 Download PDF

Info

Publication number
JP3711572B2
JP3711572B2 JP23811194A JP23811194A JP3711572B2 JP 3711572 B2 JP3711572 B2 JP 3711572B2 JP 23811194 A JP23811194 A JP 23811194A JP 23811194 A JP23811194 A JP 23811194A JP 3711572 B2 JP3711572 B2 JP 3711572B2
Authority
JP
Japan
Prior art keywords
image
information
quantization step
amount
image data
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
Application number
JP23811194A
Other languages
English (en)
Other versions
JPH08102951A (ja
Inventor
聡 三橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP23811194A priority Critical patent/JP3711572B2/ja
Publication of JPH08102951A publication Critical patent/JPH08102951A/ja
Application granted granted Critical
Publication of JP3711572B2 publication Critical patent/JP3711572B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Color Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、例えば画像を圧縮符号化する場合に用いて好適な画像符号化装置及び方法に関する。
【0002】
【従来の技術】
従来の例えば画像を圧縮符号化する場合に用いて好適な画像符号化装置の構成例を図7に示す。
この図7の画像符号化装置において、入力端子1には、図8に示すように、
輝度成分(Y) 352(H)×240(V)×30フレーム
クロマ成分(Cb) 174(H)×120(V)×30フレーム
クロマ成分(Cr) 174(H)×120(V)×30フレーム
のピクセル数にディジタル化された画像データが供給される。
【0003】
上記入力端子1に供給された入力画像データは、当該入力画像データを一時的に蓄えて然るべき順番に入れ替えるためのフレームメモリ10を介して、動き検出器20とブロック分割器11に送られる。
当該ブロック分割器11は、フレームメモリ10から供給されたそれぞれのフレームを、図9に示すように、輝度成分(Y) ,クロマ成分(Cr),(Cb) それぞれを8×8ピクセルのブロックに分割する。なお、輝度成分(Y) の4つのブロック(Y0,Y1,Y2,Y3)と1つのクロマ成分(Cb)のブロックと、1つのクロマ成分(Cr)のブロックからなる合計6つのブロック(Y0,Y1,Y2,Y3,Cb,Cr) は、マクロブロック(MB)と呼ばれている。
【0004】
このブロック分割器11からのマクロブロック単位のデータは差分器12に送られる。
この差分器12では、ブロック分割器11からのデータと後述するフレーム間予測画像データとの差分をとり、その出力を後述するフレーム間予測符号化がなされるフレームのデータとして切換スイッチ13の被切換端子bに送る。また、当該切換スイッチ13の被切換端子aには、上記ブロック分割器11からのデータが後述するフレーム内符号化がなされるフレームのデータとして供給される。
【0005】
上記切換スイッチ13を介したブロック単位のデータはDCT回路14によって離散コサイン変換(DCT)処理され、そのDCT係数が量子化器15に送られる。当該量子化器15では、所定の量子化ステップ幅で上記DCT出力を量子化し、この量子化した係数がジグザグスキャン回路16に送られる。
当該ジグザグスキャン回路16では、上記量子化係数を図10に示すようにいわゆるジグザグスキャンによって並べ換え、その出力を可変長符号化回路17に送る。この可変長符号化回路17では、上記ジグザグスキャン回路16の出力データを可変長符号化(VLC)し、その出力を出力バッファ18に送ると共に、当該可変長符号化処理により発生した符号量を示す情報を、量子化ステップ制御器19に送る。量子化ステップ制御器19は、可変長符号化回路17からの符号量を示す情報に基づいて量子化器15の量子化ステップ幅を制御する。また、上記出力バッファ18から出力されたデータは圧縮符号化がなされた符号化出力として出力端子2から出力される。
【0006】
また、上記量子化器15からの出力は、逆量子化器27によって逆量子化され、さらに逆DCT回路26によって逆DCT処理される。当該逆DCT回路26の出力は、加算器25に送られる。
この加算器25には、フレーム間予測符号化のフレームのときにオンとなる切換スイッチ24を介した動き補償器21からのフレーム間予測画像データも供給され、当該データと上記逆DCT回路26の出力データとの加算が行われる。この加算器25の出力データは、フレームメモリ22に一時的に蓄えられた後、動き補償器21に送られる。
【0007】
当該動き補償器21は、上記動き検出器20によって検出された動きベクトルに基づいて動き補償を行い、これによって得たフレーム間予測画像データを出力する。
以下、上記図7の従来の画像符号化装置の具体的な動作について詳細に説明する。ここで、説明のために以下のように各フレームの呼び名を定義する。
【0008】
先ず、表示順にフレームを並べたとき、それぞれを
I0,B1,B2,P3,B4,B5,P6,B7,B8,I9,B10,B11,B12,・・・・・
と呼ぶこととする。これらのフレームのうち、I,P,Bは、後に説明するが、圧縮方法の種類を示し、これらI,P,Bの次の数字は、単純に表示順を示している。
【0009】
カラー動画像符号化方式の国際標準化作業グループであるいわゆるMPEG(Moving Picture Expert Group)のうちMPEG1では、この様な画像を圧縮するために、以下のようにすることが規定されている。
先ず、I0の画像を圧縮する。
次に、P3の画像を圧縮するのだが、P3そのものを圧縮するのではなく、P3とI0の画像との差分データを圧縮する。
【0010】
その次に、B1の画像を圧縮するのだが、B1そのものを圧縮するのではなく、B1とI0或いは、B1とP3との差分データ或いはI0とP3の平均値との差分(いずれか情報の少ない方)を圧縮する。
その次に、B2の画像を圧縮するのだが、B2そのものを圧縮するのではなく、B2とI0或いは、B2とP3との差分データ或いはI0とP3の平均値との差分(どちらか情報の少ない方を選んで)を圧縮する。
【0011】
次に、P6の画像を圧縮するのだが、P6そのものを圧縮するのではなく、P6とP3の画像との差分データを圧縮する。
上述したような処理を順番に並べて表すと、
Figure 0003711572
となる。このようにエンコード順は、
I0,P3,B1,B2,P6,B4,B5,P9,B7,B8,I9,P12,B10,B11,・・・・
のように、表示順とは順番が入れ替わる。圧縮後のデータ(符号化データ)はこの順番に並ぶことになる。
【0012】
以下、上述したことを図7の構成の動作と共にさらに詳しく述べる。
1枚目の画像(すなわちI0)のエンコードでは、先ず、上記フレームメモリ10から1枚目に圧縮すべき画像のデータが、ブロック分割器11によってブロック化される。このブロック分割器11からは、前記Y0,Y1,Y2,Y3,Cb,Crの順にブロック毎のデータが出力され、被切換端子a側に切り換えられた切換スイッチ13を介してDCT回路14に送られる。このDCT回路14では、それぞれのブロックについて縦横2次元の離散コサイン変換処理を行う。これにより、時間軸であったデータが周波数軸に変換される。
【0013】
このDCT回路14からのDCT係数は、量子化器15に送られ、当該量子化器15で所定の量子化ステップ幅で量子化される。その後、ジグザグスキャン回路16によって図10のようにジグザグ順に並べ変えられる。このようにジグザグ順に並べると、後ろへ行くほど、その係数は周波数成分の高い係数となるから、一般的に係数の値は後ろの方が小さくなる傾向にある。したがって、ある値Sで量子化すると、後ろへ行くほど、その結果は0になる頻度が増し、結果的に高域の成分が切り落とされることになる。
【0014】
その後、この量子化後の係数は、可変長符号化(VLC)回路17へ送られ、ここでいわゆるハフマンコーディングが施される。この結果得られる圧縮されたビットストリームは、出力バッファ18に一旦蓄えられた後、一定のビットレートで送出される。当該出力バッファ18は、不規則に発生するビットストリームを一定のビットレートで送出できるようにするための緩衝のためのメモリである。
【0015】
以上の様に1枚の画像だけ単独で圧縮することをフレーム内(イントラ:Intra )符号化と言い、この画像をIピクチャと呼ぶ。
したがって、デコーダが上記のIピクチャのビットストリームを受信した場合は、以上に述べたことを逆にたどり、1枚目の画像を完成させる。
次に、2枚目の画像(すなわちP3)のエンコードでは、以下のようになされる。
【0016】
すなわち、この2枚目以降もIピクチャとして圧縮してビットストリームを作っても良いが圧縮率を上げるには、連続する画像の内容には相関があることを利用して、以下の様な方法で圧縮する。
先ず、動き検出器20では、2枚目の画像を構成するマクロブロック毎に、1枚目の画像(I0)の中からそれに良く似たパターンを捜し出し、それを動きベクトルという(x,y)の相対位置の座標として表現する。
【0017】
また、2枚目の画像ではそれぞれのブロックを、上記Iピクチャの場合のようにそのままDCT回路14に送るのではなく、そのブロック毎の動きベクトルに従って一枚目の画像から引っ張ってきたブロックとの差分のデータ(差分器12による差分データ)を、DCT回路14へ送るようにする。なお、動きベクトルの検出方法としては、ISO/IEC 11172-2 annex D.6.2 に詳細に述べられているためここでは省略する。
【0018】
ここで、例えば上記動きベクトルによって示された一枚目の画像のパターンと、これから圧縮しようとするブロックのパターンとの間で、相関が非常に強くなっていれば、その差分データは非常に小さくなり、したがって、上記フレーム内(イントラ)符号化で圧縮するよりも、上記動きベクトルと上記差分データとを符号化した方が、圧縮後のデータ量は小さくなる。
【0019】
このような圧縮方法を、フレーム間(インター:Inter)予測符号化と呼んでいる。ただし、常に差分データが少なくなるわけではなく、絵柄(画像内容)によっては、差分を取るよりも、上記フレーム内符号化で圧縮した方が、圧縮率が上がる場合がある。このような場合は、上記フレーム内符号化で圧縮する。フレーム間予測符号化にするか、フレーム内符号化にするかは、マクロブロック毎に異なる。
【0020】
以上のことを図7の画像符号化装置(エンコーダ)に即して説明すると、先ず、フレーム間予測符号化を行うためには、エンコーダ側でたえずデコーダ側で作られる画像と同じ画像を作って置く必要がある。
そのためにエンコーダ内には、デコーダと同じ回路が存在する。その回路をローカルデコーダ(局部復号器)と呼ぶ。図7の逆量子化器27と逆DCT回路26と加算器25とフレームメモリ22と動き補償器21が当該ローカルデコーダに対応し、フレームメモリ22内に記憶される画像のことをローカルデコーデッドピクチャ(Local decoded picture)又はローカルデコーデッドデータ(Local decoded data)と呼ぶ。これに対して、圧縮前の画像のデータは、オリジナルピクチャ(Original picture)又はオリジナルデータ(Original data) と呼ぶ。
【0021】
なお、前述した1枚目のIピクチャの圧縮時にも、上記ローカルデコーダを通して復号化された1枚目の画像が、上記フレームメモリ22内に格納される。ここで、注意すべきことは、このローカルデコーダによって得られる画像は、圧縮前の画像ではなく、圧縮後復元した画像であり、圧縮による画質劣化のある、デコーダが復号化する画像とまったく同じ画像であるということである。
【0022】
このような状態のエンコーダに2枚目の画像(P3)のデータ(Original data)が入ってくるわけだが(この段階ですでに、動きベクトルは検出済でなければならない)、データはブロック毎に動きベクトルを持ち、このベクトルが動き補償器(MC:Motion Compensation)21に与えられる。当該動き補償回路21は、その動きベクトルの示すローカルデコーデッドピクチャ上のデータ(動き補償データ:MC data:1マクロブロック)を上記フレーム間予測画像データとして出力する。
【0023】
上記2枚目のオリジナルデータとこの動き補償データ(フレーム間予測画像データ)のピクセル毎の、差分器12による差分データが、上記DCT回路14に入力される。それからの後の圧縮方法は、基本的にIピクチャと同じである。上述のような圧縮方法によって圧縮する画像をPピクチャ(Predicted picture)と呼ぶ。
【0024】
さらに詳しく説明すると、Pピクチャにおいてすべてのマクロブロックがフレーム間予測符号化で圧縮するとは限らず、フレーム内符号化で圧縮する方が効率が良いと判断されるときは、そのマクロブロックは当該フレーム内符号化で符号化を行う。
すなわち、Pピクチャにおいても、マクロブロック毎に、フレーム内符号化によるか(このマクロブロックをイントラマクロブロックと呼ぶ)、又はフレーム間予測符号化によるか(このマクロブロックをインターマクロブロックと呼ぶ)のどちらかを選択して圧縮を行う。
【0025】
上述のように、上記ローカルデコーダでは、量子化器15の出力が、逆量子化器27で逆量子化され、さらに逆DCT回路26で逆DCT処理された後、エンコード時に動き補償データ(MC data )と足され最終的なローカルデコーデッドピクチャとなる。
次に、3枚目の画像(すなわちB1)のエンコードでは、以下のようになされる。
【0026】
上記3枚目の画像(B1)のエンコードでは、I0,P3の2枚の画像それぞれに対する動きベクトルを探索する。ここで、I0に対する動きベクトルをフォワードベクトル(forward Vector)MVf(x,y) と呼び、P3に対する動きベクトルをバックワードベクトル(Backward Vector)MVb(x,y) と呼ぶ。
この3枚目の画像についても差分データを圧縮するわけであるが、どのデータを圧縮するのかが、問題である。この場合も一番情報量が少なくなるものとの差分を取れば良い。このときの圧縮方法の選択肢としては、
(1)フォワードベクトルMVf(x,y) の示すI0上のデータとの差分
(2)バックワードベクトルMVb(x,y) の示すP3上のデータとの差分
(3)フォワードベクトルMVf(x,y) の示すI0上のデータとバックワードベクトルMVb(x,y) の示すP3上のデータの平均値との差分
(4)差分データは使わない(フレーム内符号化)
の4つである。マクロブロック毎にこの4種類の圧縮方法から一つが選択される。上記圧縮方法の選択肢のうちの(1),(2),(3)の場合は、それぞれの動きベクトルも動き補償器21に送られ、差分器21ではその動き補償データとの差分をとり、これがDCT回路14に送られる。上記圧縮方法の選択肢のうちの(4)の場合は、そのままのデータがDCT回路14へ送られる。
【0027】
上述した1枚目、2枚目のエンコードの処理の結果、ローカルデコーデッドピクチャを格納するフレームメモリ22には、I0,P3の2枚のピクチャが、復元されているのでこのようなことが可能である。
次に、4枚目の画像(すなわちB2)のエンコードでは、以下のようになされる。
【0028】
上記4枚目の画像(B2)のエンコードでは、上述した3枚目(B1)のエンコード方法のところの説明文で、B1をB2に置き換えたこと以外は、上記3枚目のエンコードと同じ方法で圧縮する。
次に、5枚目の画像(すなわちP6)のエンコードでは、以下のようになされる。
【0029】
上記5枚目の画像(P6)のエンコードでは、上述した2枚目(P3)のエンコード方法のところの説明文で、P3をP6に、I0をP3に置き換えただけで、他は同じ説明となる。
6枚目以降は、上述の繰り返しとなるので説明は省略する。
また、MPEGにおいては、GOP(Group Of Picture)と呼ばれるものが規定されている。
【0030】
すなわち、何枚かのピクチャの集まりがグループオブピクチャ(GOP)と呼ばれており、当該GOPは符号化データ(圧縮後のデータ)上で見て連続した画像の集まりでなくてはならないものである。また、GOPはランダムアクセスを考慮したもので、そのためには符号化データ上で見てGOPの最初に来るピクチャは上記Iピクチャである必要がある。さらに、表示順(ディスプレイ順)でGOPの最後は、I又はPピクチャでなくてはならない。
【0031】
図11には、最初が4枚のピクチャからなるGOPで、それ以降が6枚のピクチャからなるGOPとなる例を挙げる。なお、図11のAはディスプレイ順を示し、図11のBは符号化データ順を示している。
この図11において、GOP2に注目すると、B4,B5はP3,I6から形成されるため、例えばランダムアクセスでI6にアクセスされると、P3が無いため、B4,B5は正しく復号化できない。このようにGOP内だけで正しく復号化できないGOPは、クローズドGOP(Closed GOP)でないという。
【0032】
これに対し、もしB4,B5がI6だけしか参照していないとしならば、例えばランダムアクセスでI6にアクセスしても、P3は必要ないため、これらB4,B5は正しく復号化できることになる。このようにGOP内だけの情報で、完全に復号化できるGOPをクローズドGOP(Closed GOP)と呼ぶ。
以上のような圧縮方法の選択の中から一番効率の良い方法で圧縮するわけであるが、その結果発生する符号化データ(Coded data)の量は、入力画像にも依存し、実際に圧縮してみないと判らない。
【0033】
しかし、圧縮後のデータのビットレートを一定にするためにコントロールすることも必要である。当該コントロールを行うためのパラメータは、量子化器15に与える前記符号量を表す情報としての量子化ステップ(又は量子化スケール:Q-scale )である。同じ圧縮方法でも、上記量子化ステップを大きくすれば発生ビット量は減り、小さくすれば増える。
【0034】
この量子化ステップの値は、次のようにして制御する。
エンコーダには、圧縮後のデータを一定のビットレートにするために、出力に緩衝バッファ(出力バッファ18)が設けられており、これによって画像毎のある程度のデータ発生量の差は吸収できるようになされている。
しかし、定められたビットレートを超えるようなデータの発生が続けば、出力バッファ18の残量が増加し、ついにはオーバーフローを起こすことになる。逆にビットレートを下回るデータの発生が続けば出力バッファ18の残量は減少し、最後にはアンダーフローを引き起こすことになる。
【0035】
したがって、エンコーダは、出力バッファ18の残量をフィードバックすることにより、前記量子化ステップ制御器19が量子化器15の量子化ステップをコントロールし、ここで出力バッファ18の残量が少なくなればあまり圧縮しないように量子化ステップを小さくなるよう制御し、出力バッファ18の残量が多くなれば圧縮率を高くするように量子化ステップを大きくするようにコントロールを行うようにしている。
【0036】
また、前述した圧縮方法(前記フレーム内符号化やフレーム間予測符号化)によって発生する符号化データ量の範囲には、大きな差がある。
特にフレーム内符号化方式で圧縮をすると大量のデータが発生するため、出力バッファ18の空き容量が小さい場合には量子化ステップサイズを大きくしなければならず、場合によっては量子化ステップサイズを最大にしてもバッファ18のオーバーフローを招くかもしれない。よしんばバッファ18に収まったとしても量子化ステップが大きければフレーム内符号化の画像は後のフレーム間予測符号化の画質に影響するので、フレーム内符号化での圧縮を行う前には出力バッファ18に十分な空き容量が必要である。
【0037】
したがって、予め定められた順序の圧縮方法を決めておき、フレーム内符号化の前には十分な出力バッファ18の空き容量を確保するように、量子化ステップ制御器19は量子化ステップサイズのフィードバックコントロールを行うようにしている。
以上のようにして一定レートの符号化データに抑えることが可能となる。
【0038】
【発明が解決しようとする課題】
上述した従来の方法では、以下の理由により高画質を得られないことが欠点となっている。
すなわち、時々刻々情報量の変化する入力画像を一定のビットレートで平均的に高画質に圧縮するためには、出力バッファによって低ビットレートを維持できる範囲でかつ画質が均質になるように、情報量の多い画像(絵)には多めの圧縮データを許し、情報量の少ない画像には少なめの圧縮データにすることが必要だが、次のような場合に従来の方法ではそれができない。
【0039】
例えば、情報量の少ない画像が連続し、そのあとで急に情報量の多い画像が入ってくる場合を考えると、先に供給される情報量の少ない画像に対しては量子化ステップをあまり小さくし過ぎず、その後に続く情報量が多い画像が符号化されるまで出力バッファの残量を低く保つべきであるのに、前述した出力バッファ残量をフィードバックする方式では、上記情報量が少ない画像が連続するうちに出力バッファの残量を増加させてしまうようになる。
【0040】
逆に、情報量が多い画像の後に情報量の少ない画像が続く場合では、先に供給される情報量の多い画像を大きな量子化ステップで圧縮して出力バッファの残量を減らさなくても、その後に続くのは情報量の少ない画像なのでオーバーフローし難いはずであるが、上記出力バッファ残量フィードバック方式では、続く画像の情報量がわからないためバッファの残量を減らす方向、すなわち量子化ステップを大きくする方向に制御し、画質を低下させてしまう。
【0041】
このようなことから、例えば、入力画像の情報量を評価し、この評価値に基づいて量子化ステップを制御するような構成も考えられる。
ところが、上記入力画像の情報量の評価値を求めるような機構を備えた画像符号化装置において、例えば1枚の入力画像を圧縮する際には、当該入力情報を圧縮した後に得られることになるデータに対して使用可能な割当量を、当該入力画像の情報量(難易度)に応じて配当することになるが、そのときの量子化器の量子化ステップを、当該割当量に応じて精度良く予測する必要がある。
【0042】
ここで、もしも、上記予測した量子化ステップが適当でない場合には、上記圧縮後のデータに対して使用可能な割当量を大幅に割り込んだり、逆にオーバーしたりしてしまうことになる。このように割当量を大幅に割り込んだり、オーバーしたりすると、他のピクチャの圧縮の際の割当量に影響を与えてしまうことになる。
【0043】
すなわち例えば、割当量が少なくなったフレームでは、量子化ステップが大きくなり、したがって画質が低下するようになる。このため、例えば連続的に見て均等な画質のフレームが続かなくなり、全体的に見ても画質が悪い印象になってしまう。また、上記予測が大幅にずれると、最悪の場合、バッファのアンダーフローやオーバーフローを招くことになる。
【0044】
ここで、そのようにならないようにするために、例えば、1画面内で圧縮後の情報量と予定割当量と圧縮の進捗の画面内での割合で量子化ステップを制御していたとしても、基本の量子化ステップの予測が外れると画面内での量子化ステップの大きな変動が起こるようになる。このように画面内での量子化ステップの大きな変動が起こると、上記圧縮はラスタースキャン順になされるものなので、画面上で帯状に画質の不均等な部分が認識され、画質低下をもたらすようになる。
【0045】
そこで、本発明は、上述のような実情に鑑みて提案されたものであり、効率の良い画像圧縮が可能で、全体的に画質を向上させることができる画像符号化装置及び方法を提供することを目的とするものである。
【0046】
【課題を解決するための手段】
本発明の画像符号化装置は、上述した目的を達成するために提案されたものであり、入力画像データを複数枚蓄える画像データ蓄積手段と、上記画像データ蓄積手段に蓄積された複数枚の画像データから、当該入力画像データの情報量を評価するための画像自身の情報量を示す第1のパラメータ、画像の差分情報量を示す第2のパラメータ及び画像カウントのための画像情報を出力する画像情報評価手段と、上記画像データ蓄積手段に蓄積された複数枚の画像データの画像間の相関情報として、上記画像情報評価手段からの上記第2のパラメータを用いてシーンチェンジを検出する画像間相関検出手段と、画像データに直交変換処理を施し、直交変換係数を生成する直交変換手段と、上記直交変換手段により生成された直交変換係数を、所定の量子化ステップで量子化する量子化手段と、上記画像情報評価手段によって得られた上記画像情報と上記画像間相関検出手段からの画像間の相関情報であるシーンチェンジの検出出力とに基づいて、上記画像情報のカウント値によりフレーム内符号化を定期的に選択すると共に上記シーンチェンジの検出時にもフレーム内符号化を選択し、それら以外ではフレーム間予測符号化を選択する圧縮方法選択手段と、上記圧縮方法選択手段が選択した圧縮方法で1画面分の画像データを圧縮することにより得られる予定圧縮データ量とマクロブロックタイプに応じて上記第1、第2のパラメータのどちらかを加算し1画面分合計することにより求められた難易度とから、上記量子化手段における量子化の際の基本量子化ステップを予測する量子化ステップ制御手段とを有し、上記量子化ステップ制御手段は、上記1画面分の画像データの予定圧縮データ量をallocated_bit とし、上記難易度をdifficultyとし、上記基本量子化ステップをQ_scale とするとき、予め定められたパラメータA、Bを用いて、
Q_scale = exp((log(allocated_bit/difficulty)-B)/A)
の式により基本量子化ステップQ_scale を求めることを特徴とするものである。
また、本発明の画像符号化方法は、入力画像データを複数枚蓄える画像データ蓄積手段に蓄積された複数枚の画像データから、当該入力画像データの情報量を評価するための画像自身の情報量を示す第1のパラメータ、画像の差分情報量を示す第2のパラメータ及び画像カウントのための画像情報を出力する画像情報評価工程と、上記画像データ蓄積手段に蓄積された複数枚の画像データの画像間の相関情報として、上記画像情報評価手段からの上記第2のパラメータを用いてシーンチェンジを検出する画像間相関検出工程と、上記画像情報評価工程にて得られた画像情報と上記画像間相関検出工程にて得られた画像間の相関情報であるシーンチェンジの検出出力とに基づいて、上記画像情報のカウント値によりフレーム内符号化を定期的に選択すると共に上記シーンチェンジの検出時にもフレーム内符号化を選択し、それら以外ではフレーム間予測符号化を選択する圧縮方法選択工程と、画像データに直交変換処理を施し、直交変換係数を生成する直交変換工程と、上記圧縮方法選択工程にて選択された圧縮方法で1画面分の画像データを圧縮することにより得られる予定圧縮データ量とマクロブロックタイプに応じて上記第1、第2のパラメータのどちらかを加算し1画面分合計することにより求められた難易度とから、量子化の際の基本量子化ステップを予測する量子化ステップ制御工程と、上記直交変換工程にて生成された直交変換係数を、上記所定の量子化ステップで量子化する量子化工程とを有し、上記量子化ステップ制御工程では、上記1画面分の画像データの予定圧縮データ量をallocated_bit とし、上記難易度をdifficultyとし、上記基本量子化ステップをQ_scale とするとき、予め定められたパラメータA、Bを用いて、
Q_scale = exp((log(allocated_bit/difficulty)-B)/A)
の式により基本量子化ステップQ_scale を求めることを特徴とするものである。
【0047】
ここで、上記量子化ステップ制御手段は、実際に圧縮に使用した量子化ステップと圧縮後のデータ量と上記評価値の関係を学習し、当該学習結果に応じて上記基本量子化ステップの予測を行う。また、上記量子化ステップ制御手段は、画像データを複数に分割したマクロブロック毎の上記評価値を1画面分合計して合計評価値を求め、当該合計評価値を上記基本量子化ステップの予測に使用する。このとき、上記画像情報評価手段は、動き検出による動きベクトルに応じた参照画像のマクロブロックの画素データと入力画像のマクロブロックの画素データとの差分のマクロブロック毎の絶対値和を、上記評価値とする。
【0049】
【作用】
本発明によれば、蓄積した複数枚の画像データから情報量を評価し、さらに画像間の相関を検出し、情報量の評価値と画像間の相関情報とに基づいて適応的に画像データの圧縮方法を選択し、選択した圧縮方法で1画面分の画像データを圧縮することにより得られる予定圧縮データ量と評価値とから基本量子化ステップを予測することで、基本量子化ステップの予測精度を高めている。
【0050】
また、本発明によれば、実際に圧縮に使用した量子化ステップと圧縮後のデータ量と評価値の関係を学習し、当該学習結果に応じて基本量子化ステップの予測を行うことで、入力画像の変動に追従させるようにしている。
【0052】
【実施例】
以下、図面を参照し、本発明の実施例について詳述する。
図1には本発明実施例の画像符号化装置の概略構成を示す。なお、この図1において、前述した図7と同じ構成については同一の指示符号を付してその説明については省略する。
【0053】
なお、この図1の構成において、前記図7の構成に追加された構成要素は画像情報評価回路50とシーンチェンジ検出回路31と圧縮方法選択回路32と動きベクトル発生回路33であり、また、動き検出器38と量子化ステップ制御器39とフレームメモリ40とが変更されている。
すなわち、本発明実施例の画像符号化装置は、入力画像データを複数枚蓄える画像データ蓄積手段としてのフレームメモリ40と、上記フレームメモリ40に蓄積された複数枚の画像データから、当該入力画像データの情報量を評価する画像情報評価回路50と、上記フレームメモリ40に蓄積された複数枚の画像データから画像間の相関を検出する画像間相関検出手段としてのシーンチェンジ検出回路31と、画像データに直交変換処理(DCT処理)を施してそのDCT係数を生成するDCT回路14と、上記DCT回路14によって生成されたDCT係数を所定の量子化ステップで量子化する量子化器15と、上記画像情報評価回路50によって得られた情報量の評価値と上記シーンチェンジ検出回路31からの画像間の相関情報(シーンチェンジ検出出力)とに基づいて適応的に画像データの圧縮方法(ピクチャタイプ,マクロブロックタイプ,GOP長)を選択する圧縮方法選択回路32と、上記圧縮方法選択回路32が選択した圧縮方法で1画面分の画像データを圧縮することにより得られる予定圧縮データ量と上記評価値とから、上記量子化器15における量子化の際の基本量子化ステップを予測する量子化ステップ制御器39とを有することを特徴とする。
【0054】
この図1において、先ず、入力端子1から入力された入力画像データは、フレームメモリ40に蓄えられる。このフレームメモリ40は、図3のフレームメモリ10とは異なり、所定数のフレームを蓄積できるものである。このときの蓄積する所定数としては、多過ぎるとフレームメモリ40が大規模になってしまうので好ましくない。上記所定数として効率的な長さ(フレーム数)は、ビットレートと出力バッファ18の容量、フレーム内符号化の圧縮方式の画像同士の間隔(ほとんどの場合GOPの長さといっても差し支えない)に大きく依存する。これは圧縮方法及び圧縮率の違いから生ずる圧縮データの大きさのむらを上記出力バッファ18によって吸収し、定ビットレートにすることができる範囲が、上記ビットレート及び出力バッファ容量とフレーム内符号化がなされる画像同士の間隔等の条件によって制約されるからである。
【0055】
ところで、一般的にフレーム内符号化方式で圧縮することは定期的に行われる(これがGOPの区切りになることが多い)ものであり、このフレーム内符号化の圧縮方式は当該圧縮後のデータ量が他の方式(フレーム間予測符号化)に比べてかなり大きいものである。このため、当該フレーム内符号化による圧縮画像同士(或いはGOP)の間隔で情報量を調べ、データ量の配分をするのは、一つの合理的な方法である。
【0056】
しかし、本実施例の方式では、後述するようにシーンチェンジ等によって前後の画像の相関が著しく低くなった場合にもフレーム内符号化方式で圧縮するようにしており、このようにシーンチェンジ部分でフレーム内符号化を行うようにすると、例えば、当該シーンチェンジに基づくフレーム内符号化画像の近傍に前記定期的なフレーム内符号化がきた場合、当該定期的に行われるフレーム内符号化の画像に対しては、定ビットレート或いは均質な画質の維持が困難になるため、フレーム内符号化による圧縮である必然性を失い、当該フレーム内符号化で圧縮することを取り止める必要がでてくる。
【0057】
したがって、上記フレームメモリ40の記憶可能な容量(上記所定数)は、上述のようにシーンチェンジが上記定期的に行われるはずであるフレーム内符号化の画像の近傍にくる場合があることを考慮して、当該定期的にフレーム内符号化で圧縮を行う周期の2倍程度とすることが適当である。
もちろん、上記所定数は一例であり、これに限定されることはなく様々な条件に合わせて変更することは可能である。
【0058】
上記フレームメモリ40に蓄積された画像データは、適宜、画像情報評価回路50に送られる。
ここで、当該画像情報評価回路50は、大別して2通りのパラメータを算出するものである。
第1のパラメータは、フレーム内符号化で圧縮を行った場合の圧縮後のデータ量を予測することが可能なように、その画像自身の情報量を示すものである。この第1のパラメータとしては、例えば、フレームメモリ40から供給された画像データに対して、DCT処理をブロック毎に行い、そのDCT係数の和や統計をとったものとしたり、また、それでは規模が大きくなる場合には、平均自乗誤差のブロック毎の和を求めたものとする。いずれにしても、当該画像情報評価回路50では、画像の情報量を表し、圧縮後のデーター量を類推するに足るパラメータを算出する。
【0059】
第2のパラメータは、フレーム間予測符号化で圧縮を行った場合の圧縮後のデータ量を予測することが可能な、画像の差分情報量を示すものである。この場合のパラメータとしては、例えば、フレームメモリ40に格納された画像と動き補償後の画像との差分値のブロック内の和を用いる。このパラメータ算出の際には、一般的な動きベクトル検出回路(動き検出器38及び動きベクトル発生回路33)で得られる動きベクトルが検出された最小誤差を利用することができる。
【0060】
このとき、フレーム間予測符号化による圧縮後のデータ量の類推(予測)のためのパラメータとしては、一般的な輝度情報だけの動きベクトル検出回路(動き検出器38及び動きベクトル発生回路33)で得られる動きベクトル及びその動きベクトルが検出された輝度情報だけで求めた最小誤差に加えて、本実施例ではその動きベクトルが検出された色差情報だけで求めた最小誤差を新たに用いるようにする。
【0061】
本実施例装置では、このようにして求めた輝度情報からの最小誤差と色差情報からの最小誤差を用いて、そのマクロブロックの誤差とし、当該マクロブロックの誤差を用いて後述する圧縮方法選択回路32で圧縮方法の判定を行なう。
上記画像情報評価回路50によって、上述したようにして算出された画像情報の評価値(パラメータ)は、次に説明するシーンチェンジ検出回路31と、圧縮方法選択回路32と、量子化ステップ制御器39とに送られる。
【0062】
また、画像情報評価回路50からは、後述する圧縮方法選択回路32においてGOPの長さを決定する際に画像のカウントを行うため、その圧縮方法選択回路32に対して画像情報も送られる。
次に、シーンチェンジ検出回路31は、上記画像情報評価回路50の出力(例えば第2のパラメータ)を用いてシーンチェンジを検出するものである。
【0063】
ここで、当該シーンチェンジ検出回路31においてシーンチェンジを検出する目的は、フレーム間予測符号化かフレーム内符号化のいずれかの圧縮方式を決定するための判断材料にすることが主である。それは、シーンチェンジ部分のように前後で相関の極めて低い画像では、フレーム間予測符号化で圧縮するよりもフレーム内符号化で圧縮する方が効率良く圧縮できるからである。また、シーンチェンジ部分では、圧縮後のデータも大きなものとなるため、データ量配分や出力バッファマネジメントの観点からも当該シーンチェンジを把握することは重要である。
【0064】
上述のようなシーンチェンジは前後の画像で相関が著しく損なわれる所に存在するものであるため、当該シーンチェンジ部分は、例えば、前後の画像についてそれぞれ例えば動きベクトル補償後の画像との差分値を求め、それぞれこの差分値の画像全体での総和を求めて、さらに当該前後の画像での上記総和の比を求めるなどして検出できる。
【0065】
このようなことから、本実施例のシーンチェンジ検出回路31では、上記画像情報評価回路50の出力を用いてシーンチェンジを検出するようにしている。すなわち、上記画像情報評価回路50は、前述のように動き補償後の画像の差分値のブロック内の和を第2のパラメータとして出力するため、当該シーンチェンジ検出回路31では、当該差分値のブロック内の和を用いて、上述のシーンチェンジ検出のための演算を行うことができる。
【0066】
次に、圧縮方法選択回路32について説明する。
当該圧縮方法選択回路32は、上記シーンチェンジ検出回路31からのシーンチェンジ検出出力と、画像情報評価回路50からの画像情報をカウントしたカウント値と、前記輝度情報と色差情報からそれぞれ求めた第2のパラメータ(最小誤差)とに基づいて、フレーム内符号化/フレーム間予測符号化(P,Bピクチャ)のいずれの圧縮方式で圧縮を行うのかを選択する回路である。
【0067】
すなわち当該圧縮方法選択回路32では、上記画像情報評価回路50によって得られるマクロブロック毎の輝度情報及び色差情報から求めたパラメータに基づいて、マクロブロック毎のフレーム内符号化/フレーム間予測符号化の各圧縮方法によって発生するデータの予想量(発生予想量)を比較し、より発生予想量の少なくなる圧縮方法を選択するようにしている。
【0068】
また、フレーム内符号化方式による圧縮画像は少なくともGOPの最初になければならない。さらに、GOPはランダムアクセスを考慮してある程度の間隔となされているので、必然的にIピクチャは当該間隔で定期的に発生するものであり、また、本実施例ではシーンチェンジ等によっても発生するものである。
このようなことから、当該圧縮方法選択回路32では、上記画像情報評価回路50からの画像情報のカウントを行うと共に、上記シーンチェンジ検出回路31からのシーンチェンジ検出出力が当該圧縮方法選択回路32に加えられる。これにより当該圧縮方法選択回路32では、上記画像のカウント値から定期的なフレーム内符号化を選択すると共にシーンチェンジ検出時にもフレーム内符号化を選択(すなわちGOPの間隔を決定する)し、それら以外ではフレーム間予測符号化を選択するようにしている。
【0069】
この圧縮方法選択回路32は、上記圧縮方法の選択に応じて前記切換スイッチ13と24の切換制御を行うと共に、その選択結果を示す情報を量子化ステップ制御器39に送る。
量子化ステップ制御器39は、可変長符号化回路17からの符号量を示す情報に基づいて量子化器15の量子化ステップ幅を制御する。また、上記出力バッファ18から出力されたデータは圧縮符号化がなされた符号化出力として出力端子2から出力される。
【0070】
また、上記量子化器15からの出力は、逆量子化器27によって逆量子化され、さらに逆DCT回路26によって逆DCT処理される。当該逆DCT回路26の出力は、加算器25に送られる。
この加算器25には、フレーム間予測符号化のフレームのときにオンとなる切換スイッチ24を介した動き補償器21からのフレーム間予測画像データも供給され、当該データと上記逆DCT回路26の出力データとの加算が行われる。この加算器25の出力データは、フレームメモリ22に一時的に蓄えられた後、動き補償器21に送られる。
【0071】
当該動き補償器21は、上記動き検出器38によって検出され動きベクトル発生回路33によって発生された動きベクトルに基づいて動き補償を行い、これによって得たフレーム間予測画像データを出力する。
また、上記量子化ステップ制御器39は、前記画像情報評価回路50からの評価値(パラメータ)から画像の情報量、さらにはシーンチェンジのように前後の画像の相関が極めて低くなる所を知ると共に、圧縮方法選択回路32からの選択結果を示す情報からフレーム内符号化かフレーム間予測符号化のいずれが選択された画像であるかも知ることができる。
【0072】
したがって、当該量子化ステップ制御器39においては、出力バッファ18の残量のみをフィードバックする従来の量子化ステップ制御に比べて、入力画像の急激な情報量変化に追随できることになり、また、画像の情報量の変化に応じて適切な量子化ステップ制御が可能で、さらに、フレーム内符号化/フレーム間予測符号化の圧縮方法に応じて適切な量子化ステップ制御も可能となる。
【0073】
次に本実施例の構成における処理の流れを、図2のフローチャートに沿って説明する。
先ず、ステップS81では、入力端子1に入力された画像データが順次フレームメモリ40へ格納される。
ここで、先に述べたようにIピクチャの頻度や間隔の決定が画質に影響を及ぼすので、これに関係して符号化に先だってGOPを決めておく必要があり、また、レートコントロール(量子化ステップ制御によるビットレートのコントロール)をするために符号化に先だって1GOP分の画像についての情報を収集しなければならない。このように、次々と入力されてくる画像データに対してその間に分析を行い、符号化するまでの十分な遅延時間を稼ぐため、大量のフレームメモリ40を用いる。
【0074】
次に、ステップS82では、動き検出器38及び動きベクトル発生回路33によって、フレーム間予測符号化で圧縮するために必要な動きベクトルを検出及び発生させる。すなわち、このステップS82では、予め定められたスケジュールでフレームメモリ40中の各画像データをPピクチャ或いはBピクチャとして圧縮符号化できるように、動き検出(モーションエスティメーション)を行う。
【0075】
ここで、動き検出を行う画像については、Iピクチャを規定しない。それはどの画像データがIピクチャになるのかこの時点では確定していないからであり、またIピクチャは動き補償を必要としないため、後にどの画像データでもIピクチャにすることが可能だからである。
上記画像情報評価回路50は、上記動き検出をする際に用いられる最小歪み(Minimum Distortion)或いは誤差の絶対値和(AD:Absolute Difference )と呼ばれるものを符号化に用いるパラメータの一つ(第2のパラメータ)として読み出し格納する。
【0076】
なお、上記誤差の絶対値和(AD)は、リファレンス側の画像を8×8ピクセルのブロックに分割し、輝度データ8×8×4ピクセルと色差データ8×8×2ピクセルのマクロブロック(MB)に対し、動き検出を行なった際に求めた動きベクトルで切りだされるサーチ側のマクロブロックとの各画素同士の差の絶対値和で、以下の式(1) で求めることができる。
【0077】
【数1】
Figure 0003711572
【0078】
これをさらにマクロブロック内のブロックについて集計したものを用いてマクロブロックの誤差の絶対値和(AD)とする。
このパラメータはシーンチェンジの判定やフレーム間予測符号化で圧縮する場合の画像の相関も考慮した情報量の推定に用いるものである。
このパラメータはまた、後述するようにマクロブロックタイプを決定するために使われる。
【0079】
画像の情報量を推定するパラメータSADは、式(2) のように、一つの画像内の上記誤差の絶対値和(AD)を合計したものである。
SAD=ΣAD (2)
もちろん、上記誤差の絶対値和(AD)以外に最小歪み(Minimum Distortion)を用いてもよい。
【0080】
次に、ステップS83では、画像情報評価回路50において、上記動き検出で得られたパラメータ以外に誤差の平均絶対値和(MAD:Mean Absolute Difference)、アクティビティ(Activity)を各画像毎に評価する。
上記誤差の平均絶対値和(MAD)はIピクチャの情報量を推定するためのパラメータで、下記の式(3) によって8×8画素のブロック毎に求め、必要に応じてマクロブロック或いは画面で集計を行う。このパラメータはまた、マクロブロックタイプを決定するために使われる。
【0081】
【数2】
Figure 0003711572
【0082】
これをさらに、式(4) のように、マクロブロック内のブロックについて合計したものを用いてマクロブロックの判定に用いる。
MAD=Σ blockMAD (4)
またさらに、式(5) のように、マクロブロックの値を一つの画像内で合計してその値を、その画像の(Iピクチャとしての)情報量を表すパラメータSMADとする。
【0083】
SMAD=ΣMAD (5)
また、上記アクティビティは、一つの画面の中でそのマクロブロックの画像の状態に応じてよりきめ細かに量子化ステップを制御することによって画質を維持しながら、より圧縮効率を高めるために、その画像の状態を定量化するためのパラメータである。
【0084】
例えば一つのブロック内で画像が画素のレベル変化の少ない平坦な部分(フラットな部分)では量子化による歪みが目立ち易く、量子化ステップを小さくしてやるべきで、逆にレベル変化が多い複雑なパターンのブロックでは量子化歪みは目立ち難く、情報量も多いので量子化ステップを大きくするべきである。
そこで、例えばブロックの平坦度(フラットネス)を表すパラメータをこのアクティビティとして用いる。
【0085】
次に、ステップS84では、上記シーンチェンジ検出回路31でシーンチェンジの検出を行う。このシーンチェンジ検出回路31でのシーンチェンジ検出は、上記画像情報評価回路50で得られたパラメータADを使ってなされる。具体的には、上記パラメータADを1画面分合計した上記パラメータSADを使い、その変化の割合で上記シーンチェンジを検出する。
【0086】
次に、圧縮方法選択回路32においては、ステップS85でGOP長の決定を行い、ステップS86で圧縮方法の選択(ピクチャタイプの決定)を行う。
ここでは、すでに述べたように、符号化に際してランダムアクセス性を考慮して適当なフレーム数毎にGOPを区切る。このとき少なくともGOPの符号順で最初のピクチャはIピクチャでなければならないから、ピクチャの数をカウントし定期的にピクチャタイプをIピクチャにする。
【0087】
一方、上記シーンチェンジによって前後のピクチャで相関が低くなった場合、これも先に述べたようにIピクチャで圧縮符号化すると効率が良い。しかしながら、Iピクチャは圧縮率が低いため、低ビットレートにおいては頻繁に現れると画質の低下を招く。したがって、シーンチェンジ検出回路31によってシーンチェンジが検出された場合、圧縮方法選択回路32は、Iピクチャ同士の間隔を適度に保つよう適応的にGOPの長さを決める。
【0088】
次のステップS87では、圧縮方法選択回路32において、後述する図3のフローチャートに示すような合計評価値(難易度:difficulty) の集計を行い、これに基づいてマクロブロックタイプの判定を行う。すなわち、圧縮方法選択回路32では、ステップS87においてマクロブロック毎の圧縮方法とマクロブロックタイプとを決める。
【0089】
前述のように既に求めた上記誤差の平均絶対値和(MAD)と誤差の絶対値和(AD)は、それぞれフレーム内符号化/フレーム間予測符号化で圧縮したときの圧縮後のデータ量に関係するので、この2つのパラメータを比較すればフレーム内符号化/フレーム間予測符号化のどちらのマクロブロックタイプがより少ないデータ量になるか判定できる。
【0090】
次のステップS88では、量子化ステップ制御器39において、レートコントロールのためのビット配分を行う。すなわちこのステップS88では、上記ステップS87で求めた難易度(difficulty) に応じて1画面毎の割り当て量をビット配分する。
各ピクチャ毎の圧縮符号化された後のデータサイズは、その符号化方式や元々の画像データが持つ情報量、前後の相関などによって大きく変動する。平均的な画質を保つようにするならばことさらである。
【0091】
各ピクチャ毎の圧縮符号化された後のデータサイズのむらは出力バッファ18によってある程度吸収されるが、平均的には一定のビットレートにしなければならない。したがって、ある区間を定めればその間のピクチャのトータルの圧縮後のデータ量が決まる。そこで、既に決定しているピクチャタイプと、予め調べておいた画像の情報量パラメータとを用いて各ピクチャ毎に圧縮後のデータ量、すなわち各ピクチャが使って良いビットの量を決める。
【0092】
このとき、例えば情報量の少ない画像やBピクチャには少なく、情報量の多い画像やIピクチャには多くする。これをビット配分と呼ぶ。これによって画質のばらつきを抑え、なおかつ一定レートに保つことが容易になる。
例えば本実施例ではGOPをその区間として、次の式(6) ,式(7) のようにビット配分を行う。
Total Bit Count =(Bit Rate [bit/s]× Number Of Picture In GOP [picture])/(Picture Rate [picture/s]) [bit] (6)
Available Bits=(Total Bit Count ×ターゲットの画像情報量パラメータ)/画像情報量パラメータのGOP合計値) [bit] (7)
なお、この式(7) で使用している情報量パラメータは、先に述べたパラメータSMAD,SADを用い、これに圧縮するピクチャタイプ別の乗数をかけたものである。また、上記乗数は各ピクチャタイプ間のパラメータと画質との関係を調整するものである。
【0093】
なお、上記式(7) の上記画像情報量パラメータのGOP合計値は、式(8) に示すようにして求める。
画像情報量パラメータのGOP合計値=Ki×ΣDifi+Kp×ΣDifp+Kb×ΣDifb
Difi: Pピクチャの難易度
Difb: Bピクチャの難易度 (8)
上記量子化ステップ制御器39においては、次のステップS89において、後述する図4のフローチャートのような学習パラメータA,Bによる回帰予測の処理に基づいて基本量子化ステップの決定を行う。すなわち、このステップS89では、上述した1画面のビット割当量と難易度から回帰予測による基本量子化ステップの決定(予測)を行う。
【0094】
上述のようにしてピクチャタイプが決まり、マクロブロックタイプが決まれば、マクロブロックタイプに応じて1画面分の上記誤差の平均絶対値和(MAD)、誤差の絶対値和(AD)を集計することで、1画面の情報量パラメータ(すなわち難易度)が測定できる。したがって、過去の実績から、情報量パラメータと量子化後のデータ量が決まれば量子化ステップを推定することができる。
【0095】
本発明は、この基本量子化ステップ決定機構に関してのものであり、本実施例の量子化ステップ制御器39は、1画面毎の割当ビット量(allocated_bit)と上記難易度(difficulty)とから、以下の方法により一画面の基本の量子化ステップ(量子化スケール:Q _scale)を決めるようにしている。
先ず、式(10)に示すように、
log(allocated_bit/difficulty) =A*log(Q _scale)+B (10)
という関係があると仮定し、上記式(10)中のA,Bを予め学習(実験)により求めておく。さらに、上記式(10)を変形した式(11)から、上記量子化スケール(Q_scale)を求める。
【0096】
Q_scale =exp((log(allocated_bit/difficulty)-B)/A) (11)
このようにして求めた量子化ステップをそのピクチャの基本量子化ステップとする。
次に、量子化ステップ制御器39は、ステップS90のように、画面内の量子化ステップの制御を行う。
【0097】
すなわち、当該量子化ステップ制御器39は、先に述べたように画面内の量子化ステップを各ブロック毎に、なるべく画質を高く、しかも圧縮効率を高くするように制御する。具体的には、上記アクティビティやマクロブロックタイプなどの情報をもとに、基本量子化ステップからマクロブロック毎の量子化ステップを加減することで、量子化器15に対する量子化ステップの制御を行う。
【0098】
次のステップS91では前記可変長符号化回路17において符号化を行う。上述のようにして圧縮符号化の全てのパラメータが決まっているのでその後は、MPEGの規則にしたがって圧縮符号化する。
次のステップS92ではマクロブロック毎のビット発生量と、量子化スケール(Q_scale)の集計を行う。
【0099】
最後に、ステップS93では、前述した各パラメータの更新を行う。すなわち、後述する図5のフローチャートに示すように、マクロブロック毎の量子化ステップの平均と、マクロブロック毎の発生量の合計値と、難易度(difficulty) とによる予測標本の更新を行う。
ここで、画像情報量と基本量子化ステップ、圧縮後のデータ量の関係は、圧縮する画像に依存する。したがって、ここでは、その関係を表す式に用いるパラメータ、予測パラメータを、圧縮後の実際のデータ量をフィードバックすることにより学習させ、予測の精度を向上させている。
【0100】
この場合、先ず、ピクチャタイプ毎に学習パラメータA,Bを以下の方法により、学習し、修正する。
例えば、マクロブロック毎の量子化スケール(Q-scale) の平均値を(average_Q)とし、1画面圧縮した後の発生量を(generated bit) とすると、式(12)に示すように、
x = log(average_Q), y = log(generated bit/ difficulty) (12)
となり、AとBのパラメータを最小2乗誤差法で以下の式(13)、式(14)のようにして求める事ができる。なお、式中nは標本数である。
Figure 0003711572
次に図2のステップS87における難易度(difficulty) の集計のフローチャートについて図3を用いて説明する。
【0101】
図2のステップS87で難易度(difficulty) の集計の処理に進むと、図3のステップS100以降の処理に移る。
この図3において、ステップS101では、先ず、初期化としてdifficulty=0とし、次のステップS102では、マクロブロックタイプがフレーム内符号化マクロブロック(イントラマクロブロック:intra MB)か否かの判定を行う。ここで、イントラマクロブロックであると判断した場合にはステップS106で難易度(difficulty)を前記1画面分の誤差の平均絶対値和(MAD)とした後、ステップS110に進む。また、ステップS102でマクロブロックタイプがイントラマクロブロックでないと判定した場合には、ステップS103に進む。
【0102】
このステップS103では、マクロブロックタイプがフレーム間予測符号化マクロブロック(インターマクロブロック:inter MB)のうちの前方予測マクロブロック(forward MB)か否かの判定を行う。当該ステップS103で前方予測マクロブロックであると判断した場合にはステップS107で難易度(difficulty)を前方予測マクロブロックの誤差の絶対値和(AD_for)とした後、ステップS110に進む。また、ステップS103でマクロブロックタイプが前方予測マクロブロックでないと判定した場合には、ステップS104に進む。
【0103】
このステップS104では、マクロブロックタイプがインターマクロブロックのうちの後方予測マクロブロック(backward MB) か否かの判定を行う。当該ステップS104で後方予測マクロブロックであると判断した場合にはステップS108で難易度(difficulty)を後方予測マクロブロックの誤差の絶対値和(AD_bac)とした後、ステップS110に進む。また、ステップS104でマクロブロックタイプが後方予測マクロブロックでないと判定した場合には、ステップS105に進む。
【0104】
このステップS105では、マクロブロックタイプがインターマクロブロックのうちの両方向予測マクロブロック(bidirectional MB)か否かの判定を行う。当該ステップS105で両方向予測マクロブロックであると判断した場合にはステップS109で難易度(difficulty)を両方向予測マクロブロックの誤差の絶対値和(AD_bid)とした後、ステップS110に進む。また、ステップS105でマクロブロックタイプが両方向予測マクロブロックでないと判定した場合には、ステップS110に進む。
【0105】
上記ステップS110では、全マクロブロック分の難易度の集計が終了したか否かの判定を行い、終了していないと判定した場合にはステップS102に戻り、終了したと判定した場合にはステップS111で難易度の集計を終了し、ステップS87に戻る。
次に図2のステップS89における学習パラメータA,Bに因る回帰予測のフローチャートについて図4を用いて説明する。
【0106】
図2のステップS89で学習パラメータA,Bに因る回帰予測の処理に進むと、図4のステップS120以降の処理に移る。
この図4において、ステップS121では、前記式(11)の演算を行い、次のステップS122では、この式(11)の演算により得られた学習パラメータA,Bによる回帰予測処理を終了し、図2のステップS89に戻る。
【0107】
次に図2のステップS93における学習パラメータA,Bの修正更新のフローチャートについて図5を用いて説明する。すなわちこの図5のフローチャートでは、新たな標本を標本集合に加え、最小2乗誤差法によりパラメータA,Bを求め、古い標本を標本集合から除くことで、回帰予測のための学習パラメータA,Bを更新修正する。
【0108】
図2のステップS93で学習パラメータA,Bの修正構成の処理に進むと、図5のステップS130以降の処理に移る。
この図5において、ステップS131では、最小2乗誤差法で、学習パラメータA,Bの修正と更新を行う。ここでは、1画面のデータを集計し、以下の式(15),(16) に示すように、
x=log(average _Q) (14)
y=log(generated _bit/difficulty) (15)
とする。
【0109】
次のステップS132では、新しいx,yデータを回帰分析標本集合に加え、ステップS133では学習パラメータA,Bを最小2乗誤差法により計算する。さらに次のステップS134では学習パラメータA,Bを最大値,最小値でクリップし、ステップS135では古いx,yデータを回帰分析の標本集合から除く。その後、ステップS136では学習パラメータA,Bの修正更新を終了して、図2のステップS93に戻る。
【0110】
上述のようにして求めた発生ビット量と量子化スケール(Q _scale)の関係は、図6に示すようになる。
上述した本発明実施例の画像符号化装置についてまとめると、本実施例の画像符号化装置においては、基本量子化ステップの制御の際に、入力画像データの情報量を見積るパラメータ(評価値)と量子化後の予定圧縮データ量とから、基本量子化ステップを精度良く予測するようにしている。
【0111】
ここで、当該基本量子化ステップを精度良く予測するために、入力画像データの情報量を見積るパラメータと実際に圧縮に使用した量子化ステップと圧縮後のデータ量の関係を学習するようにしている。また、基本量子化ステップを予測する際には、入力画像データの情報量を見積る方法として、1画面毎に難しさ(難易度)を、マクロブロックタイプ決定後のマクロブロックタイプに応じて誤差の絶対値和(AD),誤差の平均絶対値和(MAD)のどちらかを加算し、1画面分合計し、これをその画面の難易度(difficulty)としている。さらに、本実施例では、1画面毎の割当ビット量(allocated_bit)を、難易度(difficulty)を1GOP分集計し、この1GOP分の難易度に応じてビット配分を行うようにしている。
【0112】
また、本実施例装置では、1画面毎の割当ビット量(allocated_bit)と難易度(difficulty)から、ピクチャタイプ毎に前記式(10)の関係があると仮定し、予め式中のA,Bを学習により求めておき、さらに式(10)を変形した式(11)から基本量子化スケール(Q_scale)を求めるようにしている。このとき、マクロブロック毎の学習パラメータA,Bは、前記式(12), 式(13), 式(14)のように、マクロブロック毎の量子化ステップの平均値と1画面圧縮した後の発生量とを用い、最小2乗誤差法で求めることができる。
【0113】
またさらに、学習パラメータA,Bを学習し、修正する際には、ピクチャータイプ毎に各々最近のn秒間のデータから求める(すなわち、最近の過去n秒間以上過去のデータは使わない)ようにしている。このとき、過去のデータを図6のようにグラフにプロットし、直線近似ができそうな部分の基本量子化スケール(Q_scale)の最大値、最小値の平均データを標本集合中に入れておき、予測直線を安定させるようにし、さらには学習パラメータA,Bには上限下限を設定し、特異なデータが多く入力されても安定した基本量子化ステップ予測を行えるようにしている。
【0114】
上述したようなことから、本実施例の画像符号化装置によれば、基本量子化ステップを精度良く予測できるため、画面内で量子化ステップの制御を特に行わなくても一画面に割り当てた圧縮後の予想ビット量に近くなり、したがって、画面毎にビットの使い込みや余りが起きなくなるので、平均した画質を維持できるようになる。例えば、画面内で量子化ステップの制御を上手に行ったとしても、基本量子化ステップが大きく外れていたならば、画面内で量子化ステップの変動がおき、画質の不均質を検出できる圧縮画ができてしまうが、本実施例では、圧縮に際しての難易度に応じてビット配分を行うため、基本量子化ステップを精度良く予測でき、したがって、無駄なくビットが使われ、画面内や画面毎の不均質が検出し難い圧縮画ができる。
【0115】
また、本実施例では、基本量子化ステップを精度良く予測する機構が、変動する入力画によって修正、学習を行い、入力画に追随するため、基本量子化ステップを精度良く予測する機構が維持できる。
さらに、本実施例装置では、基本量子化ステップを精度良く予測する機構が、過去の学習結果に引きずられることなく、最近のある期間の入力画の影響を学習に使用するようにしているため、入力画に素早く追随した基本量子化ステップの予測が行なえる。
【0116】
また、本実施例装置では、基本量子化ステップを精度良く予測する機構が、実験で求めた多くの学習データからの予測直線を最近の入力画の学習データで更新し、なおかつ実験で求めた予測直線データは、x,y共に最大値、最小値に近いデータが入力されている。したがって、最小二乗誤差法では、実験の影響が大きくなるため、もし特異な入力画の学習データが入ったとしても、それに引きずられずに基本量子化ステップの予測が行なえる。
【0117】
またさらに、本実施例の画像符号化装置によれば、上記の実験で求めた最大値,最小値の付近のx,yから求められる学習パラメータA,Bでの変動抑制でも防げないような予測直線となった場合でも、最終的にパラメータA,Bをクリップすることにより、異常な学習結果を保存しないので、基本量子化ステップを精度良く予測する機構を維持できる。
【0118】
【発明の効果】
本発明の画像符号化装置においては、蓄積した複数枚の画像データから情報量を評価し、さらに画像間の相関を検出し、情報量の評価値と画像間の相関情報とに基づいて適応的に画像データの圧縮方法を選択し、選択した圧縮方法で1画面分の画像データを圧縮することにより得られる予定圧縮データ量と評価値とから基本量子化ステップを予測することにより、基本量子化ステップが精度良く予測でき、画面内で量子化ステップの制御を特に行わなくても一画面に割り当てた圧縮後の予想ビット量に近くなり、したがって、画面毎にビットの使い込みや余りが起きなくなるので、平均した画質を維持できるようになる。このため、効率の良い画像圧縮が可能で、全体的に画質を向上させることが可能となる。
【0119】
また、本発明の画像符号化装置においては、実際に圧縮に使用した量子化ステップと圧縮後のデータ量と評価値の関係を学習し、当該学習結果に応じて基本量子化ステップの予測を行うようにしているため、変動する入力画像でもその入力画像に追従でき、基本量子化ステップを精度良く予測することが可能となっている。
【図面の簡単な説明】
【図1】本発明実施例の画像符号化装置の概略構成を示すブロック回路図である。
【図2】本実施例装置の動作を説明するためのフローチャートである。
【図3】難易度の集計のフローチャートである。
【図4】学習パラメータA,Bに因る回帰予測のフローチャートである。
【図5】学習パラメータA,Bの修正,更新のフローチャートである。
【図6】発生ビット量と基本量子化スケールとの関係を示す図である。
【図7】従来の画像符号化装置の概略構成を示すブロック回路図である。
【図8】画像の解像度と構成について説明するための図である。
【図9】マクロブロックとブロックについて説明するための図である。
【図10】ジグザグスキャンについて説明するための図である。
【図11】GOPの一例について説明するための図である。
【符号の説明】
22,40 フレームメモリ
11 ブロック分割器
12 差分器
13,24 スイッチ
14 DCT回路
15 量子化器
16 ジグザグスキャン回路
17 可変長符号化回路
18 出力バッファ
19,39 量子化ステップ制御器
20 動き検出器
21 動き補償器
25 加算器
26 逆DCT回路
27 逆量子化器
31 シーンチェンジ検出回路
32 圧縮方法選択回路
33 動きベクトル発生回路
50 画像情報評価回路

Claims (3)

  1. 入力画像データを複数枚蓄える画像データ蓄積手段と、
    上記画像データ蓄積手段に蓄積された複数枚の画像データから、当該入力画像データの情報量を評価するための画像自身の情報量を示す第1のパラメータ、画像の差分情報量を示す第2のパラメータ及び画像カウントのための画像情報を出力する画像情報評価手段と、
    上記画像データ蓄積手段に蓄積された複数枚の画像データの画像間の相関情報として、上記画像情報評価手段からの上記第2のパラメータを用いてシーンチェンジを検出する画像間相関検出手段と、
    画像データに直交変換処理を施し、直交変換係数を生成する直交変換手段と、
    上記直交変換手段により生成された直交変換係数を、所定の量子化ステップで量子化する量子化手段と、
    上記画像情報評価手段によって得られた上記画像情報と上記画像間相関検出手段からの画像間の相関情報であるシーンチェンジの検出出力とに基づいて、上記画像情報のカウント値によりフレーム内符号化を定期的に選択すると共に上記シーンチェンジの検出時にもフレーム内符号化を選択し、それら以外ではフレーム間予測符号化を選択する圧縮方法選択手段と、
    上記圧縮方法選択手段が選択した圧縮方法で1画面分の画像データを圧縮することにより得られる予定圧縮データ量とマクロブロックタイプに応じて上記第1、第2のパラメータのどちらかを加算し1画面分合計することにより求められた難易度とから、上記量子化手段における量子化の際の基本量子化ステップを予測する量子化ステップ制御手段とを有し、
    上記量子化ステップ制御手段は、上記1画面分の画像データの予定圧縮データ量を allocated_bit とし、上記難易度を difficulty とし、上記基本量子化ステップを Q_scale とするとき、予め定められたパラメータA、Bを用いて、
    Q_scale exp((log(allocated_bit/difficulty)-B)/A)
    の式により基本量子化ステップ Q_scale を求めることを特徴とする画像符号化装置。
  2. 上記パラメータA、Bは、実際に圧縮に使用した量子化ステップQ_scale と圧縮後のデータ量allocated_bit と上記難易度をdifficultyとの関係に基づいて、最小2乗誤差法によりパラメータA、Bの修正と更新を行うことにより求められたものであることを特徴とする請求項記載の画像符号化装置。
  3. 入力画像データを複数枚蓄える画像データ蓄積手段に蓄積された複数枚の画像データから、当該入力画像データの情報量を評価するための画像自身の情報量を示す第1のパラメータ、画像の差分情報量を示す第2のパラメータ及び画像カウントのための画像情報を出力する画像情報評価工程と、
    上記画像データ蓄積手段に蓄積された複数枚の画像データの画像間の相関情報として、上記画像情報評価手段からの上記第2のパラメータを用いてシーンチェンジを検出する画像間相関検出工程と、
    上記画像情報評価工程にて得られた画像情報と上記画像間相関検出工程にて得られた画像間の相関情報であるシーンチェンジの検出出力とに基づいて、上記画像情報のカウント値によりフレーム内符号化を定期的に選択すると共に上記シーンチェンジの検出時にもフレーム内符号化を選択し、それら以外ではフレーム間予測符号化を選択する圧縮方法選択工程と、
    画像データに直交変換処理を施し、直交変換係数を生成する直交変換工程と、
    上記圧縮方法選択工程にて選択された圧縮方法で1画面分の画像データを圧縮することにより得られる予定圧縮データ量とマクロブロックタイプに応じて上記第1、第2のパラメータのどちらかを加算し1画面分合計することにより求められた難易度とから、量子化の際の基本量子化ステップを予測する量子化ステップ制御工程と、
    上記直交変換工程にて生成された直交変換係数を、上記所定の量子化ステップで量子化する量子化工程とを有し、
    上記量子化ステップ制御工程では、上記1画面分の画像データの予定圧縮データ量をallocated_bit とし、上記難易度をdifficultyとし、上記基本量子化ステップをQ_scale とするとき、予め定められたパラメータA、Bを用いて、
    Q_scale = exp((log(allocated_bit/difficulty)-B)/A)
    の式により基本量子化ステップQ_scale を求めることを特徴とする画像符号化方法。
JP23811194A 1994-09-30 1994-09-30 画像符号化装置及び方法 Expired - Fee Related JP3711572B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23811194A JP3711572B2 (ja) 1994-09-30 1994-09-30 画像符号化装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23811194A JP3711572B2 (ja) 1994-09-30 1994-09-30 画像符号化装置及び方法

Publications (2)

Publication Number Publication Date
JPH08102951A JPH08102951A (ja) 1996-04-16
JP3711572B2 true JP3711572B2 (ja) 2005-11-02

Family

ID=17025346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23811194A Expired - Fee Related JP3711572B2 (ja) 1994-09-30 1994-09-30 画像符号化装置及び方法

Country Status (1)

Country Link
JP (1) JP3711572B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3473528B2 (ja) 1999-12-10 2003-12-08 日本電気株式会社 動き検出装置及び動き検出方法
JP4608136B2 (ja) * 2001-06-22 2011-01-05 オリンパス株式会社 動きベクトル及び視差ベクトル検出装置
JP5128389B2 (ja) * 2008-07-01 2013-01-23 株式会社日立国際電気 動画像符号化装置及び動画像符号化方法
JP6867273B2 (ja) * 2017-10-31 2021-04-28 日本電信電話株式会社 符号量推定装置及び符号量推定プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2516082B2 (ja) * 1990-03-19 1996-07-10 日本ビクター株式会社 デ―タ圧縮装置
JPH04175085A (ja) * 1990-11-08 1992-06-23 Olympus Optical Co Ltd 動画像符号化方式
JPH04336894A (ja) * 1991-05-14 1992-11-25 Oki Electric Ind Co Ltd 動画像符号化装置
JP3047942B2 (ja) * 1991-05-24 2000-06-05 三菱電機株式会社 符号化制御方法および装置
JPH04354488A (ja) * 1991-05-31 1992-12-08 Toshiba Corp 動画像符号化装置
JPH0541860A (ja) * 1991-08-05 1993-02-19 Oki Electric Ind Co Ltd 画像圧縮符号化装置
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
JPH0678287A (ja) * 1992-03-23 1994-03-18 Canon Inc 符号化方法及び装置
JPH05344493A (ja) * 1992-06-10 1993-12-24 Victor Co Of Japan Ltd 動画像符号化装置
JPH0654315A (ja) * 1992-07-31 1994-02-25 Canon Inc 動画像符号化方法及び装置

Also Published As

Publication number Publication date
JPH08102951A (ja) 1996-04-16

Similar Documents

Publication Publication Date Title
JP3954656B2 (ja) 画像符号化装置及び方法
JP3755155B2 (ja) 画像符号化装置
JP3711571B2 (ja) 画像符号化装置及び画像符号化方法
CN100463523C (zh) 帧层速率控制的视讯编码方法和系统
US7593462B2 (en) Moving picture encoding system
KR100366426B1 (ko) 블록기반비디오코딩시스템에서동적코딩비율제어
RU2502213C2 (ru) Устройство обработки изображений и способ обработки изображений
EP1063851B1 (en) Apparatus and method of encoding moving picture signal
US8451891B2 (en) Rate control method for video encoder using Kalman filter and FIR filter
JP2007089035A (ja) 動画像符号化方法、装置及びプログラム
JPH0974565A (ja) 映像信号符号化システム用コントローラ
JP4221655B2 (ja) 符号化装置および符号化方法、プログラム、並びに記録媒体
JPH09200761A (ja) 映像信号符号化システム用コントローラ
JP2006135557A (ja) 動画像符号化装置
JP3450384B2 (ja) 動画像符号化装置
JP3711572B2 (ja) 画像符号化装置及び方法
JP3480067B2 (ja) 画像符号化装置及び方法
JPH07264595A (ja) 画像のソース符号化方法
JP3812269B2 (ja) 動画像符号化装置及びその方法
JP3711573B2 (ja) 画像符号化装置及び画像符号化方法
JP3888533B2 (ja) 画像特徴に応じた画像符号化装置
JP2001238215A (ja) 動画像符号化装置及びその方法
KR100930485B1 (ko) 발생 비트량을 이용한 동영상 부호화기의 적응적 비트율제어 기법
JP2004328799A (ja) 動画像符号化装置および動画像符号化方法
JPH0898177A (ja) 画像符号化装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040913

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041227

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050106

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: 20050726

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050808

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080826

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090826

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100826

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110826

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120826

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees