(57)【特許請求の範囲】
【請求項１】
符号化すべき画像データ、および、当該画像データの種類、特徴に応じた画像情報を出力する画像提供手段から提供される上記画像データを１パスで圧縮符号化する画像符号化装置であって、
当該画像符号化装置は、
上記画像情報を入力し、当該画像情報によって示される上記画像データの種類、特徴に応じて、目標符号化ビットレート、最大符号化ビットレート、固定ビットレートまたは可変ビットレートを示す第１または第２の論理値を有する指示信号、可変ビットレートの応答速度を含む圧縮符号化パラメータを生成する、制御手段と、
上記制御手段で生成された上記圧縮符号化パラメータを用いて上記画像提供手段から提供された上記画像データを符号化する符号化手段と
を有し、
上記符号化手段は、
上記画像データを選択された量子化スケールを用いて画像処理単位ごとに所定の符号化方式で圧縮符号処理を行う、画像圧縮符号化手段と、
上記制御手段から供給される上記指示信号が第１の論理値のとき、上記画像圧縮符号化手段における符号化方式に依存して規定され、上記制御手段から提供された上記目標符号化ビットレートを満足する範囲の、固定ビットレート量子化スケールを生成する固定ビットレート制御手段と、
可変ビットレートバッファ値を記録する、可変ビットレートバッファ記録手段と、
上記制御手段から供給される上記指示信号が第２の論理値のとき、上記可変ビットレートバッファ記録手段と協働し、上記制御手段から提供された上記最大符号化ビットレートを越えない範囲で、当該可変ビットレートバッファ記録手段のバッファ値と上記制御手段から提供される応答速度によって規定される、可変ビットレート量子化スケールを生成する可変ビットレート制御手段と、
上記指示信号が第１の論理値のとき上記固定ビットレート量子化スケールを選択し、上記指示信号が第２の論理値のとき上記可変ビットレート量子化スケールと上記固定ビットレート量子化スケールとを比較して大きな量子化スケールを選択して、上記選択された量子化スケールとして上記画像圧縮符号化手段に出力する、量子化スケール比較手段と
を有する、
画像符号化装置。
【請求項２】
上記画像圧縮符号化手段において行う所定の符号化方式は、上記画像データについて画像処理単位ごとに圧縮符号化処理を行う、ＭＰＥＧ方式の符号化方式であり、
上記固定ビットレート制御手段において上記固定ビットレート量子化スケールを生成するための符号化方式は、ＭＰＥＧ方式である、
請求項１に記載の画像符号化装置。
【請求項３】
上記固定ビットレート制御手段において上記固定ビットレート量子化スケールを生成するための符号化方式は、ＭＰＥＧ方式のＴＭ５である、
請求項２に記載の画像符号化装置。
【請求項４】
上記可変ビットレート制御手段で生成する上記可変ビットレート量子化スケールは、
第１の係数×上記可変ビットレートバッファ値／上記応答速度
として規定される、
請求項１に記載の画像符号化装置。
【請求項５】
上記画像処理単位内の画像データで符号化されないで残った画像データを、次の画像処理単位において、次の画像処理単位の画像データの目標ビット量にフィードバックさせる、
請求項１〜４のいずれかに記載の画像符号化装置。
【請求項６】
上記次の画像処理単位の画像データの目標ビット量は、
第２の係数×上記目標符号化ビットレート／ピクチャレート
で規定される、
請求項５に記載の画像符号化装置。
【請求項７】
上記指示信号が第１の論理値のとき、次の画像処理単位の画像データの目標ビット量は、
第３の係数×上記目標符号化ビットレート／ピクチャレート＋現在の画像処理単位のビット残量
で規定される、
請求項５に記載の画像符号化装置。
【請求項８】
上記指示信号が第２の論理値のとき、かつ、符号化直前の画像処理単位のビット残量が負のとき、次の画像処理単位の目標ビット量は、
第４の係数×上記最大符号化ビットレート／ピクチャレート＋現在の画像処理単位のビット残量
で規定される、
請求項５に記載の画像符号化装置。
【請求項９】
上記指示信号が第２の論理値のとき、かつ、符号化直前の画像処理単位のビット残量が正のとき、次の画像処理単位の目標ビット量は、
第５の係数×上記最大符号化ビットレート／ピクチャレート
で規定される、
請求項５に記載の画像符号化装置。
【請求項１０】
上記画像処理単位は、複数のピクチャからなるＧＯＰである、
請求項２〜９のいずれかに記載の画像符号化装置。
【請求項１１】
上記ＧＯＰには、Ｉピクチャ、Ｐピクチャ、Ｂピクチャが連続して配列されており、
上記可変ビットレート量子化スケールとして、上記Ｂピクチャについて、上記Ｉピクチャ、Ｐピクチャより粗く符号化するため、上記Ｉピクチャ、Ｐピクチャの可変ビットレート量子化スケールより大きな可変ビットレート量子化スケールとする、
請求項１０に記載の画像符号化装置。
【請求項１２】
上記画像処理単位は、１ＧＯＰのピクチャより少ないピクチャを含むマクロブロックである、
請求項２〜９のいずれかに記載の画像符号化装置。
【請求項１３】
上記可変ビットレート制御手段は、上記可変ビットレートバッファ記録手段から入力したバッファ値が０のとき、
第６の係数×上記応答速度／上記目標符号化ビットレート
で規定される上記可変ビットレート値を用いる、
請求項１に記載の画像符号化装置。
【請求項１４】
上記可変ビットレート制御手段が、上記目標符号化ビットレートおよび上記応答速度に基づいて、上記可変ビットレートバッファ値の初期値を求め、
上記固定ビットレート制御手段が、上記目標符号化ビットレート、上記応答速度、ピクチャレート、画像処理単位に基づいて、当該画像処理単位の目標ビット量を求め、
上記可変ビットレート制御手段が、上記最大符号化ビットレート、ピクチャレート、上記画像処理単位に基づいて、当該画像処理単位の目標ビット量を求め、
上記可変ビットレート制御手段が、上記求めた上記可変ビットレートバッファ値の初期値と上記応答速度とを用いて上記可変ビットレート量子化スケールを求め、
上記固定ビットレート制御手段が、上記固定ビットレート量子化スケールを求め、
上記量子化スケール比較手段が、上記指示信号が第１の論理値のとき上記固定ビットレート量子化スケールを選択し、上記指示信号が第２の論理値のとき上記可変ビットレート量子化スケールと上記固定ビットレート量子化スケールとを比較して大きな量子化スケールを選択し、
上記画像圧縮符号化手段が、上記画像データについて上記選択された量子化スケールを用いて圧縮符号化処理を行い、
上記可変ビットレート制御手段が、上記第画像処理単位の目標ビット量から上記符号化処理で発生したビット量を減算し、
上記可変ビットレート制御手段、上記固定ビットレート制御手段、上記量子化スケール比較手段および上記画像圧縮符号化手段のそれぞれが、上記画像処理単位の符号化処理が終了するまで、上記対応する処理を反復し、
上記可変ビットレート制御手段において、上記画像処理単位におけるビット残量に基づいて可変ビットレートバッファ値を更新し、
上記可変ビットレート制御手段において、上記発生したビット量に応じて上記画像処理単位のビット残量を算出し、当該算出したビット残量に応じて次の画像処理単位の目標ビット量を更新する、
請求項１〜１３のいずれかに記載の画像符号化装置。
【請求項１５】
符号化すべき画像データ、および、当該画像データの種類、特徴に応じた画像情報を出力する画像提供手段から提供される上記画像データを、画像符号化装置を用いて１パスで圧縮符号化する画像符号化方法であって、
当該画像符号化装置は、
上記画像情報を入力し、当該画像情報によって示される上記画像データの種類、特徴に応じて、目標符号化ビットレート、最大符号化ビットレート、固定ビットレートまたは可変ビットレートを示す第１または第２の論理値を有する指示信号、可変ビットレートの応答速度を含む、圧縮符号化パラメータを生成する、制御手段と、
上記制御手段で生成された上記圧縮符号化パラメータを用いて上記画像提供手段から提供された上記画像情報を符号化する符号化手段と
を有し、
上記符号化手段は、
上記画像データを選択された量子化スケールを用いて所定の符号化方式で圧縮符号処理を行う、画像圧縮符号化手段と、
上記制御手段から供給される上記指示信号が第１の論理値のとき、上記画像圧縮符号化手段における符号化方式に依存して規定され、上記制御手段から提供された上記目標符号化ビットレートを満足する範囲の、固定ビットレート量子化スケールを生成する固定ビットレート制御手段と、
可変ビットレートバッファ値を記録する、可変ビットレートバッファ記録手段と、
上記制御手段から供給される上記指示信号が第２の論理値のとき、上記可変ビットレートバッファ記録手段と協働し、上記制御手段から提供された上記最大符号化ビットレートを越えない範囲で、当該可変ビットレートバッファ記録手段のバッファ値と上記制御手段から提供される応答速度によって規定される、可変ビットレート量子化スケールを生成する可変ビットレート制御手段と、
上記指示信号が第１の論理値のとき上記固定ビットレート量子化スケールを選択し、上記指示信号が第２の値のとき上記可変ビットレート量子化スケールと上記固定ビットレート量子化スケールとを比較して大きな量子化スケールを選択して、上記選択された量子化スケールとして上記画像圧縮符号化手段に出力する、量子化スケール比較手段と
を有し、
上記可変ビットレート制御手段が、上記目標符号化ビットレートおよび上記応答速度に基づいて、上記可変ビットレートバッファ値の初期値を求める第１ステップと、
上記固定ビットレート制御手段が、上記目標符号化ビットレート、上記応答速度、ピクチャレート、画像処理単位に基づいて、当該画像処理単位の目標ビット量を求める第２ステップと、
上記可変ビットレート制御手段が、上記最大符号化ビットレート、ピクチャレート、上記画像処理単位に基づいて当該画像処理単位の目標ビット量を求める第３ステップと、
上記可変ビットレート制御手段が、上記第１ステップにおいて求めた上記可変ビットレートバッファ値の初期値と上記応答速度とを用いて上記可変ビットレート量子化スケールを求める第４ステップと、
上記固定ビットレート制御手段が、上記固定ビットレート量子化スケールを求める第５ステップと、
上記量子化スケール比較手段において、上記指示信号が第１の論理値のとき上記固定ビットレート量子化スケールを選択し、上記指示信号が第２の論理値のとき上記可変ビットレート量子化スケールと上記固定ビットレート量子化スケールとを比較して大きな量子化スケールを選択する第６ステップと、
上記画像圧縮符号化手段において、上記画像データについて上記選択された量子化スケールを用いて圧縮符号化処理を行う第７ステップと、
上記画像処理単位の目標ビット量から上記符号化処理で発生したビット量を減算する、第８ステップと、
上記画像処理単位の符号化処理が終了するまで、上記第６ステップ〜第８ステップの処理を反復する、第９ステップと、
上記可変ビットレート制御手段が、上記画像処理単位におけるビット残量に基づいて可変ビットレートバッファ値を更新する、第１０ステップと、
上記ＶＢＲ制御手段が、上記発生したビット量に応じて上記画像処理単位のビット残量を算出し、当該算出したビット残量に応じて次の画像処理単位の目標ビット量を更新する、第１１ステップと、
上記画像データについての符号化処理が終了するまで、上記第４〜１１ステップの処理を反復する第１２ステップと、
を有する、
画像符号化方法。
【請求項１６】
上記画像圧縮符号化手段において行う所定の符号化方式は、動画像信号について圧縮符号化処理を行う、ＭＰＥＧ方式の符号化方式であり、
上記固定ビットレート制御手段において上記固定ビットレート量子化スケールを生成するための符号化方式は、ＭＰＥＧ方式の符号化方式である、
請求項１５に記載の画像符号化方法。
【請求項１７】
上記固定ビットレート制御手段において上記固定ビットレート量子化スケールを生成するための符号化方式は、ＭＰＥＧ方式のＴＭ５符号化方式である、
請求項１６に記載の画像符号化方法。
【請求項１８】
上記可変ビットレート制御手段で生成する上記可変ビットレート量子化スケールは、
上記可変ビットレート値／（第１の係数×上記応答速度）
として規定される、
請求項１５に記載の画像符号化方法。
【請求項１９】
上記画像処理単位内の画像データで符号化されないで残った画像データは、次の画像処理単位において、次の画像処理単位の画像データの目標ビット量に更新されて、次の画像処理単位の画像データとともに符号化処理される、
請求項１５〜１７のいずれかに記載の画像符号化方法。
【請求項２０】
上記次の画像処理単位の画像データの目標ビット量は、
第２の係数×上記目標符号化ビットレート／ピクチャレート
で規定される、
請求項１９に記載の画像符号化方法。
【請求項２１】
上記指示信号が第１の論理値のとき、次の画像処理単位の画像データの目標ビット量は、
第３の係数×上記目標符号化ビットレート／ピクチャレート＋現在の画像処理単位のビット残量
で規定される、
請求項１９に記載の画像符号化方法。
【請求項２２】
上記指示信号が第２の論理値のとき、かつ、符号化直前の画像処理単位のビット残量が負のとき、次の画像処理単位の目標ビット量は、
第４の係数×上記最大符号化ビットレート／ピクチャレート＋現在の画像処理単位のビット残量
で規定される、
請求項１９に記載の画像符号化方法。
【請求項２３】
上記指示信号が第２の論理値のとき、かつ、符号化直前の画像処理単位のビット残量が正のとき、次の画像処理単位の目標ビット量は、
第５の係数×上記最大符号化ビットレート／ピクチャレート
で規定される、
請求項１９に記載の画像符号化方法。
【請求項２４】
上記画像処理単位は、複数のピクチャからなるＧＯＰである、
請求項１６〜２３のいずれかに記載の画像符号化方法。
【請求項２５】
上記ＧＯＰには、Ｉピクチャ、Ｐピクチャ、Ｂピクチャが連続して配列されており、
上記可変ビットレート量子化スケールとして、上記Ｂピクチャについて、上記Ｉピクチャ、Ｐピクチャより粗らめに符号化するため、上記Ｉピクチャ、Ｐピクチャの可変ビットレート量子化スケールより大きな可変ビットレート量子化スケールとする、
請求項２４に記載の画像符号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を符号化する装置、特に可変ビットレートで動画像を符号化できる画像符号化装置及びその方法に関するものである。
【０００２】
【従来の技術】
一般的な画像符号化装置では、固定ビットレートＣＢＲ（Constant Bit Rate）又は可変ビットレートＶＢＲ（Variable Bit Rate ）で符号化してディジタル化した画像信号を符号化する。
画像データを固定ビットレートで符号化して生成されたビットストリーム（Bit Stream）は、一定のビットレートを有し、目標ビットレートを大きく逸脱することはない。
これに対して、画像データを可変ビットレートで符号化して生成されたビットストリームは、ビットレートが一定ではない。つまり、ビットレートは、符号化対象となる画像信号の特徴などに応じて変化する。ただし、この場合、符号化方式の規格によって定められた最大ビットレートを越えない範囲内において画像信号に対して圧縮符号化処理が行われる。
【０００３】
ディジタル化した動画像信号を符号化する場合、符号化ビットレート制御が行われ、符号化によって発生する符号系列をある一定の時間幅でみたときに所望のビットレートになるようにビットレートの制御が行われる。
これまでに、時間的に変化する画像信号、いわゆる動画像を高能率で圧縮符号化するための符号化規格が複数提案されている。
そのなかで、ＭＰＥＧ２規格が動画像符号化の標準規格として現在、画像信号の通信、放送及び記録媒体への蓄積など様々な応用分野で注目を集め、実用化されつつある。
その一つの記録媒体へのアプリケーションであるＤＶＤ（Digital Video Disk）は、ＭＰＥＧ２規格に準じて動画像を圧縮符号化し、圧縮符号化データを保存する記録媒体として、大容量、低コストかつ扱いが簡単なため、今後ますますその普及が期待されている。
【０００４】
ＭＰＥＧ２規格では、上述したビットレートを制御する符号化ビットレート制御について規定されていない。このため、符号化情報量はＭＰＥＧ２規格によって定められた範囲内にあればよい。
通常、ＤＶＤのオーサリング（Authoring ，ＤＶＤタイトル作成のための編集作業）では、可変ビットレート制御が用いられている。その際の符号化方法は、一回目の符号化処理で符号化対象の画像信号（ソース）全体の符号化難易度を調べ、二回目の処理で符号化難易度に対応した符号量を割り当てた符号化を行うことで可変ビットレート制御を実現している。その結果、難易度の高い画像信号に対してより多くの符号量が割り当てられ、逆に難易度の低い画像信号に対して割り当てられる符号量を抑えることによって、全体として画質の均一化を達成することができる。
【０００５】
ところで、ビデオカメラのような撮像装置で得られた動画像信号を実時間で記録媒体に記録するという用途では、連続的に入力される動画像信号を逐次圧縮符号化し、記録媒体に記録する必要がある。このような場合、あらかじめ符号化しようとする画像全体を調べることができないため、通常、例えば、１５フレーム程度を単位とするＧＯＰ（Group of Picture）毎に符号量を一定に制御する、固定ビットレート制御を行って画像の圧縮符号化処理を行う。
【０００６】
図７は、固定ビットレート制御によって画像信号を符号化した場合の符号化レートを示している。図７に示すように、固定ビットレート制御によって画像信号を圧縮符号化した場合、得られた符号列のビットレートが画像の特徴にかかわらず、ほぼ目標ビットレートに固定されている。この固定ビットレート制御を実現するために、画像符号化装置の符号化レート制御部では、予め与えられた目標符号化レートに対して、数ブロックからなるマクロブロック単位で量子化スケールを俊敏に（迅速に）変化させる。
【０００７】
固定ビットレート制御による圧縮符号化処理は、画像信号の特徴にかかわりなく符号化レートを一定にするため、符号化難易度の低いシーンでは符号化画質がよいが、符号化難易度の高いシーンでは符号化画質が劣化してしまうという不利益が生ずる。
【０００８】
このため、符号化画質を一定のレベル以上に維持しながら、圧縮符号化で得られた符号量が規定値以内に収まるよう符号化処理のビットレートを可変に設定することが望まれる。
図８は、可変ビットレート制御によって得られた符号列のビットレートの一例を示している。可変ビットレート制御では、目標ビットレートに対して、例えば、ＧＯＰ単位で量子化スケールを制御する。即ち、量子化スケールを変化させる応答速度を遅くする。これによって、図８に示すように、画像符号化の難易度の低いところではビットレートが低くなり、他方、画像符号化の難易度の高いところではビットレートが高くなり、画像の符号化難易度に応じてビットレートが時間的に変化することで、符号化画像の画質をほぼ一様に保つことができる。
【０００９】
【発明が解決しようとする課題】
しかし、ビデオカメラなど実時間での画像処理が要求されるアプリケーションでは、画像信号全体の特徴を事前に調べることが不可能であるため、符号化のためのビットレートの設定は、経験的に行われている。
実際の撮像装置から得られた画像が時々刻々と変化し、画像符号化の難易度も時間的に変化するため、符号化難易度の高いところでは、符号化されたビットレートがビットストリームの先頭に来るシーケンスヘッダで指定された最大ビットレートを越えてしまうことがある。従って、単に符号化難易度の変化に対する量子化スケールの応答速度を遅くするだけでは、あらゆる場合に規格に準じたビットストリームを生成することはできない。
【００１０】
さらに、この符号化技術の民生用への適用を考えると、ハードウエアの回路規模が小さく、ソフトウエアの演算量の増加の少ない、シンプルな符号化アルゴリズムが求められる。
【００１１】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、実時間処理で要求されるアプリケーションにおいて可変ビットレート制御によって動画像の圧縮符号化処理を実現できる画像符号化装置及びその処理方法を提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成するため、本発明によれば、符号化すべき画像データ、および、当該画像データの種類、特徴に応じた画像情報を出力する画像提供手段から提供される上記画像データを１パスで圧縮符号化する画像符号化装置であって、
当該画像符号化装置は、上記画像情報を入力し、当該画像情報によって示される上記画像データの種類、特徴に応じて、目標符号化ビットレート、最大符号化ビットレート、固定ビットレートまたは可変ビットレートを示す第１または第２の論理値を有する指示信号、可変ビットレートの応答速度を含む圧縮符号化パラメータを生成する、制御手段と、上記制御手段で生成された上記圧縮符号化パラメータを用いて上記画像提供手段から提供された上記画像データを符号化する符号化手段とを有し、
上記符号化手段は、
上記画像データを選択された量子化スケールを用いて画像処理単位ごとに所定の符号化方式で圧縮符号処理を行う、画像圧縮符号化手段と、
上記制御手段から供給される上記指示信号が第１の論理値のとき、上記画像圧縮符号化手段における符号化方式に依存して規定され、上記制御手段から提供された上記目標符号化ビットレートを満足する範囲の、固定ビットレート量子化スケールを生成する固定ビットレート制御手段と、
可変ビットレートバッファ値を記録する、可変ビットレートバッファ記録手段と、
上記制御手段から供給される上記指示信号が第２の論理値のとき、上記可変ビットレートバッファ記録手段と協働し、上記制御手段から提供された上記最大符号化ビットレートを越えない範囲で、当該可変ビットレートバッファ記録手段のバッファ値と上記制御手段から提供される応答速度によって規定される、可変ビットレート量子化スケールを生成する可変ビットレート制御手段と、
上記指示信号が第１の論理値のとき上記固定ビットレート量子化スケールを選択し、上記指示信号が第２の論理値のとき上記可変ビットレート量子化スケールと上記固定ビットレート量子化スケールとを比較して大きな量子化スケールを選択して、上記選択された量子化スケールとして上記画像圧縮符号化手段に出力する、量子化スケール比較手段と
を有する、画像符号化装置が提供される。
【００１３】
また本発明によれば、上記画像符号化装置を用いて実行される画像符号化方法が提供される。
すなわち、符号化すべき画像データ、および、当該画像データの種類、特徴に応じた画像情報を出力する画像提供手段から提供される上記画像データを、画像符号化装置を用いて１パスで圧縮符号化する画像符号化方法は、
上記可変ビットレート制御手段が、上記目標符号化ビットレートおよび上記応答速度に基づいて、上記可変ビットレートバッファ値の初期値を求める第１ステップと、
上記固定ビットレート制御手段が、上記目標符号化ビットレート、上記応答速度、ピクチャレート、画像処理単位に基づいて、当該画像処理単位の目標ビット量を求める第２ステップと、
上記可変ビットレート制御手段が、上記最大符号化ビットレート、ピクチャレート、上記画像処理単位に基づいて当該画像処理単位の目標ビット量を求める第３ステップと、
上記可変ビットレート制御手段が、上記第１ステップにおいて求めた上記可変ビットレートバッファ値の初期値と上記応答速度とを用いて上記可変ビットレート量子化スケールを求める第４ステップと、
上記固定ビットレート制御手段が、上記固定ビットレート量子化スケールを求める第５ステップと、
上記量子化スケール比較手段において、上記指示信号が第１の論理値のとき上記固定ビットレート量子化スケールを選択し、上記指示信号が第２の論理値のとき上記可変ビットレート量子化スケールと上記固定ビットレート量子化スケールとを比較して大きな量子化スケールを選択する第６ステップと、
上記画像圧縮符号化手段において、上記画像データについて上記選択された量子化スケールを用いて圧縮符号化処理を行う第７ステップと、
上記画像処理単位の目標ビット量から上記符号化処理で発生したビット量を減算する、第８ステップと、
上記画像処理単位の符号化処理が終了するまで、上記第６ステップ〜第８ステップの処理を反復する、第９ステップと、
上記可変ビットレート制御手段が、上記画像処理単位におけるビット残量に基づいて可変ビットレートバッファ値を更新する、第１０ステップと、
上記可変ビットレート制御手段が、上記発生したビット量に応じて上記画像処理単位のビット残量を算出し、当該算出したビット残量に応じて次の画像処理単位の目標ビット量を更新する、第１１ステップと、
上記画像データについての符号化処理が終了するまで、上記第４〜１１ステップの処理を反復する第１２ステップと、
を有する。
【００１４】
好ましくは、上記画像圧縮符号化手段において行う所定の符号化方式は、上記画像データについて画像処理単位ごとに圧縮符号化処理を行う、ＭＰＥＧ方式の符号化方式であり、上記固定ビットレート制御手段において上記固定ビットレート量子化スケールを生成するための符号化方式は、ＭＰＥＧ方式である。
【００１５】
また好ましくは、上記固定ビットレート制御手段において上記固定ビットレート量子化スケールを生成するための符号化方式は、ＭＰＥＧ方式のＴＭ５である。
【００１６】
好ましくは、上記可変ビットレート制御手段で生成する上記可変ビットレート量子化スケールは、第１の係数×上記可変ビットレートバッファ値／上記応答速度、として規定される。
【００１７】
好ましくは、上記画像処理単位内の画像データで符号化されないで残った画像データは、次の画像処理単位において、次の画像処理単位の画像データの目標ビット量に更新されて、次の画像処理単位の画像データとともに符号化処理される。
【００１８】
好ましくは、上記次の画像処理単位の画像データの目標ビット量は、第２の係数×上記目標符号化ビットレート／ピクチャレート、で規定される。
【００１９】
好ましくは、上記指示信号が第１の論理値のとき、次の画像処理単位の画像データの目標ビット量（Ｒ）は、第３の係数×上記目標符号化ビットレート／ピクチャレート＋現在の画像処理単位のビット残量、で規定される。
【００２０】
好ましくは、上記指示信号が第２の論理値のとき、かつ、符号化直前の画像処理単位のビット残量が負のとき、次の画像処理単位の目標ビット量は、第４の係数×上記最大符号化ビットレート／ピクチャレート＋現在の画像処理単位のビット残量、で規定される。
【００２１】
好ましくは、上記指示信号が第２の論理値のとき、かつ、符号化直前の画像処理単位のビット残量が正のとき、次の画像処理単位の目標ビット量は、第５の係数×上記最大符号化ビットレート／ピクチャレート、で規定される。
【００２２】
好ましくは、上記画像処理単位は、複数のピクチャからなるＧＯＰである。
【００２３】
また好ましくは、上記１つのＧＯＰは、Ｉピクチャ、Ｐピクチャ、Ｂピクチャが連続して配列されており、上記ＶＢＲ量子化スケールとして、上記Ｂピクチャについて、上記Ｉピクチャ、Ｐピクチャより粗く符号化するため、上記Ｉピクチャ、ＰピクチャのＶＢＲ量子化スケールより大きなＶＢＲ量子化スケールとする。
【００２４】
好ましくは、上記画像処理単位は、１ＧＯＰのピクチャより少ないマクロブロックである。
【００２５】
好ましくは、上記ＶＢＲ制御手段は、上記ＶＢＲバッファ記録手段から入力したバッファ値が０のとき、第２の係数×上記応答速度／上記目標符号化ビットレート、で規定される上記ＶＢＲバッファ値を用いる。
【００２６】
好ましくは、上記ＶＢＲ制御部手段が、上記目標符号化ビットレートおよび上記応答速度に基づいて、上記ＶＢＲバッファ値の初期値を求め、
上記ＣＢＲ制御手段が、上記目標符号化ビットレート、上記応答速度、ピクチャレート、画像処理単位に基づいて、当該画像処理単位の目標ビット量を求め、
上記ＶＢＲ制御手段が、上記最大符号化ビットレート、ピクチャレート、上記画像処理単位に基づいて、当該画像処理単位の目標ビット量を求め、
上記ＶＢＲ制御手段が、上記第求めた上記ＶＢＲバッファ値の初期値と上記応答速度とを用いて上記ＶＢＲ量子化スケールを求め、
上記ＣＢＲ制御手段が、上記ＣＢＲ量子化スケールを求め、
上記量子化スケール比較手段が、上記指示信号が第１の論理値のとき上記ＣＢＲ量子化スケールを選択し、上記指示信号が第２の論理値のとき上記ＶＢＲ量子化スケールと上記ＣＢＲ量子化スケールとを比較して大きな量子化スケールを選択し、
上記画像圧縮符号化手段が、上記画像データについて上記選択された量子化スケールを用いて圧縮符号化処理を行い、
上記ＶＢＲ制御手段が、上記第画像処理単位の目標ビット量から上記符号化処理で発生したビット量を減算し、
上記ＶＢＲ制御手段、上記ＣＢＲ制御手段、上記量子化スケール比較手段および上記画像圧縮符号化手段が、上記画像処理単位の符号化処理が終了するまで、上記処理を反復し、
上記ＶＢＲ制御手段において、上記画像処理単位におけるビット残量に基づいてＶＢＲバッファ値を更新し、
上記ＶＢＲ制御手段において、上記発生したビット量に応じて上記画像処理単位のビット残量を算出し、当該算出したビット残量に応じて次の画像処理単位の目標ビット量を更新し、
上記画像データについての符号化処理が終了するまで、上記処理を反復する。
【００２７】
本発明による画像符号化装置において、量子化スケールを所定の値に固定する、いわゆる固定量子化スケールによる画像符号化処理が行われる。これによって、符号化難易度の高い画像ではより多くのビットが発生し、逆に符号化難易度の低い画像では発生するビット数が少なくなる。その結果、一連の画像全体で見れば、符号化難易度の低い部分で発生するビット量が抑制され、難易度の高い部分でより多くのビット数が割り当てられるので、符号化画質を均一に保ちながら可変ビットレート制御を実現することができる。
【００２８】
また本発明では、符号化画像全体の平均ビットレートを一定の基準を満足するために、ＧＯＰ単位、例えば、１５ピクチャ以上の単位で符号化ビットレート制御が行われる。
ＧＯＰ毎の目標ビット量を予め設定し、各ＧＯＰの発生ビット量が目標ビット量からのずれに応じて、量子化スケールを制御することにより、符号化ビットレートがＧＯＰ単位で緩やかに変化し、かつ符号化画像全体のビットレートが目標ビットレートから大きく逸脱しない範囲内に保持される。
【００２９】
さらに、本発明では、入力画像の符号化ビットレートがシステムの最大許容ビットレートを満足するために、
ａ．通常の画像符号化装置に備えられている第２の量子化スケール設定手段により、あらかじめ定められた最大ビットレートに応じて固定ビットレート制御用の量子化スケール（第２の量子化スケール）を設定し、
ｂ．設定された固定ビットレート制御用の量子化スケールと上記第１の量子化スケール制御手段により求まる可変ビットレート制御用の量子化スケール（第１の量子化スケール）とを比較した結果、大きい方の量子化スケールを実際の符号化処理に適用することにより、
画像符号化処理におけるビットレートをシステムの最大許容値以内に保持することが可能となる。
【００３０】
また、本発明の可変ビットレート処理では、通常の固定符号化レート制御手段を利用するため、画像符号化装置に適用する際には、ハードウエアの回路規模やソフトウエアの演算量の増加を最小限にとどめることができる。
【００３１】
【発明の実施の形態】
図１は本発明に係る画像符号化装置の一の実施形態を示す構成図である。
図示のように、本実施形態の画像符号化装置は、制御回路１０、エンコーダ２０及び画像入力装置３０により構成されている。
制御回路１０は、外部から入力された制御信号Ｓ１に応じて、画像入力回路３０及びエンコーダ２０にそれぞれ制御信号Ｓ１２とＳ１３を出力し、これらの動作を制御する。
【００３２】
画像入力装置３０は、画像信号をディジタル化した画像データＳ３０をエンコーダ２０に出力する。
当該画像入力装置は、ビデオカメラなどの撮像装置、又は他の記録媒体から画像信号を再生する画像再生装置などの何れかであり、何らかの手段で画像信号を生成し、且つアナログ形式の画像信号をディジタル信号に変換する機能を有するものであればよい。
画像入力装置３０は、画像信号Ｓ３０の種類、特徴などに応じて画像情報データＳ３２を生成し、制御回路１０に供給する。
【００３３】
制御回路１０は、画像入力装置３０から供給されたこの画像情報データＳ３２を受けて、画像データＳ３０の特徴などに応じて生成した圧縮符号化パラメータＳ１２をエンコーダ２０に出力する。
なお、この圧縮符号化パラメータＳ１２は、図３に図解のように、目標符号化ビットレートＢＲobj 、最大符号化ビットレートＢＲmax 、可変ビットレート指示信号ＶＢＤ、応答速度ＶＢＲｒ、初期値ＩＮ１など複数のパラメータ又は信号からなり、これらについては後述する。
【００３４】
エンコーダ２０は、制御回路１０からの圧縮符号化パラメータＳ１２に応じて、画像入力装置３０から送られてきたディジタル画像データＳ３０を所定の符号化アルゴリズムに基づいて圧縮符号化して、ビットストリームＳ２０を出力する。
なお、エンコーダ２０により画像データＳ３０が圧縮符号化された結果、ビットストリームＳ２０のデータ量が圧縮符号化前の画像データＳ３０に比べて遙に低減される。このため、エンコーダ２０により圧縮符号化したビットストリームＳ２０を情報伝送、又は、蓄積した場合、伝送路の伝送容量又は画像記録媒体の記憶容量を大幅に低減することができる。
【００３５】
本実施形態のエンコーダ２０において、画像データＳ３０を圧縮符号化するときの符号化ビットレートを画像データＳ３０に応じて制御する、いわゆる可変ビットレート制御を用いることによって、画像データＳ３０の特徴にあわせて最適な符号化ビットレートが設定され、符号化画像全体の画質の均一化と圧縮効率の向上を図ることができる。
【００３６】
図２は、本実施形態におけるエンコーダ２０の基本構成を示すブロック図である。図示のように、エンコーダ２０は、可変ビットレート制御回路２２ａ、固定ビットレート制御回路２３ａ及び量子化スケール選択回路２５ａによって構成されている。
なお、エンコーダ２０の詳細な回路構成は、図３を参照して後述する。
【００３７】
可変ビットレート制御回路２２ａは、第１の画像処理単位で、画像データＳ３０の符号化を行うための第１の量子化スケールを設定する第１の量子化スケール設定手段であり、制御回路１０から出力される圧縮符号化パラメータＳ１２に含まれる目標符号化ビットレートＢＲobj に対して、第１の画像処理単位、例えば、複数のピクチャからなるＧＯＰ単位で、画像データＳ３０の符号化難易度に応じて、緩やかに変化する第１の量子化スケールＱＳ１を設定する。
【００３８】
固定ビットレート制御回路２３ａは、上記第１の画像処理単位（ＧＯＰ）より短い第２の画像処理単位、例えば、ピクチャまたはマクロ・ブロック単位で、ビットストリームの先頭のシーケンスヘッダによって指定された最大のビットストリームを越えないように、俊敏に変化する第２の量子化スケールＱＳ２を設定する第２の量子化スケール設定手段である。
【００３９】
量子化スケール選択回路２５ａは、可変ビットレート制御回路２２ａによって設定された第１の量子化スケールＱＳ１と固定ビットレート制御回路２３ａによって設定された第２の量子化スケールＱＳ２とを比較し、これらの量子化スケールのうち大きい方を選択して、図３に図解する画像圧縮符号化部２４に対して符号化処理を行うための量子化スケールＱＳＣとして出力する。
【００４０】
上述したように、本実施形態の画像符号化装置は、画像データＳ３０の符号化難易度に応じて、圧縮符号化パラメータＳ１２に含まれる目標符号化ビットレートＢＲobj に対して、長い画像処理単位、例えば、ＧＯＰ単位で緩やかに変化する第１の量子化スケールＱＳ１を求め、また、符号化規格によって定められ最大のビットレートに対して、短い画像処理単位、例えば、マクロ・ブロック単位で俊敏に変化する第２の量子化スケールＱＳ２を求め、さらに、これらの量子化スケールのうち最も大きいものを選択し、選択した量子化スケールを画像データＳ３０を符号化するための量子化スケールＱＳＣとする。
【００４１】
このように量子化スケールＱＳＣを設定することによって、画像データＳ３０の符号化難易度に対応して、平均的に目標ビットレートに近い符号ビットレートで画像データＳ３０を符号化することができ、さらに符号化規格によって定められ最大ビットレートを越えないことを保証することができる。
【００４２】
図３は、本発明の画像符号化処理を実現するための一具体例であり、エンコーダ２０の構成を示すブロック図である。
図３に示すように、エンコーダ２０は、ＶＢＲバッファ記録部２１、ＶＢＲ制御部２２、ＣＢＲ制御部２３、画像圧縮符号化部２４及び量子化スケール比較部２５によって構成されている。
以下、エンコーダ２０の各構成部分についてそれぞれ説明した後、エンコーダ２０の全体の動作について説明する。
【００４３】
ＶＢＲバッファ記録部２１
ＶＢＲバッファ記録部２１は、ＶＢＲバッファ値と呼ばれるパラメータＶＢＲｂを保持して、一連の符号化処理におけるトータルの符号化データの値が目標ビットレートからの逸脱量を小さくするために設けられている。
符号化処理開始前、ＶＢＲバッファ記録部２１は、図１に示す制御回路１０から供給される圧縮符号化パラメータＳ１２に含まれるＶＢＲバッファ初期値ＩＮＩを記憶する。もっとも簡単な初期化方法として、符号化処理開始前に、制御回路１０からの初期化制御信号に応じて初期化し、初期値を“０”又は予め与えられた値に設定する。
【００４４】
圧縮符号化を開始したあと、ＶＢＲバッファ記録部２１はＶＢＲ制御部２２に当該記録した初期値ＩＮＩを提供し、また、符号化終了時にＶＢＲ制御部２２からＶＢＲバッファ値ＶＢＲｂを入力して記録する。次回の符号化処理において、ＶＢＲバッファ記録部２１は記録したＶＢＲバッファ値ＶＢＲｂをＶＢＲ制御部２２に出力する。
【００４５】
ＶＢＲ制御部２２
ＶＢＲ制御部２２は、制御回路１０から供給された圧縮符号化パラメータＳ１２に含まれるＶＢＲ応答速度ＶＢＲｒ、目標ビットレートＢＲobj 、最大ビットレートＢＲmax に応じて、ＶＢＲ量子化スケールＶＢＲｑを設定し、量子化スケール比較部２５に出力する。
【００４６】
当該ＶＢＲ制御部２２において、内部パラメータとして、出力するＶＢＲ量子化スケールを求めるためのＶＢＲバッファ値ＶＢＲｂ、目標ビットレートＢＲobj で符号化する場合のＧＯＰでの残りビット量ＲＢＧ、ＶＢＲ量子化スケールの応答速度を表す応答速度ＶＢＲｒを保持している。
【００４７】
ＶＢＲ制御部２２において、ＶＢＲ量子化スケールＶＢＲｑを次式により求める。
【００４８】
ＶＢＲｑ＝ＶＢＲｂ／（２n ×ＶＢＲｒ）              …（１）
【００４９】
式（１）において、ｎは演算パラメータであり、アプリケーションなどに応じて設定され、例えば、ｎ＝９とする。
【００５０】
ＶＢＲ量子化スケールＶＢＲｑが１になると、発生するビット量が急激に増加し、ＶＢＲビットレート制御が不安定になるため、ＶＢＲ制御部２２において、式（１）により算出したＶＢＲ量子化スケールＶＢＲｑが１以下のとき、強制的にＶＢＲ量子化スケールＶＢＲｑを２に変更するなどの対策が講じられている。
【００５１】
さらに、Ｉ／Ｐ／Ｂピクチャの違いに着目して、ＶＢＲ制御部２２において、コーディングタイプ（coding type ）がＢピクチャの場合に式（１）により得られた値に１．４をかけた値を量子化スケールＶＢＲｑとする。
即ち、Ｂピクチャの場合、量子化スケールを常にＩ，Ｐピクチャの量子化スケールの１．４倍に設定される。これは、ＢピクチャをＩ，Ｐピクチャに比較して多少粗めに符号化することにより、Ｂピクチャの符号化で節約できる符号化量をＩ，Ｐピクチャに符号量に振り分けると、Ｉ，ＰピクチャのＳ／Ｎが改善されるとともに、これを参照して生成されるＢピクチャのＳ／Ｎも改善されることになり、総合的にＳ／Ｎの改善が図れることを想定している。
【００５２】
ＶＢＲ制御部２２において、Ｉ／Ｐ／Ｂピクチャの量子化スケールが上述したように、式（１）に示した簡単な方法で決定されるが、それぞれのピクチャの符号化難易度を調べてそれに応じた量子化スケールの差を付けることもできる。
【００５３】
ＧＯＰでの残りビット量ＲＢＧには、ＧＯＰ毎に目標ビット量Ｒが設定される。
そして、ＶＢＲ制御部２２は、画像圧縮符号化部２４から、例えば、ＭＢ（macroblock, マクロブロック）毎に、発生ビット量を受け取ると、そこ（ＧＯＰ毎に目標ビット量Ｒ）からその分（発生ビット量）を引く。
各ＧＯＰの終わりには目標ビット量からの逸脱量が、ＧＯＰでの残りビット量ＲＢＧとして残るので、これ（ＧＯＰでの残りビット量ＲＢＧ）をＶＢＲバッファ値ＶＢＲｂから引く。この時、ＶＢＲバッファ値ＶＢＲｂが負になると、それ（ＶＢＲバッファ値ＶＢＲｂ）を０に設定する。また、ＶＢＲバッファ値ＶＢＲｂがオーバーフローしそうな場合にはそれ（ＶＢＲバッファ値ＶＢＲｂ）を最大値に固定する。
【００５４】
上述したように、符号化処理開始時のＶＢＲバッファ値ＶＢＲｂの初期値は、ＶＢＲバッファ記録部２１から入力される。
ここで、例えば、ＶＢＲバッファ記録部２１から入力されたＶＢＲバッファ値ＶＢＲｂが０以外の場合、その値（ＶＢＲバッファ値ＶＢＲｂ）を使用し、０の場合、ＶＢＲバッファ値ＶＢＲｂとして、以下の式（２）により求めた値を用いる。
【００５５】
ＶＢＲｂ＝（ｍ×ＶＢＲｒ×２k ）／（ＢＲobj ）        …（２）
【００５６】
式（２）において、ｍ，ｋは、演算パラメータである。
ここで、例えば、ｍ＝２．５×１０7 であり、ｋ＝１０である。
【００５７】
式（２）における応答速度ＶＢＲｒは図１に示す制御回路１０により供給される圧縮符号化パラメータＳ１２に含まれる応答速度ＶＢＲｒを使用する。
例えば、当該応答速度ＶＢＲｒが２００程度の値に設定されるとき数十秒、応答速度ＶＢＲｒが４０００程度の値に設定されるとき数十分の応答速度が得られる。
符号化終了時に、式（２）により算出されたＶＢＲバッファ値ＶＢＲｂは、ＶＢＲバッファ記録部２１に伝送され、ＶＢＲバッファ記録部２１により記憶される。
【００５８】
ＧＯＰでの残りビット量ＲＢＧには、最初に以下の式（３）で求められる値が目標ビット量Ｒとして、設定される。
【００５９】
Ｒ＝（ＢＲobj ×Ｎ）／ＰＣＲ                        …（３）
【００６０】
式（３）において、ＮはＩピクチャの間隔であり、ＰＣＲはピクチャレートである。
【００６１】
ＣＢＲ制御部２３
ＣＢＲ制御部２３は、制御回路１０から供給された圧縮符号化パラメータＳ１２に含まれる目標ビットレートＢＲobj 、最大ビットレートＢＲmax 及びＶＢＲ指示信号ＶＢＤに応じて、ＣＢＲ量子化スケールＣＢＲｑを設定し、量子化スケール比較部２５に出力する。
【００６２】
本実施形態において、ＣＢＲ制御部２３は、例えば、ＭＰＥＧ２規格により定められているテストモード５（ＴＭ５）のアルゴリズムに基づいてＣＢＲのレート制御を行う。
【００６３】
ＴＭ５では、ＧＯＰ単位で画像符号化処理が行われる。ＧＯＰ毎に含まれているピクチャ数とビットレートから、ＧＯＰに対して割り当てられるビット量Ｒが決定される。
現在符号化処理されているＧＯＰの前のＧＯＰにおけるビット量の残量ΔＲ（正または負）は今回の処理分に加えられる。
また、ピクチャ毎のビット量Ｒとピクチャタイプ（Ｉ／Ｂ／Ｐ）毎の符号化難易度からこれから符号化するピクチャに対する目標ビット量が決定される。
そして、符号化終了後に実際に発生したビット量が目標ビット量から引かれて、ビット量の残量ΔＲが算出される。
【００６４】
マクロブロック（ＭＢ）単位の処理では、ピクチャがＭＢ単位で符号化され、ＭＢ毎に符号化された発生ビット量がピクチャでの目標ビット量を越えそうな場合に、量子化スケールが大きく設定され、逆に発生ビット量が目標ビット量を下回りそうな場合には、量子化スケールが小さく設定される。
さらに、人間の視覚特性が画面内の平坦な部分では、画質の劣化に敏感なことを考慮して、相対的に平坦な画像部分では量子化スケールが大きく設定され、逆に細かい画像部分では量子化スケールが小さく設定される。
【００６５】
なお、本発明の画像符号化装置では、ＣＢＲにおけるレート制御はＴＭ５のアルゴリズムに基づいて行うことに限定されるものではなく、他の制御方式に基づいてレート制御を行ってもよい。
【００６６】
本実施形態の画像符号化装置におけるＣＢＲ制御部２３は、従来のＭＰＥＧ符号化装置にあったＣＢＲ制御部を改良したものである。本実施形態のＣＢＲ制御部２３には、以下の機能が追加されている。
【００６７】
まず、ＣＢＲ制御部２３は、図１に示す制御回路１０より供給されたＶＢＲ指示信号ＶＢＤに応じて、ＣＢＲ量子化スケール制御を行う。
具体的には、ＶＢＲ指示信号ＶＢＤが０のとき、目標ビットレートＢＲobj に対して、ＶＢＲ指示信号ＶＢＤが１のとき、最大ビットレートＢＲmax に対して、ビットレート制御を行う。即ち、ＶＢＲ指示信号ＶＢＤが０のとき、通常のＣＢＲレート制御が行われ、画像圧縮符号化部２４において圧縮符号化処理で得られたビットストリームのビットレートが目標ビットレートＢＲobj に対して逸脱しないように量子化スケールが制御される。
これに対して、ＶＢＲ指示信号ＶＢＤが１のとき、ＶＢＲレート制御が行われ、画像圧縮符号化部２４において圧縮符号化処理で得られたビットストリームが最大ビットレートＢＲmax を越えないように量子化スケールが制御される。
【００６８】
次いで、ＭＰＥＧ２のＴＭ５においては、ＣＢＲ制御部２３は、ＧＯＰ毎に次のＧＯＰの目標ビット量Ｒを決定する。
ＧＯＰの終わりではそのＧＯＰでの発生するビット量が目標ビット量Ｒから引かれた状態になる。
以下、これを当該ＧＯＰのビット残量とし、ΔＲと表記する。
そして、このビット残量ΔＲは次のＧＯＰの目標ビット量Ｒに加えられるが、ＶＢＲ指示信号ＶＢＤが１のとき、この処理を行わない。それは、ＶＢＲ指示信号ＶＢＤが１の場合、ＶＢＲレート制御で量子化スケールが制御され、ほとんどの場合ＧＯＰの終わりで目標ビット量Ｒが余ってしまう（即ち、ΔＲ＞０）。これを次のＧＯＰの目標ビット量Ｒに加えると、オーバーフローが考えられる上に、最大ビットレートＢＲmax を越えるような画像データＳ３０が入力された場合にその量子化スケールが上がらず、ＶＢＶ（Video Buffering Verifier）がアンダーフローしてしまうからである。
【００６９】
ＭＰＥＧ２のＴＭ５において、ＧＯＰ毎に次のＧＯＰの目標ビット量Ｒを決めるが、以上の追加機能により、本実施形態のＣＢＲ制御部２３においては、制御回路１０から供給されたＶＢＲ指示信号ＶＢＤに応じて、以下のように３種類の異なる処理が行われ、次のＧＯＰの目標ビット量Ｒを決定する。
【００７０】
（１）ＶＢＲ指示信号ＶＢＤ＝０のとき、次式（４）により、現在のＧＯＰビット残量ΔＲi に応じて、次のＧＯＰの目標ビット量Ｒi+1 を算出する。ここで、ｉは、ＧＯＰの番号を示す。
【００７１】
Ｒi+1 ＝（ＢＲobj ×Ｎ）／ＰＣＲ＋ΔＲi             …（４）
【００７２】
なお、式（４）において、前出の式（３）と同じく、ＮはＩピクチャの間隔であり、ＰＣＲはピクチャレートである。
【００７３】
（２）ＶＢＲ指示信号ＶＢＤ＝１、かつ、符号化直前のＧＯＰのビット残量ΔＲi が負のとき（ΔＲi ＜０）、次式（５）により、次のＧＯＰの目標ビット量Ｒi+1 を算出する。
【００７４】
Ｒi+1 ＝（ＢＲmax ×Ｎ）／ＰＣＲ＋ΔＲi             …（５）
【００７５】
（３）ＶＢＲ指示信号ＶＢＤ＝１、かつ、直前のＧＯＰのビット残量ΔＲi が正又は０のとき（ΔＲi ≧０）、次式（６）により、次のＧＯＰの目標ビット量Ｒi+1 を算出する。
【００７６】
Ｒi+1 ＝（ＢＲmax ×Ｎ）／ＰＣＲ                    …（６）
【００７７】
上述した（１）の場合は、通常のＭＰＥＧ２のＴＭ５の処理と同じであり、ＣＢＲ制御が行われる。目標ビットレートＢＲobj を大きく逸脱しないように、ＧＯＰ毎のビット残量ΔＲを常に次のＧＯＰの目標ビット量にフィードバックさせ、次のＧＯＰの目標ビット量Ｒi+1 が符号化直前のＧＯＰのビット残量ΔＲi に応じて修正される。
【００７８】
（２）及び（３）の場合は、ＶＢＲ制御が行われ、最大ビットレートＢＲmaxを越えないように、ＧＯＰ毎のビット残量ΔＲに応じて次のＧＯＰの目標ビット量Ｒが算出される。
符号化直前のＧＯＰにおいてビット残量ΔＲi が負のとき、式（５）に示すように、符号化直前のＧＯＰにおいてビット残量ΔＲi が次のＧＯＰの目標ビット量Ｒにフィードバックさせ、次のＧＯＰの目標ビット量Ｒi+1 が下方修正される。
一方、符号化直前のＧＯＰのビット残量ΔＲi が正又は０のとき、上述した理由で符号化直前のＧＯＰのビット残量ΔＲi がフィードバックせず、次のＧＯＰの目標ビット量Ｒi+1 が、式（６）に示すように、最大ビットレートＢＲmax などに応じて決定される。
【００７９】
ＣＢＲ制御部２３は、上述したように算出されたＧＯＰの目標ビット量Ｒに基づき、ＣＢＲ量子化スケールＣＢＲｑを求めて、ＶＢＲ制御部２２により求められたＶＢＲ量子化スケールＶＢＲｑとともに、量子化スケール比較部２５に供給する。
【００８０】
量子化スケール比較部２５
量子化スケール比較部２５は、ＶＢＲ制御部２２から入力されたＶＢＲ量子化スケールＶＢＲｑ、ＣＢＲ制御部２３から入力されたＣＢＲ量子化スケールＣＢＲｑ及び制御回路１０から供給されたＶＢＲ指示信号ＶＢＤに応じて、画像データＳ３０の符号化に用いる量子化スケールＱＳＣを算出し、画像圧縮符号化部２４に提供する。
例えば、ＶＢＲ指示信号ＶＢＤが０のとき、量子化スケール比較部２５は、ＣＢＲ量子化スケールＣＢＲｑを画像圧縮符号化部２４に出力する。このため、通常のＣＢＲレート制御に基づき、符号化レートが制御されるので、符号化レートが常に目標のビットレートＢＲobj から大きく逸脱しないように量子化スケールが制御される。
【００８１】
一方、ＶＢＲ指示信号ＶＢＤが１のとき、量子化スケール比較部２５は、ＶＢＲ量子化スケールＶＢＲｑとＣＢＲ量子化スケールＣＢＲｑとを比較して、大きい方を画像圧縮符号化部２４に出力する。このため、ＶＢＲレート制御に基づき符号化レートが制御されるので、符号化レートが最大のビットレートＢＲmax を越えないように量子化スケールが制御される。
【００８２】
画像圧縮符号化部２４
画像圧縮符号化部２４は、目標ビットレートＢＲobj 、最大ビットレートＢＲmax 、ＶＢＲ指示信号ＶＢＤ及び量子化スケール比較部２５から提供される量子化スケールＱＳＣに応じて、図１に示す画像入力装置３０から入力される画像データＳ３０を圧縮符号化し、ビットストリームＳ２０を出力する。
さらに、画像圧縮符号化部２４は、圧縮符号化処理で生成したビット量を示す発生ビット量ＢＱＴ及び画像符号化種類を示すＰＣＴ信号を生成し、ＶＢＲ制御部２２及びＣＢＲ制御部２３にそれぞれ出力する。
【００８３】
図４は、画像圧縮符号化部２４の一構成例を示すブロック図である。以下、図４を参照しつつ、画像圧縮符号化部２４の構成及び動作について説明する。
【００８４】
図示のように、画像圧縮符号化部２４は、加算器２０１、ＤＣＴ部２０２、量子化部２０３、可変長符号化部（ＶＬＣ）２０４、逆量子化部２０５、逆ＤＣＴ部２０６、加算器２０７、フレームメモリ２０８、動き検出部２０９、動き補償部２１０、切り換え回路２１１および符号化制御部２１２を有する。
【００８５】
画像圧縮符号化部２４に入力された画像信号Ｓ３０は、加算器２０１において切り換え回路２１１から入力される以前の再生画像信号との差分が求められ、その差分がＤＣＴ部２０２に出力される。
イントラピクチャ（Ｉピクチャ）モードの時には、切り換え回路２１１からは有意な画像が入力されないので（図４では、このモードにおける切り換え回路２１１からの出力を０としている）、加算器２０１に入力された画像データがそのままＤＣＴ部２０２に出力される。
動き補償予測モードの時には、切り換え回路２１１からはその前の再生画像に基づいた画像データが入力されるので、その差分を加算器２０１で求め、その誤差をＤＣＴ部２０２に入力する。
【００８６】
ＤＣＴ部２０２は、加算器２０１から入力された画像信号に対して、離散コサイン変換（ＤＣＴ:Discrete Cosine Transform）を行い、空間的冗長性を削減する。ＤＣＴによって得られた変換係数は、量子化部２０３に入力される。
【００８７】
量子化部２０３は、制御部２１３より入力される量子化レートに従って、ＤＣＴ部２０２により得られた変換係数を用いて量子化を行い、可変長符号化部２０４および逆量子化部２０５に出力する。
なお、量子化部２０３の量子化スケールは、符号化制御部２１２により制御される。
【００８８】
可変長符号化部２０４は、量子化された変換係数を用いて可変長符号化し、符号化ビット列、即ち、ビットストリームＳ２０を生成し、順次出力する。
【００８９】
符号化制御部２１２は、量子化部２０３の量子化レート、フレームメモリ２０８への画像データの記録および切り換え回路２１１の切り換えなどを制御する。図示のように、符号化制御部２１２は、例えば、図１に示す制御回路１０から入力される目標ビットレートＢＲobj 、最大ビットレートＢＲmax 、ＶＢＲ指示信号ＶＢＤ及び図３に示す量子化スケール比較部２５からの量子化スケールＱＳＣに応じて、量子化部２０３に所定の量子化スケールを設定し、量子化レートを制御する。
【００９０】
また、量子化部２０３で量子化された変換係数は、逆量子化部２０５に入力される。変換係数は、逆量子化部２０５において逆量子化され、さらに、逆ＤＣＴ部２０６において逆離散コサイン変換（逆ＤＣＴ）が行われる。
そして、動き補償予測を行うモードだった時には、加算器２０７で、逆ＤＣＴが行われた画像信号と前記動き補償予測により得られた画像信号を加算して元の画像信号に戻し、フレームメモリ２０８に記録する。
イントラピクチャモードの時には、逆ＤＣＴ部２０６で逆ＤＣＴされた画像信号がそのままフレームメモリ２０８に記録される。
【００９１】
動き補償予測を行う場合には、フレームメモリ２０８に記録されている画像信号が用いられる。即ち、フレームメモリ２０８に記録されている画像信号に基づいて、次の入力画像信号より動き検出部２０９において動き検出を行い、動きベクトルを検出する。さらに、その動きベクトルに基づいて、動き補償部２１０において動き補償予測を行う。そして、この動き補償予測により得られた画像信号を切り換え回路２１１を介して加算器２０１に出力し、入力された画像信号との差分を求める。
【００９２】
上述した構成を有する画像圧縮符号化部２４によって、入力された画像信号Ｓ３０が所定の符号化レートで符号化され、ビットストリームが生成される。
ＶＢＲ指示信号ＶＢＤが０のとき、ビットストリームのシーケンスヘーダ（sequence header ）のビットレート（bit rate）の格納位置に目標ビットレートＢＲobj が出力され、ＶＢＲ指示信号ＶＢＤが１のとき、ビットレートの格納位置に最大ビットレートＢＲmax が出力される。マクロブロック（ＭＢ）毎に量子化スケールが設定されると、これをベースにＭＰＥＧ２のＴＭ５における符号化レート制御のステップ３（SETP 3）に基づいた視覚効果を狙った量子化スケールの変更を行い、これを量子化に用いる。そしてＭＢ毎に発生されるビットストリームを出力する。
【００９３】
また、本実施形態の画像圧縮符号化部２４は、量子化スケールによる符号化レート制御がうまくいかず、ＶＢＶがアンダーフローしそうになるとき、ＤＣＴ係数を強制的にカットするなどしてこれを防止するなど、通常のＭＰＥＧ２の画像符号化装置において一般的な機能も有する。
【００９４】
上述した画像圧縮符号部２４によって、一回の符号化処理、即ち、１パス処理により、可変符号化レートで画像信号の符号化を実現できる。
このため、例えば、ビデオカメラなどの実時間での画像撮像及び記録を行う画像処理装置などにおいて、一度の符号化処理で可変符号化レートによる画像符号化を実現可能となり、異なる特徴を持つ画像信号における画質の均一化を実現可能であり、さらに可変符号化レート制御により、符号化能率の向上を図ることができる。
【００９５】
図５は、本実施形態の画像符号化装置の動作を示すフローチャートである。以下、図５を参照しつつ、それぞれのパラメータの具体的な数値例を用いて、本実施形態の画像符号化装置の動作を説明する。
【００９６】
図５は、可変符号化レートによる画像符号化処理を行う場合、即ち、図３におけるＶＢＲ指示信号ＶＢＤが１の場合における画像符号化処理のフローチャートである。
ＶＢＲ指示信号ＶＢＤが０の場合、通常の固定符号化レートによる画像符号化処理が行われ、ＣＢＲ制御部２３のみで目標ビットレートＢＲobj 及び符号化直前のＧＯＰにおけるビット残量ΔＲi に応じて、式（４）により次のＧＯＰにおける目標ビット量Ｒを算出し、これに応じて次のＧＯＰにおける符号化スケールが制御される。
【００９７】
固定符号化レートに基づく画像符号化処理は、通常のＭＰＥＧ２規格が適用される画像符号化装置においては一般的に行われているので、ここで、その詳細な動作説明を省略する。
【００９８】
図５に示すように、符号化処理を開始した後、まず、与えられたパラメータに応じて式（２）でＶＢＲバッファ値ＶＢＲｂの初期値が求められる（ステップＳ１）。ここで、例えば、ＢＲobj ＝４Ｍｂｐｓ、ＶＢＲ応答速度ＶＢＲｒ＝３００とし、さらに、式（２）におけるｍ＝２．５×１０7 であり、ｋ＝１０とすると、式（２）により、ＶＢＲバッファ値ＶＢＲｂは、（２．５×１０7 ×３００×２10）／４×１０6 ＝１９２００００となる。
なお、最大ビットレートＢＲmax ＝８Ｍｂｐｓとする。
【００９９】
次いで、ステップＳ２に示すように、ＣＢＲ制御部２３においてＧＯＰの目標ビット量Ｒが、式（３）に基づいて求められる。
なお、式（３）において、ＧＯＰを１５ピクチャ単位とすると、Ｎ＝１５となる。さらに、例えば、ＮＴＳＣ方式のテレビジョン画像信号を符号化処理するとき、各フィールドは、２９．９７Ｈｚで更新するので、この場合のピクチャレートＰＣＲは、２９．９７となる。
このため、式（３）により、ＧＯＰの目標ビット量Ｒは、（４×１０6 ×１５）／２９．９７）＝２００２００２となる。
【０１００】
そして、ステップＳ３に示すように、ＶＢＲ制御部２２において、最大ビットレートＢＲmax に応じて、ＧＯＰの目標ビットレートが求められる。
ここで、最大ビットレートＢＲmax 、ＧＯＰのピクチャ数Ｎ及びピクチャレートＰＣＲに応じて、式（６）に基づいて演算すると、ＶＢＲの目標ビット量が、（８×１０6 ×１５）／２９．９７）＝４００４００４となる。
【０１０１】
次に、ステップＳ４に示す処理が行われる。即ち、上記求めたＶＢＲバッファ値ＶＢＲｂに基づき、式（１）でＶＢＲ量子化スケールＶＢＲｑが求められる。式（１）において、ｎ＝９とすると、ＶＢＲ量子化スケールＶＢＲｑは、（１９２００００／（２9 ×３００））＝１２．５となる。なお、量子化スケールは整数値が要求されるので、ここで、可変量子化スケールＶＢＲｑ＝１３と設定される。
【０１０２】
ピクチャコーディングタイプが１又は２、即ち、Ｉ又はＰピクチャのとき、可変量子化スケールＶＢＲｑ＝１３に設定され、ピクチャコーディングタイプが３、即ち、Ｂピクチャのとき、可変量子化スケールは、式（１）により算出された量子化スケールを１．４倍にした値に設定される。即ち、Ｂピクチャの場合、ＶＢＲｑ＝１８に設定される。
【０１０３】
次に、ステップＳ５に示すように、ＣＢＲ制御部２３において、目標符号化ビットレートＢＲobj に応じて、ＣＢＲ量子化スケールＣＢＲｑが求められる。
【０１０４】
量子化スケール比較部２５において、ステップＳ６に示す処理が行われる。すなわち、指示信号が１のときは、ＶＢＲ量子化スケールＶＢＲｑとＣＢＲ量子化スケールＣＢＲｑとが比較され、比較の結果、大きい方が画像圧縮符号化部２４に出力される（ステップＳ７，Ｓ８）。
【０１０５】
画像圧縮符号化部２４において、量子化スケール比較部２５により提供された量子化スケールで、１ＭＢ単位で画像データＳ３０に対して符号化処理が行われる（ステップＳ９、１０）。
そして、ステップＳ１１に示すように、符号化処理で発生したビット量が設定されたＧＯＰの目標ビット量から減算される。
１ＧＯＰの全ての画像信号に対する符号化処理が終わるまで（ステップＳ１１）ステップＳ４からＳ１０までの処理が繰り返して行われる。
そして、１ＧＯＰの符号化処理が終了したあと、ステップＳ１２において、１ＧＯＰにおけるビット残量ＲＢＧが取り出される。さらに、ビット残量ＲＢＧに応じて、ＶＢＲ制御部２２において、ＶＢＲバッファ値ＶＢＲｂが更新される（ステップＳ１３）。
【０１０６】
ＶＢＲ制御部２２において、画像圧縮符号化部２４における符号化による発生ビット量に応じて、ＧＯＰのビット残量ΔＲが算出され、当該ビット残量に応じて、式（５）又は（６）に基づき、ＶＢＲ制御部２２におけるＧＯＰの目標ビット量が更新される（ステップＳ１４）。
上述したように、符号化直前のＧＯＰのビット残量ΔＲが負のとき、式（５）に基づき、次のＧＯＰの目標ビット量が算出され、逆に、符号化直前のＧＯＰのビット残量ΔＲが正又は０のとき、式（６）に基づき、次のＧＯＰの目標ビット量が算出される。
【０１０７】
そして、ステップＳ１５において、画像符号化処理が終了するか否かの判断が行われ、符号化処理が継続する場合に、ステップＳ４の処理に戻り、次のＧＯＰにおける符号化処理が行われる。
【０１０８】
このように、ステップＳ４からＳ１５までの各処理が繰り返して行われるので、画像データＳ３０に対して、ＧＯＰ毎に符号化処理が行われる。
【０１０９】
なお、上述した処理は、ＧＯＰ単位に限定されることなく、他の画像処理単位、例えば、ピクチャ単位で符号化処理を行うことも可能である。
また、符号化処理におけるそれぞれのステップは、別の順序でも実現可能であり、さらに、必要に応じて、他の処理ステップを追加することもできる。
例えば、処理開始直後の数ピクチャ又は数ＧＯＰにおいて、まずＣＢＲ制御部２３により目標ビットレートＢＲobj に応じて設定された固定符号化レートで入力画像信号を符号化処理し、これらのピクチャ又はＧＯＰにおける処理結果に応じて、符号化処理のパラメータを設定し、その後、可変符号化レートによる符号化処理に移行することも可能である。
【０１１０】
ここで、画像データＳ３０の符号化難易度が変化した場合の画像符号化処理について説明する。
まず、符号化処理開始後しばらくの間の画像データＳ３０は、ステップＳ３において算出したＧＯＰの目標ビットレートを用いて符号化処理を行う場合、最大ビットレートＢＲmax 以下のビット量となる程度の符号化難易度を有するものとする。
【０１１１】
符号化処理において、ＣＢＲ制御部２３によって、ＭＢ毎の発生ビット量が集計され、ピクチャ毎に目標ビット量Ｒから集計された発生ビット量を減算して、ビット残量ΔＲが算出される。そして、ＣＢＲ制御部２３により、ビット残量ΔＲが０に近づくようにＣＢＲ量子化スケールが下げられる。
ＣＢＲ量子化スケールが下げられた結果、量子化スケール比較部２５において、ＶＢＲ量子化スケールとＣＢＲ量子化スケールとを比較した結果、大きい方が画像データＳ３０の符号化に使用する量子化スケールとして画像圧縮符号化部２４に提供されるので、次のＧＯＰ量子化処理の終わりで大きなビット残量ΔＲが残される。
【０１１２】
ここで、例えば、ＧＯＰでの発生ビット量Ｒが３×１０6 とすると、目標ビット量Ｒ＝４００４００４に対してビット残量ΔＲi が１００４００４となる。
通常のＭＰＥＧ２のＴＭ５が適用されている画像符号化装置では、上記ビット残量ΔＲは、次のＧＯＰの目標ビット量に加算することになっているが、本実施形態では、当該ビット残量ΔＲが正であるため、ビット残量によるフィードバック処理をせず、式（６）に示すように、最大ビットレートＢＲmax に基づき次のＧＯＰの目標ビット量Ｒが求められる。即ち、次のＧＯＰの目標ビット量Ｒが４００４００４となる。
【０１１３】
一方、ＶＢＲ制御部２２において、ＭＢ毎に発生するビット量が式（３）に基づいて算出されたＧＯＰのビット残量ＲＢＧより引かれる。上述した条件において、式（３）に基づいて算出されたＧＯＰのビット残量ＲＢＧが２００２００２であり、１ＧＯＰにおける各ＭＢの発生ビット量の合計は３００００００（３×１０6 である場合、ＧＯＰの終わりでのビット残量は（２００２００２−３００００００）＝−９９７９９８となる。これがＶＢＲバッファ値ＶＢＲｂから引かれると、（１９２００００−（−９９７９９８））＝２９１７９９８となる。これに応じて、次のＧＯＰにおけるＶＢＲ量子化スケールＶＢＲｑは、下記に示すように、式（２）により求められる。
【０１１４】
ＶＢＲｑ＝（２９１７９９８／（２9 ×３００））≒１９
【０１１５】
このように、ＧＯＰ毎にＶＢＲ量子化スケールは変化していき、発生ビット量が目標ビット量から大きい逸脱することが防止できる。
【０１１６】
次に、以上で求めたＶＢＲ量子化スケールでは、最大ビットレートＢＲmax を越えてしまうような符号化難易度の高い画像データＳ３０が入力されたと仮定する。
この場合、ＣＢＲ量子化スケールは、１ピクチャの間にどんどん大きくなり、ＶＢＲ量子化スケールを越えるので、量子化スケール比較部２５において、ＶＢＲ量子化スケールＶＢＲｑとＣＢＲ量子化スケールＣＢＲｑが比較される結果、大きい方のＣＢＲ量子化スケールが符号化に用いる量子化スケールとして画像圧縮符号化部２４に提供される。この状態では、最大ビットレートにおけるＣＢＲレート制御で符号化処理と等しい。その後しばらく経つと、ＶＢＲ量子化スケールが大きくなってくるので、量子化スケール比較部２５により、再びＶＢＲ量子化スケールＶＢＲｑが選択され、画像圧縮符号化部２４に出力される。
【０１１７】
上述したように、一度の符号化処理で可変ビットレートで画像データＳ３０を符号化処理する場合、急激に画像データＳ３０の符号化難易度が上がったときに最大ビットレートを越えない保証をしなければならない。
本発明の実施の形態によれば、画像符号化装置に通常備えているＣＢＲ制御部２３を流用することによって、画像符号化装置の構成を大きく変えることなくＶＢＲレート制御を実現可能となる。
また、本実施形態のようにＣＢＲ制御部２３を使用しない場合には、ＶＢＶバッファがアンダーフローしそうになるので、画像圧縮符号化部２４によるＤＣＴ係数のカットが行われると、符号化画質の劣化を生ずるので、本実施形態によれば符号化画質の劣化を回避すること可能となる。
【０１１８】
符号化終了時にＶＢＲバッファ値ＶＢＲｂはＶＢＲバッファ記録部２１に出力され、ＶＢＲバッファ記録部２１により保持される。そして、次の符号化開始時にはこの保持された値がＶＢＲバッファ値ＶＢＲｂの初期値となるので、ＶＢＲバッファ値ＶＢＲｂは、前回の符号化処理の終了時の値となる。
【０１１９】
図６は、本実施形態の画像復号化装置における画像符号化処理のビットレートを示す図である。
図示のように、画像の符号化レートが画像信号の符号化難易度に応じて目標ビットレートを中心として緩やかに変化する。即ち、ＶＢＲ制御が行われている。複雑な画像が入力された場合、符号化ビットレートが所定の画像符号化規格によって定められた最大ビットレートを越えそうなとき、ＣＢＲ制御が機能しはじめ、符号化ビットレートが最大ビットレートを越えないように制御される。
このような制御によって、本発明の画像符号化装置では、符号化規格によって定められた最大符号化ビットレートを守りつつ、画像の符号化難易度に応じてビットレートを可変に制御することによって、符号化した画像の画質をほぼ均一に保つことができる。
【０１２０】
【発明の効果】
以上説明したように、本発明の画像符号化装置及びその方法によれば、一度の符号化処理により可変符号化レートによる画像信号の圧縮符号化処理を実現することができる。
さらに、一般的な符号化処理回路を活用することにより、既存の回路構成を大きく変更することなく、実時間での符号化処理が要求されるアプリケーションにおいて可変符号化レート処理を実現できるという利点がある。
【０１２１】
【図面の簡単な説明】
【図１】図１は本発明に係る画像符号化装置の一実施形態を示す回路図である。
【図２】図２は本発明の画像符号化装置の概念を示すブロック図である。
【図３】図３は本発明の画像符号化装置におけるエンコーダの構成を示すブロック図である。
【図４】図４は図２に示すエンコーダの画像圧縮符号化部の構成を示すブロック図である。
【図５】図５は本実施形態の画像符号化装置の動作を示すフローチャートである。
【図６】図６は本実施形態の画像符号化装置における画像符号化レートの一例を示す図である。
【図７】図７は従来の固定ビットレート制御における画像符号化レートの一例を示す図である。
【図８】図８は従来の可変ビットレート制御において画像の特性によって規格で定められた最大ビットレートを越えた場合を示す図である。
【符号の説明】
１０…制御回路、２０…エンコーダ、２１…ＶＢＲバッファ記録部、２２ａ…可変ビットレート制御回路、２２…ＶＢＲ制御部、２３ａ…固定ビットレート制御回路、２３…ＣＢＲ制御部、２４…画像圧縮符号化部、２５ａ…量子化スケール選択回路、２５…量子化スケール比較部、３０…画像入力装置、２０１…加算器、２０２…ＤＣＴ部、２０３…量子化部、２０４…可変長符号化部（ＶＬＣ）、２０５…逆量子化部、２０６…逆ＤＣＴ部、２０７…加算器、２０８…フレームメモリ、２０９…動き検出部、２１０…動き補償部、２１１…切り換え回路、２１２…符号化制御部。
【図１】
0004706104.tif 000002
【図２】
0004706104.tif 000003
【図３】
0004706104.tif 000004
【図４】
0004706104.tif 000005
【図５】
0004706104.tif 000006
【図６】
0004706104.tif 000007
【図７】
0004706104.tif 000008
【図８】
0004706104.tif 000009
0004706104.tif 000010