(57)【特許請求の範囲】
【請求項１】
入力動画像を、動き補償予測手段、直交変換手段、量子化手段、及び可変長符号化手段によって符号化を行う動画像符号化装置において、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎の発生符号量を検出する手段と、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎の平均量子化スケールを検出する手段と、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎のアクティビティを検出する手段と、
前記各画像毎の発生符号量と前記各画像毎の平均量子化スケールとの積に対して所定の変換を施すことによって、前記各画像毎の画面複雑度を算出するとともに、予め設定される第１の所定期間毎に、前記各画像毎の画面複雑度を加算平均して平均画面複雑度を算出する手段と、
前記入力動画像を構成する各画像のうち、これから符号化を行なう画像である符号化対象画像の前記アクティビティを、前記符号化対象画像の直前に符号化された画像の前記アクティビティで除した値に、前記符号化対象画像の直前に符号化された画像の画面複雑度を乗じることで、前記符号化対象画像の画面複雑度を算出する手段と、
符号化単位である第２の所定期間毎に予め決定される平均割当符号量に、前記符号化対象画像の画面複雑度を前記平均画面複雑度で除した値を乗ずることで、前記第２の所定期間毎の割当符号量を算出するとともに、この算出した割当符号量から、既知の方法により、前記符号化対象画像の第１の割当符号量を算出する第１の符号量制御手段と、
前記第２の所定期間毎に、前記符号化対象画像の画面複雑度を因数とする所定の関数によって算出される最大割当符号量から、既知の方法により、前記符号化対象画像の第２の割当符号量を算出する第２の符号量制御手段と、
前記第１の割当符号量を、前記第２の割当符号量でリミッタをかけた値を目標割当符号量とするとともに、この目標割当符号量と各マクロブロックの発生符号量とから、既知の方法により、各マクロブロックの量子化スケールを決定する手段と、
を備えたことを特徴とする動画像符号化装置。
【請求項２】
請求項１に記載された動画像符号化装置において、
前記第１の符号量制御手段は、
前記第１の割当符号量を、ピクチャタイプ(Ｉピクチャ、Ｐピクチャ、Ｂピクチャ)別に算出し、
前記第２の符号量制御手段は、
前記第２の割当符号量を、ピクチャタイプ(Ｉピクチャ、Ｐピクチャ、Ｂピクチャ)別に算出することを特徴とする動画像符号化装置。
【請求項３】
入力動画像を、動き補償予測ステップ、直交変換ステップ、量子化ステップ、及び可変長符号化ステップによって符号化を行う動画像符号化方法において、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎の発生符号量を検出するステップと、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎の平均量子化スケールを検出するステップと、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎のアクティビティを検出するステップと、
前記各画像毎の発生符号量と前記各画像毎の平均量子化スケールとの積に対して所定の変換を施すことによって、前記各画像毎の画面複雑度を算出するとともに、予め設定される第１の所定期間毎に、前記各画像毎の画面複雑度を加算平均して平均画面複雑度を算出するステップと、
前記入力動画像を構成する各画像のうち、これから符号化を行なう画像である符号化対象画像の前記アクティビティを、前記符号化対象画像の直前に符号化された画像の前記アクティビティで除した値に、前記符号化対象画像の直前に符号化された画像の画面複雑度を乗じることで、前記符号化対象画像の画面複雑度を算出するステップと、
符号化単位である第２の所定期間毎に予め決定される平均割当符号量に、前記符号化対象画像の画面複雑度を前記平均画面複雑度で除した値を乗ずることで、前記第２の所定期間毎の割当符号量を算出するとともに、この算出した割当符号量から、既知の方法により、前記符号化対象画像の第１の割当符号量を算出する第１の符号量制御ステップと、
前記第２の所定期間毎に、前記符号化対象画像の画面複雑度を因数とする所定の関数によって算出される最大割当符号量から、既知の方法により、前記符号化対象画像の第２の割当符号量を算出する第２の符号量制御ステップと、
前記第１の割当符号量を、前記第２の割当符号量でリミッタをかけた値を目標割当符号量とするとともに、この目標割当符号量と各マクロブロックの発生符号量とから、既知の方法により、各マクロブロックの量子化スケールを決定するステップとを備えたことを特徴とする動画像符号化方法。
【請求項４】
請求項３に記載された動画像符号化方法において、
前記第１の符号量制御ステップは、
前記第１の割当符号量を、ピクチャタイプ(Ｉピクチャ、Ｐピクチャ、Ｂピクチャ)別に算出し、
前記第２の符号量制御ステップは、
前記第２の割当符号量を、ピクチャタイプ(Ｉピクチャ、Ｐピクチャ、Ｂピクチャ)別に算出することを特徴とする動画像符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
動画像の高能率符号化に係り、特に、可変ビットレート符号化を行う際に好適な符号量制御装置及びその方法に関する。
【０００２】
【従来の技術】
ＴＶ信号などの動画像を高能率に符号化する技術の国際標準として既にMPEG2が規定されている。
MPEG2は、動画像を構成する「フレーム」画像を「マクロブロック」と呼ばれる16×16画素のブロックに分割し、各マクロブロック単位に、時間的に前または後に所定の数フレーム離れた参照画像と符号化画像の間で「動きベクトル」と呼ばれる動き量を求め、この動き量を基に参照画像から符号化画像を構成する「動き補償予測」技術と、動き補償予測の誤差信号または符号化画像そのものに対して、直交変換の一種であるＤＣＴ(離散コサイン変換)を用いて情報量を圧縮する「変換符号化」技術の2つの画像符号化の要素技術をベースに規定されている。
【０００３】
従来のMPEG2の動画像符号化装置の一構成例を図７に、また、符号化ピクチャ構造の一例を図６に示す。
動き補償予測では、図７に示した符号化ピクチャ構造のように、 Iピクチャ(フレーム内符号化)、Ｐピクチャ(順方向予測符号化)、Ｂピクチャ(双方向予測符号化)と呼ばれる、予測方法の異なる３種類のピクチャの組合せによって構成される。
図７に示されるように、変換符号化では、Ｉピクチャでは符号化画像そのものに対し、Ｐ,Ｂピクチャでは動き補償予測器７７による動き補償予測の誤差信号である減算器７１の出力に対して、ＤＣＴがＤＣＴ器７２で施される。
【０００４】
このＤＣＴ器７２で得られたＤＣＴ係数に対して量子化が、符号量制御部９０の出力により制御して量子化器７３によってなされた後に、動きベクトル等のその他の付帯情報と共に可変長符号化が可変長符号化器７５でなされ、符号列が「ビットストリーム」としてバッファ７６に記憶された後に出力される。
この際、バッファ７６の充足度に応じて符号量制御部９０で量子化スケールが制御される。
一方、量子化器７３の出力係数は、逆量子化器７７、ＩＤＣＴ器７８に供給さて、局部復号されてブロック毎にフレームメモリ８１に貯えられる。
【０００５】
MPEG2は可変長符号化であるため、単位時間当りの発生符号量(ビットレート)は一定ではない。
そこで、量子化器７３での量子化の際の量子化スケールをマクロブロック単位に適宜変更することにより、所要のビットレートに制御することが可能になっている。
MPEG2 Test Model 5では、GOP単位で発生符号量を一定にする固定ビットレート制御方法が提案されている。
【０００６】
Test Model 5ではピクチャタイプによって異なる符号量割当が行われる。フレーム内符号化が行われるＩピクチャに対しては最も多くの符号量を割り当てる一方、復号画像が再度予測に使われることのないＢピクチャの量子化スケールをI及びＰピクチャの1.4倍にして、割り当てる符号量を一層少なくすることによって、Ｂピクチャに対する符号量を削減し、その分を復号画像が予測に使われるＩ及びＰピクチャに多く割り当てて、復号画像の画質がピクチャタイプ間で一定になるように、ピクチャタイプによる符号量割当の最適化を図っている。
【０００７】
このTest Model 5における固定ビットレート制御方法は、一定の転送レートが要求される用途に対しては有効な方法である。
しかし、動画像シーケンスのどの部分に対してもほぼ同じ符号量が割り当てられるため、情報量を多く含む複雑なシーンに対しては十分な符号量が与えられずに画質劣化が生じてしまう。
これに対して、情報量が少ない単純なシーンの場合には符号量が余剰になって無駄が生じ、DVD-Videoのように可変転送レートが可能な用途に対しては、適切なレート制御方法とは言えなかった。
【０００８】
以上のような問題を解決するレート制御方法が可変ビットレート制御方法である。特開平6−１４１２９８号公報には、可変ビットレート制御による符号化装置が開示されている。
この装置では、最初に、入力動画像に対して固定量子化スケールによって仮符号化を行い、単位時間毎に発生符号量がカウントされる。つぎに、入力動画像全体の発生符号量が所要値になるように、仮符号化時の発生符号量に基づいて各部分の目標転送レートを設定する。そしてこの目標転送レートに合致するように制御を行いながら、入力動画像に対して２回目の符号化、言い換えると実符号化が行われる。
【０００９】
しかし、上記従来例では、出力ビットストリームを得るためには少なくとも２回の符号化を行わなければならず、リアルタイム性を要求されるような用途ではこの装置のような２パス方式の可変ビットレート制御は使用出来ない。
【００１０】
これに対し、動画像をほぼリアルタイムで符号化するための可変ビットレート制御方法、すなわち１パス方式の可変ビットレート制御方法も存在する。特開平１０−１６４５７７号公報には、１パス方式の可変ビットレート制御方法による符号化装置が前記公報の図６等に開示されている。
【００１１】
この従来例における動画像符号化装置の一構成例を図８に示す。
なお、図７と同一構成部に対しては同一符号を付してその説明は省略する。
この従来例の装置では、バッファ７６に記憶した符号量を発生符号量検出器８３に供給し、この発生符号量検出器８３による発生符号量と、量子化器７３からの量子化スケールを平均量子化スケール検出器８２に供給し、この平均量子化スケール検出器８２による画面内の量子化スケールの平均値との積を「画面複雑度」として画面複雑度算出器８４で求め、過去の画面複雑度の平均値に対する現在の画面複雑度の割合を基に、画面の目標発生符号量または目標量子化スケールを決定することにより、可変ビットレート制御を符号量制御器７４で実現している。
【００１２】
【発明が解決しようとする課題】
しかしながら可変ビットレート制御の場合、多くの場合は最大転送レートによる制限を受ける。目標平均ビットレートが最大転送レートより充分に小さい場合は、Test Model 5のようにＢピクチャに対する符号量割当をＩ及びＰピクチャよりも小さくして、ピクチャタイプ間の符号量割当を最適化することが可能である。
【００１３】
目標平均ビットレートが最大転送レートに近くなると、Ｉ及びＰピクチャの割当符号量が最大転送レートによる制限を受けるようになり、Ｂピクチャとの割当符号量の差が縮小し、時には割当符号量がピクチャタイプ間でほとんど同じになってしまう。
割当符号量の差が小さくなってしまうと、Ｂピクチャに比べ、Ｉ及びＰピクチャの画質が相対的に悪くなり、目標平均ビットレートが高いにもかかわらず、不適切な符号量配分に起因する画質の差によって画質劣化が知覚されてしまうといった問題があった。
【００１４】
そこで本発明は、動画像符号化装置における１パス及び２パス方式の可変ビットレート制御方法において、目標平均ビットレートが最大転送レートに近い場合においても、ピクチャタイプ間でより適切な符号量割当を実現する方法を提供することを目的とする。
【００１５】
【課題を解決するための手段】
そこで、本発明は、上記課題を解決するために以下の装置及び方法を提供するものである。
（１）入力動画像を、動き補償予測手段、直交変換手段、量子化手段、及び可変長符号化手段によって符号化を行う動画像符号化装置において、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎の発生符号量を検出する手段と、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎の平均量子化スケールを検出する手段と、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎のアクティビティを検出する手段と、
前記各画像毎の発生符号量と前記各画像毎の平均量子化スケールとの積に対して所定の変換を施すことによって、前記各画像毎の画面複雑度を算出するとともに、予め設定される第１の所定期間毎に、前記各画像毎の画面複雑度を加算平均して平均画面複雑度を算出する手段と、
前記入力動画像を構成する各画像のうち、これから符号化を行なう画像である符号化対象画像の前記アクティビティを、前記符号化対象画像の直前に符号化された画像の前記アクティビティで除した値に、前記符号化対象画像の直前に符号化された画像の画面複雑度を乗じることで、前記符号化対象画像の画面複雑度を算出する手段と、
符号化単位である第２の所定期間毎に予め決定される平均割当符号量に、前記符号化対象画像の画面複雑度を前記平均画面複雑度で除した値を乗ずることで、前記第２の所定期間毎の割当符号量を算出するとともに、この算出した割当符号量から、既知の方法により、前記符号化対象画像の第１の割当符号量を算出する第１の符号量制御手段と、
前記第２の所定期間毎に、前記符号化対象画像の画面複雑度を因数とする所定の関数によって算出される最大割当符号量から、既知の方法により、前記符号化対象画像の第２の割当符号量を算出する第２の符号量制御手段と、
前記第１の割当符号量を、前記第２の割当符号量でリミッタをかけた値を目標割当符号量とするとともに、この目標割当符号量と各マクロブロックの発生符号量とから、既知の方法により、各マクロブロックの量子化スケールを決定する手段と、
を備えたことを特徴とする動画像符号化装置。
（２）上記（１）に記載された動画像符号化装置において、
前記第１の符号量制御手段は、
前記第１の割当符号量を、ピクチャタイプ(Ｉピクチャ、Ｐピクチャ、Ｂピクチャ)別に算出し、
前記第２の符号量制御手段は、
前記第２の割当符号量を、ピクチャタイプ(Ｉピクチャ、Ｐピクチャ、Ｂピクチャ)別に算出することを特徴とする動画像符号化装置。
（３）入力動画像を、動き補償予測ステップ、直交変換ステップ、量子化ステップ、及び可変長符号化ステップによって符号化を行う動画像符号化方法において、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎の発生符号量を検出するステップと、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎の平均量子化スケールを検出するステップと、
前記入力動画像を構成する各画像の符号化時において、前記各画像毎のアクティビティを検出するステップと、
前記各画像毎の発生符号量と前記各画像毎の平均量子化スケールとの積に対して所定の変換を施すことによって、前記各画像毎の画面複雑度を算出するとともに、予め設定される第１の所定期間毎に、前記各画像毎の画面複雑度を加算平均して平均画面複雑度を算出するステップと、
前記入力動画像を構成する各画像のうち、これから符号化を行なう画像である符号化対象画像の前記アクティビティを、前記符号化対象画像の直前に符号化された画像の前記アクティビティで除した値に、前記符号化対象画像の直前に符号化された画像の画面複雑度を乗じることで、前記符号化対象画像の画面複雑度を算出するステップと、
符号化単位である第２の所定期間毎に予め決定される平均割当符号量に、前記符号化対象画像の画面複雑度を前記平均画面複雑度で除した値を乗ずることで、前記第２の所定期間毎の割当符号量を算出するとともに、この算出した割当符号量から、既知の方法により、前記符号化対象画像の第１の割当符号量を算出する第１の符号量制御ステップと、
前記第２の所定期間毎に、前記符号化対象画像の画面複雑度を因数とする所定の関数によって算出される最大割当符号量から、既知の方法により、前記符号化対象画像の第２の割当符号量を算出する第２の符号量制御ステップと、
前記第１の割当符号量を、前記第２の割当符号量でリミッタをかけた値を目標割当符号量とするとともに、この目標割当符号量と各マクロブロックの発生符号量とから、既知の方法により、各マクロブロックの量子化スケールを決定するステップとを備えたことを特徴とする動画像符号化方法。
（４）上記（３）に記載された動画像符号化方法において、
前記第１の符号量制御ステップは、
前記第１の割当符号量を、ピクチャタイプ(Ｉピクチャ、Ｐピクチャ、Ｂピクチャ)別に算出し、
前記第２の符号量制御ステップは、
前記第２の割当符号量を、ピクチャタイプ(Ｉピクチャ、Ｐピクチャ、Ｂピクチャ)別に算出することを特徴とする動画像符号化方法。
【００１８】
【発明の実施の形態】
本発明の動画像符号化装置の第1の実施例について、図１と共に以下に説明する。
図１に示したように、本発明の動画像符号化装置及びその方法の第1の実施例は、減算器１１、ＤＣＴ器１２、量子化器１３、可変長符号化器１５、バッファ１６、逆量子化器１７、ＩＤＣＴ器１８、動き補償予測器１９、加算器２０、フレームメモリ２１、平均量子化スケール検出器２２、発生符号量検出器２３、画面複雑度算出器２４、画像特性検出器２５、ＶＢＲ符号量制御器５１、及びＣＢＲ符号量制御器５２より構成されている。
【００１９】
原動画像は画像ブロック分割器（図示せず）によって、予めマクロブロック単位に分割されているものとする。
分割された原動画像は、Ｉピクチャについては動き補償予測が行われず、原動画像ブロックそのものが減算器１１を介して直交変換器の一種であるＤＣＴ器１２に送られ、ＤＣＴされた後に量子化器１３で符号量制御器１４から送られる量子化スケールによって量子化される。
【００２０】
その量子化された信号は、可変長符号化器１５で符号に変換されて、つぎのバッファ１６で調整された後に符号が出力される。
一方、量子化器１３の出力係数は、逆量子化器１７、ＩＤＣＴ器１８で局部復号されて、動き補償予測器１９の出力が加算器２０で加算されることなく、ブロック毎にフレームメモリ２１に貯えられる。
【００２１】
Ｐ及びＢピクチャについては、分割された原動画像とフレームメモリ２１に貯えられた所定の局部復号画像ブロックが動き補償予測器１９に供給され、ここで動きベクトル検出及び動き補償が行われて、予測画像ブロックが減算器１１で原画像ブロックとの間で画素間差分が取られ、差分値である誤差画像ブロックがＤＣＴ器１２に送られる。
【００２２】
この後はＩピクチャと同様にして、ＤＣＴ器１２で差分値がＤＣＴされ、量子化器１３で符号量制御器１４から送られる量子化スケールによって量子化された後に、可変長符号化器１５で符号に変換されて、つぎのバッファ１６で調整された後に符号が出力される。
【００２３】
量子化器１３の出力係数は、逆量子化器１７とＩＤＣＴ器１８とで局部復号された後に、動き補償予測器１９からの前記予測画像ブロックが加算器２０によって画素毎に加算され、ブロック毎にフレームメモリ２１に貯えられる。
また、各ピクチャについて、量子化器１３からマクロブロック毎の量子化スケールが平均量子化スケール検出器２２に送られ、そこで1フレーム分の量子化スケールが加算され、1フレームの平均量子化スケールが算出される。
【００２４】
一方、バッファ１６においては、発生符号量が監視され、その値が発生符号量検出器２３に送られる。
この発生符号量検出器２３において、発生符号量がフレーム単位に加算され、1フレームの発生符号量が検出される。
フレーム毎について検出された平均量子化スケール、発生符号量は画面複雑度算出器２４とＣＢＲ符号量制御器５２に夫々送られる。
【００２５】
一方、画像特性検出器２５では、分割された原画像が入力され、原画像の各フレームについてマクロブロック単位に画像特性を示すパラメータ、すなわちアクティビティが検出され、フレーム単位に加算されてその結果が画面複雑度算出器２４に送られる。
【００２６】
すなわち、画像特性検出器２５への入力は、Ｉピクチャの場合は動き補償予測が行われないため、マクロブロック単位に分割された原動画像のみが入力され、マクロブロック単位に画像特性を示すパラメータであるアクティビティ(ACTcur)が検出され、フレーム単位に加算され、ＩピクチャのアクティビティACTiとして画面複雑度算出器２４に送られる。
【００２７】
アクティビティ(ACTcur)としては輝度値の分散、画素間差分値などが考えられるが、画像特性を示すものであればその他のパラメータでも良い。
【００２８】
一方、図１に示す画像特性検出器２５への入力は、Ｐ及びＢピクチャの場合は、分割された原動画像の他に、マクロブロック単位の動き補償予測における誤差画像または動きベクトル検出における符号化画像と参照画像との差分画像と、動き補償予測で使用した動きベクトルが動き補償予測器１９から入力される。
分割された原動画像からはIピクチャの場合と同様にマクロブロック単位に(原画像)アクティビティACTcurが検出される。
【００２９】
一方、マクロブロック単位の動き補償予測における誤差画像または動きベクトル検出における符号化画像と参照画像との差分画像は、その中で絶対値和または２乗誤差和がとられ、予測アクティビティACTpredとして検出される。
さらに、動き補償予測で使用した動きベクトルの方は、隣接マクロブロックとの間で各成分毎に差分の絶対値がとられ、ACTmvとして検出される。
【００３０】
そして、各マクロブロック毎に次式(1)の演算により、ACTmbが算出され、それが１フレーム分加算されて、Ｐ及びＢピクチャのアクティビティACTp及びACTbとして画面複雑度算出器２４に送られる。
【００３１】
0004362795.tif 000002
【００３２】
なお、各定数ａ、ｂ、ｃの値はピクチャ別、マクロブロックの予測モード別(イントラか片方向予測か双方向予測か)などで変化させる。
例えば、イントラの場合はＩピクチャと同様に予測を行わないので、ｂ＝ｃ＝０となり、予測を行うブロックに比べて発生符号量が多くなると考えられるので、ａの値を大きくする。
【００３３】
このように、予測モード等に即したアクティビティ検出を行うことにより、より符号化特性に即した画面複雑度の推定が可能になる。
【００３４】
画面複雑度算出器２４では供給された各フレームの平均量子化スケールと発生符号量が乗算された後に乗算結果に所定の変換が施されて、各フレームの(過去の)画面複雑度として求められる。
画面複雑度は符号化ピクチャタイプ別に一定期間内の値が加算された後にその期間内の同じピクチャタイプのフレーム数で除算されて、各ピクチャタイプの平均画面複雑度 Xi-ave, Xp-ave, Xb-ave が算出される。
【００３５】
ここで言う一定期間内は、符号化の終了したばかりの画像から時間的に前に予め定めるフレーム数、例えば１５フレームとか、３００フレームといった一定のフレーム数の場合もあり、符号化開始フレームから符号化の終了したばかりの画像までのように、順次フレーム数が増加する場合もある。
なお、前者の一定フレーム数の場合でも、符号化したフレーム数が定めた一定期間を満たさない場合は後者と同様に順次フレーム数が増加していくことになる。
【００３６】
これから符号化する現在の画像の画面複雑度Xk-c (k＝ i, p, b) は、現在の画像のアクティビティをACTk (k＝ i, p, b)、直前に符号化した同じピクチャタイプの画像の画面複雑度 Xk-p (k＝ i, p, b)、アクティビティACTk-p (k＝ i, p, b)より下記の式(2)で推定出来る。
【００３７】
0004362795.tif 000003
【００３８】
なお、初期状態において、同じピクチャタイプの符号化の終了したフレームが存在しない場合は予めいくつかの画像で各ピクチャタイプの画像の画面複雑度とアクティビティを求めておき、それを平均的な動画像の発生頻度に合わせて統計的に平均してそれを初期値とすればよい。
【００３９】
各ピクチャタイプの平均画面複雑度 Xi-ave, Xp-ave, Xb-aveと、これから符号化する現在の画像の推定画面複雑度 Xi-c, Xp-c, Xb-c はVBR符号量制御器５１に送られ、ここで可変ビットレート制御のための量子化スケールの設定が行われる。
目標平均ビットレートをBitRate、１秒当りのフレーム数をPictureRate、1つの符号化単位である1GOP(通常はIピクチャの間隔)のフレーム数をNとすると、1GOPの平均割当符号量Raveは次式(3)で与えられる。
【００４０】
0004362795.tif 000004
【００４１】
上式のRaveは平均画面複雑度の時の1GOPの必要割当符号量とすると、これから符号化する現在の画像を含む1GOPの画像が一様に前記画面複雑度算出器２４で求めた現在の画像の推定画面複雑度に等しいと仮定すると、画質を一定に保持す場合に必要な1GOPの必要割当符号量Rck (k＝ i, p, b) は次式(4)で与えられる。
【００４２】
0004362795.tif 000005
【００４３】
上式のRck (k＝ i, p, b)を1GOPの各ピクチャに適切に割り振ることにより、これから符号化する現在の画像の第１の符号量制御手段における目標符号量を算出する。例としてMPEG2 Test Model 5の目標符号量割当方法を以下に挙げるが、これ以外の方法を用いてもよい。
【００４４】
1GOPに含まれるP、Bピクチャのフレーム数をNp、Nb、Ｉピクチャに対するＰ、Ｂピクチャの量子化スケールの設定比率をKp、Kbとする。この時、各ピクチャタイプの目標割当符号量Ti, Tp, Tbは次式(5)(6)(7)で与えられる。
なお、MAX[a, b]はａとｂのいずれか大きい方を選択する動作を示す。
また、Xi, Xp, Xbはここでは直前に符号化したピクチャの画面複雑度(当該ピクチャの平均量子化スケールと発生符号量の積)である。
【００４５】
(Ｉピクチャ)
0004362795.tif 000006
【００４６】
(Ｐピクチャ)
0004362795.tif 000007
【００４７】
(Ｂピクチャ)
0004362795.tif 000008
【００４８】
一方、CBR符号量制御器５２ではフレーム単位の平均量子化スケール、発生符号量が入力され、両者の積から直前に符号化したピクチャの画面複雑度Xi, Xp, Xbを求めて、BitRateが最高転送レート(BitRateMax)の時の各ピクチャタイプの目標割当符号量Ti-max, Tp-max, Tb-maxを第１の符号量制御手段における目標割当符号量Ti, Tp, Tbと同様に求める。
ここで、1GOPの平均割当符号量Rav-maxは各ピクチャ共通で、次式(8)で与えられる。
【００４９】
0004362795.tif 000009
よって、
【００５０】
(Ｉピクチャ)
0004362795.tif 000010
【００５１】
(Ｐピクチャ)
0004362795.tif 000011
【００５２】
(Ｂピクチャ)
0004362795.tif 000012
【００５３】
上式のTi-max, Tp-max, Tb-maxは、すなわち、第２の符号量制御手段における目標割当符号量の上限であり、これらの値はVBR符号量制御器５１に送られて、前記した符号化する現在の画像の当該ピクチャタイプについて、前記したTi, Tp, Tbの値はTi-max, Tp-max, Tb-maxの値でリミッタがかけられ、現在の画像の目標割当符号量が決定する。
【００５４】
上のようにして決定した目標割当符号量と、バッファ１６で検出される各マクロブロックの発生符号量をもとに、MPEG2 Test Model 5の方法を用いて各マクロブロックの量子化スケールを決定する。
【００５５】
なお、画像特性検出器２５からは符号量制御器５１へも各マクロブロックのアクティビティACTcurが送られ、MPEG2 Test Model 5におけるアクティビティに基づいて各マクロブロックの量子化スケールを変更する適応量子化制御に使用されるが、この適応量子化制御は行わなくてもよい。またこれとは全く異なる方法で各マクロブロックの量子化スケールを決定してもよい。
【００５６】
符号量制御器５１から出力される各マクロブロックの量子化スケールが量子化器１３に送られ、現在の画像(ＤＣＴ後の分割された原画像または動き補償予測の誤差画像ブロック)がこの量子化スケールで量子化され、可変長符号化されてバッファ１６で調整された後に符号が出力される。
【００５７】
マクロブロック毎の量子化スケール、バッファ１６で監視される発生符号量がそれぞれ、平均量子化スケール検出器２２、発生符号量検出器２３に送られ、次のピクチャの符号量制御に使用される。
【００５８】
なお、上の説明では、CBR符号量制御器５２における1GOPの平均割当符号量Rav-maxを、単純に最高転送レート(BitRateMax)の時に1GOPに割当てられる符号量として計算していた。
これに対して、これから符号化する現在の画像の推定画面複雑度Xk-c (k＝ i, p, b)を因数とする、図2 (a)のような所定の関数、例えば、現在の画像の推定画面複雑度Xk-cが増大するとその値が限りなく１に近付く関数ｆ(Xk-c)を設定する。
【００５９】
ピクチャタイプ毎にこの関数を乗算した次式(12)のRav-max'をRav-maxの代りに使用することにより、図２(b)に示されるように、各ピクチャタイプの最高転送レートに近い場合の発生符号量を徐々に押さえると共に、最高転送レートを超えた点で画面複雑度と割当符号量の関係が不連続になることから生ずる、当該ピクチャタイプの画質劣化が顕著になる問題を押えることも可能となる。
【００６０】
0004362795.tif 000013
【００６１】
つぎに、本発明の動画像符号化装置の第２の実施例について、以下に図３と共に説明する。
第２の実施例では、２パス方式の可変ビットレート符号量制御に本発明を適用した場合である。原画像入力〜可変長符号化器１５で符号に変換されるまでの基本的な符号化部分は第１の実施例と同一である。
大きく異なるのは1つの画像について、符号化動作が２回(またはそれ以上)行われ、最初に仮符号化が行われ、その発生符号量の結果を基に２回目の符号化が行われるため、両者の符号化動作に異なる部分があることである。
【００６２】
1回目の符号化では、量子化器１３に送られる量子化スケールはVBR符号量制御器５１から送られるのではなく、スイッチSW1を介して仮符号化量子化スケール設定器５６から一定の値(６とか８といった値)が送られ、これにより固定値の量子化が行われる。
そして可変長符号化器１５において可変長符号化が行われた後のビットストリームはそれを外部に出力するためのバッファ１６に送られず、スイッチSW2を介して仮符号化発生符号量検出器５３に送られて、１回目の符号化における各画像の発生符号量が検出される。
【００６３】
発生符号量は順次仮符号化発生符号量検出器５３から仮転送レートメモリ５４に送られ、所定期間毎に加算されて、仮転送レートが算出される。
この操作が１つの画像シーケンスの符号化が終了するまで行われ、仮転送レートメモリ５４には所定期間毎の仮転送レートが蓄積される。
【００６４】
１回目の符号化が終了すると、画像シーケンス全体の仮発生符号量または平均仮転送レートが算出され、この値と所定期間毎の仮転送レートが目標転送レート算出器５５に送られ、２回目の符号化(実符号化)における所定期間毎の目標転送レートが算出される。
【００６５】
なお、１回目の符号化における所定期間毎の仮転送レートRtと２回目の符号化の目標転送レートＲとの関係は、予め所定の関数を設定しておく。
例えば次の(13)のような関数が考えられる。
【００６６】
0004362795.tif 000014
【００６７】
１回目の仮符号化が終了し、２回目の符号化の目標転送レートが決定するとその目標転送レートに従って２回目の符号化(実符号化)が開始される。
２回目の符号化では、量子化器１３に送られる量子化スケールはVBR符号量制御器５１で得られた値が送られる。
【００６８】
ここで、VBR符号量制御器５１では、平均量子化スケール検出器２２、発生符号量検出器２３で検出された各フレームの平均量子化スケール、発生符号量と、目標転送レート算出器５５で仮符号化結果から算出された所定期間毎の目標転送レートから、これから符号化する画像の目標割当符号量が求められる。
【００６９】
一方、CBR符号量制御器５２で算出された(第２の符号量制御手段における)目標割当符号量の上限もVBR符号量制御器５１に入力され、前記目標割当符号量にリミッタがかけられ、目標割当符号量が決定する。
CBR符号量制御器５２における目標割当符号量の上限は第1の実施例における (Rav-maxによる) Ti-max, Tp-max, Tb-maxと同一である。
【００７０】
以上のようにして決定した目標割当符号量と、バッファ１６で検出される各マクロブロックの発生符号量をもとに、第１の実施例と同様にMPEG2 Test Model 5等の方法を用いて各マクロブロックの量子化スケールを決定する。
【００７１】
このようにして決定された各マクロブロックの量子化スケールが量子化器１３に送られ、これから符号化する画像(ＤＣＴ後の分割された原画像または動き補償予測の誤差画像ブロック)がこの量子化スケールで量子化され、可変長符号化される。
【００７２】
ここで発生するビットストリームは、２回目の符号化ではバッファ１６に供給され、ここで目標転送レート算出器５５で算出された所定期間毎の目標転送レートによって調整された後に符号が出力される。
マクロブロック毎の量子化スケール、バッファ１６で監視される発生符号量がそれぞれ、平均量子化スケール検出器２２、発生符号量検出器２３に送られ、次のピクチャの符号量制御に使用される。
【００７３】
更に、本発明の動画像符号化装置の第３の実施例について、以下に図４、図５と共に説明する。
以上の第１及び第２の実施例は可変ビットレート符号量制御に本発明を適用した場合であるが、本発明はそれに限定されず、幅広い応用が可能である。
図４に示される動画像符号化装置のように、バッファ１６の出力の符号化ビットストリームをストリーム分割器５９で２つに分ける。
その一方の出力は図５のようなＩ,Ｐ,Ｂピクチャ全てを使用した符号化ビットストリーム全体を出力し、もう一方はそのうちＩとＰピクチャのみを使用した符号化ビットストリームを出力する。
【００７４】
Ｉ，Ｐピクチャのみの出力は、ここでは図示していないヘッダ変換器で、ヘッダ部分のパラメータ等が適切な値に書き換えられているものとする。
図4の符号量制御器１（５１Ａ）はビットストリーム全体の符号量を制御し、符号量制御器２（５２Ａ）はＩとＰピクチャのみのビットストリームの符号量を制御する。
【００７５】
ここで、符号量制御器１（５１Ａ）と符号量制御器２（５２Ａ）で各ピクチャタイプの平均割当符号量が比較的近い値となるように、両者の平均ビットレートが設定されているものとする。
２つのビットストリームの符号量制御を同時に満足するために、符号量制御器２（５２Ａ）におけるＩ,Ｐピクチャの符号量割当結果を符号量制御器１（５１Ａ）に送り、符号量制御器１（５１Ａ）ではＩ,Ｐピクチャについては符号量制御器２（５２Ａ）の結果のＩ,Ｐピクチャの符号量割当をそのまま適用し、Ｂピクチャについては新たに符号量割当を行って、符号量制御器１（５１Ａ）の制御を実現する。
【００７６】
これによりビットストリーム全体では符号量制御器１（５１Ａ）による制御が行われると同時に、ストリーム分割器５９でビットストリームのＩ,Ｐピクチャ部分を取り出した場合は符号量制御器２（５２Ａ）で制御されたビットストリームを得ることが出来る。
【００７７】
なお、ストリーム分割器５９でＩとＰピクチャのみのビットストリームを出力する必要のない場合は、符号量制御器２（５２Ａ）による符号量割当は行わずに、符号量制御器１（５１Ａ）において、Ｉ、Ｐ、Ｂピクチャ各々について、通常の符号量割当を行う。
符号量制御器２（５２Ａ）による符号量割当は行わない場合は、それを示す信号をストリーム分割器５９に送り、そこでＩとＰピクチャのみのビットストリームを出力を止める。
【００７８】
図４の実施例に限らず、本発明は２つの符号量制御器を有する符号量制御形態において、主たる方の符号量制御器５１Ａに対して、従なる方の符号量制御器５２Ａの各ピクチャタイプ毎の符号量割当結果によって制限を加えることによって、各ピクチャタイプの符号量割当の適正化を図り、もしくは１つの符号化ビットストリームに対して２つの復号系に対応した、動画像符号化装置を実現することが出来る。
【００７９】
【発明の効果】
以上のように本発明によると、符号化画像の割当符号量を決定する第１の符号量制御手段と、第１の符号量制御手段の符号量割当に制限を加える第２の符号量制御手段を有し、例えば可変ビットレート制御の場合、第１の符号量制御手段では可変ビットレート制御、第２の符号量制御手段では最高転送レートの固定ビットレート制御により割当符号量を求め、実際の割当符号量は、第１の符号量制御手段で得られる割当符号量が第２の符号量制御手段で得られる割当符号量を上回った場合のみ、第２の符号量制御手段で得られる割当符号量を適用し、それ以外の場合は第１の符号量制御手段で得られる割当符号量を適用する。
これによって、目標平均ビットレートが最大転送レートに近い場合においても、Ｂピクチャに不必要に多くの符号量を与えることもなく、ピクチャタイプ間の符号量割当を最適に保持することが可能になる。
【００８０】
また、１パス方式の可変ビットレート制御で、各画像の発生符号量と平均量子化スケールの積に所定の操作を施して得られる画面複雑度を用いた制御を行う場合、画面複雑度を因数とする所定の関数を設定し、この関数を前記の第２の符号量制御手段で得られる割当符号量の上限に乗じて割当符号量の上限を変更することにより、割当符号量の上限に近い部分における符号量の増大を抑制すると共に、割当符号量の上限を超えた点での画質変動を緩和することが可能になる。
【図面の簡単な説明】
【図１】本発明の動画像符号化装置及びその方法の第１の実施例を示したブロック構成図である。
【図２】本発明の第１の実施例のRav-max'算出の際の関数及びXk-cと割当符号量の関係を示した図である。
【図３】本発明の動画像符号化装置及びその方法の第２の実施例を示したブロック構成図である。
【図４】本発明の動画像符号化装置及びその方法の第３の実施例を示したブロック構成図である。
【図５】本発明の第３の実施例のストリーム分割手段によるビットストリーム分割の様子を示した図である。
【図６】符号化ピクチャ構造の一例を示した図である。
【図７】一般的な動画像符号化装置の一構成例を示した図である。
【図８】従来の動画像符号化装置の一構成例を示した図である。
【符号の説明】
１１  減算器
１２  ＤＣＴ器（直交変換器）
１３  量子化器
１４  符号量制御器
１５  可変長符号化器
１６  バッファ
１７  逆量子化器
１８  ＩＤＣＴ器
１９  動き補償予測器
２０  加算器
２１  フレームメモリ
２２  平均量子化スケール検出器
２３  発生符号量検出器
２４  画面複雑度算出器
２５  画像特性検出器
５１  ＶＢＲ符号量制御器
５２  ＣＢＲ符号量制御器
５１Ａ  符号量制御器１
５２Ａ  符号量制御器２
５３  仮符号化発生符号量検出器
５４  仮転送レートメモリ
５５  目標転送レート算出器
５６  仮符号化量子化スケール設定器
５９  ストリーム分割器
Rav-max   BitRateが最高転送レート(BitRateMax)の時の1GOPの平均割当符号量
Rck   1GOPの必要割当符号量(k＝ i, p, b)
SW1,SW2  スイッチ
Tk 各ピクチャタイプの目標割当符号量(k＝ i, p, b)
Tk-max   BitRateが最高転送レート(BitRateMax)の時の各ピクチャタイプ
の目標割当符号量(k＝ i, p, b)
Xk 現在の画像の画面複雑度(k＝ i, p, b)
Xk-c 現在の画像の推定画面複雑度(k＝ i, p, b)
【図１】
0004362795.tif 000015
【図２】
0004362795.tif 000016
【図３】
0004362795.tif 000017
【図４】
0004362795.tif 000018
【図５】
0004362795.tif 000019
【図６】
0004362795.tif 000020
【図７】
0004362795.tif 000021
【図８】
0004362795.tif 000022