(57)【特許請求の範囲】
【請求項１】
ビデオエンコーダが行う、ビデオ情報をコード化する方法であって、
第１のラグランジュ乗数を決定するステップと、前記第１のラグランジュ乗数を決定するステップは、少なくとも大域情報を使用することによって前記第１のラグランジュ乗数を推定するステップを含み、前記大域情報は、フレーム・レート又は現在のグループ・オブ・ピクチャ（ＧＯＰ）内の階層レベルを含み、
第２のラグランジュ乗数を初期化するステップと、
前記第１のラグランジュ乗数により前記第２のラグランジュ乗数を更新するステップとを含み、前記更新された第２のラグランジュ乗数は、前記第１のラグランジュ乗数と、現在の前記第２のラグランジュ乗数との関数であり、
前記ビデオ・エンコーダは、前記更新された第２のラグランジュ乗数に従ってビデオ情報をコード化し、
前記第１のラグランジュ乗数は、符号化パラメータにおける歪値及びレート値に関して、前記符号化パラメータに隣接する符号化パラメータにおけるレート値及び歪値を更に使用して推定され、
各符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、又は１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含み、
前記レート及び歪値は、複数のＱＰポイントを含み、
前記複数のＱＰポイントの前記歪及びレート値は、（ＤＱＰ＋ｌ，ＲＱＰ＋ｌ）を含み、ＤＱＰ＋ｌは、ＱＰ＋ｌにおける歪値を表し、ＲＱＰ＋ｌは、ＱＰ＋ｌにおけるレート値を表し、
ｌ、Ｍ及びＮは、前記ＱＰポイントの数値を表し、ｌは、−Ｍ，・・・，−１，１，・・・Ｎを含み、Ｍ及びＮは、事前選択又は適応的選択され、
前記事前選択は、利用可能な計算資源に少なくとも部分的に基づき、
前記適応的選択は、利用可能な計算資源、又はビデオ・シーケンス特性、又は領域特性に少なくとも部分的に基づき、
前記領域特性は、１つ以上のマクロブロックの特性を含み、
前記符号化パラメータにおける前記歪値及び前記レート値に関して、前記符号化パラメータに隣接する符号化パラメータにおけるレート値及び歪値を使用して前記第１のラグランジュ乗数を推定することは、各ＱＰポイントに関して、
全体的なラグランジュ・コスト関数が最小化されるモードを決定するステップと、
【数１】
0005159955.tif 000046
を含み、
前記１階微分推定法は、前記（ＤＱＰ，ＲＱＰ）における階差の幾何平均を含む、方法。
【請求項２】
前記符号化パラメータにおける前記歪値及び前記レート値に関して、前記符号化パラメータに隣接する符号化パラメータにおけるレート値及び歪値を使用して前記第１のラグランジュ乗数を推定することは、λｅｓｔｉｍａｔｅとして推定される前記第１のラグランジュ乗数を含み、
【数２】
0005159955.tif 000047
請求項１記載の方法。
【請求項３】
推定される前記第１のラグランジュ乗数は、前記歪及びレート値を決定するための、１つ以上の候補モードに関する複数のラグランジュ・コストの比較を含む、
請求項２記載の方法。
【請求項４】
前記方法は、各ＱＰポイントに関して、全体的なラグランジュ・コスト関数が最小化されるモードを探索するステップを更に含む、
請求項１記載の方法。
【請求項５】
前記第１のラグランジュ乗数を推定するために大域情報を使用する場合、前記第１のラグランジュ乗数を決定するステップは、λｅｓｔｉｍａｔｅを算出するステップを含み、λｅｓｔｉｍａｔｅは、大域情報Ｉｇｌｏｂａｌに関する大域推定法ｆｇｌｏｂａｌ（・）の関数であり、λｅｓｔｉｍａｔｅ＝ｆｇｌｏｂａｌ（Ｉｇｌｏｂａｌ）である、
請求項１記載の方法。
【請求項６】
前記第１のラグランジュ乗数を推定するために大域情報を使用する場合、前記第１のラグランジュ乗数を決定するステップは、
前記大域情報を計算するステップと、
前記計算された大域情報及び符号化パラメータに少なくとも部分的に基づいて、前記第１のラグランジュ乗数を判断するステップと、
をさらに含み、
前記第１のラグランジュ乗数を、前記計算された大域情報及び前記符号化パラメータに少なくとも部分的に基づいて決定するステップは、時間的特性、シーケンス、又はピクチャ間若しくは領域間の符号化の差に少なくとも部分的に基づいて前記第１のラグランジュ乗数を調整するステップを含む、
請求項１記載の方法。
【請求項７】
前記第１のラグランジュ乗数を推定するために大域情報を使用する場合、前記方法は、符号化パラメータと、ピクチャの階層レベルとの関数を含む前記第１のラグランジュ乗数を決定するステップを含み、前記第１のラグランジュ乗数はλｋである、
請求項１記載の方法。
【請求項８】
前記第１のラグランジュ乗数を決定するステップは、
Ａ）階層レベル、グループ・オブ・ピクチャ（ＧＯＰ）のピクチャ間の変化のステップ・サイズ、及び前記ＧＯＰのアンカー・ピクチャの関数として前記第１のラグランジュ乗数λｋをセットするステップであって、ｋは前記階層レベルを表し、ΔＧＯＰは前記ＧＯＰのピクチャ間の変化の前記ステップ・サイズを表し、λａｎｃｈｏｒは前記ＧＯＰの前記アンカー・ピクチャを表し、λｋ＝（１−ｋ・ΔＧＯＰ）・λａｎｃｈｏｒであるステップ、並びに前記第１のラグランジュ乗数を計算するステップ、又は、
Ｂ）アンカー・ピクチャの前記ラグランジュ乗数、及び前記アンカー・ピクチャの距離と前記ＧＯＰ内の距離との比の関数として前記第１のラグランジュ乗数λｋをセットするステップであって、ｋは前記階層レベルを表し、λａｎｃｈｏｒは前記ＧＯＰのアンカー・ピクチャの前記ラグランジュ乗数を表し、ｄａｎｃｈｏｒは前記アンカー・ピクチャの前記距離を表し、ｄＧＯＰは前記ＧＯＰ内の前記距離を表し、λｋ＝（ｄａｎｃｈｏｒ／ｄＧＯＰ）・λａｎｃｈｏｒであるステップ、並びに前記第１のラグランジュ乗数を計算するステップ、
のうちの少なくとも１つを更に含む、
請求項７記載の方法。
【請求項９】
前記第１のラグランジュ乗数を決定するステップは、
アンカー・ピクチャまでの距離に少なくとも部分的に基づいて、グループ・オブ・ピクチャ（ＧＯＰ）の１つ以上のピクチャに関してラグランジュ乗数を決定するステップ、又は
前記第１のラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブルから決定するステップであって、前記ラグランジュ乗数ルックアップ・テーブルは、複数の符号化パラメータに少なくとも部分的に基づいており、前記第１のラグランジュ乗数は、前記ラグランジュ乗数ルックアップ・テーブル内の複数のラグランジュ乗数に少なくとも部分的に基づいて更新されるステップ、又は
グループ・オブ・ピクチャ（ＧＯＰ）の以前の階層構造を、前記ＧＯＰの後の階層構造により変換する関数
のうちの少なくとも１つをさらに含む、
請求項７記載の方法。
【請求項１０】
前記第２のラグランジュ乗数を更新するステップは、
前記第１のラグランジュ乗数λｅｓｔｉｍａｔｅと、前記第２のラグランジュ乗数λｃｕｒｒｅｎｔとの前記関数として、前記更新された第２のラグランジュ乗数λｎｅｗを計算するステップを含み、
λｎｅｗ＝λｃｕｒｒｅｎｔ＋Δ・（λｅｓｔｉｍａｔｅ−λｃｕｒｒｅｎｔ）であり、前記Δは、プリセットされる値、又は適応的に変更される値を含み、０＜Δ＜１である、
請求項１記載の方法。
【請求項１１】
前記第２のラグランジュ乗数を更新するステップは、
前記第２のラグランジュ乗数の更新に対し上限又は下限をセットすることによって、前記第２のラグランジュ乗数の更新の大きさに対し限度を設けるステップを含む、
請求項１記載の方法。
【請求項１２】
前記第２のラグランジュ乗数を更新するステップは、
１つ以上の以前のマクロブロック及び現在のマクロブロックにおける複数のラグランジュ乗数のスライディング・ウィンドウ平均を計算するステップと、
前記複数のラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用に前記ラグランジュ乗数のサブセットを選択するステップと、
前記スライディング・ウィンドウの平均の関数として前記第２のラグランジュ乗数を更新するステップと、
を含む請求項１記載の方法。
【請求項１３】
前記第２のラグランジュ乗数は、前記第１のラグランジュ乗数により周期的に更新され、当該方法は、
局所コンテキストに依存する周期であって、前記局所コンテキストは、動き強度又はシーン・カット情報を含む周期、
スライスの始まりで更新される前記第２のラグランジュ乗数を提供するステップ、
シーン・カットが検出されたときに更新される前記第２のラグランジュ乗数を提供するステップ、
前記ビデオ・エンコーダにより少なくとも２つのマクロブロックの分散を計算し、２つの隣り合ったマクロブロック間の前記分散の変化が閾値を上回れば、前記第２のラグランジュ乗数を更新するステップ、
幾つかの周期、ピクチャ、又はピクチャの領域に関して前記第２のラグランジュ乗数を更新するステップ、又は
無作為の順序又は一定順序で、前記第２のラグランジュ乗数の種々のタイプの更新を実行するステップであって、前記種々のタイプの更新は、直接更新、ステップ・サイズ更新、及びスライディング・ウィンドウ更新を含むステップ、
を更に含む、
請求項１記載の方法。
【請求項１４】
当該方法は、
前記ビデオ・エンコーダにより第１のグループのラグランジュ乗数を決定するステップと、
前記第１のグループのラグランジュ乗数により第２のグループのラグランジュ乗数を更新するステップと、
を更に含み、
前記第１のグループのラグランジュ乗数を決定するステップにおいて、複数の歪制約が採用され、
前記第１のグループのラグランジュ乗数を決定するステップは、２つ以上の次元及び１つ以上の符号化パラメータによりレート歪傾きを計算するステップを含む、
請求項１記載の方法。
【請求項１５】
ビデオ情報のエンコーダであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによって実行されると、請求項１乃至１４のうちの１つ以上に記載の方法を前記少なくとも１つのプロセッサに実行させる命令を含む、コンピュータ読み取り可能な記録媒体と、
を含むエンコーダ。
【請求項１６】
ビデオ情報を符号化する装置であって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによって実行されると、請求項１乃至１４のうちの１つ以上に記載のプロセスを前記プロセッサに少なくとも部分的に実行させる命令を含む、コンピュータ読み取り可能な記録媒体と、
を含む装置。
【請求項１７】
請求項１に従って、ビデオ・エンコーダにより第１のラグランジュ乗数を決定する手段と、
請求項１に従って、前記第１のラグランジュ乗数により第２のラグランジュ乗数を更新する手段と、
を含むシステムであって、
当該システムは、請求項１に従って、前記第１のラグランジュ乗数又は前記第２のラグランジュ乗数のうちの１つ以上によりビデオ情報をコード化するよう構成されている、システム。
【請求項１８】
請求項２乃至１４のうちの１つ以上に記載の方法を少なくとも部分的に実行する手段をさらに含む、
請求項１７記載のシステム。
【請求項１９】
コンピュータ・システムの少なくとも１つのプロセッサにより実行すると、請求項１乃至１４のうちの１つ以上に記載の方法を前記プロセッサに少なくとも部分的に実行させる命令を含む、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２００８年９月１６日に提出された米国特許仮出願第６１／０９７２６９号の優先権を主張するものであり、参照によってその内容全体を本願明細書に引用したものとする。
【０００２】
［技術］
本開示は、全般的にビデオ技術に関し、特にビデオ符号化に関する。
【背景技術】
【０００３】
本願明細書で使用される「イメージ特徴」という用語は、フィールド内の１つ以上の画素（例えば１つ以上のピクセル）を指す。本願明細書で使用される「情報源フィールド」という用語は、イメージ特徴に関する情報を判断すること、または得ることができるフィールドを指す。本願明細書で使用される「中間フィールド」という用語は、ビデオ・シーケンス内で情報源フィールドに時間的に後続または先行し得るフィールドを指し、イメージ特徴に関する情報は情報源フィールドを参照して表現される。本願明細書で使用される「視差推定（ｄｉｓｐａｒｉｔｙ  ｅｓｔｉｍａｔｉｏｎ）」という用語は、動きベクトルまたはその他のパラメータ値を計算する技術を指し、それにより、例えばビデオ・シーケンスの２つ以上のフィールド間などの動き、またはそのほかイメージ、イメージの領域、ブロック、もしくはピクセルと、予測信号との間の差が効率よく予測、モデル化、または表現される。視差推定の例は動き推定とすることができる。本願明細書で使用される「視差推定値（ｄｉｓｐａｒｉｔｙ  ｅｓｔｉｍａｔｅ）」という用語は、動きベクトル、または推定されるパラメータ予測に関係する別の値を指す。本願明細書で使用される「視差補償」という用語は、ビデオ・シーケンスの１つ以上の中間フィールドにおけるイメージ特徴の動きまたは何らかのパラメータを表現するよう、情報源フィールドにおけるイメージ特徴の位置の空間変位を計算するために、動き推定値（ｍｏｔｉｏｎ  ｅｓｔｉｍａｔｅ）または別のパラメータが使用され得る技術を指す。視差補償の例は動き補償とすることができる。上記の用語はさらに、他のビデオ符号化概念と共に使用されることもある（例えばイントラ予測および照明補償）。
【図面の簡単な説明】
【０００４】
【図１】ビデオ・エンコーダの例の図を示す。
【図２】ビデオ・デコーダの例の図を示す。
【図３】ラグランジュ最適化関数の例の図である。
【図４Ａ】ラグランジュ最適化関数の例を推定および更新する例示のプロセスの流れ図である。
【図４Ｂ】ラグランジュ乗数を推定および更新する例示のシステムを示す。
【図５】ラグランジュ最適化関数の例の図である。
【図６】レート歪最適化モード決定によるレート歪傾き推定（ｒａｔｅ  ｄｉｓｔｏｒｔｉｏｎ  ｓｌｏｐｅ  ｅｓｔｉｍａｔｉｏｎ）の例の流れ図を示す。
【図７】局所近似によるレート歪傾き推定の例の流れ図を示す。
【図８】局所情報による例示のレート歪傾き推定の流れ図を示す。
【図９】符号化パラメータおよび局所情報を用いた例示のルックアップ・テーブルを示す図を示す。
【図１０】大域情報による例示のレート歪推定の流れ図を示す。
【図１１】例示の階層型予測構造を備える例示のグループ・オブ・ピクチャ（ＧＯＰ：Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅｓ）を備えた図を示す。
【図１２】例示のラグランジュ乗数更新モジュールのブロック図を示す。
【図１３】開示される技術を用いる例示のシステム図を示す。
【発明を実施するための形態】
【０００５】
様々な図面内の同じ参照番号および名称は、同様の構成要素を示すことができる。
【０００６】
ビデオ圧縮およびビデオ符号化に関する例示の実施形態を本願明細書に記載する。以下の記載では、説明のために、本発明が完全に理解されるよう多数の具体的な詳細事項を記載する。なお、当然のことながら、本発明の実施形態はこうした具体的な詳細事項を用いずに実践されてもよい。他の例として、本発明を不必要に分かりにくくすることを避けるために、周知の構造およびデバイスがブロック図の形態で示されている。添付の図面および以下の説明に、１つ以上の実施形態の詳細事項が記載される。他の特徴、目的、および側面は、説明および図面、ならびに特許請求の範囲から明らかである。
【０００７】
［概説］
本発明の実施形態は、ビデオのコード化に関する。第１のラグランジュ乗数がビデオ・エンコーダにより判断され、第１のラグランジュ乗数により第２のラグランジュ乗数を更新する。
【０００８】
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの１つ以上を含むことができる。第１のラグランジュ乗数は、少なくとも１つの他の符号化特徴との依存関係に少なくとも部分的に基づいて判断できる。符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、および／またはフレームの特性を含むことができ、特性は、テクスチャおよび／または輝度を含むことができる。ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含むことができ、ラグランジュ乗数推定モジュールは、第１のラグランジュ乗数を生成する、ダイナミック・プログラミングなどの方法を含むことができる。第１のラグランジュ乗数は、レート歪関数の少なくとも１つの符号化パラメータに関してレート歪傾きを計算することを伴うことができる。符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ：ｑｕａｎｔｉｚａｔｉｏｎ  ｐａｒａｍｅｔｅｒｓ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。本方法は、ＤＣＴに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化、またはビット・プレーン・ビデオ符号化を含むことができる。第１のラグランジュ乗数は、ビデオ表示に関連する１つ以上の特性に少なくとも部分的に基づき生成可能である。第１のラグランジュ乗数は、少なくとも１つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断可能であり、少なくとも１つのビデオ符号化特性および／またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、局所情報、および／または大域情報を含むことができる。
【０００９】
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの１つ以上を含むことができる。第１のラグランジュ乗数を判断するプロセスは、１つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも１つのビデオ符号化特性またはビデオ符号化統計の関数として第１のラグランジュ乗数を生成することを含むことができる。第１のラグランジュ乗数を判断するプロセスは、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第１のラグランジュ乗数を生成することを伴うことができる。種々の符号化パラメータはそれぞれ、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、もしくは１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、および／または１つ以上の符号化レイヤの関数のうちのいずれかを含むことができる。第１のラグランジュ乗数を判断するプロセスは、少なくとも１つの符号化パラメータに関して、レート歪曲線の傾きの推定値を生成することを含むことができ、第１のラグランジュ乗数により第２のラグランジュ乗数を更新することは、第２のラグランジュ乗数をその推定値により置き換えることを含むことができる。符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、および／または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。第３のラグランジュ乗数を判断するプロセスは、ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用することを伴うことができる。第１のラグランジュ乗数を置き換えることで第１のラグランジュ乗数を更新するプロセスは、第３のラグランジュ乗数を含むことができる。本方法は、ピクチャのいくつかのマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算することと、すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化することとを伴うことができる。
【００１０】
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの１つ以上を含むことができる。第１のラグランジュ乗数を判断するプロセスは、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第１のラグランジュ乗数を推定することを伴うことができる。符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、および／または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。レートおよび歪値は、いくつかのＱＰポイントを含むことができ、複数のＱＰポイントの歪およびレート値は、歪およびレート値（ＤＱＰ＋ｌ，ＲＱＰ＋ｌ）を含むことができる。歪値ＤＱＰ＋ｌは、ＱＰ＋ｌにおける歪値を表すことができ、レート値ＲＱＰ＋ｌは、ＱＰ＋ｌにおけるレート値を表すことができ、ｌ、ＭおよびＮは、ＱＰポイントの数値を表すことができ、ｌは−Ｍ，・・・，−１，１，・・・Ｎを含むことができ、ＭおよびＮは、事前選択または適応的選択されることが可能である。事前選択は、利用可能な計算資源に少なくとも部分的に基づくことができ、適応的選択は、利用可能な計算資源、ビデオ・シーケンス特性、および／または領域特性に少なくとも部分的に基づくことができる。領域特性は、１つ以上のマクロブロックの特性を含むことができる。
【数１】
0005159955.tif 000002
本方法は、１階微分推定法（ｆｉｒｓｔ  ｏｒｄｅｒ  ｄｅｒｉｖａｔｉｖｅ  ｅｓｔｉｍａｔｉｏｎ  ｍｅｔｈｏｄ）を使用して（ＤＱＰ，ＲＱＰ）における曲線の傾きを推定することを伴うことができ、ＤＱＰは、ＱＰにおける歪値を表すことができ、ＲＱＰは、ＱＰにおけるレート値を表すことができる。１階微分推定法は、歪およびレート値（ＤＱＰ，ＲＱＰ）における階差の幾何平均とすることができる。
【数２】
0005159955.tif 000003
推定される第１のラグランジュ乗数は、歪およびレート値を判断するよう、１つ以上の候補モードに関するいくつかのラグランジュ・コストの比較を伴うことができる。各ＱＰポイントに関して、本方法はさらに、全体的なラグランジュ・コスト関数が最小化されるモードを探索することを伴うことができる。
【００１１】
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの１つ以上を含むことができる。本方法では、第１のラグランジュ乗数を判断するプロセスは、局所近似によりレート歪傾き推定を実行することを伴うことができる。
【数３】
0005159955.tif 000004
本方法は、（ＤＱＰ，ＲＱＰ）における曲線の傾きを、１階微分推定法を使用して推定することを伴うことができる。歪値ＤＱＰは、ＱＰにおける歪を表すことができ、ＲＱＰは、ＱＰにおけるレートを表すことができる。符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、および／または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。１階微分推定法は、歪およびレート値（ＤＱＰ，ＲＱＰ）における階差の幾何平均とすることができる。
【数４】
0005159955.tif 000005
【００１２】
【数５】
0005159955.tif 000006
【００１３】
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの１つ以上を含むことができる。本方法において、第１のラグランジュ乗数を判断するプロセスは、第１のラグランジュ乗数を推定するために、局所情報を使用することを伴うことができる。局所情報は、分散、輝度(luma)要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、および／または領域もしくはマクロブロックの空間的または時間的に隣接したエリアの特性もしくはラグランジュ乗数を含むことができる。符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、および／または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを伴うことができる。第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅの使用を伴うことができ、第１のラグランジュ乗数を判断することは、λｅｓｔｉｍａｔｅの算出を含むことができ、λｅｓｔｉｍａｔｅは、局所情報Ｉｌｏｃａｌに関する局所推定法ｆｌｏｃａｌ（・）の関数とすることができ、λｅｓｔｉｍａｔｅは、λｅｓｔｉｍａｔｅ＝ｆｌｏｒａｌ（Ｉｌｏｃａｌ）と表現できる。本方法は、第１のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第１のラグランジュ乗数を判断することとを含むことができる。第１のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断されることが可能である。本方法において、第１のラグランジュ乗数を判断するプロセスは、ラグランジュ乗数ルックアップ・テーブルを生成することを伴うことができる。ラグランジュ乗数ルックアップ・テーブルの生成は、エリアに関していくつかの分散を計算すること、いくつかの量子化パラメータ（ＱＰ）に関していくつかのラグランジュ乗数を推定すること、Ｋ個のビンにより、（Ｋ＋１）のグループに該いくつかの分散を配置すること、Ｌ個のビンにより、複数グループに該いくつかのＱＰを配置すること、Ｋ個およびＬ個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算すること、および平均ラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブルに記録することを伴うことができる。本方法は、２つ以上のエリア、スライス、および／またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新することを伴うことができる。
【００１４】
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの１つ以上を含むことができる。本方法は、大域情報を使用して第１のラグランジュ乗数を推定することを伴うとよく、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。大域情報は、フレーム・レート、空間的特性、輝度もしくは彩度の分散、ＤＣ値、ＤＣ値のヒストグラム、現在の符号化構造、メタデータ情報、および／または現在のグループ・オブ・ピクチャ（ＧＯＰ）内の階層レベルを含むことができる。第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含むことができる。本方法は、第１のラグランジュ乗数を判断することを伴うことができ、これは、λｅｓｔｉｍａｔｅを算出することを含み、λｅｓｔｉｍａｔｅは、大域情報Ｉｇｌｏｂａｌに関する大域推定法ｆｇｌｏｂａｌ（・）の関数とすることができ、λｅｓｔｉｍａｔｅは、λｅｓｔｉｍａｔｅ＝ｆｇｌｏｂａｌ（Ｉｇｌｏｂａｌ）と表現することができる。第１のラグランジュ乗数を伴う本方法は、大域情報を計算すること、ならびに計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第１のラグランジュ乗数を判断することをさらに含むことができる。計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第１のラグランジュ乗数を判断するプロセスは、時間的特性、シーケンス、および／またはピクチャ間もしくは領域間の符号化の差に少なくとも部分的に基づいて、第１のラグランジュ乗数を調整することを伴うことができる。第１のラグランジュ乗数を判断するプロセスは、符号化パラメータと、ピクチャの階層レベルとの関数を含むことができ、第１のラグランジュ乗数はλｋである。第１のラグランジュ乗数を判断するプロセスは、階層レベル、グループ・オブ・ピクチャ（ＧＯＰ）のピクチャ間の変化のステップ・サイズ、および／またはＧＯＰのアンカー・ピクチャの関数として第１のラグランジュ乗数λｋをセットすることをさらに含むことができ、ｋは階層レベルを表すことができ、ΔＧＯＰはＧＯＰのピクチャ間の変化のステップ・サイズを表すことができ、λａｎｃｈｏｒはＧＯＰのアンカー・ピクチャを表すことができ、λｋはλｋ＝（１−ｋ・ΔＧＯＰ）・λａｎｃｈｏｒと表現できる。本方法は、第１のラグランジュ乗数を計算することをさらに含むことができる。
【００１５】
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの１つ以上を含むことができる。第１のラグランジュ乗数を判断するプロセスは、アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とＧＯＰ内の距離との比の関数として第１のラグランジュ乗数λｋをセットすることを含むことができ、ｋは階層レベルを表すことができ、λａｎｃｈｏｒはＧＯＰのアンカー・ピクチャのラグランジュ乗数を表すことができ、ｄａｎｃｈｏｒはアンカー・ピクチャの距離を表すことができ、ｄＧＯＰはＧＯＰ内の距離を表すことができ、λｋはλｋ＝（ｄａｎｃｈｏｒ／ｄＧＯＰ）・λａｎｃｈｏｒと表現できる。本方法は、このプロセスを使用して第１のラグランジュ乗数を計算することをさらに伴うことができる。第１のラグランジュ乗数を判断するプロセスは、アンカー・ピクチャまでの距離に少なくとも部分的に基づく、グループ・オブ・ピクチャ（ＧＯＰ）の１つ以上のピクチャに関してラグランジュ乗数を判断することをさらに含むことができる。第１のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断されることが可能である。ラグランジュ乗数ルックアップ・テーブルは、いくつかの符号化パラメータに少なくとも部分的に基づくことができる。本方法は、ラグランジュ乗数ルックアップ・テーブル内のラグランジュ乗数のうちの１つ以上に少なくとも部分的に基づいて、第１のラグランジュ乗数を更新することをさらに伴うとよい。第１のラグランジュ乗数は、グループ・オブ・ピクチャ（ＧＯＰ）の以前の階層構造を、ＧＯＰの後の階層構造を用いて変換する関数を含むことができる。第１のラグランジュ乗数により第２のラグランジュ乗数を更新するプロセスは、ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第１のラグランジュ乗数を推定することと、第２のラグランジュ乗数を第１のラグランジュ乗数により置き換えることを含むことができる。
【００１６】
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの１つ以上を含むことができる。第２のラグランジュ乗数を更新するプロセスは、一連のラグランジュ・ステップの中で第２のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第２のラグランジュ乗数を第１のラグランジュ乗数に変更することを含むことができる。第２のラグランジュ乗数を更新するプロセスは、第１のラグランジュ乗数λｅｓｔｉｍａｔｅと、第２のラグランジュ乗数λｃｕｒｒｅｎｔとの関数である更新された第２のラグランジュ乗数λｎｅｗを計算することを含むことができ、λｎｅｗは、λｎｅｗ＝λｃｕｒｒｅｎｔ＋Δ・（λｅｓｔｉｍａｔｅ−λｃｕｒｒｅｎｔ）と表現でき、Δは、０＜Δ＜１となるようプリセットされる、または適応的に変更される値を含むことができる。第２のラグランジュ乗数を更新するプロセスは、第２のラグランジュ乗数の更新に対し上限または下限をセットすることにより、第２のラグランジュ乗数の更新の大きさに対し限度を設けることを伴うことができる。第２のラグランジュ乗数を更新するプロセスは、１つ以上の以前のマクロブロックおよび現在のマクロブロックにおけるいくつかのラグランジュ乗数のスライディング・ウィンドウ平均を計算することを伴うことができる。本方法は、いくつかのラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択し、スライディング・ウィンドウの平均の関数として第２のラグランジュ乗数を更新することをさらに伴うことができる。
【００１７】
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの１つ以上を含むことができる。第１のラグランジュ乗数により第２のラグランジュ乗数を更新するプロセスは、周期的に第２のラグランジュ乗数を更新することを含むことができ、更新の周期は、一定周期、または適応的に変化する周期を含むことができる。この周期は、局所コンテキストに依存することができ、局所コンテキストは、動き強度またはシーン・カット情報を含むことができる。第２のラグランジュ乗数は、スライスの始まりに更新されることが可能である。第２のラグランジュ乗数は、シーン・カットが検出されると更新されることが可能である。第２のラグランジュ乗数を更新するプロセスは、ビデオ・エンコーダにより少なくとも２つのマクロブロックの分散を計算することと、２つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第２のラグランジュ乗数を更新することを伴うことができる。第２のラグランジュ乗数を更新するプロセスは、いくつかの周期、ピクチャ、またはピクチャの領域に関して第２のラグランジュ乗数を更新することを伴うことができる。第２のラグランジュ乗数を更新するプロセスは、無作為の順序または一定順序で、第２のラグランジュ乗数の種々のタイプの更新を実行することを伴うことができ、種々のタイプの更新は、直接更新、ステップ・サイズ更新、および／またはスライディング・ウィンドウ更新を含むことができる。
【００１８】
これらの実施形態および他の実施形態は、任意選択で、以下の特徴のうちの１つ以上を含むことができる。第１のラグランジュ乗数により第２のラグランジュ乗数を更新するプロセスは、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することを含むことができる。本方法は、第２のラグランジュ乗数を使用してビデオの或る領域を符号化することをさらに伴うとよい。第１のラグランジュ乗数を判断するプロセスは、複数の歪メトリクス（ｄｉｓｔｏｒｔｉｏｎ  ｍｅｔｒｉｃｓ）を計算することを伴うことができる。本方法は、ビデオ・エンコーダにより第１のグループのラグランジュ乗数を判断し、第１のグループのラグランジュ乗数により第２のグループのラグランジュ乗数を更新することを含むことができる。第１のグループのラグランジュ乗数の判断において、複数の歪制約が採用されることが可能である。第１のグループのラグランジュ乗数を判断するプロセスは、２つ以上の次元および１つ以上の符号化パラメータによりレート歪傾きを計算することを伴うことができる。この１つ以上の符号化パラメータはそれぞれ、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、および／または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含むことができる。
【００１９】
本願明細書に記載される本方法および技術の任意のものが、１つ以上の構成要素を備えるシステム、装置もしくはデバイス、機械、コンピュータ・プログラム製品、ソフトウェア、ハードウェア、またはその任意の組み合わせにおいて実装されることがさらに可能である。例えば、コンピュータ・プログラム製品は、コンピュータ可読媒体上に有形にコード化されることが可能であり、本願明細書に記載の方法のいずれかに関する１つ以上の動作をデータ処理装置（例えばデータ・プロセッサ）に実行させる命令を含むことができる。こうした技術がどのように実装可能であるかを示すために、いくつかの例示の実施形態が示され、記載される。
【００２０】
［システムおよび技術］
スケーラブル（例えばＳＶＣ）およびマルチビュー符号化システム（例えばＭＶＣ）を含むビデオ圧縮システムおよび標準（例えばＩＳＯ  ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４、ＭＰＥＧ−４  ＡＶＣ／ＩＴＵ−Ｔ  Ｈ．２６４、ＭＰＥＧ−４シンプル（ＳＰ：ｓｉｍｐｌｅ  ｐｒｏｆｉｌｅ）およびアドバンスド・シンプル（ＡＳＰ：Ａｄｖａｎｃｅｄ  Ｓｉｍｐｌｅ  Ｐｒｏｆｉｌｅｓ）プロファイル、Ｈ．２６１、Ｈ．２６３、ＡＶＳ、ならびにＶＣ−１など）は、適度なコストでビデオ・コンテンツを格納および配信する手法を提供することができる。ビデオ符号化最適化は、ビデオ圧縮システムの構成要素とすることができる。ビデオ符号化最適化は、高品質の視覚的エクスペリエンスを伴う高い符号化効率を提供することができる。ビデオ符号化最適化は、レート／歪最適化を考慮するとよく、これは、意志決定に関してビットレートおよび歪の両方の同時最適化を可能にする。あるいは、最適化は、歪またはビットレートを個別に考慮することもある。最適化はさらに、デコーダおよび／またはエンコーダの複雑度を含むパラメータを考慮することもあり、これは、計算資源の利用可能性（例えばメモリ状態および容量、電力消費）に関することもある。例えば、現代のビデオ符号化システムで高い符号化効率および視覚的品質を達成するために、レート歪最適化（ＲＤＯ：ｒａｔｅ  ｄｉｓｔｏｒｔｉｏｎ  ｏｐｔｉｍｉｚａｔｉｏｎ）が使用可能である。
【００２１】
図１は、ビデオ・エンコーダ１００の例の図を示す。エンコーダ１００は、例えば、ＭＰＥＧ−４  ＡＶＣまたはＩＴＵ−Ｔ  Ｈ．２６４とも呼ばれる高度ビデオ符号化標準（ＡＶＣ：ａｄｖａｎｃｅｄ  ｖｉｄｅｏ  ｃｏｄｉｎｇ）に実質的に準拠したエンコーダであるとよい。図１では、入力ビデオ１０２が加算器１１６へ送られ、加算器１１６は、入力ビデオ・フレーム１０２を、視差補償（例えば動き／照明変化補償および／またはイントラ予測）構成要素１６０の出力と合計する。加算器１１６からの出力は、変換構成要素１０４に結合されており、それに量子化構成要素１０６が続く。量子化構成要素１０６の出力は、可変長符号化（ＶＬＣ：ｖａｒｉａｂｌｅ  ｌｅｎｇｔｈ  ｃｏｄｉｎｇ）構成要素１０８および逆量子化構成要素１１０に結合されている。ビットストリーム１２０は、ＶＬＣ構成要素１０８から生じる。ブロック、領域、またはイメージをコード化するために必要なビットの数、当該の決定により発生する歪など、コード化プロセスについての情報が、ループ・フィルタ１６６およびその他の構成要素へ送られる。
【００２２】
視差補償構成要素１６０は、視差推定構成要素１６２からの情報／決定を所与として、予測信号を生成することができる。視差推定構成要素１６２は、数ある中でも特に、（ａ）動きベクトル、照明変化パラメータ、および／またはイントラ予測モードなど、適切な予測パラメータを判断すること、（ｂ）動き補償ブロック・サイズを選択的に有効化および無効化すること、（ｃ）動き補償参照として特定のピクチャを使用すること、（ｄ）動き推定探索範囲、微調整パターン、および／または動き推定反復の数などを調整すること、ならびに（ｅ）イメージについての何らかの所定条件または情報を所与として、テストされる符号化モードの数を制限することなどを含むとよいタスクを実行することができる。ループ・フィルタ構成要素１６６は、数ある中でも特に、（ａ）インループ・デブロッキング・フィルタのパラメータを調整すること、（ｂ）デブロッキング・フィルタをオフにすることを含むとよいタスクを実行することができる。
【００２３】
レート歪最適化構成要素１８０は、入力ビデオ１０２および視差補償構成要素１６０からの出力を受け取り、レート歪最適化情報を視差推定構成要素１６２へ送る。視差推定は、動き補償（または予測）誤差を最小化することと、その一方で動きフィールドの一貫性を最大化することとの間のバランスにより特徴付けることができる。動きフィールドの一貫性は、動きフィールドの滑らかさに関して表現されることが可能である。一貫したオブジェクトの動きは、動きフィールドがオブジェクト境界でのみ不連続となるよう、各オブジェクトに関して滑らかであることが要求される。このオブジェクト境界は、輪郭エッジまたはシルエット・エッジと呼ぶことができる。
【００２４】
逆変換構成要素１１２は、逆量子化構成要素１１０から入力を受け取り、出力を加算器１２６へ送る。加算器１２６は、逆変換構成要素１１２および視差補償構成要素１６０から信号を受け取り、合計された信号をループ・フィルタ１６６へ送る。ピクチャ参照ストア１６４は、ループ・フィルタ１６６から入力を受け取り、視差補償構成要素１６０および視差推定構成要素１６２に出力を送る。視差推定構成要素１６２はさらに、レート制御構成要素１５０からレート制御入力を受け取る。ループ・フィルタ１６６も、入力をレート制御構成要素１５０から受け取る。入力ビデオ１０２はさらに、視差補償構成要素１６０および視差推定構成要素１６２の入力に送られる。レート制御構成要素１５０はさらに、ＶＬＣ構成要素１０８および視差補償構成要素１６０から入力を受け取る。レート制御構成要素１５０は、出力を、変換構成要素１０４、量子化構成要素１０６、視差補償１６０、およびレート歪最適化構成要素１８０へ送ることができる。
【００２５】
図２は、ビデオ・デコーダ２００の例の図を示す。いくつかの実施形態では、デコーダ２００は、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ標準に実質的に準拠して機能するとよい。デコーダ２００は、ビットストリーム１２０を受信し、ビットストリームを、エントロピー（可変長）デコーダ２０５、１つまたは複数の逆量子化器２３０、１つまたは複数の逆変換構成要素２３５、および視差補償構成要素２１０を使用して復号する。エントロピー・デコーダ２０５は、数ある中でも特に、モード、動きベクトル、照明変化パラメータ、イントラ予測モードなどの視差情報を含むヘッダ情報、ならびに量子化および変換された残差データ（ｒｅｓｉｄｕａｌ  ｄａｔａ）両方を抽出するとよい。視差補償、より具体的には信号の予測が、視差補償構成要素２１０においてヘッダ情報を使用して実行され、その一方で、残差データが、逆量子化器２３０を使用してまず逆量子化され、次に逆変換構成要素２３５を使用して逆変換される。加算器２５５は、逆変換２３５および視差補償器２１０の出力を加算し、合計された結果をループ・フィルタ２２５へ送る。ループ・フィルタ２２５の出力は、参照ピクチャ・バッファ２２０に結合されており、参照ピクチャ・バッファ２２０は、参照用のピクチャを格納するため、および出力２５０を送るために使用可能である。
【００２６】
ラグランジュ最適化が、ビデオ符号化最適化技術として使用可能である。ラグランジュ最適化は、ラグランジュ・コスト関数の最小化として、ビデオ符号化最適化問題を公式化する。ラグランジュ最適化は、ＲＤＯのための一技術と見なすことができ、符号化効率および視覚的品質を改善するために、エンコーダおよび／またはデコーダにおいて、特に視差推定、モード決定、複雑度割り当て、および量子化中に、ならびにパラメータが最適化される場合に使用されることができる。実施形態では、ラグランジュ最適化は、動きベクトルに対するビットレート制約を条件として、もとのビデオ情報と参照されるビデオ情報との間の差を最小化する最適な動きベクトルを求めるために、動き推定において使用可能である。
【００２７】
図３は、ラグランジュ最適化関数の例を示す図である。ラグランジュ・コスト関数は、
【数６】
0005159955.tif 000007
と表現でき、
【数７】
0005159955.tif 000008
となり、次のレート目標に従う。
【数８】
0005159955.tif 000009
【００２８】
【数９】
0005159955.tif 000010
【００２９】
図は、歪Ｄ３１５対レートＲ３２０のプロット３００を示し、ラグランジュ・コスト関数３２５の最小化が、ラグランジュ乗数３３０の傾きを表す平面波により示されている。図３は、特定のラグランジュ乗数λを所与としてラグランジュ・コスト関数を最小化するときの最適解を示すことができる。
【数１０】
0005159955.tif 000011
λ＝０とするラグランジュ・コスト関数の最小化は、レートを考慮することなく歪を最小化することに本質的に等しい。逆に、λが任意に大きいラグランジュ・コスト関数の最小化は、歪を考慮することなくレートを最小化することに本質的に等しい。ゼロと、任意に大きな値との間のλ値を選択することで、明確な最適トレードオフの達成が可能となり、レートおよび歪要件のバランスがとられる。ビデオ圧縮システムでは、動きベクトルおよび符号化モードの両方を、ラグランジュ最適化により決定可能である。
【００３０】
ビデオ・エンコーダにおいてラグランジュ最適化を実行するとき、レートは通常、単位時間あたりのビットにより数えられる。歪は、様々な方法により計算され得る。
【００３１】
【数１１】
0005159955.tif 000012
0005159955.tif 000013
【００３２】
【数１２】
0005159955.tif 000014
Ｈ．２６３およびＨ．２６４／ＭＰＥＧ−４  ＡＶＣ標準の他、通常、適用される量子化プロセスを所与として、λの他の変形（例えば式５および式６のほか）を使用することができる。多くの実装において、ｃは定数として選択され、他の符号化特徴および／またはビデオ特性から独立していると想定される。さらに、ラグランジュ最適化が適用される領域、ブロック、またはイメージは、他の符号化決定から独立していると想定されることもある。同時に、ラグランジュ乗数λの量子化パラメータの関数としての公式化は、次の通り、情報源符号化理論に少なくとも部分的に基づいて近似的に解釈が可能である。
【００３３】
より高いレートで近似され得るレート歪関数は、
Ｒ（Ｄ）＝ａｌｎ（σ２／Ｄ）        （８）
と表現され、式中、ａは情報源の確率密度関数（ｐｄｆ：ｐｒｏｂａｂｉｌｉｔｙ  ｄｅｎｓｉｔｙ  ｆｕｎｃｔｉｏｎ）に依存する定数である。いくつかの実施形態における、λの所与の値に関するラグランジュ・コスト関数Ｊの最小化は、Ｄに対してＪの導関数をゼロと等しくセットすることによって達成されることができ、これにより次が得られる。
【数１３】
0005159955.tif 000015
または等価に、
λ＝−（ｄＤ／ｄＲ（Ｄ））＝Ｄ／ａ          （１０）
高レートにおける歪は、次のように表現できる。
【数１４】
0005159955.tif 000016
したがって、ラグランジュ乗数は、次のように表現できる。
【数１５】
0005159955.tif 000017
式中、
ｃ＝４／（１２・ａ）          （１３）
【００３４】
場合によっては、ｃは変化してもよく、他の符号化特徴および／またはビデオ特性に少なくとも部分的に依存してもよい。例えば、未来および過去の隣接するものと相関がある可能性もある。他の潜在的な依存関係も存在し得る。これはさらに、インター予測（例えば時間的予測）およびイントラ予測（例えば空間的予測）を強化し得る。複数の歪最適化（例えば、複数のラグランジュ・コスト関数により種々の歪制約を考慮する最適化方法）ならびにデコーダまたは／およびエンコーダの複雑度も強化され得る。複雑度は、必要メモリ、またはアクセス、キャッシュ・ミス、実行動作数、電力消費、および他の要因を考慮することができるであろう。時間的には、これはさらに、高速および／または低速動画の様々なフレーム・レートにおいて、または使用される符号化構造に少なくとも部分的に基づいて、符号化性能を強化することができる。例えば、階層符号化構造の使用は、時間参照間の異なる距離をもたらすこともある。距離の差も考慮され得る。一部のビデオ・システムは、輝度およびテクスチャなど、ピクチャおよびピクチャ内の領域間の特性も考慮することができる。こうした領域の一部は、静的であることもあり、他の領域は、動きを有することもある。本願明細書の一部の実施形態はさらに、λおよび／またはｃを変化させるために、場合によってはダイナミック・プログラミング技術を採用することができる。
【００３５】
乗数λは、上述のように、ＱＰの関数として公式化でき、ラグランジュ最適化においてλを非適応的に計算するアルゴリズムが存在し得る。なお、適応的λは、例えば時間的、または空間的特性など、変化する特性を有するコンテンツの符号化に性能利点を提供することができる。
【００３６】
例えば、ＱＰに加えて、式１０および１３において示されているように、λもａに依存してもよく、ａはさらに情報源のｐｄｆに依存し得る（例えば、λはＱＰおよび情報源のｐｄｆの関数であってもよい）。以下に記載される実施形態では、λは、ビデオ情報源統計および／または他のビデオ特性に少なくとも部分的に基づいて適応的に推定される。
【００３７】
ラグランジュ最適化における歪はさらに、ラグランジュ最適化において、主観的な視覚的品質を測定することができる他のメトリクスを使用して計算されることが可能である。こうしたメトリクスの一例には、最小可知差異（ＪＮＤ：Ｊｕｓｔ  Ｎｏｔｉｃｅａｂｌｅ  Ｄｉｆｆｅｒｅｎｃｅ）があり、これは、コンテンツに少なくとも部分的に基づいて、アーティファクトの可視性を測定するものである。別の例は、傾きの平均平方差（ＭＳＤＳ：Ｍｅａｎ  Ｓｑｕａｒｅ  Ｄｉｆｆｅｒｅｎｃｅ  ｏｆ  Ｓｌｏｐｅ）であり、これは、シーン内に現れ得るブロッキング・アーティファクトの強度を測定するために使用可能である。そのような場合、式６および７におけるラグランジュ乗数の公式化は、もはや有効ではない。
【００３８】
実施形態は、品質、空間、時間および／またはビット深度スケーラブル・システムなどのスケーラブル符号化システムも扱い、３Ｄ、マルチビュー、および同様のビデオ符号化システムなどのビデオ符号化システムと共に使用される。
【００３９】
実施形態は、ロバストなラグランジュ乗数選択技術に関する。実施形態は、人間の視覚系、または表示特性を考慮する品質メトリクスに少なくとも部分的に基づくレート歪最適化またはレート歪複雑度最適化を可能にし、これは、より単純なＳＡＤまたはＳＳＤメトリクスに少なくとも部分的に基づいても、基づかなくてもよい。実施形態はさらに、ウェーブレットに基づくビデオ符号化、またはビットプレーンに基づくビデオ符号化を採用するビデオ符号化システムと共に使用されてもよい。
【００４０】
［ラグランジュ乗数の推定および更新］
実施形態は、ビデオ情報源統計に少なくとも部分的に基づいて、ラグランジュ乗数の値を適応的に推定および更新することができるシステムに関する。例示の実施形態では、このプロセスは少なくとも２つのステップを伴うとよい。
【００４１】
図４Ａは、ラグランジュ最適化関数の例を推定および更新する例示のプロセス４００の流れ図である。プロセスは、入力ブロック（４１０）を使用し、１つ以上の方法によりラグランジュ乗数λを判断するオンライン・ラグランジュ乗数推定（４２０）を伴い、それにλを更新するラグランジュ乗数更新が続く。アクション４２０および／または４３０は、ビデオ・エンコーダの一部として実装されること、および／または、図１のビデオ・エンコーダにあるようなビデオ・エンコーダにより処理される機能を有することが可能である。いくつかの実施形態では、初期のラグランジュ乗数λが選択および使用されることが可能であり、次に後の領域それぞれに関して、コード化される領域の真のラグランジュ乗数λｔｒｕｅの推定値がある。初期のラグランジュ乗数λは、λｔｒｕｅの関数として更新されることが可能である。例えば精度、複雑度、符号化性能、効率など、いくつかのビデオ符号化特性および／または統計に少なくとも部分的に基づいてλを判断するために、１つ以上の例示の符号化アクションが繰り返されることが可能である（例えば反復する形で）。場合によっては、λは、こうしたビデオ符号化特性および／または統計に関して、各反復において改善することができる（例えば、何らかのメトリクスに従い、より良いまたは洗練された結果を提供することができる）。
【００４２】
本願明細書のいくつかの実施形態では、記載されている、λを判断するための解は、経験的に判断可能である（例えば、その完全判断とは対照的）。λを探索するシステム・リソースは、実験解により節約され得る。λは、ピクチャまたはピクチャ内の領域に関して判断および／または更新可能である。いくつかの実施形態では、λは、種々の符号化パラメータ（例えばＱＰ、フレーム・レート、解像度、符号化レイヤ）、符号化パラメータの関数（例えばＱＰ、フレーム・レート、解像度、符号化レイヤの関数）、または以前に符号化されたマクロブロックの符号化パラメータに関して生成および更新可能である。いくつかの例示の実施形態では、λを求める前にまず符号化パラメータが判断されることが可能であり、λは後に更新されることが可能である。
【００４３】
１つ以上の実施形態は、１つ以上のラグランジュ・コスト関数における複数の制約に関して、複数のラグランジュ乗数を推定および更新するとよい。制約は、数ある中でも特に、１つ以上の歪メトリクス、またはスケーラブル・ビデオ符号化における種々のレイヤ、マルチビューでの種々のビュー、３Ｄビデオ符号化、および／または種々の表示における１つ以上の品質要求を含み得る。１つ以上の実施形態が一度に１つのラグランジュ乗数を推定および更新し、一方で、他のラグランジュ乗数は一定であるとよい。当該のプロセスは、ラグランジュ乗数が一部または全部、推定および更新されるまで継続することができる。提案される技術はさらに、１つ以上のラグランジュ乗数を同時に推定および更新するために使用可能であり、その場合、推定および更新されるラグランジュ乗数は、ベクトルと見なされることが可能であり、ベクトル・パラメータ推定法が、ラグランジュ乗数を推定および更新するために使用可能である。
【００４４】
図４Ｂは、ラグランジュ乗数を推定および更新するシステム４０５を示す。このシステムは、ラグランジュ乗数を推定するラグランジュ乗数推定モジュール４２５と、推定されたラグランジュ乗数を使用して現在のラグランジュ乗数を更新するラグランジュ乗数更新モジュール４３５とを含む。推定モジュール４２５は、任意の数の技術を使用して乗数を推定するとよい。システム４０５は、以下に記載されている特性を有するとよい。例えば、オンライン・ラグランジュ乗数推定モジュール４３５は、レート歪最適化モード決定によるレート歪傾き推定（４２２）、局所近似によるレート歪傾き推定（４２４）、局所情報によるレート歪傾き推定（４２６）、および／または大域情報によるレート歪傾き推定（４２８）により機能するとよい。ラグランジュ乗数更新モジュール４３５は、乗数を更新するよう機能するとよい。例えば、ラグランジュ乗数更新モジュール４２５は、直接更新（４５０）、ステップ・サイズ更新（４５５）、スライディング・ウィンドウ更新（４６０）、および周期的更新（４６５）により機能するとよい。ラグランジュ乗数更新モジュール４２５は、こうした技術の組み合わせまたは一部組み合わせ（ｓｕｂ−ｃｏｍｂｉｎａｔｉｏｎ）により機能するとよい。
【００４５】
［オンライン・ラグランジュ乗数推定］
オンライン・ラグランジュ乗数推定（４２０）は、図４Ａ〜図４Ｂに示されているように機能するとよい。図５は、ラグランジュ最適化関数５００の例の図である。図５では、歪Ｄ３１５が、レートＲ３２０の関数として示されている。ラグランジュ・コスト関数の最小化が、ラグランジュ乗数の傾きを表す平面波により示されている。図５００内の種々の領域５５０、５５５、５６０が、所与の歪値およびレートに関して異なる符号化パラメータ（例えば、量子化パラメータ、ＱＰ、フレーム・レート、解像度、符号化レイヤ）により複数回符号化可能な情報を有する。
【数１６】
0005159955.tif 000018
ラグランジュ乗数が計算可能であり、これは、各レート歪曲線の傾きを表すとよい。量子化パラメータの代わりに、またはそれに加えて考慮され得るであろう他の符号化パラメータには、数ある中でも特に、動きベクトル、モード、量子化オフセット、または量子化閾値処理がある。ビットレートおよび歪の代わりに、またはそれに加えて、必要とされる／アクセスされるメモリ、キャッシュ・ミス、動作の数および／またはタイプ、ならびに電力消費などの複雑度メトリクスが考慮されてもよい。最適化に関する様々なコスト・メトリクスが考慮されることが可能である。こうしたコスト・メトリクスは、ビットレートの代わりに、またはそれに加えて、様々な歪および複雑度メトリクス、プライシングおよび利用モデル、またはその他の特性を含み得る。含まれるパラメータそれぞれに関して異なるラグランジュ乗数が考慮されてもよい。本願明細書のいくつかの実施形態では、ラグランジュ乗数を判断するために、複数の次元における（例えば２つ以上の次元における）レート歪曲線の傾きを考慮するとよい。本願明細書のいくつかの実施形態では、複数のラグランジュ乗数が、複数の歪および／または複雑度メトリクス、プライシングおよび利用モデル、または他の特性など、１つ以上の符号化メトリクスに関して考慮されることが可能である。
【００４６】
（ＤＱＰ，ＲＱＰ）と一致するラグランジュ乗数は、λｃｕｒｒｅｎｔ５２５である。λｃｕｒｒｅｎｔ（５２５）は、現在使用されているラグランジュ乗数を表し、最初は、例えば式１２を用いてセットされるとよい。このラグランジュ乗数は、次に限定されるものではないがブロック、マクロブロック、マクロブロックのセット、スライス、またはスライスのグループを含む任意の領域に対して使用可能である。
【００４７】
最適モードπが選択可能であり、結果として生じる歪およびレートは（ＤＱＰ，ＲＱＰ）と示される。λｃｕｒｒｅｎｔは、（ＤＱＰ，ＲＱＰ）におけるレート歪曲線の傾きを表すとよい。なお、実際のレート歪曲線において、λｃｕｒｒｅｎｔが、選択されたポイントにおける曲線の傾きであるという保証はない。図５に示されているように、レート歪曲線の傾きは、上記の式に示されているものなど、いくつかの要因に応じて変化する可能性がある。
【００４８】
実施形態では、（ＤＱＰ，ＲＱＰ）における真の傾きλｔｒｕｅが推定可能である。ラグランジュ乗数λｃｕｒｒｅｎｔは、真の傾きλｔｒｕｅまたは真の傾きλｔｒｕｅの関数に少なくとも部分的に基づいて更新可能である。例えば、λの初期値は、初期のＱＰ値に少なくとも部分的に基づいて判断されることが可能であり、ｃが計算された後（例えば式１２にあるように）、λの別の値が、マルチ・パス手法においてビデオ・イメージに関して判断されることが可能である。別の例では、領域内のブロックすべてに関して判断されたオプティマイザ値λのすべてを、関数において計算することができ（例えば、平均のλを計算するために）、マルチ・パス手法ではその情報（例えば平均のλ）に少なくとも部分的に基づいてフレームがコード化されることが可能である。別の例では、種々のＱＰまたは他の符号化パラメータに関するλの関係が判断されることが可能である。他の技術が、（ＤＱＰ，ＲＱＰ）におけるレート歪曲線上の真の傾きを推定するために使用されることが可能である。実施形態は、独立した形または共同した形で使用される、複数のレート歪傾き推定技術により機能し得る。
【００４９】
１）完全なレート歪最適化モード決定によるレート歪傾き推定
いくつかの実施形態では、（ＤＱＰ，ＲＱＰ）における真の傾きλｔｒｕｅ５３５が、その隣接したＱＰポイントのレートおよび歪値により推定可能である。例えば、図５は、ＱＰ、ＱＰ＋１、ＱＰ−１の歪およびレートを示す。いくつかの実施形態では、レートおよび歪値は、（ＤＱＰ＋ｌ，ＲＱＰ＋ｌ），ｌ＝−Ｍ，・・・，−１，１，・・・Ｎなど、様々なＱＰポイントを有することができ、ＭおよびＮは、事前選択または適応的選択されることが可能である。事前選択は、数ある中でも特に、利用可能な計算資源、スライスまたはピクチャ符号化タイプ、利用可能な参照およびその現在の符号化単位との関係を考慮しての判断に少なくとも部分的に基づくことができる。適応的選択は、数ある中でも特に、現在利用可能な計算資源、ならびに例えば隣接したマクロブロックの特性など、ビデオ・シーケンスおよび領域特性を考慮する判断に少なくとも部分的に基づくことができる。
【００５０】
いくつかの実施形態において、計算資源の利用可能性が非常に限られているエンコーダに関しては、小さな値のＭおよびＮを入れることができる。平面エリアに関する実施形態では、例えばＱＰの値が比較的小さければ、ＮをＭよりも大きくすることができる。平面エリアに関しては、領域のコード化にはあまり大きくないＱＰ値で十分なこともある。したがって、ＱＰ値をさらに小さくしても、結果として生じるレートおよび歪値には有意な差が得られないこともある。曲線上の隣接したポイントのレートおよび歪値は、当該ＱＰが同じエリアに適用されるレート歪最適化再コード化により得ることができる。いくつかの実施形態では、低複雑度符号化法がさらに考慮されてもよい（例えば、単一ブロック・サイズおよび参照、制約付き動き検出、低複雑度ＲＤＯ、低複雑度エントロピー符号化など）。図５では、影付きの円領域５５０、５５５、５６０はそれぞれ、完全なレート歪最適化モード決定を表すことができる。
【数１７】
0005159955.tif 000019
【００５１】
いくつかの実施形態では、図５に示されているように、（ＤＱＰ，ＲＱＰ）における階差の幾何平均を使用して傾きが推定可能である。例では、レートおよび歪の階差は、（ＤＱＰ，ＲＱＰ）において、各（ＤＱＰ＋ｌ，ＲＱＰ＋ｌ）に関し、次式として計算可能である。
【数１８】
0005159955.tif 000020
【００５２】
結果として生じる推定されたラグランジュ乗数は、次のように表現できる。
【数１９】
0005159955.tif 000021
【００５３】
図６は、レート歪最適化モード決定によるレート歪傾き推定６００の例の流れ図を示す。図６の例示の方法では、レートおよび歪値を、隣接したＱＰ（例えばＱＰ＋１、ＱＰ、ＱＰ−１）において推定可能である。選択されたブロックであるブロックＩ（６０５）に関して、隣接したＱＰのｌのループがあり、ｌ＝−Ｍ，・・・，−１，１，・・・Ｎであり（６１０）、初期のラグランジュ・コストＪ＊は、Ｊ＊＝ＭＡＸ＿ＶＡＬＵＥにセットされる（６１５）。
【数２０】
0005159955.tif 000022
0005159955.tif 000023
【００５４】
２）局所近似によるレート歪傾き推定
レート歪傾き推定は、局所近似により実行できる。こうした実施形態では、隣接したポイントの近似値が、複雑度の要件を緩和することができる。
【数２１】
0005159955.tif 000024
局所近似によるレート歪傾き推定に関するいくつかの実施形態は、低い計算複雑度および符号化時間を有し得る。
【００５５】
図７は、局所近似によるレート歪傾き推定７００の例の流れ図を示す。選択されたブロックであるブロックＩ（７１０）に関して、隣接したＱＰに関してｌのループがあり、ｌ＝−Ｍ，・・・，−１，１，・・・Ｎである（７１５）。
【数２２】
0005159955.tif 000025
こうした概念はさらに、複数のラグランジュ・パラメータにまで拡大されることが可能である。
【００５６】
３）局所情報によるレート歪傾き推定
いくつかの実施形態では、局所情報（例えばビデオ符号化特性および／または統計）が、ラグランジュ乗数を予測または推定するために使用可能である。より具体的には、ラグランジュ乗数は、
λｅｓｔｉｍａｔｅ＝ｆｌｏｃａｌ（Ｉｌｏｃａｌ）          （１６）
として推定されることが可能であり、式中、ｆｌｏｃａｌ（・）は局所推定法であり、Ｉｌｏｃａｌは局所情報である。当該の情報は、数ある中でも、分散、輝度要素の平均、彩度要素、推定される動き強度、テクスチャおよびエッジ情報、ならびに空間的および時間的に隣接したエリアの特性および更新されたラグランジュ乗数を含むことができる。スケーラブル符号化など、特定の符号化への適用の場合、この情報はさらに、品質、解像度、ベースおよび拡張レイヤの間の複雑度の差異、トーン・マッピング特性、ならびに深度の差異も同じく含み得る。
【００５７】
図８は、局所情報によるレート歪傾き推定８００の例の流れ図を示す。図８では、選択されたブロックであるブロックＩ（８１０）に関して、局所情報Ｉｌｏｃａｌが計算される（８１５）。その結果、ラグランジュ乗数を、ルックアップ・テーブル内でＱＰおよびＩｌｏｃａｌに少なくとも部分的に基づいて求めることができる（８２０）。
【００５８】
いくつかの実施形態では、ラグランジュ乗数は、次の通り、量子化パラメータおよびマクロブロックの分散に少なくとも部分的に基づいて推定されることができる。１つのエリアの分散σが計算されることが可能である。ＱＰパラメータを所与として、このエリアの最適なラグランジュ乗数が、完全なレート歪最適化モード決定によるレート歪傾き推定を使用する実施形態、または局所近似によるレート歪傾き推定を使用する実施形態に関して上述された方法により推定されることが可能である。（ＱＰ，σ）の各ペアに関して、対応する最適なラグランジュ乗数λ（ＱＰ，σ）が記録されることが可能である。十分に大きなセットのデータがλ（ＱＰ，σ）に関して記録されると、全変域が、Ｋ個のビンにより（Ｋ＋１）グループに配置されることが可能であり、σ１，σ２，・・・，σＫとそれぞれ示されており、ＱＰは、Ｌ個のビンにより（Ｌ＋１）グループに配置され、ＱＰ１，ＱＰ２，・・・，ＱＰｌとそれぞれ示されている。
【００５９】
図９は、符号化パラメータおよび局所情報を用いた例示のルックアップ・テーブル９００を示す図を示す。図９では、変域σ９０５が、Ｋ個のビンにより（Ｋ＋１）グループに配置され、σ１９１０、σ２９１３，・・・，σｋ９１５とそれぞれ示されており、ＱＰ９３０は、Ｌ個のビンにより（Ｌ＋１）グループに配置され、ＱＰ１９２０、ＱＰ２９２３，・・・，ＱＰｌ９２５とそれぞれ示されている。ルックアップ・テーブル内の、ＫおよびＬグループの例示のビンは、ビン９３５である。
【００６０】
ビンＫおよびＬの数は、一定とすることまたは適応的に変更されることが可能である。記録されたデータ・セットは、これらのビンにより、（Ｌ＋１）×（Ｋ＋１）のグループに配置されることが可能である。各グループに関して、平均ラグランジュ乗数を、
【数２３】
0005159955.tif 000026
として計算でき、ｍ＝１，・・・，Ｌ＋１、ｎ＝１，・・・，Ｋ＋１、ＱＰ０＝０、ＱＰＬ＋１＝＋∞、σ０＝０，σＫ＋１＝＋∞であり、ａｖｅｒａｇｅ｛｝は、集合内のすべてのλの平均を計算する。集合が空であれば、他の技術（例えば、エントロピー制約ベクトル量子化）に従い、ＱＰに基づいてデフォルト値を返すことができる。
【００６１】
すべてのグループの平均が計算された後、これらの結果は、ラグランジュ乗数のルックアップ・テーブルとして機能することができる。例えば、コード化される各エリアに関して、まず分散が計算され、次に、使用されるＱＰに従い対応するグループに割り当てられることが可能である。対応するラグランジュ乗数は、このエリアに関する推定されたラグランジュ乗数として使用可能である。いくつかの実施形態では、計算された後はラグランジュ乗数テーブルを一定とすること、種々のエリア、スライス、シーンに関してラグランジュ乗数テーブルを適応的に更新すること、および／または周期的にラグランジュ乗数テーブルを更新することができる。
【００６２】
４）大域情報によるレート歪傾き推定
いくつかの実施形態では、ラグランジュ乗数を予測または推定するために大域情報が使用可能である。
【００６３】
図１０は、大域情報によるレート歪傾き推定１０００の流れ図を示す。図１０では、選択されたブロックであるブロックＩ（１０１０）に関して、大域情報Ｉｇｌｏｂａｌが計算される（１０１５）。次に、ラグランジュ乗数が、ＱＰおよびＩｇｌｏｂａｌに少なくとも部分的に基づいてセットされる（１０２０）。
【００６４】
例えば、ラグランジュ乗数は、
λｅｓｔｉｍａｔｅ＝ｆｇｌｏｂａｌ（Ｉｇｌｏｂａｌ）          （１８）
とセットされることが可能であり、式中、ｆｇｌｏｂａｌ（・）は大域推定法であり、Ｉｇｌｏｂａｌは大域情報である。大域情報は、フレーム・レート、輝度および彩度分散、ＤＣ値、および／またはＤＣ値のヒストグラムなどの空間的特性、現在の符号化構造、および／またはメタデータ情報を含むことができる。例として、ラグランジュ乗数は、現在のグループ・オブ・ピクチャ（ＧＯＰ）内のその階層レベルに少なくとも部分的に基づいて推定されることが可能である。
【００６５】
図１１は、８つのピクチャの各グループに関して例示の階層予測構造１１００を備える、グループ・オブ・ピクチャを伴う図を示す。図１１は、アンカー・ピクチャ１１０５、１１１０およびピクチャの種々のレベル１１３０、１１２５、１１２０、１１１５（例えばレベル０、レベル１、レベル２、レベル３）を示す。ピクチャ１１７０〜ピクチャ１１７５のＧＯＰがある。
【００６６】
アンカー・ピクチャ１１０５、１１１０は、アンカー・ピクチャを動き補償予測のための参照として使用することによる、イントラ符号化またはインター符号化ピクチャのいずれかとすることができる。ＧＯＰの残りのピクチャ１１３２、１１３５、１１４０、１１４５、１１５０、１１５５は、図１１に示されているように、階層的に予測される。図１１に示されている階層的予測には、３つのレベル１１２５、１１２０、１１１５がある。第１のレベル（レベル１）１１２５として示される、中央にあるピクチャ１１４５は、アンカー・ピクチャ１１０５、１１１０のみから予測される。第２のレベル（レベル２）１１２０のピクチャ１１３５、１１５５は、アンカー・ピクチャ１１１０、１１０５および第１のレベルのピクチャ１１４５の両方から予測されることが可能である。第３のレベル（レベル３）１１１５のピクチャとして示されている残りのピクチャ１１３２、１１４０、１１５０、１１６０は、アンカー・ピクチャ１１０５、１１１０、ならびに第１のレベル１１２５および第２のレベル１１２０のピクチャから予測されることが可能である。アンカー・ピクチャのラグランジュ乗数は、λａｎｃｈｏｒと示すことができる。
【００６７】
人間の心理視覚系（例えば人間の目に関連する視覚）は主観的に、種々のレイヤに関し何らかの経時マスキング（ｔｅｍｐｏｒａｌ  ｍａｓｋｉｎｇ）を有する可能性がある。この経時マスキングの補償を行うために、より低いレベル（例えばレベル１）が、より高いレベル（例えばレベル３）よりも高品質となるよう、各レベル１１３０、１１２５、１１２０、１１１５が違うように符号化されてもよい。さらに、時間的特性（例えば動きの差）が、異なるレベルのピクチャに関して変化することがある。さらに、異なるＧＯＰおよびシーケンス（例えば高速度シーケンスまたは低速度シーケンス）が、特定の階層符号化構造向きであることもある。したがって、λは、数ある要因の中でも特に、こうした時間的特性、シーケンス、および／またはピクチャ間の符号化の差を考慮するよう調整および更新されることが可能である。
【００６８】
実施形態では、より高いレベルのピクチャ（例えばレベル３）に関する同じＱＰにおけるラグランジュ乗数の予測は、ラグランジュの式
λｋ＝（１−ｋ・ΔＧＯＰ）・λａｎｃｈｏｒ          （１９）
を含むことができ、式中、ｋは階層レベルの値であり、ΔＧＯＰは変化のステップ・サイズである。
【００６９】
実施形態では、同じＱＰポイントにおけるラグランジュ乗数をλａｎｃｈｏｒに少なくとも部分的に基づいて予測するとき、現在のピクチャからの距離ｄａｎｃｈｏｒは、その最も近いアンカー・ピクチャに関連することができる。この例は、
λｋ＝（ｄａｎｃｈｏｒ／ｄＧＯＰ）・λａｎｃｈｏｒ          （２０）
と表現でき、式中、ｄＧＯＰはＧＯＰのサイズであり、一例では８とすることができる。他のピクチャは、その最も近いアンカー・ピクチャまでの距離に少なくとも部分的に基づいて判断されるλを有することができる。
【００７０】
いくつかの実施形態は、以前の階層構造および現在の階層構造を使用して機能することができ、λは、過去および現在の階層構造の変換により判断可能である。実施形態では、種々のＱＰに関して種々のラグランジュ乗数があり得る。ラグランジュ乗数は、ルックアップ・テーブル内の結果に少なくとも部分的に基づいて更新されることが可能である。例えば、１つ以上のピクチャが、マルチ・パス手法において再符号化されることができ、１つ以上のピクチャは、最初は初期のラグランジュ乗数により符号化されることができ、ルックアップ・テーブルを使用して領域のフレーム全体が再符号化される。
【００７１】
［ラグランジュ乗数更新モジュールおよび技術］
推定されたラグランジュ乗数λｅｓｔｉｍａｔｅは、得られた後、ラグランジュ乗数更新（４３０）において、現在の（または初期の）ラグランジュ乗数λｃｕｒｒｅｎｔを更新するために使用可能である。ラグランジュ乗数更新モジュール（４３０；図４Ｂ）は、少なくとも４つの技術のうちの１つ以上により機能するとよい。図１２は、例示のラグランジュ乗数更新モジュール１２００のブロック図を示す。λは、ブロック、フレーム、領域などに関して更新される（例えば置き換えられる）ことが可能である。λを更新するラグランジュ乗数更新モジュールは、直接更新（１２５０）、ステップ・サイズ更新（１２５５）、スライディング・ウィンドウ更新（１２６０）、および周期的更新（１２６５）のうちの１つ以上により機能するとよい。
【００７２】
１）直接更新
この例示の技術（１２５０）では、現在のラグランジュ乗数λｃｕｒｒｅｎｔが、推定されたラグランジュ乗数λｅｓｔｉｍａｔｅにより置き換えられることが可能である。この方法では、現在のラグランジュ乗数自体が、推定された乗数（１２５２）により直接置き換えられる。
【００７３】
２）ステップ・サイズ更新
この例示技術（１２５５）では、ラグランジュ乗数は
λｎｅｗ＝λｃｕｒｒｅｎｔ＋Δ・（λｅｓｔｉｍａｔｅ−λｃｕｒｒｅｎｔ）          （２１）
として更新されることが可能であり、ステップ・サイズ０＜Δ＜１である（１２５９）。現在のラグランジュ乗数を更新するプロセスは、λｎｅｗを計算することを伴い、λｃｕｒｒｅｎｔは、現在のラグランジュ乗数を表し、λｎｅｗは、更新されたラグランジュ乗数を表し、Δは、プリセットまたは適応的に変更される値であり、λｅｓｔｉｍａｔｅは、ラグランジュ乗数の推定値を表す。
【００７４】
λがすべてのマクロブロックまたは他の領域にわたって過度に急激に変化するのを防ぐために、各更新ステップにおける最大変化が或る範囲内に限られるとよい。実施形態では、λは
λｎｅｗ＝λｃｕｒｒｅｎｔ＋Δ・λｃｕｒｒｅｎｔ・ｃｌｉｐ（ＭＡＸ＿Ｉｎｃ，ＭＡＸ＿Ｄｅｃ，（（λｅｓｔｉｍａｔｅ／λｃｕｒｒｅｎｔ）−１．０））          （２２）
として更新されることが可能であり、式中、ＭＡＸ＿ＩｎｃおよびＭＡＸ＿Ｄｅｃは、ｃｌｉｐ（）関数の上限および下限であり、あらかじめ定められること、または適応的に変更されることが可能である（１２５９）。例えば、ＭＡＸ＿ＩｎｃおよびＭＡＸ＿Ｄｅｃがそれぞれ０．１および−０．１となるようセットされると、ラグランジュ乗数は、０．１・Δ・λｃｕｒｒｅｎｔだけ増減されることが可能である。
【００７５】
１つ以上の実施形態では、λは、別のλによって置き換えられるまで、徐々に、段階的に減らされることが可能である。例えば、λｃｕｒｒｅｎｔが保持されて、現在のλが別のλ（例えば、推定された乗数λｅｓｔｉｍａｔｅ）により完全に置き換えられるところに進むまで、ステップまたはステップの一部分ごとにわずかに変更されることが可能である。したがって、別のλへの変更が適切となるまで（例えば、システムにノイズがあるとき）、ある期間にわたって同じλを使用することがビデオ用途に有益であると考えられる場合は、１つ以上の実施形態が利用され得る。
【００７６】
３）スライディング・ウィンドウ更新
この例示の技術（１２６０）では、ラグランジュ乗数が、推定される傾きの値と共に、以前のマクロブロックおよび現在のマクロブロック（または他の領域）におけるラグランジュ乗数の「スライディング・ウィンドウ」平均に少なくとも部分的に基づいて更新されることが可能である。複数のλを所与として別のλを判断するためのλのスライディング・ウィンドウを形成する、いくつかのλがあるとよい。
【００７７】
例えば、ラグランジュ乗数は、
λｎｅｗ＝ｆＳＷ（λ０，λ１，・・・，λｎ）          （２３）
としてセットされることが可能であり、式中、ｆｓｗ（・）は、現在および以前のラグランジュ乗数を考慮することができる任意のスライディング・ウィンドウ推定法であり、λ０＝λｅｓｔｉｍａｔｅ、λ１＝λｃｕｒｒｅｎｔおよびλｋ，ｋ＝２，・・・，Ｍは以前のマクロブロックまたは他の領域に関するラグランジュ乗数である（１２６７）。例えば、いくつかの実施形態では、ｆＳＷ（・）は、いくつかのラグランジュ乗数の平均の関数とすることができる。
【００７８】
４）周期的更新
この例示の方法（１２６５）では、ラグランジュ乗数は、上述の更新方法のうちのいずれかを使用して周期的に更新されることが可能である（例えば、直接更新１２５０、ステップ・サイズ更新１２５５、スライディング・ウィンドウ更新１２６０）（１２６９）。周期自体は、あらかじめ定められること、または動き強度もしくはシーン・カット情報などの局所コンテキストに従い適応的にセットされることが可能である。周期的更新は、特に類似した特性を有するエリアに関して、ビデオ・システムの低い計算複雑度をもたらすことができる。
【００７９】
例えば、ラグランジュ乗数は、各スライスの始まりのみに更新されてもよい。他の例は、まずシーン変化検出を実行し、シーン・カットが検出されるとラグランジュ乗数を更新することを伴ってもよい。そのような周期的更新は、ピクチャ内でも行われることが可能である。いくつかの実施形態では、エンコーダが、まず各マクロブロックの分散を計算し、隣り合ったマクロブロック間の分散の変化が特定の閾値を上回ったときにのみ、ラグランジュ乗数更新アルゴリズムが呼び出されてもよい。いくつかの実施形態では、特定の数の反復、周期、および／またはピクチャの領域に関してラグランジュ乗数の更新があり得る。
【００８０】
いくつかの実施形態では、ラグランジュ乗数は、任意の順序の上述の更新方法（例えば、直接更新、ステップ・サイズ更新、スライディング・ウィンドウ更新）を使用して周期的に更新されることが可能である。例えば順序は、無作為の順序、１つのタイプの更新から別のタイプの更新へという順序、または別々のタイプの更新を別々の周期に対して使用する順序とすることができる。例えば、直接更新１２５０は、第１の周期において使用され、ステップ・サイズ更新１２５５が第２の周期において使用され、スライディング・ウィンドウ更新１２６０が第３の周期において使用されることが可能である。
【００８１】
［例示システム］
図１３は、本願明細書に記載されているラグランジュの技術の任意のもの（または任意の組み合わせ）を採用することができるシステム図を示す。様々なビデオ符号化および／または表示構成要素が図１３に示されている。この技術は、１つ以上のコンピュータ１３０５Ａ、１３０５Ｂ上で使用されることが可能である。本願明細書の１つ以上の方法（例えばアルゴリズム、プロセス）が、コンピュータおよび／またはビデオ表示１３２０、伝送、処理および再生システムにより実装されること、またはそれにおいて採用されることが可能である。本願明細書に記載されるコンピュータは、汎用でも、またはワークステーションなど何らかの特定目的のコンピュータでもよく、任意の種類のコンピュータとしてよい。コンピュータ１３０５Ｂは、例えばＷｉｎｄｏｗｓ  ＸＰ（商標）、Ｖｉｓｔａ（商標）、もしくはＬｉｎｕｘを実行するインテルまたはＡＭＤに基づくコンピュータであっても、またはＭａｃｉｎｔｏｓｈ（商標）コンピュータであってもよい。実施形態は、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ：携帯情報端末）１３１５などのハンドヘルド・コンピュータ、携帯電話１３１０、またはラップトップ１３０５Ａにも関連し得る。コンピュータはさらに、イメージ記録または受信１３２５、１３３０、１３３５、処理、格納１３４０、およびデータ、特にビデオ・データの分配のための機械または機械の一部を指し得る。
【００８２】
本願明細書に記載されたモジュールの任意の組み合わせが、ビデオ・システムの一部であり得る（例えば、図１、２および１３に示されたビデオ・システムの一部）。いくつかの実施形態では、モジュールのいずれかが、図１の例示のビデオ・エンコーダにあるようなビデオ・エンコーダの一部であってもよい。モジュールの任意の組み合わせが、ハードウェアおよび／またはソフトウェアにおいて実装され得る。例えば、モジュールのいずれかが、コンピュータ・プログラムにより実装されてもよい。
【００８３】
コンピュータおよび／またはグラフィック・プログラムは、ＣもしくはＰｙｔｈｏｎ、もしくはＪａｖａ、Ｂｒｅｗ、またはその他任意のプログラミング言語で書かれるとよい。プログラムは、例えば磁気または光学、例えばコンピュータ・ハードドライブ、メモリ・スティックもしくはＳＤ媒体などのリムーバブル・ディスクまたは媒体、有線もしくは無線ネットワークに基づく、もしくはブルートゥースに基づく、もしくはその他のネットワーク接続ストレージ（ＮＡＳ：Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、またはその他の固定もしくはリムーバブル媒体などのストレージ媒体にあってもよい。さらに、プログラムの実行は、ネットワーク１３５０上で、例えばサーバまたは他の機械が通信をローカルの機械に送信し、これによりローカルの機械が本願明細書に記載の動作を実行できるようにすることによってもよい。ネットワークは、ストレージ・エリア・ネットワーク（ＳＡＮ：ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含んでもよい。
【００８４】
上記では、少数の実施形態のみを詳細に記載したが、他の実施形態も可能である。当然のことながら、本発明の実施形態は、本願明細書に記載の例示技術のうちの１つ以上の等価物および代用物を包含し得る。本明細書は、より一般的な目標を別の方法で達成するための具体的な例を記載する。当然のことながら、本記載は例示の実施形態を表すものであり、続く特許請求の範囲は、任意の均等物、変更、または代替手段を含むものとする。
【００８５】
主題の実施形態、および本明細書に記載された機能動作は、デジタル電子回路において、または本明細書で開示された構造およびその構造上の等価物を含むコンピュータ・ソフトウェア、ファームウェア、もしくはハードウェアにおいて、またはそのうちの１つ以上の組み合わせにおいて実装されることが可能である。本明細書に記載された主題の実施形態は、例えばデータ処理装置により実行されるよう、またはデータ処理装置の動作を制御するよう、コンピュータ可読媒体上にコード化されたコンピュータ・プログラム命令の１つ以上のモジュールなど、１つ以上のコンピュータ・プログラム製品として実装されることが可能である。コンピュータ可読媒体は、機械可読ストレージ・デバイス１３４０、機械可読ストレージ基板、メモリ・デバイス、機械可読な伝播・処理される通信をもたらす物質の構成、またはその１つ以上の組み合わせとすることができる。「データ処理装置」という用語は、データを処理するすべての装置、デバイスおよび機械を包含し、例として、プログラマブル・プロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む。装置は、ハードウェアに加えて、対象のコンピュータ・プログラムの実行環境を作り出すコード、例えばプロセッサ・ファームウェア、プロトコル・スタック、グラフィカル・システム、データベース管理システム、オペレーティング・システム、またはその１つ以上の組み合わせを構成するコードなどを含むことができる。
【００８６】
コンピュータ・プログラム（別称プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、またはコード）は、コンパイル型またはインタープリタ型言語を含む任意の形態のプログラミング言語で書かれることが可能であり、スタンドアロン・プログラムとして、またはモジュール、構成要素、サブルーチン、もしくはコンピューティング環境用に適した他の単位としてなど、任意の形態で展開されることが可能である。コンピュータ・プログラムは、必ずしもファイル・システム内のファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータを保持するファイルの一部（例えば、マークアップ言語ドキュメントに格納される１つ以上のスクリプト）、対象のプログラム専用の単一ファイル、または複数の連携ファイル（例えば１つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル）に格納可能である。コンピュータ・プログラムは、１つのコンピュータ上で、または１つの場所に位置するか、もしくは複数の場所に分散し通信ネットワークにより相互接続された複数のコンピュータ上で実行されるよう展開可能である。
【００８７】
本明細書に記載され示されたプロセスおよび論理フロー、ならびに図面は、入力データに作用し出力を生成することにより機能を実行する１つ以上のコンピュータ・プログラムを実行する１つ以上のプログラマブル・プロセッサにより実行されることが可能である。プロセスおよび論理フローはさらに、例えばＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ：フィールド・プログラマブル・ゲート・アレイ）もしくはマイクロコントローラなどの別のプログラマブル論理デバイス（ＰＬＤ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅ）、またはＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：特定用途向け集積回路）などの専用論理回路により実行されることが可能であり、装置はさらに、このような専用論理回路として実装されることができる。
【００８８】
コンピュータ・プログラムの実行に適したプロセッサは、例として、汎用および専用マイクロプロセッサの両方、ならびに任意の種類のデジタル・コンピュータの任意の１つ以上のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリもしくはランダム・アクセス・メモリまたは両方から命令およびデータを受け取ることができる。コンピュータの必須要素は、命令を実行するプロセッサ、ならびに命令およびデータを格納する１つ以上のメモリ・デバイスである。一般に、コンピュータはさらに、例えば磁気、光磁気ディスク、もしくは光ディスクなど、データを格納する１つ以上の大容量ストレージ・デバイスを含むこと、またはそれからデータを受け取るよう、もしくはそれへデータを転送するよう動作可能に結合されていること、または両方が可能である。なお、コンピュータはそのようなデバイスを有しなくてもよい。さらに、コンピュータは、ごく数例を挙げると、モバイル電話、携帯情報端末（ＰＤＡ）、モバイル・オーディオ・プレーヤ、衛星航法システム（ＧＰＳ：Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信機など、別のデバイスに組み込まれることが可能である。コンピュータ・プログラム命令およびデータを格納するのに適したコンピュータ可読媒体は、あらゆる形態の不揮発性メモリ、媒体およびメモリ・デバイスを含み、例として、例えばＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュ・メモリ・デバイスなどの半導体メモリ・デバイス、例えば内蔵ハードディスクまたはリムーバブル・ディスクどの磁気ディスク、光磁気ディスク、ならびにＣＤ  ＲＯＭおよびＤＶＤ−ＲＯＭディスクなどが含まれる。プロセッサおよびメモリは、専用論理回路により補完されること、またはそれに組み込まれることが可能である。ユーザとの対話を提供するために、本明細書に記載されている主題の一部の実施形態は、ユーザに情報を表示するための、例えばＣＲＴ（ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ：陰極線管）、ＬＣＤ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ：液晶表示装置）、もしくはプラズマ表示モニタなどの表示デバイス１３２０、ならびに、ユーザが入力をコンピュータに提供することができるキーボード、および例えばポインティング・デバイス、マウス、またはトラックボールなどのセレクタを有するコンピュータ上で実装されることができる。他の種類のデバイスも、ユーザとの対話を提供するために使用可能である。例えば、ユーザに提供されるフィードバックは、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、スピーチ、または触覚入力を含め、任意の形態で受け取られることが可能である。
【００８９】
本明細書に記載されている主題のいくつかの実施形態は、例えばデータ・サーバとしてなど、バックエンド構成要素を含むコンピューティング・システム、または、例えばアプリケーション・サーバなど、ミドルウェア構成要素を含むコンピューティング・システム、または、例えばユーザが本明細書に記載されている主題の実施形態と相互作用できるグラフィカル・ユーザ・インターフェースもしくはウェブ・ブラウザを有するクライアント・コンピュータなど、フロント・エンド構成要素を含むコンピューティング・システム、または１つ以上のそのようなバックエンド、ミドルウェア、もしくはフロント・エンド構成要素の任意の組み合わせにおいて実装されることが可能である。システムの構成要素は、例えば通信ネットワークなど、任意の形態または媒体のデジタル・データ通信によって相互接続可能である。通信ネットワークの例は、ローカル・エリア・ネットワーク（「ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）」）、および例えばインターネットなどの広域ネットワーク（「ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）」）を含む。
【００９０】
コンピューティング・システムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに遠隔にあり、典型的には通信ネットワークを介して対話する。クライアントおよびサーバの関係は、各コンピュータ上で実行され互いにクライアント−サーバ関係を有するコンピュータ・プログラムにより生じる。
【００９１】
本開示は多数の詳細事項を含むが、これらは、制限として、または請求対象となり得るものとして解釈されるべきではなく、むしろ本発明の特定の実施形態に特有の特徴の記載として解釈されるべきである。別々の実施形態との関連で本明細書に記載されている特定の特徴が、単一の実施形態において組み合わせて実装されることも可能である。逆に、単一の実施形態との関連で記載されている様々な特徴が、複数の実施形態で別々に、または任意の適切な一部組み合わせで実装されることも可能である。さらに、各特徴は、特定の組み合わせで動作するよう上記に記載されていることもあり、最初にそのように請求されていることもあるが、場合によっては、請求されている組み合わせの１つ以上の特徴が、その組み合わせから削除されることが可能であり、請求されている組み合わせは、一部組み合わせまたは一部組み合わせの変形物を対象とし得る。同じく、各動作は図面内に特定の順序で示されているが、これは、望ましい結果を達成するために、当該の動作が示されている特定の順序もしくは順次的な順序で実行されること、または示されているすべての動作が実行されることを要求するものと理解されてはならない。
【００９２】
特定の状況では、マルチタスクおよび並列処理が有利なこともある。さらに、上述の実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を要求するものと理解されてはならず、当然のことながら、記載されているプログラム構成要素およびシステムは、一般に、単一ソフトウェアもしくはハードウェア製品に統合されること、または複数のソフトウェアもしくはハードウェア製品にパッケージ化されることが可能である。
【００９３】
「アルゴリズム」という用語は、本願明細書に記載された結果を達成するためのステップ、方法、プロセス、スキーム、手順、動作、プログラム、指針、技術、シーケンス、および／またはルールもしくは命令のセットを指すことができる。例えば、アルゴリズムは、ハードウェアおよび／またはソフトウェア・ビデオ・プロセッサ用のビデ処理命令のセットとすることができる。開示されたアルゴリズムは、ビデオに関係することができ、ビデオ・データの処理、圧縮、格納、伝送、受信、テスト、キャリブレーション、表示、および／または任意の改善を任意の組み合わせで行う、ビデオ関係のシステムおよび／または任意のデバイス、機械、ハードウェア、および／または製品において生成、実装、関連付けおよび／または採用されることが可能である。
【００９４】
本願明細書に記載された技術およびシステムはさらに、オーディオ圧縮および処理など、他のマルチメディア用途における最適化にまで拡大可能である。本開示において提示されている様々なタイプのラグランジュ・コスト公式化の１つ以上の実施形態は、様々な表示、処理、および／または歪特性を考慮に入れることができる。
【００９５】
いくつかの実施形態では、１つ以上のビデオ表示に関する１つ以上のラグランジュ乗数の選択は、複雑度、および／またはモードのチャネルおよび／または歪メトリクスに基づき部分的または全体的に決定されることが可能である。本願明細書に記載されているように、方法およびシステムは、ビデオ圧縮におけるラグランジュ乗数を適応的に推定および更新することができる。ここに記載されている方法およびシステムは、ブロック・レベル、マクロブロック・レベル、スライス・レベル、シーケンスもしくはシーン・レベルなど、種々のレベルに、または種々のレベルの組み合わせに適用できる。提示されている本発明は、適応的ビデオ・エンコーダ制御にも適用可能であり、その場合、歪が１つ以上の歪メトリクスによって測定される。上記の推定および更新モジュールは、反復する形で適用可能であり、例えば、更新されたラグランジュ乗数は、第２のラグランジュ乗数推定モジュールにおける初期の予測因子としての機能を果たすことができる。当該のプロセスは、推定されるラグランジュ乗数が収束するまで、または所定の条件が満たされるまで継続することができる。
【００９６】
いくつかの実施形態では、１つ以上のラグランジュ乗数が１つ以上の符号化メトリクスに関して考慮されることが可能である。他の実施形態および／または本願明細書の実施形態の一部の組み合わせにおいて、並列して処理される動作があってもよく、並列処理される動作は、複数のラグランジュ乗数を伴うとよい。並列処理される動作の一部は、複数の次元における（例えば２つ以上の次元における）レート歪曲線の傾き（単数または複数）を考慮し得る。
【００９７】
本発明の実施形態は、以下に列挙される例示の実施形態のうちの１つ以上に関してもよい。
【００９８】
１．ビデオをコード化する方法であって、
ビデオ・エンコーダにより第１のラグランジュ乗数を判断することと、
第１のラグランジュ乗数により第２のラグランジュ乗数を更新することと、
を含む、方法。
【００９９】
３．符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、もしくはフレームの特性を含み、特性は、テクスチャおよび輝度を含む、列挙されている例示の実施形態２の方法。
【０１００】
４．ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含み、ラグランジュ乗数推定モジュールは、第１のラグランジュ乗数を生成するダイナミック・プログラミングを含み、第１のラグランジュ乗数は、レート歪関数の少なくとも１つの符号化パラメータに関してレート歪傾きを計算することを含む、列挙されている例示の実施形態１の方法。
【０１０１】
５．符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態４の方法。
【０１０２】
６．該方法は、ＤＣＴに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化、またはビット・プレーン・ビデオ符号化を含む、列挙されている例示の実施形態１の方法。
【０１０３】
７．第１のラグランジュ乗数は、ビデオ表示に関連する１つ以上の特性に少なくとも部分的に基づいて生成される、列挙されている例示の実施形態１の方法。
【０１０４】
８．第１のラグランジュ乗数は、少なくとも１つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断され、該少なくとも１つのビデオ符号化特性またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、または局所情報もしくは大域情報を含む、列挙されている例示の実施形態１の方法。
【０１０５】
９．第１のラグランジュ乗数を判断することは、１つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも１つのビデオ符号化特性またはビデオ符号化統計の関数として第１のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態８の方法。
【０１０６】
１０．第１のラグランジュ乗数を判断することは、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第１のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態１の方法。
【０１０７】
１１．種々の符号化パラメータはそれぞれ、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、または１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のいずれかを含む、列挙されている例示の実施形態１０の方法。
【０１０８】
１２．第１のラグランジュ乗数を判断することは、少なくとも１つの符号化パラメータに関してレート歪曲線の傾きの推定値を生成することを含み、第１のラグランジュ乗数により第２のラグランジュ乗数を更新することは、第２のラグランジュ乗数を推定値により置き換えることを含み、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１の方法。
【０１０９】
１３．ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用して、第３のラグランジュ乗数を判断することと、
第１のラグランジュ乗数を第３のラグランジュ乗数により置き換えることにより、第１のラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態１の方法。
【０１１０】
１４．ピクチャの複数のマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算することと、
すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化することと、
をさらに含む、列挙されている例示の実施形態１の方法。
【０１１１】
１５．第１のラグランジュ乗数を判断することは、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第１のラグランジュ乗数を推定することを含む、列挙されている例示の実施形態１の方法。
【０１１２】
１６．符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１５の方法。
【０１１３】
１７．レートおよび歪値は、複数のＱＰポイントを含み、複数のＱＰポイントの歪およびレート値は、（ＤＱＰ＋ｌ，ＲＱＰ＋ｌ）を含み、ＤＱＰ＋ｌは、ＱＰ＋ｌにおける歪値を表し、ＲＱＰ＋ｌは、ＱＰ＋ｌにおけるレート値を表し、ｌ、ＭおよびＮは、ＱＰポイントの数値を表し、ｌは−Ｍ，・・・，−１，１，・・・Ｎを含み、ＭおよびＮは、事前選択または適応的選択される、列挙されている例示の実施形態１６の方法。
【０１１４】
１８．事前選択は、利用可能な計算資源に少なくとも部分的に基づき、適応的選択は、利用可能な計算資源、またはビデオ・シーケンス特性、または領域特性に少なくとも部分的に基づき、領域特性は、１つ以上のマクロブロックの特性を含む、列挙されている例示の実施形態１７の方法。
【０１１５】
１９．本方法は、各ＱＰポイントに関して、
全体的なラグランジュ・コスト関数が最小化されるモードを判断することと、
【数２４】
0005159955.tif 000027
をさらに含む、列挙されている例示の実施形態１８の方法。
【０１１６】
２０．１階微分推定法は、（ＤＱＰ，ＲＱＰ）における階差の幾何平均を含む、列挙されている例示の実施形態１９の方法。
【０１１７】
２１．推定される第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、
【数２５】
0005159955.tif 000028
0005159955.tif 000029
列挙されている例示の実施形態１８の方法。
【０１１８】
２２．推定される第１のラグランジュ乗数は、歪およびレート値を判断するための、１つ以上の候補モードに関する複数のラグランジュ・コストの比較を含む、列挙されている例示の実施形態２１の方法。
【０１１９】
２３．本方法は、各ＱＰポイントに関して、全体的なラグランジュ・コスト関数が最小化されるモードを探索することをさらに含む、列挙されている例示の実施形態１８の方法。
【０１２０】
２４．第１のラグランジュ乗数を判断することは、局所近似によりレート歪傾き推定を実行することを含む、列挙されている例示の実施形態１の方法。
【０１２１】
２５．局所近似によりレート歪傾き推定を実行することは、
現在のラグランジュ乗数λｃｕｒｒｅｎｔを用いる現在の符号化パラメータに関して、全体的なラグランジュ・コスト関数が最小化されるモードπ＊を判断することと、
【数２６】
0005159955.tif 000030
（ＤＱＰ，ＲＱＰ）における曲線の傾きを、１階微分推定法を使用して推定することであって、ＤＱＰは、ＱＰにおける歪値を表し、ＲＱＰは、ＱＰにおけるレート値を表し、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、該推定することと、
を含む、列挙されている例示の実施形態２４の方法。
【０１２２】
２６．１階微分推定法は、（ＤＱＰ，ＲＱＰ）における階差の幾何平均を含む、列挙されている例示の実施形態２５の方法。
【０１２３】
２７．推定される第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、
【数２７】
0005159955.tif 000031
列挙されている例示の実施形態２５の方法。
【０１２４】
２８．
【数２８】
0005159955.tif 000032
0005159955.tif 000033
を含む、列挙されている例示の実施形態２５の方法。
【０１２５】
２９．第１のラグランジュ乗数を判断することは、第１のラグランジュ乗数を推定するために局所情報を使用することを含む、列挙されている例示の実施形態１の方法。
【０１２６】
３０．局所情報は、分散、輝度要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、または領域もしくはマクロブロックの空間的もしくは時間的に隣接したエリアの特性もしくはラグランジュ乗数を含み、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態２９の方法。
【０１２７】
３１．第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、第１のラグランジュ乗数を判断することは、λｅｓｔｉｍａｔｅを算出することを含み、λｅｓｔｉｍａｔｅは、局所情報Ｉｌｏｃａｌに関する局所推定法ｆｌｏｃａｌ（・）の関数であり、λｅｓｔｉｍａｔｅ＝ｆｌｏｃａｌ（Ｉｌｏｃａｌ）である、列挙されている例示の実施形態３０の方法。
【０１２８】
３２．第１のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、
計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第１のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態３０の方法。
【０１２９】
３３．第１のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態３２の方法。
【０１３０】
３４．第１のラグランジュ乗数を判断することは、ラグランジュ乗数ルックアップ・テーブルを生成することを含み、ラグランジュ乗数ルックアップ・テーブルの生成は、
エリアに関して複数の分散を計算することと、
複数の量子化パラメータ（ＱＰ）に関して複数のラグランジュ乗数を推定することと、
Ｋ個のビンにより（Ｋ＋１）グループに複数の分散を配置することと、
Ｌ個のビンにより複数グループに複数のＱＰを配置することと、
Ｋ個およびＬ個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算することと、
平均ラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブル内に記録することと、
を含む、列挙されている例示の実施形態３０の方法。
【０１３１】
３５．２つ以上のエリア、スライス、またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新することさらに含む、列挙されている例示の実施形態３４の方法。
【０１３２】
３６．第１のラグランジュ乗数を推定するために、大域情報を使用することをさらに含み、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１の方法。
【０１３３】
３７．大域情報は、フレーム・レート、空間的特性、輝度もしくは彩度の分散、ＤＣ値、ＤＣ値のヒストグラム、現在の符号化構造、メタデータ情報、または現在のグループ・オブ・ピクチャ（ＧＯＰ）内の階層レベルを含む、列挙されている例示の実施形態３６の方法。
【０１３４】
３８．第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、第１のラグランジュ乗数を判断することは、λｅｓｔｉｍａｔｅを算出することを含み、λｅｓｔｉｍａｔｅは、大域情報Ｉｇｌｏｂａｌに関する大域推定法ｆｇｌｏｂａｌ（・）の関数であり、λｅｓｔｉｍａｔｅ＝ｆｇｌｏｂａｌ（Ｉｇｌｏｂａｌ）である、列挙されている例示の実施形態３６の方法。
【０１３５】
３９．第１のラグランジュ乗数は、
大域情報を計算することと、
計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第１のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態３６の方法。
【０１３６】
４０．計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第１のラグランジュ乗数を判断することは、時間的特性、シーケンス、またはピクチャ間もしくは領域間の符号化の差に少なくとも部分的に基づいて、第１のラグランジュ乗数を調整することを含む、列挙されている例示の実施形態３９の方法。
【０１３７】
４１．第１のラグランジュ乗数を判断することは、符号化パラメータと、ピクチャの階層レベルとの関数を含み、第１のラグランジュ乗数はλｋである、列挙されている例示の実施形態３６の方法。
【０１３８】
４２．第１のラグランジュ乗数を判断することは、
階層レベル、グループ・オブ・ピクチャ（ＧＯＰ）のピクチャ間の変化のステップ・サイズ、およびＧＯＰのアンカー・ピクチャの関数として第１のラグランジュ乗数λｋをセットすることであって、ｋは階層レベルを表し、ΔＧＯＰはＧＯＰのピクチャ間の変化のステップ・サイズを表し、λａｎｃｈｏｒはＧＯＰのアンカー・ピクチャを表し、λｋ＝（１−ｋ・ΔＧＯＰ）・λａｎｃｈｏｒである、該セットすることと、
第１のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態４１の方法。
【０１３９】
４３．第１のラグランジュ乗数を判断することは、
アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とＧＯＰ内の距離との比の関数として第１のラグランジュ乗数λｋをセットすることであって、ｋは階層レベルを表し、λａｎｃｈｏｒはＧＯＰのアンカー・ピクチャのラグランジュ乗数を表し、ｄａｎｃｈｏｒはアンカー・ピクチャの距離を表し、ｄＧＯＰはＧＯＰ内の距離を表し、λｋ＝（ｄａｎｃｈｏｒ／ｄＧＯＰ）・λａｎｃｈｏｒである、該セットすることと、
第１のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態４１の方法。
【０１４０】
４４．第１のラグランジュ乗数を判断することは、アンカー・ピクチャまでの距離に少なくとも部分的に基づいて、グループ・オブ・ピクチャ（ＧＯＰ）の１つ以上のピクチャに関してラグランジュ乗数を判断することをさらに含む、列挙されている例示の実施形態４１の方法。
【０１４１】
４５．第１のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態４１の方法。
【０１４２】
４６．ラグランジュ乗数ルックアップ・テーブルは、複数の符号化パラメータに少なくとも部分的に基づいている、列挙されている例示の実施形態４５の方法。
【０１４３】
４７．ラグランジュ乗数ルックアップ・テーブル内の複数のラグランジュ乗数に少なくとも部分的に基づいて、第１のラグランジュ乗数を更新することをさらに含む、列挙されている例示の実施形態４５の方法。
【０１４４】
４８．第１のラグランジュ乗数を判断することは、グループ・オブ・ピクチャ（ＧＯＰ）の以前の階層構造を、ＧＯＰの後の階層構造を用いて変換する関数をさらに含む、列挙されている例示の実施形態４１の方法。
【０１４５】
４９．第１のラグランジュ乗数により第２のラグランジュ乗数を更新することは、
ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第１のラグランジュ乗数を推定することと、
第２のラグランジュ乗数を第１のラグランジュ乗数により置き換えることと、
を含む、列挙されている例示の実施形態１の方法。
【０１４６】
５０．第２のラグランジュ乗数を更新することは、一連のラグランジュ・ステップの中で第２のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第２のラグランジュ乗数を第１のラグランジュ乗数に変更することを含む、列挙されている例示の実施形態１の方法。
【０１４７】
５１．第２のラグランジュ乗数を更新することは、第１のラグランジュ乗数λｅｓｔｉｍａｔｅと、第２のラグランジュ乗数λｃｕｒｒｅｎｔとの関数である更新された第２のラグランジュ乗数λｎｅｗを計算することを含み、λｎｅｗ＝λｃｕｒｒｅｎｔ＋Δ・（λｅｓｔｉｍａｔｅ−λｃｕｒｒｅｎｔ）であり、Δは、プリセットされる、または適応的に変更される値を含み、０＜Δ＜１である、列挙されている例示の実施形態５０の方法。
【０１４８】
５２．第２のラグランジュ乗数を更新することは、第２のラグランジュ乗数の更新に対し上限または下限をセットすることにより、第２のラグランジュ乗数の更新の大きさに対し限度を設けることを含む、列挙されている例示の実施形態５０の方法。
【０１４９】
５３．第２のラグランジュ乗数を更新することは、
１つ以上の以前のマクロブロックおよび現在のマクロブロックにおける複数のラグランジュ乗数のスライディング・ウィンドウ平均を計算すること
を含む、列挙されている例示の実施形態１の方法。
【０１５０】
５４．該方法は、
複数のラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択することと、
スライディング・ウィンドウの平均の関数として第２のラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態５３の方法。
【０１５１】
５５．第１のラグランジュ乗数により第２のラグランジュ乗数を更新することは、周期的に第２のラグランジュ乗数を更新することを含み、更新の周期は、一定周期、または適応的に変化する周期を含む、列挙されている例示の実施形態１の方法。
【０１５２】
５６．周期は、局所コンテキストに依存し、局所コンテキストは、動き強度またはシーン・カット情報を含む、列挙されている例示の実施形態５５の方法。
【０１５３】
５７．第２のラグランジュ乗数は、スライスの始まりに更新される、列挙されている例示の実施形態５５の方法。
【０１５４】
５８．第２のラグランジュ乗数は、シーン・カットが検出されると更新される、列挙されている例示の実施形態５５の方法。
【０１５５】
５９．第２のラグランジュ乗数を更新することは、
ビデオ・エンコーダにより少なくとも２つのマクロブロックの分散を計算することと、
２つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第２のラグランジュ乗数を更新することと、
を含む、列挙されている例示の実施形態５５の方法。
【０１５６】
６０．第２のラグランジュ乗数を更新することは、いくつかの周期、ピクチャ、またはピクチャの領域に関して第２のラグランジュ乗数を更新することを含む、列挙されている例示の実施形態５５の方法。
【０１５７】
６１．第２のラグランジュ乗数を更新することは、無作為の順序または一定順序で、第２のラグランジュ乗数の種々のタイプの更新を実行することを含み、種々のタイプの更新は、直接更新、ステップ・サイズ更新、およびスライディング・ウィンドウ更新を含む、列挙されている例示の実施形態５５の方法。
【０１５８】
６２．第１のラグランジュ乗数により第２のラグランジュ乗数を更新することは、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することを含み、該方法は、第２のラグランジュ乗数を使用してビデオの領域を符号化することをさらに含む、列挙されている例示の実施形態１の方法。
【０１５９】
６３．第１のラグランジュ乗数を判断することは、複数の歪メトリクスを計算することを含む、列挙されている例示の実施形態１の方法。
【０１６０】
６４．ビデオ・エンコーダにより第１のグループのラグランジュ乗数を判断することと、
第１のグループのラグランジュ乗数により第２のグループのラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態１の方法。
【０１６１】
６５．第１のグループのラグランジュ乗数の判断において、複数の歪制約が採用される、列挙されている例示の実施形態６４の方法。
【０１６２】
６６．第１のグループのラグランジュ乗数を判断することは、２つ以上の次元および１つ以上の符号化パラメータによりレート歪傾きを計算することを含み、該１つ以上の符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態６４の方法。
【０１６３】
６６．第１のグループのラグランジュ乗数を判断することは、２つ以上の次元および１つ以上の符号化パラメータによりレート歪傾きを計算することを含み、該１つ以上の符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態の方法。
【０１６４】
６８．第１のラグランジュ乗数を、少なくとも１つの他の符号化特徴との依存関係に少なくとも部分的に基づいて判断する命令をさらに含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１６５】
６９．符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、もしくはフレームの特性を含み、特性は、テクスチャおよび輝度を含む、列挙されている例示の実施形態６８のコンピュータ・プログラム製品。
【０１６６】
７０．ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含み、ラグランジュ乗数推定モジュールは、第１のラグランジュ乗数を生成するダイナミック・プログラミングを含み、第１のラグランジュ乗数は、レート歪関数の少なくとも１つの符号化パラメータに関してレート歪傾きを計算することを含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１６７】
７１．符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態７０のコンピュータ・プログラム製品。
【０１６８】
７２．ＤＣＴに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化動作、またはビット・プレーン・ビデオ符号化動作の命令をさらに含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１６９】
７３．第１のラグランジュ乗数は、ビデオ表示に関連する１つ以上の特性に少なくとも部分的に基づく命令により生成される、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１７０】
７４．第１のラグランジュ乗数を、少なくとも１つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断する命令をさらに含み、該少なくとも１つのビデオ符号化特性またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、または局所情報もしくは大域情報を含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１７１】
７５．第１のラグランジュ乗数を判断する命令は、１つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも１つのビデオ符号化特性またはビデオ符号化統計の関数として第１のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態７４のコンピュータ・プログラム製品。
【０１７２】
７６．第１のラグランジュ乗数を判断する命令は、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第１のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１７３】
７７．種々の符号化パラメータはそれぞれ、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、または１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちのいずれかを含む、列挙されている例示の実施形態７６のコンピュータ・プログラム製品。
【０１７４】
７８．第１のラグランジュ乗数を判断することは、少なくとも１つの符号化パラメータに関してレート歪曲線の傾きの推定値を生成することを含み、第１のラグランジュ乗数により第２のラグランジュ乗数を更新することは、第２のラグランジュ乗数を推定値により置き換えることを含み、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１７５】
７９．ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用して、第３のラグランジュ乗数を判断すること、および
第１のラグランジュ乗数を第３のラグランジュ乗数により置き換えることにより、第１のラグランジュ乗数を更新すること
の命令をさらに含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１７６】
８０．ピクチャの複数のマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算すること、および
すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化すること
の命令をさらに含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１７７】
８１．第１のラグランジュ乗数を判断する命令は、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第１のラグランジュ乗数を推定することを含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１７８】
８２．符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態８１のコンピュータ・プログラム製品。
【０１７９】
８３．レートおよび歪値は、複数のＱＰポイントを含み、複数のＱＰポイントの歪およびレート値は、（ＤＱＰ＋ｌ，ＲＱＰ＋ｌ）を含み、ＤＱＰ＋ｌは、ＱＰ＋ｌにおける歪値を表し、ＲＱＰ＋ｌは、ＱＰ＋ｌにおけるレート値を表し、ｌ、ＭおよびＮは、ＱＰポイントの数値を表し、ｌは−Ｍ，・・・，−１，１，・・・Ｎを含み、ＭおよびＮは、１つ以上の動作において事前選択または適応的選択される、列挙されている例示の実施形態８２のコンピュータ・プログラム製品。
【０１８０】
８４．利用可能な計算資源に事前選択が少なくとも部分的に基づくための命令をさらに含み、利用可能な計算資源、またはビデオ・シーケンス特性、または領域特性に適応的選択が少なくとも部分的に基づくための命令をさらに含み、領域特性は、１つ以上のマクロブロックの特性を含む、列挙されている例示の実施形態８３のコンピュータ・プログラム製品。
【０１８１】
８５．各ＱＰポイントに関して、データ処理装置にビデオ符号化動作を実行させる命令をさらに含み、該ビデオ符号化動作は、
全体的なラグランジュ・コスト関数が最小化されるモードを判断することと、
【数２９】
0005159955.tif 000034
を含む、列挙されている例示の実施形態８４のコンピュータ・プログラム製品。
【０１８２】
８６．１階微分推定法は、（ＤＱＰ，ＲＱＰ）における階差の幾何平均を含む、列挙されている例示の実施形態８５のコンピュータ・プログラム製品。
【０１８３】
８７．推定される第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、
【数３０】
0005159955.tif 000035
列挙されている例示の実施形態８４のコンピュータ・プログラム製品。
【０１８４】
８８．推定される第１のラグランジュ乗数は、歪およびレート値を判断するための、１つ以上の候補モードに関する複数のラグランジュ・コストの比較を含む、列挙されている例示の実施形態８７のコンピュータ・プログラム製品。
【０１８５】
８９．各ＱＰポイントに関して、全体的なラグランジュ・コスト関数が最小化されるモードを探索する命令をさらに含む、列挙されている例示の実施形態８４のコンピュータ・プログラム製品。
【０１８６】
９０．第１のラグランジュ乗数を判断する命令は、局所近似によりレート歪傾き推定を実行することを含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１８７】
９１．局所近似によりレート歪傾き推定を実行する命令は、
現在のラグランジュ乗数λｃｕｒｒｅｎｔを用いる現在の符号化パラメータに関して、全体的なラグランジュ・コスト関数が最小化されるモードπ＊を判断することと、
ｌに関する歪およびレート値
【数３１】
0005159955.tif 000036
0005159955.tif 000037
（ＤＱＰ，ＲＱＰ）における曲線の傾きを、１階微分推定法の命令を使用して推定することであって、ＤＱＰは、ＱＰにおける歪値を表し、ＲＱＰは、ＱＰにおけるレート値を表し、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、該推定することと、
を含む、列挙されている例示の実施形態９０のコンピュータ・プログラム製品。
【０１８８】
９２．１階微分推定法の命令は、（ＤＱＰ，ＲＱＰ）における階差の幾何平均を計算することを含む、列挙されている例示の実施形態９１のコンピュータ・プログラム製品。
【０１８９】
９３．推定される第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、
【数３２】
0005159955.tif 000038
列挙されている例示の実施形態９１のコンピュータ・プログラム製品。
【０１９０】
９４．
【数３３】
0005159955.tif 000039
列挙されている例示の実施形態９１のコンピュータ・プログラム製品。
【０１９１】
９５．第１のラグランジュ乗数を推定するために局所情報を使用する命令をさらに含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１９２】
９６．局所情報は、分散、輝度要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、または領域もしくはマクロブロックの空間的もしくは時間的に隣接したエリアの特性もしくはラグランジュ乗数を含み、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態９５のコンピュータ・プログラム製品。
【０１９３】
９７．第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、第１のラグランジュ乗数を判断することは、λｅｓｔｉｍａｔｅを算出する命令を含み、λｅｓｔｉｍａｔｅは、局所情報Ｉｌｏｃａｌに関する局所推定法ｆｌｏｃａｌ（・）の関数であり、λｅｓｔｉｍａｔｅ＝ｆｌｏｃａｌ（Ｉｌｏｃａｌ）である、列挙されている例示の実施形態９６のコンピュータ・プログラム製品。
【０１９４】
９８．命令は、
第１のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、
計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第１のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態９６のコンピュータ・プログラム製品。
【０１９５】
９９．第１のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態９８のコンピュータ・プログラム製品。
【０１９６】
１００．第１のラグランジュ乗数を判断する命令は、ラグランジュ乗数ルックアップ・テーブルを生成することを含み、ラグランジュ乗数ルックアップ・テーブルの生成は、
エリアに関して複数の分散を計算することと、
複数の量子化パラメータ（ＱＰ）に関して複数のラグランジュ乗数を推定することと、
Ｋ個のビンにより（Ｋ＋１）グループに複数の分散を配置することと、
Ｌ個のビンにより複数グループに複数のＱＰを配置することと、
Ｋ個およびＬ個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算することと、
平均ラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブル内に記録することと、
を含む、列挙されている例示の実施形態９６のコンピュータ・プログラム製品。
【０１９７】
１０１．２つ以上のエリア、スライス、またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新する命令をさらに含む、列挙されている例示の実施形態１００のコンピュータ・プログラム製品。
【０１９８】
１０２．第１のラグランジュ乗数を推定するために、大域情報を使用することをさらに含み、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０１９９】
１０３．大域情報は、フレーム・レート、空間的特徴、輝度もしくは彩度の分散、ＤＣ値、ＤＣ値のヒストグラム、現在の符号化構造、メタデータ情報、または現在のグループ・オブ・ピクチャ（ＧＯＰ）内の階層レベルを含む、列挙されている例示の実施形態１０２のコンピュータ・プログラム製品。
【０２００】
１０４．第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、第１のラグランジュ乗数を判断する命令は、λｅｓｔｉｍａｔｅを算出することを含み、λｅｓｔｉｍａｔｅは、大域情報Ｉｇｌｏｂａｌに関する大域推定法ｆｇｌｏｂａｌ（・）の関数であり、λｅｓｔｉｍａｔｅ＝ｆｇｌｏｂａｌ（Ｉｇｌｏｂａｌ）である、列挙されている例示の実施形態１０２のコンピュータ・プログラム製品。
【０２０１】
１０５．第１のラグランジュ乗数に関連する命令は、
大域情報を計算することと、
計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第１のラグランジュ乗数を判断することと、
をさらに含む、列挙されている例示の実施形態１０２のコンピュータ・プログラム製品。
【０２０２】
１０６．計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第１のラグランジュ乗数を判断することは、時間的特性、シーケンス、またはピクチャ間または領域間の符号化の差に少なくとも部分的に基づいて、第１のラグランジュ乗数を調整する命令を含む、列挙されている例示の実施形態１０５のコンピュータ・プログラム製品。
【０２０３】
１０７．第１のラグランジュ乗数を判断する命令は、符号化パラメータと、ピクチャの階層レベルとの関数を含み、第１のラグランジュ乗数はλｋである、列挙されている例示の実施形態１０２のコンピュータ・プログラム製品。
【０２０４】
１０８．第１のラグランジュ乗数を判断することは、
階層レベル、グループ・オブ・ピクチャ（ＧＯＰ）のピクチャ間の変化のステップ・サイズ、およびＧＯＰのアンカー・ピクチャの関数として第１のラグランジュ乗数λｋをセットすることであって、ｋは階層レベルを表し、ΔＧＯＰはＧＯＰのピクチャ間の変化のステップ・サイズを表し、λａｎｃｈｏｒはＧＯＰのアンカー・ピクチャを表し、λｋ＝（１−ｋ・ΔＧＯＰ）・λａｎｃｈｏｒである、該セットすることと、
第１のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態１０７のコンピュータ・プログラム製品。
【０２０５】
１０９．第１のラグランジュ乗数を判断する命令は、
アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とＧＯＰ内の距離との比の関数として第１のラグランジュ乗数λｋをセットすることであって、ｋは階層レベルを表し、λａｎｃｈｏｒはＧＯＰのアンカー・ピクチャのラグランジュ乗数を表し、ｄａｎｃｈｏｒはアンカー・ピクチャの距離を表し、ｄＧＯＰはＧＯＰ内の距離を表し、λｋ＝（ｄａｎｃｈｏｒ／ｄＧＯＰ）・λａｎｃｈｏｒである、該セットすることと、
第１のラグランジュ乗数を計算することと、
をさらに含む、列挙されている例示の実施形態１０７のコンピュータ・プログラム製品。
【０２０６】
１１０．第１のラグランジュ乗数を判断する命令は、アンカー・ピクチャまでの距離に少なくとも部分的に基づいて、グループ・オブ・ピクチャ（ＧＯＰ）の１つ以上のピクチャに関してラグランジュ乗数を判断する命令をさらに含む、列挙されている例示の実施形態１０７のコンピュータ・プログラム製品。
【０２０７】
１１１．第１のラグランジュ乗数は、ラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態１０７のコンピュータ・プログラム製品。
【０２０８】
１１２．ラグランジュ乗数ルックアップ・テーブルは、複数の符号化パラメータに少なくとも部分的に基づいている、列挙されている例示の実施形態１１１のコンピュータ・プログラム製品。
【０２０９】
１１３．ラグランジュ乗数ルックアップ・テーブル内の複数のラグランジュ乗数に少なくとも部分的に基づいて、第１のラグランジュ乗数を更新する命令をさらに含む、列挙されている例示の実施形態１１１のコンピュータ・プログラム製品。
【０２１０】
１１４．第１のラグランジュ乗数を判断する命令は、グループ・オブ・ピクチャ（ＧＯＰ）の以前の階層構造を、ＧＯＰの後の階層構造を用いて変換する関数をさらに含む、列挙されている例示の実施形態１０７のコンピュータ・プログラム製品。
【０２１１】
１１５．第１のラグランジュ乗数により第２のラグランジュ乗数を更新する命令は、
ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第１のラグランジュ乗数を推定することと、
第２のラグランジュ乗数を第１のラグランジュ乗数により置き換えることと、
を含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０２１２】
１１６．第２のラグランジュ乗数を更新する命令は、一連のラグランジュ・ステップの中で第２のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第２のラグランジュ乗数を第１のラグランジュ乗数に変更する命令を含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０２１３】
１１７．第２のラグランジュ乗数を更新する命令は、第１のラグランジュ乗数λｅｓｔｉｍａｔｅと、第２のラグランジュ乗数λｃｕｒｒｅｎｔとの関数である更新された第２のラグランジュ乗数λｎｅｗを計算する命令を含み、λｎｅｗ＝λｃｕｒｒｅｎｔ＋Δ・（λｅｓｔｉｍａｔｅ−λｃｕｒｒｅｎｔ）であり、Δは、プリセットされる、または適応的に変更される値を含み、０＜Δ＜１である、列挙されている例示の実施形態１１６のコンピュータ・プログラム製品。
【０２１４】
１１８．第２のラグランジュ乗数を更新する命令は、第２のラグランジュ乗数の更新に対し上限または下限をセットすることにより、第２のラグランジュ乗数の更新の大きさに対し限度を設ける命令を含む、列挙されている例示の実施形態１１６のコンピュータ・プログラム製品。
【０２１５】
１１９．第２のラグランジュ乗数を更新する命令は、
１つ以上の以前のマクロブロックおよび現在のマクロブロックにおける複数のラグランジュ乗数のスライディング・ウィンドウ平均を計算すること
を含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０２１６】
１２０．命令は、
複数のラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択することと、
スライディング・ウィンドウの平均の関数として第２のラグランジュ乗数を更新することと、
を含むビデ符号化動作をさらに含む、列挙されている例示の実施形態１１９のコンピュータ・プログラム製品。
【０２１７】
１２１．第１のラグランジュ乗数により第２のラグランジュ乗数を更新する命令は、周期的に第２のラグランジュ乗数を更新する命令を含み、更新の周期は、一定周期、または適応的に変化する周期を含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０２１８】
１２２．周期は、局所コンテキストに依存し、局所コンテキストは、動き強度またはシーン・カット情報を含む、列挙されている例示の実施形態１２１のコンピュータ・プログラム製品。
【０２１９】
１２３．第２のラグランジュ乗数をスライスの始まりに更新する命令をさらに含む、列挙されている例示の実施形態１２１のコンピュータ・プログラム製品。
【０２２０】
１２４．シーン・カットが検出されると第２のラグランジュ乗数を更新する命令をさらに含む、列挙されている例示の実施形態１２１のコンピュータ・プログラム製品。
【０２２１】
１２５．第２のラグランジュ乗数を更新する命令は、
ビデオ・エンコーダにより少なくとも２つのマクロブロックの分散を計算することと、
２つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第２のラグランジュ乗数を更新することと、
を含む、列挙されている例示の実施形態１２１のコンピュータ・プログラム製品。
【０２２２】
１２６．第２のラグランジュ乗数を更新する命令は、いくつかの周期、ピクチャ、またはピクチャの領域に関して第２のラグランジュ乗数を更新する命令を含む、列挙されている例示の実施形態１２１のコンピュータ・プログラム製品。
【０２２３】
１２７．第２のラグランジュ乗数を更新する命令は、無作為の順序または一定順序で、第２のラグランジュ乗数の種々のタイプの更新を実行することを含み、種々のタイプの更新は、直接更新、ステップ・サイズ更新、およびスライディング・ウィンドウ更新を含む、列挙されている例示の実施形態１２１のコンピュータ・プログラム製品。
【０２２４】
１２８．第１のラグランジュ乗数により第２のラグランジュ乗数を更新する命令は、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することを含み、この命令は、第２のラグランジュ乗数を使用してビデオの領域を符号化することをさらに含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０２２５】
１２９．第１のラグランジュ乗数を判断する命令は、複数の歪および／または複雑度メトリクスを計算することを含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０２２６】
１３０．命令は、
ビデオ・エンコーダにより第１のグループのラグランジュ乗数を判断することと、
第１のグループのラグランジュ乗数により第２のグループのラグランジュ乗数を更新することと、
をさらに含む、列挙されている例示の実施形態６７のコンピュータ・プログラム製品。
【０２２７】
１３１．第１のグループのラグランジュ乗数の判断において、複数の歪制約を利用する命令をさらに含む、列挙されている例示の実施形態１３０のコンピュータ・プログラム製品。
【０２２８】
１３２．第１のグループのラグランジュ乗数を判断することは、２つ以上の次元および１つ以上の符号化パラメータによりレート歪傾きを計算することを含み、該１つ以上の符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１３０のコンピュータ・プログラム製品。
【０２２９】
１３２．第１のグループのラグランジュ乗数を判断することは、２つ以上の次元および１つ以上の符号化パラメータによりレート歪傾きを計算することを含み、該１つ以上の符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１のコンピュータ・プログラム製品。
【０２３０】
１３４．第１のラグランジュ乗数は、少なくとも１つの他の符号化特徴との依存関係に少なくとも部分的に基づいて判断される、列挙されている例示の実施形態１３３のシステム。
【０２３１】
１３５．符号化特徴は、データ・サンプルの相関、時間的予測、空間的予測、インター予測、イントラ予測、複数の歪、またはピクチャの特性、領域の特性、もしくはフレームの特性を含み、特性は、テクスチャおよび輝度を含む、列挙されている例示の実施形態１３４のシステム。
【０２３２】
１３６．ビデオ・エンコーダは、ラグランジュ乗数推定モジュールを含み、ラグランジュ乗数推定モジュールは、第１のラグランジュ乗数を生成するダイナミック・プログラミングを含み、第１のラグランジュ乗数は、レート歪関数の少なくとも１つの符号化パラメータに関してレート歪傾きを計算することを含む、列挙されている例示の実施形態１３３のシステム。
【０２３３】
１３７．符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１３６のシステム。
【０２３４】
１３８．システムは、ＤＣＴに基づくビデオ符号化、ウェーブレットに基づくビデオ符号化、またはビット・プレーン・ビデオ符号化の命令を処理するよう動作可能である、列挙されている例示の実施形態１３３のシステム。
【０２３５】
１３９．第１のラグランジュ乗数は、少なくとも１つのビデオ表示に関連する１つ以上の特性に少なくとも部分的に基づいて生成される、列挙されている例示の実施形態１３３のシステム。
【０２３６】
１４０．該１つ以上の構成要素は、第１のラグランジュ乗数を、少なくとも１つのビデオ符号化特性またはビデオ符号化統計に少なくとも部分的に基づき判断し、該少なくとも１つのビデオ符号化特性またはビデオ符号化統計は、精度の測定、複雑度、効率、符号化性能、局所情報もしくは大域情報を含む、列挙されている例示の実施形態１３３のシステム。
【０２３７】
１４１．第１のラグランジュ乗数を判断する該１つ以上の構成要素は、１つ以上の中間ラグランジュ乗数を反復して生成し、該少なくとも１つのビデオ符号化特性またはビデオ符号化統計の関数として第１のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態１３３のシステム。
【０２３８】
１４２．第１のラグランジュ乗数を判断することは、以前に符号化されたマクロブロックの種々の符号化パラメータの任意の組み合わせに関して第１のラグランジュ乗数を生成することを含む、列挙されている例示の実施形態１３３のシステム。
【０２３９】
１４３．種々の符号化パラメータはそれぞれ、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、または１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちのいずれかを含む、列挙されている例示の実施形態１４２のシステム。
【０２４０】
１４４．第１のラグランジュ乗数を判断することは、少なくとも１つの符号化パラメータに関してレート歪曲線の傾きの推定値を生成することを含み、第１のラグランジュ乗数により第２のラグランジュ乗数を更新することは、第２のラグランジュ乗数を推定値により置き換えることを含み、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１３３のシステム。
【０２４１】
１４５．該１つ以上の構成要素は、
ビデオ・エンコーダのラグランジュ乗数推定モジュールを使用して、第３のラグランジュ乗数を判断すること、および
第１のラグランジュ乗数を第３のラグランジュ乗数により置き換えることにより、第１のラグランジュ乗数を更新すること
の命令を処理するよう動作可能である、列挙されている例示の実施形態１３３のシステム。
【０２４２】
１４６．該１つ以上の構成要素は、
ピクチャの複数のマクロブロックまたはマクロブロックの領域に関して他のラグランジュ乗数を計算すること、および
すべてのラグランジュ乗数の関数に少なくとも部分的に基づき、ビデオ・エンコーダによりフレームをコード化すること
の命令を実行するよう動作可能である、列挙されている例示の実施形態１３３のシステム。
【０２４３】
１４７．第１のラグランジュ乗数を判断することは、或る符号化パラメータにおける歪値およびレート値に関して、その符号化パラメータに隣接する符号化パラメータにおけるレート値および歪値を使用して第１のラグランジュ乗数を推定することを含む、列挙されている例示の実施形態１３３のシステム。
【０２４４】
１４８．符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１４７のシステム。
【０２４５】
１４９．レートおよび歪値は、複数のＱＰポイントを含み、複数のＱＰポイントの歪およびレート値は、（ＤＱＰ＋ｌ，ＲＱＰ＋ｌ）を含み、ＤＱＰ＋ｌは、ＱＰ＋ｌにおける歪値を表し、ＲＱＰ＋ｌは、ＱＰ＋ｌにおけるレート値を表し、ｌ、ＭおよびＮは、ＱＰポイントの数値を表し、ｌは−Ｍ，・・・，−１，１，・・・Ｎを含み、ＭおよびＮは、事前選択または適応的選択される、列挙されている例示の実施形態１４８のシステム。
【０２４６】
１５０．該１つ以上の構成要素に関する事前選択は、利用可能な計算資源に少なくとも部分的に基づき、適応的選択は、利用可能な計算資源、またはビデオ・シーケンス特性、または領域特性に少なくとも部分的に基づき、領域特性は、１つ以上のマクロブロックの特性を含む、列挙されている例示の実施形態１４９のシステム。
【０２４７】
１５１．該１つ以上の構成要素は、各ＱＰポイントに関して、
全体的なラグランジュ・コスト関数が最小化されるモードを判断することと、
【数３４】
0005159955.tif 000040
列挙されている例示の実施形態１５０のシステム。
【０２４８】
１５２．１階微分推定法は、（ＤＱＰ，ＲＱＰ）における階差の幾何平均を含む、列挙されている例示の実施形態１５１のシステム。
【０２４９】
１５３．推定される第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、
【数３５】
0005159955.tif 000041
列挙されている例示の実施形態１５０のシステム。
【０２５０】
１５４．推定される第１のラグランジュ乗数は、歪およびレート値の判断における、１つ以上の候補モードに関する複数のラグランジュ・コストの比較を含む、列挙されている例示の実施形態１５３のシステム。
【０２５１】
１５５．該１つ以上の構成要素は、各ＱＰポイントに関して、全体的なラグランジュ・コスト関数が最小化されるモードの探索を実行する、列挙されている例示の実施形態１５０のシステム。
【０２５２】
１５６．該１つ以上の構成要素が第１のラグランジュ乗数を判断するとき、該１つ以上の構成要素は、局所近似によりレート歪傾き推定を実行する、列挙されている例示の実施形態１３３のシステム。
【０２５３】
１５７．該１つ以上の構成要素が局所近似によりレート歪傾き推定を実行するとき、該１つ以上の構成要素の動作は、
現在のラグランジュ乗数λｃｕｒｒｅｎｔを用いる現在の符号化パラメータに関して、全体的なラグランジュ・コスト関数が最小化されるモードπ＊を判断することと、
【数３６】
0005159955.tif 000042
（ＤＱＰ，ＲＱＰ）における曲線の傾きを、１階微分推定法の命令を実行することによって推定することであって、ＤＱＰは、ＱＰにおける歪値を表し、ＲＱＰは、ＱＰにおけるレート値を表し、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、該推定することと、
を含む、列挙されている例示の実施形態１５６のシステム。
【０２５４】
１５８．１階微分推定法の命令は、歪およびレート値（ＤＱＰ，ＲＱＰ）における階差の幾何平均を含む、列挙されている例示の実施形態１５７のシステム。
【０２５５】
１５９．推定される第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み
【数３７】
0005159955.tif 000043
0005159955.tif 000044
列挙されている例示の実施形態１５７のシステム。
【０２５６】
１６０．該１つ以上の構成要素は、
【数３８】
0005159955.tif 000045
を含む動作により判断するよう動作可能である、列挙されている例示の実施形態１５７のシステム。
【０２５７】
１６１．該１つ以上の構成要素は、第１のラグランジュ乗数を推定するために局所情報を使用することにより、第１のラグランジュ乗数を判断する、列挙されている例示の実施形態１３３のシステム。
【０２５８】
１６２．局所情報は、分散、輝度要素、輝度要素の平均、彩度要素、動き強度、テクスチャもしくはエッジ情報、または領域もしくはマクロブロックの空間的もしくは時間的に隣接したエリアの特性もしくはラグランジュ乗数を含み、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１６１のシステム。
【０２５９】
１６３．第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、該１つ以上の構成要素は、第１のラグランジュ乗数を、λｅｓｔｉｍａｔｅを算出することにより判断し、λｅｓｔｉｍａｔｅは、局所情報Ｉｌｏｃａｌに関する局所推定法ｆｌｏｃａｌ（・）の関数であり、λｅｓｔｉｍａｔｅ＝ｆｌｏｃａｌ（Ｉｌｏｃａｌ）である、列挙されている例示の実施形態１６２のシステム。
【０２６０】
１６４．該１つ以上の構成要素は、
第１のラグランジュ乗数に関連するマクロブロックに関して、局所情報を計算することと、
計算された局所情報および符号化パラメータに少なくとも部分的に基づいて、第１のラグランジュ乗数を判断することと、
を含む動作を処理するよう動作可能である、列挙されている例示の実施形態１６２のシステム。
【０２６１】
１６５．第１のラグランジュ乗数は、該１つ以上の構成要素に格納されているラグランジュ乗数ルックアップ・テーブルから判断される、列挙されている例示の実施形態１６４のシステム。
【０２６２】
１６６．該１つ以上の構成要素は、第１のラグランジュ乗数を、ラグランジュ乗数ルックアップ・テーブルを生成することにより判断するよう構成されており、ラグランジュ乗数ルックアップ・テーブルの生成は、
エリアに関して複数の分散を計算することと、
複数の量子化パラメータ（ＱＰ）に関して複数のラグランジュ乗数を推定することと、
Ｋ個のビンにより複数の分散を（Ｋ＋１）グループに配置することと、
Ｌ個のビンにより複数グループに複数のＱＰを配置することと、
Ｋ個およびＬ個のビンに少なくとも部分的に基づいて、グループそれぞれに関して平均ラグランジュ乗数を計算することと、
平均ラグランジュ乗数を、該１つ以上の構成要素内のラグランジュ乗数ルックアップ・テーブル内に記録することと、
を含む、列挙されている例示の実施形態１６２のシステム。
【０２６３】
１６７．該１つ以上の構成要素は、２つ以上のエリア、スライス、またはシーンに関してラグランジュ乗数ルックアップ・テーブルを適応的または周期的に更新するよう構成されている、列挙されている例示の実施形態１６６のシステム。
【０２６４】
１６８．該１つ以上の構成要素は、第１のラグランジュ乗数を推定するために大域情報を使用するよう構成されており、符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１３３のシステム。
【０２６５】
１６９．大域情報は、フレーム・レート、空間的特徴、輝度もしくは彩度の分散、ＤＣ値、ＤＣ値のヒストグラム、現在の符号化構造、メタデータ情報、または現在のグループ・オブ・ピクチャ（ＧＯＰ）内の階層レベルを含む、列挙されている例示の実施形態１６８のシステム。
【０２６６】
１７０．第１のラグランジュ乗数は、λｅｓｔｉｍａｔｅを含み、該１つ以上の構成要素は、第１のラグランジュ乗数を、λｅｓｔｉｍａｔｅを算出することにより判断するよう構成されており、λｅｓｔｉｍａｔｅは、大域情報Ｉｇｌｏｂａｌに関する大域推定法ｆｇｌｏｂａｌ（・）の関数であり、λｅｓｔｉｍａｔｅ＝ｆｇｌｏｂａｌ（Ｉｇｌｏｂａｌ）である、列挙されている例示の実施形態１６８のシステム。
【０２６７】
１７１．該１つ以上の構成要素は、
大域情報を計算することと、
計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第１のラグランジュ乗数を判断することと、
をさらに含む第１のラグランジュ乗数に関する動作を処理するよう動作可能である、列挙されている例示の実施形態１６８のシステム。
【０２６８】
１７２．計算された大域情報および符号化パラメータに少なくとも部分的に基づいて第１のラグランジュ乗数を判断することは、時間的特性、シーケンス、またはピクチャ間もしくは領域間の符号化の差に少なくとも部分的に基づく、第１のラグランジュ乗数の調整を含む、列挙されている例示の実施形態１７１のシステム。
【０２６９】
１７３．該１つ以上の構成要素は、符号化パラメータと、ピクチャの階層レベルとの関数を処理することにより第１のラグランジュ乗数を判断するよう構成されており、第１のラグランジュ乗数はλｋである、列挙されている例示の実施形態１６８のシステム。
【０２７０】
１７４．該１つ以上の構成要素は、第１のラグランジュ乗数を、
階層レベル、グループ・オブ・ピクチャ（ＧＯＰ）のピクチャ間の変化のステップ・サイズ、およびＧＯＰのアンカー・ピクチャの関数として第１のラグランジュ乗数λｋをセットすることであって、ｋは階層レベルを表し、ΔＧＯＰはＧＯＰのピクチャ間の変化のステップ・サイズを表し、λａｎｃｈｏｒはＧＯＰのアンカー・ピクチャを表し、λｋ＝（１−ｋ・ΔＧＯＰ）・λａｎｃｈｏｒである、該セットすることと、
第１のラグランジュ乗数を計算することと、
を含む動作により判断するよう構成されている、列挙されている例示の実施形態１７３のシステム。
【０２７１】
１７５．該１つ以上の構成要素は、第１のラグランジュ乗数を、
アンカー・ピクチャのラグランジュ乗数、およびアンカー・ピクチャの距離とＧＯＰ内の距離との比の関数として第１のラグランジュ乗数λｋをセットすることであって、ｋは階層レベルを表し、λａｎｃｈｏｒはＧＯＰのアンカー・ピクチャのラグランジュ乗数を表し、ｄａｎｃｈｏｒはアンカー・ピクチャの距離を表し、ｄＧＯＰはＧＯＰ内の距離を表し、λｋ＝（ｄａｎｃｈｏｒ／ｄＧＯＰ）・λａｎｃｈｏｒとである、該セットすることと、
第１のラグランジュ乗数を計算することと、
を含む動作により判断するよう構成されている、列挙されている例示の実施形態１７３のシステム。
【０２７２】
１７６．該１つ以上の構成要素は、アンカー・ピクチャまでの距離に少なくとも部分的に基づき、グループ・オブ・ピクチャ（ＧＯＰ）の１つ以上のピクチャに関してラグランジュ乗数を判断することを含む動作により、第１のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態１７３のシステム。
【０２７３】
１７７．該１つ以上の構成要素は、該１つ以上の構成要素に格納されているラグランジュ乗数ルックアップ・テーブルを使用することを含む動作により第１のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態１７３のシステム。
【０２７４】
１７８．ラグランジュ乗数ルックアップ・テーブルは、複数の符号化パラメータに少なくとも部分的に基づいている、列挙されている例示の実施形態１７７のシステム。
【０２７５】
１７９．該１つ以上の構成要素は、ラグランジュ乗数ルックアップ・テーブル内の複数のラグランジュ乗数に少なくとも部分的に基づいて、第１のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態１７７のシステム。
【０２７６】
１８０．該１つ以上の構成要素は、グループ・オブ・ピクチャ（ＧＯＰ）の以前の階層構造を、ＧＯＰの後の階層構造により変換する関数を処理することにより第１のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態１７３のシステム。
【０２７７】
１８１．該１つ以上の構成要素は、
ビデオ・エンコーダのラグランジュ乗数推定モジュールにより第１のラグランジュ乗数を推定すること、および
第２のラグランジュ乗数を第１のラグランジュ乗数により置き換えること
によって、第２のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態１３３のシステム。
【０２７８】
１８２．該１つ以上の構成要素は、一連のラグランジュ・ステップの中で第２のラグランジュ乗数を変更して、この一連のラグランジュ・ステップの最後に第２のラグランジュ乗数を第１のラグランジュ乗数に変更することによって、第２のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態１３３のシステム。
【０２７９】
１８３．第２のラグランジュ乗数の更新は、第１のラグランジュ乗数λｅｓｔｉｍａｔｅと、第２のラグランジュ乗数λｃｕｒｒｅｎｔとの関数である更新された第２のラグランジュ乗数λｎｅｗを計算する１つ以上の動作を含み、λｎｅｗ＝λｃｕｒｒｅｎｔ＋Δ・（λｅｓｔｉｍａｔｅ−λｃｕｒｒｅｎｔ）であり、Δは、プリセットされる、または適応的に変更される値を含み、０＜Δ＜１である、列挙されている例示の実施形態１８２のシステム。
【０２８０】
１８４．第２のラグランジュ乗数を更新することは、第２のラグランジュ乗数の更新に対し上限または下限をセットすることによって、第２のラグランジュ乗数の更新の大きさに対し限度を設ける１つ以上の動作を含む、列挙されている例示の実施形態１８２のシステム。
【０２８１】
１８５．該１つ以上の構成要素は、１つ以上の以前のマクロブロックおよび現在のマクロブロックにおける複数のラグランジュ乗数のスライディング・ウィンドウ平均を計算することによって、第２のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態１８２のシステム。
【０２８２】
１８６．該１つ以上の構成要素は、
複数のラグランジュ乗数に関して、ラグランジュ乗数のスライディング・ウィンドウ用にラグランジュ乗数のサブセットを選択し、
スライディング・ウィンドウの平均の関数として第２のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態１８５のシステム。
【０２８３】
１８７．第１のラグランジュ乗数により第２のラグランジュ乗数を更新することは、周期的に第２のラグランジュ乗数を更新することを含み、更新の周期は、一定周期、または適応的に変化する周期を含む、列挙されている例示の実施形態１３３のシステム。
【０２８４】
１８８．周期は、局所コンテキストに依存し、局所コンテキストは、動き強度またはシーン・カット情報を含む、列挙されている例示の実施形態１８７のシステム。
【０２８５】
１８９．該１つ以上の構成要素は、スライスの始まりに第２のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態１８７のシステム。
【０２８６】
１９０．該１つ以上の構成要素は、シーン・カットが検出されると第２のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態１８７のシステム。
【０２８７】
１９１．該１つ以上の構成要素は、第２のラグランジュ乗数を、
ビデオ・エンコーダにより少なくとも２つのマクロブロックの分散を計算することと、
２つの隣り合ったマクロブック間の分散の変化が閾値を上回れば、第２のラグランジュ乗数を更新することと、
を含む動作により更新するよう構成されている、列挙されている例示の実施形態１８７のシステム。
【０２８８】
１９２．第２のラグランジュ乗数を更新することは、いくつかの周期、ピクチャ、またはピクチャの領域に関して第２のラグランジュ乗数を更新する動作を含む、列挙されている例示の実施形態１８７のシステム。
【０２８９】
１９３．該１つ以上の構成要素は、無作為の順序または一定順序で、第２のラグランジュ乗数の種々のタイプの更新を実行することを含む動作により、第２のラグランジュ乗数を更新するよう構成されており、種々のタイプの更新は、直接更新、ステップ・サイズ更新、およびスライディング・ウィンドウ更新を含む、列挙されている例示の実施形態１８７のシステム。
【０２９０】
１９４．該１つ以上の構成要素は、ビデオ・エンコーダのラグランジュ乗数更新モジュールを使用することと、第２のラグランジュ乗数を使用してビデオの領域を符号化することとを含む動作により、第２のラグランジュ乗数を更新するよう構成されている、列挙されている例示の実施形態１３３のシステム。
【０２９１】
１９５．該１つ以上の構成要素は、複数の歪メトリクスを計算することによって第１のラグランジュ乗数を判断するよう構成されている、列挙されている例示の実施形態１３３のシステム。
【０２９２】
１９６．該１つ以上の構成要素は、
ビデオ・エンコーダにより第１のグループのラグランジュ乗数を判断することと、
第１のグループのラグランジュ乗数により第２のグループのラグランジュ乗数を更新することと、
を含む動作の命令を処理するよう構成されている、列挙されている例示の実施形態１３３のシステム。
【０２９３】
１９７．第１のグループのラグランジュ乗数の判断において、複数の歪または／および複雑度メトリクスが採用される、列挙されている例示の実施形態１３３のシステム。
【０２９４】
１９８．該１つ以上の構成要素は、２つ以上の次元および１つ以上の符号化パラメータによりレート歪傾きを計算することによって、第１のグループのラグランジュ乗数を判断するよう構成されており、該１つ以上の符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態１９６のシステム。
【０２９５】
１９８．該１つ以上の構成要素は、２つ以上の次元および１つ以上の符号化パラメータによりレート歪傾きを計算することによって、第１のグループのラグランジュ乗数を判断するよう構成されており、該１つ以上の符号化パラメータは、１つ以上の量子化パラメータ（ＱＰ）、１つ以上のフレーム・レート、１つ以上の解像度、１つ以上の符号化レイヤ、１つ以上のＱＰの関数、１つ以上のフレーム・レートの関数、１つ以上の解像度の関数、または１つ以上の符号化レイヤの関数のうちの任意の組み合わせを含む、列挙されている例示の実施形態のシステム。
【０２９６】
本開示のいくつかの例示の実施形態について記載したが、他の実施形態も、以下の特許請求の範囲に記載の範囲内に入る。
【図１】
0005159955.tif 000048
【図２】
0005159955.tif 000049
【図３】
0005159955.tif 000050
【図４Ａ】
0005159955.tif 000051
【図４Ｂ】
0005159955.tif 000052
【図５】
0005159955.tif 000053
【図６】
0005159955.tif 000054
【図７】
0005159955.tif 000055
【図８】
0005159955.tif 000056
【図９】
0005159955.tif 000057
【図１０】
0005159955.tif 000058
【図１１】
0005159955.tif 000059
【図１２】
0005159955.tif 000060
【図１３】
0005159955.tif 000061