"複数の層と関係するマルチメディアデータを処理する方法であって、該方法は、ベース層残余物を決定すること;及びもし該ベース層残余物の非ゼロ係数の数又は該ベース層残余物のゼロ係数の数が第1の選択された条件を満足するのであれば、エンハンスメント層残余物を生成するために層間予測を実行すること、を具備することを特徴とする、方法。該第1の選択された条件は、該ベース層残余物の該非ゼロ係数の数がしきい値よりも大きい又は等しい場合に満足される、請求項1の方法。該第1の選択された条件は、該ベース層残余物の該ゼロ係数の数がしきい値よりも小さい又は等しい場合に満足される、請求項1の方法。層間予測を実行することは、ベース層参照ブロックの係数及び該ベース層残余物の係数に基づいてベース層再生ブロックの係数を決定すること;及び該ベース層再生ブロックの該係数を使用することによりエンハンスメント層再生ブロックの係数を決定すること、を含む、請求項1の方法。もし該ベース層残余物の非ゼロ係数の数又は該ベース層残余物のゼロ係数の数のうちの少なくとも1つが第2の選択された条件を満足するのであれば、該エンハンスメント層残余物を生成するために時間的予測を実行すること、をさらに具備する、請求項1の方法。該第2の選択された条件は、該ベース層残余物の該非ゼロ係数の数がしきい値よりも小さい又は等しい場合に満足される、請求項5の方法。該第2の選択された条件は、該ベース層残余物の該ゼロ係数の数がしきい値よりも大きい又は等しい場合に満足される、請求項5の方法。時間的予測を実行することは、該ベース層残余物の複数の非ゼロ係数をゼロに指定すること;及びエンハンスメント層参照ブロックの係数及びエンハンスメント層残余物の係数に基づいてエンハンスメント層再生ブロックの係数を決定すること、を含む、請求項5の方法。該エンハンスメント層残余物が伝送されるべきでないことを指示するコードを設定することをさらに具備する、請求項1の方法。複数の層と関係するマルチメディアデータを処理するためのプロセッサであって、該プロセッサは、ベース層残余物を決定するため;及びもし該ベース層残余物の非ゼロ係数の数又は該ベース層残余物のゼロ係数の数が第1の選択された条件を満足するのであれば、エンハンスメント層残余物を生成するために層間予測を実行するため、に構成されることを特徴とする、プロセッサ。該第1の選択された条件は、該ベース層残余物の該非ゼロ係数の数がしきい値よりも大きい又は等しい場合に満足される、請求項10のプロセッサ。該第1の選択された条件は、該ベース層残余物の該ゼロ係数の数がしきい値よりも小さい又は等しい場合に満足される、請求項10のプロセッサ。層間予測を実行することは、ベース層参照ブロックの係数及び該ベース層残余物の係数に基づいてベース層再生ブロックの係数を決定すること;及び該ベース層再生ブロックの該係数を使用することによりエンハンスメント層再生ブロックの係数を決定すること、を含む、請求項10のプロセッサ。もし該ベース層残余物の非ゼロ係数の数又は該ベース層残余物のゼロ係数の数のうちの少なくとも1つが第2の選択された条件を満足するのであれば、該エンハンスメント層残余物を生成するために時間的予測を実行するためにさらに構成される、請求項10のプロセッサ。該第2の選択された条件は、該ベース層残余物の該非ゼロ係数の数がしきい値よりも小さい又は等しい場合に満足される、請求項14のプロセッサ。該第2の選択された条件は、該ベース層残余物の該ゼロ係数の数がしきい値よりも大きい又は等しい場合に満足される、請求項14のプロセッサ。時間的予測を実行することは、該ベース層残余物の複数の非ゼロ係数をゼロに指定すること;及びエンハンスメント層参照ブロックの係数及びエンハンスメント層残余物の係数に基づいてエンハンスメント層再生ブロックの係数を決定すること、を含む、請求項14のプロセッサ。該エンハンスメント層残余物が伝送されるべきでないことを指示するコードを設定するためにさらに構成される、請求項10のプロセッサ。複数の層と関係するマルチメディアデータを処理するための装置であって、該装置は、ベース層残余物を決定するための動き推定モジュール;及びもし該ベース層残余物の非ゼロ係数の数又は該ベース層残余物のゼロ係数の数が第1の選択された条件を満足するのであれば、エンハンスメント層残余物を生成するために層間予測を実行するための層間予測モジュール、を具備することを特徴とする、装置。該第1の選択された条件は、該ベース層残余物の該非ゼロ係数の数がしきい値よりも大きい又は等しい場合に満足される、請求項19の装置。該第1の選択された条件は、該ベース層残余物の該ゼロ係数の数がしきい値よりも小さい又は等しい場合に満足される、請求項19の装置。層間予測モジュールは、ベース層参照ブロックの係数及び該ベース層残余物の係数に基づいてベース層再生ブロックの係数を決定する;及び該ベース層再生ブロックの該係数を使用することによりエンハンスメント層再生ブロックの係数を決定する、ことを特徴とする、請求項19の装置。もし該ベース層残余物の非ゼロ係数の数又は該ベース層残余物のゼロ係数の数のうちの少なくとも1つが第2の選択された条件を満足するのであれば、該エンハンスメント層残余物を生成するために時間的予測を実行するための時間的予測モジュール、をさらに具備する、請求項19の装置。該第2の選択された条件は、該ベース層残余物の該非ゼロ係数の数がしきい値よりも小さい又は等しい場合に満足される、請求項23の装置。該第2の選択された条件は、該ベース層残余物の該ゼロ係数の数がしきい値よりも大きい又は等しい場合に満足される、請求項23の装置。該時間的予測モジュールは、該ベース層残余物の複数の非ゼロ係数をゼロに指定する;及びエンハンスメント層参照ブロックの係数及びエンハンスメント層残余物の係数に基づいてエンハンスメント層再生ブロックの係数を決定する、ことを特徴とする、請求項23の装置。該エンハンスメント層残余物が伝送されるべきでないことを指示するコードを設定する決定モジュールをさらに具備する、請求項19の装置。複数の層と関係するマルチメディアデータを処理するための装置であって、該装置は、ベース層残余物を決定するための手段;及びもし該ベース層残余物の非ゼロ係数の数又は該ベース層残余物のゼロ係数の数が第1の選択された条件を満足するのであれば、エンハンスメント層残余物を生成するために層間予測を実行するための手段、を具備することを特徴とする、装置。該第1の選択された条件は、該ベース層残余物の該非ゼロ係数の数がしきい値よりも大きい又は等しい場合に満足される、請求項28の装置。該第1の選択された条件は、該ベース層残余物の該ゼロ係数の数がしきい値よりも小さい又は等しい場合に満足される、請求項28の装置。該層間予測を実行するための手段は、ベース層参照ブロックの係数及び該ベース層残余物の係数に基づいてベース層再生ブロックの係数を決定すること;及び該ベース層再生ブロックの該係数を使用することによりエンハンスメント層再生ブロックの係数を決定すること、を含む、請求項28の装置。もし該ベース層残余物の非ゼロ係数の数又は該ベース層残余物のゼロ係数の数のうちの少なくとも1つが第2の選択された条件を満足するのであれば、該エンハンスメント層残余物を生成するために時間的予測を実行するための手段、をさらに具備する、請求項28の装置。該第2の選択された条件は、該ベース層残余物の該非ゼロ係数の数がしきい値よりも小さい又は等しい場合に満足される、請求項32の装置。該第2の選択された条件は、該ベース層残余物の該ゼロ係数の数がしきい値よりも大きい又は等しい場合に満足される、請求項32の装置。該時間的予測を実行するための手段は、該ベース層残余物の複数の非ゼロ係数をゼロに指定すること;及びエンハンスメント層参照ブロックの係数及びエンハンスメント層残余物の係数に基づいてエンハンスメント層再生ブロックの係数を決定すること、を含む、請求項32の装置。該エンハンスメント層残余物が伝送されるべきでないことを指示するコードを設定するための手段をさらに具備する、請求項28の装置。複数の層と関係するマルチメディアデータを処理する方法を組み込んだ機械読み取り可能な媒体であって、該方法は、ベース層残余物を決定すること;及びもし該ベース層残余物の非ゼロ係数の数又は該ベース層残余物のゼロ係数の数が第1の選択された条件を満足するのであれば、エンハンスメント層残余物を生成するために層間予測を実行すること、を具備することを特徴とする、機械読み取り可能な媒体。該第1の選択された条件は、該ベース層残余物の該非ゼロ係数の数がしきい値よりも大きい又は等しい場合に満足される、請求項37の機械読み取り可能な媒体。該第1の選択された条件は、該ベース層残余物の該ゼロ係数の数がしきい値よりも小さい又は等しい場合に満足される、請求項37の機械読み取り可能な媒体。該方法は、ベース層参照ブロックの係数及び該ベース層残余物の係数に基づいてベース層再生ブロックの係数を決定すること;及び該ベース層再生ブロックの該係数を使用することによりエンハンスメント層再生ブロックの係数を決定すること、をさらに具備することを特徴とする、請求項37の機械読み取り可能な媒体。該方法は、もし該ベース層残余物の非ゼロ係数の数又は該ベース層残余物のゼロ係数の数のうちの少なくとも1つが第2の選択された条件を満足するのであれば、該エンハンスメント層残余物を生成するために時間的予測を実行すること、をさらに具備することを特徴とする、請求項37の機械読み取り可能な媒体。該第2の選択された条件は、該ベース層残余物の該非ゼロ係数の数がしきい値よりも小さい又は等しい場合に満足される、請求項41の機械読み取り可能な媒体。該第2の選択された条件は、該ベース層残余物の該ゼロ係数の数がしきい値よりも大きい又は等しい場合に満足される、請求項41の機械読み取り可能な媒体。該方法は、該ベース層残余物の複数の非ゼロ係数をゼロに指定すること;及びエンハンスメント層参照ブロックの係数及びエンハンスメント層残余物の係数に基づいてエンハンスメント層再生ブロックの係数を決定すること、をさらに具備することを特徴とする、請求項41の機械読み取り可能な媒体。該方法は、該エンハンスメント層残余物が伝送されるべきでないことを指示するコードを設定することをさらに具備することを特徴とする、請求項37の機械読み取り可能な媒体。エンハンスメント層を予測するためにベース層を利用する方法であって、該方法は、複数のベース量子化された係数を含んでいるベース残余物を生成するためにマルチメディアデータのブロックを使用すること;複数のエンハンスメント量子化された係数を含んでいるエンハンスメント残余物を生成するためにマルチメディアデータの該ブロックを使用すること;該複数のベース量子化された係数に基づいて第1の値を決定すること;該複数のエンハンスメント量子化された係数に基づいて第2の値を決定すること;及び該複数のベース量子化された係数又は該複数のエンハンスメント量子化された係数のうちの少なくとも1つを使用して該エンハンスメント層を決定することを具備することを特徴とする、方法。該第1の値が該第2の値に等しい場合に、該複数のベース量子化された係数の最小値を伝送することをさらに具備する、請求項46の方法。該複数のベース量子化された係数及び該複数のエンハンスメント量子化された係数から最小値を決定することをさらに具備する、請求項46の方法。第1の合計がしきい値よりも小さい場合に、該第1の値をゼロに設定することをさらに具備する、請求項46の方法。該複数のベース量子化された係数の符号が該複数のエンハンスメント量子化された係数の符号に等しくない場合に、該複数のエンハンスメント量子化された係数を伝送することをさらに具備する、請求項46の方法。ベース動きベクトル及び該ベース残余物を生成するために時間的予測を使用することをさらに具備する、請求項46の方法。エンハンスメント動きベクトル及び該エンハンスメント残余物を生成するために時間的予測を使用することをさらに具備する、請求項46の方法。ベース動きベクトル及び該ベース残余物を生成するために層間予測を使用することをさらに具備する、請求項46の方法。エンハンスメント動きベクトル及び該エンハンスメント残余物を生成するために層間予測を使用することをさらに具備する、請求項46の方法。エンハンスメント層を予測するためにベース層を利用するための装置であって、該装置は、複数のベース量子化された係数を含んでいるベース残余物を生成するためにマルチメディアデータのブロックを使用するため及び複数のエンハンスメント量子化された係数を含んでいるエンハンスメント残余物を生成するためにマルチメディアデータの該ブロックを使用するための動き推定モジュール;及び該複数のベース量子化された係数に基づいて第1の値を決定するため、該複数のエンハンスメント量子化された係数に基づいて第2の値を決定するため、及び該複数のベース量子化された係数又は該複数のエンハンスメント量子化された係数のうちの少なくとも1つを使用して該エンハンスメント層を決定するための予測モジュール、を具備することを特徴とする、装置。該予測モジュールは、該第1の値が該第2の値に等しい場合に、該複数のベース量子化された係数の最小値を伝送することさらに備える、請求項55の装置。該予測モジュールは、該複数のベース量子化された係数及び該複数のエンハンスメント量子化された係数から最小値を決定することをさらに備える、請求項55の装置。該予測モジュールは、第1の合計がしきい値よりも小さい場合に、該第1の値をゼロに設定することをさらに備える、請求項55の装置。マルチメディアビットストリームをデコードする方法であって、ベース層及びエンハンスメント層を有するマルチメディアビットストリームを受け取ること;及び該エンハンスメント層が層内予測又は層間予測を使用してデコードされるべきであるかどうかを決定するために該ベース層をデコードすること、を具備することを特徴とする、方法。該層内予測は、N×Mブロックベース又は係数ベースで実行される、請求項59の方法。該層間予測は、N×Mブロックベース又は係数ベースで実行される、請求項59の方法。該層内予測又は該層間予測は、マクロブロックベース又は係数ベースで実行される、請求項59の方法。複数のベース層係数が少なくとも1つの非ゼロ係数を含むかどうかを決定すること;該複数のベース層係数の全てがゼロ値を有する場合に、層内予測を使用して該ベース層をデコードすること;及び該複数のベース層係数のうちの少なくとも1つが非ゼロ値を有する場合に、層間予測を使用して該ベース層をデコードすること、をさらに具備する、請求項59の方法。マルチメディアビットストリームをデコードするための装置であって、該装置は、ベース層及びエンハンスメント層を有するマルチメディアビットストリームを受け取るための決定モジュール;及び該エンハンスメント層が層内予測又は層間予測を使用してデコードされるべきであるかどうかを決定するために該ベース層をデコードするための層間予測モジュール、を具備することを特徴とする、装置。層内予測モジュールをさらに具備し、該決定モジュールは、複数のベース層係数が少なくとも1つの非ゼロ係数を含むかどうかを決定する;該層内予測モジュールは、該複数のベース層係数の全てがゼロ値を有する場合に、層内予測を使用して該ベース層をデコードする;及び該層間予測モジュールは、該複数のベース層係数のうちの少なくとも1つが非ゼロ値を有する場合に、層間予測を使用して該ベース層をデコードする、ことを特徴とする、請求項64の装置。本発明の特徴、目的、及び利点は、図面を使用して以下に述べる詳細な説明から、さらに明確になるであろう。本発明の様々な特徴の実施形態を与えるシステム及び方法が、ここに図面を参照して説明される。図面及び関係する記述は、本発明の複数の実施形態を説明するために提供され、そして本発明の範囲を限定しない。図面全体を通して、参照番号は、複数の参照した要素間の対応を示すために再使用される。それに加えて、各参照番号の最初の桁は、その要素が最初に現れる図を示す。図1は、マルチメディア例えば、ビデオ、オーディオ又は両方データをエンコードするため及びデコードするためのシステム100のブロック図である。システム100は、ビデオデータ例えば、画像及びビデオフレームをエンコードするため例えば、圧縮するためそしてデコードするため例えば、逆圧縮するために構成されることができる。システム100は、サーバ105、デバイス110、及びサーバ105をデバイス110に接続する通信チャネル115を含むことができる。システム100は、ビデオデータをエンコードするためそしてデコードするための以下に記載される方法を説明するために使用されることができる。システム100は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、又はそれらのいずれかの組み合わせによって与えられることができる。1又はそれより多くの要素は、再配列されるそして/又は組み合わされることが可能であり、そして別のシステムが、本発明の精神及び範囲をこれまで通り維持したままでシステム100の代わりに使用されることができる。追加の要素が、システム100に加えられることができる、又は本発明の精神及び範囲をこれまで通り維持したままでシステム100から取り除かれることができる。サーバ105は、プロセッサ120、記憶媒体125、エンコーダ130、及びI/Oデバイス135例えば、トランシーバを含むことができる。プロセッサ120及び/又はエンコーダ130は、ビデオフレームの系列の形式でビデオデータを受け取るように構成されることができる。プロセッサ120及び/又はエンコーダ130は、アドバンストRISCマシーンARM:AdvancedRISCMachine、コントローラ、ディジタル信号プロセッサDSP:digitalsignalprocessor、マイクロプロセッサ、又はデータを処理することが可能ないずれかの他のデバイスであり得る。プロセッサ120及び/又はエンコーダ130は、記憶のために記憶媒体125にビデオフレームの系列を伝送することができ、そして/又はビデオフレームの系列をエンコードすることができる。記憶媒体125は、コンピュータ命令を同様に記憶することができ、それはプロセッサ120そして/又はエンコーダ130によって使用されて、サーバ105の動作及び機能を制御する。記憶媒体125は、ビデオデータを記憶するための1又はそれより多くのデバイス及び/又は情報を記憶するための他の機械読み取り可能な媒体を表すことができる。用語機械読み取り可能な媒体は、ランダムアクセスメモリRAM、フラッシュメモリ、読出し専用メモリROM、EPROM、EEPROM、レジスタ、ハードディスク、脱着可能なディスク、CD-ROM、DVD、無線チャネル、及び複数の命令及び/又はデータを記憶すること、を含むこと又は搬送することが可能な様々な他の媒体を含むが、それらに限定されない。エンコーダ130は、記憶媒体125から受け取られたコンピュータ命令を使用して、ビデオフレームの系列の並列処理及び直列処理例えば、圧縮の両者を実行するように構成されることができる。コンピュータ命令は、下記に説明されるような方法で実行されることができる。フレームの系列が一旦エンコードされると、エンコードされたデータは、通信チャネル115を介したデバイス110への送信のためにI/Oデバイス135に送られることができる。デバイス110は、プロセッサ140、記憶媒体145、デコーダ150、I/Oデバイス155例えば、トランシーバ、及びディスプレイデバイス又はスクリーン160を含むことができる。デバイス110は、コンピュータ、ディジタルビデオレコーダ、手持ちデバイス例えば、セルラ電話機、ブラックベリー、等、セットトップボックス、テレビ、及びビデオフレームの系列を受け取ること、処理すること例えば、逆圧縮すること及び/又は表示することが可能な別のデバイスであり得る。I/Oデバイス155は、エンコードされたデータを受け取り、そしてエンコードされたデータを記憶媒体145にそして/又は逆圧縮のためにデコーダ150に送る。デコーダ150は、エンコードされたデータを使用してビデオフレームの系列を再生するために構成される。一旦デコードされると、ビデオフレームの系列は、記憶媒体145中に記憶されることができる。デコーダ150は、記憶媒体145から検索されたコンピュータ命令を使用して、エンコードされたデータの並列処理と直列処理例えば、逆圧縮の両方を実行し、ビデオフレームの系列を再生するように構成されることができる。コンピュータ命令は、以下に説明されるような方法で実行されることができる。プロセッサ140は、記憶媒体145及び/又はデコーダ150からビデオフレームの系列を受け取るように、そしてディスプレイデバイス160上にビデオフレームの系列を表示するように構成されることができる。記憶媒体145は、コンピュータ命令を同様に記憶することができ、それはプロセッサ140及び/又はデコーダ150によって使用され、デバイス110の動作及び機能を制御する。通信チャネル115は、サーバ105とデバイス110との間でエンコードされたデータを伝送するために使用されることができる。通信チャネル115は、有線接続又は有線ネットワーク及び/若しくは無線接続又は無線ネットワークであり得る。例えば、通信チャネル115は、インターネット、同軸ケーブル、光ファイバ配線、衛星回線、地上波回線、無線回線、信号を伝播させることが可能な他の媒体、及びそれらのいずれかの組み合わせを含むことが可能である。図2は、H.264ビデオデータビットストリーム200のブロック図である。ビットストリーム200は、複数のアクセスユニット205例えば、アクセスユニット1、アクセスユニット2、アクセスユニット3、等に配列される又は区分されることができる。各アクセスユニット205は、コード化されたビデオフレームに対応する情報を含むことができる。各アクセスユニット205は、複数のNALユニット210に配列される又は区分されることができる。各NALユニット210は、NALプリフィックス215、NALヘッダ220、及びデータのブロック225を含むことができる。NALプリフィックス215は、データのブロック225の開始を示しているビットの系列例えば、00000001であり得て、そしてNALヘッダ220は、NALユニットタイプ230例えば、Iフレーム、Pフレーム又はBフレームを含むことができる。データのブロック225は、ヘッダ235及びデータ240を含むことができる。データのブロック225は、データの16×16マクロブロック、全体のデータのフレーム、又はビデオデータの一部例えば、2×2ブロック又は4×4ブロックに配列される又は区分されることができる。用語マクロブロック及びブロックは、互換的に使用されることができる。ヘッダ135は、モード245、参照画像リスト250、及びOP値255を含むことができる。モード245は、マクロブロックをどのようにして配列するか又は区分するか、動き情報をどのようにして決定するかそして伝送するか、及び残余情報をどのようにして決定するかそして伝送するか、をエンコーダ130に指示することができる。データ240は、動き情報例えば、動きベクトル285及び残余情報例えば、DC残余物260とAC残余物265を含むことができる。Iフレームに関して、データ240は、DC残余物260とAC残余物265とを含むことができる。AC残余物265は、コード化されたブロックパターンCBP:CodedBlockPattern値270、追従物trailingonesの数275、及び残余量子化係数280を含むことができる。Iフレームが最初のフレームであるため、どんな動き情報もIフレームに対して必要とされないことがある。PフレームとBフレームに関して、データ240は、動きベクトル285、DC残余物290及びAC残余物295を含むことができる。図3は、複数層をスケーリングすることが可能なエンコーダ130のベース層エンコーディングモジュール300及びエンハンスメント層エンコーディングモジュール305のブロック図である。複数層エンコーディングは、複数の時間的予測ループを導入する。例えば、2層コーディングは、2つの時間的予測ループを導入することができる。ビデオデータは、2つの層の間で共有されて、2つの層に対してある種のビット割当てを可能にし、そしてオーバーヘッドを削減することができる。層間予測は、エンハンスメント層において使用されて、全コーディングオーバーヘッドを削減することができる。ベース層エンコーディングモジュール300は、ベース層ビデオに対して使用されることができ、そしてエンハンスメント層エンコーディングモジュール305は、エンハンスメント層ビデオに対して使用されることができる。ある複数の実施形態では、ベース層ビデオは、エンハンスメント層ビデオと同じ又はほぼ同じであり得る。ビデオデータは、ベース層エンコーディングモジュール300及びエンハンスメント層エンコーディングモジュール305により受け取られる前にエンコードされることができる。エンコードされたビデオデータは、入力310と315のところに与えられることができる。ベース層エンコーディングモジュール300は、変換Tbモジュール320、量子化Qbモジュール325、逆変換Tb-1モジュール330、及び逆量子化Qb-1モジュール335を含むことができる。エンハンスメント層エンコーディングモジュール305は、変換Teモジュール340、量子化Qeモジュール345、逆変換Te-1モジュール350、及び逆量子化Qe-1モジュール355を含むことができる。量子化モジュール325,335,345及び355は、1又はそれより多くの量子化パラメータを含むことができ、それは最終的な画像の品質を決定するために使用されることができる。一般に、ベース層エンコーディングモジュール300に対する量子化パラメータは、エンハンスメント層エンコーディングモジュール305に対する量子化パラメータよりも大きい。より大きな量子化パラメータは、より低い品質の画像を示す。ベース層エンコーディングモジュール300は、ベース層に対する残余情報360を生成することができ、エンハンスメント層エンコーディングモジュール305は、エンハンスメント層に対する残余情報365を生成することができる。ベース層エンコーディングモジュール300とエンハンスメント層エンコーディングモジュール305は、しかも、それぞれ予測モジュール370と375を含むことができる。予測モジュール370と375は、1つの予測モジュールへと統合されることができる。予測モジュール370と375は、マルチメディアデータの層内エンコーディング及び層間エンコーディングを実行するために使用されることができる。Iフレームに関して、デコードされたベース層は、エンハンスメント層に対する参照として使用されることができる。PフレームとBフレームに関して、一緒に配置されたベースフレームと参照は、1又はそれより多くの前のフレームを補償する動きにより計算され、エンハンスメント層に対して使用されることができる。層間予測は、マクロブロックベースで、ブロックベースで例えば、4×4ブロックベースで又はdct係数ベースで実行されることが可能である。Pフレーム又はBフレーム中の各マクロブロックに関して、層間予測又は層内予測例えば、時間的予測が、様々な要因、例えば、レート-ひずみコスト、に応じて使用されることが可能である。層間予測が使用される場合に、エンハンスメント層マクロブロックは、収集されたベース層マクロブロックを使用することにより予測されることができる。ある複数の実施形態では、予測エラーは、エンコードされることができ、そしてその後デコーダ150に伝送されることができる。時間的予測が使用される場合に、エンハンスメント層マクロブロックは、参照として1又はそれより多くの前のフレーム及び/又は引き続くフレームからの1又はそれより多くのマクロブロックを使用することにより、そしてベース層からのマクロブロックモード情報と動きベクトルとを使用する例えば、コピーすることにより予測されることができる。図4は、図3の予測モジュール370と375の一部であり得るモード決定モジュールMDM:ModeDecisionModule400のフローチャートである。MDM400は、動き推定モジュール405及び決定モジュール410を含むことができる。MDM400は、プロセッサ120及び/又はエンコーダ130により与えられることができる。動き推定モジュール405は、様々なモードに対するエンハンスメント層の動き情報例えば、動きベクトルを生成する。そのモードは、ベース層及びエンハンスメント層からの情報例えば、動きベクトル及び残余物を使用することにより決定されることができる。複数のモードがH.264動き推定の中に存在する。例えば、モードaは、16×16マクロブロック出力MVxとMVyであることができ、モードbは、各分割出力MVxとMVyに対する2個の8×16ブロック又は2個の16×8ブロックであることができ、そしてモードcは、各分割出力8×8部分分割モードに対する及び各部分分割出力MVxとMVyに対する4個の8×8ブロックであり得る。各マクロブロック及び各ブロックは、それ自身の動き情報を有することができる。2層コーディングに関して、複数のモードは、ビット割当てにおける大きな自由度を可能にする。ある複数の実施形態では、エンハンスメント層ビデオがより高い品質であるという理由で、ベース層と比較したときに、エンハンスメント層は、より正確な動きベクトルを生成する。2層コーディングにおいて、ベース層とエンハンスメント層は、そのベース層に対応する同じ動き情報を両者ともに使用することができる。残余情報は、予測されたマクロブロックを使用することにより、そしてそれを現在のマクロブロックから差し引くことによって生成されることができる。エンコーダ130は、層内予測モードであるスキップモードを選択することができる。スキップモードでは、エンコーダ130は、現在のマクロブロック又はブロックに関するいかなる動き情報及び残余情報もデコーダ150へ伝送しない。現在のブロックに関する動き情報は、1又はそれより多くの隣接するブロックから導き出されることができる。1つのモードでは、エンコーダ130は、動き情報を伝送することができ、そして残余情報を伝送しないことができる。これは、coded_block_patternを0に設定することによって実現されることができる。H.264規格では、coded_block_patternが0に設定されるときに、全ての変換係数は、0である。coded_block_pattern=0であるとき、エンコーダ130により送られようとしている残余情報がないことを、デコーダ150は知らされる。coded_block_pattern値をエンコードするために、表1に示されるようなコード番号が、coded_block_patternに割り当てられることができる。コード番号は、Exp-Golombコードを使用してコード化されることができる。デコーダ150は、エンコーダ130から表1に示されるようなコード番号を受け取ることができる。決定モジュール410は、モードを選択することができ、それは様々な要因、例えば、エンコーディング動き情報のビットコスト、コーディング効率、動き精度、オーバーヘッド、出来栄え、レート-ひずみ最適化、等、に影響を及ぼす。1つのモードが、ベース層に対してより良い結果を生み出すことがあり、一方で、別のモードが、エンハンスメント層に対してより良い結果を生み出すことがある。したがって、ベース層とエンハンスメント層の両方に対する最良のモード又は最適モードを実現するために、ある種の妥協をすることが、必要であり得る。もし同じモードがベース層とエンハンスメント層の両方に対して最良の結果を生み出すのであれば、妥協する必要はない。最良のモードは、例えば、レート-ひずみの最適化に基づいて選択されることができ、それはレート-ひずみが動きの精度と動き情報エンコーディングのビットコストとの間の最善の折り合いを表すためである。決定モジュール410は、最適化の目的のためにTECM500図5参照を利用することができる。そのモードは、プロセッサ120及び/又はエンコーダ130にガイドライン、機能、パラメータ、ルーチンの集合、又はそれらのいずれかの組み合わせを与えることができ、ビデオデータのエンコーディングを実行する。以下の説明は、3つの異なるモードa,bとcの例を与える。ベース層がモードaで最高の出来栄えを有し、そしてエンハンスメント層がモードbで最高の出来栄えを有すると仮定する。もし決定モジュール410がモードaを選択するのであれば、ΔRa_enhオーバーヘッドがエンハンスメント層において導入され、そしてベース層ではオーバーヘッドが導入されない。もし決定モジュール410がモードbを選択するのであれば、ΔRa_baseオーバーヘッドがベース層において導入され、そしてエンハンスメント層ではオーバーヘッドが導入されない。もし決定モジュール410がモードcを選択するのであれば、ΔRa_baseオーバーヘッドがベース層において導入され、そしてΔRa_enhオーバーヘッドがエンハンスメント層において導入される。これらの変数から、各層について各モードに対するオーバーヘッドのコストが、決定されることができる。両方の層に対する総コストは、下記のように決定されることができる。基準1:総コストがC=ΔRx_baseとして定義される場合、ここでxはa,b又はcであり得る、そのときには、ベース層は最高のコーディング効率を有し、そしてエンハンスメント層の結果は重要ではない。基準2:総コストがC=ΔRx_enhとして定義される場合、ここでxはa,b又はcであり得る、そのときには、エンハンスメント層は最高のコーディング効率を有し、そしてベース層の結果は重要ではない。基準3:総コストがC=ΔRx_base/2ΔRx_enh/2として定義される場合、ここでxはa,b又はcであり得る、そのときには、ベース層とエンハンスメント層の両方は、等しく又は同様に扱われる。基準4:ベース層フレームに対する全オーバーヘッドを5未満にすべきである場合、そのときには、マクロブロックベースで定義される要求が、決定されることができる。例えば、ベース層におけるマクロブロックjがエンコードされるとき、許されるオーバーヘッドの上限は、上限=Bj-1-Ej-1bj5-Ej-1として計算されることができ、ここで、Bj-1は、前のj-1マクロブロックをエンコードするために使用したビットの総数であり、Ej-1は、Bj-1中のオーバーヘッドビットであり、そしてbjは、ベース層におけるその最良のモードでマクロブロックjをエンコードするときの使用ビットである。マクロブロックjをエンコードした後で、BjとEjは、次のマクロブロックのために更新されることができる。図5は、図3の予測モジュール370と375の一部であり得る変換エントロピーコーディングモジュールTECM:TransformEntropyCodingModule500のフローチャートである。TECM500は、ベース層エンコーディングモジュール505、デコーディングモジュール510、チェッキングモジュール515、層間予測モジュール520、及び時間的予測モジュール525を含むことができる。TECM500は、プロセッサ120及び/又はエンコーダ130により与えられることができる。TECM500は、エンコードされたベース層を使用して、エンハンスメント層を予測する。ベース層エンコーディングモジュール505は、ベース層に対する動き情報例えば、動きベクトルを決定するために使用されることができる。デコーディングモジュール510は、層間予測に先立ってエンコードされたベース層をデコードするために使用されることができる。チェッキングモジュール515は、変換されたベース層残余物中のゼロ係数の数及び/又は非ゼロ係数の数を決定するために使用されることができる。係数に応じて、層間予測520又は時間的予測525が、エンハンスメント層を予測するために選択されることができる。図6は、マクロブロックベースでの又はブロックベースでの層間予測を説明するフローチャートである。層内予測は、マクロブロックベースで又はブロックベースですなわち、マクロブロックの任意の部分例えば、4×4ブロックベースで実行されることができる。4×4ブロックベースでの又は2×2ブロックベースでの層間予測に関して、ベース層中のマクロブロックからの動き情報及び/又は残余情報は、層間予測を使用するか時間的予測を使用するかどうかを決定するために使用されることができる。ベース層エンコーディングモジュール505は、ベース層についての動き情報及び残余情報を決定することができる605。ベース層エンコーディングモジュール505は、しかもエンハンスメント層に対する参照例えば、マクロブロック又はフレームを得ることができる。ベース層エンコーディングモジュール505は、ベース層についての残余情報の非ゼロ係数の数又はゼロ係数の数を決定することができる610。ベース層からの残余情報がエンハンスメント層からの参照よりも多くの情報を含んでいる場合に、ベース層中の残余情報は、エンハンスメント層に対して有用である。チェッキングモジュール515は、非ゼロ係数の数又はゼロ係数の数が選択された条件を満足するかどうかを決定することができる615。例えば、チェッキングモジュール515は、ベース層の残余情報を検査することができて、非ゼロ係数の数がしきい値Tよりも大きいか、小さいか、又は等しいかどうか、又はゼロ係数の数がしきい値Tよりも大きいか、小さいか、又は等しいかどうかを決定する。残余情報が全て非ゼロ係数又はいくつかの非ゼロ係数を含む場合に、ベース層中の残余情報は、エンハンスメント層に対して有用であり得て、そしてエンコーダ130は、エンハンスメント層中のマクロブロックを予測するために層間予測を使用することができる625。残余情報が全てゼロ又はいくつかのゼロを含む場合に、ベース層中の残余情報は、エンハンスメント層に対して有用ではなく、そしてエンコーダ130は、エンハンスメント層中のマクロブロックを予測するために時間的予測を使用することができる620。エンコーダ130は、エンコードされたマクロブロック又はエンコードされたブロックをデコーダ150に伝送することができる630。図7は、dct係数毎のベースでの層間予測を説明するための変換ドメインにおける6個の4×4ブロックを示し、そして図8は、dct係数毎のベースでの層間予測の方法を説明する。上の行は、ベース層についての動き補償された予測MCP:motioncompensatedpredictionブロックすなわち参照ブロック700、残余ブロック705、再生されたブロック710を含む。下の行は、エンハンスメント層についてのMCPブロックすなわち参照ブロック715、残余ブロック720、再生されたブロック725を含む。MCPブロック及び残余ブロック700,705,715と720は、空間例えば、ピクセルドメインから変換例えば、周波数ドメインへと既に変換されているように示されている805。MCPブロック700は、ベース層中の動き情報を使用することによって生成されることができる。再生されたブロック710は、MCPブロック700及び残余ブロック705からの係数を使用することによって形成されることができる。再生されたブロック725は、再生されたブロック710からの係数を使用する例えば、コピーすることによって形成されることができる。層間予測は、ベース層についての残余ブロック705中の非ゼロ係数に実行されることができる。図7において、X^b,tは、MCPブロック700中の係数を表し、そしてEt1は、残余ブロック705中のエンコードされた非ゼロ係数を表す。再生されたブロック710についての再生された係数は、X^b,t1=X^b,tEt1によって表されることができ、そして層間予測のために使用されることができる。エンハンスメント層についての同じ位置の再生された係数は、ベース層からの再生された係数のコピーであり得る。Et1=0又はほぼ0である場合に、係数は、エンハンスメント層に対して有用でないことがあり、そして時間的予測モジュール525は、時間的予測を実行することができ、MCPブロック715及び残余ブロック720を使用することによって再生されたブロック725を生成する。E≠0又はほぼ0でない場合に、係数は、エンハンスメント層に対して有用であり得て、そして層間予測モジュール520は、その係数を使用して層間予測を実行することができる。これゆえ、エンハンスメント層についての再生された係数は、ベース層からコピーされることができる。各係数は、同様に、層間予測を使用するか又は時間的予測を使用するかどうかを決定するためにしきい値と比較されることができる。エンハンスメント層についての係数は、エンコーダ130からデコーダ150へ送られることができる。用語コード化されたブロックパターンCBP:CodedBlockPatternは、マクロブロック中の全ての非ゼロ係数の合計を呼ぶ。残余ブロック705中の残余係数を使用して、層間予測モジュール520は、ベース層に対するCBPCBPbを決定することができる810。残余ブロック720中の残余係数を使用して、層間予測モジュール520は、エンハンスメント層に対するCBPCBPeを決定することができる815。CBPb=0又はCBPb<Tしきい値である場合、層間予測モジュール520は、残余ブロック705中の全ての係数をゼロに指定することができ820、そして残余ブロック720をデコーダ150に伝送することができる825。ある複数の実施形態では、Tは、4又はほぼ4であることができ、そこでは全ての非ゼロ係数の合計は、マクロブロック705中の残余係数の位置に基づいて残余係数の線形和又は加重和により決定されることができる。CBPbCBPe≠0である場合、層間予測モジュール520は、ベース層の残余係数及びエンハンスメント層の残余係数を使用して最小の量子化された係数を決定することができる830。例えば、最小量子化係数は、式MQCi,j=Cei,j-min[Cbi,j,Cei,j]を使用して決定されることができ、ここで、Ceはエンハンスメント層の残余係数であり、そしてCbはベース層の残余係数である。層間予測モジュール520は、MQCi,jをデコーダ150に伝送することができる835。Cei,jの符号≠Cbi,jの符号の場合、層間予測モジュール520は、ベース層の全ての残余係数Cbi,jをゼロに指定することができ840、そしてエンハンスメント層の全ての残余係数Cei,jをデコーダ150に伝送することができる845。図9は、層内予測又は層間予測を使用してマルチメディアビットストリームをデコードする方法900のフローチャートである。プロセッサ140は、ベース層とエンハンスメント層とを有するマルチメディアビットストリームを受け取ることができる905。デコーダ150は、ベース層をデコードすることができ、エンハンスメント層が層内予測又は層間予測を使用してデコードされるべきであるかどうかを決定することができる910。ベース層は、複数のベース層係数を含むことができる。ある複数の実施形態では、エンハンスメント層が層内予測又は層間予測を使用してデコードされるべきであるかどうかを決定するために、デコーダ150は、複数のベース層係数が少なくとも1つの非ゼロ係数を含むかどうかを判断することができる。デコーダ150は、複数のベース層係数の全てがゼロ値を有するのであれば、層内予測を使用してベース層をデコードすることができ、そして複数のベース層係数のうちの少なくとも1つが非ゼロ値を有するのであれば、層間予測を使用してベース層をデコードすることができる。図10は、層内予測及び層間予測を用いるデコーダ1000のブロック図である。デコーダ1000は、プロセッサ140及び/又はデコーダ1500の一部であることができ、そして図9の方法を実行するために使用されることができる。デコーダ1000は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、又はそれらのいずれかの組み合わせによって与えられることができる。デコーダ1000は、決定モジュール1005、層内予測モジュール1010及び層間予測モジュール1015を含むことができる。決定モジュール1005は、ベース層とエンハンスメント層とを有するマルチメディアビットストリームを受け取ることができ、そしてベース層をデコードして、エンハンスメント層が層内予測又は層間予測を使用してデコードされるべきであるかどうかを判断することができる。層内予測モジュール1010は、層内予測を使用してエンハンスメント層をデコードするために使用されることができる。層間予測モジュール1015は、層間予測を使用してエンハンスメント層をデコードするために使用されることができる。本発明のある複数の実施形態では、複数の層に関係付けられるマルチメディアデータを処理するための装置が、開示される。本装置は、ベース層残余物を決定するための手段を含むことができる。このベース層残余物を決定するための手段は、プロセッサ120、エンコーダ130、ベース層エンコーディングモジュール300、エンハンスメント層エンコーディングモジュール305、予測モジュール370と375、動き推定モジュール405、決定モジュール410、及び/又はベース層エンコーディングモジュール505であり得る。本装置は、層間予測を実行するための手段を含むことができ、ベース層残余物の非ゼロ係数の数又はベース層残余物のゼロ係数の数のうちの少なくとも1つが第1の選択された条件を満足する場合に、エンハンスメント層残余物を生成することができる。この層間予測を実行するための手段は、プロセッサ120、エンコーダ130、ベース層エンコーディングモジュール300、エンハンスメント層エンコーディングモジュール305、予測モジュール370と375、ベース層エンコーディングモジュール505及び/又は層間予測モジュール520であり得る。本装置は、時間的予測を実行するための手段を含むことができ、ベース層残余物の非ゼロ係数の数又はベース層残余物のゼロ係数の数のうちの少なくとも1つが第2の選択された条件を満足する場合に、エンハンスメント層残余物を生成することができる。この時間的予測を実行するための手段は、プロセッサ120、エンコーダ130、ベース層エンコーディングモジュール300、エンハンスメント層エンコーディングモジュール305、予測モジュール370と375、ベース層エンコーディングモジュール505及び/又は時間的予測モジュール525であり得る。ある複数の実施形態では、マルチメディアビットストリームをデコードするための装置が、開示される。本装置は、ベース層及びエンハンスメント層を有するマルチメディアビットストリームを受け取るための手段を含むことができる。このマルチメディアビットストリームを受け取るための手段は、プロセッサ140、デコーダ150、及び/又は決定モジュール1005であり得る。本装置は、ベース層をデコードするための手段を含むことができ、エンハンスメント層が層内予測又は層間予測を使用してデコードされるべきであるかどうかを決定することができる。このデコードするための手段は、プロセッサ140、デコーダ150、決定モジュール1005、層内予測モジュール1010及び/又は層間予測モジュール1015であり得る。本明細書中に開示された複数の例に関連して説明された様々な例示的な論理ブロック、モジュール、及びアルゴリズムのステップが、電子ハードウェア、コンピュータソフトウェア、又は両者の組み合わせとして与えられることができることを、当業者は、認識するはずである。ハードウェアとソフトウェアのこの互換性を明確に説明するために、様々な例示的な複数の構成要素、ブロック、モジュール、回路、及びステップが、それらの機能性の面から一般的に上に説明されてきている。そのような機能性が、ハードウェア又はソフトウェアとして実装されるかどうかは、特定のアプリケーション及びシステム全体に課せられた設計の制約に依存する。知識のある者は、説明された機能性をそれぞれの特定のアプリケーションに対して違ったやり方で実装することができる。しかし、そのような実装の判断は、開示された方法の範囲からの逸脱を生じさせるように解釈されるべきではない。本明細書中に開示された実施形態に関連して述べられた、様々な例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサDSP:digitalsignalprocessor、用途特定集積回路ASIC:applicationspecificintegratedcircuit、フィールドプログラマブルゲートアレイFPGA:fieldprogrammablegatearray又は他のプログラマブル論理デバイス、ディスクリートゲート論理回路又はトランジスタ論理回路、ディスクリートハードウェアコンポーネント、又は本明細書中で説明された機能を実行するために設計されたこれらのいずれかの組み合わせを用いて、与えられる又は実行されることができる。汎用プロセッサは、マイクロプロセッサであり得るが、しかし代わりに、プロセッサは、いずれかの従来型のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであり得る。プロセッサは、演算装置の組み合わせとして与えられることができ、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサの組み合わせ、DSPコアとともに1又はそれより多くのマイクロプロセッサの組み合わせ、又はいずれかの別のそのような構成の組み合わせであり得る。本明細書中に開示された複数の例に関連して説明された方法又はアルゴリズムのステップは、ハードウェアにおいて、プロセッサにより実行されるソフトウェアモジュールにおいて、又は両者の組み合わせにおいて直接実現されることができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、脱着可能なディスク、CD-ROM、又はこの技術において公知のいずれかの他の記憶媒体の中に存在することができる。ある具体例の記憶媒体は、プロセッサが記憶媒体から情報を読み出し、そこに情報を書き込めることができるようにプロセッサと接続される。あるいは、記憶媒体は、プロセッサに集積されることができる。プロセッサ及び記憶媒体は、用途特定集積回路ASIC中に存在することができる。ASICは、無線モデム中に存在することができる。あるいは、プロセッサ及び記憶媒体は、無線モデム中の単体コンポーネントとして存在することができる。開示された複数の例のこれまでの説明は、当業者が、開示された方法及び装置を作成する又は使用することを可能にするために提供される。これらの例への様々な変形は、当業者に容易に明白にされるであろう。そして、ここで規定された一般的な原理は、開示された方法及び装置の精神若しくは範囲から逸脱することなく、他の複数の例に適用されることができる。開示された実施形態は、限定的ではなく例示としてのみ観点で考慮されるべきであり、したがって、本発明の範囲は、前述の記載によるよりはむしろ特許請求の範囲によって示される。特許請求の範囲と等価な意味及び範囲になる全ての変更は、それらの範囲内に包含されるべきである。"