(57)【特許請求の範囲】
【請求項１】
データセットを符号化するエンコーダが行う方法であって、
符号化データの送信先である対象デコーダの処理状態を推定することと、
前記対象デコーダの推定された状態に応じて選択された符号化パラメータに従って、ビデオデータのセットを符号化することとを備え、
前記ビデオデータのセットを符号化することは、選択的に復号から除外可能な複数の拡張レイヤとしての前記ビデオデータをコーディングすることを備え、
前記方法は更に、
ビデオデータのシーケンスをコーディングするために使用される符号化パラメータの初期セットを選択することと、
対象デコーダが処理可能な符号化パラメータの最終セットが選択されるまで繰り返して、
前記選択された符号化パラメータのセットに従ってコード化されたコード化ビデオのシーケンスを復号するコストを推定し、
前記コード化ビデオの送信先である対象デコーダにおいて利用可能な処理リソースと、前記推定された復号のコストと、を比較し、
前記推定された復号のコストが、前記対象デコーダにおいて利用可能な処理リソースを越えている場合は、次の繰り返しにおける符号化パラメータのセットを再選択する
こと、を有する前記符号化パラメータを選択することを更に備え、
前記符号化では、符号化パラメータの前記最終セットに従って、ビデオデータの前記シーケンスをコード化する
ことを特徴とする方法。
【請求項２】
エンコーダが行うビデオコード化方法であって、
ビデオデータのシーケンスをコーディングするために使用される符号化パラメータのセットを選択することと、
対象デコーダが処理可能な符号化パラメータの最終セットが選択されるまで繰り返して、
前記選択された符号化パラメータのセットに従ってコード化されたコード化ビデオのシーケンスを復号するコストを推定し、
前記コード化ビデオの送信先である対象デコーダにおいて利用可能な処理リソースと、前記推定された復号のコストと、を比較し、
前記推定された復号のコストが、前記対象デコーダにおいて利用可能な処理リソースを越えている場合は、次の繰り返しにおける符号化パラメータのセットを再選択することと、
符号化パラメータの前記最終セットに従って、ビデオデータの前記シーケンスをコード化することと、
前記コード化されたビデオデータをチャネルに対して出力することと
を備えることを特徴とするビデオコード化方法。
【請求項３】
前記符号化パラメータのセットは、前記シーケンスの各フレームについて選択されることを特徴とする請求項２に記載のビデオコード化方法。
【請求項４】
前記比較は、ビデオデータの先のコード化されたシーケンスの符号化パラメータによって生じる復号コストに従って、前記対象デコーダにおいて利用可能な処理リソースを推定することを有する、ことを特徴とする請求項２に記載のビデオコード化方法。
【請求項５】
前記コード化は、複数の拡張レイヤとしての前記ビデオデータをコーディングすることを備え、前記対象デコーダがリアルタイムで全てのレイヤを処理できない場合に選択的に復号から除外可能なレイヤを選択する、ことを特徴とする請求項２に記載のビデオコード化方法。
【請求項６】
前記コード化は、複数の拡張レイヤとしての前記ビデオデータをコーディングすることを備え、前記対象デコーダが電力節約モードにおいて前記コード化されたビデオデータを復号する場合に選択的に復号から除外可能なレイヤを選択する、ことを特徴とする請求項２に記載のビデオコード化方法。
【請求項７】
エンコーダが行うデータコード化方法であって、
符号化データの送信先である対象デコーダの復号能力を判定することと、
スライディングウィンドウスケールでの入力データの複雑性を推定することと、
前記入力データの推定された複雑性と前記対象デコーダの復号能力とに基づいて、前記スライディングウィンドウにおける前記入力データを符号化することとを備え、
前記符号化することは、前記推定された複雑性が増加すれば、非参照フレームとしてアサインする入力データにおけるフレーム数を増加させることを備え、
前記入力データの前記推定された複雑性は、前記対象デコーダの復号能力がデグレートしていると判定されたことに応じて増加し、
前記データコード化方法は更に、
入力データのシーケンスをコーディングするために使用される符号化パラメータの初期セットを選択することと、
対象デコーダが処理可能な符号化パラメータの最終セットが選択されるまで繰り返して、
前記選択された符号化パラメータのセットに従ってコード化されたコード化入力データのシーケンスを復号するコストを推定し、
前記コード化入力データの送信先である対象デコーダにおいて利用可能な処理リソースと、前記推定された復号のコストと、を比較し、
前記推定された復号のコストが、前記対象デコーダにおいて利用可能な処理リソースを越えている場合は、次の繰り返しにおける符号化パラメータのセットを再選択する
こと、を有する前記符号化パラメータを選択することを更に備え、
前記符号化では、符号化パラメータの前記最終セットに従って、入力データの前記シーケンスをコード化する
ことを特徴とするデータコード化方法。
【請求項８】
デグレートしている復号能力の判定は、前記対象デコーダのモデルからの推定に基づいていることを特徴とする請求項７に記載のデータコード化方法。
【請求項９】
デグレートしている復号能力の判定は、前記対象デコーダの復号能力を特定するフィードバックチャネルを介して、前記対象デコーダから受信した連絡に基づいていることを特徴とする請求項７に記載のデータコード化方法。
【請求項１０】
前記連絡は、前記デコーダのバッテリー電源レベルが低減していることを示していることを特徴とする請求項９に記載のデータコード化方法。
【請求項１１】
前記連絡は、前記デコーダにおけるプロセッサの処理負荷が増加していることを示していることを特徴とする請求項９に記載のデータコード化方法。
【請求項１２】
前記連絡は、前記対象デコーダが使用可能な復号アルゴリズムを特定することを特徴とする請求項９に記載のデータコード化方法。
【請求項１３】
前記連絡は、利用可能なデコーダ処理速度を特定することを特徴とする請求項９に記載のデータコード化方法。
【請求項１４】
前記連絡は、前記対象デコーダにおける電力消費制限を特定することを特徴とする請求項９に記載のデータコード化方法。
【請求項１５】
前記連絡は、前記対象デコーダにおいて利用可能なメモリ資源を特定することを特徴とする請求項９に記載のデータコード化方法。
【発明の詳細な説明】
【背景技術】
【０００１】
通常、ビデオシーケンスのフレームなどのデータ用に、エンコーダにおいて１つまたは
複数の符号化スキームを選択することは、符号化データを復号するために使用されている
および／または使用される予定のデコーダの動的状態に対して特定の符号化判定および／
または符号化判定シーケンスが及ぼす影響に関する知識または考慮をともなうことなく決
定される。最も一般的には、データは、特定のデコーダの動的状態に及ぼされる影響を考
慮することなくひずみに対してデータ転送速度をバランスさせる方式で符号化され、さら
に、十分な復号を保証する最低限のデコーダ要件および／または復号システム要件が特定
され、原則的に、最低限の要件を満たすデコーダを有するユーザに使用を制限することが
行われる。したがって、もし、符号化データの１つまたは複数の部分の復号を、特定のデ
コーダにおいて利用可能な復号リソースによって十分に扱うことができない場合は、復号
性能が低下して、再生のクオリティが損なわれる結果になる。したがって、符号化データ
の復号は、デコーダにおける復号能力および復号リソースの範囲内であることが望ましい
と考えられる。
【０００２】
ゆえに、対象デコーダに関する知識に基づいてデータを符号化するための改良された方
法が必要とされている。
【０００３】
以下の詳細な説明および添付の図面において、発明の各種の実施形態が開示される。
【図面の簡単な説明】
【０００４】
【図１Ａ】コーデックの典型的実施形態を図示している。
【図１Ｂ】異なる符号化スキームによってデータが符号化されるコーデックの実施形態を図示している。
【図２】データを符号化するためのプロセスの実施形態を図示している。
【図３】ビデオデータを符号化するためのプロセスの実施形態を図示している。
【図４】ビデオデータのフレーム用の符号化スキームを決定するためのプロセスの実施形態を図示している。
【図５】フレームを符号化するためのプロセスの実施形態を図示している。
【図６】フレーム用の符号化スキームと、そのフレームに関連したコストまたは複雑性とを決定するためのプロセスの実施形態を図示している。
【図７】フレームの符号化のために使用されるツールセットを調整するためのプロセスの実施形態を図示している。
【図８】１つまたは複数のフレームを前処理するためのプロセスの実施形態を示している。
【図９】対象デコーダにおける符号化フレームの復号を緩やかに降格させるためのプロセスの実施形態を図示している。
【発明を実施するための形態】
【０００５】
本発明は、プロセス、装置、システム、合成物、コンピュータ可読記憶媒体などのコン
ピュータ可読媒体、または光通信リンクもしくは電子通信リンクを通じてプログラム命令
が送信されるコンピュータネットワークなどを含む数々のかたちで実現することができる
。本明細書では、これらの実現形態、または本発明がとりえるその他のあらゆる形態を、
技術として称することができる。タスクを実施するように構成されるものとして説明され
るプロセッサまたはメモリなどのコンポーネントは、所定時にタスクを実施するように一
時的に構成される汎用コンポーネント、またはタスクを実施するように製造された専用コ
ンポーネントの両方を含む。一般に、開示されたプロセスのステップの順序は、本発明の
範囲内で変更可能である。
【０００６】
本発明の１つまたは複数の実施形態の詳細な説明が、本発明の原理を図示した添付の図
面とともに以下で提供される。本発明は、このような実施形態に関連して説明されるが、
本発明は、いかなる実施形態にも限定されない。本発明の範囲は、特許請求の範囲によっ
てのみ限定され、本発明は、数々の代替、変更、および等価の形態を網羅している。以下
の説明では、本発明の完全な理解を促すために、数々の具体的詳細が特定されている。こ
れらの詳細は、例示を目的として提供され、本発明は、これらの具体的詳細の一部または
全部をともなわなくても特許請求の範囲にしたがって実施可能である。明瞭さを期するた
め、本発明に関連した技術分野において知られている技術的要素は、詳細に説明されず、
したがって、本発明は。不必要に不明瞭化されない。
【０００７】
符号化データの復号複雑性に関する認識と、符号化データを復号する対象デコーダの能
力とに少なくとも部分的に基づいてデータを符号化するための技術が開示される。いくつ
かの実施形態では、符号化データを提供される予定の対象デコーダの状態に少なくとも部
分的に基づいて、データセットが符号化される。いくつかの実施形態では、符号化データ
セットを提供される予定の複数のデコーダの状態に少なくとも部分的に基づいて、データ
セットが符号化される。
【０００８】
図１Ａは、コーデックの典型的実施形態を図示している。図に示されるように、エンコ
ーダ１０２は、オーディオ、ビデオ、オーディオビジュアル、および／またはその他のマ
ルチメディアコンテンツなどのメディアデータを符号化し、符号化データ１０４を１つま
たは複数のデコーダ１０６に提供する。実施形態に応じて、符号化データは、ネットワー
クもしくはその他の通信チャネルを介して提供される、ＤＶＤもしくはＣＤなどの可動媒
体に格納される、デジタルラジオ放送もしくは無線ネットワーク接続などの無線周波数を
介して伝送される、またはサーバに格納され、ＰＣ、携帯音楽プレーヤ／携帯ビデオプレ
ーヤ、もしくはその他のデバイスにおけるダウンロードおよびそれに続く再生に利用でき
るようにされる。デコーダ１０６において、符号化データ１０４は、例えば表示、再生、
編集などのために符号化コンテンツを取り出すために復号される。挙げられた例にあるよ
うに、符号化データ１０４は、ハンドヘルドコンピュータデバイス、ラップトップ、デス
クトップ、セットトップボックス、ＭＰ３プレーヤなどの恐らくは様々に異なるタイプの
デバイス上の、複数のデコーダ１０６に提供することが望ましいであろう。しかしながら
、復号に利用可能なリソースは、デバイスのタイプおよびデコーダのタイプによって異な
るであろう。利用可能な処理速度、電力消費制限、利用可能なメモリなどの要素、デコー
ダアーキテクチャに関連付けられた要素（例えば可能な並行処理の程度）、利用可能な復
号アルゴリズムの計算複雑性などが、各デコーダにおける復号性能に影響する。
【０００９】
エンコーダにおけるデータの符号化は、通常、符号化データを復号するために使用され
ているおよび／または使用される予定のデコーダの動的状態に対する特定の符号化判定お
よび／または符号化判定シーケンスの影響を考慮することなく決定される。特定の符号化
スキームをともなうデータは、通常、符号化データを十分に解凍するためにデコーダ側に
おいて実施される必要がある最低限の処理要件に関連付けられている。もしデコーダが。
最低限の処理要件を提供することができない場合は、このようなデコーダにおける符号化
データの復号は、全く不可能になるであろう、または、例えば１つもしくは複数の復号動
作が実施されないゆえにデコーダ出力のクオリティに影響がでる、デコーダがデータを飛
ばしたり抜かしたりするなどのように、少なくとも一部が損なわれるであろう。図１Ａの
構成では、同じ符号化によるデータ１０４が、複数のデコーダ１０６に提供される。しか
しながら、たとえデータの符号化スキームが同じでも、その符号化データ１０４がデコー
ダ１０６によって復号される方式およびクオリティは、各デコーダ１０６における復号リ
ソースの利用可能性に応じて異なるであろう。
【００１０】
対象デコーダに、その対象デコーダにおける利用可能復号リソースによって十分に扱う
ことができる符号化スキームによる符号化データを提供するために、エンコーダにおいて
、符号化データを提供される予定の対象デコーダの現行の状態および／または予想される
状態に関する知識に少なくとも部分的に基づいてデータを符号化することが開示される。
本明細書に開示されるように、恐らくは異なる復号能力および復号リソースの様々なデバ
イスにおいてデータを利用可能にするために、または対象デコーダの動的（現行の、将来
の、および／もしくは予測される）状態に対する符号化判定の影響を考慮に入れた方式で
１つのタイプのデコーダにおいてデータを利用可能にするために、いくつかの実施形態で
は、各対象デコーダについて、その対象デコーダにおいて利用可能な復号リソースに関す
る知識に少なくとも部分的に基づいく符号化の判定がなされる。いくつかの実施形態にお
いて、符号化データを提供される予定のデコーダの過去の、現行の、将来の、および／ま
たは予測される状態に少なくとも部分的に基づいてデータを符号化することは、対象デコ
ーダにおける関連の復号制約に適合しつつ対象デコーダにおいて最適のまたは最適に近い
復号可能性の実現を可能にすることによって、対象デコーダにおける復号性能を向上させ
る結果になる。いくつかの実施形態において、符号化データを提供される予定のデコーダ
の過去の、現行の、将来の、および／または予測される状態に少なくとも部分的に基づい
てデータを符号化することは、対象デコーダにおける関連の復号制約に適合しつつ対象デ
コーダ用に最も関連性のある復号ツールを選択および／またはカスタマイズすることによ
って、対象デコーダにおける復号性能を向上させる結果になる。
【００１１】
図１Ｂは、異なる符号化スキームによってデータが符号化されるコーデックの実施形態
を図示している。図に示されるように、エンコーダ１０８は、恐らくは異なる符号化スキ
ームによる符号化データ１１０を、デコーダ１１２に提供する。デコーダ１１２において
、符号化データ１１０は、例えば表示、再生、編集などのために符号化コンテンツを取り
出すために復号される。いくつかの実施形態では、データを提供される予定の各デコーダ
用に、エンコーダによって、カスタマイズされた符号化スキームが選択される。いくつか
の実施形態では、データを提供される予定の複数のデコーダ用に、エンコーダによって、
カスタマイズされた符号化スキームが選択される。このようなカスタマイズされた符号化
スキームは、デコーダが、利用可能リソースに応じて異なる復号クオリティを得ることを
可能にする。いくつかの実施形態では、同じデータが、エンコーダにおいて所定の符号化
スキームセットを使用して複数の方式で符号化され、特定のデコーダにとって最も適した
符号化スキームによって符号化されたデータが、そのデコーダに提供される。いくつかの
実施形態では、特定の対象デコーダ用にエンコーダにおいて選択された符号化スキームを
、データが対象デコーダに提供される際に変更してよく、例えば、復号のために対象デコ
ーダにおいて利用可能なリソースに関連付けられたモデルに基づく対象デコーダの推定性
能に関する知識、対象デコーダにおいて各種の復号動作を実施するコストに関する知識、
対象デコーダからのその現行の性能および復号能力に関連した動的フィードバック、所定
の時間フレーム内またはウィンドウ内において対象デコーダに既に提供されているまたは
提供される必要がある符号化データの復号複雑性に関する知識、対象デコーダに提供され
る予定のデータのコンテンツの複雑性に関する知識などに依存してよい。目標とされる対
象デコーダの復号能力と、入力データの複雑性とに基づいてデータをインテリジェントに
符号化することによって、対象デコーダの復号の性能およびクオリティを最適化すること
が可能になる。
【００１２】
いくつかの実施形態では、エンコーダ（例えば図１Ｂの１０８）は、ビデオデータをフ
レームごとに符号化し、符号化されたビデオデータ（例えば図１Ｂの１１０）を対象デコ
ーダ（例えば図１Ｂの１１２）に送る。いくつかの実施形態では、エンコーダ１０８は、
ビデオデータをフレームごとに符号化し、符号化されたビデオデータ１１０を、（例えば
対象デコーダ１１２に関連付けられたドライブまたはその他の記憶媒体読み取り装置にダ
ウンロードされた後にまたは可動媒体を挿入された後に）対象デコーダ１１２によって引
き続き使用されるように、固定のもの（例えばサーバ）および／または可動記憶媒体（例
えばＤＶＤ、ＣＤ）に格納する。各フレームの符号化スキームは、符号化データが伝送さ
れる（例えばネットワークまたはその他の通信チャネルを介してブロードキャストされる
、流されるなどの）場合は、符号化データが対象デコーダに伝送される際にエンコーダに
おいて変更されてよい。あるいは、各フレームの符号化スキームは、データが符号化され
、今後の対象デコーダへの提供および対象デコーダによる使用のためにサーバまたは可動
媒体に格納される場合は、例えば符号化された先行フレームの復号後におけるデコーダの
モデルおよびその予測される状態に基づくなど、のちにフレームが復号される時点のもの
として予測される対象デコーダの状態に少なくとも部分的に基づいて、各フレーム用に決
定されてよい。いくつかの実施形態では、ビデオデータを構成するフレームの符号化スキ
ームは、デコーダ側におけるビデオデータの見え方を最適化するように、エンコーダにお
いて変更される。いくつかの実施形態では、ビデオデータを構成するフレームの符号化ス
キームは、復号リソースの異なる複数のデコーダにおけるビデオデータの見え方を最適化
するように、エンコーダにおいて変更される。いくつかの実施形態では、ビデオデータは
、Ｈ．２６４標準規格にしたがって、エンコーダによって符号化される。本明細書に開示
されるように、いくつかの実施形態では、Ｈ．２６４符号化ビットストリームについて選
択される複雑性は、対象デコーダの能力の推定値に少なくとも部分的に基づき、これは、
いくつかの実施形態では、複雑性またはコスト制約として表現される。このような場合は
、符号化されたビットストリームの複雑性が、対象デコーダによって十分に扱えるととも
に上手く再生できるものになるように、適切な符号化スキームが、対象デコーダに関連付
けられた複雑性またはコスト制約の測定値を使用して選択される。いくつかの実施形態で
は、フレームの符号化スキームは、例えば、対象デコーダが再生に追いつかないとき、関
連のデバイス上においてその他のプロセスが並行して実行されているゆえに復号に利用可
能な処理電力が制限されるとき、対象デコーダにおいて処理電力および／または電池残量
の節約が望まれているときなどの必要時に対象デコーダにおける復号品質の緩やかな降格
（デグレード）を可能にする拡張性の層（拡張レイヤー）を含む。いくつかの実施形態で
は、コンテンツは、符号化コンテンツが復号される予定の目標デバイスの電池寿命を最長
にする方式で、エンコーダにおいて符号化される。このような符号化スキームは、ハンド
ヘルドデバイス、ＭＰ３プレーヤ、ラップトップコンピュータなどの携帯型のデバイスに
とって、とりわけ有用である。
【００１３】
ときに（例えばビデオシーケンスのコンテンツを構成する各種フレームの符号化に関連
した）ビデオの符号化およびＨ．２６４標準規格についての記載があるが、本明細書にお
いて説明される技術は、ビデオデータの符号化にもＨ．２６４標準規格にも限定されない
。本明細書において説明される技術は、むしろ、テキスト、イメージ、グラフィックス、
アニメーション、オーディオ、ビデオなどの、任意の適切な標準規格またはプロトコルに
したがって符号化される任意のタイプのコンテンツ、データ、またはデータセットを符号
化するために用いられてよい。
【００１４】
図２は、データを符号化するためのプロセスの実施形態を図示している。いくつかの実
施形態では、プロセス２００は、対象デコーダ１１２に合わせて符号化データ１１０をカ
スタマイズするために、エンコーダ１０８によって用いられる。プロセス２００は、符号
化される予定のデータまたはコンテンツが決定される２０２から開始する。いくつかの実
施形態では、２０２のデータは、ビデオデータの一フレームに対応する。２０２で決定さ
れたデータは、２０４において、特定の対象デコーダによって符号化データを復号するた
めのコスト推定値に少なくとも部分的に基づいて決定される方式で符号化される。いくつ
かの実施形態では、２０４は、２０２のデータ用の目標復号複雑性を決定すること、およ
び決定された目標複雑性を符号化データの復号複雑性が超えないような方式で２０２のデ
ータを符号化することを含む。各種の実施形態において、特定のフレーム（またはその他
の単位）用の目標複雑性は、例えば、デコーダにおいて利用可能な復号リソースならびに
／または先行フレームおよび／もしくは後続フレームの複雑性に関する知識に基づいて、
少なくとも一部には、動的に決定された、推定された、および／もしくは予測される対象
デコーダの状態、ならびに／または対象デコーダがさらなる複雑性を扱って処理するため
の既に知られている、推定される、および／もしくは予測される能力によって決定される
。プロセス２００は、次いで、終了する。ビデオを符号化する場合、いくつかの実施形態
では、プロセス２００は、符号化されて対象デコーダに提供される予定の各フレームにつ
いて繰り返される。
【００１５】
推定される対象デコーダにおける復号コストは、対象デコーダにおける復号リソースの
利用可能性に少なくとも部分的に基づく。いくつかの実施形態では、プロセス２００の２
０４における符号化スキームの選択は、符号化スキームによって符号化されたデータを対
象デコーダにおいて復号するコストがその対象デコーダに関連付けられた最大復号コスト
制約内であって、したがって、対象デコーダにおいて利用可能な復号リソースによって符
号化データが十分に復号可能であるようになされる。いくつかの実施形態では、適切な符
号化スキームを決定するために、対象デコーダによって十分に扱うことができる最大復号
複雑性に関連付けられた制約が用いられる。複雑性の制約は、少なくとも一部には、復号
コストの制約から得られてよく、その逆もまた可である。いくつかの実施形態では、対象
デコーダに関連付けられたコストおよび／または複雑性の制約は、固定値ではなく、対象
デコーダにおける復号リソースの実際のまたは推定される利用可能性の変動とともに変化
する動的な量である。本明細書において、「コスト制約」および「複雑性制約」は、とき
に同義の用語として使用され、特定の対象デコーダが扱えるまたは扱えると期待される復
号複雑性の量に対する制約を意味している。
【００１６】
符号化スキームは、１つまたは複数の符号化ツールまたは符号化技術をともなうことが
できる。ビデオの符号化に利用可能なツールとしては、例えば、フレームタイプ、動き予
測、補間位置、動きベクトルの長さ、ベクトルの広がり、動き補正、Ｉｎｔｒａ予測、Ｉ
ｎｔｅｒ予測、ループフィルタリングなどが挙げられ、このようなツールに関連付けられ
た動作は、Ｈ．２６４などの標準規格によって定められてよい。各ツールは、デコーダ固
有の複雑性に関連付けられる。フレームの複雑性は、フレームを符号化するために選択さ
れる符号化ツールだけでなく、選択される量子化パラメータの値などのその他のパラメー
タ、およびビット解析や逆変換などのその他の復号ステップにも依存してよい。
【００１７】
符号化のために使用されるツールに関連付けられた動作は、符号化に関連付けられた動
作を元通りにするための対応する逆動作をデコーダ側において必要とするであろう。ゆえ
に、いくつかの実施形態では、符号化スキームに使用される各ツールおよび／または各パ
ラメータが、復号コストまたは復号複雑性に寄与している。いくつかの実施形態では、デ
コーダ固有の複雑性コストが、各符号化ツールまたは符号化技術に関連付けられている。
各種の符号化ツールおよび符号化技術に関連付けられる複雑性コストは、対象デコーダが
異なるごとに異なるであろう。いくつかの実施形態では、ビデオデータのフレームなど特
定の対象デコーダに提供される予定のデータセットを符号化する際に符号化ツールまたは
符号化技術が用いられるまたは起動されるたびに、そのツールまたは技術に関連付けられ
た対象デコーダ固有の複雑性コストがこのような複雑性コストの累積和に加算される。後
ほどさらに詳細に説明されるように、このような加算の最終値は、符号化フレームの総復
号複雑性の測定値として機能してよく、目標複雑性内であるかどうかを決定するために目
標複雑性と比較され、もし、目標複雑性内でない場合は、そのフレームの符号化スキーム
は、符号化フレームの総復号複雑性が目標複雑性内になって、得られた符号化フレームの
復号が対象デコーダによって十分に扱えるようになるように、変更されてよい。もし、推
定される総復号複雑性が目標複雑性未満である場合は、より良いクオリティを達成するた
めに、さらなる符号化ツールを使用することができる。
【００１８】
いくつかの実施形態では、対象デコーダの性能は、少なくとも一部には、エンコーダ側
において対象デコーダのモデルをもとに推定される。このようなモデルは、例えばビデオ
データのフレームなど符号化される予定の任意の所定のデータセット用に適切な符号化ス
キームを選択できるように、エンコーダ側において対象デコーダの行動を推定またはシミ
ュレートすることを可能にする。いくつかの実施形態では、このようなモデルは、対象デ
コーダにおいて利用可能な復号リソースに基づく。１つまたは複数の復号リソースの利用
可能性は、時間とともに変化しえる。このようないくつかのケースでは、１つまたは複数
の復号リソースの利用可能性に関して対象デコーダからエンコーダへと動的フィードバッ
クが提供されてよい。復号性能に影響しえるリソースの非限定例として、対象デコーダお
よび／または関連デバイスにおける、利用可能な復号アルゴリズム、利用可能な復号用処
理速度、（例えば電池寿命を延ばすための）電力消費制限、利用可能なメモリ、可能な並
行処理の程度などが挙げられる。いくつかの実施形態では、対象デコーダ用のモデルに、
一定の処理速度または一定の複雑性消費率が用いられる。各種の実施形態では、エンコー
ダ側において対象デコーダの性能をシミュレーションするにあたり、対象デコーダに既に
提供されているまたは提供される予定の符号化データの複雑性に関する知識、復号ピクチ
ャバッファ（ＤＰＢ）の最大容量および／または推定されるもしくは実際の状態に関する
知識、対象デコーダに提供されるフレームの表示継続期間に関する知識などのその他の要
素が用いられる。
【００１９】
前述のように、対象デコーダの性能は、いくつかの実施形態では、少なくとも一部には
、ＤＰＢの最大容量および／または状態によって特徴付けられる。デコーダにおけるＤＰ
Ｂは、デコーダによって復号されているがまだ表示されていないフレームを保持するもの
である。ＤＰＢは、その深さまたは容量によって特徴付けられ、それは、例えば、保持す
ることができる最大のデータ量、保持することができる復号フレームの最大数などによっ
て測定されえる。ＤＰＢの状態に関するシミュレートされたまたは実際の知識は、いくつ
かの実施形態では、エンコーダ側における適切な符号化スキームの選択を補助するために
使用される。例えば、もしエンコーダにおいて、対象デコーダのＤＰＢがほぼ使い果たさ
れていると決定された場合は、エンコーダにおいて、後続フレームの複雑性を下げること
が望ましいであろう。同様に、もしエンコーダにおいて、対象デコーダのＤＰＢがフル容
量に近いと決定された場合は、エンコーダにおいて、後続フレームにさらなる複雑性を投
入し、より高いクオリティの見栄えを達成可能にすることが望ましいであろう。いくつか
の実施形態では、対象デコーダのＤＰＢの現行の状態に関する知識は、エンコーダにおい
て、対象デコーダに関連付けられたモデルのシミュレーションを行うことによって得られ
る。このようなシミュレーションは、復号の処理速度（すなわちフレームが復号されＤＰ
Ｂに入力される速度）、ＤＰＢの最大容量、ＤＰＢの中の各フレームの表示継続期間（す
なわち表示のためにＤＰＢからフレームが取り出される速度）などの、復号リソースに関
する知識、ならびに対象デコーダに提供されているおよび／または提供される予定の符号
化フレームの複雑性および所要処理時間に関する知識などの、その他の要素を用いてよい
。いくつかの実施形態では、ＤＢＰの状態に関連付けられたリアルタイムのフィードバッ
ク（例えばＤＰＢが現時点で実際に保持しているフレームの数）が、対象デコーダによっ
てエンコーダに動的に提供されるので、エンコーダにおける符号化判定は、対象デコーダ
の実際の性能に少なくとも部分的に基づくことが可能である。
【００２０】
いくつかの実施形態では、対象デコーダのモデルは、対応する符号化セットの選択肢を
各フレーム用に選択することを補助するために、エンコーダ側において、スライドウィン
ドウ上で用いられるので、符号化ビデオデータのビット流またはビットシーケンスにおけ
る複雑性の変動およびクオリティの変動は、対象デコーダの実際のおよび／または推定さ
れる性能に基づいて、エンコーダにおいて動的に制御することができる。対象デコーダの
このようなモデルは、いくつかの実施形態では、フレームの符号化に使用される符号化の
選択肢またはツールの各インスタンスに復号複雑性コストを関連付けて、符号化フレーム
の総複雑性を決定しそして対象デコーダの複雑性の制限または制約と比較できるようにす
ることを含む。いくつかの実施形態では、エンコーダにおける対象デコーダのモデルは、
符号化される予定の各フレーム用の目標複雑性を決定するために用いられる。いくつかの
実施形態では、各フレーム用の固定値である目標複雑性が対象デコーダに関連付けられ、
これは、対象デコーダの利用可能な復号リソースまたは復号能力に基づくものであってよ
い。いくつかの実施形態では、任意の所定フレーム用の目標複雑性は動的な値であり、エ
ンコーダにおいて利用可能な対象デコーダのモデルを通じた対象デコーダの性能のシミュ
レーションによって決定され、これは、対象デコーダにおいて利用可能な復号リソースの
みならず、例えば所定のウィンドウ内または時間フレーム内において対象デコーダに既に
提供されているまたは提供される予定で待機中の符号化データの複雑性にも依存してよい
。いくつかの実施形態では、フレーム用の目標複雑性は、現行フレームおよび／または先
行フレームのコンテンツに少なくとも部分的に基づく。いくつかの実施形態では、フレー
ム用の目標複雑性は、ビデオデータシーケンス内のその他のフレームに対する該当フレー
ムの大切さすなわち重要性に少なくとも部分的に基づく。いくつかの実施形態において、
例えばビデオを符号化する場合は、フレームの重要性ひいてはそのフレーム用の目標複雑
性を決定するにあたって、フレームのタイプ（例えば基準フレームであるかまたは非基準
フレームであるか）および表示継続期間などの要素が考慮される。
【００２１】
図３は、ビデオデータを符号化するためのプロセスの実施形態を図示している。いくつ
かの実施形態では、プロセス３００は、図２のプロセス２００の２０４において用いられ
る。ビデオデータのフレームは、例えばスライスやマクロブロックなどのさらに小さい複
数の構成要素または単位に細分することができる。プロセス３００などのいくつかの実施
形態では、フレームの符号化は、フレームを構成するマクロブロックを個々に符号化する
ことを含む。プロセス３００の３０２では、各フレームについて、符号化フレームを提供
される予定の対象デコーダによって扱うことができる所望の総フレーム複雑性コストが結
果として達成されるような方式で、フレームを構成する各マクロブロック用に、符号化ツ
ールおよび符号化技術のセットが決定される。いくつかの実施形態では、３０２における
、マクロブロックを符号化するために使用される予定の符号化ツールの決定は、フレーム
の符号化の複雑性が全体としてフレームに関連付けられた目標複雑性制約に等しいまたは
それに近く、ゆえに対象デコーダにおいて最適のまたは最適に近いクオリティの再生が保
証されるような方式でなされる。３０４では、各フレームを構成するマクロブロックの符
号化が、３０２の決定ごとになされ、そうして、プロセス３００は終了する。
【００２２】
いくつかの実施形態では、ツールセットを定めるために、エンコーダにおいて利用可能
な１つまたは複数の符号化ツールまたは符号化技術が使用される。いくつかの実施形態で
は、エンコーダは、このようなツールセットの表または一覧を含み、各ツールセットは、
エンコーダにおいて利用可能な１つまたは複数の符号化ツールを含む。いくつかの実施形
態では、とあるフレーム用の符号化スキームの決定に使用するために、１つのツールセッ
トが選択される。いくつかの実施形態では、１つまたは複数の利用可能ツールセットを使
用した１回または複数回の繰り返し後に、フレームに適した符号化スキームが見いだされ
る。いくつかの実施形態において、特定のフレームを符号化するために特定のツールセッ
トが選択された場合は、その選択されたツールセット内の１つまたは複数の利用可能符号
化ツールのみが、フレームおよびそのフレームを構成するマクロブロックを符号化するた
めに用いられてよい。このようなケースでは、いくつかの実施形態では、各マクロブロッ
クを符号化するために、適宜、ツールセットのサブセットが選択される。各マクロブロッ
ク用にツールセットから選択される符号化ツールのサブセットは、フレームを構成するマ
クロブロックごとに異なってよく、マクロブロックのコンテンツもしくは複雑性、マクロ
ブロックおよび／もしくは関連フレームの相対的重要性、フレーム内におけるマクロブロ
ックの位置などの要素に依存してよい。ツールセットは、含まれる符号化ツールの相違、
および／またはツールセットに含まれるツールに関連付けられた複雑性コスト重みの相違
によって異なってよい。いくつかの実施形態では、ツールセットに含まれる各符号化ツー
ルは、複雑性コストの重みに関連付けられる、すなわちその符号化ツールの使用に関連す
る複雑性コストを計算する際にその符号化ツールのデコーダ固有の複雑性コストに乗じら
れる係数に関連付けられる。このような重みは、フレームまたはフレームを構成するマク
ロブロックの符号化の際に関連の符号化技術がより節約方式で用いられるように、高価な
（すなわちより高コストの）復号動作にバイアスをかけるために用いることができる。
【００２３】
いくつかの実施形態では、エンコーダにおいて利用可能なツールセットは、符号化のク
オリティ、各ツールセットにおいて利用可能な符号化ツールの複雑性、および／またはツ
ールに割り当てられた重みにしたがってランク付けされる。例えば、いくつかの実施形態
において、許容可能な符号化スキームを決定するために最初に試みられる、エンコーダに
おけるデフォルトツールセットは、エンコーダにおいて利用可能なあらゆる符号化ツール
を含み、それらの各ツールに等しい復号複雑性コスト重み（例えば１）を割り当てている
。もし、このようなデフォルトツールセットに基づいてフレーム用に選択された符号化ス
キームが、そのフレームの目標複雑性内である場合は、その符号化スキームが、フレーム
を符号化するために用いられる。しかしながら、もし、このようなデフォルトツールセッ
トに基づいてフレーム用に選択された符号化スキームが、そのフレームの目標複雑性を超
える場合は、対象デコーダにおけるフレームの再生および最適な復号を保証するために、
目標複雑性内の別の符号化スキームが決定される。このような場合は、同じツールセット
および／または１つもしくは複数のその他のツールセットを通した繰り返しを、適切な符
号化スキームが見つかるまで、すなわちフレーム用の目標複雑性内の復号複雑性を有する
とともに最良のクオリティを実現するような符号化スキームが見つかるまで、１回または
複数回にわたって実施する必要があると考えられる。このような繰り返しは、適切な符号
化スキームを効率的に探せるように、インテリジェントに実施することができる。このよ
うな場合において、復号複雑性を低減させつつ符号化のクオリティを最大限にするために
、いくつかの実施形態では、所定フレーム内の複雑性ソース（例えばどのツールが復号複
雑性に最も寄与しているか）が決定され、フレーム用のツールセットをインテリジェント
に選択するために使用される。符号化の複雑性を低減させるために、復号コストが高いツ
ールほど大きい重みを割り当てるツールセットが選択されるので、符号化スキームの決定
の際は、復号コストの高いツールほど使用頻度が小さくなる。例えば、デフォルトツール
セットが、１６×１６Ｉｎｔｅｒ予測および８×８Ｉｎｔｅｒ予測の双方に等しい複雑性
コスト重み１を割り当てる一方で、別のツールセットは、コストが高い復号技術ほど大き
い重みを割り当てる（例えば１６×１６Ｉｎｔｅｒ予測に重み１を割り当てる一方で、８
×８Ｉｎｔｅｒ予測には重み１６を割り当てる）ことによって、そのような復号技術にペ
ナルティを課して、フレームまたはフレームを構成するマクロブロックの符号化スキーム
を決定する際にそれが使用される頻度を小さくしてよい。
【００２４】
いくつかの実施形態では、エンコーダにおいて利用可能なツールセットは、複雑性コス
トとともにクオリティ測定値を関連付けられている。エンコーダは、複雑性とクオリティ
との最適なバランスを見いだすために、ツールセットの組み合わせを探すことができる。
このような方法の１つは、ラグランジュの方法であり、この方法では、クオリティの制約
によって複雑性が最小限に抑えられる、あるいはより必然的に、複雑性の制約によってひ
ずみが最小限に抑えられる。
【００２５】
いくつかの実施形態では、符号化ツールは、最低限の符号化基準を維持しつつ符号化コ
ストを最小にする方式でマクロブロックを符号化するように、特定のツールセットから選
択されるので、対象デコーダでは、少なくとも最低限の復号クオリティが得られる。いく
つかの実施形態では、マクロブロックレベルでの、ツールセットからの符号化ツールの選
択は、制約のない検索であり、例えば、マクロレベルでは、複雑性の制約もコストの制約
も存在しない。いくつかの実施形態では、各マクロブロックは、最適な符号化すなわち最
小誤差の符号化を結果としてもたらす特定のツールセットからの１組の符号化ツールによ
って符号化される。
【００２６】
前述のように、いくつかの実施形態におけるフレームの総複雑性は、フレームの符号化
のために選択される量子化パラメータにも依存する。いくつかの実施形態では、フレーム
またはフレームを構成するマクロブロック用の適切な符号化スキームを決定するプロセス
（例えば図２のプロセス２００または図３のプロセス３００）は、目標複雑性に等しいま
たはそれ未満の総復号複雑性値を有する符号化スキームがそのフレーム用に見いだされる
まで、１つもしくは複数のツールセットおよび／または量子化パラメータ値を通して繰り
返しを行うことを含む。
【００２７】
いくつかの実施形態では、マクロブロック用の符号化ツールの選択は、（１）のような
レート−ひずみ最適化式に少なくとも部分的に基づく。
【００２８】
Ｃ＝Ｄ＋λＲ                        （１）
【００２９】
ここで、Ｃは、マクロブロックを符号化するコストを表し、Ｄは、選択された符号化に
対応するマクロブロックのひずみを表し、Ｒは、マクロブロックを符号化するために使用
されるレートすなわちビット数を表し、λは、ひずみ（Ｄ）に対してレート（Ｒ）を重み
付けすることを可能にする係数を表している。いくつかの実施形態では、所定の対象デコ
ーダに対して各種の符号化ツールおよび符号化技術を使用する復号複雑性コストを考慮す
るために、（２）のような改良版のレート−ひずみ最適化式が用いられる。
【００３０】
Ｃ＝Ｄ＋λＲ＋αＸ                      （２）
【００３１】
ここで、追加項Ｘは、特定の対象デコーダについて、マクロブロックを符号化するため
に使用される符号化ツールの累積複雑性コストを表し、αは、レート（Ｒ）およびひずみ
（Ｄ）に対して複雑性（Ｘ）を重み付けすることを可能にする係数を表している。いくつ
かの実施形態では、Ｘは、符号化のために選択された量子化パラメータに関連付けられた
複雑性コストを含む。いくつかの実施形態では、Ｘは、符号化スキームを決定するために
使用される特定のツールセットに関連付けられた複雑性コスト重みを含む。いくつかの実
施形態では、式（１）および／または（２）は、マクロブロックのための動き検出および
／またはモード判定に対して用いられる。符号化モードを選択する元になるツールセット
を与えられたすると、いくつかの実施形態では、各マクロブロックにおいて、ひずみ、レ
ート、および／または複雑性の間のトレードオフが最良になる符号化モードを見いだすこ
とが望ましい。符号化ツールを選択する元になるツールセットを与えられたとすると、い
くつかの実施形態では、各マクロブロックにおいて、最小コストＣの符号化が望ましいと
され、繰り返しによって見いだされる。
【００３２】
いくつかの実施形態では、選択された符号化スキーム（すなわちマクロブロックおよび
フレームのために選択された符号化ツール）によってフレームを符号化する総コストまた
は総コストの一部を表す累積値を生成するために、フレームを構成する全てのマクロブロ
ックのコスト関数（例えば式（１）または（２）のＣ）の値が足し合わされてよい。この
ような値は、その符号化スキームが許容可能であって、なおかつ符号化フレームを提供さ
れる予定の対象デコーダによって十分に扱えるかどうかを決定するために、そのフレーム
用のコスト制約と比較されてよい。いくつかの実施形態では、符号化フレームの総復号複
雑性コストまたは同総復号複雑性コストの一部を表す別の（すなわち異なる）累積値を生
成するために、全てのマクロブロックの累積複雑性コスト（Ｘ）が足し合わされる。この
ような値は、その符号化フレームが許容可能であって、なおかつ対象デコーダによって十
分に扱えるかどうかを決定するために、そのフレーム用に決定された目標復号複雑性と比
較される。いくつかの実施形態では、フレームの総複雑性は、（３）によって計算される
。
【００３３】
【数１】
0005404722.tif 000002
【００３４】
ここで、Ｘframeは、フレームの総複雑性を表し、ｉは、符号化ツール（例えば選択さ
れたツールセットのなかでフレームを符号化するために使用されるツール）を表し、Ｎは
、フレームの符号化に使用される異なる符号化ツールの総数を表し、ｎiは、フレームの
符号化に符号化ツールｉが用いられる回数（例えばツールｉを使用するマクロブロックの
数）を表し、Ｘiは、特定の対象デコーダについての符号化ツールｉの復号複雑性コスト
を表している。いくつかの実施形態では、式（３）の１つの項、すなわちｉの１つの値は
、所定の符号化スキーム用に選択された量子化パラメータに関連付けられた複雑性コスト
に対応している。いくつかの実施形態では、各Ｘiは、符号化スキームを決定するために
使用される特定のツールセットに関連付けられた対象デコーダ固有の複雑性コストの重み
を含んでいる。
【００３５】
図４は、ビデオデータのフレーム用の符号化スキームを決定するためのプロセスの実施
形態を図示している。いくつかの実施形態では、プロセス４００は、図３の３０２におい
て用いられる。プロセス４００は、符号化を必要とするフレームが決定されるまたは受信
される４０２から開始する。４０４では、４０２のフレームを提供される予定の対象デコ
ーダの現行の状態または性能が決定される。いくつかの実施形態では、４０４は、対象デ
コーダに関連付けられたモデルのシミュレーションおよび／または復号のために対象デコ
ーダに既に提供されているもしくは提供される必要があるフレームの複雑性に関する知識
に少なくとも部分的に基づいて、対象デコーダの現行の状態を推定することを含む。いく
つかの実施形態では、４０４は、対象デコーダの現行の状態または性能に関連した動的フ
ィードバックを対象デコーダから受信することを含む。いくつかの実施形態では、４０４
は、シミュレーションを通じて対象デコーダのＤＰＢの状態を決定することを含む。いく
つかの実施形態では、４０４は、ＤＰＢの現行の状態に関する動的フィードバックを対象
デコーダから受信することと、対象デコーダの現行の性能の決定においてＤＰＢの実際の
状態を用いることとを含む。いくつかの実施形態では、４０２のフレームの復号が予定さ
れる時点における対象デコーダにおける復号リソースの利用可能性を推定するために、４
０４における対象デコーダの現行の状態の決定、ならびに／またはビデオデータシーケン
スのなかのその他のフレームの複雑性および／もしくはコンテンツに関する知識が用いら
れる。
【００３６】
４０６では、４０４において決定された対象デコーダの現行の状態に少なくとも部分的
に基づいて、４０２のフレーム用の目標複雑性が決定される。いくつかの実施形態では、
４０６における目標複雑性の決定は、対象デコーダにおけるフレームの復号が予期される
時点のものとして予期される対象デコーダにおける復号リソースの利用可能性に少なくと
も部分的に基づく。いくつかの実施形態では、４０６において決定されるフレームの目標
複雑性は、フレームのコンテンツの複雑性に少なくとも部分的に基づく。いくつかの実施
形態では、４０６において決定される目標複雑性は、関連のビデオデータシーケンス内の
その他のフレームに対するフレームの重要性に少なくとも部分的に基づく。例えば、いく
つかの実施形態では、４０６において決定される目標複雑性は、そのフレームが基準フレ
ームであるかまたは非基準フレームであるかに少なくとも部分的に基づく。いくつかの実
施形態では、４０６において決定されるフレームの目標複雑性は、現行フレームすなわち
４０２において決定されたフレームの後に符号化されて対象デコーダに提供される予定の
、関連のビデオシーケンス内の１つまたは複数の後続フレームのコンテンツの複雑性およ
び／または重要性に少なくとも部分的に基づく。いくつかの実施形態では、４０６におい
て決定される目標複雑性は、対象デコーダにおいて処理電力および／または電池残量を節
約する要望などのその他の要素に少なくとも部分的に基づいており、この場合は、符号化
フレームを復号するために対象デコーダにおいてフルの復号リソースおよび／または潜在
能力が利用可能であった場合に決定されるであろう目標複雑性と比べて低い目標複雑性を
、４０６においてフレーム用に決定することができる。
【００３７】
４０８では、４０６の目標複雑性内で（すなわち目標複雑性に等しいまたはそれ未満の
範囲で）最大の複雑性をともなう符号化スキームが、フレーム用に決定される。いくつか
のケースでは、対象デコーダにおける復号リソースの制約を満足させつつ対象デコーダに
おいて最適な再生クオリティが得られるように、４０８において、目標複雑性に等しいま
たは目標複雑性に近い複雑性によってフレームを符号化することが望ましい。いくつかの
実施形態では、４０８は、４０６においてフレーム用に決定された目標複雑性内の複雑性
をともなう符号化スキームを決定することを含むが、しかしながら、利用可能なツールセ
ットおよび／または符号化のために利用可能な量子化パラメータ値を前提に、目標複雑性
内で最大の複雑性をともなう符号化スキームを探す検索または繰り返しを実施することは
含まない。このようないくつかのケースでは、フレーム用に決定された、目標複雑性の制
約を満足するおよび／または目標複雑性の所定範囲内である複雑性をともなう最初の符号
化スキームが、そのフレームを符号化するために用いられる。プロセス４００は、次いで
、終了する。いくつかの実施形態では、プロセス４００は、ビデオデータシーケンスに含
まれる１つまたは複数のフレームを符号化するために、繰り返し実施される。
【００３８】
図５は、フレームを符号化するためのプロセスの実施形態を図示している。いくつかの
実施形態では、プロセス５００は、図２のプロセス２００の２０４において用いられる。
いくつかの実施形態では、プロセス５００は、図３のプロセス３００の３０２および３０
４において用いられる。いくつかの実施形態では、プロセス５００は、図４のプロセス４
００の４０８において用いられる。プロセス５００は、フレーム用の少なくとも１つの初
期符号化スキームを決定するために使用される予定の初期ツールセットおよび／または量
子化パラメータ値とともに、５０２から開始する。いくつかの実施形態では、５０２の初
期ツールセットは、デフォルトツールセットに対応しており、これは、例えば、関連のエ
ンコーダにおいて利用可能な全ての符号化ツールを含みなおかつ各ツールに等しい複雑性
コスト重み（例えば１）を割り当てられたツールセットである。いくつかの実施形態では
、５０２の初期ツールセットは、先行フレームのために使用されることを決定されたツー
ルセットに対応している。５０４では、５０２のツールセットおよび／または量子化パラ
メータ値を使用して、フレーム用の符号化スキームが決定される。いくつかの実施形態で
は、５０４においてフレームの符号化スキームを決定することは、ツールセット内の利用
可能な１つまたは複数の符号化ツールを使用して、フレームに含まれる各マクロブロック
の符号化スキームを決定することを含む。いくつかの実施形態では、フレームを構成する
各マクロブロックについて最低限の符号化基準を満足させつつ所定の復号データクオリテ
ィを保証する最も低コストの符号化スキームを、繰り返しによって決定するために、式（
１）または式（２）などの最適化式を用いることによって、フレーム全体としてコストが
最小の符号化スキームを求めることがなされる。いくつかの実施形態では、例えば、所定
の復号データクオリティを保証する最低限の符号化要件を満足させつつ各マクロブロック
についての関連の復号複雑性が最小である符号化スキームを決定することによって、フレ
ーム全体として関連の復号複雑性が最小の符号化スキームを求めることがなされる。
【００３９】
５０６では、５０４においてフレーム用に決定された符号化スキームによって符号化さ
れるフレームの複雑性が、そのフレームに関連付けられた目標複雑性内（すなわちその目
標複雑性に等しいまたはそれ未満の範囲内）であるかどうかが決定される。いくつかの実
施形態では、フレーム複雑性は、フレームを構成するマクロブロック用に選択された符号
化スキームに関連付けられた複雑性コストを足し合わせることによって決定される。いく
つかの実施形態では、フレーム複雑性は、式（３）を用いて決定される。いくつかの実施
形態では、５０６は、目標複雑性内で最大の復号複雑性をともなう符号化スキームをプロ
セス５００を使用して繰り返しによって決定し、対象デコーダにおいて最良の再生が保証
されるようにするために、フレーム複雑性がそのフレームの目標複雑性未満の一定割合に
等しいかまたはそれ未満であるかを決定することを含む。
【００４０】
もし５０６において、例えばフレーム複雑性が目標複雑性より大きいまたはフレーム複
雑性がフレームの目標複雑性未満の固定割合内でないなど、フレーム複雑性がフレームの
目標複雑性内でないと決定された場合は、５０８において、１つもしくは複数のマクロブ
ロック用に現行のツールセットから選択された符号化ツールおよび／または量子化パラメ
ータ値が調整される、あるいはツールセット自体および／または量子化パラメータ値が調
整される。すると、プロセス５００は５０４に進み、５０８において選択されたツールセ
ットおよび／または量子化パラメータ値を使用して、フレーム（すなわちフレームを構成
するマクロブロック）用に別の符号化スキームが決定される。いくつかの実施形態では、
５０８における調整は、例えば、フレームのコンテンツ内の複雑性ソースに関する知識、
フレームのコンテンツを符号化するためにどの符号化ツールが好ましいかに関する知識、
どの符号化ツールが復号複雑性により重く寄与するかに関する知識などに基づいて、イン
テリジェントになされる。もし５０６において、フレーム複雑性が目標複雑性内（または
目標複雑性の所定割合内）であると決定された場合は、５１０において、フレームは、５
０４においてフレーム用に決定された符号化スキームによって符号化され、プロセス５０
０は終了する。いくつかの実施形態では、プロセス５００は、ビデオデータシーケンスに
含まれる１つまたは複数のフレームを符号化するために、繰り返し的に実施される。
【００４１】
図６は、フレーム用の符号化スキームと、そのフレームに関連したコストまたは複雑性
とを決定するためのプロセスの実施形態を図示している。いくつかの実施形態では、プロ
セス６００は、図５のプロセス５００の５０４において用いられる。いくつかの実施形態
では、プロセス６００において、フレーム用の符号化スキームを決定するために、１つの
選定ツールセットおよび／または量子化パラメータ値が使用され、符号化される予定のフ
レームの各マクロブロック用の１つまたは複数の符号化スキームを決定するために、その
選定ツールセット内の１つまたは複数の利用可能な符号化ツールが用いられる。プロセス
６００は、符号化スキームを決定される予定のフレームの第１のマクロブロックとともに
、６０２から開始する。６０４では、６０２のマクロブロック用に、第１の符号化スキー
ムが決定される。いくつかの実施形態では、６０４における符号化スキームの決定を補助
するために、式（１）または式（２）などの最適化式が用いられる。６０６では、６０４
において選択された符号化スキームの、復号複雑性または復号コストが計算される。いく
つかの実施形態では、６０４において決定された符号化スキームは、６０６において、恐
らくは重み付けされている符号化ツールの対象デコーダ固有の複雑性コストおよび／また
は符号化スキームのために使用される量子化パラメータを加算することによって、その復
号複雑性を決定される。ここで、符号化ツールの複雑性コストの重み付けは、いくつかの
実施形態では、フレームの符号化スキームを決定するために使用されるツールセットに依
存する。いくつかの実施形態では、６０６は、計算された復号複雑性または復号コストを
、符号化スキームおよび／またはコスト、レート、ひずみなどの関連の情報とともに格納
することを含み、そうして、符号化スキームを、マクロブロックのその他の符号化スキー
ム候補と比較することを可能にしている。いくつかの実施形態では、このような格納情報
は、もし利用可能でなおかつ／または適切であれば、例えば図５のプロセス５００の５０
６においてフレームの総複雑性がフレームの目標複雑性を超える場合などにフレーム用に
別の符号化スキームを決定するとき（すなわちフレームの１つまたは複数のマクロブロッ
ク用に恐らくは異なる符号化スキームを決定するとき）に、そして例えばフレーム用に異
なる符号化スキームを決定するために同じ選定ツールセットおよび／または量子化パラメ
ータ値が使用されるときに使用される。
【００４２】
６０８では、マクロブロック用に他の符号化スキームを探すかどうかが決定される。い
くつかの実施形態では、選定ツールセットおよび／または量子化パラメータ値を前提とし
て、マクロブロック用に最適な符号化スキームを見いだすことができるように、６０８に
おいて、別の符号化スキームを探すことが決定される。６０８において、マクロブロック
用に他の符号化スキームを探すことが決定された場合は、例えば同じ選定ツールセットお
よび／または量子化パラメータを使用して、６１０において、マクロブロック用に別の符
号化スキームが選択される。次いで、プロセス６００は６０６に戻り、６１０において選
択された符号化スキームの復号複雑性が計算され、符号化スキームおよび／または符号化
スキームに関連付けられた情報とともに格納される。いくつかの実施形態では、各種の符
号化スキーム、関連の復号複雑性、および／またはその他の関連の情報を比較のために取
得および格納し、マクロブロック用に最適な符号化スキームの選択を可能にするために、
プロセス６００のステップ６１０，６０６，６０８が、１回または２回以上にわたって繰
り返される。（例えば６０４および６１０において）マクロブロック用に選択された符号
化スキームは、いくつかの実施形態では、レート−ひずみ最適化式（例えば式（１））ま
たは改良版のレート−ひずみ最適化式（例えば式（２））に少なくとも部分的に基づく。
６０８において、（例えば、選択を行われる１つもしくは複数の符号化スキームが既に決
定されている、または例えば時間もしくは処理に制約がある、適切な符号化スキームが見
つかったなどゆえに他の符号化スキームの決定にさらなるリソースを消費することが望ま
れない、などの理由で）マクロブロック用に別の符号化スキームを探さないと決定された
場合は、６１２において、例えば６０４または６１０においてマクロブロック用に決定さ
れた１つまたは複数の符号化スキームからなるセットから、マクロブロック用の符号化ス
キームが選択される。いくつかの実施形態では、６１２において、マクロブロック用の符
号化スキームを選択するために、６０６においてマクロブロック用に格納された符号化ス
キーム、関連の復号複雑性、および／またはその他の関連の情報の比較が行われる。６１
４では、６１２においてマクロブロック用に選択された符号化スキームに関連付けられた
復号複雑性コストが、復号複雑性コストの累積和に加算される。この和は、いくつかの実
施形態では、フレーム全体の総復号複雑性を表しており、フレームを構成するマクロブロ
ック用に選択された符号化スキームの個々の復号複雑性コストを含むものである。
【００４３】
６１６では、符号化される予定のフレームの各マクロブロック用に符号化スキームが決
定されたかどうかが決定される。６１６において、まだフレームの全てのマクロブロック
用に符号化スキームが選択されていないと決定された場合は、プロセス６００は、まだ符
号化スキームを選択されていないマクロブロックとともに６１８に進み、６１８のマクロ
ブロック用に第１の符号化スキームが決定される６０４に戻る。いくつかの実施形態では
、６１８のマクロブロック用に６０４において選択された符号化スキームは、１つまたは
複数の先行マクロブロック用に選択された符号化スキームに少なくとも部分的に基づく。
もし６１６において、符号化される予定のフレームの全てのマクロブロック用に符号化ス
キームが決定されたと決定された場合は、６２０において、フレーム全体としての符号化
スキーム（いくつかの実施形態では、フレームを構成するマクロブロックの符号化スキー
ムからなる）およびフレームの総復号複雑性（すなわち６１４の復号複雑性コストの累積
和の最終値）が戻され、プロセス６００は終了する。いくつかの実施形態では、フレーム
の総復号複雑性を、フレームを構成するマクロブロックの符号化スキームの復号複雑性の
累積和として計算する代わりに、式（３）を使用して計算している。式（３）は、各種の
符号化ツールが用いられた回数、符号化ツールに関連付けられた対象デコーダ固有の複雑
性コスト、およびフレームを符号化するために使用されているツールセットに依存する複
雑性コストに対する任意の重み付けに基づく。いくつかの実施形態では、各マクロブロッ
クの復号複雑性（例えば６０６におけるもの）およびフレームの総復号複雑性（すなわち
６１４の累積和）を計算する代わりに、またはそれに追加して、式（１）または式（２）
などの最適化式を用いて各マクロブロックの符号化スキームのコストが計算され、こうし
て計算されたコストは、フレームの総コストを表すこのようなコストの累積和に加算され
る。このようないくつかのケースでは、フレーム用の適切な符号化スキームを決定する際
に、例えば図５のプロセス５００の５０６などにおいて、フレームの総コストをそのフレ
ーム用の目標コストと比較することが行われる。
【００４４】
図７は、フレームの符号化のために使用されるツールセットを調整するためのプロセス
の実施形態を図示している。いくつかの実施形態では、プロセス７００は、図５のプロセ
ス５００の５０８において用いられる。プロセス７００は、フレーム用に選択された符号
化スキームの復号複雑性コストに最も大きく寄与する要素および／または符号化ツールが
決定される７０２から開始する。いくつかの実施形態では、図５のプロセス５００の５０
４において決定されたフレーム用の符号化スキームの復号複雑性コストに最も大きく寄与
する要素および／または符号化ツールが、７０２において解析される。いくつかの実施形
態では、７０２は、フレームのコンテンツのうち、選択された符号化スキームによって符
号化された場合に高い復号複雑性コストをもたらす部分を決定することを含む。いくつか
の実施形態では、７０２は、フレームの符号化スキームの復号複雑性コストに最も寄与す
る符号化ツールおよび／またはその他のパラメータを決定することを含む。７０４では、
フレームの復号複雑性コストに最も大きく寄与するものとして７０２において決定された
１つもしくは複数の符号化ツールの使用を排除するおよび／または（例えば複雑性コスト
の重みによって）その使用にペナルティを課すようなツールセットが選択される。いくつ
かの実施形態では、７０４は、量子化パラメータの値を調整することを含む。量子化パラ
メータは、所望の複雑性および選定されたツールセットに関連付けられた複雑性にしたが
って、インテリジェントに調整されてよい。例えば、量子化パラメータは、少なくとも一
部には、フレームの符号化のために使用される予定のツールセットを変更することによる
影響を相殺するように、調整されてよい。例えば、７０４では、限られた符号化選択肢お
よび／または複雑性をともなうツールセットを７０４において選択することによる影響を
相殺するために、より細かい量子化値が、７０４において選択されてよい。本明細書では
、量子化パラメータ値を調整することついて説明されているが、フレームの符号化の複雑
性に影響を及ぼすその他のパラメータもまた同様に、７０４において必要に応じて調整さ
れてよい。次いで、プロセス７００は終了する。
【００４５】
図８は、１つまたは複数のフレームを前処理するためのプロセスの実施形態を図示して
いる。いくつかの実施形態では、フレームは、それ用のより良い符号化スキームの選択を
促進するために、符号化に先立って前処理される（または選択基準に応じて前処理可能で
あってよい）。いくつかの実施形態では、フレームは、その中のエントロピを低減させる
ために、前処理されるまたは前処理されてよい。例えば、複雑性の高いビデオシーケンス
のフレームを、限られた符号化選択肢および／または複雑性をともなうツールセットを使
用して符号化するときに、いくつかの実施形態では、そのフレームは、そのコンテンツを
緩やかに降格させ、符号化フレーム内の圧縮アーチファクトを回避するために、符号化に
先立って前処理される。いくつかの実施形態において、もし（例えばフレームを解析する
ことによって、またはフレームを符号化する試行的繰り返しによって、または関連もしく
は類似のフレームの符号化によって、）フレームのコンテンツの一部の最適なまたは最適
に近い符号化が、非常に高価な技術または対象デコーダによって扱うことができない技術
を必要とすると決定されえる場合は、そのようなコンテンツは、符号化に先立って低減さ
れるおよび／またはフレームから除去される。プロセス８００は、複雑性の高いフレーム
が検出される８０２から開始する。８０４において、８０２において検出されたフレーム
は、そのフレーム用に、より低い対象デコーダコストの符号化を実現できるようにするた
めに、適切に前処理される。例えば、もし、８０２において検出されたフレームが、ノイ
ズが多いと判断された場合は、そのフレームは、元のフレームデータ内に存在するノイズ
によってフレームの符号化が影響されないように、または少なくとも影響が少なくなるよ
うに、８０４において、空間フィルタまたは平滑化フィルタを使用した前処理によってノ
イズを低減および／または除去されてよい。８０６では、前処理されたフレームが符号化
され、プロセス８００は終了する。いくつかの実施形態では、プロセス８００は、符号化
される必要があるビデオシーケンスの１つまたは複数の関連フレームまたは連続フレーム
の前処理に用いられる。例えば、もしエンコーダ側において、対象デコーダがビデオコン
テンツのシーケンス内またはそのサブセット内の全てのフレームを扱えないことが知られ
ている場合は、符号化の前に、シーケンス内の１つまたは複数の連続フレームに対して時
間フィルタリングが用いられてよい。例えば、２つもしくは３つ以上の連続フレームのコ
ンテンツの平均化が行われてよい、またはフレームのダウンサンプリングが行われてよい
（例えば、フレームをハーフレートで符号化のために選択して対象デコーダに提供してよ
い、すなわち、ビデオコンテンツのシーケンス内のフレームを符号化のために１つおきに
選択して対象デコーダに提供してよい）。いくつかの実施形態では、フレームのダウンサ
ンプリングは、インテリジェントに実施されてよい。例えば、２つまたは３つ以上の連続
フレーム間で大きく変化するフレームのみを符号化のために選択して対象デコーダに伝送
することが行われてよい。
【００４６】
いくつかの実施形態では、エンコーダは、例えば処理能力および／またはメモリが限ら
れているゆえにデコーダが追いつかない場合や関連のデバイスにおいて電池残量が少なく
なっているまたは節約を望まれている場合などの必要時にデコーダ側において緩やかな降
格を促進するために、拡張性を用いる。いくつかの実施形態では、時間的拡張性によって
、対象デコーダは、必要時にフレームを緩やかに飛ばしてデコーダ側のフレームレートを
効率的に低減させることが可能になる。このようないくつかのケースでは、時間的拡張性
は、ビデオコンテンツのシーケンスまたはストリームにおける基準フレームおよび非基準
フレームのパターンのインテリジェントな選択によって、エンコーダ側に組み込まれる。
いくつかの実施形態では、基準フレームおよび非基準フレームのパターンは、好ましくは
１つまたは複数の非基準フレームである一部のフレームが飛ばされた場合でも対象デコー
ダにおける見え方を最大限にするように、選択される。例えば、ビデオコンテンツのシー
ケンスのサブセットが高い複雑性を有することが検出された場合は、例えば対象デコーダ
が関連の複雑性を扱う能力の推定値に基づいて、エンコーダ側においてサブセット内のさ
らに多くのフレームを非基準フレームとしてマークしてよい。同様に、もし特定のフレー
ムが、高度に複雑であるものとエンコーダ側において判断され、高い復号コストを特徴と
する符号化スキームを有する場合は、そのフレームは、非基準フレームとして選択されて
よく、そうすることによって、対象デコーダは、もし遅れた場合でも見え方を大幅に悪化
させることなくそのフレームを飛ばすという選択肢を持てるようになる。いくつかの実施
形態では、エンコーダ側は、ビデオコンテンツのシーケンス用の基準フレームおよび非基
準フレームのパターンを選択するためのプロセスまたはアルゴリズムを含み、これは、エ
ンコーダにおける対象デコーダのモデルを通じてエンコーダ側において利用可能である対
象デコーダの既知の特性および予期される性能、復号のために対象デコーダに提供されて
いるもしくは引き続き提供される予定のその他のデータの複雑性に関する知識、ならびに
／またはデコーダからのその現行の性能に関する動的フィードバックに、少なくとも部分
的に基づくものである。エンコーダ側におけるフレームの符号化には、時間的拡張性に加
えて、またはそれに代わって、１つまたは複数のその他の拡張性の層を含ませて、デコー
ダ側における緩やかなさらなる降格を可能にしてよい。いくつかの実施形態では、１つま
たは複数の拡張性の層は、デコーダ側に課される再生または見え方のクオリティのペナル
ティを最小限に抑えられる方式で、エンコーダ側において選択される。符号化ビットスト
リームに組み込まれる拡張性の量は可変であり、ビットストリームの局所的複雑性に依存
してよい。
【００４７】
図９は、対象デコーダにおける符号化フレームの復号を緩やかに降格させるためのプロ
セスの実施形態を図示している。いくつかの実施形態では、プロセス９００は、例えば対
象デコーダにおける処理または電力消費の制約ゆえに、その対象デコーダが符号化ビデオ
シーケンスの符号化において遅れを取りはじめたときに、対象デコーダにおいて用いられ
る。プロセス９００は、復号複雑性の高いフレームが検出される９０２から開始する。９
０４において、９０２のフレームの復号は、緩やかに降格される。いくつかの実施形態で
は、９０４は、そのフレームを一部とするビデオコンテンツのシーケンス全体の見え方が
最大限にされること、および視覚的なクオリティが長時間にわたって一定にまたはほぼ一
定に維持されることを保証する方式で、フレームの復号を降格させることを含む。いくつ
かの実施形態では、９０４は、例えばフレームの復号複雑性が高いゆえに、そのフレーム
を全く復号しないこと（すなわちそのフレームを飛ばすこと）を含む。このようないくつ
かのケースでは、基準フレームに高い復号優先度が与えられており、完全に飛ばされる可
能性があるのは非基準フレームに限られるので、関連のビデオシーケンス内のその他のフ
レームは、フレームの飛ばしによる影響を受けない。いくつかの実施形態では、９０４は
、最も重要な復号動作を実施すること、およびフレームを完全に復号するためには実施さ
れる必要がある１つまたは複数のその他の復号動作を飛ばすことを含む。このような技術
は、フレームの復号のクオリティを低くする結果となり、これは、とあるフレームが復号
される時点でそのフレームを完全に飛ばすことは望ましくないがデコーダにおいて利用可
能な復号リソースが限られている場合に有用である。同様に、いくつかの実施形態では、
符号化フレームの復号のクオリティを下げるために、フレームの符号化に関連付けられた
１つまたは複数の拡張性の層に関連付けられた復号動作が飛ばされる。次いで、プロセス
９００は終了する。
【００４８】
本明細書に開示されるように、データを提供される予定の対象デコーダにおける利用可
能復号リソースによって扱うことができる復号複雑性に基づいて、エンコーダにおいてそ
のデータのための符号化スキームをインテリジェントに選択することによって、対象デコ
ーダにおける復号性能および再生クオリティを最適にするまたは最適に近くすることがで
きる。さらに、符号化に先立つデータの前処理によって、符号化データの復号複雑性が低
減されてよい。必要時には、データの符号化スキームに組み込まれた拡張性を通じて、符
号化データの復号時における緩やかな降格が促進されてよい。復号データのクオリティを
高めるために、デコーダにおける後処理が使用されてよい。データの復号および／または
後処理に役立てるために、実際の符号化データ以外に、データの符号化に関連した情報が
、エンコーダによって対象デコーダに提供されてよい。本明細書に開示されるように、コ
ーデックの符号化プロセスおよび／または復号プロセスへのインテリジェンスの組み入れ
は、対象デコーダにおける符号化データのクオリティをより良くすることを可能にする。
【００４９】
以上の実施形態は、理解を明確にする目的でいくらか詳細に説明されてきたが、本発明
は、提供された詳細に限定されず、本発明には、数々の代替の実現方法がある。開示され
た実施形態は、例示的であって非限定的である。
【図１Ａ】
0005404722.tif 000003
【図１Ｂ】
0005404722.tif 000004
【図２】
0005404722.tif 000005
【図３】
0005404722.tif 000006
【図４】
0005404722.tif 000007
【図５】
0005404722.tif 000008
【図６】
0005404722.tif 000009
【図７】
0005404722.tif 000010
【図８】
0005404722.tif 000011
【図９】
0005404722.tif 000012