(57)【特許請求の範囲】
【請求項１】
ビデオデータを復号する方法であって、前記方法は、
復号器内でビデオフレームのシーケンスを受信することと、ここにおいて前記シーケンスは前記ビデオフレームのディスプレイ順序を定義し、それぞれのビデオフレームは、複数のビデオブロックを含む、
前記復号器におけるビデオフレームの前記シーケンスの前処理を介して、互いに相互依存であり得ない前記ビデオフレームに含まれるインター予測フレームのサブセットを識別することと、前記インター予測フレームのサブセットは、少なくとも第１のビデオフレームおよび第２のビデオフレームを含む、
メモリからキャッシュへ前記インター予測フレームのサブセットのための予測データをロードすることと、ここにおいて前記キャッシュは、前記復号器とデータ通信状態にある、
前記インター予測フレームのサブセットに含まれるビデオブロックのための動きベクトルと、１つ又は複数の異なるビデオフレームに含まれるような前記ビデオブロックのための動きベクトルとの間の相互関係を決定することと、ここにおいて、前記相互関係を決定することは、前記複数のビデオブロックと関連する統計メトリックを定義することを備え、ここにおいて、前記統計メトリックは、前記第１のビデオフレームと前記第２のビデオフレームとの間の前処理されたビデオブロックの平均的な動きを定量化するグローバル動きメトリックを備える、
前記キャッシュ内の前記予測データを使用して、前記インター予測フレームのサブセットの前記ビデオブロックを復号することと、ここにおいて前記ビデオブロックを復号することは、前記相互関係および前記グローバル動きメトリックに基づいて、復号順序を定義することを含み、ここにおいて前記復号順序は、前記第１のビデオフレームに含まれる少なくともいくつかのビデオブロックの前に、復号するための前記第２のビデオフレームに含まれる少なくともいくつかのビデオブロックを識別し、前記第１のビデオフレームの前記ブロックは、前記第２のビデオフレームを完全に復号する前に、復号のためにさらに識別され、ここにおいて前記第２のビデオフレームは、前記ディスプレイ順序において前記第１のビデオフレームの後に生じる、
を備える方法。
【請求項２】
符号化されたビデオフレームの前記シーケンスが、
ビデオフレームの一部のシーケンスと、
ビデオフレームのスライスのシーケンスと
の内の少なくとも１つを備える請求項１に記載の方法。
【請求項３】
前記復号順序は、前記第１の符号化されたビデオフレームの１つ又は複数のビデオブロックと前記第２のビデオフレームの１つ又は複数のビデオブロックとの間で交互に入れ替わる請求項１に記載の方法。
【請求項４】
前記復号順序は、前記キャッシュ内にロードされた前記予測データが前記キャッシュをリロードする必要なく、前記インター予測フレームのサブセットの前記ビデオブロックを復号する際に使用される可能性に基づく請求項１に記載の方法。
【請求項５】
前記復号順序が前記第１のビデオフレームの前記ビデオブロックが前記第１のビデオフレームのラスタスキャン順序と一致しない順序で復号され、前記第２のビデオフレームの前記ビデオブロックが前記第２のビデオフレームのラスタスキャン順序と一致しない順序で復号されるように定義される請求項１に記載の方法。
【請求項６】
前記第１のビデオフレームの第２の行の少なくとも１つのビデオブロックが前記第１のビデオフレームの第１の行の少なくとも１つのビデオブロックに先立って復号される、ここにおいて前記第２の行が前記第１の行の下にある請求項５に記載の方法。
【請求項７】
前記第１のビデオフレームは、第１のＢフレームを備え、前記第２のビデオフレームは、第２のＰフレームを備え、ここにおいて、ビデオフレームの前記シーケンスは、前記第１のＢフレームが続き、第１のＰフレームが続き、第２のＢフレームが続き、前記第２のＰフレームが続くＩフレームを含むＩＢＰＢＰフォーマットに従い、ここにおいて前記識別されたインター予測フレームのサブセットが前記第１のＢフレーム及び前記第２のＰフレームから成る請求項１に記載の方法。
【請求項８】
前記第１のビデオフレームは、第１のＢフレームを備え、前記第２のビデオフレームは、第２のＰフレームを備え、ここにおいて、ビデオフレームの前記シーケンスは、前記第１のＢフレームが続き、第２のＢフレームが続き、第１のＰフレームが続き、第３のＢフレームが続き、第４のＢフレームが続き、前記第２のＰフレームが続くＩフレームを含むＩＢＢＰＢＢＰフォーマットに従い、ここにおいて前記識別されたインター予測フレームのサブセットが前記第１のＢフレーム、前記第２のＢフレーム、及び前記第２のＰフレームから成る請求項１に記載の方法。
【請求項９】
ビデオデータを復号する装置であって、前記装置がビデオ復号器及び関連するキャッシュを備え、前記ビデオ復号器が、
ビデオフレームのシーケンスを受信し、ここにおいて前記シーケンスが前記ビデオフレームのディスプレイ順序を定義し、それぞれのビデオフレームは、複数のビデオブロックを含む、
ビデオフレームの前記シーケンスの前処理を介して、互いに相互依存であり得ない前記ビデオフレームに含まれるインター予測フレームのサブセットを識別し、前記インター予測フレームのサブセットは、少なくとも第１のビデオフレームおよび第２のビデオフレームを含む、
メモリから前記キャッシュへ前記インター予測フレームのサブセットのための予測データをロードし、
前記インター予測フレームのサブセットに含まれるビデオブロックのための動きベクトルと、１つ又は複数の異なるビデオフレームに含まれるような前記ビデオブロックのための動きベクトルとの間の相互関係を決定し、ここにおいて、前記相互関係を決定することは、前記複数のビデオブロックと関連する統計メトリックを定義することを備え、ここにおいて、前記統計メトリックは、前記第１のビデオフレームと前記第２のビデオフレームとの間の前処理されたビデオブロックの平均的な動きを定量化するグローバル動きメトリックを備える、
前記キャッシュ内の前記予測データを使用して、前記インター予測フレームのサブセットの前記ビデオブロックを復号する、ここにおいて前記ビデオブロックを復号することは、前記相互関係および前記グローバル動きメトリックに基づいて、復号順序を定義する前記復号器を備え、ここにおいて前記復号順序は、前記第１のビデオフレームに含まれる少なくともいくつかのビデオブロックの前に、復号するための前記第２のビデオフレームに含まれる少なくともいくつかのビデオブロックを識別し、前記第１のビデオフレームの前記ブロックは、前記第２のビデオフレームを完全に復号する前に、復号のためにさらに識別され、ここにおいて前記第２のビデオフレームは、前記ディスプレイ順序において前記第１のビデオフレームの後に生じる、
ように構成されている、装置。
【請求項１０】
符号化されたビデオフレームの前記シーケンスが、
ビデオフレームの一部のシーケンスと、
ビデオフレームのスライスのシーケンスと
の内の少なくとも１つを備える請求項９に記載の装置。
【請求項１１】
前記復号順序は、前記第１の符号化されたビデオフレームの１つ又は複数のビデオブロックと前記第２のビデオフレームの１つ又は複数のビデオブロックとの間で交互に入れ替わる請求項９に記載の装置。
【請求項１２】
前記復号順序は、前記キャッシュ内にロードされた前記予測データが前記キャッシュをリロードする必要なく、前記インター予測フレームのサブセットの前記ビデオブロックを復号する際に使用される可能性に基づく請求項９に記載の装置。
【請求項１３】
前記復号順序は、前記第１のビデオフレームの前記ビデオブロックが前記第１のビデオフレームのラスタスキャン順序と一致しない順序で復号され、前記第２のビデオフレームの前記ビデオブロックが前記第２のビデオフレームのラスタスキャン順序と一致しない順序で復号されるように定義される請求項９に記載の装置。
【請求項１４】
前記第１のビデオフレームの第２の行の少なくとも１つのビデオブロックは、前記第１のビデオフレームの第１の行の少なくとも１つのビデオブロックに先立って復号される、ここにおいて前記第２の行が前記第１の行の下にある請求項１３に記載の装置。
【請求項１５】
前記第１のビデオフレームは、第１のＢフレームを備え、前記第２のビデオフレームは、第２のＰフレームを備え、ここにおいて、ビデオフレームの前記シーケンスは、前記第１のＢフレームが続き、第１のＰフレームが続き、第２のＢフレームが続き、前記第２のＰフレームが続くＩフレームを含むＩＢＰＢＰフォーマットに従い、ここにおいて前記識別されたインター予測フレームのサブセットが前記第１のＢフレーム及び前記第２のＰフレームから成る請求項９に記載の装置。
【請求項１６】
前記第１のビデオフレームは、第１のＢフレームを備え、前記第２のビデオフレームは、第２のＰフレームを備え、ここにおいて、ビデオフレームの前記シーケンスは、前記第１のＢフレームが続き、第２のＢフレームが続き、第１のＰフレームが続き、第３のＢフレームが続き、第４のＢフレームが続き、前記第２のＰフレームが続くＩフレームを含むＩＢＢＰＢＢＰフォーマットに従い、ここにおいて前記識別されたインター予測フレームのサブセットが前記第１のＢフレーム、前記第２のＢフレーム、及び前記第２のＰフレームから成る請求項９に記載の装置。
【請求項１７】
前記ビデオ復号器は集積回路を備える請求項９に記載の装置。
【請求項１８】
前記ビデオ復号器はマイクロプロセッサを備える、請求項９に記載の装置。
【請求項１９】
前記装置は前記ビデオ復号器を含むワイアレス通信デバイスを備える請求項９に記載の装置。
【請求項２０】
ビデオデータを復号するデバイスであって、前記デバイスが、
ビデオフレームのシーケンスを受信するための手段と、ここにおいて前記シーケンスが前記ビデオフレームのディスプレイ順序を定義し、それぞれのビデオフレームは、複数のビデオブロックを含む、
ビデオフレームの前記シーケンスの前処理を介して、互いに相互依存であり得ない前記ビデオフレームに含まれるインター予測フレームのサブセットを識別するための手段と、前記インター予測フレームのサブセットは、少なくとも第１のビデオフレームおよび第２のビデオフレームを含む、
メモリからキャッシュへ前記インター予測フレームのサブセットのための予測データをロードするための手段と、
前記インター予測フレームのサブセットに含まれるビデオブロックのための動きベクトルと、１つ又は複数の異なるビデオフレームに含まれるような前記ビデオブロックのための動きベクトルとの間の相互関係を決定するための手段と、ここにおいて、前記相互関係を決定するための前記手段は、前記複数のビデオブロックと関連する統計メトリックを定義するための手段を備え、ここにおいて、前記統計メトリックは、前記第１のビデオフレームと前記第２のビデオフレームとの間の前処理されたビデオブロックの平均的な動きを定量化するグローバル動きメトリックを備える、
前記キャッシュ内の前記予測データを使用して、前記ビデオフレームに含まれる前記インター予測フレームのサブセットの前記ビデオブロックを復号するための手段と、ここにおいて前記ビデオブロックを復号するための前記手段は、前記相互関係および前記グローバル動きメトリックを使用して、復号順序を定義するための手段を含み、ここにおいて前記復号順序は、前記第１のビデオフレームに含まれる少なくともいくつかのビデオブロックの前に、復号するための前記第２のビデオフレームに含まれる少なくともいくつかのビデオブロックを識別し、前記第１のビデオフレームの前記ブロックは、前記第２のビデオフレームを完全に復号する前に、復号のためにさらに識別され、ここにおいて前記第２のビデオフレームは、前記ディスプレイ順序において前記第１のビデオフレームの後に生じる、
を備えるデバイス。
【請求項２１】
符号化されたビデオフレームの前記シーケンスが、
ビデオフレームの一部のシーケンスと、
ビデオフレームのスライスのシーケンスと
の内の少なくとも１つを備える請求項２０に記載のデバイス。
【請求項２２】
前記復号順序は、前記第１の符号化されたビデオフレームの１つ又は複数のビデオブロックと前記第２のビデオフレームの１つ又は複数のビデオブロックとの間で交互に入れ替わる請求項２０に記載のデバイス。
【請求項２３】
前記復号順序は、前記キャッシュ内にロードされた前記予測データが前記キャッシュをリロードする必要なく、前記インター予測フレームのサブセットの前記ビデオブロックを復号する際に使用される可能性に基づく請求項２０に記載のデバイス。
【請求項２４】
前記復号順序は、前記第１のビデオフレームの前記ビデオブロックが前記第１のビデオフレームのラスタスキャン順序と一致しない順序で復号され、前記第２のビデオフレームの前記ビデオブロックが前記第２のビデオフレームのラスタスキャン順序と一致しない順序で復号されるように定義される請求項２０に記載のデバイス。
【請求項２５】
前記第１のビデオフレームの第２の行の少なくとも１つのビデオブロックは、前記第１のビデオフレームの第１の行の少なくとも１つのビデオブロックに先立って復号される、ここにおいて前記第２の行が前記第１の行の下にある請求項２４に記載のデバイス。
【請求項２６】
前記第１のビデオフレームは、第１のＢフレームを備え、前記第２のビデオフレームは、第２のＰフレームを備え、ここにおいて、ビデオフレームの前記シーケンスは、前記第１のＢフレームが続き、第１のＰフレームが続き、第２のＢフレームが続き、前記第２のＰフレームが続くＩフレームを含むＩＢＰＢＰフォーマットに従い、ここにおいて前記識別されたインター予測フレームのサブセットが前記第１のＢフレーム及び前記第２のＰフレームから成る請求項２０に記載のデバイス。
【請求項２７】
前記第１のビデオフレームは、第１のＢフレームを備え、前記第２のビデオフレームは、第２のＰフレームを備え、ここにおいて、ビデオフレームの前記シーケンスは、前記第１のＢフレームが続き、第２のＢフレームが続き、第１のＰフレームが続き、第３のＢフレームが続き、第４のＢフレームが続き、前記第２のＰフレームが続くＩフレームを含むＩＢＢＰＢＢＰフォーマットに従う、ここにおいて前記識別されたインター予測フレームのサブセットが前記第１のＢフレーム、前記第２のＢフレーム及び前記第２のＰフレームから成る請求項２０に記載のデバイス。
【請求項２８】
プロセッサ内で実行されると前記プロセッサに、
ビデオフレームのシーケンスを受信することと、ここにおいて前記シーケンスが前記ビデオフレームのディスプレイ順序を定義し、それぞれのビデオフレームは、複数のビデオブロックを含む、
ビデオフレームの前記シーケンスの前処理を介して、互いに相互依存であり得ない前記ビデオフレームに含まれるインター予測フレームのサブセットを識別することと、前記インター予測フレームのサブセットは、少なくとも第１のビデオフレームおよび第２のビデオフレームを含む、
メモリからキャッシュへ前記インター予測フレームのサブセットのための予測データをロードすることと、
前記インター予測フレームのサブセットに含まれるビデオブロックのための動きベクトルと、１つ又は複数の異なるビデオフレームに含まれるような前記ビデオブロックのための動きベクトルとの間の相互関係を決定することと、ここにおいて、前記相互関係を決定することは、前記複数のビデオブロックと関連する統計メトリックを定義することを備え、ここにおいて、前記統計メトリックは、前記第１のビデオフレームと前記第２のビデオフレームとの間の前処理されたビデオブロックの平均的な動きを定量化するグローバル動きメトリックを備える、
前記キャッシュ内の前記予測データを使用して、前記インター予測フレームのサブセットの前記ビデオブロックを復号することと、
を行わせる命令を備える非一時的なコンピュータ読み取り可能な記憶媒体であって、
ここにおいて前記ビデオブロックを復号する際に、前記命令が前記プロセッサに、前記相互関係および前記グローバル動きメトリックに基づいて、復号順序を定義することを行わせ、ここにおいて前記復号順序は、前記第１のビデオフレームに含まれる少なくともいくつかのビデオブロックの前に、復号するための前記第２のビデオフレームに含まれる少なくともいくつかのビデオブロックを識別し、前記第１のビデオフレームの前記ブロックは、前記第２のビデオフレームを完全に復号する前に、復号のためにさらに識別され、ここにおいて前記第２のビデオフレームは、前記ディスプレイ順序において前記第１のビデオフレームの後に生じる、非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項２９】
符号化されたビデオフレームの前記シーケンスが、
ビデオフレームの一部のシーケンスと、
ビデオフレームのスライスのシーケンスと
の内の少なくとも１つを備える請求項２８に記載のコンピュータ読み取り可能な記憶媒体。
【請求項３０】
前記復号順序は、前記第１の符号化されたビデオフレームの１つ又は複数のビデオブロックと前記第２のビデオフレームの１つ又は複数のビデオブロックとの間で交互に入れ替わる請求項２８に記載のコンピュータ読み取り可能な記憶媒体。
【請求項３１】
前記復号順序は、前記キャッシュ内にロードされた前記予測データが前記キャッシュをリロードする必要なく、前記インター予測フレームのサブセットの前記ビデオブロックを復号する際に使用される可能性に基づく請求項２８に記載のコンピュータ読み取り可能な記憶媒体。
【請求項３２】
前記復号順序は、前記第１のビデオフレームの前記ビデオブロックが前記第１のビデオフレームのラスタスキャン順序と一致しない順序で復号され、前記第２のビデオフレームの前記ビデオブロックが前記第２のビデオフレームのラスタスキャン順序と一致しない順序で復号されるように定義される請求項２８に記載のコンピュータ読み取り可能な記憶媒体。
【請求項３３】
前記第１のビデオフレームの第２の行の少なくとも１つのビデオブロックは、前記第１のビデオフレームの第１の行の少なくとも１つのビデオブロックに先立って復号され、ここにおいて前記第２の行が前記第１の行の下にある請求項３２に記載のコンピュータ読み取り可能な記憶媒体。
【請求項３４】
前記第１のビデオフレームは、第１のＢフレームを備え、前記第２のビデオフレームは、第２のＰフレームを備え、ここにおいて、ビデオフレームの前記シーケンスは、前記第１のＢフレームが続き、第１のＰフレームが続き、第２のＢフレームが続き、前記第２のＰフレームが続くＩフレームを含むＩＢＰＢＰフォーマットに従い、ここにおいて前記識別されたインター予測フレームのサブセットが前記第１のＢフレーム及び前記第２のＰフレームから成る請求項２８に記載のコンピュータ読み取り可能な記憶媒体。
【請求項３５】
前記第１のビデオフレームは、第１のＢフレームを備え、前記第２のビデオフレームは、第２のＰフレームを備え、ここにおいて、ビデオフレームの前記シーケンスは、前記第１のＢフレームが続き、第２のＢフレームが続き、第１のＰフレームが続き、第３のＢフレームが続き、第４のＢフレームが続き、前記第２のＰフレームが続くＩフレームを含むＩＢＢＰＢＢＰフォーマットに従い、ここにおいて前記識別されたインター予測フレームのサブセットが前記第１のＢフレーム、前記第２のＢフレーム、及び前記第２のＰフレームから成る請求項２８に記載のコンピュータ読み取り可能な記憶媒体。
【請求項３６】
前記第２のビデオフレームの前記ビデオブロックが、前記第１のビデオフレームの前記ビデオブロックと並行に復号される、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオデータを圧縮及び解凍するために使用されるブロックをベースとしたデジタルビデオコード化に、より具体的には、実質的にキャッシュヒットを最大化し、キャッシュへのメモリロードを低減するためにビデオブロックを効率的に処理するための技法に関する。
【背景技術】
【０００２】
デジタルビデオの能力は、デジタルテレビ、デジタル直接放送システム、無線電話ハンドセットのようなワイアレス通信デバイス、ワイアレス放送システム、パーソナルデジタルアシスタント（ＰＤＡｓ）、ラップトップもしくはデスクトップコンピュータ、デジタルカメラ、デジタル記録化デバイス、ビデオゲームデバイス、ビデオコンピュータゲーム機などを含む、幅広いデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオをより効率的に送信及び受信するためにＭＰＥＧ−２、ＭＰＥＧ−４、もしくはＩＴＵ−ＴＨ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ Ｖｉｄｅｏ Ｃｏｄｉｎｇ（ＡＶＣ）のようなビデオ圧縮技法を実行する。ビデオ圧縮技法は、ビデオシーケンスに備わっている冗長度(redundancy)を低減、もしくは取り除くために空間的及び時間的予測を実行する。
【０００３】
ブロックをベースとしたビデオ圧縮技法は空間的予測及び／もしくは時間的予測を実行し得る。イントラコード化（Ｉｎｔｒａ−ｃｏｄｉｎｇ）は、ビデオフレーム、ビデオフレームのスライスなどを備え得る所与のコード化されたユニット内のビデオブロック間の空間的冗長度を低減、もしくは取り除くために空間的予測に依存する。その一方でインターコード化は、ビデオシーケンスの連続するコード化されたユニットのビデオブロック間の時間的冗長度を低減、もしくは取り除くために時間的予測に依存する。イントラコード化のためにビデオ符号器は、同じコード化されたユニット内の他のデータに基づいてデータを圧縮するために空間的予測を実行する。インターコード化のためにビデオ符号器は、２つ以上の時間的に近接するコード化されたユニットの対応するビデオブロックの動きを本質的に追跡するために動き推定及び動き補償を実行する。
【０００４】
コード化されたビデオブロックは、予測ブロック、及びコード化されているブロックと予測ブロックとの間の差分を示すデータの残差ブロックを作成もしくは識別するために使用され得る予測情報によって示され得る。イントラコード化の場合において、予測モードがコード化されているビデオブロックと関連するコード化されたユニット内のデータに基づいて予測ブロックを生成するために使用され得るのに対し、インターコード化の場合において、１つ又は複数の動きベクトルが、前のもしくは後に続くコード化されたユニットからのデータの予測ブロックを識別するために使用される。イントラコード化及びインターコード化の両方は、いくつかの異なる予測モードを定義し得、それらのそれぞれがコード化の中で使用される異なるブロックサイズと予測技法の両方または一方を定義し得る。追加の種類のシンタックス要素もまた、コード化処理において使用されるコード化技法もしくはパラメータを制御もしくは定義するために符号化されたビデオデータの一部として含まれ得る。
【０００５】
ブロックをベースとした予測コード化の後ビデオ符号器は、残差ブロックの通信と関連するビットレートをさらに低減するために、変換、量子化、及びエントロピーコード化処理を適用し得る。変換技法は、ディスクリートコサイン変換（ＤＣＴｓ）、もしくはウェーブレット変換、整数変換、もしくは他の種類の変換のような、概念的に類似する処理の使用を備え得る。ＤＣＴ処理において、例として変換処理は１組の残差ピクセル値を変換係数にコンバートし、それは周波数ドメインにおいて残差ピクセル値のエネルギーを示し得る。量子化は変換係数に適用され、概して任意の所与の変換係数と関連するビットの数を限定する処理を伴う。エントロピーコード化は量子化された変換係数のシーケンスを集合的に圧縮する１つ又は複数の処理を備える。
【発明の概要】
【０００６】
本開示は、ビデオブロックの復号順序がビデオブロックのディスプレイ順序に対して変更される技法を説明する。復号順序は、異なるビデオフレーム（もしくは他のコード化されたユニット）のビデオブロックが並行に復号され、その異なるフレームのビデオブロックの復号順序は交互に入れ替わる、もしくはインターリーブされるように時間的に変更され得る。特に、ビデオブロックの復号順序は２つ以上の異なるフレームのビデオブロック間で交互に入れ替わり得る。さらに復号順序はまた、ビデオブロックが、ビデオブロックのラスタスキャン順序と一致しない順序で復号されるように所与のビデオブロック内で空間的にも変更され得る。その技法は、復号器内のキャッシュヒットの可能性を向上させ、それによって外部メモリから復号器と関連する内部キャッシュへのメモリロードの数を低減することによってメモリの使用を向上し得る。復号順序は、キャッシュにすでに格納された予測データが復号において必要とされる及び使用されることになる可能性を高める形態で特別に定義され得、復号処理の間に外部メモリから内部キャッシュへのメモリロードを低減し得る。
【０００７】
ある例において本開示は、ビデオデータを復号する方法を説明する。その方法は、復号器においてビデオユニットのシーケンスを受信し、ここにおいてシーケンスがビデオユニットのディスプレイ順序を定義すること、及びその復号器を介して相互依存であり得ないビデオユニットのサブセットを識別することを備える。その方法はまた、メモリからキャッシュへ予測データをロードし、ここにおいてキャッシュが復号器と関連すること、及び少なくとも部分的にはキャッシュ内の予測データに基づいて符号化されたビデオユニットのサブセットのビデオブロックを復号し、ここにおいてビデオブロックを復号することは、第２のビデオユニットの少なくともいくつかのビデオブロックが第１のビデオユニットの少なくともいくつかのビデオブロックの前に復号され、ここにおいて第２のビデオユニットがディスプレイ順序において第１のビデオユニットの後に生じる復号順序を定義することを含むことも備え得る。
【０００８】
別の例において本開示は、ビデオデータを復号する装置を説明し、その装置はビデオ復号器及び関連するキャッシュを備える装置である。ビデオ復号器は、ビデオユニットのシーケンスを受信し、ここにおいてシーケンスがビデオユニットのディスプレイ順序を定義するように構成される。ビデオ復号器はまた、相互依存であり得ないビデオユニットのサブセットを識別し、メモリからキャッシュへ予測データをロードし、ならびに少なくとも部分的にはキャッシュ内の予測データに基づいて符号化されたビデオユニットのサブセットのビデオブロックを復号するようにも構成される。さらにはビデオブロックを復号する際に復号器は、第２のビデオユニットの少なくともいくつかのビデオブロックが第１のビデオユニットの少なくともいくつかのビデオブロックの前に復号され、ここにおいて第２のビデオユニットがディスプレイ順序において第１のビデオユニットの後に生じる復号順序を定義する。
【０００９】
別の例において本開示はビデオデータを復号するデバイスを説明し、そのデバイスはビデオユニットのシーケンスを受信し、ここにおいてシーケンスがビデオユニットのディスプレイ順序を定義するための手段、相互依存であり得ないビデオユニットのサブセットを識別するための手段、メモリからキャッシュへ予測データをロードするための手段、及び少なくとも部分的にはキャッシュ内の予測データに基づいて符号化されたビデオユニットのサブセットのビデオブロックを復号するための手段で、ここにおいてビデオブロックを復号するためのその手段は、第２のビデオユニットの少なくともいくつかのビデオブロックが第１のビデオユニットの少なくともいくつかのビデオブロックの前に復号され、ここにおいて第２のビデオユニットがディスプレイ順序において第１のビデオユニットの後に生じる復号順序を定義するための手段を含む手段を備える。
【００１０】
本開示で説明される技法は、ハードウェア、ソフトウェア、ファームウェア、もしくはそれらの任意の組み合わせにおいて実行され得る。ハードウェアで実行される場合、装置は集積回路、プロセッサ、ディスクリート論理、もしくはそれらの任意の組み合わせとして具現化され得る。ソフトウェアで実行される場合、ソフトウェアはマイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、もしくはデジタル信号プロセッサ（ＤＳＰ）のような１つ又は複数のプロセッサにおいて実行され得る。その技法を実行するソフトウェアは、最初にコンピュータ読み取り可能媒体に格納され、プロセッサにおいてロード及び実行され得る。
【００１１】
従って本開示はまた、プロセッサで実行されるとプロセッサに、ビデオユニットのシーケンスを受信し、ここにおいてシーケンスがビデオユニットのディスプレイ順序を定義すること、相互依存であり得ないビデオユニットのサブセットを識別すること、メモリからキャッシュへ予測データをロードすること、ならびに少なくとも部分的にはキャッシュ内の予測データに基づいて符号化されたビデオユニットのサブセットのビデオブロックを復号することを行わせる命令を備えるコンピュータ読み取り可能記憶媒体も熟考する。ビデオブロックを復号する際に、その命令はプロセッサに、第２のビデオユニットの少なくともいくつかのビデオブロックが第１のビデオユニットの少なくともいくつかのビデオブロックの前に復号され、ここにおいて第２のビデオユニットがディスプレイ順序において第１のビデオユニットの後に生じる復号順序を定義することを行わせる。
【００１２】
本開示の１つ又は複数の態様の詳細は添付の図面及び以下の説明の中で述べられる。本開示で説明される技法の他の特徴、対象、及び利点は説明及び図面で、ならびに特許請求の範囲で明らかになる。
【図面の簡単な説明】
【００１３】
【図１】典型的なビデオ符号化及び復号システムを例示する典型的なブロック図。
【図２】典型的なビデオ符号器を例示するブロック図。
【図３】本開示と一貫した復号技法を実行し得る典型的なビデオ復号器を例示するブロック図。
【図４】ビデオ復号器の予測ユニット及びメモリをより詳細に例示するブロック図。
【図５】ビデオブロックのラスタスキャン順序とは異なる復号順序で復号され得る、ビデオフレームのようなビデオブロックのユニットを例示する概念図。
【図６】フレーム内のマクロブロックの空間的再順序付けを例示する概念図。
【図７】並行に復号され得る、ビデオフレームのような、ビデオブロックの２つの異なるユニットを例示する概念図。
【図８Ａ】ビデオユニットのＩＢＰＢＰパターンを例示する概念図。
【図８Ｂ】ビデオユニットのＩＢＢＰＢＢＰパターンを例示する概念図。
【図９】並行に復号され得るビデオブロックを有するフレームを例示する概念図。
【図１０Ａ】入力ストリームにおいて定義されるようなディスプレイ順序におけるビデオユニットを例示する概念図。
【図１０Ｂ】ディスプレイ順序とは異なる復号順序に従うビデオユニットの復号を例示する概念図。
【図１１】本開示に従った復号技法を例示するフロー図。
【発明を実施するための形態】
【００１４】
本開示は、ビデオブロックの復号順序がビデオブロックのディスプレイ順序に対して変更される技法を説明する。復号順序は、異なるビデオフレーム（もしくは他のコード化されたユニット）のビデオブロックが並行に復号され、その異なるフレームのビデオブロックの復号順序は交互に入れ替わる、もしくはインターリーブされるように時間的に変更され得る。特に、ビデオブロックの復号順序は２つ以上の異なるフレームのビデオブロック間で交互に入れ替わり得る。さらに復号順序はまた、ビデオブロックがビデオブロックのラスタスキャン順序と一致しない復号順序で復号されるように所与のビデオブロック内で空間的にも変更され得る。
【００１５】
技法は、メモリからキャッシュへ予測データをロードし、ここにおいてキャッシュが復号器と関連することを含み得る。ビデオブロックの復号順序は、キャッシュにロードされたデータの使用を高め、キャッシュ内のデータが、キャッシュ内のデータに依存する任意の予測復号のために使用されるまで、追加のメモリからキャッシュへのリロードを実行する必要性を低減する形態で定義され得る。このように技法は、キャッシュヒットの可能性を向上させ、それによって外部メモリから復号器と関連する内部キャッシュへのメモリロードの数を低減することによって、メモリの使用を向上させ得る。
【００１６】
復号順序は、キャッシュにすでに格納されている予測データが復号において必要とされる及び使用されることになる可能性を高める形態で特別に定義され得、復号処理の間外部メモリから内部キャッシュへのメモリロードを低減し得る。技法は、ビデオユニットのシーケンスの少なくとも一部に渡って平均的な動きを定量化するグローバル動きメトリック（ｇｌｏｂａｌ  ｍｏｔｉｏｎ  ｍｅｔｒｉｃ）のような統計メトリックを使用し得る。別の例において統計メトリックは、第１のビデオユニットと第２のビデオユニットとの間のビデオブロックの平均的な動きを定量化する平均動きメトリックを備え得る。いずれの場合においても、復号順序はデータのメモリからキャッシュへのリロードを要求することなく復号処理においてキャッシュヒットの可能性を向上させるために、少なくとも部分的には統計メトリックに基づいて定義され得る。
【００１７】
図１は本開示の技法を実行し得る典型的なビデオ符号化及び復号システム１０を例示するブロック図である。図１で示されているようにシステム１０は、通信チャネル１５を介して宛先デバイス１６に符号化されたビデオを送信する発信元デバイス１２を含む。発信元デバイス１２及び宛先デバイス１６は任意の幅広いデバイスを備え得る。いくつかの場合において発信元デバイス１２及び宛先デバイス１６は、いわゆるセルラー方式、もしくはサテライト無線電話機のような、ワイアレス通信デバイスハンドセットを備え得る。しかしながら、より一般的にビデオ復号に適用する本開示の技法は、必ずしもワイアレスアプリケーションもしくは設定に限定されず、コンピュータ、コンピュータゲーム機、テレビセットトップボックス、マルチメディアプレイヤ、ディスプレイなどのような、ビデオ復号能力を含む非ワイアレスデバイスに適用され得る。
【００１８】
図１の例において発信元デバイス１２は、ビデオソース２０、ビデオ符号器２２、変調器／復調器（モデム）２３、及び送信機２４を含み得る。宛先デバイス１６は受信機２６、モデム２７、ビデオ復号器２８、及びディスプレイデバイス３０を含み得る。発信元デバイス１２のビデオ符号器２２はビデオソース２０から受信されたビデオデータを符号化し得る。ビデオソース２０は、ビデオカメラのようなビデオキャプチャデバイス、予めキャプチャされたビデオを収容するビデオアーカイブ、もしくはビデオコンテンツプロバイダからのビデオフィードを備え得る。更なる代わりとしてビデオ発信元２０は、ソースビデオ、もしくはライブビデオ、アーカイブされたビデオ、及びコンピュータによって生成された（ｃｏｍｐｕｔｅｒ−ｇｅｎｅｒａｔｅｄ）ビデオの組み合わせとしてコンピュータグラフィックをベースとしたデータを生成し得る。いくつかの場合において、ビデオソース２０がビデオカメラである場合、発信元デバイス１２及び宛先デバイス１６はいわゆるカメラ付電話、もしくはテレビ電話を形成し得る。それぞれの場合において、キャプチャされた、予めキャプチャされた、もしくはコンピュータによって生成されたビデオはビデオ符号器２２によって符号化され得る。
【００１９】
一度ビデオデータがビデオ符号器２２によって符号化されると、その後符号化されたビデオ情報は、例えば符号分割多元接続（ＣＤＭＡ）もしくは別の通信標準規格あるいは技法のような通信標準規格に従ってモデム２３によって変調され、送信機２４を介して宛先デバイス１６に送信され得る。モデム２３は、様々なミキサ、フィルタ、増幅器、もしくは信号変調のために設計された他のコンポーネントを含み得る。送信機２４は、増幅器、フィルタ、及び１つ又は複数のアンテナを含むデータを送信するために設計された回路を含み得る。
【００２０】
宛先デバイス１６の受信機２６はチャネル１５上で情報を受信し、モデム２７はその情報を復調する。ビデオ復号器２８によって実行されるビデオ復号処理は、復号処理の間のメモリ使用を向上させるために本開示の技法を実行し得る。特にビデオ復号器２８は、復号器２８の内部キャッシュに格納されたデータの使用を高める形態で、時間的なビデオブロックの再順序付け、及び場合により空間的なビデオブロックの再順序付けを実行し得る。そのように行う際に、復号器は外部メモリ（図１では示されていない）から復号器２８の内部キャッシュへのメモリロードの量を最小化することを促進し得る。
【００２１】
ビデオ復号器２８は、ＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣもしくは別の標準規格のような、ブロックをベースとした予測符号化技法もしくは標準規格に従ってビデオブロックを復号する。復号されたビデオブロックはその後、復号されたビデオデータを形成するためにビデオフレームにまとめられ得る。ディスプレイデバイス２８は復号されたビデオデータをユーザに表示し、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、もしくは別の種類のディスプレイデバイスのような様々なディスプレイデバイスのいずれかを備え得る。
【００２２】
通信チャネル１５は、無線周波数（ＲＦ）スペクトル、もしくは１つ又は複数の物理的伝送線のような、任意のワイアレスあるいは有線通信媒体、もしくはワイアレス及び有線媒体の任意の組み合わせを備え得る。通信チャネル１５は、ローカルエリアネットワーク、広域ネットワーク、もしくはインターネットのようなグローバルネットワークのようなパケットをベースとしたネットワークの一部を形成し得る。通信チャネル１５は概して、発信元デバイス１２から宛先デバイス１６へビデオデータを送信するための、任意の適当な通信媒体、もしくは異なる通信媒体の集合を示す。
【００２３】
ビデオ符号器２２及びビデオ復号器２８はＩＴＵ−Ｔ  Ｈ．２６４／ＡＶＣ標準規格のようなビデオ圧縮標準規格に従って、相互に動作し得る。ＩＴＵ−Ｔ  Ｈ．２６４標準規格はまた、ＭＰＥＧ−４，Ｐａｒｔ１０，Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ（ＡＶＣ）の中でも説明される。しかしながら本開示の技法は任意の特定の標準規格に限定されず、任意の様々な他のビデオコード化標準規格もしくは技法に容易に適用され得る。
【００２４】
図１では示されていないけれどもいくつかの態様において、ビデオ符号器２２及びビデオ復号器２８はそれぞれ、オーディオ符号器及び復号器と一体化され得、共通のデータストリームもしくは別個のデータストリームにおいてオーディオ及びビデオの両方の符号化を扱うために、適当なＭＵＸ−ＤＥＭＵＸユニット、もしくは他のハードウェア及びソフトウェアを含み得る。適用可能である場合、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、もしくはユーザデータグラムプロトコル（ＵＤＰ）のような他のプロトコルに適合し得る。
【００２５】
ビデオ符号器２２及びビデオ復号器２８はそれぞれ、１つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰｓ）、特定用途向け集積回路（ＡＳＩＣｓ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡｓ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、もしくはそれらの任意の組み合わせとして実行され得る。ビデオ符号器２２及びビデオ復号器２８のそれぞれは１つ又は複数の符号器もしくは復号器に含まれ得、それらのどちらかはそれぞれの移動デバイス、加入者デバイス、放送デバイス、サーバなどの中で結合した符号器／復号器（ＣＯＤＥＣ）の一部として一体化され得る。
【００２６】
いくつかの場合において、デバイス１２、１６は実質的に対称的な形態で動作し得る。例えば、デバイス１２、１６のそれぞれは、ビデオ符号化及び復号コンポーネントを含み得る。従ってシステム１０は、例えばビデオストリーミング、ビデオプレイバック、ビデオ放送、もしくはビデオ電話のためにビデオデバイス１２、１６の間の１方向もしくは双方向のビデオ送信をサポートし得る。
【００２７】
本開示の技法は、特にビデオ復号器２８によって実行される復号処理の間に特に当てはまる。特に、ビデオ復号器２８はビデオフレームのような復号可能なユニットのビデオブロックを再順序付ける復号技法を実行し得る。より一般的に、フレーム、スライス、フレームの一部、画像のグループ（ＧＯＰｓ）、もしくは他のデータ構造は、それぞれが複数のビデオブロックを含む独立して復号可能なユニットとして定義され得る。いくつかの場合において、それぞれのビデオフレームは一連の独立して復号可能なスライスを含み得、それぞれのスライスは一連のマクロブロックを含み得、それはさらにより小さなブロックに整えられ得る。「コード化されたユニット」及び「ビデオユニット」という用語は、フレーム、スライス、フレームの一部、画像のグループ（ＧＯＰｓ）、もしくは独立して復号可能である他のデータ構造を表す。コード化されたユニット内のビデオブロックは一定の、もしくは可変のサイズを有し得、特定のコード化標準規格に従ってサイズが異なり得る。シンタックスデータは、それぞれのコード化されたユニットが関連するシンタックスデータを含むように、コード化されたユニット毎を基準に定義され得る。
【００２８】
ビデオブロックはいわゆるマクロブロック、もしくはビデオデータの他のサイズのブロックを備え得る。マクロブロックは通常、データの１６×１６のブロックを表す。ＩＴＵ−Ｔ  Ｈ．２６４標準規格は、輝度(luma)コンポーネント用に１６×１６、１６×８、８×１６、８×８、８×４、４×８、及び４×４、ならびに色差(chroma)コンポーネント用に対応するスケーリングされた(scaled)サイズのような、様々なブロックサイズにおけるインター予測だけでなく、輝度コンポーネント用に１６×１６、８×８、もしくは４×４、ならびに色差コンポーネント用に８×８のような、様々なブロックサイズにおけるイントラ予測をサポートする。マクロブロックは、１６×１６のピクセルを集合的に定義する１組の色差及び輝度ブロックを表し得る。色差のビデオブロックは度々、ダウンサンプル処理され、輝度ブロックは様々なサイズを前提とし得る。本開示において、「ビデオブロック」という表現は、いずれのサイズのビデオブロックも表す。ビデオブロックは色差ブロック、輝度ブロック、もしくは場合により、集合的にマクロブロックを形成する１組の色差及び輝度ブロックを表し得る。さらにビデオブロックは、ピクセルドメインにおけるビデオデータのブロック、もしくはディスクリートコサイン変換（ＤＣＴ）ドメイン、ＤＣＴに類似するドメイン、ウェーブレットドメインなどのような変換ドメインにおけるデータのブロックを表し得る。
【００２９】
ビデオ符号器２２は、予測ブロックを識別するためにコード化されているビデオブロックが予測フレーム（もしくは他のコード化されたユニット）と比較される予測コード化を実行し得る。コード化されている現在のビデオブロックと予測ブロックとの間の差分は、残差ブロックとしてコード化され、予測シンタックスは予測ブロックを識別するために使用される。残差ブロックは変換及び量子化され得る。変換技法は、ＤＣＴ処理あるいは概念的に類似の処理、整数変換、ウェーブレット変換、もしくは他の種類の変換を備え得る。ＤＣＴ処理において１つの例として、変換処理が１組のピクセル値を変換係数にコンバートし、それは周波数ドメインにおいてピクセル値のエネルギーを示し得る。量子化は通常、変換係数に適用され、一般的に任意の所与の変換係数と関連するビットの数を限定する処理を伴う。
【００３０】
変換及び量子化に引き続いて、エントロピーコード化は量子化及び変換された残差のビデオブロック上で実行され得る。符号化の間に定義された予測ベクトル及びフィルタ情報のようなシンタックス要素もまた、それぞれのコード化されたユニット用のエントロピーコード化されたビットストリームに含まれ得る。概してエントロピーコード化は、量子化された変換係数と他のシンタックス情報の両方又はどちらか一方のシーケンスを集合的に圧縮する１つ又は複数の処理を備える。ジグザグスキャン技法のようなスキャン技法は、２次元のビデオブロックから１つ又は複数のシリアル化された１次元のベクトルの係数を定義するために、例えばエントロピーコード化処理の一部として量子化された変換係数上で実行される。スキャンされた係数はその後、例えばコンテント適応可変長符号化（ＣＡＶＬＣ）、コンテクスト適応２進演算符号化（ＣＡＢＡＣ）、もしくは別のエントロピーコード化処理を介して任意のシンタックス情報と共にエントロピーコード化される。
【００３１】
述べられたように、本開示の技法は特に、ビデオ復号器２８によって実行される復号処理に当てはまる。特に、述べられたように、ビデオ復号器２８は復号器２８の内部キャッシュに格納されたデータの使用を高める形態で時間的なビデオブロックの再順序付け、及び場合により空間的なビデオブロックの再順序付けを実行し得る。復号処理を十分理解することを促進するために図２は、まず典型的な符号化処理を解説するように記載される。
【００３２】
図２は本開示と一貫したビデオ符号器５０を例示するブロック図である。ビデオ符号器５０はデバイス２０のビデオ符号器２２、もしくは異なるデバイスのビデオ符号器に対応し得る。図２で表示されているようにビデオ符号器５０は予測ユニット３２、加算器４８及び５１、及びメモリ３４を含む。ビデオ符号器５０はまた、逆量子化ユニット４２及び逆変換ユニット４４だけでなく、変換ユニット３８及び量子化ユニット４０も含む。ビデオ符号器５０はまた、エントロピーコード化ユニット４６も含む。１つ又は複数のフィルタ（示されていない）もまた、符号化処理において実行され得る。
【００３３】
符号化処理の間ビデオ符号器５０は、コード化されるビデオブロックを受信し、予測ユニット３２は予測コード化技法を実行する。インターコード化のために予測ユニット３２は、予測ブロックを定義するために、符号化されるビデオブロックを１つ又は複数のビデオ参照フレームもしくはスライスにおける様々なブロックと比較する。イントラコード化のために、予測ユニット３２は同じコード化されたユニット内の隣接するデータに基づいて予測ブロックを生成する。予測ユニット３２は予測ブロックを出力し、加算器４８は残差ブロックを生成するためにコード化されているビデオブロックから予測ブロックを取り去る。
【００３４】
インターコード化のために予測ユニット３２は、予測ブロックを指し示す動きベクトルを識別する動き推定及び動き補償ユニットを備え得、動きベクトルに基づいて予測ブロックを生成する。動き推定は通常、動きを推定する動きベクトルを生成する処理と考えられる。例えば、動きベクトルは現在のフレーム内でコード化されている現在のブロックに対する予測フレーム内の予測ブロックの移動(displacement)を指し示し得る。動き補償は通常、動き推定によって決定される動きベクトルに基づいて予測ブロックをフェッチもしくは生成する処理と考えられる。イントラコード化のために予測ユニット３２は、同じコード化されたユニット内の近接するデータに基づいて予測ブロックを生成する。１つ又は複数のイントラ予測モードはイントラ予測ブロックがどのように定義され得るかを定義し得る。
【００３５】
予測ユニット３２が予測ブロックを出力し、加算器４８が残差ブロックを生成するためにコード化されているビデオブロックから予測ブロックを取り去った後、変換ユニット３８は残差ブロックに変換を適用する。その変換はディスクリートコサイン変換（ＤＣＴ）、もしくはＨ．２６４標準規格によって定義されるもののような概念的に類似する変換を備え得る。ウェーブレット変換、整数変換、サブバンド（ｓｕｂ−ｂａｎｄ）変換、もしくは他の種類の変換も使用されることができるだろう。いずれの場合においても変換ユニット３８は、変換を残差ブロックに適用して、残差変換係数のブロックを作り出す。その変換は残差情報をピクセルドメインから周波数ドメインにコンバートし得る。
【００３６】
量子化ユニット４０は、その後ビットレートをさらに低減するために残差変換係数を量子化する。例えば量子化ユニット４０は、係数のそれぞれをコード化するために使用されるビットの数を限定し得る。量子化の後、エントロピーコード化ユニット４６は量子化された係数ブロックを２次元表示から１つ又は複数のシリアル化された１次元ベクトルにスキャンする。スキャンの順序は、（ジグザグスキャン、あるいは別の予め定義された順序のような）定義された順序で生じるように予めプログラムされ得る、もしくは場合により以前のコード化統計に基づいて適応可能に定義され得る。
【００３７】
このスキャン処理に引き続き、エントロピー符号化ユニット４６はさらにデータを圧縮するために、ＣＡＶＬＣもしくはＣＡＢＡＣのようなエントロピーコード化方法に従って（任意のシンタックス要素と共に）量子化された変換係数を符号化する。エントロピーコード化されたビットストリームの中に含まれるシンタックス要素は、インターコード化のための動きベクトル、もしくはイントラコード化のための予測モードのような、予測ユニット３２からの予測シンタックスを含み得る。エントロピーコード化されたビットストリームの中に含まれるシンタックス要素はまた、フィルタ情報、もしくは復号処理において使用され得る他のデータも含み得る。
【００３８】
ＣＡＶＬＣは、ＩＴＵ  Ｈ．２６４／ＭＰＥＧ４，ＡＶＣ標準規格によってサポートされるエントロピーコード化技法の１つの種類であり、エントロピーコード化ユニット４６によってベクトル基準で適用され得る。ＣＡＶＬＣは変換係数とシンタックス要素の両方又はどちらか一方のシリアル化された「ラン」を効率的に圧縮する形態で可変長符号化（ＶＬＣ）テーブルを使用する。ＣＡＢＡＣは、ＩＴＵ  Ｈ．２６４／ＭＰＥＧ４，ＡＶＣ標準規格によってサポートされる別の種類のエントロピーコード化技法であり、エントロピーコード化ユニット４６によってベクトル基準で適用され得る。ＣＡＢＡＣは、２値化、コンテキストモデル選択、及び２進演算コード化を含む、いくつかの段階を伴い得る。この場合においてエントロピーコード化ユニット４６は、ＣＡＢＡＣに従って変換係数及びシンタックス要素をコード化する。多くの他の種類のエントロピーコード化技法もまた存在し、新しいエントロピーコード化技法が将来、おそらく登場するだろう。本開示はいずれの特定のエントロピーコード化技法にも限定されない。
【００３９】
エントロピー符号化ユニット４６によるエントロピーコード化に引き続いて、符号化されたビデオは別のデバイスに送信され得る、もしくは後の送信あるいは検索用にアーカイブされ得る。また、符号化されたビデオは、エントロピーコード化された動きベクトル、及び復号処理を適当に構成するために復号器によって使用され得る他の様々なシンタックスを備え得る。逆量子化ユニット４２及び逆変換ユニット４４はピクセルドメインで残差ブロックを再構成するためにそれぞれ逆量子化及び逆変換を適用する。加算器（ｓｕｍｍｅｒ）５１は、メモリ３４内への格納用に再構成されたビデオブロックを作り出すために予測ユニット３２によって作り出された予測ブロックに再構成された残差ブロックを加える。そのような格納に先立ってフィルタリングもまた、ビデオ品質を向上させるためにビデオブロック上で適用され得る。そのようなフィルタリングは、ブロッキネス（ｂｌｏｃｋｉｎｅｓｓ）もしくは他のアーティファクト（ａｒｔｉｆａｃｔ）を低減し得、ループの内（この場合、予測用に使用されるデータはフィルタリングされたデータである）、あるいはループの後（この場合、予測用に使用されるデータはフィルタリングされていないデータである）で実行され得る。
【００４０】
図３は、本開示の１つ又は複数の技法を使用してビデオシーケンスを復号する、ビデオ復号器６０の例を例示するブロック図である。受信されたビデオシーケンスは、符号化された１組の画像フレーム、１組のフレームスライス、共通にコード化された画像のグループ（ＧＯＰｓ）、もしくはどのようにそのようなビデオブロックを復号するかを定義するためのシンタックス及び符号化されたビデオブロックを含む幅広い種類のコード化されたビデオユニットを備え得る。ビデオ復号器６０は図１におけるシステム１０のビデオ復号器２８に対応し得、もしくは別のデバイスのビデオ復号器を備え得る。図３において例示される様々なコンポーネントは例示的な目的のために示される。様々なコンポーネントは組み合わされ得、他のコンポーネントが存在し得る。
【００４１】
以下でより詳細に説明されるように、ビデオ復号器６０は従来の復号技法に対してビデオブロックの復号順序を変更もしくは調整し得る。従来より、ビデオユニットは復号順序においてシーケンシャルに復号され得る。さらにそれぞれのビデオユニットのビデオブロックは、ビデオユニットの上部左端にある第１のビデオブロックから下部右端にある最後のビデオブロックへとラスタスキャン順序において復号され得る。しかしながら本開示の技法は、メモリの有効的な使用を高める形態でビデオブロックのこの復号順序を変更する。
【００４２】
復号順序は、異なるビデオフレームもしくはスライス（もしくは他のコード化されたユニット）のビデオブロックが並行に復号されるように時間的に変更され得る。この場合において、ビデオブロックの復号順序は２つ以上の異なるフレームのビデオブロック間で交互に入れ替わり得る。さらに復号順序はまた、ビデオブロックがビデオブロックのラスタスキャン順序と一致しない順序で復号されるように所与のビデオブロック内で空間的にも変更され得る。統計的メトリックは、他の方法で実行され得るよりも早い復号のために順序付けされるべきであるそれらのビデオブロックを、そのようなビデオブロックの復号がキャッシュ７０内のデータをそのようなデータが置き換えられる前に使用することができるように予測することを促進するために使用され得る。このようにキャッシュ７０へのメモリロードの数は、時間の経過と共に低減され得る。
【００４３】
ビデオ復号器６０は、図２のエントロピー符号化ユニット４６によって実行される符号化の相補的な復号機能を実行する、エントロピー復号ユニット５２を含む。特に、エントロピー復号ユニット５２はＣＡＶＬＣもしくはＣＡＢＡＣ復号、あるいはビデオ符号器５０によって使用される任意の他の種類のエントロピー復号を実行し得る。１次元のシリアル化されたフォーマット内のエントロピー復号されたビデオブロックは、１つ又は複数の１次元のベクトルの係数を２次元のブロックのフォーマットに戻すようにコンバートするために逆スキャンされ得る。ビデオブロック用に定義されたスキャン順序だけでなく、ベクトルの数及びサイズは、どのように２次元のブロックが再構成されるかを定義し得る。動きベクトルのようなエントロピー復号された予測シンタックス要素（及び場合により他の復号されたシンタックス要素）はエントロピー復号ユニット５２から予測ユニット５４へ送られ得る。
【００４４】
ビデオ復号器６０はまた、予測ユニット５４、逆量子化ユニット５６、逆変換ユニット５８、メモリ６２、及び加算器６４も含む。加えてビデオ復号器６０はまた、加算器６４の出力をフィルタするフィルタユニット（示されていない）も含み得る。予測ユニット５４は、例えばメモリ６２よりも速くならびに小さい、比較的速い内部メモリ回路を備え得る関連するキャッシュ７０を含み得る。予測データは、復号処理のために必要とされることになるキャッシュ７０内のデータを高めるために１つ又は複数のビデオユニットの統計に基づいてメモリ６２からキャッシュ７０へロードされ得る。さらにキャッシュ７０内のデータの使用をそのようなデータをリロードする必要なく、さらに高めるために、異なるコード化されたビデオユニットのビデオブロックの復号順序が、復号順序がディスプレイ順序と一致しないように変更され得る。２つ以上のビデオユニットは、復号処理が２つ以上の異なるビデオユニットのビデオブロック間で交互に入れ替わるように並行に復号され得る。この場合において予測ユニット５４は、相互依存であり得ないビデオユニットを識別し得、キャッシュ７０内のデータの使用を高めるために、キャッシュ７０に備わり、ビデオブロックの復号順序を定義するためにコード化統計を使用し得る。第１のビデオユニットのビデオブロックが第２のビデオユニットのビデオブロックを指し示す動きベクトルを有することができない場合、及び逆の場合も同様に、第１のビデオユニット及び第２のビデオユニットは相互依存であり得ない。
【００４５】
予測ユニット５４はエントロピー復号ユニット５２から（動きベクトルのような）予測シンタックスを受信する。予測シンタックスを使用して、予測ユニット５４はキャッシュ７０から予測ブロックを生成し、それは加算器６４を介して残差ブロックと結合され得る。逆量子化ユニット５６は逆量子化を実行し、逆変換ユニット５８は残差ビデオブロックの係数をピクセルドメインに戻るように変えるために逆変換を実行する。加算器６４は、所与のビデオブロックを再構成するために逆変換ユニット５８によってそれぞれの予測ブロックを対応する残差ブロック出力と結合する。
【００４６】
概して、ビデオ復号器６０はビデオユニットのシーケンスを受信し得、シーケンスはビデオユニットのディスプレイ順序を定義し得る。予測ユニット５４は相互依存であり得ないビデオユニットのサブセットを識別し得、予測データをメモリ６２からキャッシュ７０へロードし得、ここにおいてキャッシュ７０は復号器６０の予測ユニット５４と関連する。メモリ６２もまた、復号器７０と関連し得る、あるいは他のプロセッサもしくはユニットと共有される外部メモリであり得る。しかしながら概してキャッシュ７０は、メモリ６２よりもメモリアクセススピードの点で速く、サイズにおいて小さいメモリ回路を備え得る。キャッシュ７０のサイズは、いくつかのマクロブロックの行(rows)の始まり以外のどこにおいてもキャッシュのウォーミングアップの必要を回避するために特別に設計され得る。特にキャッシュのサイズは、キャッシュミスを最小化するように選択され得る。その処理は（いくつかのフレームから）４つのマクロブロックの行の連続する組に移動し得、処理がマクロブロックの行の別の組に移動する時、キャッシュ内のデータは比較的広いフレームの幅のために無効であると予期され得る。この場合において多くのキャッシュミスが、ウォーミングアップ期間の間予期され得るが、しかしウォーミングアップ期間の後、本開示の技法はそのような生じ得るキャッシュミスを低減することを促進し得る。
【００４７】
予測ユニット５４は、少なくとも部分的にはキャッシュ７０内の予測データに基づいて符号化されたビデオユニットのサブセットのビデオブロックを復号し得る。本開示に従って予測ユニット５４は、第２のビデオユニットの少なくともいくつかのビデオブロックが第１のビデオユニットの少なくともいくつかのビデオブロックの前に復号され、第２のビデオユニットがディスプレイ順序において第１のビデオユニットの後に生じる復号順序を定義し得る。メモリ６２及びキャッシュ７０は幅広い種類のメモリ回路のいずれかを備え得る。通常、キャッシュ７０はメモリ６２と比較してより小さく、より速いメモリである。１つの例として、メモリ６２はダイナミックランダムアクセスメモリ（ＤＲＡＭ）を備え得、キャッシュ７０はスタティックランダムアクセスメモリ（ＳＲＡＭ）もしくは混載ＤＲＡＭを備え得る。
【００４８】
符号化されたビデオユニットのシーケンスは、ビデオフレームのシーケンス、ビデオフレームの一部のシーケンス、もしくはビデオフレームのスライスのシーケンスを備え得る。復号順序は第１の符号化されたビデオユニットの１つ又は複数のビデオブロックと第２のビデオユニットの１つ又は複数のビデオブロックとの間で交互に入れ替わり得る。本開示に従って復号順序は、キャッシュ内にロードされた予測データがキャッシュをリロードする必要なくビデオユニットのサブセットのビデオブロックを復号する際に使用される可能性を実質的に向上させるように定義され得る。
【００４９】
復号順序はまた、所与のコード化されたユニットのビデオブロックのために空間的にも定義もしくは変えられ得る。この場合において復号順序は、第１のビデオユニットのビデオブロックが第１のビデオユニットのラスタスキャン順序と一致しない順序で復号され、第２のビデオユニットのビデオブロックが第２のビデオユニットのラスタスキャン順序と一致しない順序で復号されるように予測ユニット５４によって定義され得る。従って第１のビデオユニットの第２の行の少なくとも１つのビデオブロックは第１のビデオユニットの第１の行の少なくとも１つのビデオブロックに先立って復号され得、ここにおいて第２の行はビデオユニットのディスプレイされたバージョンにおいて第１の行の下にある。
【００５０】
復号順序を定義するために予測ユニット５４は、異なるコード化されたビデオユニット内のビデオブロックの統計を使用し得る。予測ユニット５４もしくは場合によりエントロピー復号ユニット５２あるいは別個の前処理ユニット（示されていない）は統計を生成するために事前にいくつかのフレーム用にビデオストリームを前処理し得る。統計は、全ての前処理されたフレームのためのグローバル動きベクトル及び関連する参照フレームリストを備え得る。このコンテクストにおけるグローバル動きベクトルはいずれの実在の動きも示さない場合があるが、しかし例えば全ての前処理されたフレームのための、ストリーム内の平均動きベクトルを備え得る。グローバル動きベクトルは、参照データの読み出しにおける重複の最大の可能性(chance)をもたらすフレーム間の平均的な水平及び垂直の移動を識別するために使用され得る。フレーム間の平均的な水平及び垂直の移動は、重複する参照データを有することになる異なるフレームの見込みのある(likely)領域を定義するために、定量化され得、例えば最も近い１６ピクセルに丸め処理され得る。以下でより詳細に説明されるように、前前処理されたフレームはフレームのスライドウィンドウを備え得、もしくは１組のＩＢＰＢＰフレームもしくは１組のＩＢＢＰＢＢＰフレームのような、ディスクリートな１組のフレームを備え得る。
【００５１】
また、予測ユニット５４（もしくは前処理を実行する別のユニット）は、相互依存であり得ない２つ以上のビデオユニットを最初に決定することができ、これは例えばそのようなビデオユニットが予測のために互いのデータに頼らないことを意味する。これらの種類の相互関連のないビデオユニットは並行に復号され得、キャッシュ７０にロードされたデータは（ビデオブロックの定義されたコード化順序と共に）キャッシュ７０への重複のロードが回避されることを確実にすることを促進し得る。メモリ６２からキャッシュ７０へロードされたいずれの予測データも、たとえいくつかのビデオブロックがビデオユニット内でシーケンシャルでない、もしくは２つ以上の異なるビデオユニットの中に含まれる場合でもそのようなビデオブロックの復号のために使用され得る。
【００５２】
ある例において、予測ユニット５４はビデオユニットのシーケンス内のビデオブロックと関連する統計メトリックを定義し得、少なくとも部分的には統計メトリックに基づいて復号順序を定義し得る。統計メトリックは、ビデオユニットのシーケンスの少なくとも一部に渡って平均的な動きを定量化するグローバル動きメトリックを備え得る。別の例において、予測ユニット５４は、第１のビデオユニットと第２のビデオユニットとの間のビデオブロックの平均的な動きを定量化し、ここにおいて第１のビデオユニット及び第２のビデオユニットが相互依存であり得ないユニットである、平均動きメトリックを決定し得る。予測ユニット５４はその後、少なくとも部分的には平均動きメトリックに基づいて復号順序を定義し得る。
【００５３】
以下でより詳細に説明されるように、本開示の技法はビデオユニットの共通に使用されるシーケンスを用いて機能し得る。ある例においてビデオユニットのシーケンスは、第１のＢフレームが続き、第１のＰフレームが続き、第２のＢフレームが続き、第２のＰフレームが続くＩフレームを含むＩＢＰＢＰフォーマットに従い、ここにおいてビデオユニットのサブセットは第１のＢフレーム及び第２のＰフレームから成り立つ。別の例においてビデオユニットのシーケンスは、第１のＢフレームが続き、第２のＢフレームが続き、第１のＰフレームが続き、第３のＢフレームが続き、第４のＢフレームが続き、第２のＰフレームが続くＩフレームを含むＩＢＢＰＢＢＰフォーマットに従い、ここにおいてビデオユニットのサブセットは第１のＢフレーム、第２のＢフレーム、及び第２のＰフレームから成り立つ。前処理はディスクリートな組のＩＢＰＢＰフレームもしくはディスクリートな組のＩＢＢＰＢＢＰフレームで行われ得、もしくはフレームのスライドウィンドウに渡って平均的な動きを定義するためにスライドウィンドウ内で行われ得る。その技法はまた、スライスもしくはフレームの他の部分のような、他の種類のビデオユニットにも当てはまり得る。
【００５４】
Ｉフレームという用語はイントラコード化されたフレームを表す。Ｐフレームという用語は１組の予測データに依存する予測インターコード化されたフレームを表す。Ｂフレームという用語は、（例えば、２つの異なるフレームからの）２つの異なる組の予測データに依存する双予測インターコード化されたフレームを表す。ＩＢＰＢＰ及びＩＢＢＰＢＢＰは、ビデオシーケンスが符号化される２つの一般的な方法である。本開示の技法はこれらの、もしくは他の符号化されたビデオシーケンスに当てはまり得る。
【００５５】
図４はより詳細に予測ユニット５４及びメモリ６２を例示するブロック図である。示されているように予測ユニット５４は、外部メモリ７２と比較して小さく、速いメモリを備え得るキャッシュを含む。予測ユニットはメモリフェッチコマンドをメモリコントローラ７１に出すことができ、それはデータが外部メモリ７２から予測ユニット５４の内部キャッシュ７０へロードされることを引き起こす。メモリ７２は、プロセッサの外に位置する点で外部であり得、そのプロセッサはその他の点では復号器６０を形成する。反対に、キャッシュ７０は復号器６０を形成するプロセッサに対する内部メモリを備え得る。プロセッサは図３で示される異なるユニット及びモジュールの様々な機能を実行するようにプログラムもしくは構成され得る。
【００５６】
また本開示は、予測データをメモリ６２からキャッシュ７０へとロードすることを含む技法を提供する。ビデオブロックの復号順序は、キャッシュ７０にロードされたデータの使用を高め、キャッシュ７０内のデータがそのようなデータに依存する任意の予測復号のために使用されるまで追加のメモリからキャッシュへのリロードを実行する必要性を低減する形態で定義され得る。このように技法は、キャッシュ７０におけるキャッシュヒットの可能性を向上させ、それによって外部メモリ７２からのメモリロードの数を低減することによってメモリ６２及びキャッシュ７０の使用を向上させ得る。
【００５７】
また復号順序は、異なるビデオフレーム（もしくは他のコード化されたユニット）のビデオブロックが交互に入れ替わる形態で復号されるように時間的に変更され得る。この場合において、ビデオブロックの復号順序は、２つ以上の異なるフレームのビデオブロック間で交互に入れ替わり得る。さらに復号順序はまた、ビデオブロックがビデオブロックのラスタスキャン順序と一致しない順序で復号されるように所与のビデオブロック内で空間的にも変更され得る。
【００５８】
図５は、ビデオブロックのラスタスキャン順序とは異なる復号順序で復号され得る、ビデオフレームのようなビデオブロック７７のビデオユニットを例示する概念図である。このシナリオは、ビデオユニット７７のビデオブロックの復号順序の空間的な再順序付けとして表され得る。図５において、ビデオユニット７７のビデオブロックはラスタスキャン順序で１から６４まで分類される。しかしながら本開示に従って、ビデオユニット７７のビデオブロックの復号順序はこのラスタスキャン順序とは異なり得る。特に、全ての第１の行のビデオブロック（ＶＢ１からＶＢ８）を復号することに先立って１つ又は複数の第２の行のビデオブロック（ＶＢ９からＶＢ１６）を復号することは有利であり得る。例えばＶＢ１及びＶＢ１０は、ＶＢ１及びＶＢ１０の空間的近接性のためにＶＢ１及びＶＢ９よりも、同じ予測データに依存する可能性がよりあり得る。この理由のために、ＶＢ８を復号することに先立ってＶＢ１０を復号することは、キャッシュ７０の使用の見地からより有利であり得る。復号は最初に実行された符号化に左右されるので、ビデオ復号器６０は復号順序を定義するために図５において表示されるビデオブロックの動きベクトルの動きベクトル統計を利用し得る。動きベクトルの全体的な統計（例えば、ビデオユニット７７の平均的な動き）は、キャッシュヒットを高め、キャッシュ７０内でデータをロード及び置き換える必要性を低減するためにビデオ復号器６０がキャッシュ７０にロードされた１組のデータに対して望ましい復号順序を推定することを可能にし得る。
【００５９】
図６は、フレーム内のマクロブロックの空間的な再順序付けを例示する概念図である。示されているように、行６６の第１のマクロブロックが復号される。その後、行６７からの第２のマクロブロックが復号される。次に行６８からの第３のマクロブロックが復号され、最後に行６９からの第４のマクロブロックが復号される。この時点で、行６６からの次のマクロブロックが復号され得る。このように復号順序は、所与のビデオユニット内のビデオブロックがラスタスキャン順序と一致しない順序で復号されるように定義される。つまり、第１のビデオユニットの第２の行の少なくとも１つのビデオブロックは第１のビデオユニットの第１の行の少なくとも１つのビデオブロックに先立って復号され、ここにおいて第２の行は第１の行の下にある。これは、参照フレームからの参照エリア６５がメモリ６２からキャッシュ７０へのデータのロード及びリロードを回避してキャッシュ７０（図３）内でより十分に活用されることを可能にする。
【００６０】
図７は、並行に復号され得る、２つの異なるビデオフレームのような、ビデオブロックの２つの異なるユニット（７８及び７９）を例示する概念図である。このシナリオはビデオユニット７８及び７９のビデオブロックの復号順序の時間的再順序付けとして表され得る。本開示は、キャッシュの使用を向上させ、キャッシュヒットを実質的に最大化するためにビデオブロックの空間的再順序付け及び時間的再順序付けの両方を考慮に入れる。
【００６１】
時間的再順序付けの場合において、ビデオ復号器６０は復号処理においてビデオユニット７８及び７９のビデオブロック間で交互に入れ替わり得る。図７において、ビデオユニット７８のビデオブロックはラスタスキャン順序で１から６４まで分類され、ビデオユニット７９のビデオブロックも同様にラスタスキャン順序で１から６４まで分類される。しかしながら本開示に従って、ビデオユニット７８及び７９のビデオブロックの復号順序は、ビデオユニット７８及び７９のビデオブロックが並行で共に復号され得る限り、ラスタスキャン順序とは異なり得る。特に、ビデオユニット７８の全てのビデオブロックを復号することに先立ってビデオユニット７９の１つ又は複数のビデオブロックを復号することは有利であり得る。
【００６２】
例えば、ビデオユニット７８及び７９の同じ場所に配置された、もしくは近くに配置されたビデオブロックは、所与のビデオユニットの２つのより空間的に離れたビデオブロックよりも、同じ予測データに依存する可能性がよりあり得る。この理由のために、ビデオユニット７８のＶＢ８を復号することに先立ってビデオユニット７９のＶＢ１を復号することは、キャッシュ７０の使用の見地からより有利であり得る。ビデオユニット７８及び７９は、非相互依存であり得、そしてそれはビデオユニット７８が予測のためにビデオユニット７９のいずれのデータにも依存せず、ビデオユニット７９が予測のためにビデオユニット７８のいずれのデータにも依存しないこと意味する。これは復号処理においてビデオユニット７８及び７９の並行復号及びビデオユニット７８及び７９のビデオブロック間の交互の入れ替わりを許容する。
【００６３】
ビデオ復号器６０は、復号順序を定義するためにビデオユニット７９のビデオブロックの動きベクトルに対するビデオユニット７８のビデオブロックの動きベクトルの動きベクトル統計を利用し得る。この場合において、ビデオユニット７８と７９との間の相対的な動きは復号のために類似のデータを使用し得るそれらのビデオブロックを推定するために使用され得る。例示としてビデオユニット７８及び７９において示されたボールド体のブロックは全て共通の組の予測データに依存し得る。しかしながら、示されているようにビデオユニット７９のボールド体のブロックはビデオユニット７８のボールド体のブロックに対する動きを有する。ビデオユニット７９のものに対するビデオユニット７８のビデオブロックの平均的な動きは、予期された動きを定量化もしくは推定し、それによってビデオ復号器が、ビデオユニット７８及びビデオユニット７９のビデオブロック間で交互に入れ替わる交互のビデオブロック復号順序を定義することを可能にするために使用され得る。このように、復号のために類似のデータに依存するビデオユニット７８及び７９のそれらのビデオブロックは時間においてより密接に復号され得、それによってキャッシュ７０におけるキャッシュヒットの可能性を最大化することを促進し、それによって復号処理の間キャッシュ７０への重複のメモリロードを低減する。
【００６４】
図８Ａは、ビデオユニットのＩＢＰＢＰパターンを例示する概念図である。ＩＢＰＢＰフォーマットにおいて、ビデオフレームのシーケンスは、第１のＢフレームが続き、第１のＰフレームが続き、第２のＢフレームが続き、第２のＰフレームが続く、Ｉフレームを含む。この場合において、第１のＢフレーム及び第２のＰフレームは相互依存であり得ない。従ってビデオ復号器６０は第１のＢフレーム及び第２のＰフレームを並行で共に復号するための候補として識別もしくは定義し得る。この場合においてビデオ復号器６０はビデオフレームをシーケンシャルに処理し得るが、しかし第１のＢフレームのビデオブロックと第２のＰフレームのビデオブロックとの間で交互に入れ替わって第１のＢフレーム及び第２のＰフレームを並行に復号し得る。
【００６５】
図８ＢはビデオユニットのＩＢＢＰＢＢＰパターンを例示する概念図である。ＩＢＢＰＢＢＰフォーマットにおいてビデオフレームのシーケンスは第１のＢフレームが続き、第２のＢフレームが続き、第１のＰフレームが続き、第３のＢフレームが続き、第４のＢフレームが続き、第２のＰフレームが続くＩフレームを含む。この場合において、第１のＢフレーム、第２のＢフレーム、及び第２のＰフレームは相互依存であり得ない。従ってビデオ復号器６０は、第１のＢフレーム、第２のＢフレーム、及び第２のＰフレームを並行で共に復号するための候補として識別もしくは定義し得る。この場合において、ビデオ復号器６０は一般的にビデオフレームをシーケンシャルに処理し得るが、しかし第１のＢフレーム、第２のＢフレーム、及び第２のＰフレームのビデオブロック間で交互に入れ替わって第１のＢフレーム、第２のＢフレーム、及び第２のＰフレームを並行に復号し得る。
【００６６】
図９は、並行に復号され得るビデオブロックを有するフレームを例示する概念図である。図９において示されるシナリオは、ビデオフレームがＩＢＢＰＢＢＰフォーマットに従う図８Ｂのものに類似し得る。このＩＢＢＰＢＢＰフォーマットにおけるフレームは、Ｐ／Ｉフレーム０、Ｂフレーム１、Ｂフレーム２、Ｐフレーム３、Ｂフレーム４、Ｂフレーム５、及びＰフレーム６として分類され得る。これらのフレームのいくつかのみが図９において例示される。
【００６７】
図９は、復号の間の参照フレームの読み込みが異なるフレーム内のマクロブロック用の同じエリアによってもたらされる１つの例を例示する。時間的及び空間的に近接したマクロブロックにおける動きベクトル間の相互関係に左右されて、連続して処理されたマクロブロックの読み込みエリアの類似性は変わり得る。図９において、ＭＢはマクロブロックを表し、記号は行及び列の位置（行はｋであり、列はｎであり、Ｄｖｌはフレーム間の垂直移動であり、Ｄｈｌはフレーム間の水平移動である）を示す。Ｄｖｌ及びＤｈｌは、本明細書で説明されるグローバル動きベクトルのような統計メトリックに基づき得る。
【００６８】
図９で示されているように、Ｂフレーム１、Ｂフレーム２、及びＰフレーム６は全てＰフレーム３及びＩ／Ｐフレーム０からのデータに依存し得る。図９において示されているＢフレーム１、Ｂフレーム２、及びＰフレーム６の例示されたビデオブロックはそれぞれ、例えば、Ｐフレーム３及びＩ／Ｐフレーム０のエリア８１及び８２によってそれぞれ定義されるデータのサブセットに依存し得る。この場合において、エリア８１及び８２におけるデータが後の復号用にキャッシュ７０をリロードすることに先立ってキャッシュ７０において十分に活用され得るように、Ｂフレーム１、Ｂフレーム２及びPフレーム６のビデオブロックを並行に復号することは有利であり得る。
【００６９】
従ってビデオ復号器６０は、異なるフレームのビデオブロック間で交互に入れ替わる、Ｂフレーム１、Ｂフレーム２、及びＰフレーム６のビデオブロックのための復号順序を定義し得る。例えばビデオ復号器６０は、Ｂフレーム１からのブロックを復号することができ、その後、Ｂフレーム２からのブロックが続き、Ｐフレーム６からのブロックが続き、Ｂフレーム１からの別のブロックが続き、Ｂフレーム２からの別のブロックが続き、Ｐフレーム６からの別のブロックが続き、その後同じように続く。本明細書で説明されるように、異なるフレームのグローバル動き、もしくは動きベクトルに基づく１つ又は複数の統計メトリックによって定義されるそのようなフレームの相対的な動きは、ビデオブロック間の交互の入れ替わりが生じるそれぞれのフレーム内の空間的配置を定義するために使用され得る。つまり、ビデオブロック間での交互の入れ替わりは同じ場所に配置されたビデオブロックに関しては生じ得ないが、しかし異なるフレーム間の平均的な動きの推定された量の分だけオフセットされたそのようなフレームのビデオブロックに関しては生じ得る。ビデオブロックの時間的再順序付けは、キャッシュ７０の使用をさらに向上させるためにそれぞれのフレーム内のビデオブロックの空間的再順序付けと結合され得る。
【００７０】
図１０Ａは、入力ストリーム内で定義されるようなディスプレイ順序におけるビデオユニットを例示する概念図である。この例において入力ストリームは、Ｐフレームが続き、ｂフレームが続き、ｂフレームが続き、Ｐフレームが続き、Ｂフレームが続き、ｂフレームが続き、ｂフレームが続き、Ｐフレームが続き、ｂフレームが続き、Ｐフレームが続くＩフレームを備える。Ｂフレームは、それ自体が予測データとして使用される双予測フレームを備え得、それに対してｂフレームは予測データとして使用され得ない双予測フレームを備え得る。数表示９１、９２、９３、及び９４によって定義されるフレームの組は同時に復号されることができる組であり得る。組９１はいずれの相互依存性も有しないことがある。同様に、組９２、組９３、及び組９４もまた、それぞれの所与の組内でいずれの相互依存性も有しないことがある。従ってこれらの組９１、９２、９３、及び９４のそれぞれは復号器６０によって共に復号可能であるとして識別され得る。
【００７１】
図１０Ｂはディスプレイ順序とは異なる復号順序に従ったビデオユニットの復号を例示する概念図である。この場合において、復号器６０はＰフレーム復号が続く、Ｉフレーム復号を実行し得る。復号器６０はその後、例えば図１０Ａにおける組９１によって定義される、ｂフレーム１、ｂフレーム２、及びＰフレームのために並行な復号を実行し得る。
この場合において復号器６０は、本明細書で説明されるようにより効率的にキャッシュ７０を使用するために、組９１にける異なるフレームのビデオブロック間で交互し得る。
【００７２】
次に復号器６０は組９２のＰフレームの復号と並行にＢフレーム復号を実行し得る。次に復号器６０は組９３のｂフレーム復号と並行にｂフレーム復号を実行し得る。最後に復号器６０は、組９４のＰフレーム復号と並行にｂフレーム復号を実行し得る。並行に復号を実行する際に復号器６０は、メモリのリロードを必要とすることなくキャッシュ７０におけるデータの使用を高めるビデオブロックの時間的再順序付けに従って異なるフレームのビデオブロック間で交互し得る。同時に、それぞれ個別のフレームのためのビデオブロックの空間的再順序付けもまた、キャッシュヒットの数をさら向上させるためにビデオ復号器６０によって実行され得る。
【００７３】
図１１は本開示に従った復号技法を例示するフロー図である。図５において示されているように、ビデオ復号器６０は、ディスプレイ順序を定義するビデオユニットのシーケンスを受信する（１０１）。ビデオ復号器６０は、相互依存であり得ないビデオユニットのサブセットを識別するために前処理を実行し得る（１０２）。例えば、エントロピー復号ユニット５２もしくは予測ユニット５４もしくは場合により別個の前処理ユニット（示されていない）が、相互依存であり得ないビデオユニットのサブセットを識別するためにビデオシーケンスの前処理を実行し得る。さらにこの前処理の一部として、本明細書で説明されるもののような統計が、ビデオブロックの復号順序を定義する際の使用のために集められ得る。例えば言及されたように、フレームのシーケンスに渡って定義されるグローバル動きは、その後望ましい復号順序を定義することを促進するために使用され得る、そのフレームの組におけるグローバル動きを概算もしくは推定するために使用され得る。ビデオ復号器６０は、いくつかのフレームは復号することに先立って前処理され得、そしてフレームの組はその後本開示に従って並行に復号され得るので、前処理及び復号する段階の間入力ビデオストリームを格納するための追加のフレームバッファを含み得る。
【００７４】
予測ユニット５４は、メモリ６２から予測ユニット５４に関連するキャッシュ７０へ予測データをロードする（１０３）。予測ユニット５４（もしくは場合により別個の前処理ユニット）は、実質的にキャッシュヒットを最大化するビデオブロックの復号順序を定義し得る（１０４）。この場合において復号順序は異なるフレームのビデオブロック間で交互に入れ替わり得（時間的再順序付け）、そのラスタスキャン順序とは異なる所与のフレーム内の順序にも従い得る（空間的再順序付け）。予測ユニット５４は定義された復号順序に基づいてビデオブロックを復号する（１０５）。
【００７５】
本開示の技法は、ワイアレスハンドセット、及び集積回路（ＩＣ）もしくは１組のＩＣｓ（つまり、チップセット）を含む幅広い種類のデバイスもしくは装置において実行され得る。いずれのコンポーネント、モジュール、もしくはユニットも、機能の態様を強調するように提供されて説明されてきており、必ずしも異なるハードウェアユニットによる具現化を要求しない。
【００７６】
従って本明細書で説明される技法は、ハードウェア、ソフトウェア、ファームウェア、もしくは任意のそれらの組み合わせにおいて実行され得る。ハードウェアにおいて実行される場合、モジュール、ユニット、もしくはコンポーネントとして説明されるいずれの特徴も集積論理デバイスにおいて共に、もしくはディスクリートであるが相互動作可能な論理デバイスとして別個に実装され得る。ソフトウェアにおいて実行される場合その技法は、少なくとも部分的には、プロセッサ内で実行される時に１つ又は複数の上記で説明された方法を実行する命令を備えるコンピュータ読み取り可能媒体によって具現化され得る。コンピュータ読み取り可能媒体はコンピュータ読み取り可能記憶媒体を備え得、包装媒体を含み得るコンピュータプログラム製品の一部を形成し得る。コンピュータ読み取り可能記憶媒体は、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）のようなランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、非揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能なプログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、ＦＬＡＳＨメモリ、磁気もしくは光学データ記憶媒体などを備え得る。技法は加えて、もしくは代わりとして、少なくとも部分的には、命令もしくはデータ構造の形態でコードを搬送もしくは通信し、コンピュータによってアクセス、読み込み、もしくは実行の全て又はいずれかをされ得るコンピュータ読み取り可能通信媒体によって具現化され得る。
【００７７】
コードは、１つ又は複数のデジタル信号プロセッサ（ＤＳＰｓ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣｓ）、フィールドプログラマブル論理アレイ（ＦＰＧＡｓ）、もしくは他の均等の集積もしくはディスクリート論理回路のような１つ又は複数のプロセッサによって実行され得る。従って、本明細書で使用されているように、「プロセッサ」という用語は任意の前述の構造、もしくは本明細書で説明される技法の実行に適当な任意の他の構造を表し得る。加えていくつかの態様において本明細書で説明される機能は、符号化及び復号のために構成される専用のソフトウェアモジュールもしくはハードウェアモジュール内で提供され得る、もしくは結合されたビデオコーデックの中に組み込まれ得る。また技法は１つ又は複数の回路もしくは論理要素の中で十分に実行され得るだろう。
【００７８】
本開示の様々な態様が説明されてきた。これらの及び他の態様は以下の特許請求の範囲の範囲内である。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ビデオデータを復号する方法であって、前記方法は、
復号器内でビデオユニットのシーケンスを受信することと、ここにおいて前記シーケンスは前記ビデオユニットのディスプレイ順序を定義し、
前記復号器を介して、相互依存であり得ない前記ビデオユニットのサブセットを識別することと、
メモリからキャッシュへ予測データをロードすることと、ここにおいて前記キャッシュが前記復号器と関連し、
少なくとも部分的には前記キャッシュ内の前記予測データに基づいて符号化されたビデオユニットの前記サブセットのビデオブロックを復号することと、ここにおいて前記ビデオブロックを復号することは、第２のビデオユニットの少なくともいくつかのビデオブロックが第１のビデオユニットの少なくともいくつかのビデオブロックの前に復号される復号順序を定義することを含み、ここにおいて前記第２のビデオユニットは前記ディスプレイ順序において前記第１のビデオユニットの後に生じる、
を備える方法。
［Ｃ２］
符号化されたビデオユニットの前記シーケンスが、
ビデオフレームのシーケンスと、
ビデオフレームの一部のシーケンスと、
ビデオフレームのスライスのシーケンスと
の内の少なくとも１つを備えるＣ１に記載の方法。
［Ｃ３］
前記復号順序は、前記第１の符号化されたビデオユニットの１つ又は複数のビデオブロックと前記第２のビデオユニットの１つ又は複数のビデオブロックとの間で交互に入れ替わるＣ１に記載の方法。
［Ｃ４］
前記復号順序は、前記キャッシュ内にロードされた前記予測データが前記キャッシュをリロードする必要なく、ビデオユニットの前記サブセットの前記ビデオブロックを復号する際に使用される可能性を実質的に向上させるために定義されるＣ１に記載の方法。
［Ｃ５］
前記復号順序が前記第１のビデオユニットの前記ビデオブロックが前記第１のビデオユニットのラスタスキャン順序と一致しない順序で復号され、前記第２のビデオユニットの前記ビデオブロックが前記第２のビデオユニットのラスタスキャン順序と一致しない順序で復号されるように定義されるＣ１に記載の方法。
［Ｃ６］
前記第１のビデオユニットの第２の行の少なくとも１つのビデオブロックが前記第１のビデオユニットの第１の行の少なくとも１つのビデオブロックに先立って復号される、ここにおいて前記第２の行が前記第１の行よりも下であるＣ５に記載の方法。
［Ｃ７］
ビデオユニットの前記シーケンスにおけるビデオブロックと関連する統計メトリックを定義することと、
少なくとも部分的には前記統計メトリックに基づいて前記復号順序を定義することと、
をさらに備えるＣ１に記載の方法。
［Ｃ８］
前記統計メトリックはビデオユニットの前記シーケンスの少なくとも一部に渡って平均的な動きを定量化するグローバル動きメトリックを備えるＣ７に記載の方法。
［Ｃ９］
前記第１のビデオユニットと前記第２のビデオユニットとの間のビデオブロックの平均的な動きを定量化する平均動きメトリックを決定することと、
少なくとも部分的には前記平均動きメトリックに基づいて前記復号順序を定義することと、
をさらに備えるＣ１に記載の方法。
［Ｃ１０］
ビデオユニットの前記シーケンスは、第１のＢフレームが続き、第１のＰフレームが続き、第２のＢフレームが続き、第２のＰフレームが続くＩフレームを含むＩＢＰＢＰフォーマットに従う、ここにおいて前記ビデオユニットの前記サブセットが前記第１のＢフレーム及び前記第２のＰフレームから成るＣ１に記載の方法。
［Ｃ１１］
ビデオユニットの前記シーケンスは、第１のＢフレームが続き、第２のＢフレームが続き、第１のＰフレームが続き、第３のＢフレームが続き、第４のＢフレームが続き、第２のＰフレームが続くＩフレームを含むＩＢＢＰＢＢＰフォーマットに従う、ここにおいて前記ビデオユニットの前記サブセットが前記第１のＢフレーム、前記第２のＢフレーム、及び前記第２のＰフレームから成るＣ１に記載の方法。
［Ｃ１２］
ビデオデータを復号する装置であって、前記装置がビデオ復号器及び関連するキャッシュを備え、前記ビデオ復号器が、
ビデオユニットのシーケンスを受信するように、ここにおいて前記シーケンスが前記ビデオユニットのディスプレイ順序を定義し、
相互依存であり得ない前記ビデオユニットのサブセットを識別するように、
メモリから前記キャッシュへ予測データをロードするように、
少なくとも部分的には前記キャッシュ内の前記予測データに基づいて符号化されたビデオユニットの前記サブセットのビデオブロックを復号するように、ここにおいて前記ビデオブロックを復号する際に前記復号器が、第２のビデオユニットの少なくともいくつかのビデオブロックが第１のビデオユニットの少なくともいくつかのビデオブロックの前に復号される復号順序を定義し、ここにおいて前記第２のビデオユニットが前記ディスプレイ順序において前記第１のビデオユニットの後に生じる、
構成されている装置。
［Ｃ１３］
符号化されたビデオユニットの前記シーケンスは、
ビデオフレームのシーケンスと、
ビデオフレームの一部のシーケンスと、
ビデオフレームのスライスのシーケンスと、
の内の少なくとも１つを備えるＣ１２に記載の装置。
［Ｃ１４］
前記復号順序は、前記第１の符号化されたビデオユニットの１つ又は複数のビデオブロックと前記第２のビデオユニットの１つ又は複数のビデオブロックとの間で交互に入れ替わるＣ１２に記載の装置。
［Ｃ１５］
前記復号順序は、前記キャッシュ内にロードされた前記予測データが前記キャッシュをリロードする必要なく前記ビデオユニットの前記サブセットの前記ビデオブロックを復号する際に使用される可能性を実質的に向上させるために定義されるＣ１２に記載の装置。
［Ｃ１６］
前記復号順序は、前記第１のビデオユニットの前記ビデオブロックが前記第１のビデオユニットのラスタスキャン順序と一致しない順序で復号され、前記第２のビデオユニットの前記ビデオブロックが前記第２のビデオユニットのラスタスキャンと一致しない順序で復号されるように定義されるＣ１２に記載の装置。
［Ｃ１７］
前記第1のビデオユニットの第２の行の少なくとも１つのビデオブロックは、前記第１のビデオユニットの第１の行の少なくとも１つのビデオブロックに先立って復号される、ここにおいて前記第２の行が前記第１の行の下にあるＣ１６に記載の装置。
［Ｃ１８］
前記復号器が、
ビデオユニットの前記シーケンス内のビデオブロックと関連する統計メトリックを定義するように、
少なくとも部分的には前記統計メトリックに基づいて前記復号順序を定義するように
さらに構成されるＣ１２に記載の装置。
［Ｃ１９］
前記統計メトリックはビデオユニットの前記シーケンスの少なくとも一部に渡って平均的な動きを定量化するグローバル動きメトリックを備えるＣ１８に記載の装置。
［Ｃ２０］
前記復号器は
前記第１のビデオユニットと前記第２のビデオユニットの間のビデオブロックの平均的な動きを定量化する平均動きメトリックを決定するように、
少なくとも部分的には前記平均動きメトリックに基づいて前記復号順序を定義するように、
さらに構成されるＣ１２に記載の装置。
［Ｃ２１］
ビデオユニットの前記シーケンスは、第１のＢフレームが続き、第１のＰフレームが続き、第２のＢフレームが続き、第２のＰフレームが続くＩフレームを含むＩＢＰＢＰフォーマットに従う、ここにおいて前記ビデオユニットの前記サブセットが前記第１のＢフレーム及び前記第２のＰフレームから成るＣ１２に記載の装置。
［Ｃ２２］
ビデオユニットの前記シーケンスは、第１のＢフレームが続き、第２のＢフレームが続き、第１のＰフレームが続き、第３のＢフレームが続き、第４のＢフレームが続き、第２のＰフレームが続くＩフレームを含むＩＢＢＰＢＢＰフォーマットに従う、ここにおいて前記ビデオユニットの前記サブセットが前記第１のＢフレーム、前記第２のＢフレーム、及び前記第２のＰフレームから成るＣ１２に記載の装置。
［Ｃ２３］
前記ビデオ復号器は集積回路を備えるＣ１２に記載の装置。
［Ｃ２４］
前記ビデオ復号器はマイクロプロセッサを備える、Ｃ１２に記載の装置。
［Ｃ２５］
前記装置は前記ビデオ復号器を含むワイアレス通信デバイスを備えるＣ１２に記載の装置。
［Ｃ２６］
ビデオデータを復号するデバイスであって、前記デバイスが、
ビデオユニットのシーケンスを受信するための手段と、ここにおいて前記シーケンスが前記ビデオユニットのディスプレイ順序を定義し、
相互依存であり得ない前記ビデオユニットのサブセットを識別するための手段と、
メモリからキャッシュへ予測データをロードするための手段と、
少なくとも部分的には前記キャッシュ内の前記予測データに基づいて符号化されたビデオユニットの前記サブセットのビデオブロックを復号するための手段と、ここにおいて前記ビデオブロックを復号するための前記手段は第２のビデオユニットの少なくともいくつかのビデオブロックが第１のビデオユニットの少なくともいくつかのビデオブロックの前に復号される復号順序を定義するための手段を含み、ここにおいて前記第２のビデオユニットが前記ディスプレイ順序において前記第１のビデオユニットの後に生じる、
を備えるデバイス。
［Ｃ２７］
符号化されたビデオユニットの前記シーケンスは、
ビデオフレームのシーケンスと、
ビデオフレームの一部のシーケンスと、
ビデオフレームのスライスのシーケンスと、
の内の少なくとも１つを備えるＣ２６に記載のデバイス。
［Ｃ２８］
前記復号順序は、前記第１の符号化されたビデオユニットの１つ又は複数のビデオブロックと前記第２のビデオユニットの１つ又は複数のビデオブロックとの間で交互に入れ替わるＣ２６に記載のデバイス。
［Ｃ２９］
前記復号順序は、前記キャッシュ内にロードされた前記予測データが前記キャッシュをリロードする必要なくビデオユニットの前記サブセットの前記ビデオブロックを復号する際に使用される可能性を実質的に向上させるために定義されるＣ２６に記載のデバイス。
［Ｃ３０］
前記復号順序は、前記第１のビデオユニットの前記ビデオブロックが前記第１のビデオユニットのラスタスキャン順序と一致しない順序で復号され、前記第２のビデオユニットの前記ビデオブロックが前記第２のビデオユニットのラスタスキャン順序と一致しない順序で復号されるように定義されるＣ２６に記載のデバイス。
［Ｃ３１］
前記第１のビデオユニットの第２の行の少なくとも１つのビデオユニットは、前記第１のビデオユニットの第１の行の少なくとも１つのビデオブロックに先立って復号される、ここにおいて前記第２の行が前記第１の行の下にあるＣ３０に記載のデバイス。
［Ｃ３２］
ビデオユニットの前記シーケンスにおけるビデオブロックと関連する統計メトリックを定義するための手段と、
少なくとも部分的には前記統計メトリックに基づいて前記復号順序を定義するための手段と、
をさらに備えるＣ２６に記載のデバイス。
［Ｃ３３］
前記統計メトリックは、ビデオユニットの前記シーケンスの少なくとも一部に渡って平均的な動きを定量化するグローバル動きメトリックを備えるＣ３２に記載のデバイス。
［Ｃ３４］
前記第１のビデオユニットと前記第２のビデオユニットとの間のビデオブロックの平均的な動きを定量化する平均動きメトリックを決定するために手段と、
少なくとも部分的には前記平均動きメトリックに基づいて前記復号順序を定義するための手段と、
をさらに備えるＣ２６に記載のデバイス。
［Ｃ３５］
ビデオユニットの前記シーケンスは、第１のＢフレームが続き、第１のＰフレームが続き、第２のＢフレームが続き、第２のＰフレームが続くＩフレームを含むＩＢＰＢＰフォーマットに従う、ここにおいて前記ビデオユニットの前記サブセットが前記第１のＢフレーム及び前記第２のＰフレームから成るＣ２６に記載のデバイス。
［Ｃ３６］
ビデオユニットの前記シーケンスは、第１のＢフレームが続き、第２のＢフレームが続き、第１のＰフレームが続き、第３のＢフレームが続き、第４のＢフレームが続き、第２のＰフレームが続くＩフレームを含むＩＢＢＰＢＢＰフォーマットに従う、ここにおいて前記ビデオユニットの前記サブセットが前記第１のＢフレーム、前記第２のＢフレーム及び前記第２のＰフレームから成るＣ２６に記載のデバイス。
［Ｃ３７］
プロセッサ内で実行されると前記プロセッサに、
ビデオユニットのシーケンスを受信することと、ここにおいて前記シーケンスが前記ビデオユニットのディスプレイ順序を定義し、
相互依存であり得ない前記ビデオユニットのサブセットを識別することと、
メモリからキャッシュへ予測データをロードすることと、
少なくとも部分的には前記キャッシュ内の前記予測データに基づいて符号化されたビデオユニットの前記サブセットのビデオブロックを復号することと、を行わせる命令を備えるコンピュータ読み取り可能記憶媒体であって、
ここにおいて前記ビデオブロックを復号する際に前記命令がプロセッサに、第２のビデオユニットの少なくともいくつかのビデオブロックが第１のビデオユニットの少なくともいくつかのビデオブロックの前に復号される復号順序を定義することを行わせ、ここにおいて前記第２のビデオユニットが前記ディスプレイ順序において前記第１のビデオユニットの後に生じるコンピュータ読み取り可能記憶媒体。
［Ｃ３８］
符号化されたビデオユニットの前記シーケンスは、
ビデオフレームのシーケンスと、
ビデオフレームの一部のシーケンスと、
ビデオフレームのスライスのシーケンスと、
の内の少なくとも１つを備えるＣ３７に記載のコンピュータ読み取り可能記憶媒体。
［Ｃ３９］
前記復号順序は、前記第１の符号化されたビデオユニットの１つ又は複数のビデオブロックと前記第２のビデオユニットの１つ又は複数のビデオブロックとの間で交互に入れ替わるＣ３７に記載のコンピュータ読み取り可能記憶媒体。
［Ｃ４０］
前記復号順序は、前記キャッシュ内にロードされた前記予測データが前記キャッシュをリロードする必要ななくビデオユニットの前記サブセットの前記ビデオブロックを復号する際に使用される可能性を実質的に向上させるために定義されるＣ３７に記載のコンピュータ読み取り可能記憶媒体。
［Ｃ４１］
前記復号順序は、前記第１のビデオユニットの前記ビデオブロックが前記第１のビデオユニットのラスタスキャン順序と一致しない順序で復号され、前記第２のビデオユニットの前記ビデオブロックが前記第２のビデオユニットのラスタスキャン順序と一致しない順序で復号されるように定義されるＣ３７に記載のコンピュータ読み取り可能記憶媒体。
［Ｃ４２］
前記第１のビデオユニットの第２の行の少なくとも１つのビデオブロックは前記第１のビデオユニットの第１の行の少なくとも１つのビデオブロックに先立って復号される、ここにおいて前記第２の行が前記第１の行の下にあるＣ４１に記載のコンピュータ読み取り可能記憶媒体。
［Ｃ４３］
ビデオユニットの前記シーケンス内のビデオブロックと関連する統計メトリックを定義することと、
少なくとも部分的には前記統計メトリックに基づいて前記復号順序を定義することと、を前記プロセッサに行わせる命令をさらに備えるＣ３７に記載のコンピュータ読み取り可能記憶媒体。
［Ｃ４４］
前記統計メトリックは、ビデオユニットの前記シーケンスの少なくとも一部に渡って平均的な動きを定量化するグローバル動きメトリックを備えるＣ４３に記載のコンピュータ読み取り可能記憶媒体。
［Ｃ４５］
前記第１のビデオユニットと前記第２のビデオユニットとの間のビデオブロックの平均的な動きを定量化する平均動きメトリックを決定することと、
少なくとも部分的には前記平均動きメトリックに基づいて前記復号順序を定義することと、
を前記プロセッサに行わせる命令をさらに備えるＣ３７に記載のコンピュータ読み取り可能記憶媒体。
［Ｃ４６］
ビデオユニットの前記シーケンスは、第１のＢフレームが続き、第１のＰフレームが続き、第２のＢフレームが続き、第２のＰフレームが続くＩフレームを含むＩＢＰＢＰフォーマットに従う、ここにおいて前記ビデオユニットの前記サブセットが前記第１のＢフレーム及び前記第２のＰフレームから成るＣ３７に記載のコンピュータ読み取り可能記憶媒体。
［Ｃ４７］
ビデオユニットの前記シーケンスは、第１のＢフレームが続き、第２のＢフレームが続き、第１のＰフレームが続き、第３のＢフレームが続き、第４のＢフレームが続き、第２のＰフレームが続くＩフレームを含むＩＢＢＰＢＢＰフォーマットに従う、ここにおいて前記ビデオユニットの前記サブセットが前記第１のＢフレーム、前記第２のＢフレーム、及び前記第２のＰフレームから成るＣ３７に記載のコンピュータ読み取り可能記憶媒体。
【図１】
0005985553.tif 000002
【図２】
0005985553.tif 000003
【図３】
0005985553.tif 000004
【図４】
0005985553.tif 000005
【図５】
0005985553.tif 000006
【図６】
0005985553.tif 000007
【図７】
0005985553.tif 000008
【図８Ａ】
0005985553.tif 000009
【図８Ｂ】
0005985553.tif 000010
【図９】
0005985553.tif 000011
【図１０Ａ】
0005985553.tif 000012
【図１０Ｂ】
0005985553.tif 000013
【図１１】
0005985553.tif 000014