[関連出願の相互参照]
本願は、2008年9月16日に提出された米国特許仮出願第61/097269号の優先権を主張するものであり、参照によってその内容全体を本願明細書に引用したものとする。
[技術]
本開示は、全般的にビデオ技術に関し、特にビデオ符号化に関する。
本願明細書で使用される「イメージ特徴」という用語は、フィールド内の1つ以上の画素(例えば1つ以上のピクセル)を指す。本願明細書で使用される「情報源フィールド」という用語は、イメージ特徴に関する情報を判断すること、または得ることができるフィールドを指す。本願明細書で使用される「中間フィールド」という用語は、ビデオ・シーケンス内で情報源フィールドに時間的に後続または先行し得るフィールドを指し、イメージ特徴に関する情報は情報源フィールドを参照して表現される。本願明細書で使用される「視差推定(disparity estimation)」という用語は、動きベクトルまたはその他のパラメータ値を計算する技術を指し、それにより、例えばビデオ・シーケンスの2つ以上のフィールド間などの動き、またはそのほかイメージ、イメージの領域、ブロック、もしくはピクセルと、予測信号との間の差が効率よく予測、モデル化、または表現される。視差推定の例は動き推定とすることができる。本願明細書で使用される「視差推定値(disparity estimate)」という用語は、動きベクトル、または推定されるパラメータ予測に関係する別の値を指す。本願明細書で使用される「視差補償」という用語は、ビデオ・シーケンスの1つ以上の中間フィールドにおけるイメージ特徴の動きまたは何らかのパラメータを表現するよう、情報源フィールドにおけるイメージ特徴の位置の空間変位を計算するために、動き推定値(motion estimate)または別のパラメータが使用され得る技術を指す。視差補償の例は動き補償とすることができる。上記の用語はさらに、他のビデオ符号化概念と共に使用されることもある(例えばイントラ予測および照明補償)。
ビデオ・エンコーダの例の図を示す。
ビデオ・デコーダの例の図を示す。
ラグランジュ最適化関数の例の図である。
ラグランジュ最適化関数の例を推定および更新する例示のプロセスの流れ図である。
ラグランジュ乗数を推定および更新する例示のシステムを示す。
ラグランジュ最適化関数の例の図である。
レート歪最適化モード決定によるレート歪傾き推定(rate distortion slope estimation)の例の流れ図を示す。
局所近似によるレート歪傾き推定の例の流れ図を示す。
局所情報による例示のレート歪傾き推定の流れ図を示す。
符号化パラメータおよび局所情報を用いた例示のルックアップ・テーブルを示す図を示す。
大域情報による例示のレート歪推定の流れ図を示す。
例示の階層型予測構造を備える例示のグループ・オブ・ピクチャ(GOP:Group of Pictures)を備えた図を示す。
例示のラグランジュ乗数更新モジュールのブロック図を示す。
開示される技術を用いる例示のシステム図を示す。
様々な図面内の同じ参照番号および名称は、同様の構成要素を示すことができる。
ビデオ圧縮およびビデオ符号化に関する例示の実施形態を本願明細書に記載する。以下の記載では、説明のために、本発明が完全に理解されるよう多数の具体的な詳細事項を記載する。なお、当然のことながら、本発明の実施形態はこうした具体的な詳細事項を用いずに実践されてもよい。他の例として、本発明を不必要に分かりにくくすることを避けるために、周知の構造およびデバイスがブロック図の形態で示されている。添付の図面および以下の説明に、1つ以上の実施形態の詳細事項が記載される。他の特徴、目的、および側面は、説明および図面、ならびに特許請求の範囲から明らかである。
[概説]
本発明の実施形態は、ビデオのコード化に関する。第1のラグランジュ乗数がビデオ・エンコーダにより判断され、第1のラグランジュ乗数により第2のラグランジュ乗数を更新する。
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの1つ以上を含むことができる。第1のラグランジュ乗数は、少なくとも1つの他の符号化特徴との依存関係に少なくとも部分的に基づいて判断できる。符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、および/またはフレームの特性を含むことができ、特性は、テクスチャおよび/または輝度を含むことができる。ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含むことができ、ラグランジュ乗数推定モジュールは、第1のラグランジュ乗数を生成する、ダイナミック・プログラミングなどの方法を含むことができる。第1のラグランジュ乗数は、レート歪関数の少なくとも1つの符号化パラメータに関してレート歪傾きを計算することを伴うことができる。符号化パラメータは、1つ以上の量子化パラメータ(QP:quantization parameters)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。本方法は、DCTに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化、またはビット・プレーン・ビデオ符号化を含むことができる。第1のラグランジュ乗数は、ビデオ表示に関連する1つ以上の特性に少なくとも部分的に基づき生成可能である。第1のラグランジュ乗数は、少なくとも1つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断可能であり、少なくとも1つのビデオ符号化特性および/またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、局所情報、および/または大域情報を含むことができる。
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの1つ以上を含むことができる。第1のラグランジュ乗数を判断するプロセスは、1つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計の関数として第1のラグランジュ乗数を生成することを含むことができる。第1のラグランジュ乗数を判断するプロセスは、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第1のラグランジュ乗数を生成することを伴うことができる。種々の符号化パラメータはそれぞれ、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、もしくは1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、および/または1つ以上の符号化レイヤの関数のうちのいずれかを含むことができる。第1のラグランジュ乗数を判断するプロセスは、少なくとも1つの符号化パラメータに関して、レート歪曲線の傾きの推定値を生成することを含むことができ、第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数をその推定値により置き換えることを含むことができる。符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、および/または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。第3のラグランジュ乗数を判断するプロセスは、ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用することを伴うことができる。第1のラグランジュ乗数を置き換えることで第1のラグランジュ乗数を更新するプロセスは、第3のラグランジュ乗数を含むことができる。本方法は、ピクチャのいくつかのマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算することと、すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化することとを伴うことができる。
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの1つ以上を含むことができる。第1のラグランジュ乗数を判断するプロセスは、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第1のラグランジュ乗数を推定することを伴うことができる。符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、および/または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。レートおよび歪値は、いくつかのQPポイントを含むことができ、複数のQPポイントの歪およびレート値は、歪およびレート値(D
QP+l,R
QP+l)を含むことができる。歪値D
QP+lは、QP+lにおける歪値を表すことができ、レート値R
QP+lは、QP+lにおけるレート値を表すことができ、l、MおよびNは、QPポイントの数値を表すことができ、lは−M,・・・,−1,1,・・・Nを含むことができ、MおよびNは、事前選択または適応的選択されることが可能である。事前選択は、利用可能な計算資源に少なくとも部分的に基づくことができ、適応的選択は、利用可能な計算資源、ビデオ・シーケンス特性、および/または領域特性に少なくとも部分的に基づくことができる。領域特性は、1つ以上のマクロブロックの特性を含むことができる。
本方法は、1階微分推定法(first order derivative estimation method)を使用して(D
QP,R
QP)における曲線の傾きを推定することを伴うことができ、D
QPは、QPにおける歪値を表すことができ、R
QPは、QPにおけるレート値を表すことができる。1階微分推定法は、歪およびレート値(D
QP,R
QP)における階差の幾何平均とすることができる。
推定される第1のラグランジュ乗数は、歪およびレート値を判断するよう、1つ以上の候補モードに関するいくつかのラグランジュ・コストの比較を伴うことができる。各QPポイントに関して、本方法はさらに、全体的なラグランジュ・コスト関数が最小化されるモードを探索することを伴うことができる。
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの1つ以上を含むことができる。本方法では、第1のラグランジュ乗数を判断するプロセスは、局所近似によりレート歪傾き推定を実行することを伴うことができる。
本方法は、(D
QP,R
QP)における曲線の傾きを、1階微分推定法を使用して推定することを伴うことができる。歪値D
QPは、QPにおける歪を表すことができ、R
QPは、QPにおけるレートを表すことができる。符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、および/または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。1階微分推定法は、歪およびレート値(D
QP,R
QP)における階差の幾何平均とすることができる。
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの1つ以上を含むことができる。本方法において、第1のラグランジュ乗数を判断するプロセスは、第1のラグランジュ乗数を推定するために、局所情報を使用することを伴うことができる。局所情報は、分散、輝度(luma)要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、および/または領域もしくはマクロブロックの空間的または時間的に隣接したエリアの特性もしくはラグランジュ乗数を含むことができる。符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、および/または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを伴うことができる。第1のラグランジュ乗数は、λestimateの使用を伴うことができ、第1のラグランジュ乗数を判断することは、λestimateの算出を含むことができ、λestimateは、局所情報Ilocalに関する局所推定法flocal(・)の関数とすることができ、λestimateは、λestimate=floral(Ilocal)と表現できる。本方法は、第1のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第1のラグランジュ乗数を判断することとを含むことができる。第1のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断されることが可能である。本方法において、第1のラグランジュ乗数を判断するプロセスは、ラグランジュ乗数ルックアップ・テーブルを生成することを伴うことができる。ラグランジュ乗数ルックアップ・テーブルの生成は、エリアに関していくつかの分散を計算すること、いくつかの量子化パラメータ(QP)に関していくつかのラグランジュ乗数を推定すること、K個のビンにより、(K+1)のグループに該いくつかの分散を配置すること、L個のビンにより、複数グループに該いくつかのQPを配置すること、K個およびL個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算すること、および平均ラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブルに記録することを伴うことができる。本方法は、2つ以上のエリア、スライス、および/またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新することを伴うことができる。
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの1つ以上を含むことができる。本方法は、大域情報を使用して第1のラグランジュ乗数を推定することを伴うとよく、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。大域情報は、フレーム・レート、空間的特性、輝度もしくは彩度の分散、DC値、DC値のヒストグラム、現在の符号化構造、メタデータ情報、および/または現在のグループ・オブ・ピクチャ(GOP)内の階層レベルを含むことができる。第1のラグランジュ乗数は、λestimateを含むことができる。本方法は、第1のラグランジュ乗数を判断することを伴うことができ、これは、λestimateを算出することを含み、λestimateは、大域情報Iglobalに関する大域推定法fglobal(・)の関数とすることができ、λestimateは、λestimate=fglobal(Iglobal)と表現することができる。第1のラグランジュ乗数を伴う本方法は、大域情報を計算すること、ならびに計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することをさらに含むことができる。計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断するプロセスは、時間的特性、シーケンス、および/またはピクチャ間もしくは領域間の符号化の差に少なくとも部分的に基づいて、第1のラグランジュ乗数を調整することを伴うことができる。第1のラグランジュ乗数を判断するプロセスは、符号化パラメータと、ピクチャの階層レベルとの関数を含むことができ、第1のラグランジュ乗数はλkである。第1のラグランジュ乗数を判断するプロセスは、階層レベル、グループ・オブ・ピクチャ(GOP)のピクチャ間の変化のステップ・サイズ、および/またはGOPのアンカー・ピクチャの関数として第1のラグランジュ乗数λkをセットすることをさらに含むことができ、kは階層レベルを表すことができ、ΔGOPはGOPのピクチャ間の変化のステップ・サイズを表すことができ、λanchorはGOPのアンカー・ピクチャを表すことができ、λkはλk=(1−k・ΔGOP)・λanchorと表現できる。本方法は、第1のラグランジュ乗数を計算することをさらに含むことができる。
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの1つ以上を含むことができる。第1のラグランジュ乗数を判断するプロセスは、アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とGOP内の距離との比の関数として第1のラグランジュ乗数λkをセットすることを含むことができ、kは階層レベルを表すことができ、λanchorはGOPのアンカー・ピクチャのラグランジュ乗数を表すことができ、danchorはアンカー・ピクチャの距離を表すことができ、dGOPはGOP内の距離を表すことができ、λkはλk=(danchor/dGOP)・λanchorと表現できる。本方法は、このプロセスを使用して第1のラグランジュ乗数を計算することをさらに伴うことができる。第1のラグランジュ乗数を判断するプロセスは、アンカー・ピクチャまでの距離に少なくとも部分的に基づく、グループ・オブ・ピクチャ(GOP)の1つ以上のピクチャに関してラグランジュ乗数を判断することをさらに含むことができる。第1のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断されることが可能である。ラグランジュ乗数ルックアップ・テーブルは、いくつかの符号化パラメータに少なくとも部分的に基づくことができる。本方法は、ラグランジュ乗数ルックアップ・テーブル内のラグランジュ乗数のうちの1つ以上に少なくとも部分的に基づいて、第1のラグランジュ乗数を更新することをさらに伴うとよい。第1のラグランジュ乗数は、グループ・オブ・ピクチャ(GOP)の以前の階層構造を、GOPの後の階層構造を用いて変換する関数を含むことができる。第1のラグランジュ乗数により第2のラグランジュ乗数を更新するプロセスは、ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第1のラグランジュ乗数を推定することと、第2のラグランジュ乗数を第1のラグランジュ乗数により置き換えることを含むことができる。
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの1つ以上を含むことができる。第2のラグランジュ乗数を更新するプロセスは、一連のラグランジュ・ステップの中で第2のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第2のラグランジュ乗数を第1のラグランジュ乗数に変更することを含むことができる。第2のラグランジュ乗数を更新するプロセスは、第1のラグランジュ乗数λestimateと、第2のラグランジュ乗数λcurrentとの関数である更新された第2のラグランジュ乗数λnewを計算することを含むことができ、λnewは、λnew=λcurrent+Δ・(λestimate−λcurrent)と表現でき、Δは、0<Δ<1となるようプリセットされる、または適応的に変更される値を含むことができる。第2のラグランジュ乗数を更新するプロセスは、第2のラグランジュ乗数の更新に対し上限または下限をセットすることにより、第2のラグランジュ乗数の更新の大きさに対し限度を設けることを伴うことができる。第2のラグランジュ乗数を更新するプロセスは、1つ以上の以前のマクロブロックおよび現在のマクロブロックにおけるいくつかのラグランジュ乗数のスライディング・ウィンドウ平均を計算することを伴うことができる。本方法は、いくつかのラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択し、スライディング・ウィンドウの平均の関数として第2のラグランジュ乗数を更新することをさらに伴うことができる。
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの1つ以上を含むことができる。第1のラグランジュ乗数により第2のラグランジュ乗数を更新するプロセスは、周期的に第2のラグランジュ乗数を更新することを含むことができ、更新の周期は、一定周期、または適応的に変化する周期を含むことができる。この周期は、局所コンテキストに依存することができ、局所コンテキストは、動き強度またはシーン・カット情報を含むことができる。第2のラグランジュ乗数は、スライスの始まりに更新されることが可能である。第2のラグランジュ乗数は、シーン・カットが検出されると更新されることが可能である。第2のラグランジュ乗数を更新するプロセスは、ビデオ・エンコーダにより少なくとも2つのマクロブロックの分散を計算することと、2つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第2のラグランジュ乗数を更新することを伴うことができる。第2のラグランジュ乗数を更新するプロセスは、いくつかの周期、ピクチャ、またはピクチャの領域に関して第2のラグランジュ乗数を更新することを伴うことができる。第2のラグランジュ乗数を更新するプロセスは、無作為の順序または一定順序で、第2のラグランジュ乗数の種々のタイプの更新を実行することを伴うことができ、種々のタイプの更新は、直接更新、ステップ・サイズ更新、および/またはスライディング・ウィンドウ更新を含むことができる。
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの1つ以上を含むことができる。第1のラグランジュ乗数により第2のラグランジュ乗数を更新するプロセスは、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することを含むことができる。本方法は、第2のラグランジュ乗数を使用してビデオの或る領域を符号化することをさらに伴うとよい。第1のラグランジュ乗数を判断するプロセスは、複数の歪メトリクス(distortion metrics)を計算することを伴うことができる。本方法は、ビデオ・エンコーダにより第1のグループのラグランジュ乗数を判断し、第1のグループのラグランジュ乗数により第2のグループのラグランジュ乗数を更新することを含むことができる。第1のグループのラグランジュ乗数の判断において、複数の歪制約が採用されることが可能である。第1のグループのラグランジュ乗数を判断するプロセスは、2つ以上の次元および1つ以上の符号化パラメータによりレート歪傾きを計算することを伴うことができる。この1つ以上の符号化パラメータはそれぞれ、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、および/または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。
本願明細書に記載される本方法および技術の任意のものが、1つ以上の構成要素を備えるシステム、装置もしくはデバイス、機械、コンピュータ・プログラム製品、ソフトウェア、ハードウェア、またはその任意の組み合わせにおいて実装されることがさらに可能である。例えば、コンピュータ・プログラム製品は、コンピュータ可読媒体上に有形にコード化されることが可能であり、本願明細書に記載の方法のいずれかに関する1つ以上の動作をデータ処理装置(例えばデータ・プロセッサ)に実行させる命令を含むことができる。こうした技術がどのように実装可能であるかを示すために、いくつかの例示の実施形態が示され、記載される。
[システムおよび技術]
スケーラブル(例えばSVC)およびマルチビュー符号化システム(例えばMVC)を含むビデオ圧縮システムおよび標準(例えばISO MPEG−1、MPEG−2、MPEG−4、MPEG−4 AVC/ITU−T H.264、MPEG−4シンプル(SP:simple profile)およびアドバンスド・シンプル(ASP:Advanced Simple Profiles)プロファイル、H.261、H.263、AVS、ならびにVC−1など)は、適度なコストでビデオ・コンテンツを格納および配信する手法を提供することができる。ビデオ符号化最適化は、ビデオ圧縮システムの構成要素とすることができる。ビデオ符号化最適化は、高品質の視覚的エクスペリエンスを伴う高い符号化効率を提供することができる。ビデオ符号化最適化は、レート/歪最適化を考慮するとよく、これは、意志決定に関してビットレートおよび歪の両方の同時最適化を可能にする。あるいは、最適化は、歪またはビットレートを個別に考慮することもある。最適化はさらに、デコーダおよび/またはエンコーダの複雑度を含むパラメータを考慮することもあり、これは、計算資源の利用可能性(例えばメモリ状態および容量、電力消費)に関することもある。例えば、現代のビデオ符号化システムで高い符号化効率および視覚的品質を達成するために、レート歪最適化(RDO:rate distortion optimization)が使用可能である。
図1は、ビデオ・エンコーダ100の例の図を示す。エンコーダ100は、例えば、MPEG−4 AVCまたはITU−T H.264とも呼ばれる高度ビデオ符号化標準(AVC:advanced video coding)に実質的に準拠したエンコーダであるとよい。図1では、入力ビデオ102が加算器116へ送られ、加算器116は、入力ビデオ・フレーム102を、視差補償(例えば動き/照明変化補償および/またはイントラ予測)構成要素160の出力と合計する。加算器116からの出力は、変換構成要素104に結合されており、それに量子化構成要素106が続く。量子化構成要素106の出力は、可変長符号化(VLC:variable length coding)構成要素108および逆量子化構成要素110に結合されている。ビットストリーム120は、VLC構成要素108から生じる。ブロック、領域、またはイメージをコード化するために必要なビットの数、当該の決定により発生する歪など、コード化プロセスについての情報が、ループ・フィルタ166およびその他の構成要素へ送られる。
視差補償構成要素160は、視差推定構成要素162からの情報/決定を所与として、予測信号を生成することができる。視差推定構成要素162は、数ある中でも特に、(a)動きベクトル、照明変化パラメータ、および/またはイントラ予測モードなど、適切な予測パラメータを判断すること、(b)動き補償ブロック・サイズを選択的に有効化および無効化すること、(c)動き補償参照として特定のピクチャを使用すること、(d)動き推定探索範囲、微調整パターン、および/または動き推定反復の数などを調整すること、ならびに(e)イメージについての何らかの所定条件または情報を所与として、テストされる符号化モードの数を制限することなどを含むとよいタスクを実行することができる。ループ・フィルタ構成要素166は、数ある中でも特に、(a)インループ・デブロッキング・フィルタのパラメータを調整すること、(b)デブロッキング・フィルタをオフにすることを含むとよいタスクを実行することができる。
レート歪最適化構成要素180は、入力ビデオ102および視差補償構成要素160からの出力を受け取り、レート歪最適化情報を視差推定構成要素162へ送る。視差推定は、動き補償(または予測)誤差を最小化することと、その一方で動きフィールドの一貫性を最大化することとの間のバランスにより特徴付けることができる。動きフィールドの一貫性は、動きフィールドの滑らかさに関して表現されることが可能である。一貫したオブジェクトの動きは、動きフィールドがオブジェクト境界でのみ不連続となるよう、各オブジェクトに関して滑らかであることが要求される。このオブジェクト境界は、輪郭エッジまたはシルエット・エッジと呼ぶことができる。
逆変換構成要素112は、逆量子化構成要素110から入力を受け取り、出力を加算器126へ送る。加算器126は、逆変換構成要素112および視差補償構成要素160から信号を受け取り、合計された信号をループ・フィルタ166へ送る。ピクチャ参照ストア164は、ループ・フィルタ166から入力を受け取り、視差補償構成要素160および視差推定構成要素162に出力を送る。視差推定構成要素162はさらに、レート制御構成要素150からレート制御入力を受け取る。ループ・フィルタ166も、入力をレート制御構成要素150から受け取る。入力ビデオ102はさらに、視差補償構成要素160および視差推定構成要素162の入力に送られる。レート制御構成要素150はさらに、VLC構成要素108および視差補償構成要素160から入力を受け取る。レート制御構成要素150は、出力を、変換構成要素104、量子化構成要素106、視差補償160、およびレート歪最適化構成要素180へ送ることができる。
図2は、ビデオ・デコーダ200の例の図を示す。いくつかの実施形態では、デコーダ200は、H.264/MPEG−4 AVC標準に実質的に準拠して機能するとよい。デコーダ200は、ビットストリーム120を受信し、ビットストリームを、エントロピー(可変長)デコーダ205、1つまたは複数の逆量子化器230、1つまたは複数の逆変換構成要素235、および視差補償構成要素210を使用して復号する。エントロピー・デコーダ205は、数ある中でも特に、モード、動きベクトル、照明変化パラメータ、イントラ予測モードなどの視差情報を含むヘッダ情報、ならびに量子化および変換された残差データ(residual data)両方を抽出するとよい。視差補償、より具体的には信号の予測が、視差補償構成要素210においてヘッダ情報を使用して実行され、その一方で、残差データが、逆量子化器230を使用してまず逆量子化され、次に逆変換構成要素235を使用して逆変換される。加算器255は、逆変換235および視差補償器210の出力を加算し、合計された結果をループ・フィルタ225へ送る。ループ・フィルタ225の出力は、参照ピクチャ・バッファ220に結合されており、参照ピクチャ・バッファ220は、参照用のピクチャを格納するため、および出力250を送るために使用可能である。
ラグランジュ最適化が、ビデオ符号化最適化技術として使用可能である。ラグランジュ最適化は、ラグランジュ・コスト関数の最小化として、ビデオ符号化最適化問題を公式化する。ラグランジュ最適化は、RDOのための一技術と見なすことができ、符号化効率および視覚的品質を改善するために、エンコーダおよび/またはデコーダにおいて、特に視差推定、モード決定、複雑度割り当て、および量子化中に、ならびにパラメータが最適化される場合に使用されることができる。実施形態では、ラグランジュ最適化は、動きベクトルに対するビットレート制約を条件として、もとのビデオ情報と参照されるビデオ情報との間の差を最小化する最適な動きベクトルを求めるために、動き推定において使用可能である。
図3は、ラグランジュ最適化関数の例を示す図である。ラグランジュ・コスト関数は、
と表現でき、
となり、次のレート目標に従う。
図は、歪D315対レートR320のプロット300を示し、ラグランジュ・コスト関数325の最小化が、ラグランジュ乗数330の傾きを表す平面波により示されている。図3は、特定のラグランジュ乗数λを所与としてラグランジュ・コスト関数を最小化するときの最適解を示すことができる。
λ=0とするラグランジュ・コスト関数の最小化は、レートを考慮することなく歪を最小化することに本質的に等しい。逆に、λが任意に大きいラグランジュ・コスト関数の最小化は、歪を考慮することなくレートを最小化することに本質的に等しい。ゼロと、任意に大きな値との間のλ値を選択することで、明確な最適トレードオフの達成が可能となり、レートおよび歪要件のバランスがとられる。ビデオ圧縮システムでは、動きベクトルおよび符号化モードの両方を、ラグランジュ最適化により決定可能である。
ビデオ・エンコーダにおいてラグランジュ最適化を実行するとき、レートは通常、単位時間あたりのビットにより数えられる。歪は、様々な方法により計算され得る。
H.263およびH.264/MPEG−4 AVC標準の他、通常、適用される量子化プロセスを所与として、λの他の変形(例えば式5および式6のほか)を使用することができる。多くの実装において、cは定数として選択され、他の符号化特徴および/またはビデオ特性から独立していると想定される。さらに、ラグランジュ最適化が適用される領域、ブロック、またはイメージは、他の符号化決定から独立していると想定されることもある。同時に、ラグランジュ乗数λの量子化パラメータの関数としての公式化は、次の通り、情報源符号化理論に少なくとも部分的に基づいて近似的に解釈が可能である。
より高いレートで近似され得るレート歪関数は、
R(D)=aln(σ
2/D) (8)
と表現され、式中、aは情報源の確率密度関数(pdf:probability density function)に依存する定数である。いくつかの実施形態における、λの所与の値に関するラグランジュ・コスト関数Jの最小化は、Dに対してJの導関数をゼロと等しくセットすることによって達成されることができ、これにより次が得られる。
または等価に、
λ=−(dD/dR(D))=D/a (10)
高レートにおける歪は、次のように表現できる。
したがって、ラグランジュ乗数は、次のように表現できる。
式中、
c=4/(12・a) (13)
場合によっては、cは変化してもよく、他の符号化特徴および/またはビデオ特性に少なくとも部分的に依存してもよい。例えば、未来および過去の隣接するものと相関がある可能性もある。他の潜在的な依存関係も存在し得る。これはさらに、インター予測(例えば時間的予測)およびイントラ予測(例えば空間的予測)を強化し得る。複数の歪最適化(例えば、複数のラグランジュ・コスト関数により種々の歪制約を考慮する最適化方法)ならびにデコーダまたは/およびエンコーダの複雑度も強化され得る。複雑度は、必要メモリ、またはアクセス、キャッシュ・ミス、実行動作数、電力消費、および他の要因を考慮することができるであろう。時間的には、これはさらに、高速および/または低速動画の様々なフレーム・レートにおいて、または使用される符号化構造に少なくとも部分的に基づいて、符号化性能を強化することができる。例えば、階層符号化構造の使用は、時間参照間の異なる距離をもたらすこともある。距離の差も考慮され得る。一部のビデオ・システムは、輝度およびテクスチャなど、ピクチャおよびピクチャ内の領域間の特性も考慮することができる。こうした領域の一部は、静的であることもあり、他の領域は、動きを有することもある。本願明細書の一部の実施形態はさらに、λおよび/またはcを変化させるために、場合によってはダイナミック・プログラミング技術を採用することができる。
乗数λは、上述のように、QPの関数として公式化でき、ラグランジュ最適化においてλを非適応的に計算するアルゴリズムが存在し得る。なお、適応的λは、例えば時間的、または空間的特性など、変化する特性を有するコンテンツの符号化に性能利点を提供することができる。
例えば、QPに加えて、式10および13において示されているように、λもaに依存してもよく、aはさらに情報源のpdfに依存し得る(例えば、λはQPおよび情報源のpdfの関数であってもよい)。以下に記載される実施形態では、λは、ビデオ情報源統計および/または他のビデオ特性に少なくとも部分的に基づいて適応的に推定される。
ラグランジュ最適化における歪はさらに、ラグランジュ最適化において、主観的な視覚的品質を測定することができる他のメトリクスを使用して計算されることが可能である。こうしたメトリクスの一例には、最小可知差異(JND:Just Noticeable Difference)があり、これは、コンテンツに少なくとも部分的に基づいて、アーティファクトの可視性を測定するものである。別の例は、傾きの平均平方差(MSDS:Mean Square Difference of Slope)であり、これは、シーン内に現れ得るブロッキング・アーティファクトの強度を測定するために使用可能である。そのような場合、式6および7におけるラグランジュ乗数の公式化は、もはや有効ではない。
実施形態は、品質、空間、時間および/またはビット深度スケーラブル・システムなどのスケーラブル符号化システムも扱い、3D、マルチビュー、および同様のビデオ符号化システムなどのビデオ符号化システムと共に使用される。
実施形態は、ロバストなラグランジュ乗数選択技術に関する。実施形態は、人間の視覚系、または表示特性を考慮する品質メトリクスに少なくとも部分的に基づくレート歪最適化またはレート歪複雑度最適化を可能にし、これは、より単純なSADまたはSSDメトリクスに少なくとも部分的に基づいても、基づかなくてもよい。実施形態はさらに、ウェーブレットに基づくビデオ符号化、またはビットプレーンに基づくビデオ符号化を採用するビデオ符号化システムと共に使用されてもよい。
[ラグランジュ乗数の推定および更新]
実施形態は、ビデオ情報源統計に少なくとも部分的に基づいて、ラグランジュ乗数の値を適応的に推定および更新することができるシステムに関する。例示の実施形態では、このプロセスは少なくとも2つのステップを伴うとよい。
図4Aは、ラグランジュ最適化関数の例を推定および更新する例示のプロセス400の流れ図である。プロセスは、入力ブロック(410)を使用し、1つ以上の方法によりラグランジュ乗数λを判断するオンライン・ラグランジュ乗数推定(420)を伴い、それにλを更新するラグランジュ乗数更新が続く。アクション420および/または430は、ビデオ・エンコーダの一部として実装されること、および/または、図1のビデオ・エンコーダにあるようなビデオ・エンコーダにより処理される機能を有することが可能である。いくつかの実施形態では、初期のラグランジュ乗数λが選択および使用されることが可能であり、次に後の領域それぞれに関して、コード化される領域の真のラグランジュ乗数λtrueの推定値がある。初期のラグランジュ乗数λは、λtrueの関数として更新されることが可能である。例えば精度、複雑度、符号化性能、効率など、いくつかのビデオ符号化特性および/または統計に少なくとも部分的に基づいてλを判断するために、1つ以上の例示の符号化アクションが繰り返されることが可能である(例えば反復する形で)。場合によっては、λは、こうしたビデオ符号化特性および/または統計に関して、各反復において改善することができる(例えば、何らかのメトリクスに従い、より良いまたは洗練された結果を提供することができる)。
本願明細書のいくつかの実施形態では、記載されている、λを判断するための解は、経験的に判断可能である(例えば、その完全判断とは対照的)。λを探索するシステム・リソースは、実験解により節約され得る。λは、ピクチャまたはピクチャ内の領域に関して判断および/または更新可能である。いくつかの実施形態では、λは、種々の符号化パラメータ(例えばQP、フレーム・レート、解像度、符号化レイヤ)、符号化パラメータの関数(例えばQP、フレーム・レート、解像度、符号化レイヤの関数)、または以前に符号化されたマクロブロックの符号化パラメータに関して生成および更新可能である。いくつかの例示の実施形態では、λを求める前にまず符号化パラメータが判断されることが可能であり、λは後に更新されることが可能である。
1つ以上の実施形態は、1つ以上のラグランジュ・コスト関数における複数の制約に関して、複数のラグランジュ乗数を推定および更新するとよい。制約は、数ある中でも特に、1つ以上の歪メトリクス、またはスケーラブル・ビデオ符号化における種々のレイヤ、マルチビューでの種々のビュー、3Dビデオ符号化、および/または種々の表示における1つ以上の品質要求を含み得る。1つ以上の実施形態が一度に1つのラグランジュ乗数を推定および更新し、一方で、他のラグランジュ乗数は一定であるとよい。当該のプロセスは、ラグランジュ乗数が一部または全部、推定および更新されるまで継続することができる。提案される技術はさらに、1つ以上のラグランジュ乗数を同時に推定および更新するために使用可能であり、その場合、推定および更新されるラグランジュ乗数は、ベクトルと見なされることが可能であり、ベクトル・パラメータ推定法が、ラグランジュ乗数を推定および更新するために使用可能である。
図4Bは、ラグランジュ乗数を推定および更新するシステム405を示す。このシステムは、ラグランジュ乗数を推定するラグランジュ乗数推定モジュール425と、推定されたラグランジュ乗数を使用して現在のラグランジュ乗数を更新するラグランジュ乗数更新モジュール435とを含む。推定モジュール425は、任意の数の技術を使用して乗数を推定するとよい。システム405は、以下に記載されている特性を有するとよい。例えば、オンライン・ラグランジュ乗数推定モジュール435は、レート歪最適化モード決定によるレート歪傾き推定(422)、局所近似によるレート歪傾き推定(424)、局所情報によるレート歪傾き推定(426)、および/または大域情報によるレート歪傾き推定(428)により機能するとよい。ラグランジュ乗数更新モジュール435は、乗数を更新するよう機能するとよい。例えば、ラグランジュ乗数更新モジュール425は、直接更新(450)、ステップ・サイズ更新(455)、スライディング・ウィンドウ更新(460)、および周期的更新(465)により機能するとよい。ラグランジュ乗数更新モジュール425は、こうした技術の組み合わせまたは一部組み合わせ(sub−combination)により機能するとよい。
[オンライン・ラグランジュ乗数推定]
オンライン・ラグランジュ乗数推定(420)は、図4A〜図4Bに示されているように機能するとよい。図5は、ラグランジュ最適化関数500の例の図である。図5では、歪D315が、レートR320の関数として示されている。ラグランジュ・コスト関数の最小化が、ラグランジュ乗数の傾きを表す平面波により示されている。図500内の種々の領域550、555、560が、所与の歪値およびレートに関して異なる符号化パラメータ(例えば、量子化パラメータ、QP、フレーム・レート、解像度、符号化レイヤ)により複数回符号化可能な情報を有する。
ラグランジュ乗数が計算可能であり、これは、各レート歪曲線の傾きを表すとよい。量子化パラメータの代わりに、またはそれに加えて考慮され得るであろう他の符号化パラメータには、数ある中でも特に、動きベクトル、モード、量子化オフセット、または量子化閾値処理がある。ビットレートおよび歪の代わりに、またはそれに加えて、必要とされる/アクセスされるメモリ、キャッシュ・ミス、動作の数および/またはタイプ、ならびに電力消費などの複雑度メトリクスが考慮されてもよい。最適化に関する様々なコスト・メトリクスが考慮されることが可能である。こうしたコスト・メトリクスは、ビットレートの代わりに、またはそれに加えて、様々な歪および複雑度メトリクス、プライシングおよび利用モデル、またはその他の特性を含み得る。含まれるパラメータそれぞれに関して異なるラグランジュ乗数が考慮されてもよい。本願明細書のいくつかの実施形態では、ラグランジュ乗数を判断するために、複数の次元における(例えば2つ以上の次元における)レート歪曲線の傾きを考慮するとよい。本願明細書のいくつかの実施形態では、複数のラグランジュ乗数が、複数の歪および/または複雑度メトリクス、プライシングおよび利用モデル、または他の特性など、1つ以上の符号化メトリクスに関して考慮されることが可能である。
(DQP,RQP)と一致するラグランジュ乗数は、λcurrent525である。λcurrent(525)は、現在使用されているラグランジュ乗数を表し、最初は、例えば式12を用いてセットされるとよい。このラグランジュ乗数は、次に限定されるものではないがブロック、マクロブロック、マクロブロックのセット、スライス、またはスライスのグループを含む任意の領域に対して使用可能である。
最適モードπが選択可能であり、結果として生じる歪およびレートは(DQP,RQP)と示される。λcurrentは、(DQP,RQP)におけるレート歪曲線の傾きを表すとよい。なお、実際のレート歪曲線において、λcurrentが、選択されたポイントにおける曲線の傾きであるという保証はない。図5に示されているように、レート歪曲線の傾きは、上記の式に示されているものなど、いくつかの要因に応じて変化する可能性がある。
実施形態では、(DQP,RQP)における真の傾きλtrueが推定可能である。ラグランジュ乗数λcurrentは、真の傾きλtrueまたは真の傾きλtrueの関数に少なくとも部分的に基づいて更新可能である。例えば、λの初期値は、初期のQP値に少なくとも部分的に基づいて判断されることが可能であり、cが計算された後(例えば式12にあるように)、λの別の値が、マルチ・パス手法においてビデオ・イメージに関して判断されることが可能である。別の例では、領域内のブロックすべてに関して判断されたオプティマイザ値λのすべてを、関数において計算することができ(例えば、平均のλを計算するために)、マルチ・パス手法ではその情報(例えば平均のλ)に少なくとも部分的に基づいてフレームがコード化されることが可能である。別の例では、種々のQPまたは他の符号化パラメータに関するλの関係が判断されることが可能である。他の技術が、(DQP,RQP)におけるレート歪曲線上の真の傾きを推定するために使用されることが可能である。実施形態は、独立した形または共同した形で使用される、複数のレート歪傾き推定技術により機能し得る。
1)完全なレート歪最適化モード決定によるレート歪傾き推定
いくつかの実施形態では、(DQP,RQP)における真の傾きλtrue535が、その隣接したQPポイントのレートおよび歪値により推定可能である。例えば、図5は、QP、QP+1、QP−1の歪およびレートを示す。いくつかの実施形態では、レートおよび歪値は、(DQP+l,RQP+l),l=−M,・・・,−1,1,・・・Nなど、様々なQPポイントを有することができ、MおよびNは、事前選択または適応的選択されることが可能である。事前選択は、数ある中でも特に、利用可能な計算資源、スライスまたはピクチャ符号化タイプ、利用可能な参照およびその現在の符号化単位との関係を考慮しての判断に少なくとも部分的に基づくことができる。適応的選択は、数ある中でも特に、現在利用可能な計算資源、ならびに例えば隣接したマクロブロックの特性など、ビデオ・シーケンスおよび領域特性を考慮する判断に少なくとも部分的に基づくことができる。
いくつかの実施形態において、計算資源の利用可能性が非常に限られているエンコーダに関しては、小さな値のMおよびNを入れることができる。平面エリアに関する実施形態では、例えばQPの値が比較的小さければ、NをMよりも大きくすることができる。平面エリアに関しては、領域のコード化にはあまり大きくないQP値で十分なこともある。したがって、QP値をさらに小さくしても、結果として生じるレートおよび歪値には有意な差が得られないこともある。曲線上の隣接したポイントのレートおよび歪値は、当該QPが同じエリアに適用されるレート歪最適化再コード化により得ることができる。いくつかの実施形態では、低複雑度符号化法がさらに考慮されてもよい(例えば、単一ブロック・サイズおよび参照、制約付き動き検出、低複雑度RDO、低複雑度エントロピー符号化など)。図5では、影付きの円領域550、555、560はそれぞれ、完全なレート歪最適化モード決定を表すことができる。
いくつかの実施形態では、図5に示されているように、(D
QP,R
QP)における階差の幾何平均を使用して傾きが推定可能である。例では、レートおよび歪の階差は、(D
QP,R
QP)において、各(D
QP+l,R
QP+l)に関し、次式として計算可能である。
結果として生じる推定されたラグランジュ乗数は、次のように表現できる。
図6は、レート歪最適化モード決定によるレート歪傾き推定600の例の流れ図を示す。図6の例示の方法では、レートおよび歪値を、隣接したQP(例えばQP+1、QP、QP−1)において推定可能である。選択されたブロックであるブロックI(605)に関して、隣接したQPのlのループがあり、l=−M,・・・,−1,1,・・・Nであり(610)、初期のラグランジュ・コストJ
*は、J
*=MAX_VALUEにセットされる(615)。
2)局所近似によるレート歪傾き推定
レート歪傾き推定は、局所近似により実行できる。こうした実施形態では、隣接したポイントの近似値が、複雑度の要件を緩和することができる。
局所近似によるレート歪傾き推定に関するいくつかの実施形態は、低い計算複雑度および符号化時間を有し得る。
図7は、局所近似によるレート歪傾き推定700の例の流れ図を示す。選択されたブロックであるブロックI(710)に関して、隣接したQPに関してlのループがあり、l=−M,・・・,−1,1,・・・Nである(715)。
こうした概念はさらに、複数のラグランジュ・パラメータにまで拡大されることが可能である。
3)局所情報によるレート歪傾き推定
いくつかの実施形態では、局所情報(例えばビデオ符号化特性および/または統計)が、ラグランジュ乗数を予測または推定するために使用可能である。より具体的には、ラグランジュ乗数は、
λestimate=flocal(Ilocal) (16)
として推定されることが可能であり、式中、flocal(・)は局所推定法であり、Ilocalは局所情報である。当該の情報は、数ある中でも、分散、輝度要素の平均、彩度要素、推定される動き強度、テクスチャおよびエッジ情報、ならびに空間的および時間的に隣接したエリアの特性および更新されたラグランジュ乗数を含むことができる。スケーラブル符号化など、特定の符号化への適用の場合、この情報はさらに、品質、解像度、ベースおよび拡張レイヤの間の複雑度の差異、トーン・マッピング特性、ならびに深度の差異も同じく含み得る。
図8は、局所情報によるレート歪傾き推定800の例の流れ図を示す。図8では、選択されたブロックであるブロックI(810)に関して、局所情報Ilocalが計算される(815)。その結果、ラグランジュ乗数を、ルックアップ・テーブル内でQPおよびIlocalに少なくとも部分的に基づいて求めることができる(820)。
いくつかの実施形態では、ラグランジュ乗数は、次の通り、量子化パラメータおよびマクロブロックの分散に少なくとも部分的に基づいて推定されることができる。1つのエリアの分散σが計算されることが可能である。QPパラメータを所与として、このエリアの最適なラグランジュ乗数が、完全なレート歪最適化モード決定によるレート歪傾き推定を使用する実施形態、または局所近似によるレート歪傾き推定を使用する実施形態に関して上述された方法により推定されることが可能である。(QP,σ)の各ペアに関して、対応する最適なラグランジュ乗数λ(QP,σ)が記録されることが可能である。十分に大きなセットのデータがλ(QP,σ)に関して記録されると、全変域が、K個のビンにより(K+1)グループに配置されることが可能であり、σ1,σ2,・・・,σKとそれぞれ示されており、QPは、L個のビンにより(L+1)グループに配置され、QP1,QP2,・・・,QPlとそれぞれ示されている。
図9は、符号化パラメータおよび局所情報を用いた例示のルックアップ・テーブル900を示す図を示す。図9では、変域σ905が、K個のビンにより(K+1)グループに配置され、σ1910、σ2913,・・・,σk915とそれぞれ示されており、QP930は、L個のビンにより(L+1)グループに配置され、QP1920、QP2923,・・・,QPl925とそれぞれ示されている。ルックアップ・テーブル内の、KおよびLグループの例示のビンは、ビン935である。
ビンKおよびLの数は、一定とすることまたは適応的に変更されることが可能である。記録されたデータ・セットは、これらのビンにより、(L+1)×(K+1)のグループに配置されることが可能である。各グループに関して、平均ラグランジュ乗数を、
として計算でき、m=1,・・・,L+1、n=1,・・・,K+1、QP
0=0、QP
L+1=+∞、σ
0=0,σ
K+1=+∞であり、average{}は、集合内のすべてのλの平均を計算する。集合が空であれば、他の技術(例えば、エントロピー制約ベクトル量子化)に従い、QPに基づいてデフォルト値を返すことができる。
すべてのグループの平均が計算された後、これらの結果は、ラグランジュ乗数のルックアップ・テーブルとして機能することができる。例えば、コード化される各エリアに関して、まず分散が計算され、次に、使用されるQPに従い対応するグループに割り当てられることが可能である。対応するラグランジュ乗数は、このエリアに関する推定されたラグランジュ乗数として使用可能である。いくつかの実施形態では、計算された後はラグランジュ乗数テーブルを一定とすること、種々のエリア、スライス、シーンに関してラグランジュ乗数テーブルを適応的に更新すること、および/または周期的にラグランジュ乗数テーブルを更新することができる。
4)大域情報によるレート歪傾き推定
いくつかの実施形態では、ラグランジュ乗数を予測または推定するために大域情報が使用可能である。
図10は、大域情報によるレート歪傾き推定1000の流れ図を示す。図10では、選択されたブロックであるブロックI(1010)に関して、大域情報Iglobalが計算される(1015)。次に、ラグランジュ乗数が、QPおよびIglobalに少なくとも部分的に基づいてセットされる(1020)。
例えば、ラグランジュ乗数は、
λestimate=fglobal(Iglobal) (18)
とセットされることが可能であり、式中、fglobal(・)は大域推定法であり、Iglobalは大域情報である。大域情報は、フレーム・レート、輝度および彩度分散、DC値、および/またはDC値のヒストグラムなどの空間的特性、現在の符号化構造、および/またはメタデータ情報を含むことができる。例として、ラグランジュ乗数は、現在のグループ・オブ・ピクチャ(GOP)内のその階層レベルに少なくとも部分的に基づいて推定されることが可能である。
図11は、8つのピクチャの各グループに関して例示の階層予測構造1100を備える、グループ・オブ・ピクチャを伴う図を示す。図11は、アンカー・ピクチャ1105、1110およびピクチャの種々のレベル1130、1125、1120、1115(例えばレベル0、レベル1、レベル2、レベル3)を示す。ピクチャ1170〜ピクチャ1175のGOPがある。
アンカー・ピクチャ1105、1110は、アンカー・ピクチャを動き補償予測のための参照として使用することによる、イントラ符号化またはインター符号化ピクチャのいずれかとすることができる。GOPの残りのピクチャ1132、1135、1140、1145、1150、1155は、図11に示されているように、階層的に予測される。図11に示されている階層的予測には、3つのレベル1125、1120、1115がある。第1のレベル(レベル1)1125として示される、中央にあるピクチャ1145は、アンカー・ピクチャ1105、1110のみから予測される。第2のレベル(レベル2)1120のピクチャ1135、1155は、アンカー・ピクチャ1110、1105および第1のレベルのピクチャ1145の両方から予測されることが可能である。第3のレベル(レベル3)1115のピクチャとして示されている残りのピクチャ1132、1140、1150、1160は、アンカー・ピクチャ1105、1110、ならびに第1のレベル1125および第2のレベル1120のピクチャから予測されることが可能である。アンカー・ピクチャのラグランジュ乗数は、λanchorと示すことができる。
人間の心理視覚系(例えば人間の目に関連する視覚)は主観的に、種々のレイヤに関し何らかの経時マスキング(temporal masking)を有する可能性がある。この経時マスキングの補償を行うために、より低いレベル(例えばレベル1)が、より高いレベル(例えばレベル3)よりも高品質となるよう、各レベル1130、1125、1120、1115が違うように符号化されてもよい。さらに、時間的特性(例えば動きの差)が、異なるレベルのピクチャに関して変化することがある。さらに、異なるGOPおよびシーケンス(例えば高速度シーケンスまたは低速度シーケンス)が、特定の階層符号化構造向きであることもある。したがって、λは、数ある要因の中でも特に、こうした時間的特性、シーケンス、および/またはピクチャ間の符号化の差を考慮するよう調整および更新されることが可能である。
実施形態では、より高いレベルのピクチャ(例えばレベル3)に関する同じQPにおけるラグランジュ乗数の予測は、ラグランジュの式
λk=(1−k・ΔGOP)・λanchor (19)
を含むことができ、式中、kは階層レベルの値であり、ΔGOPは変化のステップ・サイズである。
実施形態では、同じQPポイントにおけるラグランジュ乗数をλanchorに少なくとも部分的に基づいて予測するとき、現在のピクチャからの距離danchorは、その最も近いアンカー・ピクチャに関連することができる。この例は、
λk=(danchor/dGOP)・λanchor (20)
と表現でき、式中、dGOPはGOPのサイズであり、一例では8とすることができる。他のピクチャは、その最も近いアンカー・ピクチャまでの距離に少なくとも部分的に基づいて判断されるλを有することができる。
いくつかの実施形態は、以前の階層構造および現在の階層構造を使用して機能することができ、λは、過去および現在の階層構造の変換により判断可能である。実施形態では、種々のQPに関して種々のラグランジュ乗数があり得る。ラグランジュ乗数は、ルックアップ・テーブル内の結果に少なくとも部分的に基づいて更新されることが可能である。例えば、1つ以上のピクチャが、マルチ・パス手法において再符号化されることができ、1つ以上のピクチャは、最初は初期のラグランジュ乗数により符号化されることができ、ルックアップ・テーブルを使用して領域のフレーム全体が再符号化される。
[ラグランジュ乗数更新モジュールおよび技術]
推定されたラグランジュ乗数λestimateは、得られた後、ラグランジュ乗数更新(430)において、現在の(または初期の)ラグランジュ乗数λcurrentを更新するために使用可能である。ラグランジュ乗数更新モジュール(430;図4B)は、少なくとも4つの技術のうちの1つ以上により機能するとよい。図12は、例示のラグランジュ乗数更新モジュール1200のブロック図を示す。λは、ブロック、フレーム、領域などに関して更新される(例えば置き換えられる)ことが可能である。λを更新するラグランジュ乗数更新モジュールは、直接更新(1250)、ステップ・サイズ更新(1255)、スライディング・ウィンドウ更新(1260)、および周期的更新(1265)のうちの1つ以上により機能するとよい。
1)直接更新
この例示の技術(1250)では、現在のラグランジュ乗数λcurrentが、推定されたラグランジュ乗数λestimateにより置き換えられることが可能である。この方法では、現在のラグランジュ乗数自体が、推定された乗数(1252)により直接置き換えられる。
2)ステップ・サイズ更新
この例示技術(1255)では、ラグランジュ乗数は
λnew=λcurrent+Δ・(λestimate−λcurrent) (21)
として更新されることが可能であり、ステップ・サイズ0<Δ<1である(1259)。現在のラグランジュ乗数を更新するプロセスは、λnewを計算することを伴い、λcurrentは、現在のラグランジュ乗数を表し、λnewは、更新されたラグランジュ乗数を表し、Δは、プリセットまたは適応的に変更される値であり、λestimateは、ラグランジュ乗数の推定値を表す。
λがすべてのマクロブロックまたは他の領域にわたって過度に急激に変化するのを防ぐために、各更新ステップにおける最大変化が或る範囲内に限られるとよい。実施形態では、λは
λnew=λcurrent+Δ・λcurrent・clip(MAX_Inc,MAX_Dec,((λestimate/λcurrent)−1.0)) (22)
として更新されることが可能であり、式中、MAX_IncおよびMAX_Decは、clip()関数の上限および下限であり、あらかじめ定められること、または適応的に変更されることが可能である(1259)。例えば、MAX_IncおよびMAX_Decがそれぞれ0.1および−0.1となるようセットされると、ラグランジュ乗数は、0.1・Δ・λcurrentだけ増減されることが可能である。
1つ以上の実施形態では、λは、別のλによって置き換えられるまで、徐々に、段階的に減らされることが可能である。例えば、λcurrentが保持されて、現在のλが別のλ(例えば、推定された乗数λestimate)により完全に置き換えられるところに進むまで、ステップまたはステップの一部分ごとにわずかに変更されることが可能である。したがって、別のλへの変更が適切となるまで(例えば、システムにノイズがあるとき)、ある期間にわたって同じλを使用することがビデオ用途に有益であると考えられる場合は、1つ以上の実施形態が利用され得る。
3)スライディング・ウィンドウ更新
この例示の技術(1260)では、ラグランジュ乗数が、推定される傾きの値と共に、以前のマクロブロックおよび現在のマクロブロック(または他の領域)におけるラグランジュ乗数の「スライディング・ウィンドウ」平均に少なくとも部分的に基づいて更新されることが可能である。複数のλを所与として別のλを判断するためのλのスライディング・ウィンドウを形成する、いくつかのλがあるとよい。
例えば、ラグランジュ乗数は、
λnew=fSW(λ0,λ1,・・・,λn) (23)
としてセットされることが可能であり、式中、fsw(・)は、現在および以前のラグランジュ乗数を考慮することができる任意のスライディング・ウィンドウ推定法であり、λ0=λestimate、λ1=λcurrentおよびλk,k=2,・・・,Mは以前のマクロブロックまたは他の領域に関するラグランジュ乗数である(1267)。例えば、いくつかの実施形態では、fSW(・)は、いくつかのラグランジュ乗数の平均の関数とすることができる。
4)周期的更新
この例示の方法(1265)では、ラグランジュ乗数は、上述の更新方法のうちのいずれかを使用して周期的に更新されることが可能である(例えば、直接更新1250、ステップ・サイズ更新1255、スライディング・ウィンドウ更新1260)(1269)。周期自体は、あらかじめ定められること、または動き強度もしくはシーン・カット情報などの局所コンテキストに従い適応的にセットされることが可能である。周期的更新は、特に類似した特性を有するエリアに関して、ビデオ・システムの低い計算複雑度をもたらすことができる。
例えば、ラグランジュ乗数は、各スライスの始まりのみに更新されてもよい。他の例は、まずシーン変化検出を実行し、シーン・カットが検出されるとラグランジュ乗数を更新することを伴ってもよい。そのような周期的更新は、ピクチャ内でも行われることが可能である。いくつかの実施形態では、エンコーダが、まず各マクロブロックの分散を計算し、隣り合ったマクロブロック間の分散の変化が特定の閾値を上回ったときにのみ、ラグランジュ乗数更新アルゴリズムが呼び出されてもよい。いくつかの実施形態では、特定の数の反復、周期、および/またはピクチャの領域に関してラグランジュ乗数の更新があり得る。
いくつかの実施形態では、ラグランジュ乗数は、任意の順序の上述の更新方法(例えば、直接更新、ステップ・サイズ更新、スライディング・ウィンドウ更新)を使用して周期的に更新されることが可能である。例えば順序は、無作為の順序、1つのタイプの更新から別のタイプの更新へという順序、または別々のタイプの更新を別々の周期に対して使用する順序とすることができる。例えば、直接更新1250は、第1の周期において使用され、ステップ・サイズ更新1255が第2の周期において使用され、スライディング・ウィンドウ更新1260が第3の周期において使用されることが可能である。
[例示システム]
図13は、本願明細書に記載されているラグランジュの技術の任意のもの(または任意の組み合わせ)を採用することができるシステム図を示す。様々なビデオ符号化および/または表示構成要素が図13に示されている。この技術は、1つ以上のコンピュータ1305A、1305B上で使用されることが可能である。本願明細書の1つ以上の方法(例えばアルゴリズム、プロセス)が、コンピュータおよび/またはビデオ表示1320、伝送、処理および再生システムにより実装されること、またはそれにおいて採用されることが可能である。本願明細書に記載されるコンピュータは、汎用でも、またはワークステーションなど何らかの特定目的のコンピュータでもよく、任意の種類のコンピュータとしてよい。コンピュータ1305Bは、例えばWindows XP(商標)、Vista(商標)、もしくはLinuxを実行するインテルまたはAMDに基づくコンピュータであっても、またはMacintosh(商標)コンピュータであってもよい。実施形態は、PDA(personal digital assistant:携帯情報端末)1315などのハンドヘルド・コンピュータ、携帯電話1310、またはラップトップ1305Aにも関連し得る。コンピュータはさらに、イメージ記録または受信1325、1330、1335、処理、格納1340、およびデータ、特にビデオ・データの分配のための機械または機械の一部を指し得る。
本願明細書に記載されたモジュールの任意の組み合わせが、ビデオ・システムの一部であり得る(例えば、図1、2および13に示されたビデオ・システムの一部)。いくつかの実施形態では、モジュールのいずれかが、図1の例示のビデオ・エンコーダにあるようなビデオ・エンコーダの一部であってもよい。モジュールの任意の組み合わせが、ハードウェアおよび/またはソフトウェアにおいて実装され得る。例えば、モジュールのいずれかが、コンピュータ・プログラムにより実装されてもよい。
コンピュータおよび/またはグラフィック・プログラムは、CもしくはPython、もしくはJava、Brew、またはその他任意のプログラミング言語で書かれるとよい。プログラムは、例えば磁気または光学、例えばコンピュータ・ハードドライブ、メモリ・スティックもしくはSD媒体などのリムーバブル・ディスクまたは媒体、有線もしくは無線ネットワークに基づく、もしくはブルートゥースに基づく、もしくはその他のネットワーク接続ストレージ(NAS:Network Attached Storage)、またはその他の固定もしくはリムーバブル媒体などのストレージ媒体にあってもよい。さらに、プログラムの実行は、ネットワーク1350上で、例えばサーバまたは他の機械が通信をローカルの機械に送信し、これによりローカルの機械が本願明細書に記載の動作を実行できるようにすることによってもよい。ネットワークは、ストレージ・エリア・ネットワーク(SAN:storage area network)を含んでもよい。
上記では、少数の実施形態のみを詳細に記載したが、他の実施形態も可能である。当然のことながら、本発明の実施形態は、本願明細書に記載の例示技術のうちの1つ以上の等価物および代用物を包含し得る。本明細書は、より一般的な目標を別の方法で達成するための具体的な例を記載する。当然のことながら、本記載は例示の実施形態を表すものであり、続く特許請求の範囲は、任意の均等物、変更、または代替手段を含むものとする。
主題の実施形態、および本明細書に記載された機能動作は、デジタル電子回路において、または本明細書で開示された構造およびその構造上の等価物を含むコンピュータ・ソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそのうちの1つ以上の組み合わせにおいて実装されることが可能である。本明細書に記載された主題の実施形態は、例えばデータ処理装置により実行されるよう、またはデータ処理装置の動作を制御するよう、コンピュータ可読媒体上にコード化されたコンピュータ・プログラム命令の1つ以上のモジュールなど、1つ以上のコンピュータ・プログラム製品として実装されることが可能である。コンピュータ可読媒体は、機械可読ストレージ・デバイス1340、機械可読ストレージ基板、メモリ・デバイス、機械可読な伝播・処理される通信をもたらす物質の構成、またはその1つ以上の組み合わせとすることができる。「データ処理装置」という用語は、データを処理するすべての装置、デバイスおよび機械を包含し、例として、プログラマブル・プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む。装置は、ハードウェアに加えて、対象のコンピュータ・プログラムの実行環境を作り出すコード、例えばプロセッサ・ファームウェア、プロトコル・スタック、グラフィカル・システム、データベース管理システム、オペレーティング・システム、またはその1つ以上の組み合わせを構成するコードなどを含むことができる。
コンピュータ・プログラム(別称プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、またはコード)は、コンパイル型またはインタープリタ型言語を含む任意の形態のプログラミング言語で書かれることが可能であり、スタンドアロン・プログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境用に適した他の単位としてなど、任意の形態で展開されることが可能である。コンピュータ・プログラムは、必ずしもファイル・システム内のファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(例えば、マークアップ言語ドキュメントに格納される1つ以上のスクリプト)、対象のプログラム専用の単一ファイル、または複数の連携ファイル(例えば1つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル)に格納可能である。コンピュータ・プログラムは、1つのコンピュータ上で、または1つの場所に位置するか、もしくは複数の場所に分散し通信ネットワークにより相互接続された複数のコンピュータ上で実行されるよう展開可能である。
本明細書に記載され示されたプロセスおよび論理フロー、ならびに図面は、入力データに作用し出力を生成することにより機能を実行する1つ以上のコンピュータ・プログラムを実行する1つ以上のプログラマブル・プロセッサにより実行されることが可能である。プロセスおよび論理フローはさらに、例えばFPGA(field programmable gate array:フィールド・プログラマブル・ゲート・アレイ)もしくはマイクロコントローラなどの別のプログラマブル論理デバイス(PLD:programmable logic device)、またはASIC(application specific integrated circuit:特定用途向け集積回路)などの専用論理回路により実行されることが可能であり、装置はさらに、このような専用論理回路として実装されることができる。
コンピュータ・プログラムの実行に適したプロセッサは、例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタル・コンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリもしくはランダム・アクセス・メモリまたは両方から命令およびデータを受け取ることができる。コンピュータの必須要素は、命令を実行するプロセッサ、ならびに命令およびデータを格納する1つ以上のメモリ・デバイスである。一般に、コンピュータはさらに、例えば磁気、光磁気ディスク、もしくは光ディスクなど、データを格納する1つ以上の大容量ストレージ・デバイスを含むこと、またはそれからデータを受け取るよう、もしくはそれへデータを転送するよう動作可能に結合されていること、または両方が可能である。なお、コンピュータはそのようなデバイスを有しなくてもよい。さらに、コンピュータは、ごく数例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイル・オーディオ・プレーヤ、衛星航法システム(GPS:Global Positioning System)受信機など、別のデバイスに組み込まれることが可能である。コンピュータ・プログラム命令およびデータを格納するのに適したコンピュータ可読媒体は、あらゆる形態の不揮発性メモリ、媒体およびメモリ・デバイスを含み、例として、例えばEPROM、EEPROM、およびフラッシュ・メモリ・デバイスなどの半導体メモリ・デバイス、例えば内蔵ハードディスクまたはリムーバブル・ディスクどの磁気ディスク、光磁気ディスク、ならびにCD ROMおよびDVD−ROMディスクなどが含まれる。プロセッサおよびメモリは、専用論理回路により補完されること、またはそれに組み込まれることが可能である。ユーザとの対話を提供するために、本明細書に記載されている主題の一部の実施形態は、ユーザに情報を表示するための、例えばCRT(cathode ray tube:陰極線管)、LCD(liquid crystal display:液晶表示装置)、もしくはプラズマ表示モニタなどの表示デバイス1320、ならびに、ユーザが入力をコンピュータに提供することができるキーボード、および例えばポインティング・デバイス、マウス、またはトラックボールなどのセレクタを有するコンピュータ上で実装されることができる。他の種類のデバイスも、ユーザとの対話を提供するために使用可能である。例えば、ユーザに提供されるフィードバックは、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、スピーチ、または触覚入力を含め、任意の形態で受け取られることが可能である。
本明細書に記載されている主題のいくつかの実施形態は、例えばデータ・サーバとしてなど、バックエンド構成要素を含むコンピューティング・システム、または、例えばアプリケーション・サーバなど、ミドルウェア構成要素を含むコンピューティング・システム、または、例えばユーザが本明細書に記載されている主題の実施形態と相互作用できるグラフィカル・ユーザ・インターフェースもしくはウェブ・ブラウザを有するクライアント・コンピュータなど、フロント・エンド構成要素を含むコンピューティング・システム、または1つ以上のそのようなバックエンド、ミドルウェア、もしくはフロント・エンド構成要素の任意の組み合わせにおいて実装されることが可能である。システムの構成要素は、例えば通信ネットワークなど、任意の形態または媒体のデジタル・データ通信によって相互接続可能である。通信ネットワークの例は、ローカル・エリア・ネットワーク(「LAN(local area network)」)、および例えばインターネットなどの広域ネットワーク(「WAN(wide area network)」)を含む。
コンピューティング・システムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに遠隔にあり、典型的には通信ネットワークを介して対話する。クライアントおよびサーバの関係は、各コンピュータ上で実行され互いにクライアント−サーバ関係を有するコンピュータ・プログラムにより生じる。
本開示は多数の詳細事項を含むが、これらは、制限として、または請求対象となり得るものとして解釈されるべきではなく、むしろ本発明の特定の実施形態に特有の特徴の記載として解釈されるべきである。別々の実施形態との関連で本明細書に記載されている特定の特徴が、単一の実施形態において組み合わせて実装されることも可能である。逆に、単一の実施形態との関連で記載されている様々な特徴が、複数の実施形態で別々に、または任意の適切な一部組み合わせで実装されることも可能である。さらに、各特徴は、特定の組み合わせで動作するよう上記に記載されていることもあり、最初にそのように請求されていることもあるが、場合によっては、請求されている組み合わせの1つ以上の特徴が、その組み合わせから削除されることが可能であり、請求されている組み合わせは、一部組み合わせまたは一部組み合わせの変形物を対象とし得る。同じく、各動作は図面内に特定の順序で示されているが、これは、望ましい結果を達成するために、当該の動作が示されている特定の順序もしくは順次的な順序で実行されること、または示されているすべての動作が実行されることを要求するものと理解されてはならない。
特定の状況では、マルチタスクおよび並列処理が有利なこともある。さらに、上述の実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を要求するものと理解されてはならず、当然のことながら、記載されているプログラム構成要素およびシステムは、一般に、単一ソフトウェアもしくはハードウェア製品に統合されること、または複数のソフトウェアもしくはハードウェア製品にパッケージ化されることが可能である。
「アルゴリズム」という用語は、本願明細書に記載された結果を達成するためのステップ、方法、プロセス、スキーム、手順、動作、プログラム、指針、技術、シーケンス、および/またはルールもしくは命令のセットを指すことができる。例えば、アルゴリズムは、ハードウェアおよび/またはソフトウェア・ビデオ・プロセッサ用のビデ処理命令のセットとすることができる。開示されたアルゴリズムは、ビデオに関係することができ、ビデオ・データの処理、圧縮、格納、伝送、受信、テスト、キャリブレーション、表示、および/または任意の改善を任意の組み合わせで行う、ビデオ関係のシステムおよび/または任意のデバイス、機械、ハードウェア、および/または製品において生成、実装、関連付けおよび/または採用されることが可能である。
本願明細書に記載された技術およびシステムはさらに、オーディオ圧縮および処理など、他のマルチメディア用途における最適化にまで拡大可能である。本開示において提示されている様々なタイプのラグランジュ・コスト公式化の1つ以上の実施形態は、様々な表示、処理、および/または歪特性を考慮に入れることができる。
いくつかの実施形態では、1つ以上のビデオ表示に関する1つ以上のラグランジュ乗数の選択は、複雑度、および/またはモードのチャネルおよび/または歪メトリクスに基づき部分的または全体的に決定されることが可能である。本願明細書に記載されているように、方法およびシステムは、ビデオ圧縮におけるラグランジュ乗数を適応的に推定および更新することができる。ここに記載されている方法およびシステムは、ブロック・レベル、マクロブロック・レベル、スライス・レベル、シーケンスもしくはシーン・レベルなど、種々のレベルに、または種々のレベルの組み合わせに適用できる。提示されている本発明は、適応的ビデオ・エンコーダ制御にも適用可能であり、その場合、歪が1つ以上の歪メトリクスによって測定される。上記の推定および更新モジュールは、反復する形で適用可能であり、例えば、更新されたラグランジュ乗数は、第2のラグランジュ乗数推定モジュールにおける初期の予測因子としての機能を果たすことができる。当該のプロセスは、推定されるラグランジュ乗数が収束するまで、または所定の条件が満たされるまで継続することができる。
いくつかの実施形態では、1つ以上のラグランジュ乗数が1つ以上の符号化メトリクスに関して考慮されることが可能である。他の実施形態および/または本願明細書の実施形態の一部の組み合わせにおいて、並列して処理される動作があってもよく、並列処理される動作は、複数のラグランジュ乗数を伴うとよい。並列処理される動作の一部は、複数の次元における(例えば2つ以上の次元における)レート歪曲線の傾き(単数または複数)を考慮し得る。
本発明の実施形態は、以下に列挙される例示の実施形態のうちの1つ以上に関してもよい。
1.ビデオをコード化する方法であって、
ビデオ・エンコーダにより第1のラグランジュ乗数を判断することと、
第1のラグランジュ乗数により第2のラグランジュ乗数を更新することと、
を含む、方法。
2.第1のラグランジュ乗数は、少なくとも1つの他の符号化特徴との依存関係に少なくとも部分的に基づいて判断される、列挙されている例示の実施形態1の方法。
3.符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、もしくはフレームの特性を含み、特性は、テクスチャおよび輝度を含む、列挙されている例示の実施形態0の方法。
4.ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含み、ラグランジュ乗数推定モジュールは、第1のラグランジュ乗数を生成するダイナミック・プログラミングを含み、第1のラグランジュ乗数は、レート歪関数の少なくとも1つの符号化パラメータに関してレート歪傾きを計算することを含む、列挙されている例示の実施形態0の方法。
5.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態0の方法。
6.該方法は、DCTに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化、またはビット・プレーン・ビデオ符号化を含む、列挙されている例示の実施形態0の方法。
7.第1のラグランジュ乗数は、ビデオ表示に関連する1つ以上の特性に少なくとも部分的に基づいて生成される、列挙されている例示の実施形態0の方法。
8.第1のラグランジュ乗数は、少なくとも1つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断され、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、または局所情報もしくは大域情報を含む、列挙されている例示の実施形態0の方法。
9.第1のラグランジュ乗数を判断することは、1つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計の関数として第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態0の方法。
10.第1のラグランジュ乗数を判断することは、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態0の方法。
11.種々の符号化パラメータはそれぞれ、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、または1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のいずれかを含む、列挙されている例示の実施形態の方法。
12.第1のラグランジュ乗数を判断することは、少なくとも1つの符号化パラメータに関してレート歪曲線の傾きの推定値を生成することを含み、第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数を推定値により置き換えることを含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態0の方法。
13.ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用して、第3のラグランジュ乗数を判断することと、
第1のラグランジュ乗数を第3のラグランジュ乗数により置き換えることにより、第1のラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態0の方法。
14.ピクチャの複数のマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算することと、
すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化することと、
をさらに含む、列挙されている例示の実施形態0の方法。
15.第1のラグランジュ乗数を判断することは、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第1のラグランジュ乗数を推定することを含む、列挙されている例示の実施形態0の方法。
16.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態0の方法。
17.レートおよび歪値は、複数のQPポイントを含み、複数のQPポイントの歪およびレート値は、(DQP+l,RQP+l)を含み、DQP+lは、QP+lにおける歪値を表し、RQP+lは、QP+lにおけるレート値を表し、l、MおよびNは、QPポイントの数値を表し、lは−M,・・・,−1,1,・・・Nを含み、MおよびNは、事前選択または適応的選択される、列挙されている例示の実施形態の方法。
18.事前選択は、利用可能な計算資源に少なくとも部分的に基づき、適応的選択は、利用可能な計算資源、またはビデオ・シーケンス特性、または領域特性に少なくとも部分的に基づき、領域特性は、1つ以上のマクロブロックの特性を含む、列挙されている例示の実施形態の方法。
19.本方法は、各QPポイントに関して、
全体的なラグランジュ・コスト関数が最小化されるモードを判断することと、
をさらに含む、列挙されている例示の実施形態の方法。
20.1階微分推定法は、(DQP,RQP)における階差の幾何平均を含む、列挙されている例示の実施形態の方法。
21.推定される第1のラグランジュ乗数は、λ
estimateを含み、
列挙されている例示の実施形態の方法。
22.推定される第1のラグランジュ乗数は、歪およびレート値を判断するための、1つ以上の候補モードに関する複数のラグランジュ・コストの比較を含む、列挙されている例示の実施形態の方法。
23.本方法は、各QPポイントに関して、全体的なラグランジュ・コスト関数が最小化されるモードを探索することをさらに含む、列挙されている例示の実施形態の方法。
24.第1のラグランジュ乗数を判断することは、局所近似1によりレート歪傾き推定を実行することを含む、列挙されている例示の実施形態0の方法。
25.局所近似によりレート歪傾き推定を実行することは、
現在のラグランジュ乗数λ
currentを用いる現在の符号化パラメータに関して、全体的なラグランジュ・コスト関数が最小化されるモードπ
*を判断することと、
(D
QP,R
QP)における曲線の傾きを、1階微分推定法を使用して推定することであって、D
QPは、QPにおける歪値を表し、R
QPは、QPにおけるレート値を表し、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、該推定することと、
を含む、列挙されている例示の実施形態の方法。
26.1階微分推定法は、(DQP,RQP)における階差の幾何平均を含む、列挙されている例示の実施形態の方法。
27.推定される第1のラグランジュ乗数は、λ
estimateを含み、
列挙されている例示の実施形態の方法。
28.
を含む、列挙されている例示の実施形態の方法。
29.第1のラグランジュ乗数を判断することは、第1のラグランジュ乗数を推定するために局所情報を使用することを含む、列挙されている例示の実施形態0の方法。
30.局所情報は、分散、輝度要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、または領域もしくはマクロブロックの空間的もしくは時間的に隣接したエリアの特性もしくはラグランジュ乗数を含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態の方法。
31.第1のラグランジュ乗数は、λestimateを含み、第1のラグランジュ乗数を判断することは、λestimateを算出することを含み、λestimateは、局所情報Ilocalに関する局所推定法flocal(・)の関数であり、λestimate=flocal(Ilocal)である、列挙されている例示の実施形態の方法。
32.第1のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、
計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第1のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態の方法。
33.第1のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態の方法。
34.第1のラグランジュ乗数を判断することは、ラグランジュ乗数ルックアップ・テーブルを生成することを含み、ラグランジュ乗数ルックアップ・テーブルの生成は、
エリアに関して複数の分散を計算することと、
複数の量子化パラメータ(QP)に関して複数のラグランジュ乗数を推定することと、
K個のビンにより(K+1)グループに複数の分散を配置することと、
L個のビンにより複数グループに複数のQPを配置することと、
K個およびL個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算することと、
平均ラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブル内に記録することと、
を含む、列挙されている例示の実施形態の方法。
35.2つ以上のエリア、スライス、またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新することさらに含む、列挙されている例示の実施形態の方法。
36.第1のラグランジュ乗数を推定するために、大域情報を使用することをさらに含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態0の方法。
37.大域情報は、フレーム・レート、空間的特性、輝度もしくは彩度の分散、DC値、DC値のヒストグラム、現在の符号化構造、メタデータ情報、または現在のグループ・オブ・ピクチャ(GOP)内の階層レベルを含む、列挙されている例示の実施形態の方法。
38.第1のラグランジュ乗数は、λestimateを含み、第1のラグランジュ乗数を判断することは、λestimateを算出することを含み、λestimateは、大域情報Iglobalに関する大域推定法fglobal(・)の関数であり、λestimate=fglobal(Iglobal)である、列挙されている例示の実施形態の方法。
39.第1のラグランジュ乗数は、
大域情報を計算することと、
計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態の方法。
40.計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することは、時間的特性、シーケンス、またはピクチャ間もしくは領域間の符号化の差に少なくとも部分的に基づいて、第1のラグランジュ乗数を調整することを含む、列挙されている例示の実施形態の方法。
41.第1のラグランジュ乗数を判断することは、符号化パラメータと、ピクチャの階層レベルとの関数を含み、第1のラグランジュ乗数はλkである、列挙されている例示の実施形態の方法。
42.第1のラグランジュ乗数を判断することは、
階層レベル、グループ・オブ・ピクチャ(GOP)のピクチャ間の変化のステップ・サイズ、およびGOPのアンカー・ピクチャの関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、ΔGOPはGOPのピクチャ間の変化のステップ・サイズを表し、λanchorはGOPのアンカー・ピクチャを表し、λk=(1−k・ΔGOP)・λanchorである、該セットすることと、
第1のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態の方法。
43.第1のラグランジュ乗数を判断することは、
アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とGOP内の距離との比の関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、λanchorはGOPのアンカー・ピクチャのラグランジュ乗数を表し、danchorはアンカー・ピクチャの距離を表し、dGOPはGOP内の距離を表し、λk=(danchor/dGOP)・λanchorである、該セットすることと、
第1のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態の方法。
44.第1のラグランジュ乗数を判断することは、アンカー・ピクチャまでの距離に少なくとも部分的に基づいて、グループ・オブ・ピクチャ(GOP)の1つ以上のピクチャに関してラグランジュ乗数を判断することをさらに含む、列挙されている例示の実施形態の方法。
45.第1のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態の方法。
46.ラグランジュ乗数ルックアップ・テーブルは、複数の符号化パラメータに少なくとも部分的に基づいている、列挙されている例示の実施形態の方法。
47.ラグランジュ乗数ルックアップ・テーブル内の複数のラグランジュ乗数に少なくとも部分的に基づいて、第1のラグランジュ乗数を更新することをさらに含む、列挙されている例示の実施形態の方法。
48.第1のラグランジュ乗数を判断することは、グループ・オブ・ピクチャ(GOP)の以前の階層構造を、GOPの後の階層構造を用いて変換する関数をさらに含む、列挙されている例示の実施形態の方法。
49.第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、
ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第1のラグランジュ乗数を推定することと、
第2のラグランジュ乗数を第1のラグランジュ乗数により置き換えることと、
を含む、列挙されている例示の実施形態0の方法。
50.第2のラグランジュ乗数を更新することは、一連のラグランジュ・ステップの中で第2のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第2のラグランジュ乗数を第1のラグランジュ乗数に変更することを含む、列挙されている例示の実施形態0の方法。
51.第2のラグランジュ乗数を更新することは、第1のラグランジュ乗数λestimateと、第2のラグランジュ乗数λcurrentとの関数である更新された第2のラグランジュ乗数λnewを計算することを含み、λnew=λcurrent+Δ・(λestimate−λcurrent)であり、Δは、プリセットされる、または適応的に変更される値を含み、0<Δ<1である、列挙されている例示の実施形態の方法。
52.第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数の更新に対し上限または下限をセットすることにより、第2のラグランジュ乗数の更新の大きさに対し限度を設けることを含む、列挙されている例示の実施形態の方法。
53.第2のラグランジュ乗数を更新することは、
1つ以上の以前のマクロブロックおよび現在のマクロブロックにおける複数のラグランジュ乗数のスライディング・ウィンドウ平均を計算すること
を含む、列挙されている例示の実施形態0の方法。
54.該方法は、
複数のラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択することと、
スライディング・ウィンドウの平均の関数として第2のラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態の方法。
55.第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、周期的に第2のラグランジュ乗数を更新することを含み、更新の周期は、一定周期、または適応的に変化する周期を含む、列挙されている例示の実施形態0の方法。
56.周期は、局所コンテキストに依存し、局所コンテキストは、動き強度またはシーン・カット情報を含む、列挙されている例示の実施形態の方法。
57.第2のラグランジュ乗数は、スライスの始まりに更新される、列挙されている例示の実施形態の方法。
58.第2のラグランジュ乗数は、シーン・カットが検出されると更新される、列挙されている例示の実施形態の方法。
59.第2のラグランジュ乗数を更新することは、
ビデオ・エンコーダにより少なくとも2つのマクロブロックの分散を計算することと、
2つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第2のラグランジュ乗数を更新することと、
を含む、列挙されている例示の実施形態の方法。
60.第2のラグランジュ乗数を更新することは、いくつかの周期、ピクチャ、またはピクチャの領域に関して第2のラグランジュ乗数を更新することを含む、列挙されている例示の実施形態の方法。
61.第2のラグランジュ乗数を更新することは、無作為の順序または一定順序で、第2のラグランジュ乗数の種々のタイプの更新を実行することを含み、種々のタイプの更新は、直接更新、ステップ・サイズ更新、およびスライディング・ウィンドウ更新を含む、列挙されている例示の実施形態の方法。
62.第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することを含み、該方法は、第2のラグランジュ乗数を使用してビデオの領域を符号化することをさらに含む、列挙されている例示の実施形態0の方法。
63.第1のラグランジュ乗数を判断することは、複数の歪メトリクスを計算することを含む、列挙されている例示の実施形態0の方法。
64.ビデオ・エンコーダにより第1のグループのラグランジュ乗数を判断することと、
第1のグループのラグランジュ乗数により第2のグループのラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態0の方法。
65.第1のグループのラグランジュ乗数の判断において、複数の歪制約が採用される、列挙されている例示の実施形態の方法。
66.第1のグループのラグランジュ乗数を判断することは、2つ以上の次元および1つ以上の符号化パラメータによりレート歪傾きを計算することを含み、該1つ以上の符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態の方法。
67.データ処理装置にビデオ符号化動作を実行させる命令を含み、コンピュータ可読媒体上に有形にコード化されたコンピュータ・プログラム製品であって、該動作は、
ビデオ・エンコーダにより第1のラグランジュ乗数を判断することと、
第1のラグランジュ乗数により第2のラグランジュ乗数を更新することと、
を含む、コンピュータ・プログラム製品。
68.第1のラグランジュ乗数を、少なくとも1つの他の符号化特徴との依存関係に少なくとも部分的に基づいて判断する命令をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
69.符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、もしくはフレームの特性を含み、特性は、テクスチャおよび輝度を含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
70.ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含み、ラグランジュ乗数推定モジュールは、第1のラグランジュ乗数を生成するダイナミック・プログラミングを含み、第1のラグランジュ乗数は、レート歪関数の少なくとも1つの符号化パラメータに関してレート歪傾きを計算することを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
71.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
72.DCTに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化動作、またはビット・プレーン・ビデオ符号化動作の命令をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
73.第1のラグランジュ乗数は、ビデオ表示に関連する1つ以上の特性に少なくとも部分的に基づく命令により生成される、列挙されている例示の実施形態のコンピュータ・プログラム製品。
74.第1のラグランジュ乗数を、少なくとも1つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断する命令をさらに含み、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、または局所情報もしくは大域情報を含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
75.第1のラグランジュ乗数を判断する命令は、1つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計の関数として第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
76.第1のラグランジュ乗数を判断する命令は、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
77.種々の符号化パラメータはそれぞれ、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、または1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちのいずれかを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
78.第1のラグランジュ乗数を判断することは、少なくとも1つの符号化パラメータに関してレート歪曲線の傾きの推定値を生成することを含み、第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数を推定値により置き換えることを含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
79.ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用して、第3のラグランジュ乗数を判断すること、および
第1のラグランジュ乗数を第3のラグランジュ乗数により置き換えることにより、第1のラグランジュ乗数を更新すること
の命令をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
80.ピクチャの複数のマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算すること、および
すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化すること
の命令をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
81.第1のラグランジュ乗数を判断する命令は、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第1のラグランジュ乗数を推定することを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
82.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
83.レートおよび歪値は、複数のQPポイントを含み、複数のQPポイントの歪およびレート値は、(DQP+l,RQP+l)を含み、DQP+lは、QP+lにおける歪値を表し、RQP+lは、QP+lにおけるレート値を表し、l、MおよびNは、QPポイントの数値を表し、lは−M,・・・,−1,1,・・・Nを含み、MおよびNは、1つ以上の動作において事前選択または適応的選択される、列挙されている例示の実施形態のコンピュータ・プログラム製品。
84.利用可能な計算資源に事前選択が少なくとも部分的に基づくための命令をさらに含み、利用可能な計算資源、またはビデオ・シーケンス特性、または領域特性に適応的選択が少なくとも部分的に基づくための命令をさらに含み、領域特性は、1つ以上のマクロブロックの特性を含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
85.各QPポイントに関して、データ処理装置にビデオ符号化動作を実行させる命令をさらに含み、該ビデオ符号化動作は、
全体的なラグランジュ・コスト関数が最小化されるモードを判断することと、
を含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
86.1階微分推定法は、(DQP,RQP)における階差の幾何平均を含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
87.推定される第1のラグランジュ乗数は、λ
estimateを含み、
列挙されている例示の実施形態のコンピュータ・プログラム製品。
88.推定される第1のラグランジュ乗数は、歪およびレート値を判断するための、1つ以上の候補モードに関する複数のラグランジュ・コストの比較を含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
89.各QPポイントに関して、全体的なラグランジュ・コスト関数が最小化されるモードを探索する命令をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
90.第1のラグランジュ乗数を判断する命令は、局所近似によりレート歪傾き推定を実行することを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
91.局所近似によりレート歪傾き推定を実行する命令は、
現在のラグランジュ乗数λ
currentを用いる現在の符号化パラメータに関して、全体的なラグランジュ・コスト関数が最小化されるモードπ
*を判断することと、
lに関する歪およびレート値
(D
QP,R
QP)における曲線の傾きを、1階微分推定法の命令を使用して推定することであって、D
QPは、QPにおける歪値を表し、R
QPは、QPにおけるレート値を表し、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、該推定することと、
を含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
92.1階微分推定法の命令は、(DQP,RQP)における階差の幾何平均を計算することを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
93.推定される第1のラグランジュ乗数は、λ
estimateを含み、
列挙されている例示の実施形態のコンピュータ・プログラム製品。
94.
列挙されている例示の実施形態のコンピュータ・プログラム製品。
95.第1のラグランジュ乗数を推定するために局所情報を使用する命令をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
96.局所情報は、分散、輝度要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、または領域もしくはマクロブロックの空間的もしくは時間的に隣接したエリアの特性もしくはラグランジュ乗数を含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
97.第1のラグランジュ乗数は、λestimateを含み、第1のラグランジュ乗数を判断することは、λestimateを算出する命令を含み、λestimateは、局所情報Ilocalに関する局所推定法flocal(・)の関数であり、λestimate=flocal(Ilocal)である、列挙されている例示の実施形態のコンピュータ・プログラム製品。
98.命令は、
第1のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、
計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第1のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
99.第1のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態のコンピュータ・プログラム製品。
100.第1のラグランジュ乗数を判断する命令は、ラグランジュ乗数ルックアップ・テーブルを生成することを含み、ラグランジュ乗数ルックアップ・テーブルの生成は、
エリアに関して複数の分散を計算することと、
複数の量子化パラメータ(QP)に関して複数のラグランジュ乗数を推定することと、
K個のビンにより(K+1)グループに複数の分散を配置することと、
L個のビンにより複数グループに複数のQPを配置することと、
K個およびL個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算することと、
平均ラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブル内に記録することと、
を含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
101.2つ以上のエリア、スライス、またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新する命令をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
102.第1のラグランジュ乗数を推定するために、大域情報を使用することをさらに含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
103.大域情報は、フレーム・レート、空間的特徴、輝度もしくは彩度の分散、DC値、DC値のヒストグラム、現在の符号化構造、メタデータ情報、または現在のグループ・オブ・ピクチャ(GOP)内の階層レベルを含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
104.第1のラグランジュ乗数は、λestimateを含み、第1のラグランジュ乗数を判断する命令は、λestimateを算出することを含み、λestimateは、大域情報Iglobalに関する大域推定法fglobal(・)の関数であり、λestimate=fglobal(Iglobal)である、列挙されている例示の実施形態のコンピュータ・プログラム製品。
105.第1のラグランジュ乗数に関連する命令は、
大域情報を計算することと、
計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
106.計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することは、時間的特性、シーケンス、またはピクチャ間または領域間の符号化の差に少なくとも部分的に基づいて、第1のラグランジュ乗数を調整する命令を含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
107.第1のラグランジュ乗数を判断する命令は、符号化パラメータと、ピクチャの階層レベルとの関数を含み、第1のラグランジュ乗数はλkである、列挙されている例示の実施形態のコンピュータ・プログラム製品。
108.第1のラグランジュ乗数を判断することは、
階層レベル、グループ・オブ・ピクチャ(GOP)のピクチャ間の変化のステップ・サイズ、およびGOPのアンカー・ピクチャの関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、ΔGOPはGOPのピクチャ間の変化のステップ・サイズを表し、λanchorはGOPのアンカー・ピクチャを表し、λk=(1−k・ΔGOP)・λanchorである、該セットすることと、
第1のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
109.第1のラグランジュ乗数を判断する命令は、
アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とGOP内の距離との比の関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、λanchorはGOPのアンカー・ピクチャのラグランジュ乗数を表し、danchorはアンカー・ピクチャの距離を表し、dGOPはGOP内の距離を表し、λk=(danchor/dGOP)・λanchorである、該セットすることと、
第1のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
110.第1のラグランジュ乗数を判断する命令は、アンカー・ピクチャまでの距離に少なくとも部分的に基づいて、グループ・オブ・ピクチャ(GOP)の1つ以上のピクチャに関してラグランジュ乗数を判断する命令をさらに含む、列挙されている例示の実施形態のコンピュータ・プログラム製品。
111.第1のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態のコンピュータ・プログラム製品。
112.ラグランジュ乗数ルックアップ・テーブルは、複数の符号化パラメータに少なくとも部分的に基づいている、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
113.ラグランジュ乗数ルックアップ・テーブル内の複数のラグランジュ乗数に少なくとも部分的に基づいて、第1のラグランジュ乗数を更新する命令をさらに含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
114.第1のラグランジュ乗数を判断する命令は、グループ・オブ・ピクチャ(GOP)の以前の階層構造を、GOPの後の階層構造を用いて変換する関数をさらに含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
115.第1のラグランジュ乗数により第2のラグランジュ乗数を更新する命令は、
ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第1のラグランジュ乗数を推定することと、
第2のラグランジュ乗数を第1のラグランジュ乗数により置き換えることと、
を含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
116.第2のラグランジュ乗数を更新する命令は、一連のラグランジュ・ステップの中で第2のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第2のラグランジュ乗数を第1のラグランジュ乗数に変更する命令を含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
117.第2のラグランジュ乗数を更新する命令は、第1のラグランジュ乗数λestimateと、第2のラグランジュ乗数λcurrentとの関数である更新された第2のラグランジュ乗数λnewを計算する命令を含み、λnew=λcurrent+Δ・(λestimate−λcurrent)であり、Δは、プリセットされる、または適応的に変更される値を含み、0<Δ<1である、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
118.第2のラグランジュ乗数を更新する命令は、第2のラグランジュ乗数の更新に対し上限または下限をセットすることにより、第2のラグランジュ乗数の更新の大きさに対し限度を設ける命令を含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
119.第2のラグランジュ乗数を更新する命令は、
1つ以上の以前のマクロブロックおよび現在のマクロブロックにおける複数のラグランジュ乗数のスライディング・ウィンドウ平均を計算すること
を含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
120.命令は、
複数のラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択することと、
スライディング・ウィンドウの平均の関数として第2のラグランジュ乗数を更新することと、
を含むビデ符号化動作をさらに含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
121.第1のラグランジュ乗数により第2のラグランジュ乗数を更新する命令は、周期的に第2のラグランジュ乗数を更新する命令を含み、更新の周期は、一定周期、または適応的に変化する周期を含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
122.周期は、局所コンテキストに依存し、局所コンテキストは、動き強度またはシーン・カット情報を含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
123.第2のラグランジュ乗数をスライスの始まりに更新する命令をさらに含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
124.シーン・カットが検出されると第2のラグランジュ乗数を更新する命令をさらに含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
125.第2のラグランジュ乗数を更新する命令は、
ビデオ・エンコーダにより少なくとも2つのマクロブロックの分散を計算することと、
2つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第2のラグランジュ乗数を更新することと、
を含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
126.第2のラグランジュ乗数を更新する命令は、いくつかの周期、ピクチャ、またはピクチャの領域に関して第2のラグランジュ乗数を更新する命令を含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
127.第2のラグランジュ乗数を更新する命令は、無作為の順序または一定順序で、第2のラグランジュ乗数の種々のタイプの更新を実行することを含み、種々のタイプの更新は、直接更新、ステップ・サイズ更新、およびスライディング・ウィンドウ更新を含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
128.第1のラグランジュ乗数により第2のラグランジュ乗数を更新する命令は、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することを含み、この命令は、第2のラグランジュ乗数を使用してビデオの領域を符号化することをさらに含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
129.第1のラグランジュ乗数を判断する命令は、複数の歪および/または複雑度メトリクスを計算することを含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
130.命令は、
ビデオ・エンコーダにより第1のグループのラグランジュ乗数を判断することと、
第1のグループのラグランジュ乗数により第2のグループのラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
131.第1のグループのラグランジュ乗数の判断において、複数の歪制約を利用する命令をさらに含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
132.第1のグループのラグランジュ乗数を判断することは、2つ以上の次元および1つ以上の符号化パラメータによりレート歪傾きを計算することを含み、該1つ以上の符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態1のコンピュータ・プログラム製品。
133.ビデオをコード化するシステムであって、システムは、ビデオ符号化動作を処理するよう構成された1つ以上の構成要素を含み、ビデオ符号化動作は、
1つ以上の構成要素により第1のラグランジュ乗数を判断することであって、該1つ以上の構成要素は、ビデオ・エンコーダを含む、該判断することと、
第1のラグランジュ乗数により第2のラグランジュ乗数を更新することと、
を含む、システム。
134.第1のラグランジュ乗数は、少なくとも1つの他の符号化特徴との依存関係に少なくとも部分的に基づいて判断される、列挙されている例示の実施形態1のシステム。
135.符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、もしくはフレームの特性を含み、特性は、テクスチャおよび輝度を含む、列挙されている例示の実施形態1のシステム。
136.ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含み、ラグランジュ乗数推定モジュールは、第1のラグランジュ乗数を生成するダイナミック・プログラミングを含み、第1のラグランジュ乗数は、レート歪関数の少なくとも1つの符号化パラメータに関してレート歪傾きを計算することを含む、列挙されている例示の実施形態1のシステム。
137.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態1のシステム。
138.システムは、DCTに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化、またはビット・プレーン・ビデオ符号化の命令を処理するよう動作可能である、列挙されている例示の実施形態1のシステム。
139.第1のラグランジュ乗数は、少なくとも1つのビデオ表示に関連する1つ以上の特性に少なくとも部分的に基づいて生成される、列挙されている例示の実施形態1のシステム。
140.該1つ以上の構成要素は、第1のラグランジュ乗数を、少なくとも1つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断し、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、局所情報もしくは大域情報を含む、列挙されている例示の実施形態1のシステム。
141.第1のラグランジュ乗数を判断する該1つ以上の構成要素は、1つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計の関数として第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態1のシステム。
142.第1のラグランジュ乗数を判断することは、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態1のシステム。
143.種々の符号化パラメータはそれぞれ、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、または1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちのいずれかを含む、列挙されている例示の実施形態1のシステム。
144.第1のラグランジュ乗数を判断することは、少なくとも1つの符号化パラメータに関してレート歪曲線の傾きの推定値を生成することを含み、第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数を推定値により置き換えることを含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態1のシステム。
145.該1つ以上の構成要素は、
ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用して、第3のラグランジュ乗数を判断すること、および
第1のラグランジュ乗数を第3のラグランジュ乗数により置き換えることにより、第1のラグランジュ乗数を更新すること
の命令を処理するよう動作可能である、列挙されている例示の実施形態1のシステム。
146.該1つ以上の構成要素は、
ピクチャの複数のマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算すること、および
すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化すること
の命令を実行するよう動作可能である、列挙されている例示の実施形態1のシステム。
147.第1のラグランジュ乗数を判断することは、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第1のラグランジュ乗数を推定することを含む、列挙されている例示の実施形態1のシステム。
148.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態1のシステム。
149.レートおよび歪値は、複数のQPポイントを含み、複数のQPポイントの歪およびレート値は、(DQP+l,RQP+l)を含み、DQP+lは、QP+lにおける歪値を表し、RQP+lは、QP+lにおけるレート値を表し、l、MおよびNは、QPポイントの数値を表し、lは−M,・・・,−1,1,・・・Nを含み、MおよびNは、事前選択または適応的選択される、列挙されている例示の実施形態1のシステム。
150.該1つ以上の構成要素に関する事前選択は、利用可能な計算資源に少なくとも部分的に基づき、適応的選択は、利用可能な計算資源、またはビデオ・シーケンス特性、または領域特性に少なくとも部分的に基づき、領域特性は、1つ以上のマクロブロックの特性を含む、列挙されている例示の実施形態のシステム。
151.該1つ以上の構成要素は、各QPポイントに関して、
全体的なラグランジュ・コスト関数が最小化されるモードを判断することと、
列挙されている例示の実施形態のシステム。
152.1階微分推定法は、(DQP,RQP)における階差の幾何平均を含む、列挙されている例示の実施形態のシステム。
153.推定される第1のラグランジュ乗数は、λ
estimateを含み、
列挙されている例示の実施形態のシステム。
154.推定される第1のラグランジュ乗数は、歪およびレート値の判断における、1つ以上の候補モードに関する複数のラグランジュ・コストの比較を含む、列挙されている例示の実施形態のシステム。
155.該1つ以上の構成要素は、各QPポイントに関して、全体的なラグランジュ・コスト関数が最小化されるモードの探索を実行する、列挙されている例示の実施形態のシステム。
156.該1つ以上の構成要素が第1のラグランジュ乗数を判断するとき、該1つ以上の構成要素は、局所近似によりレート歪傾き推定を実行する、列挙されている例示の実施形態のシステム。
157.該1つ以上の構成要素が局所近似によりレート歪傾き推定を実行するとき、該1つ以上の構成要素の動作は、
現在のラグランジュ乗数λ
currentを用いる現在の符号化パラメータに関して、全体的なラグランジュ・コスト関数が最小化されるモードπ
*を判断することと、
(D
QP,R
QP)における曲線の傾きを、1階微分推定法の命令を実行することによって推定することであって、D
QPは、QPにおける歪値を表し、R
QPは、QPにおけるレート値を表し、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、該推定することと、
を含む、列挙されている例示の実施形態のシステム。
158.1階微分推定法の命令は、歪およびレート値(DQP,RQP)における階差の幾何平均を含む、列挙されている例示の実施形態のシステム。
159.推定される第1のラグランジュ乗数は、λ
estimateを含み
列挙されている例示の実施形態のシステム。
160.該1つ以上の構成要素は、
を含む動作により判断するよう動作可能である、列挙されている例示の実施形態のシステム。
161.該1つ以上の構成要素は、第1のラグランジュ乗数を推定するために局所情報を使用することにより、第1のラグランジュ乗数を判断する、列挙されている例示の実施形態のシステム。
162.局所情報は、分散、輝度要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、または領域もしくはマクロブロックの空間的もしくは時間的に隣接したエリアの特性もしくはラグランジュ乗数を含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態のシステム。
163.第1のラグランジュ乗数は、λestimateを含み、該1つ以上の構成要素は、第1のラグランジュ乗数を、λestimateを算出することにより判断し、λestimateは、局所情報Ilocalに関する局所推定法flocal(・)の関数であり、λestimate=flocal(Ilocal)である、列挙されている例示の実施形態のシステム。
164.該1つ以上の構成要素は、
第1のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、
計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第1のラグランジュ乗数を判断することと、
を含む動作を処理するよう動作可能である、列挙されている例示の実施形態のシステム。
165.第1のラグランジュ乗数は、該1つ以上の構成要素に格納されているラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態のシステム。
166.該1つ以上の構成要素は、第1のラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブルを生成することにより判断するよう構成されており、ラグランジュ乗数ルックアップ・テーブルの生成は、
エリアに関して複数の分散を計算することと、
複数の量子化パラメータ(QP)に関して複数のラグランジュ乗数を推定することと、
K個のビンにより複数の分散を(K+1)グループに配置することと、
L個のビンにより複数グループに複数のQPを配置することと、
K個およびL個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算することと、
平均ラグランジュ乗数を、該1つ以上の構成要素内のラグランジュ乗数ルックアップ・テーブル内に記録することと、
を含む、列挙されている例示の実施形態のシステム。
167.該1つ以上の構成要素は、2つ以上のエリア、スライス、またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新するよう構成されている、列挙されている例示の実施形態のシステム。
168.該1つ以上の構成要素は、第1のラグランジュ乗数を推定するために大域情報を使用するよう構成されており、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態のシステム。
169.大域情報は、フレーム・レート、空間的特徴、輝度もしくは彩度の分散、DC値、DC値のヒストグラム、現在の符号化構造、メタデータ情報、または現在のグループ・オブ・ピクチャ(GOP)内の階層レベルを含む、列挙されている例示の実施形態のシステム。
170.第1のラグランジュ乗数は、λestimateを含み、該1つ以上の構成要素は、第1のラグランジュ乗数を、λestimateを算出することにより判断するよう構成されており、λestimateは、大域情報Iglobalに関する大域推定法fglobal(・)の関数であり、λestimate=fglobal(Iglobal)である、列挙されている例示の実施形態のシステム。
171.該1つ以上の構成要素は、
大域情報を計算することと、
計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することと、
をさらに含む第1のラグランジュ乗数に関する動作を処理するよう動作可能である、列挙されている例示の実施形態のシステム。
172.計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することは、時間的特性、シーケンス、またはピクチャ間もしくは領域間の符号化の差に少なくとも部分的に基づく、第1のラグランジュ乗数の調整を含む、列挙されている例示の実施形態のシステム。
173.該1つ以上の構成要素は、符号化パラメータと、ピクチャの階層レベルとの関数を処理することにより第1のラグランジュ乗数を判断するよう構成されており、第1のラグランジュ乗数はλkである、列挙されている例示の実施形態のシステム。
174.該1つ以上の構成要素は、第1のラグランジュ乗数を、
階層レベル、グループ・オブ・ピクチャ(GOP)のピクチャ間の変化のステップ・サイズ、およびGOPのアンカー・ピクチャの関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、ΔGOPはGOPのピクチャ間の変化のステップ・サイズを表し、λanchorはGOPのアンカー・ピクチャを表し、λk=(1−k・ΔGOP)・λanchorである、該セットすることと、
第1のラグランジュ乗数を計算することと、
を含む動作により判断するよう構成されている、列挙されている例示の実施形態のシステム。
175.該1つ以上の構成要素は、第1のラグランジュ乗数を、
アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とGOP内の距離との比の関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、λanchorはGOPのアンカー・ピクチャのラグランジュ乗数を表し、danchorはアンカー・ピクチャの距離を表し、dGOPはGOP内の距離を表し、λk=(danchor/dGOP)・λanchorとである、該セットすることと、
第1のラグランジュ乗数を計算することと、
を含む動作により判断するよう構成されている、列挙されている例示の実施形態のシステム。
176.該1つ以上の構成要素は、アンカー・ピクチャまでの距離に少なくとも部分的に基づき、グループ・オブ・ピクチャ(GOP)の1つ以上のピクチャに関してラグランジュ乗数を判断することを含む動作により、第1のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態のシステム。
177.該1つ以上の構成要素は、該1つ以上の構成要素に格納されているラグランジュ乗数ルックアップ・テーブルを使用することを含む動作により第1のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態のシステム。
178.ラグランジュ乗数ルックアップ・テーブルは、複数の符号化パラメータに少なくとも部分的に基づいている、列挙されている例示の実施形態のシステム。
179.該1つ以上の構成要素は、ラグランジュ乗数ルックアップ・テーブル内の複数のラグランジュ乗数に少なくとも部分的に基づいて、第1のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態のシステム。
180.該1つ以上の構成要素は、グループ・オブ・ピクチャ(GOP)の以前の階層構造を、GOPの後の階層構造により変換する関数を処理することにより第1のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態のシステム。
181.該1つ以上の構成要素は、
ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第1のラグランジュ乗数を推定すること、および
第2のラグランジュ乗数を第1のラグランジュ乗数により置き換えること
によって、第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態のシステム。
182.該1つ以上の構成要素は、一連のラグランジュ・ステップの中で第2のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第2のラグランジュ乗数を第1のラグランジュ乗数に変更することによって、第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態のシステム。
183.第2のラグランジュ乗数の更新は、第1のラグランジュ乗数λestimateと、第2のラグランジュ乗数λcurrentとの関数である更新された第2のラグランジュ乗数λnewを計算する1つ以上の動作を含み、λnew=λcurrent+Δ・(λestimate−λcurrent)であり、Δは、プリセットされる、または適応的に変更される値を含み、0<Δ<1である、列挙されている例示の実施形態のシステム。
184.第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数の更新に対し上限または下限をセットすることによって、第2のラグランジュ乗数の更新の大きさに対し限度を設ける1つ以上の動作を含む、列挙されている例示の実施形態のシステム。
185.該1つ以上の構成要素は、1つ以上の以前のマクロブロックおよび現在のマクロブロックにおける複数のラグランジュ乗数のスライディング・ウィンドウ平均を計算することによって、第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態のシステム。
186.該1つ以上の構成要素は、
複数のラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択し、
スライディング・ウィンドウの平均の関数として第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態のシステム。
187.第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、周期的に第2のラグランジュ乗数を更新することを含み、更新の周期は、一定周期、または適応的に変化する周期を含む、列挙されている例示の実施形態のシステム。
188.周期は、局所コンテキストに依存し、局所コンテキストは、動き強度またはシーン・カット情報を含む、列挙されている例示の実施形態のシステム。
189.該1つ以上の構成要素は、スライスの始まりに第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態のシステム。
190.該1つ以上の構成要素は、シーン・カットが検出されると第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態のシステム。
191.該1つ以上の構成要素は、第2のラグランジュ乗数を、
ビデオ・エンコーダにより少なくとも2つのマクロブロックの分散を計算することと、
2つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第2のラグランジュ乗数を更新することと、
を含む動作により更新するよう構成されている、列挙されている例示の実施形態のシステム。
192.第2のラグランジュ乗数を更新することは、いくつかの周期、ピクチャ、またはピクチャの領域に関して第2のラグランジュ乗数を更新する動作を含む、列挙されている例示の実施形態のシステム。
193.該1つ以上の構成要素は、無作為の順序または一定順序で、第2のラグランジュ乗数の種々のタイプの更新を実行することを含む動作により、第2のラグランジュ乗数を更新するよう構成されており、種々のタイプの更新は、直接更新、ステップ・サイズ更新、およびスライディング・ウィンドウ更新を含む、列挙されている例示の実施形態のシステム。
194.該1つ以上の構成要素は、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することと、第2のラグランジュ乗数を使用してビデオの領域を符号化することとを含む動作により、第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態のシステム。
195.該1つ以上の構成要素は、複数の歪メトリクスを計算することによって第1のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態のシステム。
196.該1つ以上の構成要素は、
ビデオ・エンコーダにより第1のグループのラグランジュ乗数を判断することと、
第1のグループのラグランジュ乗数により第2のグループのラグランジュ乗数を更新することと、
を含む動作の命令を処理するよう構成されている、列挙されている例示の実施形態のシステム。
197.第1のグループのラグランジュ乗数の判断において、複数の歪または/および複雑度メトリクスが採用される、列挙されている例示の実施形態のシステム。
198.該1つ以上の構成要素は、2つ以上の次元および1つ以上の符号化パラメータによりレート歪傾きを計算することによって、第1のグループのラグランジュ乗数を判断するよう構成されており、該1つ以上の符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態のシステム。
本開示のいくつかの例示の実施形態について記載したが、他の実施形態も、以下の特許請求の範囲に記載の範囲内に入る。
3.符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、もしくはフレームの特性を含み、特性は、テクスチャおよび輝度を含む、列挙されている例示の実施形態2の方法。
4.ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含み、ラグランジュ乗数推定モジュールは、第1のラグランジュ乗数を生成するダイナミック・プログラミングを含み、第1のラグランジュ乗数は、レート歪関数の少なくとも1つの符号化パラメータに関してレート歪傾きを計算することを含む、列挙されている例示の実施形態1の方法。
5.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態4の方法。
6.該方法は、DCTに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化、またはビット・プレーン・ビデオ符号化を含む、列挙されている例示の実施形態1の方法。
7.第1のラグランジュ乗数は、ビデオ表示に関連する1つ以上の特性に少なくとも部分的に基づいて生成される、列挙されている例示の実施形態1の方法。
8.第1のラグランジュ乗数は、少なくとも1つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断され、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、または局所情報もしくは大域情報を含む、列挙されている例示の実施形態1の方法。
9.第1のラグランジュ乗数を判断することは、1つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計の関数として第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態8の方法。
10.第1のラグランジュ乗数を判断することは、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態1の方法。
11.種々の符号化パラメータはそれぞれ、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、または1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のいずれかを含む、列挙されている例示の実施形態10の方法。
12.第1のラグランジュ乗数を判断することは、少なくとも1つの符号化パラメータに関してレート歪曲線の傾きの推定値を生成することを含み、第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数を推定値により置き換えることを含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態1の方法。
13.ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用して、第3のラグランジュ乗数を判断することと、
第1のラグランジュ乗数を第3のラグランジュ乗数により置き換えることにより、第1のラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態1の方法。
14.ピクチャの複数のマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算することと、
すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化することと、
をさらに含む、列挙されている例示の実施形態1の方法。
15.第1のラグランジュ乗数を判断することは、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第1のラグランジュ乗数を推定することを含む、列挙されている例示の実施形態1の方法。
16.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態15の方法。
17.レートおよび歪値は、複数のQPポイントを含み、複数のQPポイントの歪およびレート値は、(DQP+l,RQP+l)を含み、DQP+lは、QP+lにおける歪値を表し、RQP+lは、QP+lにおけるレート値を表し、l、MおよびNは、QPポイントの数値を表し、lは−M,・・・,−1,1,・・・Nを含み、MおよびNは、事前選択または適応的選択される、列挙されている例示の実施形態16の方法。
18.事前選択は、利用可能な計算資源に少なくとも部分的に基づき、適応的選択は、利用可能な計算資源、またはビデオ・シーケンス特性、または領域特性に少なくとも部分的に基づき、領域特性は、1つ以上のマクロブロックの特性を含む、列挙されている例示の実施形態17の方法。
19.本方法は、各QPポイントに関して、
全体的なラグランジュ・コスト関数が最小化されるモードを判断することと、
をさらに含む、列挙されている例示の実施形態18の方法。
20.1階微分推定法は、(DQP,RQP)における階差の幾何平均を含む、列挙されている例示の実施形態19の方法。
21.推定される第1のラグランジュ乗数は、λ
estimateを含み、
列挙されている例示の実施形態18の方法。
22.推定される第1のラグランジュ乗数は、歪およびレート値を判断するための、1つ以上の候補モードに関する複数のラグランジュ・コストの比較を含む、列挙されている例示の実施形態21の方法。
23.本方法は、各QPポイントに関して、全体的なラグランジュ・コスト関数が最小化されるモードを探索することをさらに含む、列挙されている例示の実施形態18の方法。
24.第1のラグランジュ乗数を判断することは、局所近似によりレート歪傾き推定を実行することを含む、列挙されている例示の実施形態1の方法。
25.局所近似によりレート歪傾き推定を実行することは、
現在のラグランジュ乗数λ
currentを用いる現在の符号化パラメータに関して、全体的なラグランジュ・コスト関数が最小化されるモードπ
*を判断することと、
(D
QP,R
QP)における曲線の傾きを、1階微分推定法を使用して推定することであって、D
QPは、QPにおける歪値を表し、R
QPは、QPにおけるレート値を表し、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、該推定することと、
を含む、列挙されている例示の実施形態24の方法。
26.1階微分推定法は、(DQP,RQP)における階差の幾何平均を含む、列挙されている例示の実施形態25の方法。
27.推定される第1のラグランジュ乗数は、λ
estimateを含み、
列挙されている例示の実施形態25の方法。
28.
を含む、列挙されている例示の実施形態25の方法。
29.第1のラグランジュ乗数を判断することは、第1のラグランジュ乗数を推定するために局所情報を使用することを含む、列挙されている例示の実施形態1の方法。
30.局所情報は、分散、輝度要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、または領域もしくはマクロブロックの空間的もしくは時間的に隣接したエリアの特性もしくはラグランジュ乗数を含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態29の方法。
31.第1のラグランジュ乗数は、λestimateを含み、第1のラグランジュ乗数を判断することは、λestimateを算出することを含み、λestimateは、局所情報Ilocalに関する局所推定法flocal(・)の関数であり、λestimate=flocal(Ilocal)である、列挙されている例示の実施形態30の方法。
32.第1のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、
計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第1のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態30の方法。
33.第1のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態32の方法。
34.第1のラグランジュ乗数を判断することは、ラグランジュ乗数ルックアップ・テーブルを生成することを含み、ラグランジュ乗数ルックアップ・テーブルの生成は、
エリアに関して複数の分散を計算することと、
複数の量子化パラメータ(QP)に関して複数のラグランジュ乗数を推定することと、
K個のビンにより(K+1)グループに複数の分散を配置することと、
L個のビンにより複数グループに複数のQPを配置することと、
K個およびL個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算することと、
平均ラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブル内に記録することと、
を含む、列挙されている例示の実施形態30の方法。
35.2つ以上のエリア、スライス、またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新することさらに含む、列挙されている例示の実施形態34の方法。
36.第1のラグランジュ乗数を推定するために、大域情報を使用することをさらに含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態1の方法。
37.大域情報は、フレーム・レート、空間的特性、輝度もしくは彩度の分散、DC値、DC値のヒストグラム、現在の符号化構造、メタデータ情報、または現在のグループ・オブ・ピクチャ(GOP)内の階層レベルを含む、列挙されている例示の実施形態36の方法。
38.第1のラグランジュ乗数は、λestimateを含み、第1のラグランジュ乗数を判断することは、λestimateを算出することを含み、λestimateは、大域情報Iglobalに関する大域推定法fglobal(・)の関数であり、λestimate=fglobal(Iglobal)である、列挙されている例示の実施形態36の方法。
39.第1のラグランジュ乗数は、
大域情報を計算することと、
計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態36の方法。
40.計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することは、時間的特性、シーケンス、またはピクチャ間もしくは領域間の符号化の差に少なくとも部分的に基づいて、第1のラグランジュ乗数を調整することを含む、列挙されている例示の実施形態39の方法。
41.第1のラグランジュ乗数を判断することは、符号化パラメータと、ピクチャの階層レベルとの関数を含み、第1のラグランジュ乗数はλkである、列挙されている例示の実施形態36の方法。
42.第1のラグランジュ乗数を判断することは、
階層レベル、グループ・オブ・ピクチャ(GOP)のピクチャ間の変化のステップ・サイズ、およびGOPのアンカー・ピクチャの関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、ΔGOPはGOPのピクチャ間の変化のステップ・サイズを表し、λanchorはGOPのアンカー・ピクチャを表し、λk=(1−k・ΔGOP)・λanchorである、該セットすることと、
第1のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態41の方法。
43.第1のラグランジュ乗数を判断することは、
アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とGOP内の距離との比の関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、λanchorはGOPのアンカー・ピクチャのラグランジュ乗数を表し、danchorはアンカー・ピクチャの距離を表し、dGOPはGOP内の距離を表し、λk=(danchor/dGOP)・λanchorである、該セットすることと、
第1のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態41の方法。
44.第1のラグランジュ乗数を判断することは、アンカー・ピクチャまでの距離に少なくとも部分的に基づいて、グループ・オブ・ピクチャ(GOP)の1つ以上のピクチャに関してラグランジュ乗数を判断することをさらに含む、列挙されている例示の実施形態41の方法。
45.第1のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態41の方法。
46.ラグランジュ乗数ルックアップ・テーブルは、複数の符号化パラメータに少なくとも部分的に基づいている、列挙されている例示の実施形態45の方法。
47.ラグランジュ乗数ルックアップ・テーブル内の複数のラグランジュ乗数に少なくとも部分的に基づいて、第1のラグランジュ乗数を更新することをさらに含む、列挙されている例示の実施形態45の方法。
48.第1のラグランジュ乗数を判断することは、グループ・オブ・ピクチャ(GOP)の以前の階層構造を、GOPの後の階層構造を用いて変換する関数をさらに含む、列挙されている例示の実施形態41の方法。
49.第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、
ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第1のラグランジュ乗数を推定することと、
第2のラグランジュ乗数を第1のラグランジュ乗数により置き換えることと、
を含む、列挙されている例示の実施形態1の方法。
50.第2のラグランジュ乗数を更新することは、一連のラグランジュ・ステップの中で第2のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第2のラグランジュ乗数を第1のラグランジュ乗数に変更することを含む、列挙されている例示の実施形態1の方法。
51.第2のラグランジュ乗数を更新することは、第1のラグランジュ乗数λestimateと、第2のラグランジュ乗数λcurrentとの関数である更新された第2のラグランジュ乗数λnewを計算することを含み、λnew=λcurrent+Δ・(λestimate−λcurrent)であり、Δは、プリセットされる、または適応的に変更される値を含み、0<Δ<1である、列挙されている例示の実施形態50の方法。
52.第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数の更新に対し上限または下限をセットすることにより、第2のラグランジュ乗数の更新の大きさに対し限度を設けることを含む、列挙されている例示の実施形態50の方法。
53.第2のラグランジュ乗数を更新することは、
1つ以上の以前のマクロブロックおよび現在のマクロブロックにおける複数のラグランジュ乗数のスライディング・ウィンドウ平均を計算すること
を含む、列挙されている例示の実施形態1の方法。
54.該方法は、
複数のラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択することと、
スライディング・ウィンドウの平均の関数として第2のラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態53の方法。
55.第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、周期的に第2のラグランジュ乗数を更新することを含み、更新の周期は、一定周期、または適応的に変化する周期を含む、列挙されている例示の実施形態1の方法。
56.周期は、局所コンテキストに依存し、局所コンテキストは、動き強度またはシーン・カット情報を含む、列挙されている例示の実施形態55の方法。
57.第2のラグランジュ乗数は、スライスの始まりに更新される、列挙されている例示の実施形態55の方法。
58.第2のラグランジュ乗数は、シーン・カットが検出されると更新される、列挙されている例示の実施形態55の方法。
59.第2のラグランジュ乗数を更新することは、
ビデオ・エンコーダにより少なくとも2つのマクロブロックの分散を計算することと、
2つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第2のラグランジュ乗数を更新することと、
を含む、列挙されている例示の実施形態55の方法。
60.第2のラグランジュ乗数を更新することは、いくつかの周期、ピクチャ、またはピクチャの領域に関して第2のラグランジュ乗数を更新することを含む、列挙されている例示の実施形態55の方法。
61.第2のラグランジュ乗数を更新することは、無作為の順序または一定順序で、第2のラグランジュ乗数の種々のタイプの更新を実行することを含み、種々のタイプの更新は、直接更新、ステップ・サイズ更新、およびスライディング・ウィンドウ更新を含む、列挙されている例示の実施形態55の方法。
62.第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することを含み、該方法は、第2のラグランジュ乗数を使用してビデオの領域を符号化することをさらに含む、列挙されている例示の実施形態1の方法。
63.第1のラグランジュ乗数を判断することは、複数の歪メトリクスを計算することを含む、列挙されている例示の実施形態1の方法。
64.ビデオ・エンコーダにより第1のグループのラグランジュ乗数を判断することと、
第1のグループのラグランジュ乗数により第2のグループのラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態1の方法。
65.第1のグループのラグランジュ乗数の判断において、複数の歪制約が採用される、列挙されている例示の実施形態64の方法。
66.第1のグループのラグランジュ乗数を判断することは、2つ以上の次元および1つ以上の符号化パラメータによりレート歪傾きを計算することを含み、該1つ以上の符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態64の方法。
68.第1のラグランジュ乗数を、少なくとも1つの他の符号化特徴との依存関係に少なくとも部分的に基づいて判断する命令をさらに含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
69.符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、もしくはフレームの特性を含み、特性は、テクスチャおよび輝度を含む、列挙されている例示の実施形態68のコンピュータ・プログラム製品。
70.ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含み、ラグランジュ乗数推定モジュールは、第1のラグランジュ乗数を生成するダイナミック・プログラミングを含み、第1のラグランジュ乗数は、レート歪関数の少なくとも1つの符号化パラメータに関してレート歪傾きを計算することを含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
71.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態70のコンピュータ・プログラム製品。
72.DCTに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化動作、またはビット・プレーン・ビデオ符号化動作の命令をさらに含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
73.第1のラグランジュ乗数は、ビデオ表示に関連する1つ以上の特性に少なくとも部分的に基づく命令により生成される、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
74.第1のラグランジュ乗数を、少なくとも1つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断する命令をさらに含み、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、または局所情報もしくは大域情報を含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
75.第1のラグランジュ乗数を判断する命令は、1つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計の関数として第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態74のコンピュータ・プログラム製品。
76.第1のラグランジュ乗数を判断する命令は、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
77.種々の符号化パラメータはそれぞれ、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、または1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちのいずれかを含む、列挙されている例示の実施形態76のコンピュータ・プログラム製品。
78.第1のラグランジュ乗数を判断することは、少なくとも1つの符号化パラメータに関してレート歪曲線の傾きの推定値を生成することを含み、第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数を推定値により置き換えることを含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
79.ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用して、第3のラグランジュ乗数を判断すること、および
第1のラグランジュ乗数を第3のラグランジュ乗数により置き換えることにより、第1のラグランジュ乗数を更新すること
の命令をさらに含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
80.ピクチャの複数のマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算すること、および
すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化すること
の命令をさらに含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
81.第1のラグランジュ乗数を判断する命令は、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第1のラグランジュ乗数を推定することを含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
82.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態81のコンピュータ・プログラム製品。
83.レートおよび歪値は、複数のQPポイントを含み、複数のQPポイントの歪およびレート値は、(DQP+l,RQP+l)を含み、DQP+lは、QP+lにおける歪値を表し、RQP+lは、QP+lにおけるレート値を表し、l、MおよびNは、QPポイントの数値を表し、lは−M,・・・,−1,1,・・・Nを含み、MおよびNは、1つ以上の動作において事前選択または適応的選択される、列挙されている例示の実施形態82のコンピュータ・プログラム製品。
84.利用可能な計算資源に事前選択が少なくとも部分的に基づくための命令をさらに含み、利用可能な計算資源、またはビデオ・シーケンス特性、または領域特性に適応的選択が少なくとも部分的に基づくための命令をさらに含み、領域特性は、1つ以上のマクロブロックの特性を含む、列挙されている例示の実施形態83のコンピュータ・プログラム製品。
85.各QPポイントに関して、データ処理装置にビデオ符号化動作を実行させる命令をさらに含み、該ビデオ符号化動作は、
全体的なラグランジュ・コスト関数が最小化されるモードを判断することと、
を含む、列挙されている例示の実施形態84のコンピュータ・プログラム製品。
86.1階微分推定法は、(DQP,RQP)における階差の幾何平均を含む、列挙されている例示の実施形態85のコンピュータ・プログラム製品。
87.推定される第1のラグランジュ乗数は、λ
estimateを含み、
列挙されている例示の実施形態84のコンピュータ・プログラム製品。
88.推定される第1のラグランジュ乗数は、歪およびレート値を判断するための、1つ以上の候補モードに関する複数のラグランジュ・コストの比較を含む、列挙されている例示の実施形態87のコンピュータ・プログラム製品。
89.各QPポイントに関して、全体的なラグランジュ・コスト関数が最小化されるモードを探索する命令をさらに含む、列挙されている例示の実施形態84のコンピュータ・プログラム製品。
90.第1のラグランジュ乗数を判断する命令は、局所近似によりレート歪傾き推定を実行することを含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
91.局所近似によりレート歪傾き推定を実行する命令は、
現在のラグランジュ乗数λ
currentを用いる現在の符号化パラメータに関して、全体的なラグランジュ・コスト関数が最小化されるモードπ
*を判断することと、
lに関する歪およびレート値
(D
QP,R
QP)における曲線の傾きを、1階微分推定法の命令を使用して推定することであって、D
QPは、QPにおける歪値を表し、R
QPは、QPにおけるレート値を表し、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、該推定することと、
を含む、列挙されている例示の実施形態90のコンピュータ・プログラム製品。
92.1階微分推定法の命令は、(DQP,RQP)における階差の幾何平均を計算することを含む、列挙されている例示の実施形態91のコンピュータ・プログラム製品。
93.推定される第1のラグランジュ乗数は、λ
estimateを含み、
列挙されている例示の実施形態91のコンピュータ・プログラム製品。
94.
列挙されている例示の実施形態91のコンピュータ・プログラム製品。
95.第1のラグランジュ乗数を推定するために局所情報を使用する命令をさらに含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
96.局所情報は、分散、輝度要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、または領域もしくはマクロブロックの空間的もしくは時間的に隣接したエリアの特性もしくはラグランジュ乗数を含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態95のコンピュータ・プログラム製品。
97.第1のラグランジュ乗数は、λestimateを含み、第1のラグランジュ乗数を判断することは、λestimateを算出する命令を含み、λestimateは、局所情報Ilocalに関する局所推定法flocal(・)の関数であり、λestimate=flocal(Ilocal)である、列挙されている例示の実施形態96のコンピュータ・プログラム製品。
98.命令は、
第1のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、
計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第1のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態96のコンピュータ・プログラム製品。
99.第1のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態98のコンピュータ・プログラム製品。
100.第1のラグランジュ乗数を判断する命令は、ラグランジュ乗数ルックアップ・テーブルを生成することを含み、ラグランジュ乗数ルックアップ・テーブルの生成は、
エリアに関して複数の分散を計算することと、
複数の量子化パラメータ(QP)に関して複数のラグランジュ乗数を推定することと、
K個のビンにより(K+1)グループに複数の分散を配置することと、
L個のビンにより複数グループに複数のQPを配置することと、
K個およびL個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算することと、
平均ラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブル内に記録することと、
を含む、列挙されている例示の実施形態96のコンピュータ・プログラム製品。
101.2つ以上のエリア、スライス、またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新する命令をさらに含む、列挙されている例示の実施形態100のコンピュータ・プログラム製品。
102.第1のラグランジュ乗数を推定するために、大域情報を使用することをさらに含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
103.大域情報は、フレーム・レート、空間的特徴、輝度もしくは彩度の分散、DC値、DC値のヒストグラム、現在の符号化構造、メタデータ情報、または現在のグループ・オブ・ピクチャ(GOP)内の階層レベルを含む、列挙されている例示の実施形態102のコンピュータ・プログラム製品。
104.第1のラグランジュ乗数は、λestimateを含み、第1のラグランジュ乗数を判断する命令は、λestimateを算出することを含み、λestimateは、大域情報Iglobalに関する大域推定法fglobal(・)の関数であり、λestimate=fglobal(Iglobal)である、列挙されている例示の実施形態102のコンピュータ・プログラム製品。
105.第1のラグランジュ乗数に関連する命令は、
大域情報を計算することと、
計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態102のコンピュータ・プログラム製品。
106.計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することは、時間的特性、シーケンス、またはピクチャ間または領域間の符号化の差に少なくとも部分的に基づいて、第1のラグランジュ乗数を調整する命令を含む、列挙されている例示の実施形態105のコンピュータ・プログラム製品。
107.第1のラグランジュ乗数を判断する命令は、符号化パラメータと、ピクチャの階層レベルとの関数を含み、第1のラグランジュ乗数はλkである、列挙されている例示の実施形態102のコンピュータ・プログラム製品。
108.第1のラグランジュ乗数を判断することは、
階層レベル、グループ・オブ・ピクチャ(GOP)のピクチャ間の変化のステップ・サイズ、およびGOPのアンカー・ピクチャの関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、ΔGOPはGOPのピクチャ間の変化のステップ・サイズを表し、λanchorはGOPのアンカー・ピクチャを表し、λk=(1−k・ΔGOP)・λanchorである、該セットすることと、
第1のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態107のコンピュータ・プログラム製品。
109.第1のラグランジュ乗数を判断する命令は、
アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とGOP内の距離との比の関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、λanchorはGOPのアンカー・ピクチャのラグランジュ乗数を表し、danchorはアンカー・ピクチャの距離を表し、dGOPはGOP内の距離を表し、λk=(danchor/dGOP)・λanchorである、該セットすることと、
第1のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態107のコンピュータ・プログラム製品。
110.第1のラグランジュ乗数を判断する命令は、アンカー・ピクチャまでの距離に少なくとも部分的に基づいて、グループ・オブ・ピクチャ(GOP)の1つ以上のピクチャに関してラグランジュ乗数を判断する命令をさらに含む、列挙されている例示の実施形態107のコンピュータ・プログラム製品。
111.第1のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態107のコンピュータ・プログラム製品。
112.ラグランジュ乗数ルックアップ・テーブルは、複数の符号化パラメータに少なくとも部分的に基づいている、列挙されている例示の実施形態111のコンピュータ・プログラム製品。
113.ラグランジュ乗数ルックアップ・テーブル内の複数のラグランジュ乗数に少なくとも部分的に基づいて、第1のラグランジュ乗数を更新する命令をさらに含む、列挙されている例示の実施形態111のコンピュータ・プログラム製品。
114.第1のラグランジュ乗数を判断する命令は、グループ・オブ・ピクチャ(GOP)の以前の階層構造を、GOPの後の階層構造を用いて変換する関数をさらに含む、列挙されている例示の実施形態107のコンピュータ・プログラム製品。
115.第1のラグランジュ乗数により第2のラグランジュ乗数を更新する命令は、
ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第1のラグランジュ乗数を推定することと、
第2のラグランジュ乗数を第1のラグランジュ乗数により置き換えることと、
を含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
116.第2のラグランジュ乗数を更新する命令は、一連のラグランジュ・ステップの中で第2のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第2のラグランジュ乗数を第1のラグランジュ乗数に変更する命令を含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
117.第2のラグランジュ乗数を更新する命令は、第1のラグランジュ乗数λestimateと、第2のラグランジュ乗数λcurrentとの関数である更新された第2のラグランジュ乗数λnewを計算する命令を含み、λnew=λcurrent+Δ・(λestimate−λcurrent)であり、Δは、プリセットされる、または適応的に変更される値を含み、0<Δ<1である、列挙されている例示の実施形態116のコンピュータ・プログラム製品。
118.第2のラグランジュ乗数を更新する命令は、第2のラグランジュ乗数の更新に対し上限または下限をセットすることにより、第2のラグランジュ乗数の更新の大きさに対し限度を設ける命令を含む、列挙されている例示の実施形態116のコンピュータ・プログラム製品。
119.第2のラグランジュ乗数を更新する命令は、
1つ以上の以前のマクロブロックおよび現在のマクロブロックにおける複数のラグランジュ乗数のスライディング・ウィンドウ平均を計算すること
を含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
120.命令は、
複数のラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択することと、
スライディング・ウィンドウの平均の関数として第2のラグランジュ乗数を更新することと、
を含むビデ符号化動作をさらに含む、列挙されている例示の実施形態119のコンピュータ・プログラム製品。
121.第1のラグランジュ乗数により第2のラグランジュ乗数を更新する命令は、周期的に第2のラグランジュ乗数を更新する命令を含み、更新の周期は、一定周期、または適応的に変化する周期を含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
122.周期は、局所コンテキストに依存し、局所コンテキストは、動き強度またはシーン・カット情報を含む、列挙されている例示の実施形態121のコンピュータ・プログラム製品。
123.第2のラグランジュ乗数をスライスの始まりに更新する命令をさらに含む、列挙されている例示の実施形態121のコンピュータ・プログラム製品。
124.シーン・カットが検出されると第2のラグランジュ乗数を更新する命令をさらに含む、列挙されている例示の実施形態121のコンピュータ・プログラム製品。
125.第2のラグランジュ乗数を更新する命令は、
ビデオ・エンコーダにより少なくとも2つのマクロブロックの分散を計算することと、
2つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第2のラグランジュ乗数を更新することと、
を含む、列挙されている例示の実施形態121のコンピュータ・プログラム製品。
126.第2のラグランジュ乗数を更新する命令は、いくつかの周期、ピクチャ、またはピクチャの領域に関して第2のラグランジュ乗数を更新する命令を含む、列挙されている例示の実施形態121のコンピュータ・プログラム製品。
127.第2のラグランジュ乗数を更新する命令は、無作為の順序または一定順序で、第2のラグランジュ乗数の種々のタイプの更新を実行することを含み、種々のタイプの更新は、直接更新、ステップ・サイズ更新、およびスライディング・ウィンドウ更新を含む、列挙されている例示の実施形態121のコンピュータ・プログラム製品。
128.第1のラグランジュ乗数により第2のラグランジュ乗数を更新する命令は、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することを含み、この命令は、第2のラグランジュ乗数を使用してビデオの領域を符号化することをさらに含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
129.第1のラグランジュ乗数を判断する命令は、複数の歪および/または複雑度メトリクスを計算することを含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
130.命令は、
ビデオ・エンコーダにより第1のグループのラグランジュ乗数を判断することと、
第1のグループのラグランジュ乗数により第2のグループのラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態67のコンピュータ・プログラム製品。
131.第1のグループのラグランジュ乗数の判断において、複数の歪制約を利用する命令をさらに含む、列挙されている例示の実施形態130のコンピュータ・プログラム製品。
132.第1のグループのラグランジュ乗数を判断することは、2つ以上の次元および1つ以上の符号化パラメータによりレート歪傾きを計算することを含み、該1つ以上の符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態130のコンピュータ・プログラム製品。
134.第1のラグランジュ乗数は、少なくとも1つの他の符号化特徴との依存関係に少なくとも部分的に基づいて判断される、列挙されている例示の実施形態133のシステム。
135.符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、もしくはフレームの特性を含み、特性は、テクスチャおよび輝度を含む、列挙されている例示の実施形態134のシステム。
136.ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含み、ラグランジュ乗数推定モジュールは、第1のラグランジュ乗数を生成するダイナミック・プログラミングを含み、第1のラグランジュ乗数は、レート歪関数の少なくとも1つの符号化パラメータに関してレート歪傾きを計算することを含む、列挙されている例示の実施形態133のシステム。
137.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態136のシステム。
138.システムは、DCTに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化、またはビット・プレーン・ビデオ符号化の命令を処理するよう動作可能である、列挙されている例示の実施形態133のシステム。
139.第1のラグランジュ乗数は、少なくとも1つのビデオ表示に関連する1つ以上の特性に少なくとも部分的に基づいて生成される、列挙されている例示の実施形態133のシステム。
140.該1つ以上の構成要素は、第1のラグランジュ乗数を、少なくとも1つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断し、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、局所情報もしくは大域情報を含む、列挙されている例示の実施形態133のシステム。
141.第1のラグランジュ乗数を判断する該1つ以上の構成要素は、1つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも1つのビデオ符号化特性またはビデオ符号化統計の関数として第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態133のシステム。
142.第1のラグランジュ乗数を判断することは、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第1のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態133のシステム。
143.種々の符号化パラメータはそれぞれ、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、または1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちのいずれかを含む、列挙されている例示の実施形態142のシステム。
144.第1のラグランジュ乗数を判断することは、少なくとも1つの符号化パラメータに関してレート歪曲線の傾きの推定値を生成することを含み、第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数を推定値により置き換えることを含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態133のシステム。
145.該1つ以上の構成要素は、
ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用して、第3のラグランジュ乗数を判断すること、および
第1のラグランジュ乗数を第3のラグランジュ乗数により置き換えることにより、第1のラグランジュ乗数を更新すること
の命令を処理するよう動作可能である、列挙されている例示の実施形態133のシステム。
146.該1つ以上の構成要素は、
ピクチャの複数のマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算すること、および
すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化すること
の命令を実行するよう動作可能である、列挙されている例示の実施形態133のシステム。
147.第1のラグランジュ乗数を判断することは、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第1のラグランジュ乗数を推定することを含む、列挙されている例示の実施形態133のシステム。
148.符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態147のシステム。
149.レートおよび歪値は、複数のQPポイントを含み、複数のQPポイントの歪およびレート値は、(DQP+l,RQP+l)を含み、DQP+lは、QP+lにおける歪値を表し、RQP+lは、QP+lにおけるレート値を表し、l、MおよびNは、QPポイントの数値を表し、lは−M,・・・,−1,1,・・・Nを含み、MおよびNは、事前選択または適応的選択される、列挙されている例示の実施形態148のシステム。
150.該1つ以上の構成要素に関する事前選択は、利用可能な計算資源に少なくとも部分的に基づき、適応的選択は、利用可能な計算資源、またはビデオ・シーケンス特性、または領域特性に少なくとも部分的に基づき、領域特性は、1つ以上のマクロブロックの特性を含む、列挙されている例示の実施形態149のシステム。
151.該1つ以上の構成要素は、各QPポイントに関して、
全体的なラグランジュ・コスト関数が最小化されるモードを判断することと、
列挙されている例示の実施形態150のシステム。
152.1階微分推定法は、(DQP,RQP)における階差の幾何平均を含む、列挙されている例示の実施形態151のシステム。
153.推定される第1のラグランジュ乗数は、λ
estimateを含み、
列挙されている例示の実施形態150のシステム。
154.推定される第1のラグランジュ乗数は、歪およびレート値の判断における、1つ以上の候補モードに関する複数のラグランジュ・コストの比較を含む、列挙されている例示の実施形態153のシステム。
155.該1つ以上の構成要素は、各QPポイントに関して、全体的なラグランジュ・コスト関数が最小化されるモードの探索を実行する、列挙されている例示の実施形態150のシステム。
156.該1つ以上の構成要素が第1のラグランジュ乗数を判断するとき、該1つ以上の構成要素は、局所近似によりレート歪傾き推定を実行する、列挙されている例示の実施形態133のシステム。
157.該1つ以上の構成要素が局所近似によりレート歪傾き推定を実行するとき、該1つ以上の構成要素の動作は、
現在のラグランジュ乗数λ
currentを用いる現在の符号化パラメータに関して、全体的なラグランジュ・コスト関数が最小化されるモードπ
*を判断することと、
(D
QP,R
QP)における曲線の傾きを、1階微分推定法の命令を実行することによって推定することであって、D
QPは、QPにおける歪値を表し、R
QPは、QPにおけるレート値を表し、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、該推定することと、
を含む、列挙されている例示の実施形態156のシステム。
158.1階微分推定法の命令は、歪およびレート値(DQP,RQP)における階差の幾何平均を含む、列挙されている例示の実施形態157のシステム。
159.推定される第1のラグランジュ乗数は、λ
estimateを含み
列挙されている例示の実施形態157のシステム。
160.該1つ以上の構成要素は、
を含む動作により判断するよう動作可能である、列挙されている例示の実施形態157のシステム。
161.該1つ以上の構成要素は、第1のラグランジュ乗数を推定するために局所情報を使用することにより、第1のラグランジュ乗数を判断する、列挙されている例示の実施形態133のシステム。
162.局所情報は、分散、輝度要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、または領域もしくはマクロブロックの空間的もしくは時間的に隣接したエリアの特性もしくはラグランジュ乗数を含み、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態161のシステム。
163.第1のラグランジュ乗数は、λestimateを含み、該1つ以上の構成要素は、第1のラグランジュ乗数を、λestimateを算出することにより判断し、λestimateは、局所情報Ilocalに関する局所推定法flocal(・)の関数であり、λestimate=flocal(Ilocal)である、列挙されている例示の実施形態162のシステム。
164.該1つ以上の構成要素は、
第1のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、
計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第1のラグランジュ乗数を判断することと、
を含む動作を処理するよう動作可能である、列挙されている例示の実施形態162のシステム。
165.第1のラグランジュ乗数は、該1つ以上の構成要素に格納されているラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態164のシステム。
166.該1つ以上の構成要素は、第1のラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブルを生成することにより判断するよう構成されており、ラグランジュ乗数ルックアップ・テーブルの生成は、
エリアに関して複数の分散を計算することと、
複数の量子化パラメータ(QP)に関して複数のラグランジュ乗数を推定することと、
K個のビンにより複数の分散を(K+1)グループに配置することと、
L個のビンにより複数グループに複数のQPを配置することと、
K個およびL個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算することと、
平均ラグランジュ乗数を、該1つ以上の構成要素内のラグランジュ乗数ルックアップ・テーブル内に記録することと、
を含む、列挙されている例示の実施形態162のシステム。
167.該1つ以上の構成要素は、2つ以上のエリア、スライス、またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新するよう構成されている、列挙されている例示の実施形態166のシステム。
168.該1つ以上の構成要素は、第1のラグランジュ乗数を推定するために大域情報を使用するよう構成されており、符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態133のシステム。
169.大域情報は、フレーム・レート、空間的特徴、輝度もしくは彩度の分散、DC値、DC値のヒストグラム、現在の符号化構造、メタデータ情報、または現在のグループ・オブ・ピクチャ(GOP)内の階層レベルを含む、列挙されている例示の実施形態168のシステム。
170.第1のラグランジュ乗数は、λestimateを含み、該1つ以上の構成要素は、第1のラグランジュ乗数を、λestimateを算出することにより判断するよう構成されており、λestimateは、大域情報Iglobalに関する大域推定法fglobal(・)の関数であり、λestimate=fglobal(Iglobal)である、列挙されている例示の実施形態168のシステム。
171.該1つ以上の構成要素は、
大域情報を計算することと、
計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することと、
をさらに含む第1のラグランジュ乗数に関する動作を処理するよう動作可能である、列挙されている例示の実施形態168のシステム。
172.計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第1のラグランジュ乗数を判断することは、時間的特性、シーケンス、またはピクチャ間もしくは領域間の符号化の差に少なくとも部分的に基づく、第1のラグランジュ乗数の調整を含む、列挙されている例示の実施形態171のシステム。
173.該1つ以上の構成要素は、符号化パラメータと、ピクチャの階層レベルとの関数を処理することにより第1のラグランジュ乗数を判断するよう構成されており、第1のラグランジュ乗数はλkである、列挙されている例示の実施形態168のシステム。
174.該1つ以上の構成要素は、第1のラグランジュ乗数を、
階層レベル、グループ・オブ・ピクチャ(GOP)のピクチャ間の変化のステップ・サイズ、およびGOPのアンカー・ピクチャの関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、ΔGOPはGOPのピクチャ間の変化のステップ・サイズを表し、λanchorはGOPのアンカー・ピクチャを表し、λk=(1−k・ΔGOP)・λanchorである、該セットすることと、
第1のラグランジュ乗数を計算することと、
を含む動作により判断するよう構成されている、列挙されている例示の実施形態173のシステム。
175.該1つ以上の構成要素は、第1のラグランジュ乗数を、
アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とGOP内の距離との比の関数として第1のラグランジュ乗数λkをセットすることであって、kは階層レベルを表し、λanchorはGOPのアンカー・ピクチャのラグランジュ乗数を表し、danchorはアンカー・ピクチャの距離を表し、dGOPはGOP内の距離を表し、λk=(danchor/dGOP)・λanchorとである、該セットすることと、
第1のラグランジュ乗数を計算することと、
を含む動作により判断するよう構成されている、列挙されている例示の実施形態173のシステム。
176.該1つ以上の構成要素は、アンカー・ピクチャまでの距離に少なくとも部分的に基づき、グループ・オブ・ピクチャ(GOP)の1つ以上のピクチャに関してラグランジュ乗数を判断することを含む動作により、第1のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態173のシステム。
177.該1つ以上の構成要素は、該1つ以上の構成要素に格納されているラグランジュ乗数ルックアップ・テーブルを使用することを含む動作により第1のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態173のシステム。
178.ラグランジュ乗数ルックアップ・テーブルは、複数の符号化パラメータに少なくとも部分的に基づいている、列挙されている例示の実施形態177のシステム。
179.該1つ以上の構成要素は、ラグランジュ乗数ルックアップ・テーブル内の複数のラグランジュ乗数に少なくとも部分的に基づいて、第1のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態177のシステム。
180.該1つ以上の構成要素は、グループ・オブ・ピクチャ(GOP)の以前の階層構造を、GOPの後の階層構造により変換する関数を処理することにより第1のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態173のシステム。
181.該1つ以上の構成要素は、
ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第1のラグランジュ乗数を推定すること、および
第2のラグランジュ乗数を第1のラグランジュ乗数により置き換えること
によって、第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態133のシステム。
182.該1つ以上の構成要素は、一連のラグランジュ・ステップの中で第2のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第2のラグランジュ乗数を第1のラグランジュ乗数に変更することによって、第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態133のシステム。
183.第2のラグランジュ乗数の更新は、第1のラグランジュ乗数λestimateと、第2のラグランジュ乗数λcurrentとの関数である更新された第2のラグランジュ乗数λnewを計算する1つ以上の動作を含み、λnew=λcurrent+Δ・(λestimate−λcurrent)であり、Δは、プリセットされる、または適応的に変更される値を含み、0<Δ<1である、列挙されている例示の実施形態182のシステム。
184.第2のラグランジュ乗数を更新することは、第2のラグランジュ乗数の更新に対し上限または下限をセットすることによって、第2のラグランジュ乗数の更新の大きさに対し限度を設ける1つ以上の動作を含む、列挙されている例示の実施形態182のシステム。
185.該1つ以上の構成要素は、1つ以上の以前のマクロブロックおよび現在のマクロブロックにおける複数のラグランジュ乗数のスライディング・ウィンドウ平均を計算することによって、第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態182のシステム。
186.該1つ以上の構成要素は、
複数のラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択し、
スライディング・ウィンドウの平均の関数として第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態185のシステム。
187.第1のラグランジュ乗数により第2のラグランジュ乗数を更新することは、周期的に第2のラグランジュ乗数を更新することを含み、更新の周期は、一定周期、または適応的に変化する周期を含む、列挙されている例示の実施形態133のシステム。
188.周期は、局所コンテキストに依存し、局所コンテキストは、動き強度またはシーン・カット情報を含む、列挙されている例示の実施形態187のシステム。
189.該1つ以上の構成要素は、スライスの始まりに第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態187のシステム。
190.該1つ以上の構成要素は、シーン・カットが検出されると第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態187のシステム。
191.該1つ以上の構成要素は、第2のラグランジュ乗数を、
ビデオ・エンコーダにより少なくとも2つのマクロブロックの分散を計算することと、
2つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第2のラグランジュ乗数を更新することと、
を含む動作により更新するよう構成されている、列挙されている例示の実施形態187のシステム。
192.第2のラグランジュ乗数を更新することは、いくつかの周期、ピクチャ、またはピクチャの領域に関して第2のラグランジュ乗数を更新する動作を含む、列挙されている例示の実施形態187のシステム。
193.該1つ以上の構成要素は、無作為の順序または一定順序で、第2のラグランジュ乗数の種々のタイプの更新を実行することを含む動作により、第2のラグランジュ乗数を更新するよう構成されており、種々のタイプの更新は、直接更新、ステップ・サイズ更新、およびスライディング・ウィンドウ更新を含む、列挙されている例示の実施形態187のシステム。
194.該1つ以上の構成要素は、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することと、第2のラグランジュ乗数を使用してビデオの領域を符号化することとを含む動作により、第2のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態133のシステム。
195.該1つ以上の構成要素は、複数の歪メトリクスを計算することによって第1のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態133のシステム。
196.該1つ以上の構成要素は、
ビデオ・エンコーダにより第1のグループのラグランジュ乗数を判断することと、
第1のグループのラグランジュ乗数により第2のグループのラグランジュ乗数を更新することと、
を含む動作の命令を処理するよう構成されている、列挙されている例示の実施形態133のシステム。
197.第1のグループのラグランジュ乗数の判断において、複数の歪または/および複雑度メトリクスが採用される、列挙されている例示の実施形態133のシステム。
198.該1つ以上の構成要素は、2つ以上の次元および1つ以上の符号化パラメータによりレート歪傾きを計算することによって、第1のグループのラグランジュ乗数を判断するよう構成されており、該1つ以上の符号化パラメータは、1つ以上の量子化パラメータ(QP)、1つ以上のフレーム・レート、1つ以上の解像度、1つ以上の符号化レイヤ、1つ以上のQPの関数、1つ以上のフレーム・レートの関数、1つ以上の解像度の関数、または1つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態196のシステム。