(57)【要約】【課題】量子化部と符号化部の間の中間バッファのオーバーフローの危険性を軽減して、高精度のビットレート制御を実現すること。【解決手段】動画像符号化装置１の中間バッファ２００は量子化部１０３の出力と符号化部２０１の入力の間に接続され、符号量セレクタ３０１の選択制御端子に中間バッファ２００のデータ蓄積量の大小の判定信号が供給される。バッファ２００のデータ蓄積量の大の場合には、セレクタ３０１の第１入力端子に供給される符号量推定部３００の推定符号量が符号量セレクタ３０１の出力端子に出力され、量子化部１０３の量子化スケールが調整される。中間バッファ２００のデータ蓄積量の小の場合には、符号量セレクタ３０１の第２入力端子に供給される符号化部２０１からの実符号量がセレクタ３０１の出力端子に出力され、量子化部１０３の量子化スケールが調整される。【選択図】図１
2015073177.tif 000002
【特許請求の範囲】
【請求項１】
動画像符号化装置は、周波数変換部と量子化部と符号化部と中間バッファと符号量推定部と符号量セレクタとレートコントローラとを具備して、
前記周波数変換部は、入力信号の周波数変換処理を実行して、
前記量子化部は、前記周波数変換部の前記周波数変換処理の結果に関して、量子化処理を実行して、
前記符号化部が前記量子化部の前記量子化処理の結果に関して符号化処理を実行することによって、前記符号化部から圧縮ビデオビットストリームが生成され、
前記中間バッファは、前記量子化部の出力端子と前記符号化部の入力端子との間に接続され、
前記符号量推定部の入力端子は前記量子化部の前記出力端子に接続されて、前記符号量推定部の出力端子から生成される推定符号量が前記符号量セレクタの第１入力端子に供給され、
前記符号量セレクタの第２入力端子には、前記符号化部により符号化される前記圧縮ビデオビットストリームの実符号量が供給され、
前記符号量セレクタの選択制御端子には、前記中間バッファのデータ蓄積量が大きいか小さいかの判定信号が供給され、
前記符号量セレクタの出力端子は前記レートコントローラの入力端子に接続されて、前記レートコントローラの出力信号は前記量子化部の量子化スケールを調整して、
前記判定信号が前記中間バッファの前記データ蓄積量が大きいことを示す場合には、前記符号量セレクタの前記第１入力端子に供給される前記符号量推定部からの前記推定符号量が前記符号量セレクタの前記出力端子に出力され、前記量子化部の前記量子化スケールが前記推定符号量によって調整され、
前記判定信号が前記中間バッファの前記データ蓄積量が小さいことを示す場合には、前記符号量セレクタの前記第２入力端子に供給される前記符号化部からの前記実符号量が前記符号量セレクタの前記出力端子に出力され、前記量子化部の前記量子化スケールが前記実符号量によって調整される
動画像符号化装置。
【請求項２】
請求項１において、
前記符号化部は、算術符号化方式と可変長符号化方式との少なくともいずれか一方による符号化処理を実行する
動画像符号化装置。
【請求項３】
請求項２において、
前記符号化部が前記算術符号化方式による符号化処理を実行する際に、前記中間バッファは、前記量子化部の前記量子化処理の処理速度と前記符号化部の前記算術符号化方式による前記符号化処理の処理速度との相違を吸収するものであり、
前記符号化部が前記可変長符号化方式による符号化処理を実行する際に、前記中間バッファは、前記量子化部の前記量子化処理の処理速度と前記符号化部の前記可変長符号化方式による前記符号化処理の処理速度との相違を吸収する
動画像符号化装置。
【請求項４】
請求項１において、
前記中間バッファの前記データ蓄積量が大きいか小さいかの判定は、前記データ蓄積量が所定のしきい値よりも大きいか、もしくは前記データ蓄積量が前記所定のしきい値よりも小さいかを判定することによって実行される
動画像符号化装置。
【請求項５】
請求項２において、
前記符号化部は、指数ゴロム符号化部と可変長符号化処理部と算術符号化処理部とを含み、
前記指数ゴロム符号化部は、符号化すべきシンタックス要素を、プリフィックスとセパレータとサフィックスとを含む指数ゴロム符号に符号化するものであり、
前記可変長符号化処理部は、前記量子化部で量子化処理された前記周波数変換部の前記周波数変換処理の前記結果をジグザグ・スキャンにより一次元のベクトルに変換した後に、前記可変長符号化方式による前記符号化処理を実行するものであり、
前記算術符号化処理部は、２値化部と２値算術符号化部とコンテキスト計算部とによって構成され、
前記２値化部は多値入力信号から２値信号を生成して、前記２値信号は前記２値算術符号化部により符号化ビット列に符号化され、
前記コンテキスト計算部は、符号化対象シンボルである前記２値信号の発生確率モデルを近傍シンボルの状況に応じて動的に計算・更新して、前記２値算術符号化部は、前記コンテキスト計算部により計算・更新された前記発生確率モデルに従って前記２値信号を前記符号化ビット列に符号化する
動画像符号化装置。
【請求項６】
請求項５において、
前記中間バッファは、前記算術符号化処理部の内部で前記２値化部と前記２値算術符号化部との間に接続された
動画像符号化装置。
【請求項７】
請求項６において、
前記符号量セレクタの前記第２入力端子には、前記算術符号化処理部の前記２値算術符号化部の実符号量が供給される
動画像符号化装置。
【請求項８】
請求項１において、
第１カウンタと第２カウンタとセレクタコントローラとを更に具備して、
前記第１カウンタは、前記量子化部によって量子化処理される符号化処理単位の画像ブロックの番号をカウントすることによって、第１カウント値を保持して、
前記第２カウンタは、前記符号化部によって符号化処理される符号化処理単位の画像ブロックの番号をカウントすることによって、第２カウント値を保持して、
前記セレクタコントローラは、前記第１カウンタの前記第１カウント値と前記第２カウンタの前記第２カウント値との差を判定して、
前記第１カウンタの前記第１カウント値と前記第２カウンタの前記第２カウント値との前記差が大きい場合には、前記セレクタコントローラは、前記符号化処理部の処理遅延または前記中間バッファの前記データ蓄積量が大きいと判定して、
前記第１カウンタの前記第１カウント値と前記第２カウンタの前記第２カウント値との前記差が小さい場合には、前記セレクタコントローラは、前記符号化処理部の処理遅延または前記中間バッファの前記データ蓄積量が小さいと判定する
動画像符号化装置。
【請求項９】
請求項８において、
前記量子化部で量子化処理される前記符号化処理単位の前記画像ブロックと前記符号化部で符号化処理される前記符号化処理単位の前記画像ブロックとは、輝度成分で１６画素×１６画素のサイズを有するマクロブロックである
動画像符号化装置。
【請求項１０】
請求項８において、
前記量子化部で量子化処理される前記符号化処理単位の前記画像ブロックと前記符号化部で符号化処理される前記符号化処理単位の前記画像ブロックは、フレキシブルなブロック構造であるコーディングユニットであり、
前記コーディングユニットは、６４画素×６４画素のサイズの最大コーディングユニットから適応的に分割可能なブロックである
動画像符号化装置。
【請求項１１】
請求項１乃至請求項１０のいずれかにおいて、
前記動画像符号化装置は、動きベクトル検出部と動き補償部と減算器と逆量子化部と逆周波数変換部とメモリとイントラ予測部と予測セレクタ部とを更に具備して、
前記動きベクトル検出部は、符号化すべき動画像信号と前記メモリに格納された参照画像とから動きベクトルを生成して、
前記動き補償部は、前記動きベクトル検出部から生成される前記動きベクトルと前記メモリに格納された前記参照画像とに応答して動き補償予測信号を生成して、
前記減算器の一方の入力端子には前記動画像信号が供給され、前記減算器の他方の入力端子には前記動き補償部から生成される前記動き補償予測信号が供給され、前記減算器の出力端子から予測残差が生成され、
前記減算器の前記出力端子から生成される前記予測残差が、前記周波数変換処理の前記入力信号として前記周波数変換部の入力端子に供給され、
前記量子化部の前記量子化処理の結果は、前記逆量子化部と前記逆周波数変換部とによって局部復号処理が実行され、前記局部復号処理の結果は前記参照画像として前記メモリに格納され、
前記逆量子化部と前記逆周波数変換部とにより実行される前記局部復号処理の前記結果は、イントラ参照画像として前記メモリに格納され、
前記動画像信号が前記イントラ予測部の一方の入力端子に供給され、前記メモリに格納された前記イントラ参照画像が前記イントラ予測部の他方の入力端子に供給されることにより、前記イントラ予測部は前記一方の入力端子に供給される前記動画像信号に関するイントラ予測信号を生成して、
前記予測セレクタ部は前記動き補償部から生成される前記動き補償予測信号と前記イントラ予測部から生成される前記イントラ予測信号とのいずれかの予測信号を選択して、前記減算器の前記他方の入力端子に選択した前記予測信号を供給する
動画像符号化装置。
【請求項１２】
請求項１において、
前記周波数変換部と前記量子化部と前記符号化部と前記中間バッファと前記符号量推定部と前記符号量セレクタと前記レートコントローラとは、半導体集積回路の１個の半導体チップに集積化された
動画像符号化装置。
【請求項１３】
請求項１１において、
前記動きベクトル検出部と前記動き補償部と前記減算器と前記逆量子化部と前記逆周波数変換部と前記符号化部と前記イントラ予測部と前記予測セレクタ部とは、前記半導体集積回路の前記１個の半導体チップに更に集積化された
動画像符号化装置。
【請求項１４】
請求項１において、
前記動画像符号化装置は、規格Ｈ．２６４と規格Ｈ．２６５とから任意に選択された方式に準拠して前記動画像信号を符号化処理することによって、前記圧縮ビデオビットストリームを生成する
動画像符号化装置。
【請求項１５】
周波数変換部と量子化部と符号化部と中間バッファと符号量推定部と符号量セレクタとレートコントローラとを具備する動画像符号化装置の動作方法であって、
前記周波数変換部は、入力信号の周波数変換処理を実行して、
前記量子化部は、前記周波数変換部の前記周波数変換処理の結果に関して、量子化処理を実行して、
前記符号化部が前記量子化部の前記量子化処理の結果に関して符号化処理を実行することによって、前記符号化部から圧縮ビデオビットストリームが生成され、
前記中間バッファは、前記量子化部の出力端子と前記符号化部の入力端子との間に接続され、
前記符号量推定部の入力端子は前記量子化部の前記出力端子に接続されて、前記符号量推定部の出力端子から生成される推定符号量が前記符号量セレクタの第１入力端子に供給され、
前記符号量セレクタの第２入力端子には、前記符号化部により符号化される前記圧縮ビデオビットストリームの実符号量が供給され、
前記符号量セレクタの選択制御端子には、前記中間バッファのデータ蓄積量が大きいか小さいかの判定信号が供給され、
前記符号量セレクタの出力端子は前記レートコントローラの入力端子に接続されて、前記レートコントローラの出力信号は前記量子化部の量子化スケールを調整して、
前記判定信号が前記中間バッファの前記データ蓄積量が大きいことを示す場合には、前記符号量セレクタの前記第１入力端子に供給される前記符号量推定部からの前記推定符号量が前記符号量セレクタの前記出力端子に出力され、前記量子化部の前記量子化スケールが前記推定符号量によって調整され、
前記判定信号が前記中間バッファの前記データ蓄積量が小さいことを示す場合には、前記符号量セレクタの前記第２入力端子に供給される前記符号化部からの前記実符号量が前記符号量セレクタの前記出力端子に出力され、前記量子化部の前記量子化スケールが前記実符号量によって調整される
動画像符号化装置の動作方法。
【請求項１６】
請求項１５において、
前記符号化部は、算術符号化方式と可変長符号化方式との少なくともいずれか一方による符号化処理を実行する
動画像符号化装置の動作方法。
【請求項１７】
請求項１６において、
前記符号化部が前記算術符号化方式による符号化処理を実行する際に、前記中間バッファは、前記量子化部の前記量子化処理の処理速度と前記符号化部の前記算術符号化方式による前記符号化処理の処理速度との相違を吸収するものであり、
前記符号化部が前記可変長符号化方式による符号化処理を実行する際に、前記中間バッファは、前記量子化部の前記量子化処理の処理速度と前記符号化部の前記可変長符号化方式による前記符号化処理の処理速度との相違を吸収する
動画像符号化装置の動作方法。
【請求項１８】
請求項１５において、
前記中間バッファの前記データ蓄積量が大きいか小さいかの判定は、前記データ蓄積量が所定のしきい値よりも大きいか、もしくは前記データ蓄積量が前記所定のしきい値よりも小さいかを判定することによって実行される
動画像符号化装置の動作方法。
【請求項１９】
請求項１６において、
前記符号化部は、指数ゴロム符号化部と可変長符号化処理部と算術符号化処理部とを含み、
前記指数ゴロム符号化部は、符号化すべきシンタックス要素を、プリフィックスとセパレータとサフィックスとを含む指数ゴロム符号に符号化するものであり、
前記可変長符号化処理部は、前記量子化部で量子化処理された前記周波数変換部の前記周波数変換処理の前記結果をジグザグ・スキャンにより一次元のベクトルに変換した後に、前記可変長符号化方式による前記符号化処理を実行するものであり、
前記算術符号化処理部は、２値化部と２値算術符号化部とコンテキスト計算部とによって構成され、
前記２値化部は多値入力信号から２値信号を生成して、前記２値信号は前記２値算術符号化部により符号化ビット列に符号化され、
前記コンテキスト計算部は、符号化対象シンボルである前記２値信号の発生確率モデルを近傍シンボルの状況に応じて動的に計算・更新して、前記２値算術符号化部は、前記コンテキスト計算部により計算・更新された前記発生確率モデルに従って前記２値信号を前記符号化ビット列に符号化する
動画像符号化装置の動作方法。
【請求項２０】
請求項１９において、
前記中間バッファは、前記算術符号化処理部の内部で前記２値化部と前記２値算術符号化部との間に接続された
動画像符号化装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置およびその動作方法に関し、特に高精度のビットレート制御を実現するのに有効な技術に関する。
【背景技術】
【０００２】
国際規格ＩＳＯ／ＩＥＣ  １３８１８−２で標準化されたＭＰＥＧ−２の規格による動画像(Moving Picture)の一般的な圧縮方式は、ビデオストリームから冗長な情報を削除することによって、ビデオ記憶容量と必要な帯域幅とを削減すると言う原理に基づくものである。尚、ＭＰＥＧは、Moving Picture Experts Groupの略である。
【０００３】
ＭＰＥＧ−２の規格は、ビットストリームのシンタックス(圧縮符号化データ列の規則または符号化データのビットストリームの構成方法)およびデコードプロセスのみを規定しているので、衛星放送・サービス、ケーブルテレビジョン、インターラクティブテレビジョン、インターネット等の種々の状況で十分利用可能なようにフレキシブルなものである。
【０００４】
ＭＰＥＧ−２のエンコードプロセスでは、最初にデジタルビデオの各画素のカラーと輝度との成分を規定するために、ビデオ信号はサンプリングル処理の後、量子化処理が施される。カラーと輝度の成分を示す値は、マクロブロックとして知られている構造に蓄積される。マクロブロックに蓄積されたカラーと輝度との成分を示す値は、離散コサイン変換(ＤＣＴ：Discrete Cosine Transform)を使用して周波数値に変換される。ＤＣＴによって得られる周波数変換係数は、ピクチャーの輝度とカラーとで異なった周波数を持つ。量子化されたＤＣＴ変換係数は、ビデオストリームを更に圧縮する可変長コーディング(ＶＬＣ：Variable Length Coding)によってエンコードされる。
【０００５】
ＭＰＥＧ−２のエンコードプロセスでは、動き圧縮技術による付加圧縮が規定されている。ＭＰＥＧ−２の規格では、Ｉフレーム、Ｐフレーム、Ｂフレームの３種類のピクチャーもしくはフレームが存在している。Ｉフレームは、ビデオストリームにおいて他のいかなるピクチャーまたはフレームを参照することなく再生される、イントラ符号化されたフレームである。ＰフレームとＢフレームとは、他のピクチャーまたはフレームの参照によって再生される、インター符号化されたフレームである。例えば、ＰフレームとＢフレームとは、参照フレームに関して動き推定を示す動きベクトルを含む。動きベクトルの使用によって、ＭＰＥＧエンコーダは、特定のビデオストリームに必要な帯域幅の低減が可能となる。尚、Ｉフレームは独立(intra-coded)フレーム、Ｐフレームは片方向予測(predictive-coded)フレーム、Ｂフレームは両方向予測(bi-directionally predictive-coded)フレームと呼ばれる。
【０００６】
従って、ＭＰＥＧ−２の動画像符号化装置(Encoder)は、符号化メモリと動きベクトル検出部と動き補償部と減算部とＤＣＴ変換部と量子化部と逆量子化部と逆ＤＣＴ変換部とフレームメモリと可変長符号化部と加算部とによって構成される。動画像入力信号は、Ｂフレームの符号化や動きベクトルの検出のために符号化メモリに格納された後に、符号化の順序でフレームメモリから読み出される。減算部では、読み出された動画像入力信号から動き補償部で生成される動き補償予測信号が減算され、減算結果である予測残差に関して、ＤＣＴ変換部と量子化部でそれぞれＤＣＴ変換処理と量子化処理が実行される。量子化されたＤＣＴ変換係数は、可変長符号化部で可変長符号化処理されるとともに、逆量子化部と逆ＤＣＴ変換部とで局部復号処理が実行された後に、この局部復号処理結果は、フレームメモリと動き補償部とを介して加算部に供給される。
【０００７】
一方、ＭＰＥＧ−２の動画像復号装置(Decoder)は、バッファメモリと可変長復号部と逆量子化部と逆ＤＣＴ変換部と動き補償部と加算部とフレームメモリによって構成される。ＭＰＥＧ−２の符号化ビットストリームは、バッファメモリに蓄積された後、可変長復号部と逆量子化部と逆ＤＣＴ変換部で可変長復号処理と逆量子化処理と逆ＤＣＴ変換処理がそれぞれ実行されることにより、予測残差が生成される。予測残差と可変長復号処理で生成される動きベクトルに従ってフレームメモリから読み出される参照画像とが加算部で加算されることによって、加算部の出力から再生画像信号が生成される。この再生画像信号はフレームメモリに格納され、他のフレームの予測のための参照画像として使用される。
【０００８】
下記非特許文献１には、デコーダのバッファメモリに供給するビットストリームをエンコーダが生成する際に、デコーダのバッファメモリのオーバーフローおよびアンダーフローを回避するための符号量(ビットレート)を達成するために、エンコーダの量子化部の量子化ステップサイズを調整することが記載されている。この調整のために、通常は下記非特許文献２に記載のようにエンコーダの可変長符号化部の出力を蓄積するとデコーダのバッファメモリの入力との間に仮想的なビデオバッファ(ＶＢ)が想定され、エンコーダの量子化部の量子化ステップサイズを調整する量子化制御部がこの仮想ビデオバッファ(ＶＢ)によってフィードバック制御される。 
すなわち、下記非特許文献２には、目標符号量に対して実符号量である仮想バッファの充足度によってエンコーダの量子化部の量子化スケールをフィードバック制御するＴｅｓｔ  Ｍｏｄｅｌ  ５と呼ばれるＭＰＥＧ符号化制御の量子化部における量子化スケールのビットレート制御が記載されている。
【０００９】
下記特許文献１の図１には、国際規格ＩＳＯ／ＩＥＣ  １４４９６−１０により標準化されたＭＰＥＧ−４  ＡＶＣ(Ｈ．２６４)の規格に対応するＣＡＢＡＣ(Context-Adaptive Binary Arithmetic Coding：コンテキスト適応型２値算術符号化方式)のエントロピー符号化(可変長符号化)を実行する動画像符号化装置が記載されている。この動画像符号化装置は、予測符号化部と算術符号化部とバッファとによって構成されている。予測符号化部が予測値を用いて動画像入力信号を符号化処理した後、算術符号化部は、各シンタックス要素をＣＡＢＡＣにより符号化処理した符号化データをバッファに蓄積する。予測符号化部は、減算部と直交変換部と量子化部と逆量子化部と逆直交変換部とフレームメモリと動き補償部とによって構成され、算術符号化部は、２値化部と２値化バッファとコンテキスト計算部と２値算術符号化部とによって構成される。予測符号化部の量子化部は、量子化部の量子化スケールを制御するレート制御部と接続され、このレート制御部には、バッファのバッファ占有量の情報と２値化バッファのバッファ占有量の情報とが供給される。算術符号化部の２値化部は、多値のシンタックス要素を２値化して、可変長の２値化シンボル系列を生成する。２値化部は、２値化シンボル系列の２値データ量を、マクロブロック単位で累積加算する。符号量予測部は、算術符号化部の２値化部に接続され、２値化部の累積加算結果が供給される。符号量予測部は、所定の予測関数を使用して２値データ量の累積加算からバッファの符号化データのビット量の予測値を計算して、予測符号化部の量子化部に供給して、量子化部の量子化スケールが制御される。リアルタイムで動画像入力信号を符号化処理する従来の動画像符号化装置においては、算術符号化部の処理には多大な演算量を要すために、算術符号化部の構成が複雑となり、回路規模と消費電力が増大してしまう。下記特許文献１は、予測関数の使用により構成の簡素化と、回路規模と消費電力の低減が可能であると、記載している。
【００１０】
下記特許文献２の図１には、コンテキスト適応型２値算術符号化方式(ＣＡＢＡＣ)による可変長符号化を実行する動画像符号化装置で、応答性の高いレート制御を実現するために、動画像に関するデータの算術符号化前のデータを符号量推定部に供給して、符号量推定部から生成される推定符号量をレート制御判定部に供給して、量子化部の量子化ステップを制御することが記載されている。例えば、動画像に関するデータの算術符号化前のデータは、予測処理部からの残差信号と、ＤＣＴ変換部からのＤＣＴ係数と、量子化部からの量子化係数と、ＣＡＢＡＣ処理部からの２値データのいずれかでよいと記載されている。
【００１１】
下記特許文献３には、コンテキスト適応型２値算術符号化方式(ＣＡＢＡＣ)において、符号化量の取得に遅延が生じてレート制御が破綻してしまうことを防ぐため、推定符号量によるレート制御において、実際の符号量と推定符号量との間に生じる誤差を、最小限に軽減する技術が記載されている。そのために、下記特許文献３の図１０に記載された動画像符号化装置は、動画像圧縮部とＣＡＢＡＣ処理部と符号量推定部と推定符号量置き換え部とレート制御判定部とによって構成されている。入力映像信号は、量子化部を含む動画像圧縮部に供給され、動画像圧縮部からの出力信号は、２値化部と算術符号化部とを含むＣＡＢＡＣ処理部に供給される。ＣＡＢＡＣ処理部の２値化部の出力信号は、符号量推定部の入力端子に供給され、符号量推定部からの推定符号量は、推定符号量置き換え部の累積推定符号量計算部で累積加算される。ＣＡＢＡＣ処理部の算術符号化部によって可変長符号化された符号化列のビット量である実符号量は、推定符号量置き換え部の累積符号量計算部で累積加算される。推定符号量置き換え部で、累積推定符号量計算部の累積推定符号量は、累積符号量計算部の累積実符号量に置き換えられる。推定符号量置き換え部からの出力信号がレート制御判定部に供給され、レート制御判定部からの出力信号によって動画像圧縮部の量子化部の量子化ステップが制御される。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００９−０５５３８４号  公報
【特許文献２】特開２００７−１５８４３０号  公報
【特許文献３】特開２００９−０３８７４６号  公報
【非特許文献】
【００１３】
【非特許文献１】Ｔ．Ｓｉｋｏｒａ，  Ｄｉｇｉｔａｌ  Ｃｏｎｓｕｍｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｈａｎｄｂｏｏｋ，  ｃｈａｐｔｅｒ  ＭＰＥＧ−１  ａｎｄ  ＭＰＥＧ−２  Ｄｉｇｉｔａｌ  Ｃｏｄｉｎｇ  Ｓｔａｎｄａｒｄｓ，  ＭｃＧｒａｗ−Ｈｉｌｌ，  １９９７．
【非特許文献２】半谷  精一郎  杉山  賢二  共著  「ＪＰＥＧ・ＭＰＥＧ完全理解」，ＰＰ．１４４−１５３  株式会社  コロナ社  ２００６年７月３０日  初版第２刷発行．
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本発明者等は本発明に先立って、規格Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣの後続規格としての新規格Ｈ．２６５(ＩＳＯ／ＩＥＣ２３００８−２)に準拠して、動画像入力信号の符号化によって符号化ビットストリームを生成することが可能な動画像符号化装置(Video Encoder)の開発に従事したものである。更に、この動画像符号化装置は、新規格Ｈ．２６５だけではなく、現行規格Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣに準拠して動画像入力信号を符号化することも要求されたものである。
【００１５】
この新規格は、非公式にはＨＥＶＣ(High Efficiency Video Coding)と呼ばれ、ブロックサイズの適正化等によって圧縮効率が優れたものであり、ＭＰＥＧ−２の規格に比較して約４倍、規格Ｈ．２６４／ＡＶＣに比較して約２倍の圧縮性能を有するとされている。デジタルＨＤＴＶ(High Definition Television)放送受信機や、ＨＤＴＶ信号を撮影可能なデジタルビデオカメラ等における画像サイズの大画面化に伴い、動画像符号化装置や動画像復号装置には更に高い処理性能が求められており、ＨＥＶＣの規格はこれらの要求を満足するものと期待されている。
【００１６】
一方、近年、高精細ＨＤ(High Definition)の画素サイズである１９２０画素×１０８０画素の大きさの約４倍の４０９６画素×２１６０画素または３８４０画素×２１６０画素の大きさの表示装置を有する４ＫＴＶが、注目されている。例えば、日本においては２０１４年７月から、４Ｋテレビ放送を開始するとの総務省の方針が発表されている。このように、４ＫＴＶの表示装置の表示画面に相当する１枚のフレーム(ピクチャー)の動画像信号の符号化または復号を実行する動画像符号化装置または動画像復号装置にも、高い処理性能が要求される。
【００１７】
一方、ＨＥＶＣの規格も、規格Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣを踏襲して可変長符号化(エントロピー符号化)にコンテキスト適応型２値算術符号化方式(ＣＡＢＡＣ)の手法を採用するものである。しかし、このコンテキスト適応型２値算術符号化方式(ＣＡＢＡＣ)の採用によって、ＣＡＢＡＣ処理で発生する符号化量の取得に遅延が生じるので、上記特許文献３に記載のように、推定符号量によるレート制御を採用しても、実際の符号量と推定符号量との誤差が発生するものである。 
一方、本発明に先立って、本発明者等が動画像符号化装置(Video Encoder)の可変長符号化(エントロピー符号化)にコンテキスト適応型２値算術符号化方式(ＣＡＢＡＣ)の手法を採用することを検討したところ、量子化部の処理性能と可変長符号化処理部としてのＣＡＢＡＣ処理部の処理性能との間で、処理速度が異なるという問題に遭遇した。
【００１８】
すなわち、量子化部の処理性能は、量子化速度で規定され、１サイクル当たり、数画素分または数マクロブロック分の周波数変換係数を量子化できるかと言う性能である。
【００１９】
一方、コンテキスト適応型２値算術符号化方式(ＣＡＢＡＣ)による符号化処理部は、２値化部と２値算術符号化部とコンテキスト計算部を含む。２値化部は多値入力信号から２値信号を生成して、２値信号は２値算術符号化部によって符号化ビット列に符号化される。コンテキスト計算部は、符号化対象シンボルである２値信号の発生確率モデルを、近傍シンボルの状況に応じて動的に計算・更新する。２値算術符号化部は、コンテキスト計算部によって計算・更新された発生確率モデルに従って、２値信号を符号化ビット列に符号化する。その結果、ＣＡＢＡＣ処理部での符号化処理は、１サイクル当たり符号化ビット列の１ビットを出力する１ビット単位の逐次出力処理となる。可変長符号化の性質上、画素またはマクロブロック当たりの符号化ビット数は一定ではないため、ＣＡＢＡＣ処理部の画素またはマクロブロック当たりの処理時間は大きく変動することとなる。
【００２０】
その結果、一定時間に量子化部が処理した複数の画素または複数のマクロブロックを、同一の一定時間内にＣＡＢＡＣ処理部が処理できない場合がある。従って、量子化部の処理速度とＣＡＢＡＣ処理部の処理速度との間の相違を吸収するためには、量子化部とＣＡＢＡＣ処理部との間に中間バッファメモリを接続することが必要となる。その結果、ＣＡＢＡＣ処理部と非同期動作方式と中間バッファメモリを使用した動画像符号化装置においては、ＣＡＢＡＣ処理部の出力部分での実際の符号量の取得タイミングは、ＣＡＢＡＣ処理部の入力部分の量子化部での推定符号量の取得タイミングと比較して著しく遅延することになる。従って、ＣＡＢＡＣ処理部の出力部分での実際の符号量のみに応答して量子化部の量子化スケールの制御を実行すると、遅延時間の間に制御される実際のビットレートの目標ビットレートからの乖離が大きくなるという危険性がある。一方、ＣＡＢＡＣ処理部の入力部分から得られる推定符号量のみに応答して量子化部の量子化スケールの制御を実行すると、制御遅延は軽減されるが、実際の符号量による制御と比較して、推定符号量による制御は誤差が大きくなる。従って、実際の符号量による制御もしくは推定符号量による制御のいずれかを使用しても高精度のビットレート制御が実現できないという問題が、本発明に先立った本発明者等による検討により明らかになった。
【００２１】
一方、現行の規格Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣに準拠して動画像入力信号を符号化するためには、可変長符号化(エントロピー符号化)にコンテキスト適応型２値算術符号化方式(ＣＡＢＡＣ)だけではなくて、ＣＡＶＬＣ(Context-Adaptive Variable Length Coding：コンテキスト適応型可変長符号化方式)と呼ばれる手法の採用が必要となる。良く知られているように、このコンテキスト適応型可変長符号化方式(ＣＡＶＬＣ)は、量子化されたＤＣＴ係数値の符号化のみに使用され、量子化されたＤＣＴ係数値をジグザグ・スキャンによって一次元のベクトルに変換した後に、復号に必要な情報を符号化するものである。すなわち、復号に必要な情報は、非ゼロ系数値(level)、非ゼロ系数の個数(TotalCoeff)、非ゼロ系数の前のゼロの個数(run_ before)、最後の非ゼロ系数の前のゼロの個数(total_zeros)、最後に連続する絶対値１の係数の個数(Trailing Ones)およびその符号(Trailing_one_sign_flag)である。コンテキスト適応型可変長符号化方式(ＣＡＶＬＣ)は係数当たりの処理時間を一定とする構成が可能であるため、画素またはマクロブロック当たりの処理時間の上限を一定にすることが可能であり、ＣＡＶＬＣ処理部の出力部分での実際の符号量の取得タイミングは、ＣＡＶＬＣ処理部の入力部分から得られる推定符号量の取得タイミングと比較して、処理時間上限値以上に遅延することはない。しかし、動画像符号化装置(Video Encoder)の低消費電力化のために、ＣＡＶＬＣ処理部の動作クロックの周波数を、量子化部の動作クロックの周波数よりも低くするという省電力アーキテクチャーが採用された場合を想定する。この場合には、量子化部とＣＡＶＬＣ処理部との間の処理性能の相違を吸収するためには、量子化部とＣＡＶＬＣ処理部との間に中間バッファメモリを接続して、量子化部とＣＡＶＬＣ処理部とを非同期で動作させることが必要となる。その結果、ＣＡＶＬＣ処理部と非同期動作方式と中間バッファメモリを使用した動画像符号化装置においては、ＣＡＶＬＣ処理部の出力部分での実際の符号量の取得タイミングは、ＣＡＶＬＣ処理部の入力部分の量子化部での推定符号量の取得タイミングと比較して、著しく遅延することになる。従って、ＣＡＶＬＣ処理部の出力部分での実際の符号量のみに応答して量子化部の量子化スケールの制御を実行すると、遅延時間の間に制御される実際のビットレートの目標ビットレートからの乖離が大きくなるという危険性がある。一方、ＣＡＶＬＣ処理部の入力部分から得られる推定符号量のみに応答して量子化部の量子化スケールの制御を実行すると、制御遅延は軽減されるが、実際の符号量による制御と比較して、推定符号量による制御は誤差が大きくなる。従って、実際の符号量による制御または推定符号量による制御のいずれかを使用しても高精度のビットレート制御が実現できないという問題が、本発明に先立った本発明者等による検討により明らかとされた。
【００２２】
このような課題を解決するための手段等を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２３】
本願において開示される代表的な実施の形態の概要を簡単に説明すれば、下記のとおりである。
【００２４】
すなわち、代表的な実施の形態による動画像符号化装置(１)では、中間バッファ(２００)は、量子化部(１０３)の出力端子と符号化部(２０１)の入力端子との間に接続される。
【００２５】
符号量推定部(３００)の入力端子は量子化部(１０３)の出力端子に接続され、符号量推定部(３００)の出力端子から生成される推定符号量が符号量セレクタ(３０１)の第１入力端子に供給され、符号量セレクタ(３０１)の第２入力端子には符号化部(２０１)により符号化される圧縮ビデオビットストリーム(ＣＶＢＳ)の実符号量が供給される。
【００２６】
符号量セレクタ(３０１)の選択制御端子には、中間バッファ(２００)のデータ蓄積量が大きいか小さいかの判定信号が供給されて、符号量セレクタ(３０１)の出力端子はレートコントローラ(３０２)の入力端子に接続され、レートコントローラ(３０２)の出力信号は量子化部(１０３)の量子化スケールを調整する。
【００２７】
判定信号が中間バッファ(２００)のデータ蓄積量が大きいことを示す場合には、符号量セレクタ(３０１)の第１入力端子に供給される符号量推定部(３００)からの推定符号量が符号量セレクタ(３０１)の出力端子に出力され、量子化部(１０３)の量子化スケールが推定符号量によって調整される。
【００２８】
判定信号が中間バッファ(２００)のデータ蓄積量が小さいことを示す場合には、符号量セレクタ(３０１)の第２入力端子に供給される符号化部(２０１)からの実符号量が符号量セレクタ(３０１)の出力端子に出力され、量子化部(１０３)の量子化スケールが実符号量によって調整されることを特徴とする(図１参照)。
【発明の効果】
【００２９】
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
【００３０】
すなわち、本動画像符号化装置(１)によれば、高精度のビットレート制御を実現することができる。
【図面の簡単な説明】
【００３１】
【図１】図１は、実施の形態１による動画像符号化装置１の構成を示す図である。
【図２】図２は、図１に示した実施の形態１による動画像符号化装置１の符号化処理部２０に含まれた可変長符号化部２０１の構成を示す図である。
【図３】図３は、実施の形態２による動画像符号化装置１の主要部の構成を示す図である。
【図４】図４は、実施の形態３による動画像符号化装置１の主要部の構成を示す図である。
【図５】図５は、図３に示した実施の形態２による動画像符号化装置１の量子化部１０３と可変長符号化部２０１との間に接続されていたプリバッファ２０５を省略した他の実施の形態による動画像符号化装置１の構成を示す図である。
【発明を実施するための形態】
【００３２】
１．実施の形態の概要
まず、本願において開示される代表的な実施の形態についてその概要を説明する。代表的な実施の形態の概要説明で括弧を付して参照する図面の参照符号は、それが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００３３】
〔１〕代表的な実施の形態による動画像符号化装置(１)は、周波数変換部(１０２)と量子化部(１０３)と符号化部(２０１)と中間バッファ(２００)と符号量推定部(３００)と符号量セレクタ(３０１)とレートコントローラ(３０２)とを具備する。
【００３４】
前記周波数変換部(１０２)は、入力信号の周波数変換処理を実行する。
【００３５】
前記量子化部(１０３)は、前記周波数変換部(１０２)の前記周波数変換処理の結果に関して、量子化処理を実行する。
【００３６】
前記符号化部(２０１)が前記量子化部(１０３)の前記量子化処理の結果に関して符号化処理を実行することによって、前記符号化部(２０１)から圧縮ビデオビットストリーム(ＣＶＢＳ)が生成される。
【００３７】
前記中間バッファ(２００)は、前記量子化部(１０３)の出力端子と前記符号化部(２０１)の入力端子との間に接続される。
【００３８】
前記符号量推定部(３００)の入力端子は前記量子化部(１０３)の前記出力端子に接続されて、前記符号量推定部(３００)の出力端子から生成される推定符号量が前記符号量セレクタ(３０１)の第１入力端子に供給される。
【００３９】
前記符号量セレクタ(３０１)の第２入力端子には、前記符号化部(２０１)により符号化される前記圧縮ビデオビットストリーム(ＣＶＢＳ)の実符号量が供給される。
【００４０】
前記符号量セレクタ(３０１)の選択制御端子には、前記中間バッファ(２００)のデータ蓄積量が大きいか小さいかの判定信号が供給される。
【００４１】
前記符号量セレクタ(３０１)の出力端子は前記レートコントローラ(３０２)の入力端子に接続されて、前記レートコントローラ(３０２)の出力信号は前記量子化部(１０３)の量子化スケールを調整する。
【００４２】
前記判定信号が前記中間バッファ(２００)の前記データ蓄積量が大きいことを示す場合には、前記符号量セレクタ(３０１)の前記第１入力端子に供給される前記符号量推定部(３００)からの前記推定符号量が前記符号量セレクタ(３０１)の前記出力端子に出力され、前記量子化部(１０３)の前記量子化スケールが前記推定符号量によって調整される。
【００４３】
前記判定信号が前記中間バッファ(２００)の前記データ蓄積量が小さいことを示す場合には、前記符号量セレクタ(３０１)の前記第２入力端子に供給される前記符号化部(２０１)からの前記実符号量が前記符号量セレクタ(３０１)の前記出力端子に出力され、前記量子化部(１０３)の前記量子化スケールが前記実符号量によって調整されることを特徴とするものである(図１参照)。
【００４４】
前記実施の形態によれば、前記符号化部の処理遅延が大きい場合は前記推定符号量が使用され、また前記符号化部の処理遅延が小さい場合は前記実符号量が使用されることとなって、高精度のビットレート制御を実現することができる。
【００４５】
好適な実施の形態では、前記符号化部(２０１)は、算術符号化方式(ＣＡＢＡＣ)と可変長符号化方式(ＣＡＶＬＣ)との少なくともいずれか一方による符号化処理を実行することを特徴とするものである(図１参照)。
【００４６】
他の好適な実施の形態では、前記符号化部(２０１)が前記算術符号化方式(ＣＡＢＡＣ)による符号化処理を実行する際に、前記中間バッファ(２００)は、前記量子化部(１０３)の前記量子化処理の処理速度と前記符号化部(２０１)の前記算術符号化方式(ＣＡＢＡＣ)による前記符号化処理の処理速度との相違を吸収するものである。
【００４７】
前記符号化部(２０１)が前記可変長符号化方式(ＣＡＶＬＣ)による符号化処理を実行する際に、前記中間バッファ(２００)は、前記量子化部(１０３)の前記量子化処理の処理速度と前記符号化部(２０１)の前記可変長符号化方式(ＣＡＶＬＣ)による前記符号化処理の処理速度との相違を吸収することを特徴とする(図１参照)。
【００４８】
更に他の好適な実施の形態では、前記中間バッファ(２００)の前記データ蓄積量が大きいか小さいかの判定は、前記データ蓄積量が所定のしきい値よりも大きいか、もしくは前記データ蓄積量が前記所定のしきい値よりも小さいかを判定することによって実行されることを特徴とする(図１参照)。
【００４９】
より好適な実施の形態では、前記符号化部(２０１)は、指数ゴロム符号化部(２０１１)と可変長符号化処理部(２０１２)と算術符号化処理部(２０１３)とを含む。
【００５０】
前記指数ゴロム符号化部(２０１１)は、符号化すべきシンタックス要素を、プリフィックスとセパレータとサフィックスとを含む指数ゴロム符号に符号化するものである。
【００５１】
前記可変長符号化処理部(２０１２)は、前記量子化部(１０３)で量子化処理された前記周波数変換部(１０２)の前記周波数変換処理の前記結果をジグザグ・スキャンにより一次元のベクトルに変換した後に、前記可変長符号化方式(ＣＡＶＬＣ)による前記符号化処理を実行するものである。
【００５２】
前記算術符号化処理部(２０１３)は、２値化部(２０１３１)と２値算術符号化部(２０１３２)とコンテキスト計算部(２０１３３)とによって構成される。
【００５３】
前記２値化部(２０１３１)は多値入力信号から２値信号を生成して、前記２値信号は前記２値算術符号化部(２０１３２)により符号化ビット列に符号化される。
【００５４】
前記コンテキスト計算部(２０１３３)は、符号化対象シンボルである前記２値信号の発生確率モデルを近傍シンボルの状況に応じて動的に計算・更新して、前記２値算術符号化部(２０１３２)は、前記コンテキスト計算部(２０１３３)により計算・更新された前記発生確率モデルに従って前記２値信号を前記符号化ビット列に符号化することを特徴とするものである(図２参照)。
【００５５】
他のより好適な実施の形態では、前記中間バッファ(２０１３４)は、前記算術符号化処理部(２０１３)の内部で前記２値化部(２０１３１)と前記２値算術符号化部(２０１３２)との間に接続されたことを特徴とするものである(図３参照)。
【００５６】
更に他のより好適な実施の形態では、前記符号量セレクタ(３０１)の前記第２入力端子には、前記算術符号化処理部(２０１３)の前記２値算術符号化部(２０１３２)の実符号量が供給されることを特徴とするものである(図３参照)。
【００５７】
別のより好適な実施の形態による動画像符号化装置(１)は、第１カウンタ(１１４)と第２カウンタ(３０４)とセレクタコントローラ(３０３)とを更に具備する。
【００５８】
前記第１カウンタ(１１４)は、前記量子化部(１０３)によって量子化処理される符号化処理単位の画像ブロックの番号をカウントすることによって、第１カウント値を保持する。
【００５９】
前記第２カウンタ(３０４)は、前記符号化部(２０１)によって符号化処理される符号化処理単位の画像ブロックの番号をカウントすることによって、第２カウント値を保持する。
【００６０】
前記セレクタコントローラ(３０３)は、前記第１カウンタ(１１４)の前記第１カウント値と前記第２カウンタ(３０４)の前記第２カウント値との差を判定する。
【００６１】
前記第１カウンタ(１１４)の前記第１カウント値と前記第２カウンタ(３０４)の前記第２カウント値との前記差が大きい場合には、前記セレクタコントローラ(３０３)は、前記符号化部(２０１)の処理遅延または前記中間バッファ(２００)の前記データ蓄積量が大きいと判定する。
【００６２】
前記第１カウンタ(１１４)の前記第１カウント値と前記第２カウンタ(３０４)の前記第２カウント値との前記差が小さい場合には、前記セレクタコントローラ(３０３)は、前記符号化部(２０１)の処理遅延または前記中間バッファ(２００)の前記データ蓄積量が小さいと判定することを特徴とするものである(図４参照)。
【００６３】
更に別のより好適な実施の形態では、前記量子化部(１０３)で量子化処理される前記符号化処理単位の前記画像ブロックと前記符号化部(２０１)で符号化処理される前記符号化処理単位の前記画像ブロックとは、輝度成分で１６画素×１６画素のサイズを有するマクロブロックであることを特徴とするものである。
【００６４】
具体的な実施の形態では、前記量子化部(１０３)で量子化処理される前記符号化処理単位の前記画像ブロックと前記符号化部(２０１)で符号化処理される前記符号化処理単位の前記画像ブロックは、フレキシブルなブロック構造であるコーディングユニット(ＣＵ)である。
【００６５】
前記コーディングユニット(ＣＵ)は、６４画素×６４画素のサイズの最大コーディングユニット(ＬＣＵ)から適応的に分割可能なブロックであることを特徴とするものである。
【００６６】
他の具体的な実施の形態による動画像符号化装置(１)は、動きベクトル検出部(１０９)と動き補償部(１１０)と減算器(１０１)と逆量子化部(１０４)と逆周波数変換部(１０５)とメモリ(１０８、１１１)とイントラ予測部(１１２)と予測セレクタ部(１１３)とを更に具備する。
【００６７】
前記動きベクトル検出部(１０９)は、符号化すべき動画像信号(ＶＳ)と前記メモリ(１０８)に格納された参照画像とから動きベクトル(ＭＶ)を生成する。
【００６８】
前記動き補償部(１１０)は、前記動きベクトル検出部(１０９)から生成される前記動きベクトル(ＭＶ)と前記メモリ(１０８)に格納された前記参照画像とに応答して動き補償予測信号を生成する。
【００６９】
前記減算器(１０１)の一方の入力端子には前記動画像信号(ＶＳ)が供給され、前記減算器(１０１)の他方の入力端子には前記動き補償部(１１０)から生成される前記動き補償予測信号が供給され、前記減算器(１０１)の出力端子から予測残差が生成される。
【００７０】
前記減算器(１０１)の前記出力端子から生成される前記予測残差が、前記周波数変換処理の前記入力信号として前記周波数変換部(１０２)の入力端子に供給される。
【００７１】
前記量子化部(１０３)の前記量子化処理の結果は、前記逆量子化部(１０４)と前記逆周波数変換部(１０５)とによって局部復号処理が実行され、前記局部復号処理の結果は前記参照画像として前記メモリ(１０８)に格納される。
【００７２】
前記逆量子化部(１０４)と前記逆周波数変換部(１０５)とにより実行される前記局部復号処理の前記結果は、イントラ参照画像として前記メモリ(１１１)に格納される。
【００７３】
前記動画像信号(ＶＳ)が前記イントラ予測部(１１２)の一方の入力端子に供給され、前記メモリ(１１１)に格納された前記イントラ参照画像が前記イントラ予測部(１１２)の他方の入力端子に供給されることにより、前記イントラ予測部(１１２)は前記一方の入力端子に供給される前記動画像信号(ＶＳ)に関するイントラ予測信号を生成する。
【００７４】
前記予測セレクタ部(１１３)は前記動き補償部(１１０)から生成される前記動き補償予測信号と前記イントラ予測部(１１２)から生成される前記イントラ予測信号とのいずれかの予測信号を選択して、前記減算器(１０１)の前記他方の入力端子に選択した前記予測信号を供給することを特徴とする(図１、図４参照)。
【００７５】
より具体的な実施の形態では、前記周波数変換部(１０２)と前記量子化部(１０３)と前記符号化部(２０１)と前記中間バッファ(２００)と前記符号量推定部(３００)と前記符号量セレクタ(３０１)と前記レートコントローラ(３０２)とは、半導体集積回路の１個の半導体チップに集積化されたものである。
【００７６】
他のより具体的な実施の形態では、前記動きベクトル検出部と前記動き補償部と前記減算器と前記逆量子化部と前記逆周波数変換部と前記符号化部と前記イントラ予測部と前記予測セレクタ部とは、前記半導体集積回路の前記１個の半導体チップに更に集積化されたことを特徴とする。
【００７７】
最も具体的な実施の形態による動画像符号化装置(１)は、規格Ｈ．２６４と規格Ｈ．２６５とから任意に選択された方式に準拠して前記動画像信号(ＶＳ)を符号化処理することによって、前記圧縮ビデオビットストリーム(ＣＶＢＳ)を生成することを特徴とするものである。
【００７８】
〔２〕別の観点の代表的な実施の形態は、周波数変換部(１０２)と量子化部(１０３)と符号化部(２０１)と中間バッファ(２００)と符号量推定部(３００)と符号量セレクタ(３０１)とレートコントローラ(３０２)とを具備する動画像符号化装置(１)の動作方法である。
【００７９】
前記周波数変換部(１０２)は、入力信号の周波数変換処理を実行する。
【００８０】
前記量子化部(１０３)は、前記周波数変換部(１０２)の前記周波数変換処理の結果に関して、量子化処理を実行する。
【００８１】
前記符号化部(２０１)が前記量子化部(１０３)の前記量子化処理の結果に関して符号化処理を実行することによって、前記符号化部(２０１)から圧縮ビデオビットストリーム(ＣＶＢＳ)が生成される。
【００８２】
前記中間バッファ(２００)は、前記量子化部(１０３)の出力端子と前記符号化部(２０１)の入力端子との間に接続される。
【００８３】
前記符号量推定部(３００)の入力端子は前記量子化部(１０３)の前記出力端子に接続されて、前記符号量推定部(３００)の出力端子から生成される推定符号量が前記符号量セレクタ(３０１)の第１入力端子に供給される。
【００８４】
前記符号量セレクタ(３０１)の第２入力端子には、前記符号化部(２０１)により符号化される前記圧縮ビデオビットストリーム(ＣＶＢＳ)の実符号量が供給される。
【００８５】
前記符号量セレクタ(３０１)の選択制御端子には、前記中間バッファ(２００)のデータ蓄積量が大きいか小さいかの判定信号が供給される。
【００８６】
前記符号量セレクタ(３０１)の出力端子は前記レートコントローラ(３０２)の入力端子に接続されて、前記レートコントローラ(３０２)の出力信号は前記量子化部(１０３)の量子化スケールを調整する。
【００８７】
前記判定信号が前記中間バッファ(２００)の前記データ蓄積量が大きいことを示す場合には、前記符号量セレクタ(３０１)の前記第１入力端子に供給される前記符号量推定部(３００)からの前記推定符号量が前記符号量セレクタ(３０１)の前記出力端子に出力され、前記量子化部(１０３)の前記量子化スケールが前記推定符号量によって調整される。
【００８８】
前記判定信号が前記中間バッファ(２００)の前記データ蓄積量が小さいことを示す場合には、前記符号量セレクタ(３０１)の前記第２入力端子に供給される前記符号化部(２０１)からの前記実符号量が前記符号量セレクタ(３０１)の前記出力端子に出力され、前記量子化部(１０３)の前記量子化スケールが前記実符号量によって調整されることを特徴とするものである(図１参照)。
【００８９】
前記実施の形態によれば、前記符号化部の処理遅延が大きい場合は前記推定符号量が使用され、また前記符号化部の処理遅延が小さい場合は前記実符号量が使用されることとなって、高精度のビットレート制御を実現することができる。
【００９０】
２．実施の形態の詳細
次に、実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
【００９１】
［実施の形態１］
《実施の形態１の動画像符号化装置の構成》
図１は、実施の形態１による動画像符号化装置１の構成を示す図である。この実施の形態１による動画像符号化装置１は、現行規格Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣと新規格Ｈ．２６５とから任意に選択された方式に準拠して動画像入力信号ＶＳを符号化するように構成されたものである。
【００９２】
図１に示した実施の形態１による動画像符号化装置１は、予測符号化部１０と符号化処理部２０とレート制御部３０とビデオバッファ４０とを具備する。
【００９３】
予測符号化部１０は、ビデオ入力バッファ１００と減算器１０１と周波数変換部１０２と量子化部１０３と逆量子化部１０４と逆周波数変換部１０５と加算器１０６とフィルタユニット１０７とフレームメモリ１０８と動きベクトル検出部１０９と動き補償部１１０とバッファメモリ１１１とイントラ予測部１１２とセレクタ部１１３とによって構成される。
【００９４】
符号化処理部２０は、中間バッファメモリ２００と可変長符号化部２０１とによって構成される。
【００９５】
レート制御部３０は、符号量推定部３００とセレクタ３０１とレートコントローラ３０２とによって構成される。
【００９６】
《動画像符号化装置の概略》
図１に示した実施の形態１による動画像符号化装置１の概略は、中間バッファメモリ２００のデータ蓄積量が大きいか小さいかが判定されて、第１入力端子に符号量推定部３００の推定符号量が供給されて、第２入力端子に可変長符号化部２０１の実符号量が供給されるセレクタ３０１の選択動作がこの判定結果に応答して設定される。従って、レートコントローラ３０２は、セレクタ３０１の選択出力信号に応答して、量子化部１０３の量子化スケールを算出するものである。
【００９７】
すなわち、中間バッファメモリ２００のデータ蓄積量が大きいとの判定結果に応答して、セレクタ３０１の第１入力端子に供給される符号量推定部３００の推定符号量が選択され、中間バッファメモリ２００のデータ蓄積量が小さいとの判定結果に応答して、セレクタ３０１の第２入力端子に供給される可変長符号化部２０１の実符号量が選択されるものである。
【００９８】
従って、中間バッファメモリ２００のデータ蓄積量が大きい場合には、可変長符号化部２０１の実符号量と比較して高速フィードバック制御である符号量推定部３００の推定符号量に従って、レートコントローラ３０２から算出される量子化スケールが量子化部１０３に供給されるものである。その結果、符号量推定部３００の推定符号量による量子化部１０３での量子化スケールの高速フィードバック制御によって、高精度のビットレート制御を実現することが可能となる。
【００９９】
一方、中間バッファメモリ２００のデータ蓄積量が小さい場合には、符号量推定部３００の推定符号量と比較して遅延はあるが誤差の少ない可変長符号化部２０１の実符号量に従って、レートコントローラ３０２から算出される量子化スケールが量子化部１０３に供給されるものである。従って、可変長符号化部２０１の実符号量による量子化部１０３の量子化スケールの高精度のフィードバック制御によって、高精度のビットレート制御を実現することが可能となる。
【０１００】
《動画像符号化装置の詳細》
以下に、図１に示した実施の形態１による動画像符号化装置１の詳細を、説明する。
【０１０１】
《予測符号化部と符号化処理部の動作》
ＨＥＶＣと呼ばれる次世代規格では、フレキシブルなブロック構造であるコーディングユニット(ＣＵ)は、６４画素×６４画素のサイズの最大コーディングユニット(ＬＣＵ)から出発して良好な性能を達成するために、クアッド・トリー(quadtree)を使用した小さなブロックに適応的に分割されたものである。
【０１０２】
動画像信号ＶＳがＨＥＶＣ規格に準拠して符号化される場合には、動画像信号ＶＳはＨＥＶＣ規格のフレキシブルなブロック構造である符号化処理単位のコーディングユニット(ＣＵ)に分割された後に、コーディングユニット(ＣＵ)は予測符号化部１０のビデオ入力バッファ１００に格納されるものである。ビデオ入力バッファ１００から読み出されたコーディングユニット(ＣＵ)は、減算器１０１の一方の入力端子と動きベクトル検出部１０９の一方の入力端子とイントラ予測部１１２の一方の入力端子とに供給される。
【０１０３】
図１に示されていないが、動画像の各ピクチャーのインター予測もしくはイントラ予測を示す予測モードが、図示されない符号化制御ユニットからセレクタ部１１３と符号化処理部２０の可変長符号化部２０１に供給される。
【０１０４】
最初に動画像信号ＶＳがインター符号化される場合を、想定する。この場合には、インター符号化される動画像信号ＶＳのコーディングユニット(ＣＵ)は、Ｂフレームの符号化や動きベクトルの検出ためにビデオ入力バッファ１００に格納された後に、ビデオ入力バッファ１００から読み出されたコーディングユニット(ＣＵ)は、減算器１０１の一方の入力端子に供給される。動きベクトル検出部１０９は、ビデオ入力バッファ１００から読み出された動画像信号とフレームメモリ１０８に格納された参照画像に応答して動きベクトルＭＶを生成して、動き補償部１１０は、動きベクトル検出部１０９から生成された動きベクトルＭＶとフレームメモリ１０８に格納された参照画像に応答して動き補償予測信号を生成する。動き補償部１１０からの動き補償予測信号がセレクタ部１１３を介して減算部１０１で動画像信号から減算され、減算部１０１の減算出力信号である予測残差に関して周波数変換部１０２と量子化部１０３とで、それぞれ周波数変換処理と量子化処理とが実行される。周波数変換部１０２における周波数変換処理は、小数を含まない整数のみの変換係数を出力する整数ベースの離散コサイン変換(ＤＣＴ：Discrete Cosine Transform)または離散サイン変換(ＤＳＴ：Discrete Sine Transform)である。量子化部１０３で量子化された周波数変換係数と動きベクトル検出部１０９から生成された動きベクトルＭＶとは、符号化処理部２０の可変長符号化部２０１で可変長符号化処理され、ビデオバッファ４０を介して圧縮ビデオビットストリームＣＶＢＳが生成される。量子化部１０３で量子化された周波数変換係数は逆量子化部１０４と逆周波数変換部１０５と加算器１０６とフィルタユニット１０７によって局部復号処理が実行された後に、この局部復号処理結果は、参照画像としてフレームメモリ１０８に格納される。
【０１０５】
フィルタユニット１０７は、ＭＰＥＧ−４  ＡＶＣ(Ｈ．２６４)の規格に従って、ブロック歪みを低減するためのデブロッキングフィルタの機能を有するものである。また更にフィルタユニット１０７は、新規格Ｈ．２６５(ＨＥＶＣ)に準拠するために、デブロッキングフィルタ機能の実行の後に、サンプルアダプティブオフセット(ＳＡＯ)と呼ばれるフィルタ機能を実行する。このサンプルアダプティブオフセット(ＳＡＯ)のフィルタ機能は、動画像符号化装置１の図示しない符号化制御ユニットの度数分布解析により決定される追加パラメータが記述されたルックアップテーブルを使用することにより、原信号振幅を良好に再構築するものである。
【０１０６】
次に動画像信号ＶＳがイントラ符号化される場合を、想定する。この場合には、イントラ符号化される動画像信号ＶＳはビデオ入力バッファ１００に格納された後に、ビデオ入力バッファ１００から読み出された動画像信号ＶＳはイントラ予測部１１２の一方の入力端子に供給される。一方、バッファメモリ１１１には、イントラ予測によって符号化され、局部復号処理によって生成された参照画像が格納されており、イントラ予測部１１２の他方の入力端子には、バッファメモリ１１１から読み出された参照画像が供給されている。従って、イントラ予測部１１２は、一方の入力端子に供給される動画像信号のコーディングユニット(ＣＵ)をイントラ符号化する際に、バッファメモリ１１１から他方の入力端子に供給される符号化済みの参照画像に含まれる複数の近隣コーディングユニット(ＣＵ)から最適なコーディングユニットを選択して、更に選択された最適なコーディングユニット(ＣＵ)の空間情報を生成する。その結果、イントラ予測部１１２は、イントラ予測された最適なコーディングユニット(ＣＵ)と対応する空間的予測モードとを含んだイントラ予測情報をセレクタ部１１３に供給するものである。
【０１０７】
《符号化処理部の中間バッファメモリおよびレート制御部》
符号化処理部２０の中間バッファメモリ２００は、可変長符号化部２０１がコンテキスト適応型２値算術符号化方式(ＣＡＢＡＣ)による符号化処理を実行する際に、予測符号化部１０の量子化部１０３の処理性能と可変長符号化部２０１のＣＡＢＡＣ処理の処理性能との相違を吸収するために、量子化部１０３と可変長符号化部２０１との間に接続されたものである。更に、符号化処理部２０の中間バッファメモリ２００は、可変長符号化部２０１がコンテキスト適応型可変長符号化方式(ＣＡＶＬＣ)による符号化処理を実行する際に、量子化部１０３の動作クロックの周波数より可変長符号化部２０１のＣＡＶＬＣ処理部の動作クロックの周波数を低くする省電力アーキテクチャーを採用するために使用されたものである。すなわち、この省電力アーキテクチャーを採用するためには、予測符号化部１０の量子化部１０３の処理性能と可変長符号化部２０１のＣＡＶＬＣ処理の処理性能との相違を吸収するために、量子化部１０３と可変長符号化部２０１との間に中間バッファメモリ２００が接続されたものである。
【０１０８】
上述したようにレート制御部３０は、符号量推定部３００とセレクタ３０１とレートコントローラ３０２とによって構成される。
【０１０９】
符号量推定部３００の入力端子は、予測符号化部１０の量子化部１０３の出力端子に接続される。従って、符号量推定部３００は、量子化部１０３の量子化スケールの制御遅延を軽減するために、可変長符号化部２０１のＣＡＢＡＣ処理またはＣＡＶＬＣ処理の前の量子化部１０３で量子化された周波数変換係数に基づいて、可変長符号化部２０１の出力端子から生成される圧縮ビデオビットストリームＣＶＢＳの符号量を推定するものである。符号量推定部３００の出力端子から生成される推定符号量は、セレクタ３０１の第１入力端子に供給される。この推定符号量は誤差を含むものではあるが、可変長符号化部２０１のＣＡＢＡＣ処理もしくはＣＡＶＬＣ処理の遅延を含まないものである。尚、符号量推定部３００は、例えば、ＭＰＥＧ−４  ＡＶＣ(Ｈ．２６４)の規格によって定義された指数ゴロム(Exponential Golomb)符号で符号化される符号化データの符号長を推定符号量とするものである。尚、良く知られているように、指数ゴロム符号は、プリフィックス(ゼロ“０”の連続)とセパレータ(“１”)とサフィックス(“０”と“１”の組み合わせ)とによって構成されて、ＤＣＴ係数と動きベクトル等のシンタックス要素のエントロピー符号化(可変長符号化)に使用されるものである。
【０１１０】
一方、セレクタ３０１の第２入力端子に、可変長符号化部２０１のＣＡＢＡＣ処理またはＣＡＶＬＣ処理によって符号化される圧縮ビデオビットストリームＣＶＢＳの実際の符号量(実符号量)が供給される。この実符号量は、可変長符号化部２０１のＣＡＢＡＣ処理もしくはＣＡＶＬＣ処理の遅延を含むものではあるが、推定符号量と異なり符号量の値に誤差を含まない高精度のビットレート制御を可能とするものである。
【０１１１】
更に、セレクタ３０１の選択制御端子には、中間バッファメモリ２００から選択制御信号が供給される。中間バッファメモリ２００に蓄積された蓄積データ(量子化周波数変換係数等)が少ない場合には、中間バッファメモリ２００から生成される選択制御信号は、例えば、ローレベル“０”となる。従って、ローレベル“０”の選択制御信号に応答して、セレクタ３０１はセレクタ３０１の第２入力端子に供給される可変長符号化部２０１の実符号量を選択して、その出力端子に出力する。その結果、レートコントローラ３０２はセレクタ３０１の出力端子に出力された可変長符号化部２０１の実符号量から、量子化部１０３の量子化スケールを算出する。レートコントローラ３０２によって算出された量子化スケールは量子化部１０３に供給されるので、量子化部１０３の量子化スケールが可変長符号化部２０１の実符号量に応答して設定される。すなわち、中間バッファメモリ２００の蓄積データが少なく選択制御信号がローレベル“０”である場合には、符号量推定部３００の推定符号量と比較して遅延はあるが誤差の少ない可変長符号化部２０１の実符号量に従って、レートコントローラ３０２から算出される量子化スケールが量子化部１０３に供給されるものである。従って、可変長符号化部２０１の実符号量による量子化部１０３での量子化スケールの高精度のフィードバック制御によって、高精度のビットレート制御を実現することが可能となる。
【０１１２】
それに対して、中間バッファメモリ２００に蓄積された蓄積データが多い場合には、中間バッファメモリ２００から生成される選択制御信号は例えば、ハイレベル“１”となる。従って、ハイレベル“１”の選択制御信号に応答して、セレクタ３０１はセレクタ３０１の第１入力端子に供給される符号量推定部３００の推定符号量を選択して、その出力端子に出力する。その結果、レートコントローラ３０２はセレクタ３０１の出力端子に出力された符号量推定部３００の推定符号量から、量子化部１０３の量子化スケールを算出する。レートコントローラ３０２によって算出された量子化スケールは量子化部１０３に供給されるので、量子化部１０３の量子化スケールが符号量推定部３００の推定符号量に応答して設定される。すなわち、中間バッファメモリ２００のデータ蓄積量が大きい場合には、可変長符号化部２０１の実符号量と比較して高速フィードバック制御である符号量推定部３００の推定符号量に従って、レートコントローラ３０２から算出される量子化スケールが量子化部１０３に供給されるものである。その結果、符号量推定部３００の推定符号量による量子化部１０３での量子化スケールの高速フィードバック制御によって、高精度のビットレート制御を実現することが可能となる。
【０１１３】
《中間バッファメモリの蓄積データ量の判定》
尚、中間バッファメモリ２００の蓄積データが少ないか多いかは、所定の蓄積データのしきい値を境界にして判定することが可能である。中間バッファメモリ２００に蓄積された蓄積データが所定のしきい値よりも少ない場合には、中間バッファメモリ２００から生成される選択制御信号はローレベル“０”となって、セレクタ３０１はセレクタ３０１の第２入力端子に供給される可変長符号化部２０１の実符号量を選択して出力端子に出力する。一方、中間バッファメモリ２００に蓄積された蓄積データが所定のしきい値よりも多い場合には、中間バッファメモリ２００から生成される選択制御信号はハイレベル“１”となり、セレクタ３０１はセレクタ３０１の第１入力端子に供給される符号量推定部３００の推定符号量を選択して出力端子に出力する。
【０１１４】
《動画像符号化装置の半導体集積回路》
更に図１に示した実施の形態１により予測符号化部１０と符号化処理部２０とレート制御部３０とビデオバッファ４０とを具備する動画像符号化装置１の大部分は、半導体集積回路の１個の半導体チップに集積化されている。例えば、この半導体集積回路は、最先端半導体製造プロセスにより製造されるシステムＬＳＩもしくはシステムオンチップ(ＳＯＣ)と呼ばれる大規模半導体集積回路である。
【０１１５】
予測符号化部１０では、フレームメモリ１０８とバッファメモリ１１１とを除き、ビデオ入力バッファ１００と減算器１０１と周波数変換部１０２と量子化部１０３と逆量子化部１０４と逆周波数変換部１０５と加算器１０６とフィルタユニット１０７と動きベクトル検出部１０９と動き補償部１１０とイントラ予測部１１２とセレクタ部１１３は１個の半導体チップに集積化される。尚、フレームメモリ１０８とバッファメモリ１１１は、この１個の半導体チップと別の同期型ダイナミックランダムアクセスメモリ(ＳＤＲＡＭ)の半導体チップに集積化される。
【０１１６】
符号化処理部２０の中間バッファメモリ２００と可変長符号化部２０１は、上述した１個の半導体チップに集積化される。従って、中間バッファメモリ２００は、この１個の半導体チップの内蔵スタティックランダムアクセスメモリ(ＳＲＡＭ)によって構成される。その他の実施の形態では、中間バッファメモリ２００は、上述した同期型ダイナミックランダムアクセスメモリ(ＳＤＲＡＭ)により構成されることも可能である。
【０１１７】
レート制御部３０の符号量推定部３００とセレクタ３０１とレートコントローラ３０２は、上述した１個の半導体チップに集積化される。
【０１１８】
圧縮ビデオビットストリームＣＶＢＳを生成するためのビデオバッファ４０は、上述した同期型ダイナミックランダムアクセスメモリ(ＳＤＲＡＭ)によって構成されることができる。その他の実施の形態では、このビデオバッファ４０は、上記非特許文献２に記載された仮想バッファとすることが可能である。その結果、仮想バッファとして構成されたビデオバッファ４０の充足度(データ蓄積量)の制御、すなわちレート制御部３０による量子化部１０３の量子化スケールのフィードバック制御を、上述したＴｅｓｔ  Ｍｏｄｅｌ  ５と呼ばれるビットレート制御によって実行することが可能である。
【０１１９】
《可変長符号化部の構成》
図２は、図１に示した実施の形態１による動画像符号化装置１の符号化処理部２０に含まれた可変長符号化部２０１の構成を示す図である。
【０１２０】
図２に示すように、可変長符号化部２０１は、指数ゴロム符号化部２０１１とＣＡＶＬＣ処理部２０１２とＣＡＢＡＣ処理部２０１３とを含んでいる。
【０１２１】
指数ゴロム符号化部２０１１は、上述したようにＤＣＴ係数と動きベクトル等のシンタックス要素のエントロピー符号化(可変長符号化)に使用されるものである。すなわち、指数ゴロム符号化部２０１１は、種々のシンタックス要素を、プリフィックスとセパレータとサフィックスとを含む指数ゴロム符号に符号化するものである。従って、シンタックス要素の指数ゴロム符号への符号化が必要な際には、図示されない符号化制御ユニットから供給される活性化制御信号に応答して、指数ゴロム符号化部２０１１が活性化される。それ以外では、指数ゴロム符号化部２０１１は非活性化され、低消費電力が実現される。
【０１２２】
ＣＡＶＬＣ処理部２０１２は、上述したように量子化されたＤＣＴ係数値の符号化のみに使用され量子化されたＤＣＴ係数値を、ジグザグ・スキャンにより一次元のベクトルに変換した後に、復号に必要な情報を符号化するコンテキスト適応型可変長符号化方式(ＣＡＶＬＣ)の符号化処理を実行するものである。すなわち、ＣＡＶＬＣ処理部２０１２でのＣＡＶＬＣ符号化処理によって、非ゼロ系数値、非ゼロ系数の個数、非ゼロ系数の前のゼロの個数、最後の非ゼロ系数の前のゼロの個数、最後に連続する絶対値１の係数の個数およびその符号等の復号に必要な情報が符号化されるものである。従って、ＣＡＶＬＣ処理部２０１２でのＣＡＶＬＣ符号化処理が必要な際に、図示されない符号化制御ユニットから供給される活性化制御信号に応答して、ＣＡＶＬＣ処理部２０１２が活性化される。それ以外では、ＣＡＶＬＣ処理部２０１２は非活性化されて、低消費電力が実現される。
【０１２３】
ＣＡＢＡＣ処理部２０１３は、上述したように２値化部２０１３１と２値算術符号化部２０１３２とコンテキスト計算部２０１３３とによって構成されている。２値化部２０１３１は多値入力信号から２値信号を生成して、２値信号は２値算術符号化部２０１３２により符号化ビット列に符号化される。コンテキスト計算部２０１３３は、符号化対象シンボルである２値信号の発生確率モデルを近傍シンボルの状況に応じて動的に計算・更新する。２値算術符号化部２０１３２は、コンテキスト計算部２０１３３により計算・更新された発生確率モデルに従って２値信号を符号化ビット列に符号化する。その結果、ＣＡＢＡＣ処理部２０１３での符号化処理は、１サイクル当たり符号化ビット列の１ビットを出力するという１ビット単位の逐次出力処理となる。ＣＡＢＡＣ処理部２０１３でのＣＡＢＡＣ符号化処理が必要な際には、図示されない符号化制御ユニットから供給される活性化制御信号に応答して、ＣＡＢＡＣ処理部２０１３が活性化される。それ以外では、ＣＡＢＡＣ処理部２０１３は非活性化されて、低消費電力が実現される。
【０１２４】
尚、図２に示したように指数ゴロム符号化部２０１１の入力端子とＣＡＶＬＣ処理部２０１２の入力端子とＣＡＢＡＣ処理部２０１３の入力端子とは可変長符号化部２０１の入力端子ＩＮに接続され、指数ゴロム符号化部２０１１の出力端子とＣＡＶＬＣ処理部２０１２の出力端子とＣＡＢＡＣ処理部２０１３の出力端子とは可変長符号化部２０１の出力端子ＯＵＴに接続されている。
【０１２５】
《実施の形態１の効果》
図１と図２とに示した実施の形態１による動画像符号化装置１によれば、符号化処理部２０の処理遅延が大きく中間バッファメモリ２００のデータ蓄積量が大きい場合には高速のフィードバック制御が可能な推定符号量を使用して、また符号化処理部２０の処理遅延が小さく中間バッファメモリ２００のデータ蓄積量が小さい場合には誤差の少ない実符号量を使用することとなる。従って、この動画像符号化装置１によれば、高精度のビットレート制御を実現することが可能となる。
【０１２６】
［実施の形態２］
《実施の形態２の動画像符号化装置の主要部の構成》
図３は、実施の形態２による動画像符号化装置１の主要部の構成を示す図である。
【０１２７】
図３に示した実施の形態２による動画像符号化装置１が、図１と図２とに示した実施の形態１による動画像符号化装置１と相違するのは下記の点である。
【０１２８】
すなわち、図３に示した実施の形態２による動画像符号化装置１では、図１と図２に示した実施の形態１による動画像符号化装置１において量子化部１０３と符号化処理部２０の間に接続されていた中間バッファメモリ２００はプリバッファメモリ２０５に置換されている 。このプリバッファメモリ２０５は、上述した半導体集積回路の半導体チップの内蔵スタティックランダムアクセスメモリ(ＳＲＡＭ)によって構成されることが可能である。その他の実施の形態においては、プリバッファメモリ２０５は、上述した同期型ダイナミックランダムアクセスメモリ(ＳＤＲＡＭ)により構成されることも可能である。
【０１２９】
可変長符号化部２０１において、指数ゴロム符号化部２０１１とＣＡＶＬＣ処理部２０１２とのいずれか一方が活性化される場合には、プリバッファメモリ２０５のデータ蓄積量が大きいか小さいかが判定される。レート制御部３０のセレクタ３０１では、第１入力端子には符号量推定部３００の推定符号量が供給され、第２入力端子には指数ゴロム符号化部２０１１およびＣＡＶＬＣ処理部２０１の出力部での実符号量が供給されて、セレクタ３０１の選択動作がプリバッファメモリ２０５のデータ蓄積量の判定結果に応答して設定される。このように、レートコントローラ３０２は、セレクタ３０１の選択出力信号に応答して、量子化部１０３の量子化スケールを算出するものである。
【０１３０】
すなわち、プリバッファメモリ２０５のデータ蓄積量が大きいとの判定結果に応答して、セレクタ３０１の第１入力端子に供給される符号量推定部３００の推定符号量が選択される。一方、プリバッファメモリ２０５のデータ蓄積量が小さいとの判定結果に応答して、セレクタ３０１の第２入力端子に供給される指数ゴロム符号化部２０１１およびＣＡＶＬＣ処理部２０１の出力部の実符号量が選択されるものである。
【０１３１】
従って、プリバッファメモリ２０５のデータ蓄積量が大きい場合には、プリバッファメモリ２０５のオーバーフローの危険性がある。しかし、指数ゴロム符号化部２０１１およびＣＡＶＬＣ処理部２０１の出力部の実符号量と比較して高速フィードバック制御である符号量推定部３００の推定符号量に従ってレートコントローラ３０２から算出される量子化スケールが量子化部１０３に供給されるものである。その結果、符号量推定部３００の推定符号量による量子化部１０３での量子化スケールの高速フィードバック制御によって、プリバッファメモリ２０５のオーバーフローの危険性を軽減することが可能となる。
【０１３２】
一方、プリバッファメモリ２０５のデータ蓄積量が小さい場合にはプリバッファメモリ２０５のオーバーフローの危険性が無い。しかし、符号量推定部３００の推定符号量と比較して高精度のフィードバック制御である指数ゴロム符号化部２０１１およびＣＡＶＬＣ処理部２０１の出力部の実符号量に従ってレートコントローラ３０２から算出される量子化スケールが量子化部１０３に供給されるものである。従って、指数ゴロム符号化部２０１１およびＣＡＶＬＣ処理部２０１の出力部の実符号量による量子化部１０３の量子化スケールの高精度のフィードバック制御により、高精度のビットレート制御を実現することが可能となる。
【０１３３】
可変長符号化部２０１において、ＣＡＢＡＣ処理部２０１３が活性化される場合には、ＣＡＢＡＣ処理部２０１３の２値化部２０１３１と２値算術符号化部２０１３２との間に接続された中間バッファメモリ２０１３４のデータ蓄積量が大きいか小さいかが判定される。
【０１３４】
レート制御部３０のセレクタ３０１では、第１入力端子には符号量推定部３００の推定符号量が供給され、第２入力端子にはＣＡＢＡＣ処理部２０１３の２値算術符号化部２０１３２における実符号量が供給され、セレクタ３０１の選択制御動作が中間バッファメモリ２０１３４のデータ蓄積量の判定結果に応答して設定される。このように、レートコントローラ３０２は、セレクタ３０１の選択出力信号に応答して、量子化部１０３の量子化スケールを算出するものである。
【０１３５】
すなわち、中間バッファメモリ２０１３４のデータ蓄積量が大きいとの判定結果に応答してセレクタ３０１の第１入力端子に供給される符号量推定部３００の推定符号量が選択され、中間バッファメモリ２０１３４のデータ蓄積量が小さいとの判定結果に応答してセレクタ３０１の第２入力端子に供給されるＣＡＢＡＣ処理部２０１３の２値算術符号化部２０１３２の実符号量が選択される。
【０１３６】
従って、中間バッファメモリ２０１３４のデータ蓄積量が大きい場合には、ＣＡＢＡＣ処理部２０１３の２値算術符号化部２０１３２の実符号量と比較して高速フィードバック制御である符号量推定部３００の推定符号量に従って、レートコントローラ３０２から算出される量子化スケールが量子化部１０３に供給されるものである。その結果、符号量推定部３００の推定符号量による量子化部１０３の量子化スケールの高速フィードバック制御によって、高精度のビットレート制御を実現することが可能となる。
【０１３７】
一方、中間バッファメモリ２０１３４のデータ蓄積量が小さい場合には、符号量推定部３００の推定符号量と比較して遅延はあるが誤差の少ないＣＡＢＡＣ処理部２０１３の２値算術符号化部２０１３２での実符号量に従ってレートコントローラ３０２から算出される量子化スケールが量子化部１０３に供給されるものである。従って、可変長符号化部２０１の実符号量による量子化部１０３の量子化スケールの高精度のフィードバック制御によって、高精度のビットレート制御を実現することが可能となる。
【０１３８】
《実施の形態２の効果》
図３に示した実施の形態２による動画像符号化装置１によれば、ＣＡＢＡＣ処理部２０１３が活性化される場合には、２値算術符号化部２０１３２の処理遅延が大きく中間バッファメモリ２０１３４のデータ蓄積量が大きい場合には高速のフィードバック制御が可能な推定符号量を使用する。また、図３に示した実施の形態２による動画像符号化装置１によれば、２値算術符号化部２０１３２の処理遅延が小さく中間バッファメモリ２０１３４のデータ蓄積量が小さい場合には誤差の少ない実符号量を使用することとなる。従って、この動画像符号化装置１によれば、高精度のビットレート制御を実現することが可能となる。
【０１３９】
［実施の形態３］
《実施の形態３の動画像符号化装置の主要部の構成》
図４は、実施の形態３による動画像符号化装置１の主要部の構成を示す図である。
【０１４０】
図４に示した実施の形態３による動画像符号化装置１が、図１と図２とに示した実施の形態１による動画像符号化装置１と相違するのは下記の点である。
【０１４１】
すなわち、図１と図２とに示した実施の形態１による動画像符号化装置１では、符号化処理部２０の処理遅延が大きいか小さいかは、中間バッファメモリ２００の蓄積データが少ないか多いかによって判定されていた。それに対して、図４に示した実施の形態３による動画像符号化装置１においては、符号化処理部２０の処理遅延が大きいか小さいかは、動画像信号ＶＳに含まれる符号化処理単位での画像ブロックをカウントする第１カウンタ１１４の第１カウント値と第２カウンタ３０４の第２カウント値の差が少ないか多いかの判定で判別される。すなわち、第１カウンタ１１４の第１カウント値と第２カウンタ３０４の第２カウント値との差は、セレクタ３０１を制御するセレクタコントローラ３０３によって判定される。
【０１４２】
最初に、図４の実施の形態３による動画像符号化装置が現行規格Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣに準拠して動画像入力信号ＶＳを符号化する場合には、符号化処理単位での画像ブロックは、輝度成分で１６×１６画素のサイズを有するマクロブロックである。従って、予測符号化部１０の第１カウンタ１１４は、予測符号化部１０の量子化部１０３において量子化処理されるマクロブロックの番号をカウントすることによって、第１カウント値を保持するものである。一方、レート制御部３０の第２カウンタ３０４は、符号化処理部２０の可変長符号化部２０１において符号化処理されるマクロブロックの番号をカウントすることによって、第２カウント値を保持するものである。
【０１４３】
この場合に符号化処理部２０の処理遅延が小さく中間バッファメモリ２００のデータ蓄積量が小さい状態では、予測符号化部１０の第１カウンタ１１４によって保持された第１カウント値の値よりもレート制御部３０の第２カウンタ３０４によって保持された第２カウント値の値は若干小さな値となる。それに対してこの場合に符号化処理部２０の処理遅延が大きく中間バッファメモリ２００のデータ蓄積量が大きい状態では、予測符号化部１０の第１カウンタ１１４によって保持された第１カウント値の値よりもレート制御部３０の第２カウンタ３０４によって保持された第２カウント値の値は大幅に小さな値となる。このように第１カウンタ１１４の第１カウント値と第２カウンタ３０４の第２カウント値との差は、セレクタ３０１を制御するセレクタコントローラ３０３により判定されることが可能である。２個のカウント値の差が大きく符号化処理部２０の処理遅延が大きく中間バッファメモリ２００のデータ蓄積量が大きいというセレクタコントローラ３０３の判定結果に応答して、セレクタ３０１の第１入力端子に供給される符号量推定部３００の推定符号量が選択される。それに対して、２個のカウント値の差が小さく符号化処理部２０の処理遅延が小さく中間バッファメモリ２００のデータ蓄積量が小さいとのセレクタコントローラ３０３の判定結果に応答して、セレクタ３０１の第２入力端子に供給される可変長符号化部２０１の実符号量が選択される。
【０１４４】
次に、図４の実施の形態３による動画像符号化装置が新規格Ｈ．２６５に準拠して動画像入力信号ＶＳを符号化する場合には、符号化処理単位での画像ブロックはフレキシブルなブロック構造であるコーディングユニット(ＣＵ)である。従って、予測符号化部１０の第１カウンタ１１４は、予測符号化部１０の量子化部１０３において量子化処理されるコーディングユニット(ＣＵ)の番号をカウントして第１カウント値を保持するものである。一方、レート制御部３０の第２カウンタ３０４は、符号化処理部２０の可変長符号化部２０１において符号化処理されるコーディングユニット(ＣＵ)の番号をカウントして第２カウント値を保持するものである。尚、コーディングユニット(ＣＵ)の最大のものは６４画素×６４画素のサイズの最大コーディングユニット(ＬＣＵ)であるので、第１カウンタ１１４と第２カウンタ３０４は、場合によっては、最大コーディングユニット(ＬＣＵ)の番号をカウントするものである。
【０１４５】
この場合においても、符号化処理部２０の処理遅延が小さく中間バッファメモリ２００のデータ蓄積量が小さい状態では、予測符号化部１０の第１カウンタ１１４によって保持された第１カウント値の値よりもレート制御部３０の第２カウンタ３０４によって保持された第２カウント値の値は若干小さな値となるものである。それに対してこの場合に符号化処理部２０の処理遅延が大きく中間バッファメモリ２００のデータ蓄積量が大きい状態では、予測符号化部１０の第１カウンタ１１４によって保持された第１カウント値の値よりもレート制御部３０の第２カウンタ３０４によって保持された第２カウント値の値は大幅に小さな値となるものである。このように第１カウンタ１１４の第１カウント値と第２カウンタ３０４の第２カウント値との差は、セレクタ３０１を制御するセレクタコントローラ３０３により判定されることが可能である。２個のカウント値の差が大きく符号化処理部２０の処理遅延が大きく中間バッファメモリ２００のデータ蓄積量が大きいというセレクタコントローラ３０３の判定結果に応答して、セレクタ３０１の第１入力端子に供給される符号量推定部３００の推定符号量が選択される。それに対して、２個のカウント値の差が小さく符号化処理部２０の処理遅延が小さく中間バッファメモリ２００のデータ蓄積量が小さいとのセレクタコントローラ３０３の判定結果に応答して、セレクタ３０１の第２入力端子に供給される可変長符号化部２０１の実符号量が選択されるものである。
【０１４６】
以上、本発明者によってなされた発明を種々の実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１４７】
例えば、図３の実施の形態２の動画像符号化装置１でも、図４の実施の形態３の動画像符号化装置１と同様に第１カウンタ１１４と第２カウンタ３０４とセレクタコントローラ３０３を使用して、符号化処理部２０の処理遅延が大きいか小さいかまたは中間バッファメモリ２００のデータ蓄積量が大きいか小さいかを判定することが可能である。
【０１４８】
図５は、図３に示した実施の形態２による動画像符号化装置１の量子化部１０３と可変長符号化部２０１との間に接続されていたプリバッファ２０５を省略した他の実施の形態による動画像符号化装置１の構成を示す図である。
【０１４９】
図５に示した動画像符号化装置１では、スイッチＳＷ１とスイッチＳＷ２とを含む切り換えスイッチ２０１３５が、ＣＡＢＡＣ処理部２０１３の２値化部２０１３１と中間バッファメモリ２０１３４との間に接続されている。
【０１５０】
図５に示した動画像符号化装置１において、ＣＡＢＡＣ処理部２０１３の２値化部２０１３１と２値算術符号化部２０１３２とコンテキスト計算部２０１３３とがＣＡＢＡＣ符号化処理を実行する場合には、切り換えスイッチ２０１３５ではスイッチＳＷ１はオン状態に制御されスイッチＳＷ２はオフ状態に制御される。その結果、２値化部２０１３１は多値入力信号から２値信号を生成して、２値信号はスイッチＳＷ１と中間バッファメモリ２０１３４とを介して２値算術符号化部２０１３２に供給されるので、２値信号は２値算術符号化部２０１３２により符号化ビット列に符号化される。
【０１５１】
図５に示した動画像符号化装置１において、指数ゴロム符号化部２０１１もしくはＣＡＶＬＣ処理部２０１２が活性化される場合には、切り換えスイッチ２０１３５ではスイッチＳＷ１はオフ状態に制御されスイッチＳＷ２はオン状態に制御される。その結果、可変長符号化部２０１の入力端子ＩＮでの量子化部１０３で量子化された周波数変換係数は、２値化部２０１３１とスイッチＳＷ１とを経由せずに、スイッチＳＷ２と中間バッファメモリ２０１３４とを介して、指数ゴロム符号化部２０１１の入力端子とＣＡＶＬＣ処理部２０１２の入力端子とに供給されるものである。
【０１５２】
図５に示した動画像符号化装置１にても、中間バッファメモリ２０１３４のデータ蓄積量が大きい場合には、ＣＡＢＡＣ処理部２０１３の２値算術符号化部２０１３２の実符号量と比較して高速フィードバック制御である符号量推定部３００の推定符号量に従って、レートコントローラ３０２から算出される量子化スケールが量子化部１０３に供給されるものである。その結果、符号量推定部３００の推定符号量による量子化部１０３の量子化スケールの高速フィードバック制御によって、高精度のビットレート制御を実現することが可能となる。
【０１５３】
一方、中間バッファメモリ２０１３４のデータ蓄積量が小さい場合には、符号量推定部３００の推定符号量と比較して遅延はあるが誤差の少ないＣＡＢＡＣ処理部２０１３の２値算術符号化部２０１３２での実符号量に従ってレートコントローラ３０２から算出される量子化スケールが量子化部１０３に供給されるものである。従って、可変長符号化部２０１の実符号量による量子化部１０３の量子化スケールの高精度のフィードバック制御によって、高精度のビットレート制御を実現することが可能となる。
【０１５４】
本発明は、新規格Ｈ．２６５に準拠して動画像入力信号ＶＳを符号化するだけではなく、６４画素×６４画素のサイズよりも更に大きな最大コーディングユニット(ＬＣＵ)を処理単位とする将来の規格に準拠する符号化処理に適用することが可能である。
【符号の説明】
【０１５５】
１…動画像符号化装置
１０…予測符号化部
２０…予測符号化部
３０…レート制御部
４０…ビデオバッファ
１００…ビデオ入力バッファ
１０１…減算器
１０２…周波数変換部
１０３…量子化部
１０４…逆量子化部
１０５…逆周波数変換部
１０６…加算器
１０７…フィルタユニット
１０８…フレームメモリ
１０９…動きベクトル検出部
１１０…動き補償部
１１１…バッファメモリ
１１２…イントラ予測部
１１３…セレクタ部
２００…中間バッファメモリ
２０１…可変長符号化部
３００…符号量推定部
３０１…セレクタ
３０２…レートコントローラ
【図１】
2015073177.tif 000003
【図２】
2015073177.tif 000004
【図３】
2015073177.tif 000005
【図４】
2015073177.tif 000006
【図５】
2015073177.tif 000007