(57)【要約】【課題】  ＶＢＶバッファのアンダーフローを抑制しつつ安定した画質で符号化を行う。【解決手段】  次のＧＯＰの先頭のＩピクチャの符号化終了後のＶＢＶバッファの占有量が、アンダーフローを起こさないように、その時点までに使用可能な総符号量とglobal complexityとを用いて量子化スケールの下限値を計算する。計算した下限値を下回らないように符号化を行うことで、量子化スケールの急激な変化無しにＶＢＶアンダーフローを抑制する。【選択図】  図１
2006295535.tif 000002
【特許請求の範囲】
【請求項１】
可変な量子化スケールを用いた量子化により動画像を圧縮符号化する圧縮符号化器と、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる占有量を、仮想的に検証する仮想バッファ検証器と、
前記符号化データのビットレートを目標となるビットレートに収めるために必要な第１量子化スケールを見積もる第１量子化スケール見積もり器と、
現在の前記占有量を用いて次の参照ピクチャが符号化された直後までに許容される符号量の上限を見積もる上限見積り器と、
前記上限見積り器により見積もられた上限を用いて、許容される最小の量子化スケールである第２量子化スケールを見積もる第２量子化スケール見積り器と、
前記第１の量子化スケールおよび前記第２量子化スケールのうち大きいほうを選択する量子化スケール選択器と、
を備え、
前記圧縮符号化器は前記可変な量子化スケールとして前記選択された量子化スケールを用いる、
動画像符号化装置。
【請求項２】
前記圧縮符号化器は、動画像の各ピクチャをＩピクチャ、Ｐピクチャ、および、Ｂピクチャのうちのいずれかの種類に分類して圧縮符号化を行い、
前記第２の量子化スケール見積り器は、直前に符号化された同種のピクチャの発生符号量と平均量子化スケールとに比例する複雑度と、現在のピクチャから次の参照ピクチャまでに符号化対象となるピクチャの種類ごとの枚数と、を用いて現在のピクチャに割り当て可能な符号量を見積もる、
ことを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記圧縮符号化器は、動画像の各ピクチャをＩピクチャ、Ｐピクチャ、および、Ｂピクチャのうちのいずれかの種類に分類して圧縮符号化を行い、
前記第２の量子化スケール見積り器は、
現在のピクチャから次の参照ピクチャまでに符号化対象となるＩピクチャの枚数、Ｐピクチャの枚数、および、Ｂピクチャの枚数と、
直前に符号化されたＩピクチャ、直前に符号化されたＰピクチャ、および、直前に符号化されたＢピクチャの各々に関して求められた、発生符号量と平均量子化スケールとの積により求められる複雑度と、
を用いて前記第２の量子化スケールを見積もる、
ことを特徴とする請求項１に記載の動画像符号化装置。
【請求項４】
前記第１量子化スケール見積り器は、
前記占有量に基づいて、現在までの全区間もしくは部分区間のビットレートを求め、
求められたビットレートと前記目標となるビットレートとの差を、ある範囲に収めるために必要な第１量子化スケールを見積もる、
請求項１から請求項３までのいずれか一項に記載の動画像符号化装置。
【請求項５】
前記第１量子化スケール見積り器は、
次の参照ピクチャが符号化される直前の前記第１の占有量と目標値との差を、ある一定の範囲内に収めるために必要な第１量子化スケールを見積もる、
請求項１から請求項３までのいずれか一項に記載の動画像符号化装置。
【請求項６】
可変な量子化スケールを用いた量子化により動画像を可変なビットレートで圧縮符号化する圧縮符号化器と、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる第１の占有量を、前記圧縮符号化器が目標平均ビットレートで圧縮符号化すると仮定して、仮想的に検証する第１の仮想バッファ検証器と、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる第２の占有量を、前記圧縮符号化器がピークビットレートで圧縮符号化すると仮定して、仮想的に検証する第２の仮想バッファ検証器と、
前記圧縮符号化器により生成される符号化データのビットレートを前記目標平均ビットレートに収めるために必要な第１量子化スケールを見積もる第１量子化スケール見積もり器と、
現在の前記第２の占有量を用いて次の参照ピクチャが符号化された直後までに許容される符号量の上限を見積もる上限見積り器と、
前記上限見積り器により見積もられた上限を用いて、許容される最小の量子化スケールである第２量子化スケールを見積もる第２量子化スケール見積り器と、
上限の量子化スケールである第３量子化スケールを設定する第３量子化スケール設定器と、
下限の量子化スケールである下限量子化スケールを設定する下限量子化スケール設定器と、
前記第２量子化スケールと前記第３量子化スケールとのうち大きいほうを上限量子化スケールとして選択する上限量子化スケール選択器と、
前記上限量子化スケールと前記下限量子化スケールとを用いて、前記第１量子化スケールを修正する修正部と、
を備え、
前記圧縮符号化部は前記可変な量子化スケールとして修正された前記第１量子化スケールを用いる、
ことを特徴とする動画像符号化装置。
【請求項７】
前記第３量子化スケール設定器は、
量子化誤差の上限値、もしくは、量子化誤差の期待値の上限値を記憶する手段と、
前記量子化誤差の上限値、もしくは、前記量子化誤差の期待値の上限値を用いて前記第３量子化スケールを求める手段と、
を備える請求項６に記載の動画像符号化装置。
【請求項８】
前記第１量子化スケール見積り器は、
前記第１の占有量に基づいて、現在までの全区間もしくは部分区間のビットレートを求め、
求められたビットレートと前記目標平均ビットレートとの差を、ある範囲に収めるために必要な第１量子化スケールを見積もる、
請求項６または請求項７に記載の動画像符号化装置。
【請求項９】
可変な量子化スケールを用いた量子化により動画像を圧縮符号化する圧縮符号化器による動画像符号化方法であって、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる占有量を仮想的に検証するステップと、
前記符号化データのビットレートを目標となるビットレートに収めるために必要な第１量子化スケールを見積もるステップと、
現在の前記占有量を用いて次の参照ピクチャが符号化された直後までに許容される符号量の上限を見積もるステップと、
前記上限見積り器により見積もられた上限を用いて、許容される最小の量子化スケールである第２量子化スケールを見積もる第２量子化スケール見積るステップと、
前記第１量子化スケールおよび前記第２量子化スケールのうち大きいほうを選択するステップと、
前記圧縮符号化器が前記選択された量子化スケールを用いて動画像を圧縮符号化するステップと、
を備える動画像符号化方法。
【請求項１０】
前記圧縮符号化するステップでは、動画像の各ピクチャをＩピクチャ、Ｐピクチャ、および、Ｂピクチャのうちのいずれかの種類に分類して圧縮符号化を行い、
前記第２の量子化スケールを見積もるステップでは、直前に符号化された同種のピクチャの発生符号量と平均量子化スケールとに比例する複雑度と、現在のピクチャから次の参照ピクチャまでに符号化対象となるピクチャの種類ごとの枚数と、を用いて現在のピクチャに割り当て可能な符号量を見積もる、
ことを特徴とする請求項９に記載の動画像符号化方法。
【請求項１１】
前記圧縮符号化するステップでは、動画像の各ピクチャをＩピクチャ、Ｐピクチャ、および、Ｂピクチャのうちのいずれかの種類に分類して圧縮符号化を行い、
前記第２の量子化スケールを見積もるステップは、
現在のピクチャから次の参照ピクチャまでに符号化対象となるＩピクチャの枚数、Ｐピクチャの枚数、および、Ｂピクチャの枚数と、
直前に符号化されたＩピクチャ、直前に符号化されたＰピクチャ、および、直前に符号化されたＢピクチャの各々に関して求められた、発生符号量と平均量子化スケールとの積により求められる複雑度とを求め、
求められた枚数及び複雑度を用いて前記第２の量子化スケールを見積もる、
ことを特徴とする請求項１０に記載の動画像符号化装置。
【請求項１２】
前記第１量子化スケールを見積もるステップでは、
前記占有量に基づいて、現在までの全区間もしくは部分区間のビットレートを求め、
求められたビットレートと前記目標となるビットレートとの差を、ある範囲に収めるために必要な第１量子化スケールを見積もる、
請求項９から請求項１１までのいずれか一項に記載の動画像符号化装置。
【請求項１３】
前記第１量子化スケールを見積もるステップでは、
次の参照ピクチャが符号化される直前の前記第１の占有量と目標値との差を、ある一定の範囲内に収めるために必要な第１量子化スケールを見積もる、
請求項９から請求項１１までのいずれか一項に記載の動画像符号化装置。
【請求項１４】
可変な量子化スケールを用いた量子化により動画像を可変なビットレートで圧縮符号化器による圧縮符号化方法であって、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる第１の占有量を、前記圧縮符号化器が目標平均ビットレートで圧縮符号化すると仮定して、仮想的に検証する第１の仮想バッファ検証ステップと、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる第２の占有量を、前記圧縮符号化器がピークビットレートで圧縮符号化すると仮定して、仮想的に検証する第２の仮想バッファ検証ステップと、
前記圧縮符号化器により生成される符号化データのビットレートを前記目標平均ビットレートに収めるために必要な第１量子化スケールを見積もる第１量子化スケール見積もりステップと、
現在の前記第２の占有量を用いて次の参照ピクチャが符号化された直後までに許容される符号量の上限を見積もる上限見積りステップと、
前記上限見積りステップで見積もられた上限を用いて、許容される最小の量子化スケールである第２量子化スケールを見積もる第２量子化スケール見積りステップと、
上限の量子化スケールである第３量子化スケールを設定する第３量子化スケール設定ステップと、
下限の量子化スケールである下限量子化スケールを設定する下限量子化スケール設定ステップと、
前記第２量子化スケールと前記第３量子化スケールとのうち大きいほうを上限量子化スケールとして選択する上限量子化スケール選択器と、
前記上限量子化スケールと前記下限量子化スケールとを用いて、前記第１量子化スケールを修正する修正ステップと、
前記圧縮符号化器が前記可変な量子化スケールとして修正された前記第１量子化スケールを用いて圧縮符号化するステップと、
を備える動画像符号化方法。
【請求項１５】
前記第３量子化スケール設定ステップは、
量子化誤差の上限値、もしくは、量子化誤差の期待値の上限値を記憶し、
前記量子化誤差の上限値、もしくは、前記量子化誤差の期待値の上限値を用いて前記第３量子化スケールを求める、
請求項１４に記載の動画像符号化方法。
【請求項１６】
前記第１量子化スケール見積りステップは、
前記第１の占有量に基づいて、現在までの全区間もしくは部分区間のビットレートを求め、
求められたビットレートと前記目標平均ビットレートとの差を、ある範囲に収めるために必要な第１量子化スケールを見積もる、
請求項１４または請求項１５に記載の動画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はMPEG-2やMPEG-4に代表される動画像符号化を行う動画像符号化装置に関する。
【背景技術】
【０００２】
従来、画像の復号化器におけるレートバッファ(例えばMPEG-1/2/4におけるVBVバッファ、MPEG-4 AVC|H.264におけるCPB)の破綻(例えばアンダーフローやオーバーフロー)を抑制する手法が提案されている。
【０００３】
特許文献１は、あらかじめレートバッファのアンダーフローを引き起こさない最大符号量を求め、それをベースに求めた量子化スケールとビットレートを遵守するための目標符号量をベースに求めた量子化スケールとから大きいほうを選択する方法を開示する。換言すれば、特許文献１は、最小量子化スケールを求めるために、ピークビットレートで求めたGOPの最大符号量から各ピクチャの最大符号量を求め、この符号量と実際の発生符号量の差分を用いてフィードバック制御を行う手法である。
【０００４】
尚、GOPの最大符号量とはピークビットレートで1GOP期間に蓄積されるビット量である。過去に符号化を行った履歴から比例配分することで、各ピクチャの最大符号量が求められる。基本的には、この制御方式は可変ビットレート(VBR)制御方式に適応した制御である。
【特許文献１】特開２００２-５１３４３公報
【特許文献２】特開２００４−３２８１５０公報
【特許文献３】特開２００１−８２０７公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
動画像符号化の多くの局面では、フレーム間の相関は強い。よって、過去の符号化の履歴を利用した符号量の制限方式は有効に作用する。
【０００６】
しかしながら、フレーム間の相関が失われる場合や、各ピクチャタイプ毎の発生符号量の傾向が変化することもしばしば起こる。これらの事象は、例えば、シーンの切り替わりや、カメラのフラッシュにより生じることが多い。
【０００７】
特許文献１のように、あらかじめ決められた最大符号量をピクチャ単位で制御した場合、このようなシーンの変化によって画質の劣化が生じる可能性がある。例えば、静止画に近いようなシーンから動きの激しいシーンに切り替わった場合、静止画におけるP-PictureやB-Pictureの最大符号量は相対的に小さい状態で動きの激しいシーンを符号化しなければならなくなる。最大符号量が小さなビット量で抑えられた場合、量子化を粗く制御することで発生ビット量を抑制することになり、このためにMPEG特有のノイズであるブロックノイズやモスキートノイズと呼ばれる画質劣化が目立つことになりかねない。
【０００８】
MPEG-2 Test Model 5 (TM5)は、固定ビットレートの制御方式で量子化スケールの制御方法としてよく知られている。しかし、この制御方式自体はVBVを遵守することを保証するものではないことが知られている。したがって、VBVバッファのアンダーフローの抑制の必要性は、特許文献１のようにVBR制御方式に限ったものではない。
【０００９】
本発明は、上記の点に鑑みてなされたものであり、バッファの破綻を抑止しつつ、それに伴う画質劣化の発生を最小限にとどめることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の主題の一つは、
可変な量子化スケールを用いた量子化により動画像を圧縮符号化する圧縮符号化器と、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる占有量を、仮想的に検証する仮想バッファ検証器と、
前記符号化データのビットレートを目標となるビットレートに収めるために必要な第１量子化スケールを見積もる第１量子化スケール見積もり器と、
現在の前記占有量を用いて次の参照ピクチャが符号化された直後までに許容される符号量の上限を見積もる上限見積り器と、
前記上限見積り器により見積もられた上限を用いて、許容される最小の量子化スケールである第２量子化スケールを見積もる第２量子化スケール見積り器と、
前記第１の量子化スケールおよび前記第２量子化スケールのうち大きいほうを選択する量子化スケール選択器と、
を備え、
前記圧縮符号化器は前記可変な量子化スケールとして前記選択された量子化スケールを用いる、
ことを特徴とする動画像符号化装置を提供することである。
【００１１】
本発明の他の主題は、
可変な量子化スケールを用いた量子化により動画像を可変なビットレートで圧縮符号化する圧縮符号化器と、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる第１の占有量を、前記圧縮符号化器が目標平均ビットレートで圧縮符号化すると仮定して、仮想的に検証する第１の仮想バッファ検証器と、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる第２の占有量を、前記圧縮符号化器がピークビットレートで圧縮符号化すると仮定して、仮想的に検証する第２の仮想バッファ検証器と、
前記圧縮符号化器により生成される符号化データのビットレートを前記目標平均ビットレートに収めるために必要な第１量子化スケールを見積もる第１量子化スケール見積もり器と、
現在の前記第２の占有量を用いて次の参照ピクチャが符号化された直後までに許容される符号量の上限を見積もる上限見積り器と、
前記上限見積り器により見積もられた上限を用いて、許容される最小の量子化スケールである第２量子化スケールを見積もる第２量子化スケール見積り器と、
上限の量子化スケールである第３量子化スケールを設定する第３量子化スケール設定器と、
下限の量子化スケールである下限量子化スケールを設定する下限量子化スケール設定器と、
前記第２量子化スケールと前記第３量子化スケールとのうち大きいほうを上限量子化スケールとして選択する上限量子化スケール選択器と、
前記上限量子化スケールと前記下限量子化スケールとを用いて、前記第１量子化スケールを修正する修正部と、
を備え、
前記圧縮符号化部は前記可変な量子化スケールとして修正された前記第１量子化スケールを用いる、
ことを特徴とする動画像符号化装置を提供することである。
【００１２】
本発明のさらに他の主題は、
可変な量子化スケールを用いた量子化により動画像を圧縮符号化する圧縮符号化器による動画像符号化方法であって、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる占有量を仮想的に検証するステップと、
前記符号化データのビットレートを目標となるビットレートに収めるために必要な第１量子化スケールを見積もるステップと、
現在の前記占有量を用いて次の参照ピクチャが符号化された直後までに許容される符号量の上限を見積もるステップと、
前記上限見積り器により見積もられた上限を用いて、許容される最小の量子化スケールである第２量子化スケールを見積もる第２量子化スケール見積るステップと、
前記第１量子化スケールおよび前記第２量子化スケールのうち大きいほうを選択するステップと、
前記圧縮符号化器が前記選択された量子化スケールを用いて動画像を圧縮符号化するステップと、
を備える動画像符号化方法を提供することである。
【００１３】
本発明のさらに他の主題は、
可変な量子化スケールを用いた量子化により動画像を可変なビットレートで圧縮符号化器による圧縮符号化方法であって、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる第１の占有量を、前記圧縮符号化器が目標平均ビットレートで圧縮符号化すると仮定して、仮想的に検証する第１の仮想バッファ検証ステップと、
前記圧縮符号化器により生成される符号化データをバッファに一時記憶させながら復号化する場合の前記バッファの前記符号化データによる第２の占有量を、前記圧縮符号化器がピークビットレートで圧縮符号化すると仮定して、仮想的に検証する第２の仮想バッファ検証ステップと、
前記圧縮符号化器により生成される符号化データのビットレートを前記目標平均ビットレートに収めるために必要な第１量子化スケールを見積もる第１量子化スケール見積もりステップと、
現在の前記第２の占有量を用いて次の参照ピクチャが符号化された直後までに許容される符号量の上限を見積もる上限見積りステップと、
前記上限見積りステップで見積もられた上限を用いて、許容される最小の量子化スケールである第２量子化スケールを見積もる第２量子化スケール見積りステップと、
上限の量子化スケールである第３量子化スケールを設定する第３量子化スケール設定ステップと、
下限の量子化スケールである下限量子化スケールを設定する下限量子化スケール設定ステップと、
前記第２量子化スケールと前記第３量子化スケールとのうち大きいほうを上限量子化スケールとして選択する上限量子化スケール選択器と、
前記上限量子化スケールと前記下限量子化スケールとを用いて、前記第１量子化スケールを修正する修正ステップと、
前記圧縮符号化器が前記可変な量子化スケールとして修正された前記第１量子化スケールを用いて圧縮符号化するステップと、
を備える動画像符号化方法を提供することである。
【発明の効果】
【００１４】
過去の符号化履歴に基づいて今後符号化される参照ピクチャ（I-Picture）の符号化の直後のバッファ占有量の予測値を計算し、事前に量子化スケールをアンダーフローが発生しないように徐々に大きな値に設定することで画質の突然の劣化を回避できる。
【発明を実施するための最良の形態】
【００１５】
（第１の実施形態）以下、図面を参照して本発明の第１の実施形態の画像符号化装置を説明する。
【００１６】
図１は本発明の第1の実施の形態によるMPEG符号化装置の量子化にかかわる部分のブロック図である。図２は一般的なMPEG符号化装置全体のブロック図を示す。
【００１７】
このMPEG符号化装置は、動き検出器101、動き補償器102、フレームメモリ103、減算器104、加算器105、離散コサイン変換器106、逆離散コサイン変換器107、量子化器108、逆量子化器109、可変長符号化器110、および、量子化制御器111を備える。図１は、このうちの量子化器108、可変長符号化器110、および、量子化制御器111を詳細に記述したものである。
【００１８】
図１のブロック図において、量子化制御器111は、さらに上限ビット量計算器3、最小量子化スケール計算器1、ビットレート制御器2、および、最大値選択器4を含む。以下、各ブロックの動作について説明する。
【００１９】
量子化器108には、離散コサイン変換器106で直交変換された画像データが入力される。量子化器108では、この画像データに対して所定の量子化スケールによる量子化を行うことにより、画像データのダイナミックレンジを減少させる。
【００２０】
可変長符号化器110は、量子化された画像データを可変長符号化する。可変長符号化器110が用いる可変長符号は、ダイナミックレンジの小ささに比例して符号語が短くなる性質、および、画像データに含まれる０の量に比例して符号語が短くなる性質を持つ。したがって、量子化スケールが粗ければ粗いほど発生する符号語が短くなる。量子化制御器111はこのことを利用して、量子化スケールの大きさを変えることにより、発生するビットレートを制御する。
【００２１】
ビットレート制御器2の構成は、従来から固定ビットレート(CBR)と可変ビットレートにかかわらずさまざまな方法が提案されている。
【００２２】
以下の説明では、本実施形態のビットレート制御器2は代表的なCBR制御アルゴリズムであるMPEG-2 Test Model 5(TM5)に基づいて量子化スケールを計算するものとする。ただし、本実施形態はビットレート制御器2の構成にかかわらず適用可能なものであるのでこれに限定されるものではない。
【００２３】
TM5では、各ピクチャに割り当てる符号量と、過去に符号化済みである同一ピクチャタイプのピクチャの符号化複雑度に基づいて量子化スケールを決定する。割り当て符号量は、ピクチャタイプごとに以下の式で計算される。
【数１】
2006295535.tif 000003
【００２４】
ここで、KpとKbは定数、RはGOPに割り当てられた符号量の残りビット量、Np、Nbはそれぞれ現GOPに残っているP-PictureとB-Pictureの枚数である。
【００２５】
通常、GOPに含まれるI-Picture、P-Picture、B-Pictureの枚数は図３に示すように事前に決まっており、これによってNp、Nbもピクチャの符号化前に計算することができる。Xi,Xp,Xbは、"global complexity"と呼ばれるパラメータであり、次の式で定義される。
【数２】
2006295535.tif 000004
【００２６】
ここで、Si,Sp,Sbはそれぞれ直前に符号化したI-Picture、P-Picture、B-Pictureの発生符号量、Qi,Qp,Qb はそのときの平均量子化スケールを表す。
【００２７】
すなわち定性的に言えば、各ピクチャに割り当てられる符号量は、直前に符号化した各ピクチャの符号化複雑度(Xi,Xp,Xb)に一定の重み(Kp, Kb)にしたがって、比例配分されることを意味する。
【００２８】
数１で求められた割り当て符号量を利用し、ビットレート制御器2では"Virtual Buffer"に基づくレート制御がマクロブロックごとに行われる。j番目のマクロブロックを符号化する際のVirtual Bufferのフルネスは、各ピクチャタイプごとに次式で定義される。
【数３】
2006295535.tif 000005
【００２９】
ここで、d0i,d0p,d0bは該当ピクチャの符号化直前の時点での各ピクチャタイプごとのVirtual Bufferのフルネス、すなわちVirtual Bufferの初期値を表す。Bjは、0番目からj番目のマクロブックを符号化した際に発生した符号量を示す。MB_cntはピクチャに含まれるマクロブロックの総数である。
【００３０】
このようにして求められた仮想バッファのフルネスから、次式にしたがって量子化スケールが求められる。
【数４】
2006295535.tif 000006
【００３１】
ここで、Qmaxは許容される量子化スケールの最大値をあらわし、MPEG-1,2,4においてはこの値は31である。また、ｒはリアクションパラメータと呼ばれ、仮想バッファのフィードバック制御の強さを表すものであり、この値を変更することでフィードバック制御の強さを調整することができる。
【００３２】
ビットレート制御器2で制御する量子化スケールは、次のGOPの先頭であるI-Pictureの符号化直前に、デコーダのレートバッファをエンコーダ内でシミュレートするVBV(Video Buffer Verifier)バッファの占有量が、図４に示すように初期占有量に戻すような形で逐次制御するものである。
【００３３】
数３で定義された仮想バッファによるフィードバック制御が強い場合、すなわち数４で示したリアクションパラメータｒが小さい場合はこの目的は果たされやすい。しかし、各ピクチャに割り当てられる符号量の変動が少なくなる代わりに、画像のフレーム間の変動による量子化スケールの変動が大きくなり、画質が安定しなくなる。
【００３４】
一方、ビットレート制御器2で制御された量子化スケールをそのまま用い、フィードバックを弱くすれば、フレーム間の画質変動を抑制できる。しかし、次のGOPの先頭のI-Pictureの符号化直前のタイミングで図４に示した目標占有量（目標到達点における目標となる占有量）とはかけ離れた占有量になる可能性が高まる。
【００３５】
上限ビット量計算器3では、現在符号化しようとしているピクチャを含め、次のGOPの先頭のI-Pictureの符号化終了までに使用可能な総符号量限界を計算する。前述のように、画質変動の抑制を優先した場合、図４に示した目標占有量とは異なる占有量に到達する恐れがあるため、おのずとVBVバッファのアンダーフローの危険性が高まる。VBVバッファアンダーフローはMPEG-2の規格で禁止されており、符号化処理が失敗したことを示す。
【００３６】
それを避けるために、次のGOPの先頭のI-Pictureの量子化スケールだけを大きくした場合、I-Pictureの画質が大きく劣化する。I-Pictureは、それに続くB-PictureとP-Pictureのリファレンス画像となるため、発生した画質劣化は後続するピクチャの品質劣化につながる。また、I-Pictureはすべてのマクロブロックをフレーム内符号化(intra符号化)するため、ほかのピクチャに比べ符号化効率が低く、VBVアンダーフローを発生させやすい。このため、上限ビット量計算器3では、次のGOPの先頭のI-Pictureの符号化終了までに使用できる総符号量の上限Gを、次の式で計算する。
【数５】
2006295535.tif 000007
【００３７】
ここで、vbv_occupancyは、符号化ピクチャの符号化直前のタイミングでのVBVバッファ占有量を、residual_timeは次のGOPまでの時間を、bit_rateは符号化ビットレートを表す。この値は、次のGOPの先頭のI-Pictureの符号化終了時点で、VBVバッファのアンダーフローを起こさないための上限となる符号量をあらわすものである。この目標ビット量を図示したものが図５である。
【００３８】
最小量子化スケール計算器1では、計算された上限総符号量Gに基づいて、次の式で最小量子化スケールを決定する。
【数６】
2006295535.tif 000008
【００３９】
数６は、数２で示した "global complexity"が次のGOPまでの間のフレームにおいて量子化スケールにかかわらず一定となるという仮定の元で、数１から求められる。この仮定は厳密には成立しないが、シーンチェンジなどによって画像の性質や動きが大きく変化したり、量子化スケールが極端に変動したりしなければ、近似的には成立する。言い換えれば、シーンチェンジがない場合には、ある程度良い精度でVBVバッファアンダーフローを回避するための量子化スケールの最小値が予測できることになる。
【００４０】
最大値選択器4では、ビットレート制御器2で求められた量子化スケールと、最小量子化スケール計算器1で求められた量子化スケールのうち大きいほうが選択され、最終的な量子化スケールとして量子化器108へ送られる。
【００４１】
前述のとおり、量子化器108では画像データが指定された量子化スケールで量子化され、可変長符号化器110で符号化が行われビットストリームとして出力される。前述のように、ビットストリームの発生符号量は、次のGOPの先頭のI-Pictureの符号化終了までを想定してVBVアンダーフローを抑制するように制御されている。
【００４２】
また、GOPの符号化の過程において、P-PictureやB-Pictureの予測符号量はフレームごとに更新され、量子化スケールの最小値が設定されるため、シーンチェンジなどによって実際の発生符号量と予測符号量がずれた場合にも、徐々に最小量子化スケールが補正され、量子化スケールが突然大きく変化することによる画質の変化が抑制される。
【００４３】
なお、本実施形態では、シーンチェンジによって I-Pictureのglobal complexityであるXiが変化する場合については考慮されていないが、例えば特許文献３が開示する、直前の同一タイプのPictureからの画像特性の変化に応じてglobal complexityを変調する方法(特許文献3の式(1)-(3)を参照)を併用することにより、この問題は十分回避可能である。
【００４４】
前述したように、本実施形態はビットレート制御器2の構成に関わらず適用可能な例である。すなわち、本実施形態に適用可能なビットレート制御器2の例は上述の説明で用いた例に限られない。
【００４５】
例えば、ビットレート制御器2は、仮想のバッファを占有する符号量に基づいて、現在までの全区間のビットレート、もしくは、部分区間のビットレート（例えば現在から１０秒前までの区間のビットレート）を推定し、推定されたビットレートと符号化の目標となるビットレートとの差をある範囲に収めるために必要な量子化スケールを見積もる構成であっても構わない。
【００４６】
可変ビットレートの場合、ここでいう目標となるビットレートとして目標平均ビットレートを採用しても構わない。
【００４７】
さらに、次の参照画像（例えばＭＰＥＧ−２、４のＩピクチャに相当する画像）が符号化される直前の仮想バッファを占有する符号量を推定し、推定された符号量と目標値との差をある一定の範囲内に収めるために必要な量子化スケールを見積もるビットレート制御器も本実施形態に適用可能である。
【００４８】
（第２の実施形態）図６は、本発明の第2の実施形態によるMPEG符号化装置の量子化にかかわる部分のブロック図である。本実施形態は、特許文献２が開示する、量子化スケールの上限および下限値を設定することで可変ビットレート制御を実現する方式(特許文献2の請求項4を参照)に対して、本発明の技術思想を適用したものである。
【００４９】
前述の第１の実施形態のブロック図に加え、目標平均ビットレートで動作する仮想VBV計算器23、VBR用最大量子化スケール計算器20、VBR用最小量子化スケール計算器21、クリッピング計算器22が加わった構成となっており、その他のブロックは基本的に第1の実施の形態と同一の動作となる。
【００５０】
仮想VBV計算機23は、VBVバッファに目標平均ビットレートで符号が蓄積され、復号のタイミングでVBVバッファから復号に必要な符号が消費されるという条件で、VBVバッファに蓄積されている符号量を計算する。
【００５１】
本実施の形態においては、第1の実施形態とは異なり、最小量子化スケール計算器1で求められた最小量子化スケールと、VBR用最大量子化スケール計算器20で計算された量子化スケールの上限値との間で最大値が選択される。こうして得られた量子化スケールを量子化スケールの最大値とし、また、VBR用最小量子化スケール計算器21で計算された量子化スケールの下限値を量子化スケールの最小値として、クリッピング計算器22において、ビットレート制御器2で計算された量子化スケールに対してクリッピング処理が行われる。
【００５２】
特許文献2では最大量子化スケールが、目標平均ビットレートのみから計算されていた。これに対し、本実施形態は目標平均ビットレートとピークビットレートの両方から計算されることになる。
【００５３】
VBR制御においてピークビットレートで動作するVBVバッファがアンダーフロー傾向に陥る場合、目標平均ビットレートで動作する仮想VBVバッファの占有量もアンダーフロー傾向へ向かう。この場合、ビットレート制御器2において計算される割り当て符号量に対し、それを超過する符号が発生するため、ビットレート制御器2が出力する量子化スケールは大きな値(例えば31)となる。
【００５４】
このとき、VBR用最大量子化スケール計算器20では画質を維持するための最大量子化スケール(例えば10)が計算され、最小量子化スケール計算器1では、VBVがアンダーフローを引き起こさないための最小の量子化スケール(例えば16)が計算される。したがって、最大値選択器4から出力される量子化スケール(この例では16)は、画質をできる限り劣化させない程度に小さく、かつVBVのアンダーフローの発生を抑制するために必要な程度に大きい量子化スケールであると捉えることができる。この値を上限として、クリッピング計算器22で量子化スケールの補正が行われることで、画質の安定化とVBVバッファアンダーフローの抑制が同時に実現される。
【００５５】
VBVバッファがアンダーフロー傾向にない場合、VBR用最小量子化スケール計算器21の出力は、符号化に用いられる量子化スケールに何の影響も与えない。このため、VBVバッファがアンダーフロー傾向の場合を除けば特許文献2に示されたVBR制御の特性を損なうことはない。
【００５６】
なお、前述のVBR用最大量子化スケール計算器20は、例えば、量子化誤差の上限値、もしくは、量子化誤差の期待値を用いて量子化スケールの上限値を求めるものであっても構わない。もしくは、予め設定された上限値をそのまま出力しても構わない。
【００５７】
また、前述のVBR用最小量子化スケール計算器21は、例えば予め設定された下限値をそのまま出力しても構わない。
【図面の簡単な説明】
【００５８】
【図１】第１の実施形態の画像符号化装置のブロック図
【図２】第１の実施形態の画像符号化装置の全体構成
【図３】GOPの構成と割り当て符号量の計算
【図４】ビットレート制御器2が目指すVBV占有量
【図５】最小量子化スケール計算器が補償するVBV遷移
【図６】第２の実施形態の画像符号化装置のブロック図
【符号の説明】
【００５９】
1…最小量子化スケール計算器
2…ビットレート制御器
3…上限ビット量計算器
4…最大値選択器
10…最大符号量計算器
11…最小量子化スケール計算器
20…VBR用最大量子化スケール計算器
21…VBR用最小量子化スケール計算器
22…クリッピング計算器
23…仮想VBV計算器
101…動き検出器
102…動き補償器
103…フレームメモリ
104…減算器
105…加算器
106…離散コサイン変換器
107…逆離散コサイン変換器
108…量子化器
109…逆量子化器
110…可変長符号化器
111…量子化制御器
【図１】
2006295535.tif 000009
【図２】
2006295535.tif 000010
【図３】
2006295535.tif 000011
【図４】
2006295535.tif 000012
【図５】
2006295535.tif 000013
【図６】
2006295535.tif 000014