(57)【要約】【課題】  動画シーケンスをいずれもイントラピクチャーのみを利用して符号化する時のビット率制御方法及び装置を提供する。【解決手段】  本発明によるビット率制御方法は、イントラピクチャーのみで構成された動画シーケンスを、ピクチャーグループ単位、スライス単位及びマクロブロック単位で分離してビット率制御を行い、符号化時に一定のビット量が発生するように誘導することによってバッファのオーバーフロー及びアンダーフローを防止できる。【選択図】      図３
2008306705.tif 000002
【特許請求の範囲】
【請求項１】
イントラピクチャーのみを利用した映像シーケンス符号化時のビット率制御方法において、
前記イントラピクチャーを複数のピクチャーグループに分割し、前記複数のピクチャーグループの目標ビット量を決定するステップと、
第１ピクチャーグループに備えられたイントラピクチャーを複数のスライスに分割し、前記第１ピクチャーグループの目標ビット量に基づいて前記複数のスライスの目標ビット量を決定するステップと、
前記複数のスライスのうち、第１スライスの目標ビット量に基づいて前記第１スライスに備えられた第１マクロブロックの目標ビット量を決定するステップと、
前記決定された第１マクロブロックの目標ビット量と、以前マクロブロックまで発生したビット量、及びバッファ充満度を考慮して、符号化される現在マクロブロックの量子化係数を計算するステップと、を含むことを特徴とするビット率制御方法。
【請求項２】
前記イントラピクチャーを複数のピクチャーグループに分割するステップは、
前記イントラピクチャーが複数の色成分映像を含む共通モードイントラピクチャーである場合、前記ピクチャーグループに同数のイントラピクチャーが備えられるように前記イントラピクチャーを分割することを特徴とする請求項１に記載のビット率制御方法。
【請求項３】
前記イントラピクチャーを複数のピクチャーグループに分割するステップは、
前記イントラピクチャーが複数の色成分映像を含む共通モードイントラピクチャーである場合、前記イントラピクチャーのうち、場面転換されるイントラピクチャーを基準に前記イントラピクチャーを分割することを特徴とする請求項１に記載のビット率制御方法。
【請求項４】
前記イントラピクチャーを複数のピクチャーグループに分割するステップは、
前記イントラピクチャーが、複数の色成分映像のうち、ただ一つの色成分映像のみを含む独立モードイントラピクチャーである場合、第１ピクチャーグループに備えられた第１色成分映像のイントラピクチャーの数と第２ピクチャーグループに備えられた第２色成分映像の数とが同一になるように前記イントラピクチャーを分割することを特徴とする請求項１に記載のビット率制御方法。
【請求項５】
前記イントラピクチャーを複数のピクチャーグループに分割するステップは、
前記複数のイントラピクチャーが、複数の色成分映像のうち、一つの色成分映像のみを含む独立モードイントラピクチャーである場合、一つのピクチャーグループには、前記複数の色成分映像のうち、選択された一つの色成分映像のイントラピクチャーのみ備えられるように前記イントラピクチャーを分割することを特徴とする請求項１に記載のビット率制御方法。
【請求項６】
前記分割されたピクチャーグループの目標ビット量を決定するステップは、
現在符号化されるマクロブロックが含まれたｉ番目（ｉ≧０）ピクチャーグループの目標ビット量をＲＧＯＰ（ｉ）、現在ｉ番目のピクチャーグループ以前のｉ−１番目のピクチャーグループに割り当てられた目標ビット量をＲＧＯＰ（ｉ−１）、ＲＧＯＰ（−１）＝０、ｋは、ｉ番目のピクチャーグループに備えられた総イントラピクチャーの数、ｂｉｔ＿ｒａｔｅは、秒当たり発生するビット量、ｐｉｃｔｕｒｅ＿ｒａｔｅは、秒当たり発生するイントラピクチャーの数とする時、次の数式
【数１】
2008306705.tif 000015
を利用して、前記現在符号化されるマクロブロックが含まれたｉ番目のピクチャーグループの目標ビット量ＲＧＯＰ（ｉ）を決定することを特徴とする請求項１に記載のビット率制御方法。
【請求項７】
前記スライスの目標ビット量を決定するステップは、
ＲＧＯＰ（ｉ，ｊ）は、ｉ番目のピクチャーグループに割り当てられたビット量のうち、ｊ番目のスライスを符号化する時点で使用可能なビット量、ＮＳｌｉｃｅ（ｉ，ｊ）は、ｉ番目のピクチャーグループのｊ番目のスライスを符号化する時にピクチャーグループ内でまだ符号化されていないスライスの数、
【数２】
2008306705.tif 000016
は、スライスに割り当てられねばならないビット量の最小値、ＴＳｌｉｃｅ（ｉ，ｊ）は、ｉ番目のピクチャーグループのｊ番目のスライスに該当する現在スライスに割り当てられるビット量を表すという時、次の数式
【数３】
2008306705.tif 000017
を利用して現在スライスに割り当てられるビット量を決定することを特徴とする請求項１に記載のビット率制御方法。
【請求項８】
前記第１マクロブロックの目標ビット量を決定するステップは、
ｉ番目のピクチャーグループのｊ番目のスライスでの現在マクロブロックの目標ビット量をＴＭＢ（ｉ，ｊ）、前記スライスに備えられたマクロブロック数をｎＳｌｉｃｅという時、次の数式
【数４】
2008306705.tif 000018
を利用して前記現在マクロブロックの目標ビット量を決定することを特徴とする請求項１に記載のビット率制御方法。
【請求項９】
前記現在マクロブロックの量子化係数を決定するステップは、
バッファ充満度、前記第１マクロブロック単位の目標ビット量及び以前マクロブロックまで発生したビット量を考慮して、現在マクロブロックを符号化するための量子化係数を計算するステップと、
前記バッファ充満度と所定の基準値とを比較して、前記バッファ充満度の大きさによって前記バッファのオーバーフロー及びアンダーフロー如何を判断して、前記量子化係数の補正のための補正値を生成するステップと、
前記補正値と前記計算された量子化係数とを加えて、補正された量子化係数を計算するステップと、を含むことを特徴とする請求項１に記載のビット率制御方法。
【請求項１０】
前記第１スライスに備えられたあらゆるマクロブロックに対する符号化が完了すれば、前記複数のスライスのうち、第２スライスの符号化のためにビット率制御に関連した変数値を更新するステップをさらに含むことを特徴とする請求項１に記載のビット率制御方法。
【請求項１１】
イントラピクチャーのみを利用した映像シーケンス符号化時のビット率制御装置において、
符号化されたビット列を臨時保存するバッファと、
前記イントラピクチャーを複数のピクチャーグループに分割し、前記分割されたピクチャーグループの目標ビット量を決定するピクチャーグループ単位目標ビット量決定部と、
第１ピクチャーグループに備えられたイントラピクチャーを複数のスライスに分割し、前記第１ピクチャーグループの目標ビット量に基づいて前記複数のスライスの目標ビット量を決定するスライス単位目標ビット量決定部と、
第１スライスの目標ビット量に基づいて前記複数のスライスのうち、第１スライスに備えられた第１マクロブロックの目標ビット量を決定するマクロブロック単位目標ビット量決定部と、
前記バッファの充満度、前記決定された第１マクロブロック単位の目標ビット量、以前マクロブロックまで発生したビット量を考慮して、現在マクロブロックを符号化するための量子化係数を決定し、前記現在マクロブロックの符号化時点でバッファ充満度の大きさと所定の基準値とを比較して前記バッファ充満度による補正値を生成し、前記生成された補正値と量子化係数とを加えることによって補正された量子化係数を生成して出力するビット率調整部と、
前記補正された量子化係数に基づいて現在マクロブロックを量子化してビット列を生成する符号化部と、を備えることを特徴とするビット率制御装置。
【請求項１２】
前記ピクチャー単位目標ビット量決定部は、
前記イントラピクチャーが、複数の色成分映像を含む共通モードイントラピクチャーである場合、前記ピクチャーグループに同数のイントラピクチャーが備えられるように前記イントラピクチャーを分割することを特徴とする請求項１１に記載のビット率制御装置。
【請求項１３】
前記ピクチャー単位目標ビット量決定部は、
前記イントラピクチャーが、複数の色成分映像を含む共通モードイントラピクチャーである場合、前記イントラピクチャーのうち、場面転換されるイントラピクチャーを基準に前記イントラピクチャーを分割することを特徴とする請求項１１に記載のビット率制御装置。
【請求項１４】
前記ピクチャー単位目標ビット量決定部は、
前記イントラピクチャーが、複数の色成分映像のうち、一つの色成分映像のみを含む独立モードイントラピクチャーである場合、第１ピクチャーグループに備えられた第１色成分映像のイントラピクチャーの数が、第２ピクチャーグループに備えられた第２色成分映像のイントラピクチャーの数と同一になるように前記イントラピクチャーを分割することを特徴とする請求項１１に記載のビット率制御装置。
【請求項１５】
前記ピクチャー単位目標ビット量決定部は、
前記イントラピクチャーそれぞれが、複数の色成分映像のうち、一つの色成分映像のみを含む独立モードイントラピクチャーである場合、一つのピクチャーグループには、前記複数の色成分映像のうち、選択された一つの色成分映像のイントラピクチャーのみ備えられるように前記イントラピクチャーを分割することを特徴とする請求項１１に記載のビット率制御装置。
【請求項１６】
前記ピクチャー単位目標ビット量決定部は、
現在符号化されるマクロブロックが含まれたｉ番目（ｉ≧０）ピクチャーグループの目標ビット量をＲＧＯＰ（ｉ）、現在ｉ番目のピクチャーグループ以前のｉ−１番目のピクチャーグループに割り当てられた目標ビット量をＲＧＯＰ（ｉ−１）、ＲＧＯＰ（−１）＝０、ｋは、ｉ番目のピクチャーグループに備えられた総イントラピクチャーの数、ｂｉｔ＿ｒａｔｅは、秒当たり発生するビット量、ｐｉｃｔｕｒｅ＿ｒａｔｅは、秒当たり発生するイントラピクチャーの数とする時、次の数式
【数５】
2008306705.tif 000019
を利用して、前記現在符号化されるマクロブロックが含まれたｉ番目のピクチャーグループの目標ビット量ＲＧＯＰ（ｉ）を決定することを特徴とする請求項１１に記載のビット率制御装置。
【請求項１７】
前記スライス単位目標ビット量決定部は、
ＲＧＯＰ（ｉ，ｊ）は、ｉ番目のピクチャーグループに割り当てられたビット量のうち、ｊ番目のスライスを符号化する時点で使用可能なビット量、ＮＳｌｉｃｅ（ｉ，ｊ）は、ｉ番目のピクチャーグループのｊ番目のスライスを符号化する時にピクチャーグループ内でまだ符号化されていないスライスの数、
【数６】
2008306705.tif 000020
は、スライスに割り当てられねばならないビット量の最小値、ＴＳｌｉｃｅ（ｉ，ｊ）は、ｉ番目のピクチャーグループのｊ番目のスライスに該当する現在スライスに割り当てられるビット量を表すという時、次の数式
【数７】
2008306705.tif 000021
を利用して、現在スライスに割り当てられるビット量を決定することを特徴とする請求項１１に記載のビット率制御装置。
【請求項１８】
前記マクロブロック単位目標ビット量決定部は、
ｉ番目のピクチャーグループのｊ番目のスライスでの現在マクロブロックの目標ビット量をＴＭＢ（ｉ，ｊ）、前記スライスに備えられたマクロブロック数をｎＳｌｉｃｅという時、次の数式
【数８】
2008306705.tif 000022
を利用して、前記現在マクロブロックの目標ビット量を決定することを特徴とする請求項１１に記載のビット率制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビット率制御に係り、より具体的には、動画シーケンスをいずれもイントラピクチャーのみを利用して符号化する時のビット率制御方法及び装置に関する。
【背景技術】
【０００２】
最近ＪＶＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）で標準化が進行中のＨ．２６４Ｈｉｇｈ  ４：４：４プロファイルでは、Ｈｉｇｈ４：４：４ｉｎｔｒａ−ｏｎｌｙプロファイルを別途に定義して、動画シーケンス内のあらゆるピクチャーをイントラピクチャーで符号化する方法を制定している。イントラピクチャーのみを利用したコーディングは特に、ＨＤ（ＨｉｇｈＤｅｆｉｎｉｔｉｏｎ）級以上の高解像度、高画質の映像が要求される医学、映像編集システム、専門家用カムコーダなどの応用分野に適用できる。少ない遅延及び短い待ち時間が要求されるリアルタイム動画伝送システムも、イントラピクチャーのみを利用したコーディングの応用分野のうち一つである。
【０００３】
リアルタイム動画伝送システムでビット率制御は相当重要な意味を持つ。リアルタイム動画伝送システムでは少ない遅延及び短い待ち時間が要求されるために、最小限１フレームの遅延が必要なインターコーディングが適用され難く、固定ビット率を持つビット列を生成する必要がある。動画の符号化パラメータを調整するだけでは固定ビット率を満たせないので、固定ビット率を生成するために、ビット列を臨時保存するバッファでビット率を調整する。短い待ち時間を満たすためには、ビット列保存のためのバッファのサイズが小さく制限される。したがって、バッファのアンダーフロー及びオーバーフローが発生する可能性が大きくなる。従来ビット率制御方法では、オーバーフローが発生すれば量子化係数を増加させるか、マクロブロックまたはフレーム単位のスキップを通じてビット率を調節し、アンダーフローが発生すれば量子化係数を減少させるか、バッファ制御部でヌルパケットなどを挿入することによってビット率を調節する。したがって、オーバーフローが発生すれば映像品質が低下し、アンダーフローが発生すればチャンネル容量が浪費されるという問題が発生する。特に、イントラピクチャーのみを利用したコーディングでは、アンダーフローよりオーバーフローの場合が深刻な問題を招く。イントラピクチャーのみを利用したコーディングでは、マクロブロックまたはフレーム単位のスキップが不可能なために、量子化係数のみを調節することによってオーバーフローを解決せねばならない。
【０００４】
従来の固定ビット率制御方法の大部分は、イントラピクチャーとインターピクチャーとで構成された動画シーケンスを仮定して行われる。従来の固定ビット率制御方法によれば、シーケンス単位で目標ビット率が設定されれば、ＧＯＰ（グループ  オブ  ピクチャー）単位で目標ビット量が割り当てられる。ここで、ＧＯＰは、１個のイントラピクチャーと複数のインターピクチャー（ＰピクチャーまたはＢピクチャー）とで構成されるピクチャー集合を意味する。図１は、一般的なＧＯＰの一例を示す図であり、図１では、一つのＧＯＰ  １０内に１個のＩピクチャー、２個のＰピクチャー及び６個のＢピクチャーが存在する。ＧＯＰ単位で割り当てられたビット量は、ピクチャー種類と複雑度などを考慮してＧＯＰ内部の各ピクチャーに分配される。ピクチャー単位で割り当てられた目標ビット量と実際発生したビット量、バッファ充満度などを考慮して最終的なマクロブロック単位の量子化係数が決定されることによってビット率制御が行われる。
【０００５】
しかし、従来技術によるビット率制御方法は、前述したようにＧＯＰ内にＩピクチャーだけではなくＰピクチャーまたはＢピクチャーが混在された場合を仮定しているために、イントラピクチャーのみを利用したコーディング時に適用され難いという問題点がある。また、従来技術によるビット率制御方法では、マクロブロック単位で固定ビット率を持つビット率の生成が難しいために、オーバーフローやアンダーフローが発生する確率が大きい。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする技術的課題は、イントラピクチャーのみを利用した動画シーケンスの符号化時にビットストリームバッファのオーバーフロー及びアンダーフローを防止して、固定ビット率を持つビット列を生成するビット率制御方法及び装置を提供することである。
【課題を解決するための手段】
【０００７】
前述した技術的課題を解決するために、本発明によるビット率制御方法は、前記イントラピクチャーを複数のピクチャーグループに分割し、前記複数のピクチャーグループの目標ビット量を決定するステップと、第１ピクチャーグループに備えられたイントラピクチャーを複数のスライスに分割し、前記第１ピクチャーグループの目標ビット量に基づいて前記複数のスライスの目標ビット量を決定するステップと、前記複数のスライスのうち、第１スライスの目標ビット量に基づいて前記第１スライスに備えられた第１マクロブロックの目標ビット量を決定するステップと、前記決定された第１マクロブロックの目標ビット量と、以前マクロブロックまで発生したビット量、及びバッファ充満度を考慮して、符号化される現在マクロブロックの量子化係数を計算するステップと、を含むことを特徴とする。
【０００８】
本発明による映像シーケンス符号化時のビット率制御装置は、符号化されたビット列を臨時保存するバッファと、前記イントラピクチャーを複数のピクチャーグループに分割し、前記分割されたピクチャーグループの目標ビット量を決定するピクチャーグループ単位目標ビット量決定部と、第１ピクチャーグループに備えられたイントラピクチャーを複数のスライスに分割し、前記第１ピクチャーグループの目標ビット量に基づいて前記複数のスライスの目標ビット量を決定するスライス単位目標ビット量決定部と、第１スライスの目標ビット量に基づいて前記複数のスライスのうち、第１スライスに備えられた第１マクロブロックの目標ビット量を決定するマクロブロック単位目標ビット量決定部と、前記バッファの充満度、前記決定された第１マクロブロック単位の目標ビット量、以前マクロブロックまで発生したビット量を考慮して、現在マクロブロックを符号化するための量子化係数を決定し、前記現在マクロブロックの符号化時点でバッファ充満度の大きさと所定の基準値とを比較して前記バッファ充満度による補正値を生成し、前記生成された補正値と量子化係数とを加えることによって補正された量子化係数を生成して出力するビット率調整部と、前記補正された量子化係数に基づいて現在マクロブロックを量子化してビット列を生成する符号化部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、イントラピクチャーのみで構成された動画シーケンスを符号化する時、マクロブロック単位で一定のビット量を発生させることによって、ビット列を保存するバッファのオーバーフロー及びアンダーフローの発生を防止できる。また、本発明はイントラピクチャーのみで構成された動画シーケンスを符号化する時に発生するビット率を一定に維持することによって、高画質の動画をリアルタイムで伝送するシステムに適用できる。
【発明を実施するための最良の形態】
【００１０】
以下、添付された図面を参照して本発明の望ましい実施形態について詳細に説明する。
【００１１】
図２は、本発明によるビット率制御方法を簡略に示すフローチャートである。
【００１２】
本発明によるビット率制御方法は、イントラピクチャーのみで構成された動画シーケンスを符号化する時、ＧＯＰ（以下、“ピクチャーグループ”という）単位のビット率制御、スライス単位のビット率制御及びマクロブロック単位のビット率制御を行う階層的構造を持つ。図２を参照するに、ステップ２１０でイントラピクチャーのみで構成された入力映像シーケンスをピクチャーグループに分割し、各ピクチャーグループに割り当てられる目標ビット量を設定することによってピクチャーグループ単位のビット率を制御する。特に、本発明はイントラピクチャーのみで構成された入力動画シーケンスのビット率制御のために、イントラピクチャーの類型によってピクチャーグループを生成する方法を提案する。イントラピクチャーのみで構成された動画シーケンスをピクチャーグループに分割する方法については後述する。
【００１３】
ステップ２２０で、各分割されたピクチャーグループに備えられたイントラピクチャーをスライス単位で分割する。そして、現在スライスが属するピクチャーグループの目標ビット量とピクチャーグループ内の総スライスの数などに基づいてスライス単位で目標ビット量を割り当て、現在スライスに備えられたあらゆるマクロブロックに対する符号化が完了すれば、再び次のスライスの符号化のためにビット率制御に関連した変数値の更新を行うことによってスライス単位のビット率制御を行う。
【００１４】
ステップ２３０で、スライスに備えられたマクロブロックに対して目標ビット量を割り当て、該割り当てられたマクロブロックの目標ビット量と以前マクロブロックまで発生したビット量、及びバッファ充満度を考慮して現在マクロブロックの量子化係数を計算する一方、現在マクロブロックの符号化時点でのバッファ状態によって量子化係数を補正することによって補正された量子化係数を決定し、補正された量子化係数によって現在マクロブロックに対する符号化を行うことによってマクロブロック単位のビット率制御を行う。
【００１５】
図３は、本発明によるビット率制御方法を具体的に示すフローチャートである。図３を参照するに、ステップ３１０で入力映像シーケンスに備えられたイントラピクチャーをピクチャーグループに分割し、分割されたピクチャーグループの目標ビット量を決定する。
【００１６】
従来技術によれば、Ｐピクチャー及びＢピクチャーを含む映像シーケンスをピクチャーグループに分割する時は、Ｉピクチャーを基準に分割することによってピクチャーグループを生成した。例えば、Ｐピクチャー及びＢピクチャーを備えるＩＢＢＰＢＢＰＩＢＢＰＢＢＰ…のような映像シーケンスが入力される場合、Ｉピクチャーを基準に映像シーケンスを分割して各ピクチャーグループが｛ＩＢＢＰＢＢＰ｝のように構成された。しかし、イントラピクチャーのみで構成された映像シーケンスをピクチャーグループに分割する場合、あらゆるピクチャーがイントラピクチャーであるため、従来技術によってＩピクチャーを基準にピクチャーグループを生成できない。したがって、本発明はイントラピクチャーのみを利用した動画コーディング時に利用可能なモード、すなわち、共通モードか、または独立モードかによって次のようにイントラピクチャーを分割してピクチャーグループを生成する。
【００１７】
図４Ａ及び図４Ｂは本発明によって共通モードコーディング時のイントラピクチャーをピクチャーグループに分割する方法を説明するための図である。ここで、共通モードコーディング時のイントラピクチャー（以下、“共通モードイントラピクチャー”という）は、一つのイントラピクチャーにあらゆる色成分の映像が含まれる場合を意味する。例えば、入力映像がＲＧＢの３つの色成分を備える場合、一つのイントラピクチャーの一つの画素がＲＧＢの３つの色成分値をいずれも持つ場合を意味する。
【００１８】
図４Ａを参照するに、各ピクチャーグループ４１、４２に同じ所定数のイントラピクチャーが備えられるようにイントラピクチャーを分割できる。図４Ａでは、各ピクチャーグループ４１、４２がそれぞれ５個のイントラピクチャーを備える場合を図示した。各ピクチャーグループに備えられるイントラピクチャーの数は、一定時点まで同一に維持していて映像特性の変化によって可変させることができる。例えば、任意のｎ番目（ｎは正の整数）ピクチャーグループまでは、各ピクチャーグループがいずれもｋ個（ｋは正の整数）のイントラピクチャーを備えるようにピクチャーグループを生成していて、ｎ＋１番目のピクチャーグループからはｍ個（ｍは正の整数、ｍ≠ｋ）のイントラピクチャーを備えるようにピクチャーグループを生成できる。
【００１９】
また、共通モードイントラピクチャーに対して入力されたイントラピクチャーのうち、場面転換されるイントラピクチャーを検出し、該検出された場面転換イントラピクチャーを基準にイントラピクチャーを分割してピクチャーグループを生成してもよい。図４Ｂを参照するに、Ｉ３ピクチャー及びＩ８ピクチャーで場面転換が発生したならば、場面転換が発生したＩ３ピクチャー及びＩ８ピクチャーを基準にピクチャーグループを生成できる。図４Ｂに示したように、場面転換されたイントラピクチャーを基準にピクチャーグループを生成する場合には、各ピクチャーグループに属するイントラピクチャーの数は互いに変わりうる。
【００２０】
図５Ａ及び図５Ｂは、本発明によって独立モードコーディング時のピクチャーグループを生成する方法を説明するための図である。図５Ａ及び図５ＢでＩＧ，ｔは、任意のｔ時間でのＧ色成分の画素のみで構成されたイントラピクチャー、ＩＢ，ｔは、任意のｔ時間でのＢ色成分の画素のみで構成されたイントラピクチャー、ＩＲ，ｔは、任意のｔ時間でのＧ色成分の画素のみで構成されたイントラピクチャーを表す。
【００２１】
独立モードコーディング時のイントラピクチャー（以下、“独立モードイントラピクチャー”という）は、一つのイントラピクチャーにただ一つの色成分画素のみ存在する場合である。すなわち、独立モードイントラピクチャーは、各色成分映像が一つの独立的なイントラピクチャーを構成する場合を意味する。独立モードイントラピクチャーは任意の３つの色成分を持つ任意の色空間信号の映像に適用できるが、説明の便宜上、一つのイントラピクチャーはＲＧＢの３つの色成分のうち、一つの色成分のみを持つ場合を中心に説明する。かかる場合、ピクチャーグループはＫＧ個のＩＧピクチャー、ＫＢ個のＩＢピクチャー、ＫＲ個のＩＲピクチャーで構成されたピクチャーの集合で定義できる。ここで、ＩＧ、ＩＢ、ＩＲは、それぞれＧ色成分、Ｂ色成分、Ｒ色成分画素のみで構成されたイントラピクチャーを意味し、変数ＫＧ、ＫＢ及びＫＲは、いずれも０より大きいか、または同じ整数であり、常にＫＧ＋ＫＢ＋ＫＲ≠０を満たせねばならない。すなわち、一つのピクチャーグループ内には少なくとも一つ色成分のイントラピクチャーは備えられねばならない。
【００２２】
図５Ａでは、一つのピクチャーグループ５１に相異なる色成分を持つイントラピクチャーが同数ほど存在する場合を図示した。すなわち、図５Ａに示した一つのピクチャーグループ５１には、ＲＧＢのうち、一つの色成分だけで構成された独立モードイントラピクチャーが各色成分別にｋ個ずつ含まれる。図５Ｂでは、一つのピクチャーグループ内にただ１種の色成分を持つイントラピクチャーのみ含まれるようにピクチャーグループを生成した場合を図示した。
【００２３】
各色成分映像のテクスチャー情報や複雑度が類似した場合には、各ピクチャーグループ内に相異なる色成分映像のイントラピクチャーを同数ほど含めることが有利であるが、特定色成分映像の複雑度またはノイズの激しい場合には、図５Ｂに示したように、各色成分映像を独立的に符号化するのがビット率制御の側面で効率的である。
【００２４】
前述したように、現在入力映像シーケンスを構成するイントラピクチャーのモードによってイントラピクチャーを分割してピクチャーグループを生成すれば、各ピクチャーグループに割り当てられるビット量の目標ビット量を計算する。共通モードイントラピクチャーの場合、任意のｉ番目（ｉ≧０）ピクチャーグループに割り当てられる目標ビット量（ＲＧＯＰ（ｉ））は、次の式（１）を通じて計算できる。
【００２５】
【数９】
2008306705.tif 000003
式（１）でＲＧＯＰ（ｉ−１）は、現在ｉ番目のピクチャーグループ以前のｉ−１番目のピクチャーグループに割り当てられた目標ビット量を表す。ＲＧＯＰ（−１）＝０であると仮定する。また、ｋは、ｉ番目のピクチャーグループに備えられた総イントラピクチャーの数、ｂｉｔ＿ｒａｔｅは、秒当たり発生するビット量、ｐｉｃｔｕｒｅ＿ｒａｔｅは、秒当たり発生するイントラピクチャーの数を意味する。
【００２６】
独立モードイントラピクチャーの場合、任意のｉ番目（ｉ≧０）ピクチャーグループに割り当てられる目標ビット量（ＲＧＯＰ（ｉ））は、次の式（２）を通じて計算できる。
【００２７】
【数１０】
2008306705.tif 000004
再び図３を参照するに、ステップ３２０でピクチャーグループに備えられたイントラピクチャーをスライス単位で分割し、ピクチャーグループの目標ビット量に基づいてピクチャーグループに備えられたスライスの目標ビット量を決定する。
【００２８】
従来のビット率制御方式では、ピクチャーグループ単位のビット率を制御した後、それぞれのピクチャー単位で目標ビット量を割り当ててビット率制御を再び行い、再びマクロブロック単位でビット率制御を行う。しかし、本発明によるビット率制御方法では、ピクチャーグループ単位でビット率制御を行った後、ピクチャー単位ではないスライス単位でビット率制御を行う。従来技術によってＨＤ級映像のようにデータのサイズの大きい映像に対してピクチャー単位でビット率制御を行う場合、ピクチャー前半部で目標ビット量より多くのビット量を消耗して、ピクチャー後半部では利用できるビット量が足りなくなって、目標ビット量より少ないビット量を割り当てて画質低下を招くか、ピクチャー前半部では少ないビット量を消耗し、ピクチャー後半部ではビット率を合せるためにピクチャー後半部の映像データには過度に多いビットを割り当てて、帯域幅を効率的に活用できない恐れがある。すなわち、従来技術によれば、画質及び発生ビット量をピクチャー内で均一に維持し難いため、ピクチャー単位でビット量を割り当てたとしても、ピクチャーより小さな単位で目標ビット量を適切に調整しなければ問題が発生できる。したがって、高解像度映像のように多くのデータが含まれた映像を符号化する場合には、ピクチャー単位よりさらに小さな単位で目標ビット量を割り当てることが望ましい。本発明によれば、ピクチャーグループ単位で目標ビット量が割り当てられれば、スライス単位で目標ビット量を割り当てることによって、結果的にピクチャー単位でも一定のビット量を発生させる。
【００２９】
スライスは、本発明によるビット率制御が行われる基準単位のうち一つであって、共通モードイントラピクチャー映像の場合、スライスは、隣接したｎｓｌｉｃｅ個のマクロブロックで構成されたマクロブロックグループと定義される。ここでｎｓｌｉｃｅは、次の式（３）を満たせねばならない。
【００３０】
【数１１】
2008306705.tif 000005
式（３）でｎｐｉｃは、一つのイントラピクチャー内に備えられた全体マクロブロックの数を表し、ｍｏｄは、モジュラー演算を表す。スライスは、１個のマクロブロックのみで構成されてもよく、ピクチャー全体が一つのスライスで構成されてもよい。一例として、図６では、本発明によって一つのピクチャーグループ６００内に備えられたｋ個の共通モードイントラピクチャーそれぞれをｎ個のスライスに分割した場合を図示した。
【００３１】
独立モードイントラピクチャーをスライス単位で分割する場合には、同じ色成分のイントラピクチャー内部に存在するマクロブロックのみで一つのスライスを構成するか、または相異なる色成分のイントラピクチャーで同じ位置に存在する所定数のマクロブロックで一つのスライスを構成してもよい。例えば、ＲＧＢコーディング時の場合、Ｇ色成分のイントラピクチャー、Ｒ色成分のイントラピクチャー、Ｂ色成分のイントラピクチャーをそれぞれスライス単位で分割できる。また、Ｇ色成分のイントラピクチャーの所定数のマクロ、Ｒ色成分のイントラピクチャー、Ｂ色成分のイントラピクチャーの同じ位置に存在する所定数のマクロブロックを一つに集めて一つのスライスと定義してもよい。
【００３２】
スライスの目標ビット量は、次の式（４）を通じて計算できる。
【００３３】
【数１２】
2008306705.tif 000006
式（４）でＴＳｌｉｃｅ（ｉ，ｊ）は、ｉ番目のピクチャーグループのｊ番目のスライスに割り当てられるビット量、ＲＧＯＰ（ｉ，ｊ）は、ｉ番目のピクチャーグループに割り当てられたビット量のうち、ｊ番目のスライスを符号化する時点で使用可能なビット量を表す。また、ＮＳｌｉｃｅ（ｉ，ｊ）は、ｉ番目のピクチャーグループのｊ番目のスライスを符号化する時、ピクチャーグループ内でまだ符号化されていないスライスの数を表す。例えば、ｉ番目のピクチャーグループがｋ個のイントラピクチャーで構成され、各イントラピクチャーがｎ個のスライスに分割される場合、ＮＳｌｉｃｅ（ｉ，ｊ）＝ｋｎ−１になる。
【００３４】
【数１３】
2008306705.tif 000007
は、スライスに割り当てられねばならないビット量の最小値を表し、次の式（５）を通じて計算できる。
【００３５】
【数１４】
2008306705.tif 000008
式（５）は、８ビット映像を仮定した場合であり、ｎビット映像ならば、式（５）で８の代わりにｎを代入すればよい。
【００３６】
再び図３を参照するに、ステップ３２０で式（４）を利用してスライスの目標ビット量が決定されれば、ステップ３３０でスライスの目標ビット量に基づいてスライスに備えられたマクロブロックの目標ビット量を決定する。
【００３７】
ｉ番目のピクチャーグループのｊ番目のスライスでのマクロブロック単位の目標ビット量をＴＭＢ（ｉ，ｊ）といえば、ＴＭＢ（ｉ，ｊ）は、次の式（６）を通じて計算できる。
【００３８】
【数１５】
2008306705.tif 000009
すなわち、スライスに備えられたマクロブロックの目標ビット量は、スライスに割り当てられた目標ビット量をスライスに備えられたマクロブロックの数で割ることで計算できる。
【００３９】
一方、一つのスライスに備えられたあらゆるマクロブロックに対する符号化が完了すれば、次のスライスの符号化のためにビット率制御に関連した変数値を更新する必要がある。例えば、ｉ番目のピクチャーグループのｊ番目のスライスの符号化が完了すれば、次のｊ＋１番目のスライスの符号化のために、ｉ番目のピクチャーグループのｊ＋１番目のスライスに割り当てられる時点で利用可能なビット量を表すＲＧＯＰ（ｉ，ｊ＋１）、ｉ番目のピクチャーグループのｊ＋１番目のスライスを符号化するために必要なバッファの量を表すｄＳｌｉｃｅ（ｉ，ｊ＋１）、ｉ番目のピクチャーグループのｊ＋１番目のスライスを符号化する時、ｉ番目のピクチャーグループのスライスのうち、まだ符号化されていないスライスの数を表すＮＳｌｉｃｅ（ｉ，ｊ＋１）それぞれを、次の式（７）を利用して更新する。
【００４０】
【数１６】
2008306705.tif 000010
式（７）でＢＳｌｉｃｅ（ｉ，ｊ）は、ｉ番目のピクチャーグループのｊ番目のスライスの符号化に利用された実際ビット量を意味する。
【００４１】
ステップ３４０で、現在マクロブロックの量子化のための量子化係数を決定する。具体的に、バッファ充満度、マクロブロック単位の目標ビット量、以前マクロブロックまで発生したビット量などを考慮して、各マクロブロックを符号化するための量子化係数を計算できる。量子化係数は多様なアルゴリズムを適用して計算でき、一例として、ストモデル５（ＴＭ５）と知られた量子化係数決定アルゴリズムを適用する場合、ｉ番目のピクチャーグループのｊ番目のスライス内のｋ番目のマクロブロックに適用される量子化係数ＱＰｋは、次の式（８）のように計算される。
【００４２】
【数１７】
2008306705.tif 000011
式（８）でｄ０は、現在マクロブロックが属するスライスの最初のマクロブロックを符号化する時のバッファ充満度であり、ｄＳｌｉｃｅ（ｉ，ｊ）と同じである。Ｎ＿ａｃｔｋは、ｋ番目のマクロブロックの正規化されたアクティビティを表し、ＢＭＢ（ｉ，ｊ，ｋ）は、ｉ番目のピクチャーグループのｊ番目のスライスを符号化する開始時点からｋ番目のマクロブロックの符号化完了時点まで発生した実際ビット量を意味する。式（８）でｄＭＢ（ｉ，ｊ，ｋ）は、ｉ番目のピクチャーグループのｊ番目のスライスのｋ番目のマクロブロックを符号化する時点でのバッファ充満度を表し、次の式（９）のように計算される。
【００４３】
【数１８】
2008306705.tif 000012
ステップ３５０でバッファのオーバーフローやアンダーフローを防止し、マクロブロック単位で一定のビット量が発生するように誘導するために、マクロブロック単位でバッファのオーバーフローやアンダーフロー如何を判断した後、式（８）などを利用して計算されたマクロブロックの量子化係数を補正する。
【００４４】
すなわち、本発明によれば、以前マクロブロックまでを符号化する時のバッファの充満度値を所定の基準値と比較して、バッファ充満度値によって現在マクロブロックの量子化係数の補正値を決定し、該決定された補正値を利用して計算された量子化係数を補正することによって補正された量子化係数を決定する。
【００４５】
一例として、次の表１に示したように、ｋ番目のマクロブロックを符号化する時点で）以前マクロブロックまでを符号化した時のバッファ充満度を表すｄＭＢ（ｉ，ｊ，ｋ−１）と所定の基準値Ｌ０２，Ｌ０１，ＬＵ１，ＬＵ２とを比較して、バッファの状態を判断して量子化係数補正値を決定する。
【００４６】
【表１】
2008306705.tif 000013
表１でＬＵ１とＬＵ２とは、バッファのアンダーフローを判断する基準値であり、ＬＯ１とＬＯ２とは、バッファのオーバーフローを判断する基準値である。基準値Ｌ０２，Ｌ０１，ＬＵ１，ＬＵ２は、バッファのサイズに比例して決定でき、Ｌ０２≧Ｌ０１≧ＬＵ１≧ＬＵ２を満たすと仮定する。前述した例では４個の基準値を利用してバッファのオーバーフロー及びアンダーフローを判断したが、基準値の数を増加させることによってさらに精密な量子化係数の補正を可能にする。
【００４７】
△１と△２とは、任意の正の整数であり、（ＱＰＭＡＸ−ＱＰＭＩＮ）≧△１＞△２を満たせねばならない。ＱＰＭＡＸは、量子化係数が持つ最大値、ＱＰＭＩＮは量子化係数が持つ最小値を表す。一般的にＭＰＥＧ−１、２、４基盤の動画圧縮標準ではＱＰＭＡＸ＝３１、ＱＰＭＩＮ＝１であり、Ｈ．２６４／ＡＶＣ圧縮標準ではＱＰＭＡＸ＝５１、ＱＰＭＩＮ＝０である。
【００４８】
現在マクロブロックを符号化する時点でのバッファ充満度、すなわち、以前マクロブロックまで符号化を完了した時のバッファ充満度を考慮して量子化係数補正値（△ＭＢ）が決定されれば、次の式（１０）のように量子化係数ＱＰｋに補正値（△ＭＢ）を加えて補正された量子化係数ＱＰｋ’を決定する。
【００４９】
【数１９】
2008306705.tif 000014
式（１０）を参照するに、バッファがオーバーフローの状態では補正値（△ＭＢ）が正数になって、さらに大きい量子化係数を利用して現在マクロブロックを符号化することによって発生するビット量を減少させ、バッファがアンダーフローの状態では補正値（△ＭＢ）が負数になって、さらに大きい量子化係数を利用して現在マクロブロックを符号化することによって発生するビット量が増加する。
【００５０】
図７は、本発明によるビット率制御装置の構成を示すブロック図である。図７を参照するに、本発明によるビット率制御装置７００は、符号化部７１０、ビット率調整部７２０、目標ビット量決定部７３０及びバッファ７４０を備える。
【００５１】
イントラピクチャーのみで構成される入力映像シーケンスが入力されれば、目標ビット量決定部７３０はイントラピクチャーを、ピクチャーグループ単位、スライス単位、マクロブロック単位で分割し、各分割された単位別に目標ビット量を決定する。
【００５２】
図８は、図７の目標ビット量決定部７３０の構成を示すブロック図である。図８を参照するに、目標ビット量決定部７３０は、ピクチャーグループ単位目標ビット量決定部７３１、スライス単位目標ビット量決定部７３２及びマクロブロック単位目標ビット量決定部７３３を備える。
【００５３】
ピクチャーグループ単位目標ビット量決定部７３１は、入力映像シーケンスに備えられたイントラピクチャーを所定のピクチャーグループに分割し、該分割されたピクチャーグループの目標ビット量を決定する。
【００５４】
スライス単位目標ビット量決定部７３２は、ピクチャーグループに備えられたイントラピクチャーをスライスに分割し、スライスが属するピクチャーグループの目標ビット量に基づいてスライスの目標ビット量を決定する。
【００５５】
マクロブロック単位目標ビット量決定部７３３は、スライスの目標ビット量に基づいてスライスに備えられたマクロブロックの目標ビット量を決定する。
【００５６】
再び図７を参照するに、ビット率調整部７２０は、バッファ充満度、マクロブロック単位の目標ビット量、以前マクロブロックまで発生したビット量を考慮して現在マクロブロックを符号化するための量子化係数を決定する一方、バッファ７４０の状態、すなわち、バッファ充満度を考慮して量子化係数の補正値を生成し、該生成された補正値と量子化係数とを加えることによって補正された量子化係数を生成して出力する。
【００５７】
符号化部７１０は、補正された量子化係数に基づいて現在マクロブロックを量子化してビット列を生成し、該生成されたビット列はバッファ７４０に保存されていて出力される。
【００５８】
本発明はまた、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現することができる。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取られるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、またキャリアウェーブ（例えば、インターネットを通じる伝送）の形態で具現されるものも含む。またコンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードが保存されて実行される。
【００５９】
以上、本発明についてその望ましい実施形態を中心に説明した。当業者ならば、本発明が本発明の本質的な特性から外れない範囲で変形された形態で具現されるということを理解できるであろう。したがって、開示された実施形態は限定的な観点ではなく説明的な観点で考慮されねばならない。本発明の範囲は、前述した説明ではなく特許請求の範囲に現れており、それと同等な範囲内にあるあらゆる差異点は本発明に含まれていると解釈されねばならない。
【産業上の利用可能性】
【００６０】
本発明は、ビット率制御方法及びその装置関連の技術分野に好適に用いられる。
【図面の簡単な説明】
【００６１】
【図１】一般的なＧＯＰの一例を示す図である。
【図２】本発明によるビット率制御方法を簡略に示すフローチャートである。
【図３】本発明によるビット率制御方法を具体的に示すフローチャートである。
【図４Ａ】本発明によって共通モードコーディング時のイントラピクチャーをピクチャーグループに分割する方法を説明するための図である。
【図４Ｂ】本発明によって共通モードコーディング時のイントラピクチャーをピクチャーグループに分割する方法を説明するための図である。
【図５Ａ】本発明によって独立モードコーディング時のピクチャーグループを生成する方法を説明するための図である。
【図５Ｂ】本発明によって独立モードコーディング時のピクチャーグループを生成する方法を説明するための図である。
【図６】本発明によって一つのピクチャーグループ内に備えられたｋ個の共通モードイントラピクチャーをスライスに分割した場合を示す図である。
【図７】本発明によるビット率制御装置の構成を示すブロック図である。
【図８】図７の目標ビット量決定部の構成を示すブロック図である。
【符号の説明】
【００６２】
４１、４２、４３、４４、５１、５２、５３、５４、６００  ピクチャーグループ
７００  ビット率制御装置
７１０  符号化部
７２０  ビット率調整部
７３０  目標ビット量決定部
７３２  スライス単位目標ビット量決定部
７３３  マクロブック単位目標ビット量決定部
７４０  バッファ
【図１】
2008306705.tif 000023
【図２】
2008306705.tif 000024
【図３】
2008306705.tif 000025
【図４Ａ】
2008306705.tif 000026
【図４Ｂ】
2008306705.tif 000027
【図５Ａ】
2008306705.tif 000028
【図５Ｂ】
2008306705.tif 000029
【図６】
2008306705.tif 000030
【図７】
2008306705.tif 000031
【図８】
2008306705.tif 000032