"データセットを符号化するための方法であって、符号化されるべきデータセットを受信することと、符号化されたデータセットが提供される対象デコーダの状態に少なくとも部分的に基づいて、前記データセットを符号化することと、を備える方法。請求項1に記載の方法であって、前記状態は、前記対象デコーダの実際の状態を含む、方法。請求項2に記載の方法であって、前記実際の状態は、前記対象デコーダから動的に受信されるフィードバックに少なくとも部分的に基づく、方法。請求項1に記載の方法であって、前記状態は、前記対象デコーダの予測される状態を含む、方法。請求項4に記載の方法であって、前記予測される状態は、前記対象デコーダのモデルに少なくとも部分的に基づいて決定される、方法。請求項4に記載の方法であって、前記データセットは、第1のデータセットであり、前記予測される状態は、少なくとも一部には、データセットのシーケンス内の前記第1のデータセットに先行する第2のデータセットの復号複雑性によって決定される、方法。請求項1に記載の方法であって、前記状態は、前記対象デコーダに関連付けられたリソースの現行の利用可能性を示す、方法。請求項7に記載の方法であって、前記現行の利用可能性は、利用可能な復号アルゴリズム、利用可能な復号処理速度、利用可能な復号電力消費、および利用可能な復号メモリの1つまたは複数を含む、方法。請求項1に記載の方法であって、前記状態は、少なくとも一部には、前記対象デコーダの復号ピクチャバッファの復号ピクチャバッファ状態を含む、方法。請求項1に記載の方法であって、前記対象デコーダの状態に少なくとも部分的に基づいて前記データセットを符号化することは、前記符号化データセット用の目標復号複雑性を決定することを含む、方法。請求項10に記載の方法であって、前記目標復号複雑性は、少なくとも部分的には、前記対象デコーダに関連付けられた制約によって決定される、方法。請求項10に記載の方法であって、前記目標復号複雑性は、少なくとも部分的には、前記対象デコーダに関連付けられた復号ピクチャバッファの状態によって決定される、方法。請求項10に記載の方法であって、前記目標復号複雑性は、少なくとも部分的には、前記データセットの相対的重要性によって決定される、方法。請求項10に記載の方法であって、前記データセットは、第1のデータセットであり、前記目標復号複雑性は、少なくとも部分的には、データセットのシーケンス内の前記第1のデータセットに先行する第2のデータセットの復号複雑性によって決定される、方法。請求項10に記載の方法であって、前記データセットは、第1のデータセットであり、前記目標復号複雑性は、少なくとも部分的には、データセットのシーケンス内の前記第1のデータセットに続く第2のデータセットの復号複雑性によって決定される、方法。請求項10に記載の方法であって、前記目標復号複雑性を決定することは、前記対象デコーダのモデルを使用して前記対象デコーダをシミュレートすることを含む、方法。請求項10に記載の方法であって、前記対象デコーダの状態に少なくとも部分的に基づいて前記データセットを符号化することは、前記データセットを符号化するために使用される1つまたは複数の符号化ツールの各自に復号複雑性コストを割り当てることと、前記データセットを符号化するために使用されるそれぞれの符号化ツールに割り当てられた前記復号複雑性コストに少なくとも部分的に基づいて決定された、前記データセットを復号する総複雑性コストが、前記目標復号複雑性を超えないような方式で、前記データセットを符号化するために、前記1つもしくは複数の符号化ツール、またはそれらからの選定サブセットを使用することと、を含む、方法。請求項1に記載の方法であって、前記対象デコーダの状態に少なくとも部分的に基づいて前記データセットを符号化することは、前記データセットを符号化するために使用される1つまたは複数の符号化ツールの各自に復号複雑性コストを割り当てることを含む、方法。請求項1に記載の方法であって、さらに、前記データセットを前処理することを備える方法。請求項19に記載の方法であって、前記データセットを前処理することは、少なくとも部分的には、前記対象デコーダの前記状態と前記データセットの複雑性とに基づく、方法。請求項1に記載の方法であって、前記データセットを符号化することは、1つまたは複数の拡張性の層を用いることを含む、方法。請求項1に記載の方法であって、前記対象デコーダは、対象デコーダセットに含まれ、前記データセットを符号化することは、クオリティの拡張性によって、前記データセットを前記対象デコーダセット用にカスタム符号化することを含む、方法。請求項22に記載の方法であって、各対象デコーダにおける前記データセットの復号のクオリティは、各対象デコーダにおける現行の状態と復号リソースの利用可能性とに少なくとも部分的に基づいて決定される、方法。請求項1に記載の方法であって、さらに、前記符号化されたデータセットを前記対象デコーダに提供することを備える方法。請求項24に記載の方法であって、前記提供することは、伝送すること、ブロードキャストすること、ダウンロードすること、媒体に格納すること、可動媒体に格納すること、前記対象デコーダに関連付けられたデバイスに可動媒体を挿入すること、および前記符号化されたデータセットを媒体から読み出すことの1つまたは複数を含む、方法。請求項24に記載の方法であって、前記対象デコーダに提供された前記符号化されたデータセットが前記対象デコーダにおいて復号される方式は、前記対象デコーダの現行の状態に少なくとも部分的に基づく、方法。請求項24に記載の方法であって、前記対象デコーダは、復号が追いつかない場合または電力を節約したい場合に前記データセットの復号品質を緩やかに降格させるために、複合化の際に前記データセットに含まれた1つまたは複数の拡張レイヤーを用いる、方法。請求項24に記載の方法であって、前記データセットは、第1のデータセットであり、前記対象デコーダは、前記第1のデータセットを含むデータセットシーケンス内の1つまたは複数のデータセットを飛ばすために、符号化に際して前記データセットシーケンスに含まれた時間的拡張レイヤーを用いる、方法。請求項1に記載の方法であって、前記データセットは、1つまたは複数のビデオデータフレームを含む、方法。データセットを符号化するためのシステムであって、符号化されるデータセットを受信するように、および符号化されたデータセットが提供される対象デコーダの状態に少なくとも部分的に基づいて前記データセットを符号化するように構成されるプロセッサと、前記プロセッサに結合され、前記プロセッサに命令を提供するように構成されたメモリと、を備えるシステム。請求項30に記載のシステムであって、前記状態は、前記対象デコーダの実際の状態を含む、システム。請求項30に記載のシステムであって、前記状態は、前記対象デコーダの予測される状態を含む、システム。請求項30に記載のシステムであって、前記状態は、前記対象デコーダの復号ピクチャバッファの復号ピクチャバッファ状態を少なくとも部分的に含む、システム。請求項30に記載のシステムであって、前記対象デコーダの状態に少なくとも部分的に基づいて前記データセットを符号化することは、前記符号化データセット用の目標復号複雑性を決定することを含む、システム。請求項30に記載のシステムであって、前記対象デコーダの状態に少なくとも部分的に基づいて前記データセットを符号化することは、前記データセットを符号化するために使用される1つまたは複数の符号化ツールの各自に復号複雑性コストを割り当てることを含む、システム。請求項30に記載のシステムであって、前記プロセッサは、さらに、前記データセットを前処理するように構成される、システム。請求項30に記載のシステムであって、前記データセットを符号化することは、1つまたは複数の拡張性の層を用いることを含む、システム。請求項30に記載のシステムであって、前記プロセッサは、さらに、前記符号化されたデータセットを前記対象デコーダに提供するように構成される、システム。請求項38に記載のシステムであって、前記対象デコーダに提供された前記符号化されたデータセットが前記対象デコーダにおいて復号される方式は、前記対象デコーダの現行の状態に少なくとも部分的に基づく、システム。データセットを符号化するためのコンピュータプログラム製品であって、コンピュータ可読媒体に実装され、前記コンピュータプログラム製品は、符号化されるデータセットを受信するためのコンピュータ命令と、符号化されたデータセットが提供される対象デコーダの状態に少なくとも部分的に基づいて前記データセットを符号化するためのコンピュータ命令と、を備えるコンピュータプログラム製品。本発明は、プロセス、装置、システム、合成物、コンピュータ可読記憶媒体などのコンピュータ可読媒体、または光通信リンクもしくは電子通信リンクを通じてプログラム命令が送信されるコンピュータネットワークなどを含む数々のかたちで実現することができる。本明細書では、これらの実現形態、または本発明がとりえるその他のあらゆる形態を、技術として称することができる。タスクを実施するように構成されるものとして説明されるプロセッサまたはメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成される汎用コンポーネント、またはタスクを実施するように製造された専用コンポーネントの両方を含む。一般に、開示されたプロセスのステップの順序は、本発明の範囲内で変更可能である。本発明の1つまたは複数の実施形態の詳細な説明が、本発明の原理を図示した添付の図面とともに以下で提供される。本発明は、このような実施形態に関連して説明されるが、本発明は、いかなる実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替、変更、および等価の形態を網羅している。以下の説明では、本発明の完全な理解を促すために、数々の具体的詳細が特定されている。これらの詳細は、例示を目的として提供され、本発明は、これらの具体的詳細の一部または全部をともなわなくても特許請求の範囲にしたがって実施可能である。明瞭さを期するため、本発明に関連した技術分野において知られている技術的要素は、詳細に説明されず、したがって、本発明は。不必要に不明瞭化されない。符号化データの復号複雑性に関する認識と、符号化データを復号する対象デコーダの能力とに少なくとも部分的に基づいてデータを符号化するための技術が開示される。いくつかの実施形態では、符号化データを提供される予定の対象デコーダの状態に少なくとも部分的に基づいて、データセットが符号化される。いくつかの実施形態では、符号化データセットを提供される予定の複数のデコーダの状態に少なくとも部分的に基づいて、データセットが符号化される。図1Aは、コーデックの典型的実施形態を図示している。図に示されるように、エンコーダ102は、オーディオ、ビデオ、オーディオビジュアル、および/またはその他のマルチメディアコンテンツなどのメディアデータを符号化し、符号化データ104を1つまたは複数のデコーダ106に提供する。実施形態に応じて、符号化データは、ネットワークもしくはその他の通信チャネルを介して提供される、DVDもしくはCDなどの可動媒体に格納される、デジタルラジオ放送もしくは無線ネットワーク接続などの無線周波数を介して伝送される、またはサーバに格納され、PC、携帯音楽プレーヤ/携帯ビデオプレーヤ、もしくはその他のデバイスにおけるダウンロードおよびそれに続く再生に利用できるようにされる。デコーダ106において、符号化データ104は、例えば表示、再生、編集などのために符号化コンテンツを取り出すために復号される。挙げられた例にあるように、符号化データ104は、ハンドヘルドコンピュータデバイス、ラップトップ、デスクトップ、セットトップボックス、MP3プレーヤなどの恐らくは様々に異なるタイプのデバイス上の、複数のデコーダ106に提供することが望ましいであろう。しかしながら、復号に利用可能なリソースは、デバイスのタイプおよびデコーダのタイプによって異なるであろう。利用可能な処理速度、電力消費制限、利用可能なメモリなどの要素、デコーダアーキテクチャに関連付けられた要素例えば可能な並行処理の程度、利用可能な復号アルゴリズムの計算複雑性などが、各デコーダにおける復号性能に影響する。エンコーダにおけるデータの符号化は、通常、符号化データを復号するために使用されているおよび/または使用される予定のデコーダの動的状態に対する特定の符号化判定および/または符号化判定シーケンスの影響を考慮することなく決定される。特定の符号化スキームをともなうデータは、通常、符号化データを十分に解凍するためにデコーダ側において実施される必要がある最低限の処理要件に関連付けられている。もしデコーダが。最低限の処理要件を提供することができない場合は、このようなデコーダにおける符号化データの復号は、全く不可能になるであろう、または、例えば1つもしくは複数の復号動作が実施されないゆえにデコーダ出力のクオリティに影響がでる、デコーダがデータを飛ばしたり抜かしたりするなどのように、少なくとも一部が損なわれるであろう。図1Aの構成では、同じ符号化によるデータ104が、複数のデコーダ106に提供される。しかしながら、たとえデータの符号化スキームが同じでも、その符号化データ104がデコーダ106によって復号される方式およびクオリティは、各デコーダ106における復号リソースの利用可能性に応じて異なるであろう。対象デコーダに、その対象デコーダにおける利用可能復号リソースによって十分に扱うことができる符号化スキームによる符号化データを提供するために、エンコーダにおいて、符号化データを提供される予定の対象デコーダの現行の状態および/または予想される状態に関する知識に少なくとも部分的に基づいてデータを符号化することが開示される。本明細書に開示されるように、恐らくは異なる復号能力および復号リソースの様々なデバイスにおいてデータを利用可能にするために、または対象デコーダの動的現行の、将来の、および/もしくは予測される状態に対する符号化判定の影響を考慮に入れた方式で1つのタイプのデコーダにおいてデータを利用可能にするために、いくつかの実施形態では、各対象デコーダについて、その対象デコーダにおいて利用可能な復号リソースに関する知識に少なくとも部分的に基づいく符号化の判定がなされる。いくつかの実施形態において、符号化データを提供される予定のデコーダの過去の、現行の、将来の、および/または予測される状態に少なくとも部分的に基づいてデータを符号化することは、対象デコーダにおける関連の復号制約に適合しつつ対象デコーダにおいて最適のまたは最適に近い復号可能性の実現を可能にすることによって、対象デコーダにおける復号性能を向上させる結果になる。いくつかの実施形態において、符号化データを提供される予定のデコーダの過去の、現行の、将来の、および/または予測される状態に少なくとも部分的に基づいてデータを符号化することは、対象デコーダにおける関連の復号制約に適合しつつ対象デコーダ用に最も関連性のある復号ツールを選択および/またはカスタマイズすることによって、対象デコーダにおける復号性能を向上させる結果になる。図1Bは、異なる符号化スキームによってデータが符号化されるコーデックの実施形態を図示している。図に示されるように、エンコーダ108は、恐らくは異なる符号化スキームによる符号化データ110を、デコーダ112に提供する。デコーダ112において、符号化データ110は、例えば表示、再生、編集などのために符号化コンテンツを取り出すために復号される。いくつかの実施形態では、データを提供される予定の各デコーダ用に、エンコーダによって、カスタマイズされた符号化スキームが選択される。いくつかの実施形態では、データを提供される予定の複数のデコーダ用に、エンコーダによって、カスタマイズされた符号化スキームが選択される。このようなカスタマイズされた符号化スキームは、デコーダが、利用可能リソースに応じて異なる復号クオリティを得ることを可能にする。いくつかの実施形態では、同じデータが、エンコーダにおいて所定の符号化スキームセットを使用して複数の方式で符号化され、特定のデコーダにとって最も適した符号化スキームによって符号化されたデータが、そのデコーダに提供される。いくつかの実施形態では、特定の対象デコーダ用にエンコーダにおいて選択された符号化スキームを、データが対象デコーダに提供される際に変更してよく、例えば、復号のために対象デコーダにおいて利用可能なリソースに関連付けられたモデルに基づく対象デコーダの推定性能に関する知識、対象デコーダにおいて各種の復号動作を実施するコストに関する知識、対象デコーダからのその現行の性能および復号能力に関連した動的フィードバック、所定の時間フレーム内またはウィンドウ内において対象デコーダに既に提供されているまたは提供される必要がある符号化データの復号複雑性に関する知識、対象デコーダに提供される予定のデータのコンテンツの複雑性に関する知識などに依存してよい。目標とされる対象デコーダの復号能力と、入力データの複雑性とに基づいてデータをインテリジェントに符号化することによって、対象デコーダの復号の性能およびクオリティを最適化することが可能になる。いくつかの実施形態では、エンコーダ例えば図1Bの108は、ビデオデータをフレームごとに符号化し、符号化されたビデオデータ例えば図1Bの110を対象デコーダ例えば図1Bの112に送る。いくつかの実施形態では、エンコーダ108は、ビデオデータをフレームごとに符号化し、符号化されたビデオデータ110を、例えば対象デコーダ112に関連付けられたドライブまたはその他の記憶媒体読み取り装置にダウンロードされた後にまたは可動媒体を挿入された後に対象デコーダ112によって引き続き使用されるように、固定のもの例えばサーバおよび/または可動記憶媒体例えばDVD、CDに格納する。各フレームの符号化スキームは、符号化データが伝送される例えばネットワークまたはその他の通信チャネルを介してブロードキャストされる、流されるなどの場合は、符号化データが対象デコーダに伝送される際にエンコーダにおいて変更されてよい。あるいは、各フレームの符号化スキームは、データが符号化され、今後の対象デコーダへの提供および対象デコーダによる使用のためにサーバまたは可動媒体に格納される場合は、例えば符号化された先行フレームの復号後におけるデコーダのモデルおよびその予測される状態に基づくなど、のちにフレームが復号される時点のものとして予測される対象デコーダの状態に少なくとも部分的に基づいて、各フレーム用に決定されてよい。いくつかの実施形態では、ビデオデータを構成するフレームの符号化スキームは、デコーダ側におけるビデオデータの見え方を最適化するように、エンコーダにおいて変更される。いくつかの実施形態では、ビデオデータを構成するフレームの符号化スキームは、復号リソースの異なる複数のデコーダにおけるビデオデータの見え方を最適化するように、エンコーダにおいて変更される。いくつかの実施形態では、ビデオデータは、H.264標準規格にしたがって、エンコーダによって符号化される。本明細書に開示されるように、いくつかの実施形態では、H.264符号化ビットストリームについて選択される複雑性は、対象デコーダの能力の推定値に少なくとも部分的に基づき、これは、いくつかの実施形態では、複雑性またはコスト制約として表現される。このような場合は、符号化されたビットストリームの複雑性が、対象デコーダによって十分に扱えるとともに上手く再生できるものになるように、適切な符号化スキームが、対象デコーダに関連付けられた複雑性またはコスト制約の測定値を使用して選択される。いくつかの実施形態では、フレームの符号化スキームは、例えば、対象デコーダが再生に追いつかないとき、関連のデバイス上においてその他のプロセスが並行して実行されているゆえに復号に利用可能な処理電力が制限されるとき、対象デコーダにおいて処理電力および/または電池残量の節約が望まれているときなどの必要時に対象デコーダにおける復号品質の緩やかな降格デグレードを可能にする拡張性の層拡張レイヤーを含む。いくつかの実施形態では、コンテンツは、符号化コンテンツが復号される予定の目標デバイスの電池寿命を最長にする方式で、エンコーダにおいて符号化される。このような符号化スキームは、ハンドヘルドデバイス、MP3プレーヤ、ラップトップコンピュータなどの携帯型のデバイスにとって、とりわけ有用である。ときに例えばビデオシーケンスのコンテンツを構成する各種フレームの符号化に関連したビデオの符号化およびH.264標準規格についての記載があるが、本明細書において説明される技術は、ビデオデータの符号化にもH.264標準規格にも限定されない。本明細書において説明される技術は、むしろ、テキスト、イメージ、グラフィックス、アニメーション、オーディオ、ビデオなどの、任意の適切な標準規格またはプロトコルにしたがって符号化される任意のタイプのコンテンツ、データ、またはデータセットを符号化するために用いられてよい。図2は、データを符号化するためのプロセスの実施形態を図示している。いくつかの実施形態では、プロセス200は、対象デコーダ112に合わせて符号化データ110をカスタマイズするために、エンコーダ108によって用いられる。プロセス200は、符号化される予定のデータまたはコンテンツが決定される202から開始する。いくつかの実施形態では、202のデータは、ビデオデータの一フレームに対応する。202で決定されたデータは、204において、特定の対象デコーダによって符号化データを復号するためのコスト推定値に少なくとも部分的に基づいて決定される方式で符号化される。いくつかの実施形態では、204は、202のデータ用の目標復号複雑性を決定すること、および決定された目標複雑性を符号化データの復号複雑性が超えないような方式で202のデータを符号化することを含む。各種の実施形態において、特定のフレームまたはその他の単位用の目標複雑性は、例えば、デコーダにおいて利用可能な復号リソースならびに/または先行フレームおよび/もしくは後続フレームの複雑性に関する知識に基づいて、少なくとも一部には、動的に決定された、推定された、および/もしくは予測される対象デコーダの状態、ならびに/または対象デコーダがさらなる複雑性を扱って処理するための既に知られている、推定される、および/もしくは予測される能力によって決定される。プロセス200は、次いで、終了する。ビデオを符号化する場合、いくつかの実施形態では、プロセス200は、符号化されて対象デコーダに提供される予定の各フレームについて繰り返される。推定される対象デコーダにおける復号コストは、対象デコーダにおける復号リソースの利用可能性に少なくとも部分的に基づく。いくつかの実施形態では、プロセス200の204における符号化スキームの選択は、符号化スキームによって符号化されたデータを対象デコーダにおいて復号するコストがその対象デコーダに関連付けられた最大復号コスト制約内であって、したがって、対象デコーダにおいて利用可能な復号リソースによって符号化データが十分に復号可能であるようになされる。いくつかの実施形態では、適切な符号化スキームを決定するために、対象デコーダによって十分に扱うことができる最大復号複雑性に関連付けられた制約が用いられる。複雑性の制約は、少なくとも一部には、復号コストの制約から得られてよく、その逆もまた可である。いくつかの実施形態では、対象デコーダに関連付けられたコストおよび/または複雑性の制約は、固定値ではなく、対象デコーダにおける復号リソースの実際のまたは推定される利用可能性の変動とともに変化する動的な量である。本明細書において、コスト制約および複雑性制約は、ときに同義の用語として使用され、特定の対象デコーダが扱えるまたは扱えると期待される復号複雑性の量に対する制約を意味している。符号化スキームは、1つまたは複数の符号化ツールまたは符号化技術をともなうことができる。ビデオの符号化に利用可能なツールとしては、例えば、フレームタイプ、動き予測、補間位置、動きベクトルの長さ、ベクトルの広がり、動き補正、Intra予測、Inter予測、ループフィルタリングなどが挙げられ、このようなツールに関連付けられた動作は、H.264などの標準規格によって定められてよい。各ツールは、デコーダ固有の複雑性に関連付けられる。フレームの複雑性は、フレームを符号化するために選択される符号化ツールだけでなく、選択される量子化パラメータの値などのその他のパラメータ、およびビット解析や逆変換などのその他の復号ステップにも依存してよい。符号化のために使用されるツールに関連付けられた動作は、符号化に関連付けられた動作を元通りにするための対応する逆動作をデコーダ側において必要とするであろう。ゆえに、いくつかの実施形態では、符号化スキームに使用される各ツールおよび/または各パラメータが、復号コストまたは復号複雑性に寄与している。いくつかの実施形態では、デコーダ固有の複雑性コストが、各符号化ツールまたは符号化技術に関連付けられている。各種の符号化ツールおよび符号化技術に関連付けられる複雑性コストは、対象デコーダが異なるごとに異なるであろう。いくつかの実施形態では、ビデオデータのフレームなど特定の対象デコーダに提供される予定のデータセットを符号化する際に符号化ツールまたは符号化技術が用いられるまたは起動されるたびに、そのツールまたは技術に関連付けられた対象デコーダ固有の複雑性コストがこのような複雑性コストの累積和に加算される。後ほどさらに詳細に説明されるように、このような加算の最終値は、符号化フレームの総復号複雑性の測定値として機能してよく、目標複雑性内であるかどうかを決定するために目標複雑性と比較され、もし、目標複雑性内でない場合は、そのフレームの符号化スキームは、符号化フレームの総復号複雑性が目標複雑性内になって、得られた符号化フレームの復号が対象デコーダによって十分に扱えるようになるように、変更されてよい。もし、推定される総復号複雑性が目標複雑性未満である場合は、より良いクオリティを達成するために、さらなる符号化ツールを使用することができる。いくつかの実施形態では、対象デコーダの性能は、少なくとも一部には、エンコーダ側において対象デコーダのモデルをもとに推定される。このようなモデルは、例えばビデオデータのフレームなど符号化される予定の任意の所定のデータセット用に適切な符号化スキームを選択できるように、エンコーダ側において対象デコーダの行動を推定またはシミュレートすることを可能にする。いくつかの実施形態では、このようなモデルは、対象デコーダにおいて利用可能な復号リソースに基づく。1つまたは複数の復号リソースの利用可能性は、時間とともに変化しえる。このようないくつかのケースでは、1つまたは複数の復号リソースの利用可能性に関して対象デコーダからエンコーダへと動的フィードバックが提供されてよい。復号性能に影響しえるリソースの非限定例として、対象デコーダおよび/または関連デバイスにおける、利用可能な復号アルゴリズム、利用可能な復号用処理速度、例えば電池寿命を延ばすための電力消費制限、利用可能なメモリ、可能な並行処理の程度などが挙げられる。いくつかの実施形態では、対象デコーダ用のモデルに、一定の処理速度または一定の複雑性消費率が用いられる。各種の実施形態では、エンコーダ側において対象デコーダの性能をシミュレーションするにあたり、対象デコーダに既に提供されているまたは提供される予定の符号化データの複雑性に関する知識、復号ピクチャバッファDPBの最大容量および/または推定されるもしくは実際の状態に関する知識、対象デコーダに提供されるフレームの表示継続期間に関する知識などのその他の要素が用いられる。前述のように、対象デコーダの性能は、いくつかの実施形態では、少なくとも一部には、DPBの最大容量および/または状態によって特徴付けられる。デコーダにおけるDPBは、デコーダによって復号されているがまだ表示されていないフレームを保持するものである。DPBは、その深さまたは容量によって特徴付けられ、それは、例えば、保持することができる最大のデータ量、保持することができる復号フレームの最大数などによって測定されえる。DPBの状態に関するシミュレートされたまたは実際の知識は、いくつかの実施形態では、エンコーダ側における適切な符号化スキームの選択を補助するために使用される。例えば、もしエンコーダにおいて、対象デコーダのDPBがほぼ使い果たされていると決定された場合は、エンコーダにおいて、後続フレームの複雑性を下げることが望ましいであろう。同様に、もしエンコーダにおいて、対象デコーダのDPBがフル容量に近いと決定された場合は、エンコーダにおいて、後続フレームにさらなる複雑性を投入し、より高いクオリティの見栄えを達成可能にすることが望ましいであろう。いくつかの実施形態では、対象デコーダのDPBの現行の状態に関する知識は、エンコーダにおいて、対象デコーダに関連付けられたモデルのシミュレーションを行うことによって得られる。このようなシミュレーションは、復号の処理速度すなわちフレームが復号されDPBに入力される速度、DPBの最大容量、DPBの中の各フレームの表示継続期間すなわち表示のためにDPBからフレームが取り出される速度などの、復号リソースに関する知識、ならびに対象デコーダに提供されているおよび/または提供される予定の符号化フレームの複雑性および所要処理時間に関する知識などの、その他の要素を用いてよい。いくつかの実施形態では、DBPの状態に関連付けられたリアルタイムのフィードバック例えばDPBが現時点で実際に保持しているフレームの数が、対象デコーダによってエンコーダに動的に提供されるので、エンコーダにおける符号化判定は、対象デコーダの実際の性能に少なくとも部分的に基づくことが可能である。いくつかの実施形態では、対象デコーダのモデルは、対応する符号化セットの選択肢を各フレーム用に選択することを補助するために、エンコーダ側において、スライドウィンドウ上で用いられるので、符号化ビデオデータのビット流またはビットシーケンスにおける複雑性の変動およびクオリティの変動は、対象デコーダの実際のおよび/または推定される性能に基づいて、エンコーダにおいて動的に制御することができる。対象デコーダのこのようなモデルは、いくつかの実施形態では、フレームの符号化に使用される符号化の選択肢またはツールの各インスタンスに復号複雑性コストを関連付けて、符号化フレームの総複雑性を決定しそして対象デコーダの複雑性の制限または制約と比較できるようにすることを含む。いくつかの実施形態では、エンコーダにおける対象デコーダのモデルは、符号化される予定の各フレーム用の目標複雑性を決定するために用いられる。いくつかの実施形態では、各フレーム用の固定値である目標複雑性が対象デコーダに関連付けられ、これは、対象デコーダの利用可能な復号リソースまたは復号能力に基づくものであってよい。いくつかの実施形態では、任意の所定フレーム用の目標複雑性は動的な値であり、エンコーダにおいて利用可能な対象デコーダのモデルを通じた対象デコーダの性能のシミュレーションによって決定され、これは、対象デコーダにおいて利用可能な復号リソースのみならず、例えば所定のウィンドウ内または時間フレーム内において対象デコーダに既に提供されているまたは提供される予定で待機中の符号化データの複雑性にも依存してよい。いくつかの実施形態では、フレーム用の目標複雑性は、現行フレームおよび/または先行フレームのコンテンツに少なくとも部分的に基づく。いくつかの実施形態では、フレーム用の目標複雑性は、ビデオデータシーケンス内のその他のフレームに対する該当フレームの大切さすなわち重要性に少なくとも部分的に基づく。いくつかの実施形態において、例えばビデオを符号化する場合は、フレームの重要性ひいてはそのフレーム用の目標複雑性を決定するにあたって、フレームのタイプ例えば基準フレームであるかまたは非基準フレームであるかおよび表示継続期間などの要素が考慮される。図3は、ビデオデータを符号化するためのプロセスの実施形態を図示している。いくつかの実施形態では、プロセス300は、図2のプロセス200の204において用いられる。ビデオデータのフレームは、例えばスライスやマクロブロックなどのさらに小さい複数の構成要素または単位に細分することができる。プロセス300などのいくつかの実施形態では、フレームの符号化は、フレームを構成するマクロブロックを個々に符号化することを含む。プロセス300の302では、各フレームについて、符号化フレームを提供される予定の対象デコーダによって扱うことができる所望の総フレーム複雑性コストが結果として達成されるような方式で、フレームを構成する各マクロブロック用に、符号化ツールおよび符号化技術のセットが決定される。いくつかの実施形態では、302における、マクロブロックを符号化するために使用される予定の符号化ツールの決定は、フレームの符号化の複雑性が全体としてフレームに関連付けられた目標複雑性制約に等しいまたはそれに近く、ゆえに対象デコーダにおいて最適のまたは最適に近いクオリティの再生が保証されるような方式でなされる。304では、各フレームを構成するマクロブロックの符号化が、302の決定ごとになされ、そうして、プロセス300は終了する。いくつかの実施形態では、ツールセットを定めるために、エンコーダにおいて利用可能な1つまたは複数の符号化ツールまたは符号化技術が使用される。いくつかの実施形態では、エンコーダは、このようなツールセットの表または一覧を含み、各ツールセットは、エンコーダにおいて利用可能な1つまたは複数の符号化ツールを含む。いくつかの実施形態では、とあるフレーム用の符号化スキームの決定に使用するために、1つのツールセットが選択される。いくつかの実施形態では、1つまたは複数の利用可能ツールセットを使用した1回または複数回の繰り返し後に、フレームに適した符号化スキームが見いだされる。いくつかの実施形態において、特定のフレームを符号化するために特定のツールセットが選択された場合は、その選択されたツールセット内の1つまたは複数の利用可能符号化ツールのみが、フレームおよびそのフレームを構成するマクロブロックを符号化するために用いられてよい。このようなケースでは、いくつかの実施形態では、各マクロブロックを符号化するために、適宜、ツールセットのサブセットが選択される。各マクロブロック用にツールセットから選択される符号化ツールのサブセットは、フレームを構成するマクロブロックごとに異なってよく、マクロブロックのコンテンツもしくは複雑性、マクロブロックおよび/もしくは関連フレームの相対的重要性、フレーム内におけるマクロブロックの位置などの要素に依存してよい。ツールセットは、含まれる符号化ツールの相違、および/またはツールセットに含まれるツールに関連付けられた複雑性コスト重みの相違によって異なってよい。いくつかの実施形態では、ツールセットに含まれる各符号化ツールは、複雑性コストの重みに関連付けられる、すなわちその符号化ツールの使用に関連する複雑性コストを計算する際にその符号化ツールのデコーダ固有の複雑性コストに乗じられる係数に関連付けられる。このような重みは、フレームまたはフレームを構成するマクロブロックの符号化の際に関連の符号化技術がより節約方式で用いられるように、高価なすなわちより高コストの復号動作にバイアスをかけるために用いることができる。いくつかの実施形態では、エンコーダにおいて利用可能なツールセットは、符号化のクオリティ、各ツールセットにおいて利用可能な符号化ツールの複雑性、および/またはツールに割り当てられた重みにしたがってランク付けされる。例えば、いくつかの実施形態において、許容可能な符号化スキームを決定するために最初に試みられる、エンコーダにおけるデフォルトツールセットは、エンコーダにおいて利用可能なあらゆる符号化ツールを含み、それらの各ツールに等しい復号複雑性コスト重み例えば1を割り当てている。もし、このようなデフォルトツールセットに基づいてフレーム用に選択された符号化スキームが、そのフレームの目標複雑性内である場合は、その符号化スキームが、フレームを符号化するために用いられる。しかしながら、もし、このようなデフォルトツールセットに基づいてフレーム用に選択された符号化スキームが、そのフレームの目標複雑性を超える場合は、対象デコーダにおけるフレームの再生および最適な復号を保証するために、目標複雑性内の別の符号化スキームが決定される。このような場合は、同じツールセットおよび/または1つもしくは複数のその他のツールセットを通した繰り返しを、適切な符号化スキームが見つかるまで、すなわちフレーム用の目標複雑性内の復号複雑性を有するとともに最良のクオリティを実現するような符号化スキームが見つかるまで、1回または複数回にわたって実施する必要があると考えられる。このような繰り返しは、適切な符号化スキームを効率的に探せるように、インテリジェントに実施することができる。このような場合において、復号複雑性を低減させつつ符号化のクオリティを最大限にするために、いくつかの実施形態では、所定フレーム内の複雑性ソース例えばどのツールが復号複雑性に最も寄与しているかが決定され、フレーム用のツールセットをインテリジェントに選択するために使用される。符号化の複雑性を低減させるために、復号コストが高いツールほど大きい重みを割り当てるツールセットが選択されるので、符号化スキームの決定の際は、復号コストの高いツールほど使用頻度が小さくなる。例えば、デフォルトツールセットが、16×16Inter予測および8×8Inter予測の双方に等しい複雑性コスト重み1を割り当てる一方で、別のツールセットは、コストが高い復号技術ほど大きい重みを割り当てる例えば16×16Inter予測に重み1を割り当てる一方で、8×8Inter予測には重み16を割り当てることによって、そのような復号技術にペナルティを課して、フレームまたはフレームを構成するマクロブロックの符号化スキームを決定する際にそれが使用される頻度を小さくしてよい。いくつかの実施形態では、エンコーダにおいて利用可能なツールセットは、複雑性コストとともにクオリティ測定値を関連付けられている。エンコーダは、複雑性とクオリティとの最適なバランスを見いだすために、ツールセットの組み合わせを探すことができる。このような方法の1つは、ラグランジュの方法であり、この方法では、クオリティの制約によって複雑性が最小限に抑えられる、あるいはより必然的に、複雑性の制約によってひずみが最小限に抑えられる。いくつかの実施形態では、符号化ツールは、最低限の符号化基準を維持しつつ符号化コストを最小にする方式でマクロブロックを符号化するように、特定のツールセットから選択されるので、対象デコーダでは、少なくとも最低限の復号クオリティが得られる。いくつかの実施形態では、マクロブロックレベルでの、ツールセットからの符号化ツールの選択は、制約のない検索であり、例えば、マクロレベルでは、複雑性の制約もコストの制約も存在しない。いくつかの実施形態では、各マクロブロックは、最適な符号化すなわち最小誤差の符号化を結果としてもたらす特定のツールセットからの1組の符号化ツールによって符号化される。前述のように、いくつかの実施形態におけるフレームの総複雑性は、フレームの符号化のために選択される量子化パラメータにも依存する。いくつかの実施形態では、フレームまたはフレームを構成するマクロブロック用の適切な符号化スキームを決定するプロセス例えば図2のプロセス200または図3のプロセス300は、目標複雑性に等しいまたはそれ未満の総復号複雑性値を有する符号化スキームがそのフレーム用に見いだされるまで、1つもしくは複数のツールセットおよび/または量子化パラメータ値を通して繰り返しを行うことを含む。いくつかの実施形態では、マクロブロック用の符号化ツールの選択は、1のようなレート-ひずみ最適化式に少なくとも部分的に基づく。C=DλR1ここで、Cは、マクロブロックを符号化するコストを表し、Dは、選択された符号化に対応するマクロブロックのひずみを表し、Rは、マクロブロックを符号化するために使用されるレートすなわちビット数を表し、λは、ひずみDに対してレートRを重み付けすることを可能にする係数を表している。いくつかの実施形態では、所定の対象デコーダに対して各種の符号化ツールおよび符号化技術を使用する復号複雑性コストを考慮するために、2のような改良版のレート-ひずみ最適化式が用いられる。C=DλRαX2ここで、追加項Xは、特定の対象デコーダについて、マクロブロックを符号化するために使用される符号化ツールの累積複雑性コストを表し、αは、レートRおよびひずみDに対して複雑性Xを重み付けすることを可能にする係数を表している。いくつかの実施形態では、Xは、符号化のために選択された量子化パラメータに関連付けられた複雑性コストを含む。いくつかの実施形態では、Xは、符号化スキームを決定するために使用される特定のツールセットに関連付けられた複雑性コスト重みを含む。いくつかの実施形態では、式1および/または2は、マクロブロックのための動き検出および/またはモード判定に対して用いられる。符号化モードを選択する元になるツールセットを与えられたすると、いくつかの実施形態では、各マクロブロックにおいて、ひずみ、レート、および/または複雑性の間のトレードオフが最良になる符号化モードを見いだすことが望ましい。符号化ツールを選択する元になるツールセットを与えられたとすると、いくつかの実施形態では、各マクロブロックにおいて、最小コストCの符号化が望ましいとされ、繰り返しによって見いだされる。いくつかの実施形態では、選択された符号化スキームすなわちマクロブロックおよびフレームのために選択された符号化ツールによってフレームを符号化する総コストまたは総コストの一部を表す累積値を生成するために、フレームを構成する全てのマクロブロックのコスト関数例えば式1または2のCの値が足し合わされてよい。このような値は、その符号化スキームが許容可能であって、なおかつ符号化フレームを提供される予定の対象デコーダによって十分に扱えるかどうかを決定するために、そのフレーム用のコスト制約と比較されてよい。いくつかの実施形態では、符号化フレームの総復号複雑性コストまたは同総復号複雑性コストの一部を表す別のすなわち異なる累積値を生成するために、全てのマクロブロックの累積複雑性コストXが足し合わされる。このような値は、その符号化フレームが許容可能であって、なおかつ対象デコーダによって十分に扱えるかどうかを決定するために、そのフレーム用に決定された目標復号複雑性と比較される。いくつかの実施形態では、フレームの総複雑性は、3によって計算される。ここで、Xframeは、フレームの総複雑性を表し、iは、符号化ツール例えば選択されたツールセットのなかでフレームを符号化するために使用されるツールを表し、Nは、フレームの符号化に使用される異なる符号化ツールの総数を表し、niは、フレームの符号化に符号化ツールiが用いられる回数例えばツールiを使用するマクロブロックの数を表し、Xiは、特定の対象デコーダについての符号化ツールiの復号複雑性コストを表している。いくつかの実施形態では、式3の1つの項、すなわちiの1つの値は、所定の符号化スキーム用に選択された量子化パラメータに関連付けられた複雑性コストに対応している。いくつかの実施形態では、各Xiは、符号化スキームを決定するために使用される特定のツールセットに関連付けられた対象デコーダ固有の複雑性コストの重みを含んでいる。図4は、ビデオデータのフレーム用の符号化スキームを決定するためのプロセスの実施形態を図示している。いくつかの実施形態では、プロセス400は、図3の302において用いられる。プロセス400は、符号化を必要とするフレームが決定されるまたは受信される402から開始する。404では、402のフレームを提供される予定の対象デコーダの現行の状態または性能が決定される。いくつかの実施形態では、404は、対象デコーダに関連付けられたモデルのシミュレーションおよび/または復号のために対象デコーダに既に提供されているもしくは提供される必要があるフレームの複雑性に関する知識に少なくとも部分的に基づいて、対象デコーダの現行の状態を推定することを含む。いくつかの実施形態では、404は、対象デコーダの現行の状態または性能に関連した動的フィードバックを対象デコーダから受信することを含む。いくつかの実施形態では、404は、シミュレーションを通じて対象デコーダのDPBの状態を決定することを含む。いくつかの実施形態では、404は、DPBの現行の状態に関する動的フィードバックを対象デコーダから受信することと、対象デコーダの現行の性能の決定においてDPBの実際の状態を用いることとを含む。いくつかの実施形態では、402のフレームの復号が予定される時点における対象デコーダにおける復号リソースの利用可能性を推定するために、404における対象デコーダの現行の状態の決定、ならびに/またはビデオデータシーケンスのなかのその他のフレームの複雑性および/もしくはコンテンツに関する知識が用いられる。406では、404において決定された対象デコーダの現行の状態に少なくとも部分的に基づいて、402のフレーム用の目標複雑性が決定される。いくつかの実施形態では、406における目標複雑性の決定は、対象デコーダにおけるフレームの復号が予期される時点のものとして予期される対象デコーダにおける復号リソースの利用可能性に少なくとも部分的に基づく。いくつかの実施形態では、406において決定されるフレームの目標複雑性は、フレームのコンテンツの複雑性に少なくとも部分的に基づく。いくつかの実施形態では、406において決定される目標複雑性は、関連のビデオデータシーケンス内のその他のフレームに対するフレームの重要性に少なくとも部分的に基づく。例えば、いくつかの実施形態では、406において決定される目標複雑性は、そのフレームが基準フレームであるかまたは非基準フレームであるかに少なくとも部分的に基づく。いくつかの実施形態では、406において決定されるフレームの目標複雑性は、現行フレームすなわち402において決定されたフレームの後に符号化されて対象デコーダに提供される予定の、関連のビデオシーケンス内の1つまたは複数の後続フレームのコンテンツの複雑性および/または重要性に少なくとも部分的に基づく。いくつかの実施形態では、406において決定される目標複雑性は、対象デコーダにおいて処理電力および/または電池残量を節約する要望などのその他の要素に少なくとも部分的に基づいており、この場合は、符号化フレームを復号するために対象デコーダにおいてフルの復号リソースおよび/または潜在能力が利用可能であった場合に決定されるであろう目標複雑性と比べて低い目標複雑性を、406においてフレーム用に決定することができる。408では、406の目標複雑性内ですなわち目標複雑性に等しいまたはそれ未満の範囲で最大の複雑性をともなう符号化スキームが、フレーム用に決定される。いくつかのケースでは、対象デコーダにおける復号リソースの制約を満足させつつ対象デコーダにおいて最適な再生クオリティが得られるように、408において、目標複雑性に等しいまたは目標複雑性に近い複雑性によってフレームを符号化することが望ましい。いくつかの実施形態では、408は、406においてフレーム用に決定された目標複雑性内の複雑性をともなう符号化スキームを決定することを含むが、しかしながら、利用可能なツールセットおよび/または符号化のために利用可能な量子化パラメータ値を前提に、目標複雑性内で最大の複雑性をともなう符号化スキームを探す検索または繰り返しを実施することは含まない。このようないくつかのケースでは、フレーム用に決定された、目標複雑性の制約を満足するおよび/または目標複雑性の所定範囲内である複雑性をともなう最初の符号化スキームが、そのフレームを符号化するために用いられる。プロセス400は、次いで、終了する。いくつかの実施形態では、プロセス400は、ビデオデータシーケンスに含まれる1つまたは複数のフレームを符号化するために、繰り返し実施される。図5は、フレームを符号化するためのプロセスの実施形態を図示している。いくつかの実施形態では、プロセス500は、図2のプロセス200の204において用いられる。いくつかの実施形態では、プロセス500は、図3のプロセス300の302および304において用いられる。いくつかの実施形態では、プロセス500は、図4のプロセス400の408において用いられる。プロセス500は、フレーム用の少なくとも1つの初期符号化スキームを決定するために使用される予定の初期ツールセットおよび/または量子化パラメータ値とともに、502から開始する。いくつかの実施形態では、502の初期ツールセットは、デフォルトツールセットに対応しており、これは、例えば、関連のエンコーダにおいて利用可能な全ての符号化ツールを含みなおかつ各ツールに等しい複雑性コスト重み例えば1を割り当てられたツールセットである。いくつかの実施形態では、502の初期ツールセットは、先行フレームのために使用されることを決定されたツールセットに対応している。504では、502のツールセットおよび/または量子化パラメータ値を使用して、フレーム用の符号化スキームが決定される。いくつかの実施形態では、504においてフレームの符号化スキームを決定することは、ツールセット内の利用可能な1つまたは複数の符号化ツールを使用して、フレームに含まれる各マクロブロックの符号化スキームを決定することを含む。いくつかの実施形態では、フレームを構成する各マクロブロックについて最低限の符号化基準を満足させつつ所定の復号データクオリティを保証する最も低コストの符号化スキームを、繰り返しによって決定するために、式1または式2などの最適化式を用いることによって、フレーム全体としてコストが最小の符号化スキームを求めることがなされる。いくつかの実施形態では、例えば、所定の復号データクオリティを保証する最低限の符号化要件を満足させつつ各マクロブロックについての関連の復号複雑性が最小である符号化スキームを決定することによって、フレーム全体として関連の復号複雑性が最小の符号化スキームを求めることがなされる。506では、504においてフレーム用に決定された符号化スキームによって符号化されるフレームの複雑性が、そのフレームに関連付けられた目標複雑性内すなわちその目標複雑性に等しいまたはそれ未満の範囲内であるかどうかが決定される。いくつかの実施形態では、フレーム複雑性は、フレームを構成するマクロブロック用に選択された符号化スキームに関連付けられた複雑性コストを足し合わせることによって決定される。いくつかの実施形態では、フレーム複雑性は、式3を用いて決定される。いくつかの実施形態では、506は、目標複雑性内で最大の復号複雑性をともなう符号化スキームをプロセス500を使用して繰り返しによって決定し、対象デコーダにおいて最良の再生が保証されるようにするために、フレーム複雑性がそのフレームの目標複雑性未満の一定割合に等しいかまたはそれ未満であるかを決定することを含む。もし506において、例えばフレーム複雑性が目標複雑性より大きいまたはフレーム複雑性がフレームの目標複雑性未満の固定割合内でないなど、フレーム複雑性がフレームの目標複雑性内でないと決定された場合は、508において、1つもしくは複数のマクロブロック用に現行のツールセットから選択された符号化ツールおよび/または量子化パラメータ値が調整される、あるいはツールセット自体および/または量子化パラメータ値が調整される。すると、プロセス500は504に進み、508において選択されたツールセットおよび/または量子化パラメータ値を使用して、フレームすなわちフレームを構成するマクロブロック用に別の符号化スキームが決定される。いくつかの実施形態では、508における調整は、例えば、フレームのコンテンツ内の複雑性ソースに関する知識、フレームのコンテンツを符号化するためにどの符号化ツールが好ましいかに関する知識、どの符号化ツールが復号複雑性により重く寄与するかに関する知識などに基づいて、インテリジェントになされる。もし506において、フレーム複雑性が目標複雑性内または目標複雑性の所定割合内であると決定された場合は、510において、フレームは、504においてフレーム用に決定された符号化スキームによって符号化され、プロセス500は終了する。いくつかの実施形態では、プロセス500は、ビデオデータシーケンスに含まれる1つまたは複数のフレームを符号化するために、繰り返し的に実施される。図6は、フレーム用の符号化スキームと、そのフレームに関連したコストまたは複雑性とを決定するためのプロセスの実施形態を図示している。いくつかの実施形態では、プロセス600は、図5のプロセス500の504において用いられる。いくつかの実施形態では、プロセス600において、フレーム用の符号化スキームを決定するために、1つの選定ツールセットおよび/または量子化パラメータ値が使用され、符号化される予定のフレームの各マクロブロック用の1つまたは複数の符号化スキームを決定するために、その選定ツールセット内の1つまたは複数の利用可能な符号化ツールが用いられる。プロセス600は、符号化スキームを決定される予定のフレームの第1のマクロブロックとともに、602から開始する。604では、602のマクロブロック用に、第1の符号化スキームが決定される。いくつかの実施形態では、604における符号化スキームの決定を補助するために、式1または式2などの最適化式が用いられる。606では、604において選択された符号化スキームの、復号複雑性または復号コストが計算される。いくつかの実施形態では、604において決定された符号化スキームは、606において、恐らくは重み付けされている符号化ツールの対象デコーダ固有の複雑性コストおよび/または符号化スキームのために使用される量子化パラメータを加算することによって、その復号複雑性を決定される。ここで、符号化ツールの複雑性コストの重み付けは、いくつかの実施形態では、フレームの符号化スキームを決定するために使用されるツールセットに依存する。いくつかの実施形態では、606は、計算された復号複雑性または復号コストを、符号化スキームおよび/またはコスト、レート、ひずみなどの関連の情報とともに格納することを含み、そうして、符号化スキームを、マクロブロックのその他の符号化スキーム候補と比較することを可能にしている。いくつかの実施形態では、このような格納情報は、もし利用可能でなおかつ/または適切であれば、例えば図5のプロセス500の506においてフレームの総複雑性がフレームの目標複雑性を超える場合などにフレーム用に別の符号化スキームを決定するときすなわちフレームの1つまたは複数のマクロブロック用に恐らくは異なる符号化スキームを決定するときに、そして例えばフレーム用に異なる符号化スキームを決定するために同じ選定ツールセットおよび/または量子化パラメータ値が使用されるときに使用される。608では、マクロブロック用に他の符号化スキームを探すかどうかが決定される。いくつかの実施形態では、選定ツールセットおよび/または量子化パラメータ値を前提として、マクロブロック用に最適な符号化スキームを見いだすことができるように、608において、別の符号化スキームを探すことが決定される。608において、マクロブロック用に他の符号化スキームを探すことが決定された場合は、例えば同じ選定ツールセットおよび/または量子化パラメータを使用して、610において、マクロブロック用に別の符号化スキームが選択される。次いで、プロセス600は606に戻り、610において選択された符号化スキームの復号複雑性が計算され、符号化スキームおよび/または符号化スキームに関連付けられた情報とともに格納される。いくつかの実施形態では、各種の符号化スキーム、関連の復号複雑性、および/またはその他の関連の情報を比較のために取得および格納し、マクロブロック用に最適な符号化スキームの選択を可能にするために、プロセス600のステップ610,606,608が、1回または2回以上にわたって繰り返される。例えば604および610においてマクロブロック用に選択された符号化スキームは、いくつかの実施形態では、レート-ひずみ最適化式例えば式1または改良版のレート-ひずみ最適化式例えば式2に少なくとも部分的に基づく。608において、例えば、選択を行われる1つもしくは複数の符号化スキームが既に決定されている、または例えば時間もしくは処理に制約がある、適切な符号化スキームが見つかったなどゆえに他の符号化スキームの決定にさらなるリソースを消費することが望まれない、などの理由でマクロブロック用に別の符号化スキームを探さないと決定された場合は、612において、例えば604または610においてマクロブロック用に決定された1つまたは複数の符号化スキームからなるセットから、マクロブロック用の符号化スキームが選択される。いくつかの実施形態では、612において、マクロブロック用の符号化スキームを選択するために、606においてマクロブロック用に格納された符号化スキーム、関連の復号複雑性、および/またはその他の関連の情報の比較が行われる。614では、612においてマクロブロック用に選択された符号化スキームに関連付けられた復号複雑性コストが、復号複雑性コストの累積和に加算される。この和は、いくつかの実施形態では、フレーム全体の総復号複雑性を表しており、フレームを構成するマクロブロック用に選択された符号化スキームの個々の復号複雑性コストを含むものである。616では、符号化される予定のフレームの各マクロブロック用に符号化スキームが決定されたかどうかが決定される。616において、まだフレームの全てのマクロブロック用に符号化スキームが選択されていないと決定された場合は、プロセス600は、まだ符号化スキームを選択されていないマクロブロックとともに618に進み、618のマクロブロック用に第1の符号化スキームが決定される604に戻る。いくつかの実施形態では、618のマクロブロック用に604において選択された符号化スキームは、1つまたは複数の先行マクロブロック用に選択された符号化スキームに少なくとも部分的に基づく。もし616において、符号化される予定のフレームの全てのマクロブロック用に符号化スキームが決定されたと決定された場合は、620において、フレーム全体としての符号化スキームいくつかの実施形態では、フレームを構成するマクロブロックの符号化スキームからなるおよびフレームの総復号複雑性すなわち614の復号複雑性コストの累積和の最終値が戻され、プロセス600は終了する。いくつかの実施形態では、フレームの総復号複雑性を、フレームを構成するマクロブロックの符号化スキームの復号複雑性の累積和として計算する代わりに、式3を使用して計算している。式3は、各種の符号化ツールが用いられた回数、符号化ツールに関連付けられた対象デコーダ固有の複雑性コスト、およびフレームを符号化するために使用されているツールセットに依存する複雑性コストに対する任意の重み付けに基づく。いくつかの実施形態では、各マクロブロックの復号複雑性例えば606におけるものおよびフレームの総復号複雑性すなわち614の累積和を計算する代わりに、またはそれに追加して、式1または式2などの最適化式を用いて各マクロブロックの符号化スキームのコストが計算され、こうして計算されたコストは、フレームの総コストを表すこのようなコストの累積和に加算される。このようないくつかのケースでは、フレーム用の適切な符号化スキームを決定する際に、例えば図5のプロセス500の506などにおいて、フレームの総コストをそのフレーム用の目標コストと比較することが行われる。図7は、フレームの符号化のために使用されるツールセットを調整するためのプロセスの実施形態を図示している。いくつかの実施形態では、プロセス700は、図5のプロセス500の508において用いられる。プロセス700は、フレーム用に選択された符号化スキームの復号複雑性コストに最も大きく寄与する要素および/または符号化ツールが決定される702から開始する。いくつかの実施形態では、図5のプロセス500の504において決定されたフレーム用の符号化スキームの復号複雑性コストに最も大きく寄与する要素および/または符号化ツールが、702において解析される。いくつかの実施形態では、702は、フレームのコンテンツのうち、選択された符号化スキームによって符号化された場合に高い復号複雑性コストをもたらす部分を決定することを含む。いくつかの実施形態では、702は、フレームの符号化スキームの復号複雑性コストに最も寄与する符号化ツールおよび/またはその他のパラメータを決定することを含む。704では、フレームの復号複雑性コストに最も大きく寄与するものとして702において決定された1つもしくは複数の符号化ツールの使用を排除するおよび/または例えば複雑性コストの重みによってその使用にペナルティを課すようなツールセットが選択される。いくつかの実施形態では、704は、量子化パラメータの値を調整することを含む。量子化パラメータは、所望の複雑性および選定されたツールセットに関連付けられた複雑性にしたがって、インテリジェントに調整されてよい。例えば、量子化パラメータは、少なくとも一部には、フレームの符号化のために使用される予定のツールセットを変更することによる影響を相殺するように、調整されてよい。例えば、704では、限られた符号化選択肢および/または複雑性をともなうツールセットを704において選択することによる影響を相殺するために、より細かい量子化値が、704において選択されてよい。本明細書では、量子化パラメータ値を調整することついて説明されているが、フレームの符号化の複雑性に影響を及ぼすその他のパラメータもまた同様に、704において必要に応じて調整されてよい。次いで、プロセス700は終了する。図8は、1つまたは複数のフレームを前処理するためのプロセスの実施形態を図示している。いくつかの実施形態では、フレームは、それ用のより良い符号化スキームの選択を促進するために、符号化に先立って前処理されるまたは選択基準に応じて前処理可能であってよい。いくつかの実施形態では、フレームは、その中のエントロピを低減させるために、前処理されるまたは前処理されてよい。例えば、複雑性の高いビデオシーケンスのフレームを、限られた符号化選択肢および/または複雑性をともなうツールセットを使用して符号化するときに、いくつかの実施形態では、そのフレームは、そのコンテンツを緩やかに降格させ、符号化フレーム内の圧縮アーチファクトを回避するために、符号化に先立って前処理される。いくつかの実施形態において、もし例えばフレームを解析することによって、またはフレームを符号化する試行的繰り返しによって、または関連もしくは類似のフレームの符号化によって、フレームのコンテンツの一部の最適なまたは最適に近い符号化が、非常に高価な技術または対象デコーダによって扱うことができない技術を必要とすると決定されえる場合は、そのようなコンテンツは、符号化に先立って低減されるおよび/またはフレームから除去される。プロセス800は、複雑性の高いフレームが検出される802から開始する。804において、802において検出されたフレームは、そのフレーム用に、より低い対象デコーダコストの符号化を実現できるようにするために、適切に前処理される。例えば、もし、802において検出されたフレームが、ノイズが多いと判断された場合は、そのフレームは、元のフレームデータ内に存在するノイズによってフレームの符号化が影響されないように、または少なくとも影響が少なくなるように、804において、空間フィルタまたは平滑化フィルタを使用した前処理によってノイズを低減および/または除去されてよい。806では、前処理されたフレームが符号化され、プロセス800は終了する。いくつかの実施形態では、プロセス800は、符号化される必要があるビデオシーケンスの1つまたは複数の関連フレームまたは連続フレームの前処理に用いられる。例えば、もしエンコーダ側において、対象デコーダがビデオコンテンツのシーケンス内またはそのサブセット内の全てのフレームを扱えないことが知られている場合は、符号化の前に、シーケンス内の1つまたは複数の連続フレームに対して時間フィルタリングが用いられてよい。例えば、2つもしくは3つ以上の連続フレームのコンテンツの平均化が行われてよい、またはフレームのダウンサンプリングが行われてよい例えば、フレームをハーフレートで符号化のために選択して対象デコーダに提供してよい、すなわち、ビデオコンテンツのシーケンス内のフレームを符号化のために1つおきに選択して対象デコーダに提供してよい。いくつかの実施形態では、フレームのダウンサンプリングは、インテリジェントに実施されてよい。例えば、2つまたは3つ以上の連続フレーム間で大きく変化するフレームのみを符号化のために選択して対象デコーダに伝送することが行われてよい。いくつかの実施形態では、エンコーダは、例えば処理能力および/またはメモリが限られているゆえにデコーダが追いつかない場合や関連のデバイスにおいて電池残量が少なくなっているまたは節約を望まれている場合などの必要時にデコーダ側において緩やかな降格を促進するために、拡張性を用いる。いくつかの実施形態では、時間的拡張性によって、対象デコーダは、必要時にフレームを緩やかに飛ばしてデコーダ側のフレームレートを効率的に低減させることが可能になる。このようないくつかのケースでは、時間的拡張性は、ビデオコンテンツのシーケンスまたはストリームにおける基準フレームおよび非基準フレームのパターンのインテリジェントな選択によって、エンコーダ側に組み込まれる。いくつかの実施形態では、基準フレームおよび非基準フレームのパターンは、好ましくは1つまたは複数の非基準フレームである一部のフレームが飛ばされた場合でも対象デコーダにおける見え方を最大限にするように、選択される。例えば、ビデオコンテンツのシーケンスのサブセットが高い複雑性を有することが検出された場合は、例えば対象デコーダが関連の複雑性を扱う能力の推定値に基づいて、エンコーダ側においてサブセット内のさらに多くのフレームを非基準フレームとしてマークしてよい。同様に、もし特定のフレームが、高度に複雑であるものとエンコーダ側において判断され、高い復号コストを特徴とする符号化スキームを有する場合は、そのフレームは、非基準フレームとして選択されてよく、そうすることによって、対象デコーダは、もし遅れた場合でも見え方を大幅に悪化させることなくそのフレームを飛ばすという選択肢を持てるようになる。いくつかの実施形態では、エンコーダ側は、ビデオコンテンツのシーケンス用の基準フレームおよび非基準フレームのパターンを選択するためのプロセスまたはアルゴリズムを含み、これは、エンコーダにおける対象デコーダのモデルを通じてエンコーダ側において利用可能である対象デコーダの既知の特性および予期される性能、復号のために対象デコーダに提供されているもしくは引き続き提供される予定のその他のデータの複雑性に関する知識、ならびに/またはデコーダからのその現行の性能に関する動的フィードバックに、少なくとも部分的に基づくものである。エンコーダ側におけるフレームの符号化には、時間的拡張性に加えて、またはそれに代わって、1つまたは複数のその他の拡張性の層を含ませて、デコーダ側における緩やかなさらなる降格を可能にしてよい。いくつかの実施形態では、1つまたは複数の拡張性の層は、デコーダ側に課される再生または見え方のクオリティのペナルティを最小限に抑えられる方式で、エンコーダ側において選択される。符号化ビットストリームに組み込まれる拡張性の量は可変であり、ビットストリームの局所的複雑性に依存してよい。図9は、対象デコーダにおける符号化フレームの復号を緩やかに降格させるためのプロセスの実施形態を図示している。いくつかの実施形態では、プロセス900は、例えば対象デコーダにおける処理または電力消費の制約ゆえに、その対象デコーダが符号化ビデオシーケンスの符号化において遅れを取りはじめたときに、対象デコーダにおいて用いられる。プロセス900は、復号複雑性の高いフレームが検出される902から開始する。904において、902のフレームの復号は、緩やかに降格される。いくつかの実施形態では、904は、そのフレームを一部とするビデオコンテンツのシーケンス全体の見え方が最大限にされること、および視覚的なクオリティが長時間にわたって一定にまたはほぼ一定に維持されることを保証する方式で、フレームの復号を降格させることを含む。いくつかの実施形態では、904は、例えばフレームの復号複雑性が高いゆえに、そのフレームを全く復号しないことすなわちそのフレームを飛ばすことを含む。このようないくつかのケースでは、基準フレームに高い復号優先度が与えられており、完全に飛ばされる可能性があるのは非基準フレームに限られるので、関連のビデオシーケンス内のその他のフレームは、フレームの飛ばしによる影響を受けない。いくつかの実施形態では、904は、最も重要な復号動作を実施すること、およびフレームを完全に復号するためには実施される必要がある1つまたは複数のその他の復号動作を飛ばすことを含む。このような技術は、フレームの復号のクオリティを低くする結果となり、これは、とあるフレームが復号される時点でそのフレームを完全に飛ばすことは望ましくないがデコーダにおいて利用可能な復号リソースが限られている場合に有用である。同様に、いくつかの実施形態では、符号化フレームの復号のクオリティを下げるために、フレームの符号化に関連付けられた1つまたは複数の拡張性の層に関連付けられた復号動作が飛ばされる。次いで、プロセス900は終了する。本明細書に開示されるように、データを提供される予定の対象デコーダにおける利用可能復号リソースによって扱うことができる復号複雑性に基づいて、エンコーダにおいてそのデータのための符号化スキームをインテリジェントに選択することによって、対象デコーダにおける復号性能および再生クオリティを最適にするまたは最適に近くすることができる。さらに、符号化に先立つデータの前処理によって、符号化データの復号複雑性が低減されてよい。必要時には、データの符号化スキームに組み込まれた拡張性を通じて、符号化データの復号時における緩やかな降格が促進されてよい。復号データのクオリティを高めるために、デコーダにおける後処理が使用されてよい。データの復号および/または後処理に役立てるために、実際の符号化データ以外に、データの符号化に関連した情報が、エンコーダによって対象デコーダに提供されてよい。本明細書に開示されるように、コーデックの符号化プロセスおよび/または復号プロセスへのインテリジェンスの組み入れは、対象デコーダにおける符号化データのクオリティをより良くすることを可能にする。以上の実施形態は、理解を明確にする目的でいくらか詳細に説明されてきたが、本発明は、提供された詳細に限定されず、本発明には、数々の代替の実現方法がある。開示された実施形態は、例示的であって非限定的である。"