(57)【特許請求の範囲】
【請求項１】
現フレームとその１つ前のフレームの動き補償フレームとの差分絶対値和（SAD)を演算する差分絶対値和演算部と、
該現フレームに対する仮の目標情報量を、前記差分絶対値和を基に算出する目標情報量仮算出部と、
前記仮の目標情報量に相当するフレーム間隔から基本フレーム間隔を減算することによりフレーム間隔変化分ΔＴｆを求め、該ΔＴｆを画質制御係数α（但し、０≦α≦１）で制御することにより、該画質制御係数αを反映したフレーム間隔（Ｔｆ）を算出するフレーム間隔算出部と、
該フレーム間隔と予め定められているビットレートから、目標情報量を決定する目標情報量決定部とを具備したことを特徴とする動画像圧縮符号化レート制御装置。
【請求項２】
前記目標情報量仮算出部は、少なくともビットレート、基本フレームレート、および画像サイズを含むこれらの組合せからなる符号化モード毎に求められた、現フレームとその１つ前のフレームの動き補償フレームとの差分絶対値和（ＳＡＤ）と視覚的に最適な目標情報量の関係を予め求めておき、当該求められた関係から、前記仮の目標情報量を算出することを特徴とする請求項１に記載の動画像圧縮符号化レート制御装置。
【請求項３】
前記関係は、前記差分絶対値和（SAD)の単調増加関数であることを特徴とする請求項２に記載の動画像圧縮符号化レート制御装置。
【請求項４】
前記差分絶対値和演算部は、イントラモードフレームについては、現フレームの画素絶対値和を演算することを特徴とする請求項１ないし３のいずれかに記載の動画像圧縮符号化レート制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は動画像圧縮符号化レート制御装置に関し、特に動画像を圧縮符号化する際に発生する情報量を、予め決められた範囲内に保つようにビットレート制御を行う、動画像圧縮符号化レート制御装置に関する。
【０００２】
【従来の技術】
まず、従来の動画像圧縮符号化レート制御装置の一例を、図４のブロック図を参照して説明する。
【０００３】
動画像圧縮符号化レート制御装置は、図示されているように、画像入力をフレームスキップするフレームスキップ部１、該画像入力を一時的に蓄積する現フレームメモリ２、フレームスキップを行うスイッチング部３、動き補償部４、現画像信号と該動き補償部４からの動き補償予測信号とからイントラ、インター符号化の判定を行うモード判定部５、イントラ符号化の時オフ、インター符号化の時にオンとなるスイッチング部６、現画像信号から動き補償予測信号を減算して予測誤差信号を出力する減算器７、該予測誤差信号をＤＣＴ変換するＤＣＴ部８、量子化部９、可変長符号化（ＶＬＣ）部１０、および出力バッファ１１を有している。
【０００４】
また、復号側と同一の予測信号を用いるために、量子化部９で得られた量子化係数を逆量子化する逆量子化部１２、逆ＤＣＴ部１３、該逆ＤＣＴされた信号に前記動き補償予測信号を加算して前記予測誤差信号を局所的に復号する加算器１４、該加算器１４の出力を蓄積する参照フレームメモリ１５，および動きベクトルＭＶを検出する動き検出部１６を有している。
【０００５】
さらに、前記減算器７の出力である予測誤差信号、可変長符号化部１０の出力、および出力バッファ１１からの出力を入力とし、演算により圧縮符号化レートを求め、該圧縮符号化レート信号Ｑを前記量子化部９に出力して圧縮符号化レート制御を行う圧縮符号化レート制御部１７を有している。該圧縮符号化レート制御部１７は、フレーム間差分絶対値和（ＳＡＤ）算出部１７ａ、目標情報量Ｔ算出部１７ｂ、後述の(1)式を用いて量子化ステップサイズＱを算出する量子化レート算出部１７ｃ、前記ＳＡＤ算出部１７ａからのＳ値と前記量子化ステップサイズＱと発生情報量ＲとからパラメータＸ１、Ｘ２を更新するＸ１、Ｘ２パラメータ更新部１７ｄ、およびフレームスキップ判定部１７ｅから構成されている。
【０００６】
前記した各構成の動作は既知であるので、以下では本発明と関連する圧縮符号化レート制御動作について、図５のフローチャートを参照して説明する。
【０００７】
ステップＳ１では、前記スイッチング部６をオフにして、最初のフレームを予め設定した量子化ステップサイズＱiで一様にイントラ（フレーム内）符号化する。ステップＳ２では、この最初のフレームの符号化が終了した段階で、１フレーム目で発生したビット数Ｒf、シーケンス全体の長さ（フレーム数）Ｔs、およびビットレートＲsから、シーケンスの残りのフレームで使用できるビット数Ｒrを次の式で算出する。
Ｒr＝Ｔs×Ｒs−Ｒf
【０００８】
ステップＳ３では、出力バッファ１１の初期化を行う。バッファサイズをＢs、バッファ蓄積量をＢとすると、初期バッファ蓄積量をＢs／２にする。ステップＳ４では、この状態で、量子化ステップサイズＱc＝１５とし、ステップＳ５で２フレーム目の符号化を行う。
【０００９】
次に、ステップＳ６の判断を行い、この判断が否定の場合にはステップＳ７に進み、前記出力バッファ１１のバッファ量の更新を行う。すなわち、まず、フレーム当たりの平均ビット数Ｒpを下式から算出する。
Ｒp＝Ｒr／Ｎr
ここに、Ｎrはシーケンスの残りのフレーム数である。
【００１０】
いま、前記ステップＳ５の符号化で発生したビット数をＲcとすると、該符号化後のバッファ量Ｂは次のようになる。
Ｂ＝Ｂ＋（Ｒc−Ｒp）
【００１１】
ステップＳ８では、残りのフレームに与えることのできるビット数Ｒrとシーケンスの残りのフレーム数Ｎrを、次式から求める。
Ｒr＝Ｒr−Ｒc
Ｎr＝Ｎr−１
【００１２】
次に、ステップＳ９では、下記の(1)式の周知のレート−歪モデル関数のパラメータＸ1とＸ2を更新する。
Ｒ＝Ｘ1×Ｓ／Ｑ＋Ｘ2×Ｓ／Ｑ２  ・・・(1)
【００１３】
ただし、Ｒは発生情報量、Ｓは符号化フレームの差分絶対値和（ただし、イントラ符号化の場合は画素絶対値和）、Ｑは量子化ステップサイズである。なお、最初は該パラメータＸ1とＸ2として適当な値を与える。また、前記(1)式は、量子化ステップサイズＱの逆数の２次関数であることは明らかである。
【００１４】
ステップＳ１０では、出力バッファ破綻防止対策を行う。すなわち、符号化後、バッファ量が８０％を超えていたら、８０％以下となるように、フレームスキップ処理をする。なお、該フレームスキップ処理をした分だけ、シーケンスの残りのフレーム数Ｎrと、スキップ後のバッファ量Ｂを更新する。すなわち、Ｎrはスキップ枚数分減じられ、Ｂはスキップ中に排出されるデータ量だけ減じられる。
【００１５】
ステップＳ１１では、ステップＳ１２における次フレームのターゲットビット数（目標情報量）Ｔを算出するための前段階として、フレーム間差分絶対値和Ｓ（ＳＡＤ）を算出する。そして、ステップＳ１２では、下記の(2)式から、次フレームの目標情報量Ｔを算出する。
Ｔ＝max（Ｒs／３０，Ｒr／Ｎr×０．９５＋Ｓ×０．０５）  ・・・(2)
【００１６】
なお、上式の残りのフレームに与えることのできるビット数Ｒrは、Ｒr＝Ｒr−Ｒcであるので、該Ｒrは前記(1)式を用いて求められることは明らかである。また、(2)式では、目標情報量Ｔはビット数一定の観点から決定され、ＳＡＤは５％のみが目標情報量Ｔの決定に反映される。
【００１７】
さらに、出力バッファの破綻防止に配慮して、ステップＳ１３で、該目標情報量Ｔを下記の(3)式のように補正する。
Ｔ＝Ｔ×｛Ｂ＋２（Ｂs−Ｂ）｝／｛２Ｂ＋（Ｂs−Ｂ）｝  ・・・(3)
【００１８】
しかしながら、もし（Ｂ＋Ｔ）＞０．９Ｂsが成立するなら、出力バッファ１１のオーバフローを防止するために、次の(4)式を目標情報量Ｔとする。
Ｔ＝max（Ｒs／３０，０．９Ｂs−Ｂ）  ・・・(4)
【００１９】
一方、もし（Ｂ＋Ｔ−Ｒp）＜０．１Ｂsが成立するなら、出力バッファ１１の枯渇を防止するために、次の(5)式を目標情報量Ｔとする。
Ｔ＝Ｒp−Ｂ＋０．１Ｂs  ・・・(5)
【００２０】
ステップＳ１４では、該目標情報量Ｔを発生情報量Ｒとして前記(1)式を計算し、量子化ステップサイズＱを求める。ステップＳ１５では、該量子化ステップサイズＱのクリッピングを行う。すなわち、発生情報量Ｒの急激な変動を抑えるために、該発生情報量Ｒの前フレームとの変動が２５％を超えるような場合には、２５％以内となるように量子化ステップサイズＱをクリッピングする。次いで、ステップＳ５に進み、上記のようにして得られた新しい量子化ステップサイズＱを用いて、次のフレームの符号化を実行する。なお、実際の発生情報量Ｒと、目標情報量Ｔとの差分は、出力バッファ１１が吸収する。
【００２１】
以上の処理を繰り返し行い、前記ステップＳ６の判断が肯定になると、符号化を終了する。
【００２２】
【発明が解決しようとする課題】
従来の動画像圧縮符号化レート制御方式では、前記した説明から明らかなように、符号化シーケンスを通じて、予め次フレームの目標情報量Ｔおよび残りのフレーム数Ｎr（フレーム間隔）を決定した後、前記ステップＳ１４で(1)式のレート−歪モデル関数を用いて、量子化ステップサイズＱを算出し、符号化を行っている。
【００２３】
しかしながら、前記の動画像圧縮符号化レート制御方式には、次のような問題がある。まず、符号化前の処理の問題点を説明する。
【００２４】
前記次フレームの目標情報量Ｔは、前記(2)式から明らかなように、基本的には、事前に設定したフレームレート（Ｒs／３０あるいはＲr／Ｎr）に基づいて、均一に行われる。さらに、該フレームに割り当てる情報量Ｔは、前記(3)〜(5)式から明らかなように、現在のバッファ蓄積量Ｂに応じて、バッファ破綻を起こさないように調整されることになる。そして、次フレームの量子化ステップサイズＱは、そのフレームに割り当てられる目標情報量Ｔを目指すように、前記(1)式により算出される。
【００２５】
したがって、例えば、シーンチェンジ直後に、殆ど動きのない画像が入力してきた場合を考えると、シーチェンジとなるフレームは、割当て情報量Ｔ、すなわち発生情報量Ｒは他のフレームと同様で、かつフレーム間差分絶対値和Ｓが大きくなるため、前記(1)式に基づき大きな量子化ステップサイズＱになり、画質が低下する。一方、該シーチェンジフレームに続く殆ど動きのない画像については、この画質の低下したフレームを参照フレームとして符号化が行われるため、本来発生情報量Ｒが少なくて済むところが、符号化の劣化によるフレーム間差分情報を符号化しなければならなくなり、発生情報量が多くなる。
【００２６】
また、前記(2)式に示されているように、目標情報量Ｔは、符号化フレームの差分絶対値和Ｓ、すなわち符号化難易度Ｓを５％程度考慮に入れて決定されているものの、大部分（９５％程度）は１フレーム当たりの平均割当てビット数（Ｒr／Ｎr）に依存しているため、シーンチェンジなどでは、追従性の点で問題がある。
【００２７】
次に、符号化後の処理の問題点を説明する。前記(1)式による量子化パラメータで符号化した場合の実際の発生情報量Ｒと、目標情報量Ｔとの差分は、出力バッファ１１が吸収することになる。
【００２８】
出力バッファ１１にオーバフローが起こりそうな場合には、符号化予定であったフレームを間引く（符号化しない）こととしている。このため、符号化を予定していたフレームレート単位でしかフレームスキップ制御ができないという問題がある。
【００２９】
例えば、符号化フレームレートが１０フレーム／秒であるとすると、バッファオーバフローを回避するためのフレームスキップは、１００ｍ秒単位で行わなければならず、通常の画像フレームの間隔である３３．３３ｍ秒に比べて、制御の単位が大幅に粗くなるという問題があった。
【００３０】
また、実際に発生した情報量と予め決定した符号化フレームレートとが両立できない場合、画像品質を落としてフレームレートを維持する方向で制御を行うのか、一方画像品質は維持してフレームレートを変動させる方向で制御をするのかといった、いわゆる「動き優先／画質優先」モードが盛り込まれていないという問題があった。
【００３１】
本発明は、前記した従来技術に鑑みてなされたものであり、その目的は、画像フレームの性質を十分に反映したビット数割当てが可能になり、かつ希望する「動き優先／画質優先」モードを選択できる動画像圧縮符号化レート制御装置を提供することにある。また、他の目的は、きめ細かくフレームスキップ制御を行うことのできる動画像圧縮符号化レート制御装置を提供することにある。
【００３２】
【課題を解決するための手段】
前記した目的を達成するために、本発明は、現フレームとその１つ前のフレームの動き補償フレームとの差分絶対値和（SAD)を演算する差分絶対値和演算部と、該現フレームに対する仮の目標情報量を、前記差分絶対値和を基に算出する目標情報量仮算出部と、前記仮の目標情報量に相当するフレーム間隔から基本フレーム間隔を減算することによりフレーム間隔変化分ΔＴｆを求め、該ΔＴｆを画質制御係数α（但し、０≦α≦１）で制御することにより、該画質制御係数αを反映したフレーム間隔（Ｔｆ）を算出するフレーム間隔算出部と、該フレーム間隔と予め定められているビットレートから、目標情報量を決定する目標情報量決定部とを具備した点に特徴がある。
【００３３】
この特徴によれば、差分絶対値和（ＳＡＤ）に応じて目標情報量が決定されるため、画像の特徴に最適なビット割当が可能になる。また、「動き優先／画質優先」を反映させた上で、事前にきめ細かくフレームレートの設定が可能になるため、画像の特徴および希望する動作の両方を満足する最適なビット割当ておよびフレームレート決定が可能になる。
【００３４】
【発明の実施の形態】
次に、図面を参照して、本発明を詳細に説明する。図１は、本発明の一実施形態の構成を示すブロック図である。なお、図４と同一の符号は同一または同等物を示し、動作説明は省略する。
【００３５】
圧縮符号化レート制御部２０は、フレーム間差分絶対値和（ＳＡＤ）算出部２１、ＢＴ（目標情報量）仮算出部２２、フレーム間隔（Ｔf）算出部２３、ＢＴ決定部２４、Ｑ（量子化ステップサイズ）算出部２５およびＸ１、Ｘ２パラメータ更新部２６から構成されている。
【００３６】
また、画質制御係数（α）入力端子３２が設けられ、ユーザによって設定された画質制御係数αが前記フレーム間隔算出部２３に与えられる。後述の説明から明らかになるように、αは０≦α≦１であり、該αの値を選択することにより、「動き優先／画質優先」モードの選択ができる。
【００３７】
次に、本実施形態の動作を、図２のフローチャートを参照して説明する。なお、図５と同一または同等の処理には図５と同じ符号を付け、詳細な説明は省略する。
【００３８】
ステップＳ３では、出力バッファ１１の初期化を行い、バッファサイズをＢsとしたとき、初期バッファ蓄積量ＢをＢs／２にする。次に、ステップＳ１１では、前記減算器７から出力された動き補償予測誤差信号ａから、ＳＡＤ算出部２１が、フレーム間差分絶対値和（ＳＡＤ）を算出する。なお、イントラ符号化（フレーム内符号化）モードの場合は、画素絶対値和を算出する。
【００３９】
次いで、ステップＳ２１に進み、ステップＳ１１で算出したＳＡＤから、次フレームに割り当てるターゲットビット数（目標情報量）ＢＴを仮算出する。ＢＴは、次の(6)式から算出される。
ＢＴ＝ｆ（ＳＡＤ）  ・・・(6)
ここに、関数ｆ（ＳＡＤ）は、ＳＡＤの単調増加関数である。
【００４０】
従来技術で説明した前記(2)式を導出する際に使用した前記（１）式においては、定数Ｘ1、Ｘ2、および変数Ｑが存在したが、本実施形態では（１）式は使用せず、次のように算出する。すなわち、設計段階で、ビットレート、基本フレームレート、および画像サイズの組み合わせを符号化モードと定義し、各符号化モードにおいて多様なテスト画像を用いて、量子化ステップサイズＱを様々に変化させ、符号化画像の主観評価を行い、その結果得られるＳＡＤに対する視覚的に最適な目標情報量（ビット割当数）を求める。そして、該ＳＡＤと目標情報量（ビット割当数）との関係を、符号化モード別にテーブルにして作成しておき、このテーブルを用いて目標情報量を算出する。
【００４１】
図３は、多様なテスト画像を用いて前記のテストを行った時の、各符号化モード毎で、かつＳＡＤに対する視覚的に最適な目標情報量ＢＴの分布図の概念図であり、パラメータとして符号化モードが取られ、また横軸にフレーム間差分絶対値和（ＳＡＤ）、縦軸に目標情報量ＢＴが取られている。
【００４２】
基準の符号化モードとして、例えばビットレートＢＲ＝６４ｋビット／秒、フレームレートＦＲ＝１０フレーム／秒、および画像サイズ１７６ｍｍ×１４４ｍｍを取ると、この時の各符号化モードに対する視覚的に最適な目標情報量ＢＴの分布は図示のｑ０のようになり、この分布ｑ０は、近似式であるＢＴ0＝ａ0・（ＳＡＤ）＋ｂ0で代表することができる。また、例えばフレームレートＦＲを小さくすると、前記分布はｑ１のようになり、目標情報量ＢＴが大となる。この分布ｑ１は、近似式であるＢＴ1＝ａ1・（ＳＡＤ）＋ｂ1で代表することができる。また、画像サイズを小（例えば、１２８ｍｍ×９６ｍｍ）とすると、前記分布はｑ２のようになり、目標情報量ＢＴがやや小になる。この分布ｑ２は、ＢＴ2＝ａ2・（ＳＡＤ）＋ｂ2で代表することができる。さらに、ビットレートＢＲを小にすると、前記分布はｑ３のようになり、目標情報量ＢＴが小になる。この分布ｑ３は、ＢＴ3＝ａ3・（ＳＡＤ）＋ｂ3となる。ここに、ａ0〜ａ3、ｂ0〜ｂ3は定数である。
【００４３】
以上のようにして、各符号化モード毎の目標情報量テーブルが作成される。前記したように、該目標情報量ＢＴは、各符号化モード毎に，ＳＡＤに関して単調増加関数になる。
【００４４】
なお、その際、特開平９−１６８１５４号公報「動画像符号化方法及び装置」にあるような、背景分離手段と組み合わせる場合には、有意領域のみに対するＳＡＤを使用するのが好適である。
【００４５】
ステップＳ２２では、画質制御係数αを反映したフレーム間隔Ｔfを算出する。すなわち、基本フレームレートをＦＢとすると、符号化するフレーム間隔Ｔfbは、Ｔfb＝１／ＦＢで与えられる。この基本フレーム間隔に対する現画像のフレーム間隔変化分ΔＴfは、ΔＴf＝（ＢＴ−Ｔfb×ＢＲ）／ＢＲとなる。ここに、ＢＲはビットレートである。
【００４６】
次に、このフレームに対するフレーム間隔Ｔfは、次の(7)式で求められる。
Ｔf＝Ｔfb＋α・ΔＴf  ・・・(7)
ここに、画質制御係数αは０以上１以下の値である。該画質制御係数αは大きい程画質は維持され、与えられたレートに入りきらない分はフレームスキップされる。一方、該画質制御係数αは小さい程画質は変動し、フレーム間隔が基本値に維持されることになる。すなわち、該画質制御係数αの操作により、「動き優先／画質優先」モードの選択ができるようになる。これにより、希望する「動き優先／画質優先」モードを反映させた上で、きめ細かくフレームスキップ制御できるようになる。なお、前記したように、該画質制御係数αはユーザが自由に選択できるものである。
【００４７】
次に、ステップＳ２３では、このフレームに対するターゲットビット数（目標情報量）ＢＴが、次の（8）式で決定される。
ＢＴ＝Ｔf×ＢＲ  ・・・(8)
【００４８】
次に、ステップＳ１３に進んで、目標情報量ＢＴが下記のように補正される。
ＢＴ＝ＢＴ×｛Ｂ＋２（Ｂs−Ｂ）｝／｛２Ｂ＋（Ｂs−Ｂ）｝
【００４９】
ここで、もし（Ｂ＋ＢＴ）＞０．９Ｂsが成立するなら、出力バッファ１１のオーバフローを防止するために、次の目標情報量ＢＴとする。
ＢＴ＝max（Ｒs／３０，０．９Ｂs−Ｂ）
【００５０】
一方、もし（Ｂ＋ＢＴ−Ｒp）＜０．１Ｂsが成立するなら、出力バッファ１１の枯渇を防止するために、次の目標情報量ＢＴとする。
ＢＴ＝Ｒp−Ｂ＋０．１Ｂs
ここで、残りの画像のフレーム当たりの平均ビット数Ｒpは、Ｒp＝Ｔf×ＢＲである。
【００５１】
ステップＳ１４では、該目標情報量ＢＴを発生情報量Ｒとして前記(1)式を計算し、量子化ステップサイズＱを求める。ステップＳ１５では、該量子化ステップサイズＱのクリッピングを従来方式と同様に行う。
【００５２】
以降の処理は、前記した従来方式の処理と同じであるため、説明を省略する。
【００５３】
本実施形態によれば、目標情報量ＢＴを、符号化モードをパラメータとする前記目標情報量テーブル（ＳＡＤの単調増加関数）を基に算出するようにしたので、すなわち画像の特徴に最適なビット割当を算出するようにしたので、発生情報量Ｒを精度良く予測できるようになる。このため、符号化後のフレームスキップが生じる頻度が極めて少なく（殆ど、０に）なる。
【００５４】
【発明の効果】
以上の説明から明らかなように、請求項１〜５の発明によれば、目標情報量ＢＴを、従来装置のようにビット数一定の観点からではなく、現フレームとその１つ前のフレームの動き補償フレームとの差分絶対値和（ＳＡＤ）に応じて決定するようにしているので、画像の特徴に最適な決定が可能になる。
【００５５】
また、目標情報量ＢＴの決定に、画質制御計数αを導入するようにしたので、選択された「動き優先／画質優先」を反映させた上で、事前にきめ細かくフレームレートの設定が可能になる。このため、画像の特徴、希望する動作の両方を満足する最適なビット数割当ておよびフレームレートの決定が可能になる。
【００５６】
また、請求項５の発明によれば、さらに、イントラ符号化モードにおいても、画像の特徴に最適な目標情報量ＢＴの決定が可能になる。
【図面の簡単な説明】
【図１】  本発明が適用される符号化装置の一実施形態の構成を示すブロック図である。
【図２】  本実施形態の要部の動作を示すフローチャートである。
【図３】  目標情報テーブルの説明図である。
【図４】  従来の符号化装置の構成を示すブロック図である。
【図５】  従来のレート制御を示すフローチャートである。
【符号の説明】
２０・・・圧縮符号化レート制御部、２１・・・フレーム間差分絶対値和（ＳＡＤ）算出部、２２・・・ＢＴ（目標情報量）仮算出部、２３・・・フレーム間隔（Ｔf）算出部、２４・・・ＢＴ決定部、２５・・・Ｑ（量子化ステップサイズ）算出部、２６・・・Ｘ１、Ｘ２パラメータ更新部。
【図１】
0003753371.tif 000002
【図２】
0003753371.tif 000003
【図３】
0003753371.tif 000004
【図４】
0003753371.tif 000005
【図５】
0003753371.tif 000006