(57)【要約】  マクロブロックに分割可能な画像フレームを符号化するビデオエンコーダが開示される。ビデオエンコーダは、画像フレームのマクロブロックのＱＰ推定を生成する手段を有する。ビデオエンコーダはさらに、マクロブロックのＱＰ推定の平均、中間値及びモードの１つを用いて画像フレームのフレームレベル量子化パラメータ（ＱＰ）を選択する手段を有する。マクロブロックに分割可能な画像フレームを符号化する映像符号化方法が開示される。本方法は、画像フレームのマクロブロックの量子化パラメータ（ＱＰ）推定を生成し、マクロブロックのＱＰ推定の平均、中間値及びモードの１つを用いて、画像フレームのフレームレベルＱＰを選択する。
2007522724.tif 000002
【特許請求の範囲】
【請求項１】
マクロブロックに分割可能な画像フレームを符号化するビデオエンコーダであって、
画像フレームのマクロブロックについて量子化パラメータ（ＱＰ）推定を生成する手段と、
前記マクロブロックのＱＰ推定の平均、中間値及びモードの１つを用いて、前記画像フレームのフレームレベルＱＰを選択する手段と、
から構成されることを特徴とするビデオエンコーダ。
【請求項２】
請求項１記載のビデオエンコーダであって、
前記画像フレームは、ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ，Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｃｔｏｒ）のＨ．２６４規格に準拠した映像データを有することを特徴とするビデオエンコーダ。
【請求項３】
請求項１記載のビデオエンコーダであって、さらに、
前記フレームレベルＱＰを選択する手段と信号通信し、前記選択されたフレームレベルＱＰを用いて各マクロブロックＱＰを計算するマクロブロックＱＰ計算装置を有することを特徴とするビデオエンコーダ。
【請求項４】
請求項３記載のビデオエンコーダであって、
前記マクロブロックＱＰ計算装置は、画像タイプに基づき前記各マクロブロックＱＰを調整することを特徴とするビデオエンコーダ。
【請求項５】
請求項４記載のビデオエンコーダであって、
前記マクロブロックＱＰ計算装置は、インター符号化された画像よりイントラ符号化された画像についてより多くの詳細を維持し、前記インター符号化された画像より前記イントラ符号化された画像についてより低い平均二乗誤差を実現するよう前記各マクロブロックＱＰを調整することを特徴とするビデオエンコーダ。
【請求項６】
請求項１記載のビデオエンコーダであって、さらに、
許容されるイントラ予測モードの一部を用いて前記マクロブロックの予測を構成する、前記マクロブロックをイントラ予測するイントラ予測手段と、
前記イントラ予測手段と前記マクロブロックＱＰ推定手段と信号通信し、前記予測について予測残差を計算する予測残差計算手段と、
を有し、
前記マクロブロックＱＰ推定手段は、前記ＱＰ推定を生成する予測残差計算手段によって計算される前記残差の少なくとも１つを利用することを特徴とするビデオエンコーダ。
【請求項７】
請求項６記載のビデオエンコーダであって、さらに、
前記予測残差計算手段と信号通信し、前記予測残差の平均二乗誤差を用いて前記一部のモードの１つを選択するモード選択手段を有することを特徴とするビデオエンコーダ。
【請求項８】
請求項７記載のビデオエンコーダであって、
前記一部のモードの選択された１つは、前記一部のモードの他のものより現在フレームについて最も正確な予測を提供することを特徴とするビデオエンコーダ。
【請求項９】
請求項６記載のビデオエンコーダであって、
前記一部は、３つのイントラ予測モードを含むことを特徴とするビデオエンコーダ。
【請求項１０】
請求項９記載のビデオエンコーダであって、
前記３つのイントラ予測モードは、垂直イントラ予測モード、水平イントラ予測モード及び（ＤＣ）イントラ予測モードであることを特徴とするビデオエンコーダ。
【請求項１１】
請求項１記載のビデオエンコーダであって、
前記画像フレームのそれぞれは、１つの画像を表し、
当該ビデオエンコーダはさらに、前記フレームレベルＱＰ選択手段と信号通信し、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）の以降の画像より前記ＧＯＰの始めの画像についてより多くのターゲットビットを割り当てるビット割当て手段を有する、
ことを特徴とするビデオエンコーダ。
【請求項１２】
請求項１記載のビデオエンコーダであって、
前記画像フレームのそれぞれは、１つの画像を表し、
当該ビデオエンコーダはさらに、前記フレームレベルＱＰ選択手段と信号通信し、前のＧＯＰのＩ画像が所定の最小閾値以下であって、所定の最大閾値以上のいくつかのビットにより符号化されたとき、現在のＧＯＰに割り当てられたトータルのビット数を制限するビット割当て手段を有する、
ことを特徴とするビデオエンコーダ。
【請求項１３】
請求項１２記載のビデオエンコーダであって、
前記ビット割当て手段は、線形重み付けされた割当てスキームを用いて前記トータルのビット数を制限することを特徴とするビデオエンコーダ。
【請求項１４】
請求項１２記載のビデオエンコーダであって、
前記ビット割当て手段は、実際に使用されているバッファのフルネスをシミュレートし、前記実際に使用されているバッファに関してキャパシティが制限されるバーチャルバッファレベルに基づき、前記トータルのビット数を制限することを特徴とするビデオエンコーダ。
【請求項１５】
請求項１２記載のビデオエンコーダであって、
前記ビット割当て手段は、最小クオリティ、及びバッファオーバフローに関するバッファセーフティトップマージンとバッファアンダフローに関するバッファセーフティボトムマージンの少なくとも１つに関して、前記トータルのビット数を制限することを特徴とするビデオエンコーダ。
【請求項１６】
請求項１記載のビデオエンコーダであって、さらに、
前記フレームレベルＱＰ選択手段と信号通信し、現在のバッファレベルが所定の最大閾値以上となると、符号化される次フレームをバーチャルにスキップするバーチャルフレームスキップ手段を有することを特徴とするビデオエンコーダ。
【請求項１７】
マクロブロックに分割可能な画像フレームを符号化する方法であって、
画像フレームのマクロブロックについて量子化パラメータ（ＱＰ）推定を生成するステップと、
前記マクロブロックのＱＰ推定の平均、中間値及びモードの１つを用いて、前記画像フレームのフレームレベルＱＰを選択するステップと、
から構成されることを特徴とする方法。
【請求項１８】
請求項１７記載の方法であって、
前記画像フレームは、ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ，Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｃｔｏｒ）のＨ．２６４規格に準拠した映像データを有することを特徴とする方法。
【請求項１９】
請求項１７記載の方法であって、さらに、
前記選択されたフレームレベルＱＰを用いて各マクロブロックＱＰを計算するステップを有することを特徴とする方法。
【請求項２０】
請求項１９記載の方法であって、さらに、
画像タイプに基づき前記各マクロブロックＱＰを調整するステップを有することを特徴とする方法。
【請求項２１】
請求項２０記載の方法であって、
前記マクロブロックＱＰは、インター符号化された画像よりイントラ符号化された画像についてより多くの詳細を維持し、前記インター符号化された画像より前記イントラ符号化された画像についてより低い平均二乗誤差を実現するよう調整されることを特徴とする方法。
【請求項２２】
請求項１７記載の方法であって、さらに、
許容されるイントラ予測モードの一部を用いて前記マクロブロックの予測を構成する、前記マクロブロックをイントラ予測するステップと、
前記予測について予測残差を計算するステップと、
を有し、
前記生成するステップは、前記ＱＰ推定を生成する計算ステップによって計算される前記残差の少なくとも１つを利用することを特徴とする方法。
【請求項２３】
請求項２２記載の方法であって、さらに、
前記予測残差の平均二乗誤差を用いて前記一部のモードの１つを選択するステップを有することを特徴とする方法。
【請求項２４】
請求項２３記載の方法であって、
前記一部のモードの選択された１つは、前記一部のモードの他のものより現在フレームについて最も正確な予測を提供することを特徴とする方法。
【請求項２５】
請求項２２記載の方法であって、
前記一部は、３つのイントラ予測モードを含むことを特徴とする方法。
【請求項２６】
請求項２５記載の方法であって、
前記３つのイントラ予測モードは、垂直イントラ予測モード、水平イントラ予測モード及び（ＤＣ）イントラ予測モードであることを特徴とする方法。
【請求項２７】
請求項１７記載の方法であって、
前記画像フレームのそれぞれは、１つの画像を表し、
当該方法はさらに、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）の以降の画像より前記ＧＯＰの始めの画像についてより多くのターゲットビットを割り当てるステップを有する、
ことを特徴とする方法。
【請求項２８】
請求項１７記載の方法であって、
前記画像フレームのそれぞれは、１つの画像を表し、
当該方法はさらに、前のＧＯＰのＩ画像が所定の最小閾値以下であって、所定の最大閾値以上のいくつかのビットにより符号化されたとき、現在のＧＯＰに割り当てられたトータルのビット数を制限するステップを有する、
ことを特徴とする方法。
【請求項２９】
請求項２８記載の方法であって、
前記制限するステップは、線形重み付けされた割当てスキームを用いて前記トータルのビット数を制限することを特徴とする方法。
【請求項３０】
請求項２８記載の方法であって、
前記制限するステップは、実際に使用されているバッファのフルネスをシミュレートし、前記実際に使用されているバッファに関してキャパシティが制限されるバーチャルバッファレベルに基づき、前記トータルのビット数を制限することを特徴とする方法。
【請求項３１】
請求項２８記載の方法であって、
前記制限するステップは、最小クオリティ、及びバッファオーバフローに関するバッファセーフティトップマージンとバッファアンダフローに関するバッファセーフティボトムマージンの少なくとも１つに関して、前記トータルのビット数を制限することを特徴とする方法。
【請求項３２】
請求項１７記載の方法であって、さらに、
現在のバッファレベルが所定の最大閾値以上となると、符号化される次フレームをバーチャルにスキップするステップを有することを特徴とする方法。
【請求項３３】
マクロブロックに分割可能な画像フレームを符号化するビデオエンコーダであって、
画像フレームのマクロブロック量子化パラメータ（ＱＰ）推定を生成し、前記マクロブロックのＱＰ推定の平均、中間値及びモードの１つを用いて、前記画像フレームのフレームレベルＱＰを選択する量子化装置を有することを特徴とするビデオエンコーダ。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［関連出願の相互参照］
本出願は、そのすべてが参照することによってここに含まれる、２００４年１月３０日に出願された米国仮出願第６０／５４０，６３４号（代理人整理番号ＰＵ０４００３５）「ＥＮＣＯＤＥＲ  ＷＩＴＨ  ＡＤＡＰＴＩＶＥ  ＲＡＴＥ  ＣＯＮＴＲＯＬ」の利益を主張する。
［発明の技術分野］
本発明は、一般にビデオエンコーダに関し、より詳細には、アダプティブレートコントロールによるビデオエンコーダに関する。
［発明の背景］
レートコントロールは、限られたバッファサイズを有する固定されたチャネル帯域幅アプリケーションについて必要とされるとき、ある一定のビットレートを達成するためＪＶＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｔｅａｍ）ビデオエンコーダにおいて必要である。バッファオーバフロー及びアンダフローを回避することは、シーン変更及び消散を有するセクションなど、異なる複雑さ特性を有するセクションを有する映像コンテンツに対してより困難なことである。
【０００２】
レートコントロールは、以前の映像圧縮規格について研究されてきた。ＴＭＮ８は、Ｈ．２６３＋について提案されたものである。ＴＭＮ８レートコントロールは、フレームレイヤレートコントロールを用いて、現在フレームのターゲットビット数を選択し、マクロブロックレイヤレートコントロールを用いて、当該マクロブロックの量子化パラメータ（ＱＰ）の値を選択する。
【０００３】
フレームレイヤレートコントロールでは、現在フレームのターゲットビット数は、
【数１】
2007522724.tif 000003
によって決定される。ここで、Ｂはあるフレームのターゲットビット数であり、Ｒは１秒当たりのビット数によるチャネルレートであり、Ｆは１秒当たりのフレーム数によるフレームレートであり、Ｗはエンコーダバッファのビット数であり、Ｍは最大バッファサイズであり、Ｗｐｒｅｖはバッファの前のビット数であり、Ｂ’は前フレームを符号化するのに用いられる実際のビット数であり、Ｚ＝０．１は低い遅延を実現するためデフォルトに設定される。
【０００４】
マクロブロックレイヤレートコントロールは、マクロブロックビットの合計がフレームターゲットビット数Ｂに近づくように、フレームのすべてのマクロブロックについて量子化ステップサイズの値を選択する。フレームのマクロブロックｉの最適な量子化ステップサイズＱｉ＊は、
【数２】
2007522724.tif 000004
によって決定することが可能である。ここで、Ｋはモデルパラメータであり、Ａはマクロブロックの画素数であり、Ｎｉはフレームにおいて符号化されるよう維持されるマクロブロック数であり、σｉはｉ番目のマクロブロックの残差の標準偏差であり、αｉはｉ番目のマクロブロックの歪みウェートであり、Ｃはオーバヘッドレートであり、βｉは初期化段階においてβｉ＝Ｂと設定することによってフレームを符号化するのに残されるビット数である。
【０００５】
ＴＭＮ８スキームは、シンプルなものであり、高いクオリティと正確なビットレートの両方を実現可能であると知られているが、Ｈ．２６４には良好には適さない。レート歪み最適化（ＲＤＯ）（例えば、レート制限された動き推定及びモード決定など）は、ＲＤＯ実行前に量子化パラメータ（ＱＰ）（ラグランジェ最適化におけるλを決定するのに用いられる）が決定される必要があるモード決定及び動き推定のためのＨ．２６４の広範に受け入れられているアプローチである。しかし、ＴＭＮ８モデルは、予測エラー信号（残差）の統計量がＱＰを推定することを要求し、このことは、動き推定及びモード決定がＱＰを決定する前に実行される必要があり、これにより、何れの従属パラメータが最初に計算されねばならないかのジレンマが生じ、各値が当該決定の基礎となる他の計算されていない値に関する知識を要することを意味する。
【０００６】
上述のジレンマを解消するため、Ｈ．２６４について提案され、ＪＶＴ  ＪＭリファレンスソフトウェアリリースＪＭ７．４に含まれる方法は（以降において、「第１の従来方法」）、同じタイプの直近に符号化された画像の連結したマクロブロックの残差を利用して、現在のマクロブロックのものを予測する。さらに、ジレンマを解消するため、Ｈ．２６４レートコントロールについて提案される他の方法は（以降において、「第２の従来方法」）、前画像のＱＰ（ＱＰｐｒｅｖ）がまず残差を生成するため利用され、その後に現在のマクロブロックのＱＰがこの残差に基づき推定される二段階符号化を利用する。前者のアプローチ（すなわち、第１の従来方法）はシンプルであるが、それは正確さを欠いている。後者のアプローチ（すなわち、第２の従来方法）はより正確であるが、それは複数の符号化を要し、大きな複雑さを追加する。
［発明の概要］
従来技術の上記及び他の欠点及び問題点は、アダプティブレートコントロールによるエンコーダに関する本発明によって解決される。
【０００７】
本発明の特徴によると、マクロブロックに分割可能な画像フレームを符号化するビデオエンコーダが提供される。ビデオエンコーダは、画像フレームのマクロブロックについて量子化パラメータ（ＱＰ）推定を生成する手段を有する。ビデオエンコーダはさらに、当該マクロブロックのＱＰ推定の平均、中間値及びモードの１つを用いて画像フレームのフレームレベルＱＰを選択する手段を有する。
【０００８】
本発明の他の特徴によると、マクロブロックに分割可能な画像フレームを符号化する方法が提供される。本方法は、画像フレームのマクロブロックについて量子化パラメータ推定を生成するステップを有する。本方法はさらに、当該マクロブロックのＱＰ推定の平均、中間値及びモードの１つを用いて画像フレームのフレームレベルＱＰを選択するステップを有する。
【０００９】
本発明の上記及び他の特徴及び効果は、添付された図面と共に読まれる実施例の以下の詳細な説明から明らかとなるであろう。
［好適な実施例の詳細な説明］
本発明は、アダプティブレートコントロールによるエンコーダに関する。効果的には、本発明は、特に異なる複雑さ特性を有するセクションを含む映像コンテンツの場合において、ビデオエンコーダのバッファオーバフロー及びアンダフローを回避する。
【００１０】
本記載は、本発明の原理を示す。従って、当業者はここで明示的に記載又は図示されていなくても、本発明の原理を実現し、その趣旨及び範囲内の含まれる様々な構成を考案することができるであろうということは理解されるであろう。ここで記載されるすべての具体例及び条件言語は、読者が本発明の原理及び発明者によってさらなる技術に貢献するコンセプトを理解するための教育的な目的のためのものであり、具体的に記載された具体例及び条件に限定されることなく解釈されるべきである。
【００１１】
さらに、本発明の原理、特徴及び実施例と共にその特定の具体例を記載するすべての記述は、それの構造的及び機能的均等物を含むことが意図される。さらに、このような均等物は、現在知られている均等物と将来開発される均等物、すなわち、構成に関係なく同一の機能を実行する開発される任意の要素をも含む。
【００１２】
従って例えば、ここで与えられるブロック図は、本発明の原理を実現する例示的な回路の概念的視野を表すことは、当業者によって理解されるであろう。同様に、フローチャート、フロー図、状態遷移図、擬似コードなどは、コンピュータ可読媒体により実質的に表され、明示的に示されてはいないが、コンピュータ又はプロセッサによって実行される各種プロセスを表すことは理解されるであろう。
【００１３】
図に示される各種要素の機能は、専用のハードウェア及び適切なソフトウェアに関連してソフトウェアを実行可能なハードウェアを使用することにより提供されるかもしれない。プロセッサによって提供されるとき、当該機能は単一の専用プロセッサ、単一の共有プロセッサ又はその一部が共有されている複数の各プロセッサによって提供されるかもしれない。さらに、「プロセッサ」又は「コントローラ」という用語の明示的使用は、ソフトウェアを実行可能なハードウェアのみを表していると解釈されるべきではなく、限定されることなく、デジタル信号プロセッサ（ＤＳＰ）ハードウェア、ソフトウェアを格納するためのＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）及び不揮発性ストレージを暗黙的に含むかもしれない。
【００１４】
他のハードウェア、従来及び／慣用的なハードウェアもまた含まれてもよい。同様に、図に示される任意のスイッチは、単なる概念的なものである。それらの機能は、プログラムロジックの処理、専用ロジック、プログラムコントロールと専用ロジックのやりとり、又は文脈からより具体的に理解されるような実現形態により選択可能な特定の技術を介し実行されてもよい。
【００１５】
その請求項では、指定された機能を実行する手段として表される任意の要素は、ａ）当該機能を実行する回路要素の組み合わせ、又はｂ）当該機能を実行するソフトウェアを実行するための適切な回路と組み合わされるファームウェア、マイクロコードなどを含む任意の形式によるソフトウェアなどを含む当該機能を実行する任意の方法を含むことが意図される。このような請求項によって規定されるような本発明は、実際には、記載される各種手段によって提供される機能が、当該請求項が求める方法により組み合わせ及びもたらされることを備える。従って、出願人は上記機能を備えることが可能な任意の手段をここで示されるものに均等なものとみなす。
【００１６】
図１において、加算接合部１１０の非反転入力との信号通信において接続されるエンコーダ１００の入力を有するビデオエンコーダが示される。加算接合部１１０の出力は、ブロック変換装置１２０と信号通信により接続される。当該変換装置１２０は、量子化装置１３０の第１入力と信号通信により接続される、量子化装置１３０の出力は、可変長符号化装置（ＶＬＣ）１４０と信号通信により接続され、ＶＬＣ１４０の出力はエンコーダ１００の外部利用可能な出力である。レートコントローラ１７７の第１入力は、加算接合部１１０の出力と信号通信により接続され、レートコントローラ１７７の第２入力は、ＶＬＣ１４０の出力と信号通信により接続され、レートコントローラ１７７の出力は、量子化装置１３０の第２入力と信号通信により接続される。
【００１７】
量子化装置１３０の出力はさらに、逆量子化装置１５０と信号通信により接続される。逆量子化装置１５０は、逆ブロック変換装置１６０と信号通信により接続され、逆ブロック変換装置１６０は基準画像ストア１７０と信号通信により接続される。基準画像ストア１７０の第１出力は、動き推定装置１８０の第１入力と信号通信により接続される。エンコーダ１００への入力はさらに、動き推定装置１８０の第２入力と信号通信により接続される。動き推定装置１８０の出力は、動き補償装置１９０の第１入力と信号通信により接続される。基準画像ストア１７０の第２出力は、動き補償装置１９０の第２入力と信号通信により接続される。動き補償装置１９０の出力は、加算接合部１１０の反転入力と信号通信により接続される。
【００１８】
図２に戻って、レートコントロールにより画像ブロックを符号化する一例となるプロセスが、参照番号２００によって全体的に示される。当該プロセスは、バッファを初期化し、平均ターゲットフレームビット又は平均ターゲットＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）ビットを計算し、すべてのレートコントロールに関連するパラメータの初期値を設定などする初期化ブロック２０５を含む。この初期化ブロック２０５は、第１ループを開始し、ｉ＝０（０〜ｆｒａｍｅ＿ｎｕｍｂｅｒ−１の範囲）と設定し、制御を判定ブロック１２５にわたすループリミットブロック２１０に制御をわたす。
【００１９】
判定ブロック２１５では、バッファフルネス（ｂｕｆｆｅｒ＿ｆｕｌｌｎｅｓｓ）が第１閾値Ｔ１より大きいか、フレームを符号化するのに利用可能なビット（ｂｉｔ＿ｂｕｄｇｅｔ）が第２閾値Ｔ２より小さいか（現在フレームについて）判断される。  ｂｕｆｆｅｒ＿ｆｕｌｌｎｅｓｓがＴ１より大きく、及び／又はｂｉｔ＿ｂｕｄｇｅｔがＴ２より小さい場合、制御はバーチャルフレームスキップを実行し、次フレームについてエンドループブロック２７５に制御をわたし（ｉ＜ｆｒａｍｅ＿ｎｕｍｂｅｒ）又は第１ループを終了する（ｉ＝＝ｆｒａｍｅ＿ｎｕｍｂｅｒ）機能ブロック２２０にわたされる。そうでない場合、ｂｕｆｆｅｒ＿ｆｕｌｌｎｅｓｓがＴ１以下であり、かつｂｉｔ＿ｂｕｄｇｅｔがＴ２以上である場合、制御は機能ブロック２２５にわたされる。
【００２０】
機能ブロック２２５は、予測残差の推定を取得するため、画像タイプに応じたフレームの前処理を実行し、制御を機能ブロック２３０にわたす。Ｉ画像について機能ブロック２２５によって実行される前処理は、許容されるイントラ予測モードの一部を用いて予測を構成するイントラ符号化を有し、当該部分を用いて構成される予測の予測残差に関する平均二乗誤差を利用して、許容されるイントラ予測モードの一部からベストモードを決定するようにしてもよい。Ｐ画像について機能ブロック２２５によって実行される前処理は、１６×１６ブロックタイプと１つの基準画像のみによる動き推定を実行することを含むものであってもよい。ここで使用されるように、「ベストモード」という用語は、与えられたフレーム及び／又は画像ブロックについて最も正確な予測をもたらす予測モードを表すということは理解されるべきである。
【００２１】
機能ブロック２３０は、前処理ブロック２２５によって生成される統計量に基づき、フレーム量子化パラメータ（ＱＰ）の推定を実行し、制御をループリミットブロック２３５にわたす。このループリミットブロック２３５は、第２ループを開始し、ｊ＝０（０〜ＭＢ＿ｎｕｍｂｅｒ−１の範囲）を設定し、制御を判定ブロック２４０にわたす。
【００２２】
判定ブロック２４０は、マクロブロックレベルレートコントロールが可能であるか判断する。マクロブロックレベルレートコントロールが可能でない場合、制御は機能ブロック２６０にわたされ、機能ブロック２６０は、フレームＱＰによりフレームのすべてのマクロブロックを符号化し、制御を第２ループを終了させるエンドループブロック２６５にわたす。マクロブロックレベルレートコントロールが可能である場合、制御は機能ブロック２４５にわたされ、機能ブロック２４５は、ＲＤ（Ｒａｔｅ  Ｄｉｓｔｏｒｔｉｏｎ）モデルに従って各マクロブロックについてＱＰを推定し、制御を機能ブロック２５０にわたす。
【００２３】
機能ブロック２５０は、現在のマクロブロックを符号化し、制御を機能ブロック２５５にわたす。１つのマクロブロックが符号化された後に実行される機能ブロック２５５は、他の統計量と共にＲＤモデルを更新し、制御をエンドループブロック２６５にわたす。
【００２４】
エンドループブロック２６５は、機能ブロック２７０に制御をわたし、機能ブロック２７０は、フレーム符号化が完了すると、バッファフルネス及び他の統計量（例えば、次フレームのターゲットビット及びＲＤモデルのパラメータなど）を更新し、エンドブロック２７５に制御をわたし、エンドループブロック２７５は、すべてのフレームが符号化された後、エンドブロック２８０に制御をわたす。
【００２５】
映像データを符号化するためのアダプティブレートコントロールを提供する本発明によって解消される多数の問題の一部が説明される。本発明は、Ｈ．２６３＋のＴＭＮ８において使用されるモデルを構築する。このモデルは、ラグランジェ最適化を利用して、ターゲットビットレート制約の下で歪みを最小化する。当該モデルをＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ，Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｃｔｏｒ）Ｈ．２６４規格に適応化し、さらにパフォーマンスを向上させるため、いくつかの問題が検討される必要がある。第１に、レート歪み最適化（ＲＤＯ）（レート制約動き推定及びモード決定など）は、モード決定及び動き推定についてＨ．２６４の広範に受け入れられているアプローチであり、そこでは、量子化パラメータ（ラグランジェ最適化においてλを決定するのに用いられる）が、ＲＤＯ実行前に決定される必要がある。しかしながら、ＴＭＮ８モデルは、予測誤差信号（残差）の統計量がＱＰを推定することを要求し、このことは、動き推定及びモード決定がＱＰの実行前に実行される必要があり、これにより、従属パラメータがまず計算される必要があるというジレンマを生じさせ、各値は当該決定の基礎となる他の計算されていない値に関する知識を要することを意味する。
【００２６】
第２に、ＴＭＮ８は低い遅延アプリケーションを対象とするが、Ｈ．２６４は各種用途に利用可能である。従って、各種コンテンツに対して、新たなビット割当て及びバッファ管理スキームが必要とされる。第３に、ＴＭＮ８は、マクロブロックレベルにおいてＱＰを適応化する。現在のマクロブロックと直近に符号化されたマクロブロックとの間のＱＰ差分（ＤＧＵＡＮＴ）について制約がなされるが、同一画像内の大きなＱＰ変動の主観的効果が観察でき、負の主観的効果を有する。さらに、画像全体について一定のＱＰを利用することは、ＤＱＵＡＮＴの符号化のためのさらなるビットを節約し、これにより、大変低いビットレートについてより高いＰＳＮＲを実現できることが知られている。最後に、Ｈ．２６４は４×４整数変換を利用し、コーデックがＪＭリファレンスソフトウェアなどある閾値処理技術を利用する場合、詳細が失われるかもしれない。従って、詳細を維持するため、レートコントロールにおいて知覚モデルを採用することが有用である。
・前処理段階
式（４）から、ＴＭＮ８モデルは、ＱＰを推定するのに残差の標準偏差の知識を必要とすることが理解できる。しかしながら、ＲＤＯは、残差を生成するため、動き推定及びモード決定を実行するため、ＱＰの知識を必要とする。このジレンマを解消するため、上述の第１の従来方法は、同一のタイプの直近に符号化された画像の連結されているマクロブロックの残差を利用して、現在マクロブロックのものを予測し、上述の第２の従来方法は、残差を生成するためまず前画像のＱＰ（ＱＰｐｒｅｖ）が利用され、その後、現在マクロブロックのＱＰが当該残差に基づき推定される２段階符号化を利用する。前者のアプローチは（すなわち、第１の従来方法）はシンプルであるが、それは精度を欠く。後者のアプローチは（すなわち、第２の従来方法）はより正確であるが、それは複数の符号化を要し、このため大きすぎる複雑さを追加する。
【００２７】
本発明によると、残差を推定する異なるアプローチが採用され、これは、上述の第２の従来方法よりシンプルであるが、上述の第１の従来方法より正確である。実験は、シンプルな前処理段階が残差の良好な推定を与えることができることを示している。Ｉ画像について、３つの最も可能性のあるイントラ１６×１６モード（垂直、水平及び離散コサイン（ＤＣ）モード）しかテストされず、予測残差のＭＳＥ（Ｍｅａｎ  Ｓｑｕａｒｅ  Ｅｒｒｏｒ）がベストモードを選択するのに利用される。複雑さを低減するため、３つのモードしかテストされない。しかしながら、本発明の他の実施例では、本発明の趣旨を維持しながら、より多く又はより少ないモードをテストすることが可能である。その後、空間残差がベストモードを用いて生成される。再構成された画素は利用可能でないため、再構成された画素の代わりに、元の画素値がイントラ予測に利用されることに留意すべきである。
【００２８】
Ｐ画像については、１６×１６ブロックタイプと１つのリファレンス画像のみを用いて、レート制限された動き検索が実行される。時間残差が、このモードにおいてベストな動きベクトルを用いて生成される。前に符号化された画像の平均ＱＰは、レート制限された動き検索についてλを決定するのに利用される。実験は、前に符号化された画像と現在画像との間のＱＰの差分を制限することによって、ＱＰｐｒｅｖに基づくλが動き推定について小さな影響しか有しないことを示している。このアプローチの副次的効果は、前処理ステップにおける結果として得られる動きベクトルが、符号化処理中に動き推定の初期的な動きベクトルとして利用可能であるということである。
・フレームレイヤレートコントロール
ＴＭＮ８は、低い遅延と低いビットレートアプリケーションを対象とし、最初のＩ画像の後のＰ画像のみを符号化すると仮定され、従って、式（１）に示されるようなビット割当てモデルが、より頻繁なＩ画像を使用する各種アプリケーションに適応するよう再規定されるべきである。式（４）によるＱＰ推定モデルは、１つの画像内の大きなＱＰ変動をもたらす可能性があり、これにより、フレームレベルＱＰはまず、マクロブロック（ＭＢ）ＱＰの変化に関する制約を置くのにより良好に推定される。さらに、大変低いビットレートについて、ＤＱＵＡＮＴを符号化するオーバヘッドにより、一定の画像ＱＰを使用することがより効率的であるかもしれない。従って、良好なレートコントロールスキームが、フレームレベルとＭＢレベルの両方においてレートコントロールを可能にすべきである。
【００２９】
本発明の原理による新たなビット割当てスキームが説明される。その後、本発明の原理によってフレームレベルＱＰを決定するシンプルなスキームが説明される。
【００３０】
リアルタイムエンコーダなど多くのアプリケーションにおいて、エンコーダは、予め符号化される必要があるフレームの総数、又はシーン変更が行われるときを知らない。従って、ＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）レイヤレートコントロールは、各画像についてターゲットビットを割り当てるのに採用される。Ｈ．２６４規格は、実際にはＧＯＰを有しないが、Ｉ画像間の距離を表すのに当該用語が使用される。ＧＯＰの長さは、ＮＧＯＰによって示される。ＮＧＯＰ→∞である場合、ＮＧＯＰ＝Ｆと設定され、これはフレームの１つの第２長さに対応する。
【００３１】
【数３】
2007522724.tif 000005
に等しい画像ｊ−１を符号化した後、ＧＯＰｉの残りのビットを示すのに、ＢＧｉ，ｊが使用される。
【００３２】
上の式において、ＲＧｉ−１は、
【数４】
2007522724.tif 000006
によって与えられるＧＯＰｉ−１の符号化後の残りのビットのビット数であり、Ｂｃｏｄｅｄは使用されるビットであり、ＮｃｏｄｅｄはＧＯＰｉの完了後の符号化された画像の個数である。Ｂｉ，ｊとＢｉ，ｊ’はそれぞれ、ＧＯＰｉのフレームｊのターゲットビットと実際に使用されるビットである。式（５）において、コンテンツの複雑さレベルが１つのＧＯＰから他のＧＯＰに劇的に変化するときのバッファオーバフローを回避するため、１つの制約がＧＯＰｉについて割り当てられたビットの総数について制約が加えられる。例えば、前のＧＯＰがすべて黒色などの大変低い複雑さしか有せず、バッファフルネスレベルが大変低くなるシナリオを検討する。前のＧＯＰからの使用されていないビットのすべてを現在のＧＯＰに割り当てる代わりに、使用されていないビットが、各ＧＯＰへの０．２Ｍ以上の追加的なビットを許可しないことによって、複数の後続するＧＯＰに分布される。その後、ターゲットフレームビットＢｉ，ｊが画像タイプに従って割り当てられる。ｊ番目の画像がＰである場合、ターゲットビットは、
【数５】
2007522724.tif 000007
となる。ただし、ＫＩはＩ画像とＰ画像との間のビットレシオであり、スライドするウィンドウアプローチを用いて推定可能であり、ＮＩはＧＯＰｉのＩ画像の残りの個数であり、ＮＰはＰ画像の残りの個数である。そうでない場合には、
【数６】
2007522724.tif 000008
である。Ｐ画像が同一のＧＯＰｉのＩ画像の以降のＰ画像によってリファレンスとして使用されるため、以降のＰ画像がより良好なクオリティのリファレンスから予測可能であり、符号化クオリティを向上させることが可能であることを保証するため、ＧＯＰの始めにあるＰ画像について、より多くの    ターゲットビットが使用される。リニア加重Ｐ画像ターゲットビット割当ては、以下のように使用される。
【００３３】
【数７】
2007522724.tif 000009
以下のような他の制約が、ＧＯＰのターゲットビットをより良好に満たすよう追加される。
【００３４】
【数８】
2007522724.tif 000010
ここで、
【数９】
2007522724.tif 000011
【数１０】
2007522724.tif 000012
である。
【００３５】
本発明による一例となるレートコントロールとして、５０％のバッファ占有が求められる。バッファオーバフロー又はアンダフローを回避するため、ターゲットビットはバッファレベルと結合して適応化される必要がある。バッファレベルＷは、式（３）によって各画像の符号化の終了時に更新される。本発明の原理によると、ターゲットビットを調整するよう実際のバッファレベルを利用する代わりに、Ｗ’＝ｍａｘ（Ｗ，０．４Ｍ）により与えられるバーチャルバッファレベルＷ’が提案される。これは、以前に符号化された画像が黒色のシーンなどの大変低い複雑さしか有さず、大変少ないビットしか使用しない場合、バッファレベルが大変低くなるというシナリオを回避する。実際のバッファレベルが式（７）と同様にターゲットフレームビットを調整するのに使用される場合、多すぎるビットが割り当てられ、そのことはＱＰを大変急激に低下させるであろう。しばらくした後、当該シーンが通常に戻ると、低いＱＰは容易にバッファをオーバフローさせるであろう。従って、ＱＰを劇的に増大させ、又はフレームをスキップする必要がある。これは、時間クオリティを大きく変動させる。その後、当該ビットは以下のようにバッファコントロールによって調整される。
【００３６】
【数１１】
2007522724.tif 000013
最小のクオリティレベルを保証するため、Ｂｉ，ｊ＝ｍａｘ（０．６＊Ｒ／Ｆ，Ｂｉ，ｊ）に設定される。バッファオーバフローとアンダフローをさらに回避するため、Ｉ画像のバッファセーフティトップマージンＷＴとボトムマージンＷＢは、ＷＴＩ＝０．７５ＭとＷＢＩ＝０．２５Ｍとして設定される。Ｐ画像に関して、式（５）に従って、次のＧＯＰの次のＩ画像について十分なバッファを可能にするため、
【数１２】
2007522724.tif 000014
と設定される。最終的なターゲットビットは、以下のように決定される。
【数１３】
2007522724.tif 000015
もしＷＶＴ＜ＷＴである場合には、Ｂ−＝ＷＶＴ―ＷＴであり、そうではなくＷＶＢ＜ＷＢである場合には、Ｂ＋＝ＷＢ−ＷＶＢとなる。
【００３７】
シーン変更検出装置が使用される場合、シーン変更の画像はＩ画像となるよう符号化され、当該Ｉ画像から新たなＧＯＰがスタートする。上記スキームは依然として利用可能である。
【００３８】
本発明の原理による新しいアプローチは、式（４）において求められるマクロブロックレベルＱＰに基づき、フレームレベルＱＰを決定するのに提案される。式（４）は、以下のように変更される。
【数１４】
2007522724.tif 000016
ここで、
【数１５】
2007522724.tif 000017
は同一タイプの直近に符号化された画像からのオーバヘッドであり、σｉは上述の前処理段階において推定される。本発明の原理による２つのアプローチは、ＱＰｆと表されるフレームレベル定数ＱＰを取得するのに利用可能である。第１のアプローチは、αｉ＝σｉと設定することであり、この結果、すべてのＭＢ  ＱＰは等しくなる。第２のアプローチは、以降で規定されるようなＭＢレベルのものと同じαｉを使用し、その後、ＱＰｆを求めるため、
【数１６】
2007522724.tif 000018
のヒストグラムの平均、中間値又はモードを利用するというものである。
【００３９】
本発明の好適な実施例では、ＱＰｆを取得するための第２のアプローチは、ＭＢ  ＱＰにより良好に一致させるのに利用される。フレームレベル量子化ステップサイズは、
【数１７】
2007522724.tif 000019
の値の平均によって決定される。
【００４０】
【数１８】
2007522724.tif 000020
Ｑ＝２（ＱＰ−６）／６による量子化ステップサイズＱと量子化パラメータＱＰとの間の変換が存在するということに留意されたい。隣接画像間の時間クオリティ変動を低減するため、
【数１９】
2007522724.tif 000021
と設定される。ここで、ＱＰｆ’は直近に符号化されたフレームのフレームＱＰであり、
【数２０】
2007522724.tif 000022
である。シーン変更は通常はバッファレベルをより高くするため、時間マスキング効果を利用し、シーン変更が生じたとき、Ｄｆはより大きな値に設定される。
・ＭＢレイヤレートコントロール
ＭＢレイヤレートコントロールの第１の主要な特徴は、より良好な知覚クオリティを取得するため、重み付けされた歪みαｉの適応的選択に関する。第２の主要な特徴は、同一画像におけるＭＢ  ＱＰの変動を低減することである。
【００４１】
海の波などの低い詳細コンテンツについて、詳細を保持するためより低いＱＰが求められる。しかしながら、ＲＤＯの観点から、低い詳細コンテンツはより高いＰＳＮＲを与える傾向があるため、より高いＱＰが好ましい。バランスを維持するため、αｉの異なる設定がＩ及びＰ画像のそれぞれについて採用される。Ｉ画像については、詳細がより良好に維持可能となるように、より高い歪みウェートが低い詳細を有するＭＢに与えられる。従って、
【数２１】
2007522724.tif 000023
が設定される。
【００４２】
Ｐ画像については、より高い歪みウェートが、より大きな残差誤差を有するＭＢに与えられる。従って、
【数２２】
2007522724.tif 000024
となる。
【００４３】
このように、Ｉ画像についてより良好な知覚クオリティが維持され、より高い客観的クオリティを依然と維持しながら、後続のＰ画像に伝搬可能である。１つの画像の内部のクオリティの大きな変動を回避するため、
【数２３】
2007522724.tif 000025
が設定される。フレームレベルレートコントロールが利用される場合、ＱＰｉ＝ＱＰｆとなる。
・バーチャルフレームスキップ
１つの画像の符号化後、Ｗが式（３）によって更新される。Ｗ＞０．９Ｍである場合、次フレームはバッファレベルが０．９Ｍ以下になるまでバーチャルにスキップされる。バーチャルフレームスキップは、ＳＫＩＰモードとなるようにＰ画像のすべてのＭＢを符号化する。このように、一定のフレームレートが構造的に維持可能である。現在のフレームがバーチャルスキップされたフレームであると判断されると、ＱＰｆ＝ＱＰｆ’＋２となるよう設定される。
【００４４】
要約すると、本発明によるレートコントロールスキームは、以下の各ステップ、すなわち、前処理、フレームターゲットビット割当て及びフレームレベル定数ＱＰ推定、ＭＢレベルＱＰ推定、バッファ更新及びバーチャルフレームスキップコントロールを含む。効果的には、本発明は、フレームレベルとＭＢレベルのレートコントロールを可能にする。
【００４５】
本発明の各種例示的な実施例による本発明の多数の付随する効果／特徴の一部が説明される。例えば、１つの効果／特徴は、フレームレベルＱＰを選択するため、初期的なマクロブロックＱＰ推定の平均／中間値／モードを利用することである。他の効果／特徴は、選択されたフレームレベルＱＰが、各マクロブロックＱＰの計算において利用されるときである。さらなる他の効果／特徴は、許容されるイントラ予測モードの一部を用いて、ＱＯ選択プロセスにおいて利用される残差を構成するイントラ予測を実行するときである。さらに、他の効果／特徴は、少数のイントラ予測モードを利用することである（例えば、式（３）など）。また、他の効果／特徴は、前のＧＯＰが、現在のＧＯＰに割り当てられた追加的なビットを所定の閾値に制限する多数の未使用ビットにより符号化されたときである。さらなる他の効果／特徴は、実際のバッファレベルの代わりに、バーチャルバッファレベルがバッファコントロールに利用されるときである。
【００４６】
本発明の上記及び他の特徴及び効果は、ここでの教示に基づき関連技術の当業者によって容易に確認されるかもしれない。本発明の教示は、ハードウェア、ソフトウェア、ファームウェア、特定用途向けプロセッサ又はこれらの組み合わせの各種形式により実現されてもよい。
【００４７】
最も好ましくは、本発明の教示は、ハードウェアとソフトウェアの組み合わせとして実現される。さらに、ソフトウェアは、好ましくは、プログラム格納ユニット上に具体的に実現されるアプリケーションプログラムとして実現される。このアプリケーションプログラムは、何れか適切なアーキテクチャを有するマシーンによって実行及びアップロードされるかもしれない。好ましくは、マシーンは１以上の中央処理ユニット（ＣＰＵ）、ＲＡＭ及び入出力（Ｉ／Ｏ）インタフェースなどのハードウェアを有するコンピュータプラットフォーム上で実現される。このコンピュータプラットフォームは、オペレーティングシステムとマイクロ命令コードをも有するものであってもよい。ここで記載される各種プロセス及び機能は、マイクロ命令コードの一部又はアプリケーションプログラムの一部、又はＣＰＵによって実行可能な上記の任意の組み合わせであってもよい。さらに、他の各種周辺ユニットは、追加的なデータ格納ユニットと印刷ユニットなどのコンピュータプラットフォームに接続されてもよい。
【００４８】
添付した図面に示されるシステムコンポーネント及び方法の一部は、好ましくは、ソフトウェアにより実現されるため、システムコンポーネント間の実際の接続又はプロセス機能ブロックは、本発明がプログラムされる方法に応じて異なるかもしれないということが、さらに理解されるべきである。ここでの教示が与えられると、当業者は、本発明の上記及び類似の実現形態又は構成を想到可能であろう。
【００４９】
例示的な実施例が添付した図面を参照して説明されたが、本発明は、これら正確な実施例に限定されず、本発明の範囲又は趣旨から逸脱することなく、当業者によって様々な変更及び改良が可能であるというということが理解されるべきである。このようなすべての変更及び改良は、添付された請求項により与えられる本発明の範囲内に含まれることが意図される。
【図面の簡単な説明】
【００５０】
【図１】図１は、ビデオエンコーダのブロック図を示す。
【図２】図２は、本発明の原理によるレートコントロールによる符号化プロセスのフローチャートを示す。
【図１】
2007522724.tif 000026
【図２】
2007522724.tif 000027
【国際調査報告】
2007522724.tif 000028
2007522724.tif 000029
2007522724.tif 000030