(57)【要約】ビットレートに応じて適応的な量子化器のパラメータを適用することで、ビデオ信号データをエンコードする装置及び対応する方法が提供され、少なくとも１つの参照ピクチャに関してイメージブロックにビデオ信号データをエンコードするビデオエンコーダ１００は、現在のビットレートに応じて適応的な量子化器のパラメータを適用する適応型の量子化器１３０を含む。対応する方法２００は、適応量子化器を初期化するステップ２１５、適応量子化器でビデオ信号データにより使用されるビットを計算するステップ２２５、複数のピクチャタイプのそれぞれにビットを割り当てるステップ２３０、グループオブピクチャにより使用された前のビット数から割り当てられたビットに応じて適応量子化器における差を計算し２３５、ビデオ信号データのために更新された適応量子化器を取得するステップ、ビデオ信号データの一部について適応量子化器を計算するステップ２４０、ビデオ信号データの一部をエンコードするステップ２４５、及び、ビデオ信号データのエンコードされた部分について使用される実際のビット数を取得するステップ２５０を含む。
2008522546.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの参照ピクチャに関して画像ブロックのビデオ信号データをエンコードするビデオエンコーダであって、
現在のビットレートに応じて適応的な量子化パラメータを適用する適応型の量子化器を備える、エンコーダ。
【請求項２】
前記適応型の量子化器は、グループオブピクチャ、ピクチャ、スライス及びマクロブロックのうちの少なくとも１つについてビットを割り当てる、
請求項１記載のビデオエンコーダ。
【請求項３】
画像系列の長さは未知である、
請求項１記載のビデオエンコーダ。
【請求項４】
適応型の量子化器のパラメータ対ビットレートのモデルの作成及び計算のうちの少なくとも１つを行うモデリングユニットを更に備える、
請求項１記載のビデオエンコーダ。
【請求項５】
前記適応型の量子化器は、それぞれのグループオブピクチャについてビットを割り当て、当該エンコーダは、複数のピクチャタイプのそれぞれについて適応型の量子化器のパラメータ対ビットレートのモデルを作成するモデリングユニットを更に備える、
請求項１記載のビデオエンコーダ。
【請求項６】
前記適応型の量子化器は、所与のビットレートについて画質を最適化するために適合される、
請求項１記載のビデオエンコーダ。
【請求項７】
グループオブピクチャをエンコードする方法であって、
前記グループオブピクチャ内の少なくとも１つのアイテムをエンコードするビットバジェットを計算するステップと、
計算されたビットバジェットに応じて量子化器のパラメータを調節するステップと、
前記量子化器のパラメータを更に調節するために、前記計算ステップ及び調節ステップを反復的に繰り返すステップと、
を含む方法。
【請求項８】
前記少なくとも１つのアイテムは、ピクチャ、スライス及びマクロブロックからなるグループから選択される、
請求項７記載の方法。
【請求項９】
前記グループオブピクチャは、１つのピクチャよりも大きい、
請求項７記載の方法。
【請求項１０】
前記グループオブピクチャは、２つの隣接するイントラ符号化ピクチャ間のピクチャを有し、最初のイントラ符号化ピクチャを含む、
請求項７記載の方法。
【請求項１１】
前記グループオブピクチャの長さは未知である、
請求項７記載の方法。
【請求項１２】
適応型の量子化器のパラメータ対ビットレートのモデルを作成するステップ及び計算するステップのうちの少なくとも１つを更に備える、
請求項７記載の方法。
【請求項１３】
それぞれのグループオブピクチャについてビットを割り当てるステップと、
複数のピクチャタイプのそれぞれについて適応型の量子化器のパラメータ対ビットレートのモデルを作成するステップと、
を更に含む請求項７記載の方法。
【請求項１４】
前記適応型の量子化器は、所与のビットレートについて画質を最適化するために適合される、
請求項７記載の方法。
【請求項１５】
グループオブピクチャをエンコードする装置であって、
前記グループオブピクチャ内の少なくとも１つのアイテムをエンコードするビットバジェットを計算する手段と、
計算されたビットバジェットに応じて量子化器のパラメータを調節する手段と、
前記量子化器のパラメータを更に調節するために、前記計算ステップ及び調節ステップを反復的に繰り返す手段と、
を有する装置。
【請求項１６】
前記少なくとも１つのアイテムは、ピクチャ、スライス、及びマクロブロックからなるグループから選択される、
請求項１５記載の装置。
【請求項１７】
グループオブピクチャをエンコードするプログラムステップを実行するため、コンピュータにより実行可能な命令からなるプログラムを実施する、コンピュータにより読み取り可能なプログラムストレージ装置であって、
前記プログラムステップは、
前記グループオブピクチャ内の少なくとも１つのアイテムをエンコードするビットナジェットを計算するステップと、
計算されたビットバジェットに応じて量子化器のパラメータを調節するステップと、
前記量子化器のパラメータを更に調節するために、前記計算ステップ及び調節ステップを反復的に繰り返すステップとを含む、プログラムストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオエンコーダに関し、より詳細には、ビデオエンコーダにおけるレート制御のための量子化パラメータの決定に関する。
【０００２】
本出願は、２００４年１２月２日に提出された“ＱＵＡＮＴＩＺＥＲ  ＰＡＲＡＭＥＴＥＲ  ＤＥＴＥＲＮＩＮＡＴＩＯＮ  ＦＯＲ  ＶＩＤＥＯ  ＥＮＣＯＤＥＲ  ＲＡＴＥ  ＣＯＮＴＲＯＬ”と題された米国仮出願シリアル番号６０／６３２，４５２（代理人ドケットＰＵ０４０３３２）の利益を主張するものである。
【背景技術】
【０００３】
ビデオデータは、ビットストリームの形式で一般に処理され、転送される。レート制御は、グループオブピクチャ、ピクチャ、スライス又はマクロブロックのビットを割り当てるプロセスを含む。所望のレート制御スキームは、所与のビットレートについて画質を最大化する。コンスタントビットレート（ＣＢＲ）、バリアブルビットレート（ＶＢＲ）及びエグザクトビットを含む、３つの一般的なタイプのレート制御が存在する。シーケンスの長さは知られている場合と、知られていない場合がある。知られている場合、圧縮されたストリームについて正確なビットを達成することができ、幾つかのストレージアプリケーションにとって有効である。ＣＢＲは、たとえばブロードキャストにおけるような、一定のビットレートの伝送チャネルについて使用することができる。ＣＢＲは、小さなバッファを必要とし、プッシュモードで通常は使用される。ＶＢＲは、デジタルビデオディスク（ＤＶＤ）のような、可変の帯域幅のチャネルについて使用される。ＶＢＲは、典型的に、大きなバッファを必要とし、プルモードで通常は使用される。チャネルは制限された帯域幅を有するため、ＶＢＲは２つのパラメータを有する。１つのＶＢＲパラメータは、最大のビットレートであり、他のＶＢＲパラメータは、平均のビットレートである。ＶＢＲ最大ビットレートは、あるチャネルについて設定され、ＶＢＲ平均ビットレートは、ストレージスペースについて設定される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のレート制御のための方法は、テストモデル５（ＴＭ５）レートモデルを含んでいる。残念なことに、かかる方法は、ピクチャ間で画質が余りに多く変化するのを許容し、ピクチャ内でのブロッキングを引き起こしている。
【０００５】
本発明の実施の形態は、これらの問題及び他の問題に対処するものである。
【課題を解決するための手段】
【０００６】
従来技術のこれら及び他の問題点は、ビデオエンコーダにおけるレート制御のための量子化パラメータの決定の装置及び方法により対処される。
【０００７】
本発明の原理によれば、現在のビットレートに応じて適応量子化パラメータを適用するために適応型の量子化器を含む、少なくとも１つの基準のピクチャに関する画像ブロックについてビデオ信号データをエンコードするためのビデオエンコーダが提供される。対応する方法は、適応量子化器を初期化するステップ、適応量子化器でビデオ信号データにより使用されるビットを計算するステップ、複数のピクチャタイプのそれぞれにビットを割り当てるステップ、グループオブピクチャにより使用された前のビット数から割り当てられたビットに応じて適応量子化器における差を計算し、ビデオ信号データのために更新された適応量子化器を取得するステップ、ビデオ信号データの一部について適応量子化器を計算するステップ、ビデオ信号データの一部をエンコードするステップ、及び、ビデオ信号データのエンコードされた部分について使用される実際のビット数を取得するステップを含む。
【０００８】
本発明のこれら及び他の態様、特徴並びに利点は、例示的な実施の形態の以下の説明から明らかとなり、添付図面と共に読まれることになる。  
本発明は、例示となる図面を参照することで良好に理解されるであろう。
【発明を実施するための最良の形態】
【０００９】
本発明は、ビデオエンコーダにおけるレート制御用の量子化器のパラメータの決定の装置及び方法を含む。例となる記載で記載される１つの実施の形態は、本発明の原理の適用はそのように制限されるとして解釈されるべきではないが、Ｈ．２６４ビデオエンコーダ又は類似のビデオ圧縮スキームのためのレート制御で使用可能である。新たなモデルは、ビットレートの関数として適応の量子化器のパラメータ（ＱＰ）を決定するために作成される。適応のＱＰは、様々なビットレートの画質を最適化する。前の符号化統計情報は、次のピクチャを符号化するために使用される。
【００１０】
本発明の実施の形態は、ビデオ圧縮及び符号化のためのレート制御を達成するため、ビットレートに従ってＱＰを選択する。好適な実施の形態は、ＱＰ対ビットレートモデルを作成し、計算する。グループオブピクチャ（ＧＯＰ）のためのＱＰ、及びそれぞれのタイプのピクチャのためのＱＰは、画質が所与のビットレートで最適化されるようにモデルを使用することで計算される。これら及び他の実施の形態は、ピクチャ間の画質の変動を改善し、ピクチャ内のブロッキングを改善する。
【００１１】
以下の記載は、本発明の原理を例示する。したがって、当業者であれば、本明細書で明示的に記載又は図示されていないが、本発明の原理を実施し、本発明の精神及び範囲内に含まれる様々なアレンジメントを考案することが可能なことを理解されたい。さらに、本実施の形態で参照される全ての例及び条件付きの言語は、本発明の原理の理解、及び当該技術を推進するために本発明者により寄与されるコンセプトの理解において読者を支援する教育的な目的であることが原理的に明白に意図され、かかる特に引用される例及び条件に制限することがないとして解釈されるべきである。さらに、本発明の原理、態様及び実施の形態を引用する全てのステートメントは、本発明の特定の例と同様に、本発明の構造的及び機能的な等価なものを包含することが意図される。さらに、かかる等価な構成は、将来的に開発される等価な構成、すなわち構造に関わらず同じ機能を実行する開発されたエレメントと同様に、現在知られている等価な構成を含むことが意図される。
【００１２】
図に示される様々なエレメントの機能は、適切なソフトウェアと関連するソフトウェアを実行可能なハードウェアと同様に専用のハードウェアの使用により提供される。プロセッサにより提供されたとき、機能は、単一の専用のプロセッサにより、単一のシェアドプロセッサにより、又はそのうちの幾つかが共有される複数の個々のプロセッサにより、供給される。さらに、用語「プロセッサ“ｐｒｏｃｅｓｓｏｒ”」又は「コントローラ“ｃｏｎｔｒｏｌｌｅｒ”」の明示的な使用は、ソフトウェアを実行可能なハードウェアを排他的に示すものとして解釈されるべきではなく、制限することなしに、デジタルシグナルプロセッサ（“ＤＳＰ”）ハードウェア、ソフトウェアを記憶するリードオンリメモリ（“ＲＯＭ”）、ランダムアクセスメモリ（“ＲＡＭ”）、及び不揮発性ストレージを暗黙に含む場合がある。他のハードウェア、コンベンショナル及び／又はカスタムも含まれる場合がある。
【００１３】
本発明の請求項では、特定の機能を実行する手段として表現されるエレメントは、たとえば、ａ）その機能を実行する回路エレメントの組み合わせ、又はｂ）その機能を実行するためにそのソフトウェアを実行するための適切な回路で結合される、ファームウェア、マイクロコード等を含む任意の形式でのソフトウェアを含む、その機能を実行する方法を包含することが意図される。かかる請求項により定義される本発明は、様々な引用された手段により提供される機能が結合され、請求項が求める方式で集約することにある。出願人は、本明細書に示される構成に等価な機能を提供することができる手段を考慮する。
【００１４】
図１に示されるように、レート制御のための量子化パラメータの決定によるビデオエンコーダは、参照符号１００により一般に示されている。エンコーダ１００への入力は、サミングジャンクション１１０の非反転入力との信号通信（ｓｉｇｎａｌ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）で接続される。サミングジャンクション１１０の出力は、ブロックトランスフォーマ１２０との信号通信で接続される。エンコーダ１００への入力は、トランスフォーマ１２０の第二の入力に接続されるその出力を有する、Ｉピクチャのイントラ予測ブロック１１５との信号通信で更に接続される。トランスフォーマ１２０は、量子化器１３０との信号通信で接続される。
【００１５】
本明細書に記載される本発明は量子化器１３０の概念的な部分であるが、レート制御のための個別の量子化器パラメータの決定ユニットが、どの量子化器のパラメータを使用するかを示すユニット間のシグナリングにより、代替的な実施の形態で量子化器１３０に供給することが理解される。量子化器１３０の出力は、可変長コーダ（“ＶＬＣ”）１４０との信号通信で接続され、ＶＬＣ１４０の出力は、エンコーダ１００の外部的に利用可能な出力である。
【００１６】
量子化器１３０の出力は、逆量子化器１５０との信号通信で更に接続され、逆量子化器１５０は、リファレンスピクチャストア１７０との信号通信で接続される。リファレンスピクチャストア１７０の第一の出力は、多数のリファレンスピクチャの動き予測１８０の第一の入力との信号通信で接続される。エンコーダ１００の入力は、動き予測器１８０の第二の入力との信号通信で更に接続される。
【００１７】
動き予測器１８０の出力は、動き補償器１９０の第一の入力との信号通信で接続される。リファレンスピクチャストア１７０の第二の出力は、動き補償器１９０の第二の入力との信号通信で接続される。動き補償器１９０の出力は、サミングジャンクション１１０の反転入力との信号通信で接続される。
【００１８】
図２に戻り、本発明に係るレート制御の量子化パラメータの決定による例示的な符号化プロセスは、参照符号２００により一般に示される。プロセス２００は、グループオブピクチャ（ＧＯＰ）の符号化を開始するため、開始ポイント２１０を含む。初期化ステップ２１５は、量子化パラメータ（ＱＰ）を初期化するために使用される。ステップ２２０では、現在のＧＯＰのビットの計算が実行される。ステップ２２５は、重み関数でセーブされたビットを加算し、重み関数で使い過ぎのビットを減算する。ステップ２３０は、ビットをそれぞれのタイプのピクチャに割り当てる。ステップ２３５は、前のＧＯＰビットから差ＱＰ（ＤＱＰ）を計算し、現在のＧＯＰのＱＰを取得する。
【００１９】
ステップ２４０は、現在のピクチャについてＱＰを計算し、ピクチャをエンコードするためにステップ２４５に制御を送る。ステップ２５０は、ピクチャの実際のビット数を決定し、判定ステップ２５５に制御を送る。判定ステップ２５５は、新たなＧＯＰを開始するかを判定し、開始すべきであると判定した場合、新たなＧＯＰについてビットを計算するためにステップ２２０に制御を送る。他方で、判定ステップ２５５が新たなＧＯＰを開始しないと判定した場合、それぞれのタイプのピクチャについてビットを割り当てるため、ステップ２３０に制御を戻す。
【００２０】
ここで図３に戻り、本発明の原理に係るレート制御のためのビットレート対量子化器パラメータのプロットは、参照符号３００により一般に示される。ここで、量子化器のパラメータ値は水平軸に沿って示され、ビットレート値は、垂直軸に沿って示されている。例示的なプロットは、１９２０×１０８０のピクチャサイズ及び２４ＨｚでＨＤビデオのＱＰ及びビットレート曲線を示す。この例示的な実施の形態では、量子化器のパラメータ値は、以下の式に従ってビットレートの減少に関して一般に増加する。
【００２１】
【数１】
2008522546.tif 000003
レート制御は、グループオブピクチャ、ピクチャ、スライス及び／又はマクロブロックについてビットを割り当てるプロセスを含む。本発明の好適な実施の形態は、シーケンスの長さが未知であることを想定している。グループオブピクチャ（ＧＯＰ）は、２つの隣接するイントラ符号化ピクチャ間のピクチャを含み、最初のイントラ符号化ピクチャを含む。
【００２２】
本発明の好適な実施の形態は、ビットレート及び／又はストレージの要件に適合し、バッファのオーバフロー及びアンダーフローを回避し、所望のビット数で良好な画質をエンコードし、ピクチャ間の画質の分散を制限し、所望のビットレートで良好なシーケンスの品質をエンコードする。ビットバジェットは、シーケンス、ＧＯＰ、ピクチャ、スライス及び／又はマクロブロックについて使用される。
【００２３】
ビットバジェットは、たとえば、シーケンスの全体のビット及び／又は長さが未知であり、ＧＯＰが２つの隣接するＩピクチャ間のピクチャを意味し、Ｉ，Ｐ及びＢタイプのピクチャの最初のピクチャビットバジェットがＩ：Ｐ：Ｂ＝６：３：１であることを想定している。割合は、それぞれのＧＯＰがエンコードされた後にアップデートされる場合がある。たとえば続いて起こるＧＯＰについて最初のビットバジェットの割合は、前のＧＯＰから得られるビットバジェットの割合に初期化される。ビットは、ＧＯＰビット（ＶＢＲのためにのみ使用）、平均ＧＯＰビット、前のＧＯＰビット、及び全体の利用可能なビットの最大数に対応する。
【００２４】
符号化の複雑さの推定は、絶対差分（ａｂｓｏｌｕｔｅ  ｄｉｆｆｅｒｅｎｃｅ）の合計としてＩピクチャ又はイントラブロックについて得られ、絶対予測差分の合計としてＰピクチャについて得られ、絶対の双方向予測差分の合計としてＢピクチャについて得られ、絶対差分の合計としてマクロブロックについて得られる。
【００２５】
例示的なＶＢＲの実施の形態について、それぞれのピクチャがエンコードされた後、エンコーダのバッファレベルは、ピクチャビットの数により増加され、ビットレートは、｛最大ビットレート、ピクチャレートで乗算されるエンコーダのバッファレベル、及びピクチャレートで乗算される（デコーダのバッファサイズ−デコーダのバッファレベル）｝の最小のものとして選択され、ビットレートは、ピクチャからピクチャに変化し、デコーダバッファレベルは、ピクチャレートにより除算されるビットレートにより増加され、ピクチャが除かれたとき、デコーダのバッファレベルは、出力ピクチャビットにより減少される。
【００２６】
例示的なＣＢＲの実施の形態について、それぞれのピクチャがエンコードされた後、エンコーダのバッファレベルは、ピクチャビットの数により増加され、ビットレートは、規定されるビットレート（Ｂｉｔ−ｒａｔｅ  Ｓｐｅｃｉｆｉｅｄ）であり、ビットレートは、シーケンスを通して一定であり、デコーダのバッファレベルは、ピクチャレートにより除算されるビットレートにより増加され、ピクチャが除かれたとき、デコーダのバッファレベルは、出力ピクチャビットにより減少される。デコーダバッファは、２ＧＯＰビットについて平均のビットレートに等しく設定されるバッファサイズでモデル化される。
【００２７】
デコーダのオーバフローを回避するため、エンコードされるべきピクチャ（ｔｏ−ｂｅ−ｅｎｃｏｄｅｄ  ｐｉｃｔｕｒｅ）がデコーダのバッファをオーバフローにする場合、エンコーダは、ＱＰを増加させることでピクチャサイズを低減する。デコーダのバッファのアンダーフローを回避するため、エンコードされるべきピクチャがデコーダバッファをアンダーフローにする場合、エンコーダは、ＱＰを減少させることでピクチャサイズを増加させ、ＶＢＲについてビットレートを増加させる。エンコーダバッファは、２ＧＯＰビットについて平均のビットレートに等しいバッファサイズによりモデル化される。エンコーダのバッファがアンダーフローにある場合、ゼロを添付する。
【００２８】
エンコードされるべきピクチャがエンコーダのバッファをアンダーフローにする場合、ピクチャサイズを増加する。エンコードされるべきピクチャがエンコーダバッファをオーバフローにする場合、ピクチャサイズを減少する。エンドツーエンドの遅延は、エンコーダバッファの出力の遅延から決定される。ＶＢＲについて、エンドツーエンドの遅延は、あるピクチャから決定され、６つのピクチャは、検証の実験で上手く使用される。ＣＢＲについて、エンドツーエンドの遅延は、バッファがハーフフル（ｈａｌｆ  ｆｕｌｌ）であるとき、開始の出力ストリームから決定される。
【００２９】
デコーダのバッファの遅延も同様に計算される。ピクチャが除かれることがスケジュールされるとき、全てのピクチャのビットは、デコーダバッファにある。ＶＢＲについて、デコーダバッファの遅延は、あるピクチャの最大数のビットに依存し、６つのピクチャは、検証の実験で上手く使用される。ＣＢＲについて、デコーダのバッファの遅延は、バッファがハーフフルであるときに決定される。
【００３０】
動作において、あるＧＯＰにおけるピクチャのビットバジェットは、ターゲットビットレート、前にエンコードされたＧＯＰで消費されるビット、及び、最高で前のＧＯＰまでのターゲットビットと消費されるビットとの間の差のビットにより決定される。
【００３１】
【数２】
2008522546.tif 000004
以下に定義される用語により（式６参照）、イントラ符号化ピクチャのビット数は、ＢピクチャのそれのｌｅＢ倍であり、Ｐピクチャのビット数は、ＢピクチャのそれのＰｅＢ倍である。ＧＯＰでは、１つのＩピクチャ、ＮＰのＰピクチャ、ＮＢのＢピクチャが存在する。それぞれの種類のピクチャのターゲットビットは、以下に示される。
【００３２】
【数３】
2008522546.tif 000005
最初のＧＯＰの量子化器のパラメータ（ＱＰ）は、統計的な結果を使用することで初期化される。それぞれの新たなＧＯＰについて、以下に示される。
【００３３】
【数４】
2008522546.tif 000006
ここでｄｑｐは、差のＱＰであり、新たなＧＯＰのＱＰを形成するために前のＧＯＰに追加され、ｂはベースであり、ここでｂは１．４に選択される。ＩＢ，ＰＢは定数であり、Ｉ及びＰピクチャについてＧＯＰのＱＰに寄与するファクタであり、ここではそれぞれＩＢ＝４，ＰＢ＝２である。
【００３４】
ＧＯＰピクチャのＱＰは、ＩピクチャのＱＰについて使用される。  
Ｐピクチャについて、
【数５】
2008522546.tif 000007
ここでＫ１Ｐ＋Ｋ１Ｂ＝１である。Ｂピクチャがない場合、Ｋ１Ｂ＝０で、前のＰピクチャと現在のＰピクチャの間の２つのＢピクチャのケースで、ＢｉｔｓＰｒｅｖｉｏｕｓＢは、２つのＢピクチャの平均ビットである。ここで、１つのＢピクチャについてＫ１Ｐ＝３／４であり、２つのＢピクチャについて１／２である。
【００３５】
【数６】
2008522546.tif 000008
ここでｃ＝１．５である。Ｂピクチャについて、以下に示される。
【００３６】
【数７】
2008522546.tif 000009
ここでＫ２Ｐ＋Ｋ２Ｂ＝１であり、ここでＫ２Ｐ＝１／２である。ＢｉｔｓＰｒｅｖｉｏｕｓＰは、前の２つのエンコードされたＰピクチャの平均ビットである。ｄはベースであり、ここでｄ＝１．８である。
【００３７】
ＱＰとビットレートとの間の関数が発見される。
【００３８】
【数８】
2008522546.tif 000010
ビットレートがｂｒ１からｂｒ２に変化した場合、ＱＰはＱＰ２に変化する。
【００３９】
【数９】
2008522546.tif 000011
したがって、本発明の例示的な実施の形態の動作では、図１のエンコーダ１００及び量子化器１３０は、図２の方法２００を実現する。図２のステップ２１０で、エンコーダは、新たなグループオブピクチャ（ＧＯＰ）をエンコードする準備を行う。ＧＯＰは、第一のイントラ符号化ピクチャであって、第二のイントラ符号かピクチャではないピクチャを含めて、２つのイントラ符号化ピクチャ間のピクチャとして定義される。ステップ２１５で、第一のＧＯＰの量子化パラメータ（ＱＰ）は、実験的に収集された統計的なデータから初期化される。
【００４０】
実験的な統計的なデータは、たとえば、１）ピクチャサイズ：３５２×２８８（ＣＩＦ）、フレームレート３０Ｈｚ、ＱＰは（１０６ビットレート）／１０５＋３０；２）ピクチャサイズ：７２０×４８０（ＳＤ）、フレームレート２４Ｈｚ、Ｆｉｌｍ、ＱＰ＝（４＊１０６ビットレート）／３＊１０６＋２０；３）ピクチャサイズ：１９２０×１０８８（ＨＤ）、フレームレート２４Ｈｚ、ｆｉｌｍ、ＱＰ＝（１０７ビットレート）／５＊１０６＋２６を含む。
【００４１】
図２のステップ２２０で、エンコーダは、以下のようにＧＯＰのターゲットビットを計算する。
【００４２】
【数１０】
2008522546.tif 000012
ステップ２２５で、エンコーダは、前のＧＯＰをエンコードすることからセーブされたビットを加えたターゲットビットカウント、又は前のＧＯＰにより使い過ぎたとビットを引いたターゲットビットカウントとしてＧＯＰにとって利用可能なビットを決定する。ステップ２３０で、ビットバジェットは、ピクチャのそれぞれのタイプについて作られる。Ｉ，Ｐ及びＢピクチャについてビット数は、以下の式からそれぞれ計算される。
【００４３】
【数１１】
2008522546.tif 000013
このビットバジェットは、それぞれのピクチャがエンコードされた後に再び計算される。ステップ２３５で、あるＧＯＰの差のＱＰ（ｄｑｐ）及びＱＰは、以下の式から計算される。
【００４４】
【数１２】
2008522546.tif 000014
この式は、本発明のビットレートＱＰモデルから得られる。ステップ２４０で、ＱＰは、それぞれのピクチャについて計算される。Ｉピクチャについて、ＩピクチャのＱＰは、ＧＯＰのＱＰである。Ｐピクチャについて、あるＰピクチャのターゲットビットカウントは、前のＰ及びＢピクチャにより使用されるビット、及びピクチャにとって利用可能なビットから計算され、ｄｑｐはそれより計算される。
【００４５】
【数１３】
2008522546.tif 000015
先の式１６は、本発明のモデルから得られる。Ｂピクチャについて、Ｂピクチャのターゲットビットカウントは、前のＢ及びＰピクチャから計算され、ピクチャの利用可能なビット、それよりｄｑｐが計算される。
【００４６】
【数１４】
2008522546.tif 000016
より精密なレート制御のため、それぞれのブロック又はマクロブロックのＱＰが計算される。それぞれのブロックのタイプについてターゲットビットカウントが計算され、同様のアプローチが使用され、それぞれのブロックのｄｑｐが計算される。ステップ２４５について、前のステップから得られるＱＰを使用して、ピクチャがエンコードされる。より精密なレート制御が使用される場合、それぞれのブロックは、前のステップから得られるＱＰからエンコードされ、平均のＱＰは、次のピクチャへの参照のために使用される。
【００４７】
ステップ２５０で、ピクチャがエンコードされるとき、実際のビット数がカウントされ、平均のＱＰが計算される。ステップ２５５で、ＧＯＰにおける全てのピクチャがエンコードされる場合、ＧＯＰのＱＰは、式１８で以下に示されるように、ＧＯＰにおける全てのピクチャのＱＰの重み付けされた平均を使用することで計算される。さもなければ、次のピクチャは、先に記載されたように同じやり方でエンコードされる。
【００４８】
【数１５】
2008522546.tif 000017
本発明のこれら及び他の特徴並びに利点は、本実施の形態における教示に基づいて当業者により容易に確認される。本発明の教示は、ハードウェア、ソフトウェア、ファームウェア、特定用途向けプロセッサ、又はその組み合わせの様々な形式で実現される場合があることを理解されたい。
【００４９】
最も好適には、本発明の教示は、ハードウェアとソフトエアの組み合わせとして実現される。さらに、ソフトウェアは、プログラムストレージユニットで実施されるアプリケーションプログラムとして実現されることが好ましい。アプリケーションプログラムは、適切なアーキテクチャを有するコンピュータにアップロードされ、コンピュータにより実行される。好ましくは、コンピュータは、１以上の中央処理ユニット（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）、及び入力／出力（Ｉ／Ｏ）インタフェースのようなハードウェアを有するコンピュータプラットフォームで実現される。
【００５０】
コンピュータプラットフォームは、オペレーティングシステム及びマイクロインストラクションコードを含む。本実施の形態で説明された様々なプロセス及び機能は、ＣＰＵにより実行される、マイクロインストラクションコードの一部、又はアプリケーションプログラムの一部のいずれか、若しくはその組み合わせである。さらに、様々な他の周辺ユニットは、更なるデータストレージユニット及びプリンティングユニットのようなコンピュータプラットフォームに接続される。
【００５１】
添付図面に示されるシステムコンポーネント及び方法のうちの幾つかはソフトウェアで実現されることが好ましいため、システムコンポーネント又はプロセスファンクションブロック間の実際のコネクションは、本発明がプログラムされる方式に依存して異なる場合があることを更に理解されたい。本実施の形態に教示が与えられた場合、当業者は、本発明のこれら及び類似の実現又はコンフィギュレーションを予想することができる。
【００５２】
例示的の実施の形態は添付図面を参照して本明細書に記載されたが、本発明はこれら正確な実施の形態に制限されるものではなく、本発明の範囲又は精神から逸脱することなしに、様々な変化及び変更が実施される場合があることを理解されたい。たとえば、代替的な実施の形態は、シーケンスの長さ又はキャパシティが既知であるときに正確な平均のビットレートをエンコードし、２つの完全な２パスエンコードを使用してレート制御を実現し、ピクチャ内のビット割り当てを最適化し、シーン変化を認識し、統計のマルチプレクサ（ｓｔａｔｉｓｔｉｃａｌ  ｍｕｌｔｉｐｌｅｘｅｒ）を利用し、及び／又は、ＪＶＴ及び／又はＭＰＥＧのような階層化されたデータのためにレート制御を実現する場合がある。全てのかかる変化及び変更は、特許請求の範囲で述べるように、本発明の範囲に含まれることが意図される。
【図面の簡単な説明】
【００５３】
【図１】本発明の原理に係るレート制御のための量子化パラメータの適応的な決定によるビデオエンコーダのブロック図である。
【図２】本発明の原理に係るレート制御のための量子化パラメータの適応的な決定によるエンコードプロセスのフローチャートである。
【図３】本発明の原理に係る量子化パラメータ対ビットレートのプロットのグラフである。
【図１】
2008522546.tif 000018
【図２】
2008522546.tif 000019
【図３】
2008522546.tif 000020
【国際調査報告】
2008522546.tif 000021
2008522546.tif 000022
2008522546.tif 000023
2008522546.tif 000024