(57)【要約】マルチビュー映像コンテンツのための動きスキップおよびシングルループ符号化を実装する、システムや方法、コンピュータプログラム。様々な実施形態において、視差ベクトルを８×８や４×４の精度で表す現行のJMVMについて、階層的マクロブロックパーティショニングに関してH.264/AVC互換の動き補償処理を維持しつつ、より効率的な動きスキップが用いられる。相互参照写真に対してより正確な動きスキップを実現すべく、適応的な参照統合が用いられうる。ピクチャが動きスキップに用いられるか否かを示すために、NALユニットのヘッダーに、新しい構文要素を用いるか、既存の構文を変形するかしてもよい。【選択図】図１０Ａ
2011501497.tif 000002
【特許請求の範囲】
【請求項１】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化することであって、前記第１の入力ピクチャシーケンスのうちの第１の入力ピクチャは出力を目的としてもしなくてもよく、前記第２の入力ピクチャシーケンスのうちの第２の入力ピクチャは出力を目的とする、前記符号化することと、
視差に関する視差信号標示を含めることと、
モーション導出法を使用し、前記視差に従って前記第１の入力ピクチャから少なくとも１つの動きベクトルを導出することと、
前記第２の入力ピクチャの符号化時に、前記少なくとも１つの導出した動きベクトルを使用することと、
を含む、方法。
【請求項２】
前記視差は、８画素精度を有する、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの動きベクトルの導出中には、前記第１の入力ピクチャにおける少なくとも１つのブロックの前方予測、後方予測、および双方向予測のうちの１つの参照ステータスが変更されている、請求項１または２のいずれかに記載の方法。
【請求項４】
前記少なくとも１つの動きベクトルの導出中には、前記第１の入力ピクチャにおける少なくとも１つのブロックの参照インデックスが変更されている、先行する請求項のいずれかに記載の方法。
【請求項５】
前記少なくとも１つの動きベクトルの導出中には、前記第１の入力ピクチャにおける少なくとも１つのブロックの参照インデックスが生成されている、先行する請求項のいずれかに記載の方法。
【請求項６】
前記少なくとも１つの動きベクトルの導出中には、前記第１の入力ピクチャにおける少なくとも１つのブロックの動きベクトルが変更されている、先行する請求項のいずれかに記載の方法。
【請求項７】
前記少なくとも１つの動きベクトルの導出中には、前記第１の入力ピクチャにおける少なくとも１つのブロックの動きベクトルが生成されている、先行する請求項のいずれかに記載の方法。
【請求項８】
前記視差信号標示は、ピクチャ、スライス、マクロブロック、およびマクロブロックパーティションのうちの１つに関して前記ビットストリームに含まれる、先行する請求項のいずれかに記載の方法。
【請求項９】
前記少なくとも１つの動きベクトルの前記導出時にピクチャが使用されるか否かを示す表示子が前記ビットストリームに含まれる、先行する請求項のいずれかに記載の方法。
【請求項１０】
ビュー間サンプル予測のためにビューが他のビューを使用するか否かを示す表示子が前記ビットストリームに含まれる、先行する請求項のいずれかに記載の方法。
【請求項１１】
シングルループ復号がビューに対応するか否かを示す表示子が前記ビットストリームに含まれる、先行する請求項のいずれかに記載の方法。
【請求項１２】
前記少なくとも１つの導出した動きベクトルと所望の動きベクトルとの間の動きベクトル差異が、マクロブロックおよびマクロブロックパーティションのうちの１つについて伝達されるように、前記少なくとも１つの導出した動きベクトルが精密化される、先行する請求項のいずれかに記載の方法。
【請求項１３】
前記視差は４画素精度を有する、請求項１に記載の方法。
【請求項１４】
請求項１に記載のプロセスを実行するように構成されたコンピュータコードを備えるコンピュータ可読媒体。
【請求項１５】
プロセッサと、
前記プロセッサに通信可能に接続されたメモリユニットとを備え、該メモリユニットが、
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化するように構成されたコンピュータコードであって、前記第１の入力ピクチャシーケンスのうちの第１の入力ピクチャは出力を目的としてもしなくてもよく、前記第２の入力ピクチャシーケンスのうちの第２の入力ピクチャは出力を目的とする、前記符号化するコンピュータコードと、
視差に関する視差信号標示を含めるように構成されたコンピュータコードと、
モーション導出法を使用し、前記視差に従って前記第１の入力ピクチャから少なくとも１つの動きベクトルを導出するように構成されたコンピュータコードと、
前記第２の入力ピクチャの符号化時に、前記少なくとも１つの導出した動きベクトルを使用するように構成されたコンピュータコードと、
を含む、装置。
【請求項１６】
前記視差は８画素精度を有する、請求項１５に記載の装置。
【請求項１７】
前記少なくとも１つの動きベクトルの導出中には、前記第１の入力ピクチャにおける少なくとも１つのブロックの前方予測、後方予測、および双方向予測のうちの１つの参照ステータスが変更されている、請求項１５または１６のいずれかに記載の装置。
【請求項１８】
前記少なくとも１つの動きベクトルの導出中には、前記第１の入力ピクチャにおける少なくとも１つのブロックの参照インデックスが変更されている、先行する請求項のいずれか１つに記載の装置。
【請求項１９】
前記少なくとも１つの動きベクトルの導出中には、前記第１の入力ピクチャにおける少なくとも１つのブロックの参照インデックスが生成されている、先行する請求項のいずれかに記載の装置。
【請求項２０】
前記少なくとも１つの動きベクトルの導出中には、前記第１の入力ピクチャにおける少なくとも１つのブロックの動きベクトルが変更されている、先行する請求項のいずれか１つに記載の装置。
【請求項２１】
前記少なくとも１つの動きベクトルの導出中には、前記第１の入力ピクチャにおける少なくとも１つのブロックの動きベクトルが生成されている、先行する請求項のいずれか１つに記載の装置。
【請求項２２】
前記視差信号標示は、ピクチャ、スライス、マクロブロック、およびマクロブロックパーティションのうちの１つに関して前記ビットストリームに含まれる、先行する請求項のいずれか１つに記載の装置。
【請求項２３】
前記少なくとも１つの動きベクトルの前記導出時にピクチャが使用されるか否かを示す表示子が前記ビットストリームに含まれる、先行する請求項のいずれか１つに記載の装置。
【請求項２４】
ビュー間サンプル予測のためにビューが他のビューを使用するか否かを示す表示子が前記ビットストリームに含まれる、先行する請求項のいずれか１つに記載の装置。
【請求項２５】
シングルループ復号がビューに対応するか否かを示す表示子が前記ビットストリームに含まれる、先行する請求項のいずれか１つに記載の装置。
【請求項２６】
前記少なくとも１つの導出した動きベクトルと所望の動きベクトルとの間の動きベクトル差異が、マクロブロックおよびマクロブロックパーティションのうちの１つについて伝達されるように、前記少なくとも１つの導出した動きベクトルが精密化される、先行する請求項のいずれか１つに記載の装置。
【請求項２７】
前記視差は４画素精度を有する、請求項１５に記載の装置。
【請求項２８】
少なくとも１つの集積回路として少なくとも部分的に具現化される、請求項１５に記載の装置。
【請求項２９】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化する手段であって、前記第１の入力ピクチャシーケンスのうちの第１の入力ピクチャは出力を目的としてもしなくてもよく、前記第２の入力ピクチャシーケンスのうちの第２の入力ピクチャは出力を目的とする、前記符号化する手段と、
視差に関する視差信号標示を含める手段と、
モーション導出法を使用し、前記視差に従って前記第１の入力ピクチャから少なくとも１つの動きベクトルを導出する手段と、
前記第２の入力ピクチャの符号化時に、前記少なくとも１つの導出した動きベクトルを使用する手段と、
を備える、装置。
【請求項３０】
前記視差は８画素精度を有する、請求項２９に記載の装置。
【請求項３１】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化することと、
モーションが、前記第２のシーケンスにおけるピクチャからの導出により生成されるか否かを、前記第１の入力ピクチャシーケンスのスライスヘッダで伝達することと、
を含む、方法。
【請求項３２】
請求項３１に記載のプロセスを実行するように構成されるコンピュータプログラム命令を格納したコンピュータ可読メモリ媒体。
【請求項３３】
プロセッサと、
前記プロセッサに通信可能に接続されたメモリユニットとを備え、該メモリユニットが、
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化するように構成されたコンピュータコードと、
モーションが、前記第２のシーケンスにおけるピクチャからの導出により生成されるか否かを、前記第１の入力ピクチャシーケンスのスライスヘッダで伝達するように構成されたコンピュータコードと、
を含む、装置。
【請求項３４】
少なくとも１つの集積回路として少なくとも部分的に具現化される、請求項３３に記載の装置。
【請求項３５】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化する手段と、
モーションが前記第２のシーケンスにおけるピクチャからの導出により生成されるか否かを、前記第１の入力ピクチャシーケンスのスライスヘッダで伝達する手段と、
を備える、装置。
【請求項３６】
少なくとも１つの集積回路として少なくとも部分的に具現化される、請求項３５に記載の装置。
【請求項３７】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化することと、
前記第２の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第１の入力ピクチャシーケンスにおける少なくとも１つのピクチャによって使用されるか否かを、ネットワーク抽象化層ユニットヘッダにおいて伝達することと、
を含む、方法。
【請求項３８】
請求項３７に記載のプロセスを実行するように構成されるコンピュータプログラム命令を格納したコンピュータ可読メモリ媒体。
【請求項３９】
プロセッサと、
前記プロセッサに通信可能に接続されたメモリユニットとを備え、該メモリユニットが、
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化するように構成されたコンピュータコードと、
前記第２の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第１の入力ピクチャシーケンスにおける少なくとも１つのピクチャによって使用されるか否かを、ネットワーク抽象化層ユニットヘッダにおいて伝達するように構成されたコンピュータコードと、
を含む、装置。
【請求項４０】
少なくとも１つの集積回路として少なくとも部分的に具現化される、請求項３９に記載の装置。
【請求項４１】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化する手段と、
前記第２の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第１の入力ピクチャシーケンスにおける少なくとも１つのピクチャによって使用されるか否かを、ネットワーク抽象化層ユニットヘッダにおいて伝達する手段と、
を備える、装置。
【請求項４２】
少なくとも１つの集積回路として少なくとも部分的に具現化される、請求項４１に記載の装置。
【請求項４３】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームから受信することと、
ネットワーク抽象化層ユニットヘッダにおいて信号を受信することであって、前記信号が、前記第２の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第１の入力ピクチャシーケンスにおける少なくとも１つのピクチャによって使用されるか否かを示す、前記受信することと、
前記信号が、前記第２の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第１の入力ピクチャシーケンスにおける少なくとも１つのピクチャによって使用されることを示す場合、前記第１の入力ピクチャシーケンスにおける前記少なくとも１つのピクチャの復号時に、前記第２の入力ピクチャシーケンスにおける前記ピクチャを動きスキップのために使用することと、
を含む、方法。
【請求項４４】
請求項４３に記載のプロセスを実行するように構成されるコンピュータプログラム命令を格納したコンピュータ可読メモリ媒体。
【請求項４５】
プロセッサと、
前記プロセッサに通信可能に接続されたメモリユニットとを備え、該メモリユニットが、
受信した第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームから処理するように構成されたコンピュータコードと、
ネットワーク抽象化層ユニットヘッダにおいて受信した信号を処理するように構成されたコンピュータコードであって、前記信号が、前記第２の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第１の入力ピクチャシーケンスにおける少なくとも１つのピクチャによって使用されるか否かを示す、コンピュータコードと、
前記信号が、前記第２の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第１の入力ピクチャシーケンスにおける少なくとも１つのピクチャによって使用されることを示す場合、前記第１の入力ピクチャシーケンスにおける前記少なくとも１つのピクチャの復号時に、前記第２の入力ピクチャシーケンスにおける前記ピクチャを動きスキップのために使用するように構成されたコンピュータコードと、
を含む、装置。
【請求項４６】
少なくとも１つの集積回路として少なくとも部分的に具現化される、請求項４５に記載の装置。
【請求項４７】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームから受信する手段と、
ネットワーク抽象化層ユニットヘッダにおいて信号を受信する手段であって、前記信号が、前記第２の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第１の入力ピクチャシーケンスにおける少なくとも１つのピクチャによって使用されるか否かを示す、前記受信する手段と、
前記信号が、前記第２の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第１の入力ピクチャシーケンスにおける少なくとも１つのピクチャによって使用されることを示す場合、前記第１の入力ピクチャシーケンスにおける前記少なくとも１つのピクチャの復号時に、前記第２の入力ピクチャシーケンスにおける前記ピクチャを動きスキップのために使用する手段と、
を備える、装置。
【請求項４８】
少なくとも１つの集積回路として少なくとも部分的に具現化される、請求項４７に記載の装置。
【請求項４９】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスを受信することであって、前記第１の入力ピクチャシーケンスのスライスヘッダは、モーションが、前記第２のシーケンスにおけるピクチャからの導出によって生成されるか否かに関する信号を含む、前記受信することと、
前記第１の入力ピクチャシーケンスの前記スライスヘッダにおける前記信号が、モーションが、前記第２のシーケンスにおけるピクチャからの導出によって生成されることを示す場合、前記第１の入力ピクチャシーケンスのうちの少なくとも１つを復号するために、前記第２のシーケンスにおける前記ピクチャから導出されるモーションを使用することと、
を含む、方法。
【請求項５０】
請求項４９に記載のプロセスを実行するように構成されるコンピュータプログラム命令を格納するコンピュータ可読メモリ媒体。
【請求項５１】
プロセッサと、
前記プロセッサに通信可能に接続されたメモリユニットとを備え、該メモリユニットが、
受信した第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスを処理するように構成されたコンピュータコードであって、前記第１の入力ピクチャシーケンスのスライスヘッダは、モーションが、前記第２のシーケンスにおけるピクチャからの導出によって生成されるか否かに関する信号を含む、コンピュータコードと、
前記第１の入力ピクチャシーケンスの前記スライスヘッダにおける前記信号が、モーションが、前記第２のシーケンスにおけるピクチャからの導出によって生成されることを示す場合、前記第１の入力ピクチャシーケンスのうちの少なくとも１つを復号するために、前記第２のシーケンスにおける前記ピクチャから導出されるモーションを使用するように構成されたコンピュータコードと、
を含む、装置。
【請求項５２】
少なくとも１つの集積回路として少なくとも部分的に具現化される、請求項５１に記載の装置。
【請求項５３】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスを受信する手段であって、前記第１の入力ピクチャシーケンスのスライスヘッダは、モーションが、前記第２のシーケンスにおけるピクチャからの導出によって生成されるか否かに関する信号を含む、前記受信する手段と、
前記第１の入力ピクチャシーケンスの前記スライスヘッダにおける前記信号が、モーションが、前記第２のシーケンスにおけるピクチャからの導出によって生成されることを示す場合、前記第１の入力ピクチャシーケンスのうちの少なくとも１つを復号するために、前記第２のシーケンスにおける前記ピクチャから導出されるモーションを使用する手段と、
を備える、装置。
【請求項５４】
少なくとも１つの集積回路として少なくとも部分的に具現化される、請求項５３に記載の装置。
【請求項５５】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化することであって、前記第１の入力ピクチャシーケンスのうちの第１の入力ピクチャは出力を目的としてもしなくてもよく、前記第２の入力ピクチャシーケンスのうちの第２の入力ピクチャは出力を目的とする、前記符号化することと、
マクロブロック視差に関する視差信号標示を含めることと、
モーション導出法を使用し、前記視差に従って前記第１の入力ピクチャから少なくとも１つの動きベクトルを導出することと、
動き補償のために、前記少なくとも１つの導出した動きベクトルを使用することと、
を含む、方法。
【請求項５６】
前記少なくとも１つの動きベクトルの前記導出時にピクチャが使用されるか否か、ビュー間サンプル予測のためにビューが他のビューを使用するか否か、およびシングルループ復号がビューに対応するか否かのうちの少なくとも１つを示す少なくとも１つの表示子を前記ビットストリームに含める、請求項５５に記載の方法。
【請求項５７】
請求項５５に記載のプロセスを実行するように構成されるコンピュータプログラム命令を格納するコンピュータ可読メモリ媒体。
【請求項５８】
コンピュータプログラム命令を格納するコンピュータ可読メモリ媒体であって、当該命令の実行が、
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化することであって、前記第１の入力ピクチャシーケンスのうちの第１の入力ピクチャは出力を目的としてもしなくてもよく、前記第２の入力ピクチャシーケンスのうちの第２の入力ピクチャは出力を目的とする、前記符号化することと、
マクロブロック視差に関する視差信号標示を含めることと、
モーション導出法を使用し、前記視差に従って前記第１の入力ピクチャから少なくとも１つの動きベクトルを導出することと、
を含む動作をコンピュータにもたらす、コンピュータ可読メモリ媒体。
【請求項５９】
前記少なくとも１つの動きベクトルの前記導出時にピクチャが使用されるか否か、ビュー間サンプル予測のためにビューが他のビューを使用するか否か、およびシングルループ復号がビューに対応するか否かのうちの少なくとも１つを示す少なくとも１つの表示子を前記ビットストリームに含める、請求項５８に記載のコンピュータ可読メモリ媒体。
【請求項６０】
第１の入力ピクチャシーケンスおよび第２の入力ピクチャシーケンスをビットストリームに符号化する手段であって、前記第１の入力ピクチャシーケンスのうちの第１の入力ピクチャは出力を目的としてもしなくてもよく、前記第２の入力ピクチャシーケンスのうちの第２の入力ピクチャは出力を目的とする、前記符号化する手段と、
マクロブロック視差に関する視差信号標示を含める手段と、
モーション導出法を使用し、前記視差に従って前記第１の入力ピクチャから少なくとも１つの動きベクトルを導出する手段であって、前記少なくとも１つの導出した動きベクトルが、動き補償に使用される手段と、
前記ビットストリームに少なくとも１つのさらなる表示子を含める手段であって、前記少なくとも１つのさらなる表示子は、前記少なくとも１つの動きベクトルの前記導出時にピクチャが使用されるか否か、ビュー間サンプル予測のためにビューが他のビューを使用するか否か、およびシングルループ復号がビューに対応するか否かのうちの少なくとも１つを示す、前記手段と、
を備える、装置。
【請求項６１】
少なくとも１つの集積回路として少なくとも部分的に具現化される、請求項６０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の例示的実施形態の多くは映像符号化に関し、より具体的にはマルチビュー（多視点；multi-view）映像コンテンツの映像符号化に関する。
【発明の背景】
【０００２】
本項では、請求項に列挙する本発明の背景または内容を提供する。本項における説明は、追求され得る概念を含み得るが、必ずしも過去に着想または追求された概念であるとは限らない。したがって、本明細書において別途明示されない限り、本項に説明するものは、本出願における説明および請求項に対する従来技術ではなく、本項に含めることによって従来技術であると認めるものではない。
【０００３】
映像符号化規格には、ITU-T H.261、ISO/IEC動画像符号化専門家グループ（Moving Picture Experts Group ; MPEG）-1ビジュアル、ITU-T H.262またはISO/IEC MPEG-2映像、ITU-T H.263、ISO/IEC MPEG-4ビジュアル、およびITU-T H.264（ISO/IEC MPEG-4 高度映像符号化（Advanced Video Coding; AVC）としても既知である）が含まれる。加えて、新しい映像符号化規格の開発について、現在取り組み中である。開発中のこのような規格の1つとして、スケーラブル映像符号化（Scalable Video Coding; SVC）規格が挙げられ、この規格は、H.264/AVCに対するスケーラブルな拡張に当たる。開発中の別のこのような規格として、マルチビュー映像符号化（多視点映像符号化；multi-view video coding；MVC）規格が挙げられ、これも、H.264/AVCに対する別の拡張に当たる。
【０００４】
マルチビュー映像符号化では、異なるカメラから出力された映像シーケンスであって、各々が異なるビュー（視点；view）に対応する映像シーケンスが、1つのビットストリームに符号化される。復号の後、一定のビューを表示するために、そのビューに属する復号されたピクチャが再構築されて表示される。また、複数のビューを再構築して表示することも可能である。マルチビュー映像符号化は、自由ビュー映像/テレビ、3D TV、および監視の用途を含む多種多様の用途を有する。現在、ISO/IEC動画像符号化専門家グループ（Moving Picture Experts Group ; MPEG）の合同ビデオチーム（Joint Video Team; JVT）と、ITU-T映像符号化専門家グループとが、H.264/AVCの拡張に当たるMVC規格の開発に取り組んでいる。これらの規格は、本明細書においてMVCおよびAVCと呼ばれる。
【０００５】
MVCに関する最新の作業草案については、http://ftp3.itu.ch/av-arch/jvt-site/2007_06_Geneva/JVT-X209.zipより入手可能であるJVT-X209, "Joint Draft 4.0 on Multiview Video Coding", Geneva, Switzerland, June- July 2007に記載されている。MVCの作業草案において定義する特徴に加え、他の潜在的な特徴、具体的には、符号化ツールを焦点とした特徴については、Joint Multiview Video Model （JMVM）に記載されている。JMVMの最新版については、ftp3.itu.ch/av-arch/jvt-site/2007_06_Geneva/JVT-X207.zipより入手可能であるJVT-X207, "Joint Multiview Video Model （JMVM） 5.0," 24th JVT meeting, Geneva, Switzerland, June- July 2007に記載されている。
【０００６】
図1は、典型的なMVC復号順序（すなわちビットストリーム順序）を示す図である。この復号順序は、時間優先符号化と呼ばれる。各アクセスユニットは、1つの出力時間インスタンスについて、全てのビューの符号化ピクチャを含むように定義される。アクセスユニットの復号順序が、出力順序または表示順序と同一でなくてもよいことに留意されたい。マルチビュー映像符号化のための典型的なMVC予測（各ビュー内におけるピクチャ間予測と、ビュー間予測との両方を含む）構造について図2に示す。図2では、予測は、矢印曲線によって示され、各指示先オブジェクトは、予測参照のために、それぞれの指示元オブジェクトを使用する。
【０００７】
従来、MVCにマルチループ復号を使用している。マルチループ復号では、ターゲットビューを復号するために、ターゲットビュー自体に加え、ビュー間予測のためにターゲットビューにより必要とされる各ビューも、動き補償（motion compensation）ループにより完全に再構築する必要がある。例えば、図2にS1として示すビュー1のみが出力される場合、ビュー0およびビュー2におけるピクチャの全てを完全に再構築しなければならない。マルチループ復号は、例えば、H.264/AVCを使用して各ビューがそれ自体のビットストリームに独立して符号化されるシングルビュー符号化に比べ、多くの計算およびメモリを必要とする。これは、マルチループ復号では、ビュー間予測に必要とされる他のビューに属するピクチャの全てを、完全に再構築し、復号ピクチャバッファに格納しなければならないからである。
【０００８】
MVC Joint Draft （JD） 4.0において、ビュー依存性は、シーケンスパラメータセット（sequence parameter set; SPS）MVC拡張に明記されている。アンカーピクチャおよび非アンカーピクチャの依存性が個々に明記されている。ゆえに、アンカーピクチャおよび非アンカーピクチャは、異なるビュー依存性を持つことができる。しかし、同じSPSを参照するピクチャの組では、アンカーピクチャの全てが同一のビュー依存性を持たなければならず、かつ、非アンカーピクチャの全てが同一のビュー依存性を持たなくてはならない。SPS MVC拡張では、従属ビューは、RefPicList0およびRefPicList1において参照ピクチャとして使用されるビューのために別々に伝達される。
【０００９】
ここに、符号化されたビューのサブセットのみを出力に必要とする多数の使用事例がある。これらの特定のビューは、ターゲットビューまたは出力ビューと呼ばれる。ターゲットビューは、復号のために、出力には不要ない他のビューに従属し得る。ターゲットビューによって依存されるが、出力に使用されないこれらの特定のビューは、従属ビューと呼ばれる。
【００１０】
ビュー間予測（視点間予測；inter-view prediction）のためにピクチャPにより使用されるピクチャは、ピクチャPのビュー間参照ピクチャ（視点間参照ピクチャ；inter-view reference picture）と呼ばれる。ビュー間参照ピクチャは、ターゲットビューまたは従属ビューのいずれかに属しうる。SPS MVC拡張において伝達されるビュー依存性に従って、一のビューは他のビューに従属するが、1つのビューにおける特定のピクチャは、ビュー間予測に使用できない。JD 4.0では、ネットワーク抽象化層（network abstraction layer; NAL）ユニットヘッダにおいてinter_view_flagが存在し、これは、NALユニットを含むピクチャが他のビューにおけるピクチャのビュー間予測に使用されるか否かを示す。従属ビューは、2方向に伝達することができる。それらの方向は、2つの参照ピクチャリストのためのビュー間予測参照ピクチャに対応する。2つの参照ピクチャリストとは、前方参照ピクチャリストと呼ばれる第1の参照ピクチャリストRefPicList0と、後方参照ピクチャリストと呼ばれる第2の参照ピクチャリストRefPicList1である。RefPicList0に対応する従属ビューは、前方従属ビュー（forward dependent view）と呼ばれ、RefPicList1に対応する従属ビューは、後方従属ビュー（backward dependent view）と呼ばれる。図2に示す例において、ビュー0はビュー1の前方従属ビューであり、ビュー2はビュー1の後方従属ビューである。
【００１１】
MVC JD4.0では、ビュー間予測は、テクスチャ予測のみに対応する（すなわち再構築されたサンプル値のみをビュー間予測に使用し得る）。そして、現在のピクチャと同一の出力時間インスタンスで再構築されたピクチャのみをビュー間予測に使用する。本明細書において論じるように、MVC JD 4.0における従来のビュー間予測は、ビュー間サンプル予測と呼ばれる。
【００１２】
JMVMにおける符号化ツールとしての動きスキップ（またはスキップ；Motion Skip）は、ビュー間参照ピクチャから、マクロブロック（macroblock; MB）モードおよび動きベクトル（Motion Vector）を予測するもので、動きスキップは、非アンカーピクチャのみに適用する。符号化中、大域的視差ベクトル（大域的視差ベクトル；global disparity motion vector; GDMV）が、アンカーピクチャの符号化時に推定され、次いで、非アンカーピクチャのGDMVが、2つの隣接したアンカーピクチャのGDMVの加重平均として導かれる。GDMVは16画素の精度を持ち、現在のピクチャ（符号化中または復号中のピクチャ）に含まれる任意のMBを目的として、GDMVに従ってビュー間参照ピクチャに移される対応する領域は、そのビュー間参照ピクチャにおける1つのMBにぴったり対応する。
【００１３】
本明細書では、簡略化する目的で次の用語を用いる。集合的（collective）な用語である「co-locatedブロック」（co-located blocks；同一位置ブロック，対応ブロック）は、運動視差補償（motion disparity compensation）の後で、ビュー間参照ピクチャにおいて対応する4×4、8×4、4×8のブロック、または8×8のマクロブロックパーティション（MB partition）を表すために使用される。場合により、「co-locatedマクロブロックパーティション」（co-located MB partition；同一位置マクロブロックパーティション，対応マクロブロックパーティション）の用語は、対応するマクロブロックパーティションを表すために使用され、「co-locatedマクロブロック」（co-located MB；同一位置マクロブロック，マクロブロック）の用語は、対応するマクロブロックを表すために使用される。
【００１４】
通常、第1の前方従属ビューからのピクチャは、動きスキップ用のビュー間参照ピクチャとして使用される。しかしながら、第1の前方従属ビューのピクチャにおけるco-locatedマクロブロックがスライス内符号化（intra coding）される場合、他方の候補、つまり、存在する場合、第1の後方従属ビューにおけるピクチャにおけるco-locatedマクロブロックを考慮する。これらのマクロブロックの両方がスライス内符号化される場合、現在のマクロブロックは、動きスキップを使用して符号化することはできない。
【００１５】
動きスキップの例を図3に示す。ここで、ビュー0は従属ビューであり、ビュー1は、出力および表示されるターゲットビューである（図3において「現在の復号ビュー」と示される）。視差（または視差運動；disparity motion）とともに、ビュー1におけるマクロブロックを復号する際、ビュー0において対応するマクロブロックが位置付けられ、そのモードおよび動きベクトルは、ビュー1におけるマクロブロックのためのマクロブロックモードおよび動きベクトルとして再利用される。マルチループ復号に対応するビュー間サンプル予測は、当該ビュー間サンプル予測に使用されるビュー間参照ピクチャに動き補償を必要とするが、これと違って、動きスキップ自体は、当該動きスキップに使用されるビュー間参照ピクチャに動き補償を必要としない。しかしながら、現在の草案のMVC規格では、ビュー間サンプル予測および動きスキップは同時に存在するため、マルチループ復号が必要とされる。
【００１６】
シングルループ復号（single-loop decoding; SLD）は、SVCとしても知られるH.264/AVCのスケーラブル拡張においてサポートされる。SVCの仕様は、ftp3.itu.ch/av-arch/jvt-site/2007_06_Geneva/JVT-X201.zipから取得できるJVT-X201, "Joint Draft 11 of SVC Amendment", 24th JVT meeting, Geneva, Switzerland, June- July 2007に記載されている。SVCにおけるSLDの基本概念は、以下の通りである。多数の下位層に依存するターゲット層を復号するためには、ターゲット層自体を完全に復号するだけでよい。下位層では、スライス内マクロブロックを解析および復号するだけでよい。SVCにおけるSLDは、ターゲット層においてのみ動き補償を必要とする。その結果、SLDによって、複雑性が有効に低下する。さらに、下位層は、動き補償を必要とせず、復号ピクチャバッファ（decoded picture buffer; DPB）にサンプル値を格納する必要がない。よって、マルチループ復号と比べて、復号器におけるメモリの必要性は、有効に減少する（マルチループ復号は、以前の映像符号化規格のスケーラブルプロファイルにおけるように、層毎に動き補償および完全復号を必要とする）。ターゲットビューを完全に復号するだけでよいように、同じ原理をMVCに適用することは可能である。
【００１７】
以下では、H.264/AVCの選択された特徴について論じる。H.264/AVCでは、スライスにおけるマクロブロックは、フレーム間予測のために異なる参照ピクチャを持つことが可能である。特定のマクロブロックまたはマクロブロックパーティションのための参照ピクチャは、参照ピクチャリストから選択される。参照ピクチャリストは、復号ピクチャバッファに保持されて予測参照に使用される復号ピクチャに、インデックスを提供する。マクロブロックまたはマクロブロックパーティション毎に、および予測方向毎に、フレーム間予測のための参照ピクチャを割り当てるべく、参照インデックスを伝達する。
【００１８】
H.264/AVCにおける参照ピクチャリストの構成については、以下のように説明できる。まず、初期参照ピクチャリストは、「参照に使用」と印を付けられる短期および長期の参照ピクチャの全てを含んで構成される。次いで、スライスヘッダがRPLRコマンドを含む場合、参照ピクチャリスト再順序化（reference picture list reordering; RPLR）が実行される。RPLRのプロセスは、初期リストの順序とは異なる順序に参照ピクチャを再順序化し得る。初期リストおよび再順序化の後の最終リストの両方は、スライスヘッダにおいて、またはスライスによって参照されるピクチャパラメータセットにおいて構文要素が示す一定の数のエントリのみを含む。
【００１９】
H.264/AVCでは、各ピクチャは、１つ以上のスライスとして符号化される。スライスは、５つのスライス型、つまりＩ、ＳＩ、Ｐ、ＳＰ、またはＢを有しうる。Ｉスライスにおけるマクロブロックは、スライス内マクロブロック（イントラマクロブロック；Intra MB）として符号化される。PまたはＢスライスにおけるマクロブロックは、スライス内マクロブロックまたはスライス間マクロブロック（インターマクロブロック；Inter MB）として符号化される。Ｐスライスにおける各スライス間マクロブロックは、Ｐスライス間マクロブロックであるか、またはＰスライス間マクロブロックパーティションから成るかのいずれかである。Ｂスライスにおける各スライス間マクロブロックは、Ｐスライス間マクロブロックもしくはＢスライス間マクロブロックであるか、またはＰスライス間マクロブロックパーティションもしくはＢスライス間マクロブロックパーティションから成る。Ｐスライス間マクロブロックまたはマクロブロックパーティションでは、一方向のみからの予測を使用することが可能である。Ｂスライス間マクロブロックまたはマクロブロックパーティションでは、双方向からの予測を使用することが可能であり、2つの参照ピクチャからの2つの予測ブロックは、最終的な予測マクロブロックまたはマクロブロックパーティションを入手するために、重み付けされたサンプル幅を持つ。
【００２０】
ＰスライスにおけるＰスライス間マクロブロックまたはマクロブロックパーティションでは、唯一の予測方向が、RefPicList0の値による。RefPicList0による予測は、前方予測と呼ばれるが、参照ピクチャは、表示順序における現在のピクチャの前でも後でもよい。ＢスライスにおけるＰスライス間マクロブロックまたはマクロブロックパーティションでは、唯一の予測方向が、RefPicList0またはRefPicList1のいずれかの値による。予測がRefPicList0に基づく場合、前方予測と呼ばれる。RefPicList1に基づく場合は、後方予測と呼ばれる。
【００２１】
マクロブロックまたはマクロブロックパーティションがRefPicList0のみに基づく参照インデックスを有する場合、その参照状態は、前方予測として定義される。マクロブロックまたはマクロブロックパーティションが、RefPicList1のみに基づく参照インデックスを有する場合、参照状態は、後方予測として定義される。マクロブロックまたはマクロブロックパーティションがRefPicList0およびRefPicList1の両方に基づく2つの参照インデックスを有する場合、参照状態は、双方向予測として定義される。
【００２２】
任意のマクロブロックまたはマクロブロックパーティションでは、符号化モードに依存して、その参照ステータスが、（a）スライス内、（b）Ｂスライス間（双方向予測）、（c）Ｐスライス間前方予測、および（d）Ｐスライス間後方予測のうちの1つとなる。１番目のステータス（ステータス（a））は、本明細書においてイリーガル（illegal）であると記述され、残りの3つ（b）〜（d）のステータスは、リーガル（legal）であると示される。
【００２３】
各マクロブロックは、スライス内マクロブロック（イントラマクロブロック；intra MB）またはスライス間マクロブロック（インターマクロブロック；inter MB）として符号化することができる。マクロブロックをスライス間符号化（inter coding）する場合、マクロブロックは、図4の上側部分に示すように、16×16、16×8、8×16、または8×8サイズのマクロブロックパーティションにさらに分割され得る。各マクロブロックまたはマクロブロックパーティションは、同一の参照ステータスおよび同一の参照インデックス（双方向予測の場合は複数のインデックス）を共有する。さらに、各マクロブロックまたはマクロブロックパーティションは、図4の下側部分に示すように、8×8、8×4、4×8、または4×4ブロック（またはサブマクロブロックパーティション）に分割することができる。各ブロックにおけるサンプルは、同一の動きベクトル（または、双方向予測では2つの動きベクトル、各方向に1つの動きベクトル）を共有する。これまでに開発されたH.264/AVCベースの規格またはH.264/AVCに準拠する規格は、H.264/AVCの拡張規格に適用可能である動き補償の部分にハードウェア設計モジュールを作製するために、全てこの階層的マクロブロック分割（hierarchical macroblock partitioning）に従う。
【００２４】
マクロブロック、マクロブロックパーティション、または4×4ブロック毎に、RefPicListXに基づくフレーム間予測を使用する場合、このマクロブロック、マクロブロックパーティション、または4×4ブロックは、「ListX使用」（Xは0または1である）と示される。そうでない場合、このマクロブロック、マクロブロックパーティション、または4×4ブロックは、「ListX非使用」と示される。
【００２５】
JMVMにおける従来の動きスキップ方法は、大域的視差（大域的視差運動；global disparity motion）に基づく。大域的視差は、水平方向および垂直方向において16画素の精度を有する。16画素精度の大域的視差でもって、全部のマクロブロックの動きベクトルおよびモードは、当該情報をブロック毎に計算する必要がないように直接コピーされる。しかしながら、大域的視差の精度は動きスキップの性能に影響を及ぼし、精度の高い大域的視差は、より効率的な動きスキップひいてはより高い符号化効率をもたらしうる。通常、この大域的視差運動は、画像位置合わせアルゴリズムによって探索することができ、変位（displacement）が最適化問題の解である。変位の各方向（x軸またはy軸）において8画素精度を利用する場合、一単位は8画素に相当する。したがって、co-locatedマクロブロックは、ビュー間参照ピクチャにおける8×8ブロックの境界に配される。変位の各方向（x軸またはy軸）において4画素精度を利用する場合、一単位は4画素に相当する。ゆえに、co-locatedマクロブロックは、ビュー間参照ピクチャにおける4×4ブロックの境界に配される。
【００２６】
テストシーケンスのうちの1つのテストは、同じ時間インスタンスの範囲であるが異なるビューからのピクチャの対に対して、4画素精度による最適な変位の探索を伴っていた。このテストでは、マクロブロック境界への整合をもたらす最適変位（ちょうど4で割り切れるx軸およびy軸における変位値）を有するピクチャ対の割合は、約20%であった。これは、4画素精度ベースの位置決めによって、16画素精度ベースの位置決めよりも位置決め性能を向上できることを示す。
【００２７】
H.264/AVCでは、動きフィールドにおける動きベクトルを、各4×4ブロックに割り当てることができる。すなわち、動きフィールドのサンプルは、4画素精度を有する。ゆえに、ビュー間参照ピクチャからの動きベクトルの再使用を目的とする視差は、便宜的に、同一の精度を持つことができる。
【００２８】
運動視差が4画素精度を有する場合、かつ運動視差の値の各単位が4画素を表すと仮定する場合、現在のピクチャにおける各8×8マクロブロックパーティションは、例えば図5および図6に示す4つの8×8マクロブロックパーティション、例えば図7に示す1つの8×8マクロブロックパーティション、または、例えば図8に示す2つの8×8マクロブロックパーティション、のように位置することが可能である。第1の事例における視差の値は、2を法として（1,1）と合同であり、第2の事例では、値は、2を法として（0,0）と合同であり、第3の事例では、値は、2を法として（1,0）または（0,1）と合同である。本明細書において使用する際、および別途明確に記述のない限り、初期値によるマクロブロックパーティションは、8×8マクロブロックパーティションであるとし、初期値によるブロックは、4×4ブロックであるとする。
【００２９】
視差（視差運動，disparity motion）が4画素を有する場合、多くの問題が発生する可能性がある。Ｂスライスでは、H.264/AVC階層的マクロブロック分割に準拠して、各マクロブロックパーティションにおける全てのブロックを、同時に前方予測（「List0使用」であるが、「List1非使用」）、後方予測（「List1使用」であるが「List0非使用」）、または双方向予測（「List0使用」および「List1使用」）しなければならない。しかしながら、視差ベクトルが2を法として（1,1）と合同である場合、co-locatedマクロブロックパーティションは、この法則を破り得る。例えば、図5に示すように、co-locatedマクロブロックパーティションの4つのco-locatedブロックは、後方予測、前方予測、双方向予測、および双方向予測される4つのマクロブロックパーティションにそれぞれ属する。
【００３０】
さらに、複数の参照ピクチャを使用する場合、それぞれのマクロブロックパーティションは、異なる参照インデックスを有し、異なる参照ピクチャを参照することが可能である。図6に示すように、視差ベクトルが2を法として（1,1）と合同である場合、co-locatedマクロブロックにおける左上のco-locatedマクロブロックパーティションを対象とするビュー間参照ピクチャには4つのマクロブロックパーティションが存在する。これらの8×8マクロブロックパーティションは、異なる参照インデックスを有し得る。例えば、参照インデックスは、図6に示すように、前方予測方向において、それぞれ0、1、2、および0とすることができる。しかしながら、「ListX使用」（Xは0または1）の度に、H.264/AVCにおけるスライス間マクロブロックの8×8マクロブロックパーティションにおけるブロックは、H.264/AVC階層的マクロブロック分割に準拠して、1つの予測方向については同一の参照インデックスしか持つことができない。
【００３１】
さらに、視差ベクトルが2を法として（0,0）と合同であり、視差ベクトルが8×8ブロック（または、例えばマクロブロックパーティション）の境界に並ぶ場合、co-locatedマクロブロックにおける1つ以上のco-locatedマクロブロックパーティションが、動きスキップについて考慮されるビュー間参照ピクチャからのスライス内マクロブロックにおける画素に対応するという状況が発生し得る。例えば、図7に示すように、現在のマクロブロックの右上の8×8マクロブロックパーティションは、スライス内マクロブロックの画素に対応する。ゆえに、右上の8×8マクロブロックパーティションについてコピーされる動き情報が存在しないため、動きスキップを使用することはできない。また、この問題は、視差ベクトルが8画素精度を有し（視差ベクトルの各単位が8画素を表す）、値が2を法として（0,0）と合同でない場合にも存在する。
【００３２】
上記に加え、動きスキップ信号の伝達に関する多数の問題が存在する。例えば、従属ビューにおけるピクチャでは、ビュー間参照ピクチャとして使用され得るかを、ビュー依存性から判断できる。しかしながら、ビュー間サンプル予測のために使用されるか、または動きスキップのために使用されるかは把握することができない。NALユニットヘッダにおけるinter_view_flagは、ピクチャが、他のビューによってビュー間サンプル予測に使用されるか否かを示す。従属ビューピクチャが動きスキップのためだけに使用される場合、当該ピクチャをスライス間符号化する場合に動き補償を必要とするサンプル値の再構築は必要ない。結果として、復号器は、従来、ピクチャが動きスキップのためだけに使用される場合であっても、依然としてピクチャを完全に復号し、復号されたピクチャを格納しなければならなかった。このため、複雑性が増し、メモリ使用量も増えてしまう。
【００３３】
さらに、一部のスライスは、動きスキップから利益を受け得るが、他のスライスは、動きスキップから利益を受け得ない。しかし、従来のJMVMでは、各マクロブロックは、動きスキップがそのマクロブロックにおいて使用されるか否かを表す標示を必要としていた。これは、ビットを不必要に無駄にし、符号化効率を低下させる。
【００３４】
さらに、従来のJMVMでは、アンカーピクチャにおける大域的視差を伝達するだけであり、これによって、それ自体の多数の問題が引き起こされる。これらの問題には、以下が含まれる。（1）最適視差がピクチャ毎に変動し得るため、導出された視差が全てのピクチャに最適ではないかもしれないという事実、および（2）アンカーピクチャのビュー間参照ピクチャが、非アンカーピクチャのそれとは異なるかもしれないのであって、これは、非アンカーピクチャによっては、ビュー間参照ピクチャについての2つの隣接するアンカーピクチャに伝達される視差が、重み付けの後でも適用できないかもしれないことを意味する。
【００３５】
またさらに、或るMVCビットストリームでは、非アンカーピクチャの全てについて、従属ビューからのビュー間予測が、動きスキップのみから成る場合、すなわち、ビュー間サンプル予測を含まない場合、従属ビューを、非アンカーピクチャにおいて完全に再構築する必要はない。代わりに、従属ビューにおける非アンカーピクチャは、動きスキップ用のマクロブロックモードおよび動き情報を入手するために単に解析できるだけである。しかしながら、従来の取り決めでは、復号器は、シングルループ復号が可能であるかもしれないことを分かっていない。
【００３６】
上記に加え、現在の動きスキップは、大域的視差に基づく。しかしながら、実際は、2つのビュー間の最適変換は、非線形であってもよく、異なる深さおよび異なる位置を有するオブジェクトは、異なる視差を必要としてもよい。一方の小範囲から別の範囲に迅速に変動するモーションアクティビティを有する一部のシーケンスでは、大域的視差は、マクロブロック毎に十分に正確とはいえない。ゆえに、動きスキップ符号化システムは、符号化効率の観点から準最適であるといえる。
【発明の例示的実施形態の概要】
【００３７】
本発明の例示的実施形態の使用によって、前述の問題および他の問題は克服され、他の利点が実現される。
【００３８】
本発明の第1の側面では、本発明の例示的実施形態は、第1の入力ピクチャシーケンスおよび第2の入力ピクチャシーケンスをビットストリームに符号化することであって、前記第１の入力ピクチャシーケンスのうちの第１の入力ピクチャは出力を目的としてもしなくてもよく、前記第２の入力ピクチャシーケンスのうちの第２の入力ピクチャは出力を目的とする、前記符号化することと；視差に関する視差信号標示を含めることと；前記視差に従って、前記第1の入力ピクチャから少なくとも1つの動きベクトルを導出するために、モーション導出法を使用することと；前記第2の入力ピクチャの符号化時に、前記少なくとも1つの導出した動きベクトルを使用することと、を含む方法を提供する。
【００３９】
本発明の別の側面では、本発明の例示的実施形態は、プロセッサと、前記プロセッサに通信可能に接続されるメモリユニットとを含み、当該メモリユニットは、第1の入力ピクチャシーケンスおよび第2の入力ピクチャシーケンスをビットストリームに符号化するように構成されるコンピュータコードであって、前記第１の入力ピクチャシーケンスのうちの第１の入力ピクチャは出力を目的としてもしなくてもよく、前記第２の入力ピクチャシーケンスのうちの第２の入力ピクチャは出力を目的とする、前記符号化するコンピュータコードと；視差に関する視差信号標示を含めるように構成されるコンピュータコードと；前記視差に従って、前記第1の入力ピクチャから少なくとも1つの動きベクトルを導出するために、モーション導出法を使用するように構成されるコンピュータコードと；前記第2の入力ピクチャの符号化時に、前記少なくとも1つの導出した動きベクトルを使用するように構成されるコンピュータコードとを含む装置を提供する。
【００４０】
本発明の別の側面では、本発明の例示的実施形態は、第1の入力ピクチャシーケンスおよび第2の入力ピクチャシーケンスをビットストリームに符号化する手段であって、前記第１の入力ピクチャシーケンスのうちの第１の入力ピクチャは出力を目的としてもしなくてもよく、前記第２の入力ピクチャシーケンスのうちの第２の入力ピクチャは出力を目的とする、前記符号化する手段と；視差に関する視差信号標示を含める手段と；前記視差に従って、前記第1の入力ピクチャから少なくとも1つの動きベクトルを導出するために、モーション導出法を使用する手段と；前記第2の入力ピクチャの符号化時に、前記少なくとも1つの導出した動きベクトルを使用する手段と、を備える装置を提供する。
【００４１】
本発明のさらなる側面では、本発明の例示的実施形態は、第1の入力ピクチャシーケンスおよび第2の入力ピクチャシーケンスをビットストリームに符号化し；モーションが前記第2のシーケンスにおけるピクチャからの導出（derivation）によって生成されるか否かを、前記第1の入力ピクチャシーケンスのスライスヘッダで伝達するように構成される方法、コンピュータプログラム、および装置を提供する。
【００４２】
本発明のさらなる側面では、本発明の例示的実施形態は、第1の入力ピクチャシーケンスおよび第2の入力ピクチャシーケンスをビットストリームに符号化し；前記第2の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第1の入力ピクチャシーケンスにおける少なくとも1つのピクチャによって使用されるか否かを、ネットワーク抽象化層ユニットヘッダ（network abstraction layer unit header）において伝達するように構成される方法、コンピュータプログラム、および装置を提供する。
【００４３】
本発明の別の側面では、本発明の例示的実施形態は、第1の入力ピクチャシーケンスおよび第2の入力ピクチャシーケンスをビットストリームから受信し；ネットワーク抽象化層ユニットヘッダにおいて信号を受信することであって、前記信号は、前記第2の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第1の入力ピクチャシーケンスにおける少なくとも1つのピクチャによって使用されるか否かを標示し；前記信号が、前記第2の入力ピクチャシーケンスのうちのピクチャが、動きスキップのために、前記第1の入力ピクチャシーケンスにおける少なくとも1つのピクチャによって使用されることを示す場合、前記第1の入力ピクチャシーケンスにおける前記少なくとも1つのピクチャの復号時に、前記第2の入力ピクチャシーケンスにおける前記ピクチャを動きスキップのために使用するように構成される方法、コンピュータプログラム、および装置を提供する。
【００４４】
本発明の別の側面では、本発明の例示的実施形態は、第1の入力ピクチャシーケンスおよび第2の入力ピクチャシーケンスを受信することであって、前記第1の入力ピクチャシーケンスのスライスヘッダは、モーションが前記第2のシーケンスにおけるピクチャからの導出によって生成されるか否かに関する信号を含み；前記第1の入力ピクチャシーケンスの前記スライスヘッダにおける前記信号が、モーションが前記第2のシーケンスにおけるピクチャからの導出によって生成されることを示す場合、前記第1の入力ピクチャシーケンスのうちの少なくとも1つを復号するために、前記第2のシーケンスにおける前記ピクチャから導出されるモーションを使用するように構成される方法、コンピュータプログラム、および装置を提供する。
【００４５】
本発明のさらに別の側面では、本発明の前記例示的実施形態は、第1の入力ピクチャシーケンスおよび第2の入力ピクチャシーケンスをビットストリームに符号化することであって、前記第1の入力ピクチャシーケンスのうちの第1の入力ピクチャは、出力を目的としてもしなくてもよく、前記第2の入力ピクチャシーケンスのうちの第2の入力ピクチャは、出力を目的とし；マクロブロック視差に関する視差信号標示を含め；前記視差に従って、前記第1の入力ピクチャから少なくとも1つの動きベクトルを導出するために、モーション導出法を使用し；動き補償のために、前記少なくとも1つの導出した動きベクトルを使用するように構成される方法、コンピュータプログラム、および装置を提供する。
【００４６】
本発明のまたさらなる側面では、本発明の例示的実施形態は、第1の入力ピクチャシーケンスおよび第2の入力ピクチャシーケンスをビットストリームに符号化する手段であって、前記第１の入力ピクチャシーケンスのうちの第１の入力ピクチャは出力を目的としてもしなくてもよく、前記第２の入力ピクチャシーケンスのうちの第２の入力ピクチャは出力を目的とする、前記符号化する手段と；マクロブロック視差に関する視差信号標示を含める手段とを備える装置を提供する。
前記装置は、モーション導出法を使用し、前記視差に従って、前記第1の入力ピクチャから少なくとも1つの動きベクトルを導出する手段をさらに備える。前記少なくとも1つの導出した動きベクトルは、動き補償に使用される。
前記装置は、前記ビットストリームにおいて少なくとも1つのさらなる表示子を含める手段をさらに備える。前記少なくとも1つのさらなる表示子は、前記少なくとも1つの動きベクトルの前記導出時にピクチャが使用されるか否か、ビュー間サンプル予測のためにビューが他のビューを使用するか否か、およびシングルループ復号がビューに対応するか否かのうちの少なくとも1つを示す。
【図面の簡単な説明】
【００４７】
【図１】典型的なMVC復号順序（すなわちビットストリーム順序）を示す図である。
【図２】マルチビュー映像符号化のための典型的なMVC予測（ビュー間予測と、各ビュー内におけるピクチャ間予測の両方を含む）構造に関する図である。
【図３】視差ベクトルを使用する動きスキップの例を示す図である。
【図４】従来のH.264/AVCベースの規格またはH.264/AVCに準拠する規格において使用される階層的マクロブロック分割を示す図である。
【図５】いくつかのマクロブロックパーティションに位置するco-located8×8パーティションの例であり、ビュー間参照ピクチャにおけるいくつかの参照ステータスが、動きスキップに考慮される。
【図６】いくつかのマクロブロックパーティションに位置するco-locatedパーティションの例であり、ビュー間参照ピクチャにおけるいくつかの参照インデックス値が、動きスキップに考慮される。
【図７】動きスキップに考慮されるビュー間参照ピクチャのスライス内マクロブロックにおける画素に対応するco-located8×8パーティションの例である。
【図８】2つの8×8マクロブロックパーティション内に位置する8×8パーティションの図である。
【図９】本発明の種々の実施形態が実装され得る汎用マルチメディア通信システムに関する図示である。
【図１０Ａ】図10の上半分である。種々の実施形態において1つ以上のビュー間参照ピクチャが存在する場合に実行されるアルゴリズムに伴うプロセスのフローチャートである。
【図１０Ｂ】図10の下半分である。
【図１１】種々の実施形態における動きベクトルスケーリングに関する図示である。
【図１２Ａ】イリーガルなco-locatedマクロブロックパーティションにおける4つのブロックと、ズーム1、ズーム2、およびズーム3の観点からのその分類とに関する図である。
【図１２Ｂ】は、図12Aにおけるブロックを代表する単一ブロックを４つの近傍ブロックとともに示す図である。
【図１３】2つのビュー間参照ピクチャにより予測される利用可能な動き情報を示す例である。
【図１４】隣接するマクロブロック（A、B、D、およびC）に基づく運動視差予測を示す図である。
【図１５】本発明の種々の実施形態の実施に使用できる電子機器の斜視図である。
【図１６】図15の電子機器に含まれ得る回路の概略図である。
【いくつかの例示的実施形態の詳細説明】
【００４８】
本発明の種々の例示的実施形態は、マルチビュー映像符号化のための動きスキップおよびシングルループ復号を実装するためのシステムおよび方法に関する。種々の例示的実施形態では、より効率的な動きスキップが、8×8または4×4画素の視差ベクトル（視差運動ベクトル；disparity motion vector）精度によって、現在のJMVMに使用される。このとき、階層的マクロブロック分割に関するH.264/AVC仕様に準拠する動き補償プロセスは維持される。本システムおよび方法は、マルチループ復号およびシングルループ復号の両方に適用可能である。
【００４９】
8画素または4画素精度の動きスキップに関連して上記に特定された問題に関し、1つのビュー間参照ピクチャから、より正確な動きスキップを達成するために、適応的参照統合（adaptive referencing merging）が使用され得る。また、このような適応的参照統合は、複数のビュー間参照ピクチャにも適用可能である。複数のビュー間参照ピクチャ、具体的には、異なる方向におけるビュー間参照ピクチャが存在する事例では、組み合わせた動きスキップアルゴリズムを使用してもよい。
【００５０】
前述の信号伝達問題に関し、ピクチャが動きスキップに使用されるか否かを示すために、NALユニットヘッダに新しい構文要素をしたり、その構文を修正したりしてもよい。ピクチャが動きスキップを利用するか否かを示すために、フラグをスライスヘッダに付加し、関連する視差ベクトルをスライス毎のスライスヘッダで伝達し得る。ビットストリームのためのシングルループ復号機能は、シーケンスレベルで伝達され得る。また、マクロブロックまたはマクロブロックパーティション毎の運動視差（motion disparity）も伝達され得る。
【００５１】
本発明の種々の例示的実施形態の使用は、ビューの間のビュー間予測の使用時に符号化効率を改善するとともに、一部のビューが出力のターゲットとされていない場合に全体の複雑性を低下させる役割を果たす。さらに、本明細書に論じる種々の動きスキップは、シングルループ復号にも使用可能である。シングルループ復号は、ビュー間予測にだけ必要とされ出力には必要とされないこれらのビューに、動き補償を適用しない。
【００５２】
本発明に関するこれらの利点および特徴ならびにその他の利点および特徴と、その動作の機構および方式とは、添付の図面を併用して、以下の発明を実施するための形態により明白になる。添付の図面では、後述のいくつかの図面における同一要素は、同一の符号を付する。
【００５３】
図9は、本発明の種々の実施形態が実装され得る汎用マルチメディア通信システムに関する図示である。図9に示すように、データソース100は、アナログフォーマット、非圧縮デジタルフォーマット、または圧縮デジタルフォーマット、あるいはこれらのフォーマットの任意の組み合わせでソース信号を提供する。符号器110は、ソース信号を、符号化メディアビットストリームに符号化する。復号されるビットストリームが、事実上任意のタイプのネットワーク内に位置する遠隔機器から直接的または間接的に受信可能であることに留意されたい。さらに、ビットストリームは、ローカルハードウェアまたはソフトウェアから受信可能である。符号器110は、音声および映像等の複数のメディアタイプを符号化できてもよいし、または複数の符号器110が、異なるメディアタイプのソース信号を符号化してもよい。また、符号器110は、グラフィックスおよびテキスト等の合成的に生成された入力を入手してもよいし、または合成メディアの符号化ビットストリームを生成してもよい。以下において、説明を簡略化するために、1つのメディアタイプの1つの符号化メディアビットストリームの処理のみについて考察する。しかしながら、典型的には、リアルタイムブロードキャストサービスが、いくつかのストリーム（典型的には、少なくとも1つの音声、映像、およびテキストサブタイトルストリーム）を含むことに留意されたい。また、システムが、多数の符号器を含んでもよいが、図9において、一般性を欠如することなく説明を簡略化するために、符号器110を1つだけ示すことに留意されたい。さらに、本明細書に含まれるテキストおよび例は、符号化プロセスを具体的に説明し得るが、同一の概念および原理が、対応する復号プロセスにも適用されること、およびその逆も同様であることを、当業者が理解することを理解されたい。
【００５４】
符号化メディアビットストリームは、ストレージ120に転送される。ストレージ120は、符号化メディアビットストリームを格納するために、任意のタイプの大容量メモリを備え得る。ストレージ120における符号化メディアビットストリームのフォーマットは、エレメンタリ自立型ビットストリームフォーマットでもよいし、または1つ以上の符号化メディアビットストリームが、コンテナファイルにカプセル化されていてもよい。いくつかのシステムは、「ライブ」で動作し、すなわち、ストレージを省略して、符号化メディアビットストリームを符号器110から送信機130に直接転送する。次いで、符号化メディアビットストリームは、必要に応じて送信機130（サーバとも呼ばれる）に転送される。伝送に使用するフォーマットは、エレメンタリ自立型ビットストリームフォーマット、パケットストリームフォーマットでもよいし、または1つ以上の符号化メディアビットストリームが、コンテナファイルにカプセル化されていてもよい。符号器110、ストレージ120、およびサーバ130は、同一の物理的機器に存在してもよく、または別々の機器に含まれてもよい。符号器110およびサーバ130は、ライブリアルタイムコンテンツで動作してもよく、この場合、符号化メディアビットストリームは、典型的には、永久的に格納されないが、コンテンツ符号器110および/またはサーバ130において短期間バッファリングされて、処理遅延、転送遅延、および符号化メディアビットレートにおける変動を平滑化する。
【００５５】
サーバ130は、通信プロトコルスタックを使用して符号化メディアビットストリームを送信する。スタックには、いくつかの非限定例として、リアルタイムトランスポートプロトコル（Real-Time Transport Protocol; RTP）、ユーザデータグラムプロトコル（User Datagram Protocol; UDP）、およびインターネットプロトコル（Internet Protocol; IP）が含まれ得るが、これらに限定されない。通信プロトコルスタックがパケット指向型である場合、サーバ130は、符号化メディアビットストリームをパケットにカプセル化する。例えば、RTPを使用する場合、サーバ130は、RTFペイロードフォーマットに準拠して、符号化メディアビットストリームをRTPパケットにカプセル化する。典型的には、各メディア型は、専用RTPペイロードフォーマットを有する。前述のように、システムが、複数のサーバ130を含んでもよいが、簡略化するために、以下の説明では1つのサーバ130についてのみ考察することに留意されたい。
【００５６】
サーバ130は、通信ネットワークを介してゲートウェイ140に接続され得るが、ゲートウェイ140を省略してもよい。ゲートウェイ140は、一方の通信プロトコルスタックに準拠するパケットストリームの別の通信プロトコルスタックへの変換、データストリームの統合および分岐、ならびに優勢のダウンリンクネットワーク条件に準拠して転送されるストリームのビットレートの制御等の、ダウンリンク能力および/または受信機能力に従うデータストリームの操作等の、異なるタイプの機能を実行し得る。ゲートウェイ140のいくつかの非限定的な例として、MCU、回路交換およびパケット交換映像電話間のゲートウェイ、プッシュトゥートークオーバーセルラ（Push-to-talk over Cellular; PoC）サーバ、デジタル映像ブロードキャストハンドヘルド（digital video broadcasting-handheld; DVB-H）システムにおけるIPエンカプスレータ、または家庭用無線ネットワークへ局所的にブロードキャスト伝送を転送するセットトップボックスが挙げられる。RTPを使用する場合、ゲートウェイ140は、RTP混合器またはRTP変換器と呼ばれ、典型的には、RTP接続の終点としての役割を果たす。
【００５７】
システムは、1つ以上の受信機150を含み、受信機150は、典型的には、伝送された信号を受信し、復調し、および符号化メディアビットストリームに非カプセル化することが可能である。符号化メディアビットストリームは、記録ストレージ155に転送される。記録ストレージ155は、符号化メディアビットストリームを格納するために、任意のタイプの大容量メモリを備え得る。記録ストレージ155は、代替的または付加的に、ランダムアクセスメモリ等の演算メモリを備えていてもよい。記録ストレージ155における符号化メディアビットストリームのフォーマットは、エレメンタリ自立型ビットストリームフォーマットでもよいし、または1つ以上の符号化メディアビットストリームが、コンテナファイルにカプセル化されていてもよい。音声ストリームおよび映像ストリーム等の、相互に関連付けられる多数の符号化メディアビットストリームが存在する場合、典型的には、コンテナファイルを使用し、受信機150は、入力ストリームからコンテナファイルを生成するコンテナファイル生成器を備えるか、またはコンテナファイル生成器に取り付けられる。いくつかのシステムは、「ライブ」で動作し、すなわち、記録ストレージ155を省略して、符号化メディアビットストリームを受信機150から復号器160に直接転送する。システムによっては、記録されたストリームの直近の部分のみ、例えば、記録されたストリームの直近の10分を抜粋して記録ストレージ155に保持し、一方、それより前に記録された任意のデータを、記録ストレージ155から破棄する。
【００５８】
符号化メディアビットストリームは、記録ストレージ155から復号器160に転送される。相互に関連付けられ、かつコンテナファイルにカプセル化された、音声ストリームおよび映像ストリーム等の多数の符号化メディアビットストリームが存在する場合、ファイルパーサ（図示せず）を使用して、コンテナファイルから各符号化メディアビットストリームを非カプセル化する。記録ストレージ155または復号器160が、ファイルパーサを備えてもよいが、またはファイルパーサは、記録ストレージ155または復号器160のいずれかに取り付けられる。
【００５９】
符号化メディアビットストリームは、典型的には、復号器160によってさらに処理され、この出力は、1つ以上の非圧縮メディアストリームである。最後に、レンダラ170は、例えば、拡声器および/またはディスプレイで非圧縮メディアストリームを再現し得る。受信機150、記録ストレージ155、復号器160、およびレンダラ170は、同一の物理的機器に存在してもよく、または別々の機器に含まれてもよい。
【００６０】
本発明の種々の例示的実施形態に従う送信機130は、複数の理由、例えば、受信機150の要求またはビットストリームが伝達されるネットワークの優勢条件に応答するように、伝送された層を選択するように構成され得る。受信機150からの要求としては、例えば、表示する層の変更か、または前の能力とは異なる能力を有するレンダリング機器への変更のための要求であることができる。
【００６１】
以下において、動きスキップにビュー間参照ピクチャが1つだけしか存在しない場合に、動きスキップに使用可能なco-locatedマクロブロックを作成するためのアルゴリズムについて説明する。上記に定義したいくつかの概念に対する多くの新しい定義および拡張について以下に示す。その後、少なくとも前述の種々の問題に対処するアルゴリズムの非限定的な例を示す。
【００６２】
前述のように、ビュー間参照ピクチャにおけるco-locatedマクロブロックパーティションは、階層的マクロブロック分割に従わない場合があるため、動きスキップに直接使用することができない。このような一事例は、1つ以上のブロックが「ListX使用」と指定される一方、他のブロックが「ListX非使用」と指定される状況を伴う。本明細書において論じるように、co-locatedマクロブロックパーティションは、そのブロックの全てが「ListX使用」（Xは0または1である）と指定される場合に、「ListX使用」と指定される。
【００６３】
co-locatedマクロブロックパーティションは、以下の条件の全てに当てはまる場合、リーガルであると定義される。
第1に、 マクロブロックパーティション内部の全ブロックの属性が、同時に、「List0使用」および「List1使用」であるか、または「List0使用」および「List1非使用」であるか、または「List0非使用」および「List1使用」であること。これを満たすマクロブロックパーティションは、「良好参照」（good reference）の属性を伴う。そうでない場合、マクロブロックパーティションは、「不良参照」（bad reference）の属性を伴う。
第2に、マクロブロックパーティションが「ListX使用」に指定される場合、このマクロブロックパーティション内部の全てのブロックが、同時に、RefPicListX（Xは0または1である）に列挙される同一の参照ピクチャを使用すること。ブロックの全てが同一のスライス内にある場合、またはブロックの全てが同一の参照ピクチャリスト再順序化コマンドを含むスライス内にある場合（存在するのであれば）、RefPicListXに列挙される同一の参照ピクチャリストを使用するブロックの全てが、RefPicListXにおける同一の参照ピクチャインデックスを使用するブロックの全てと同等であることに留意されたい。
上記条件のいずれかが当てはまらない場合、co-locatedマクロブロックパーティションは、イリーガルであると定義される。マクロブロックは、そのマクロブロックパーティションの全てがリーガルである場合、リーガルであると定義される。そうでない場合、マクロブロックは、イリーガルであると定義される。
【００６４】
視差ベクトルおよび（0,0）が2を法として合同である場合、すなわち、co-locatedマクロブロックパーティションがビュー間参照ピクチャのマクロブロックパーティションの境界に並ぶ場合、これらのco-locatedマクロブロックパーティションの各々は、ビュー間参照ピクチャにおけるスライス間マクロブロックに位置する限り、当然ながらリーガルである。これは、ビュー間参照ピクチャにおける任意のマクロブロックパーティションが階層的マクロブロック分割に従うからである。
【００６５】
図10は、種々の実施形態において1つ以上のビュー間参照ピクチャが存在する場合に実行されるアルゴリズムに伴うプロセスのフローチャートである。現在のピクチャのマクロブロックの符号化時および動きスキップモードの確認中に、視差を使用してco-locatedマクロブロックパーティションを入手した後、図10に示すアルゴリズムが起動する。
【００６６】
図10に示すアルゴリズムは、2つの種類の出口（exit）、つまりリーガルマクロブロック出口またはイリーガルマクロブロック出口に至る。リーガルマクロブロック出口は、動きスキップモードが現在のマクロブロックに使用可能なことを意味する。イリーガルマクロブロック出口は、動きスキップモードを現在のマクロブロックに使用できないことを意味する。マクロブロックに関し、動きスキップモードが使用可能な場合、マクロブロックの符号化に動きスキップモードを最終的に使用するか否かは、符号化効率の観点から他の符号化手段よりも優れているか否かに依存する。マクロブロックに関し、動きスキップモードを使用する場合、このマクロブロックに関して生成された動き情報は、さらなる動き補償に直接的または間接的に使用される。
【００６７】
図10に示すアルゴリズムは手続のペアを含む。第1の手続は、1005に示す点から開始し、図10における1075において示す点の前で終了する。この手続は、マクロブロックパーティションモーション統合（MB partitioning motion merging）と呼ばれる。マクロブロックパーティションモーション統合では、イリーガルなco-locatedマクロブロックパーティションをリーガルなco-locatedマクロブロックパーティションへと修正することが可能である。第2の手続は、第1の手続の終了時（1075に示す）に開始し、1072、1085、1100、または1110で示す点において終了する。この第2の手続は、イリーガルなco-locatedマクロブロックをリーガルなco-locatedマクロブロックにさらに修正することを担い、イリーガルマクロブロック出口またはリーガルマクロブロック出口のいずれかで終了する。この手続は、マクロブロックモーション統合（MB motion merging）と呼ばれる。復号中、マクロブロックが動きスキップモードを利用する場合、至る出口がリーガルマクロブロック出口であることを例外として、当該アルゴリズムを同様に適用する。このマクロブロックに関して生成された動き情報は、さらなる動き補償のために直接的または間接的に使用される。マクロブロックパーティションモーション統合手続では、co-locatedマクロブロックパーティションは、1つずつチェックされる。各co-locatedマクロブロックパーティションは、以下のように処理される。現在のco-locatedマクロブロックパーティションがリーガルである場合、この手続においてさらなるプロセスは必要とされず、次のco-locatedマクロブロックパーティションが処理される。そうでない場合、即ち現在のco-locatedマクロブロックパーティションがイリーガルである場合、以下を適用する。現在のco-locatedマクロブロックパーティションが「不良参照（bad reference）」を有する場合、参照ステータス統合プロセスを適用して、「不良参照」を「良好参照（good reference）」に修復する。参照ステータス統合プロセスが失敗した場合、co-locatedマクロブロックパーティションは、イリーガルのままであり、次のco-locatedマクロブロックパーティションが処理される。
【００６８】
現在のco-locatedマクロブロックパーティションが「良好参照」を有する場合（co-locatedマクロブロックパーティションが、上記プロセスより前に「良好参照」であったか、または上記プロセスにより「良好参照」になったかのいずれかの場合）、以下は、最初にXが0である場合に適用し、次に、Xが1である場合に適用する。現在のco-locatedマクロブロックパーティションが「ListX使用」である場合、参照インデックス統合プロセスと、動きベクトル生成およびスケーリングプロセス（後述する）とが、連続的に起動される。
【００６９】
参照インデックス統合プロセスは、本プロセスの後、現在のco-locatedマクロブロックパーティションの内部のブロックが、予測方向毎にフレーム間予測のために同一の参照ピクチャを使用することを保証する。動きベクトル生成およびスケーリングプロセスは、RefPicListXにおける参照ピクチャが参照インデックス統合プロセス中に変更したブロックの動きベクトルをスケール化し、参照インデックス統合プロセスの前にRefPicListXの動き情報に関連付けられていなかったブロックの動きベクトルを生成する。
【００７０】
図10に示すアルゴリズムのマクロブロックモーション統合手続は、現在のco-locatedマクロブロック内部のco-locatedマクロブロックパーティションが1つだけイリーガルである場合に、イリーガルなco-locatedマクロブロックをリーガルへと修復することを試みる。イリーガルなco-locatedマクロブロックパーティションの処理時に、その動き情報（存在する場合）を無視する。代わりに、このイリーガルなco-locatedマクロブロックパーティションの動き情報が、予測生成プロセスおよび動きベクトル生成プロセスを含むマクロブロックモーション統合手続によって生成される。X（0または1である）の値毎に、予測生成プロセスは、イリーガルなco-locatedマクロブロックパーティションを「ListX使用」に設定することを試行し、このco-locatedマクロブロックパーティションの参照インデックスの設定を試行する。X（0または1である）の値毎に、動きベクトル生成プロセスは、co-locatedマクロブロックパーティションが「ListX使用」である場合に、RefPicListXの参照インデックスに関連付けられる動きベクトルを生成する。本説明は、使用するビュー間参照ピクチャが1つだけであることを仮定する。しかしながら、図10のアルゴリズムは、本明細書に後述するように、複数のビュー間参照ピクチャが利用可能である状況にも拡張可能である。
【００７１】
マクロブロックパーティション動作統合の第1の手続は、イリーガルなco-locatedマクロブロックパーティションをリーガルにすることを試行する。この手続は、現在のco-locatedマクロブロックにおける4つのco-locatedマクロブロックパーティションの全てに1つずつ適用される。co-locatedマクロブロックパーティションが、ビュー間参照ピクチャのスライス境界を交差することが発生する場合、異なるブロックにおける同一の参照インデックス値は、同一の参照ピクチャに対応し得ない。この場合、各ブロックにおける参照インデックス（利用可能である場合）は、その参照ピクチャPに最初にマッピングされ、参照ピクチャPの参照インデックスは、現在のピクチャのRefPicListXにおいて検索される。利用可能な参照インデックスが探索される場合（idxで示す）、本ブロックの参照インデックスが、現在のピクチャのRefPicListXのためのidxであるように、本明細書に定義するプロセスが適用される。利用可能な参照インデックスが探索されない場合、「ListX非使用」として処理される。co-locatedブロックまたはマクロブロックパーティションが、RefPicListXにおけるビュー間参照ピクチャを参照する参照インデックスを有する場合、これも「ListX非使用」として処理される。マクロブロックパーティションモーション統合手続の参照ステータス統合プロセス、参照インデックス統合プロセス、ならびに動きベクトル生成およびスケーリングプロセスについて以下に説明する。
【００７２】
参照ステータス統合のプロセスは、「不良参照」を有するco-locatedマクロブロックパーティションを「良好参照」を有するものに変更することを試行する。「List0使用」および「List1使用」のそれぞれに対応する前方および後方予測状態は、別々に処理することができる。以下は、最初にXが0である場合に適用され、次に、Xが1である場合に適用される。事例1は、視差ベクトルおよび（0,0）が2を法として合同する状況を伴う。co-locatedマクロブロックパーティションは、ビュー間参照ピクチャの1つのマクロブロックパーティションにある。統合は、必要とされない。事例2は、視差ベクトルおよび（1,0）または（0,1）が2を法として合同する状況を伴う。co-locatedマクロブロックパーティションは、ビュー間参照ピクチャの2つのマクロブロックパーティションにある。両方のマクロブロックパーティションが「ListX使用」である場合、co-locatedマクロブロックパーティションは、「ListX使用」に指定される。そうでない場合、co-locatedマクロブロックパーティションは、「ListX非使用」に指定される。事例3は、視差ベクトルおよび（1,1）が2を法として合同する状況を伴う。co-locatedマクロブロックパーティションは、ビュー間参照ピクチャの4つのマクロブロックパーティションにおける4つのブロックから成る。ブロックのうちの3つまたは4つが「ListX使用」に指定される場合、co-locatedマクロブロックパーティションは、「ListX使用」に指定される。そうでない場合、co-locatedマクロブロックパーティションは、「ListX非使用」に指定される。co-locatedマクロブロックパーティションが「ListX使用」に指定される場合、全てのそのブロックは、「ListX使用」に指定される。
【００７３】
参照ステータス統合の後、co-locatedマクロブロックパーティションが「List0使用」であるが「List1非使用」、「List1使用」であるが「List0使用」ではない、または「List0使用」および「List1使用」のいずれかに指定される場合、これは、「良好参照」を有する。以下のプロセス（すなわち参照インデックス統合プロセスならびに動きベクトル生成およびスケーリングプロセス）は、「良好参照」を有するマクロブロックパーティションにのみ適用することができる。本明細書における別の実施形態では、co-locatedマクロブロックパーティションは、「不良参照」に設定されてもよく、それがＢスライスに属し、かつ双方向予測ではない場合、すなわち「List0非使用」または「List1非使用」である場合、さらなる処理は、co-locatedマクロブロックパーティションのためのこの手続において停止する。
【００７４】
co-locatedマクロブロックパーティションが、参照ステータス統合プロセス中に「良好参照」を有するように修復されている場合、co-locatedマクロブロックパーティションを、参照インデックス統合プロセスによってリーガルなco-locatedマクロブロックパーティションに変更することができる。参照インデックス統合プロセスは、Xが0または1のいずれかの場合に適用される。
【００７５】
2つのルールが、参照インデックス統合に導入される。第1のルールは、最小参照インデックス値を選択することである。第2のルールは、このco-locatedマクロブロックパーティションにおけるブロックから、最も頻繁に使用される参照インデックス値を選択することである。また、他のルールも、必要または所望に応じて実装され得る。
【００７６】
上記事例1、2、および3の解は以下の通りである。現在のco-locatedマクロブロックパーティションが「ListX使用」の場合、以下が適用される。事例1（視差ベクトルおよび（0,0）が2を法として合同する場合）の状況では、参照インデックス統合プロセスは省略される。事例2（視差ベクトルおよび（1,0）または（0,1）が2を法として合同する場合）の状況では、ビュー間参照ピクチャにおける2つのマクロブロックパーティションの最小参照インデックス値が選択される。事例3（視差ベクトルおよび（1,1）が2を法として合同する場合）の状況では、以下の4つの解のうちの1つが適用される。第1に、ビュー間参照ピクチャにおける4つのブロックの最小参照インデックス値が選択される。第2に、表示順序において現在のピクチャに最も近い参照ピクチャに対応するビュー間参照ピクチャにおける4つのブロックからの参照インデックス値が選択される。第3に、ビュー間参照ピクチャにおける4つのブロック間で最も頻繁に使用される参照インデックスが選択される。最も頻繁に使用される値が複数存在する場合、小さい方（最小）の参照インデックス値が選択される。第4に、ビュー間参照ピクチャにおける4つのブロックにおいて最も頻繁に使用される参照インデックスが選択される。最も頻繁に使用される値が複数存在する場合、表示順序において現在のピクチャに最も近い参照ピクチャに対応する値が選択される。
【００７７】
上記を考慮して、RefPicListXにおけるピクチャを参照する4つのブロックについて選択可能な異なる参照インデックスは、1つの参照インデックスに統一することができる。co-locatedマクロブロックパーティションの最終参照インデックス値は、統一参照インデックスと呼ばれ、対応する参照ピクチャは、統一参照ピクチャと呼ばれる。
【００７８】
図11に図式的に示す動きベクトルスケーリングおよび生成プロセスは、Xが0または1のいずれかの場合に適用され、当該プロセスは、現在のco-locatedマクロブロックパーティションにおける4つのブロックの全てに1つずつ適用される。co-locatedマクロブロックパーティションにおけるブロックは、以下の事例のうちのいずれかとなる。第1の事例では、ブロックは、参照ステータス統合前に「ListX使用」に指定されており、参照インデックス値は、参照インデックス統合中に修正されていない。第2の事例では、ブロックは、参照ステータス統合前に「ListX使用」に指定されていたが、その参照インデックス値は、参照インデックス統合中に修正されていない。第3の事例では、ブロックは、「ListX非使用」に指定されていたが、「ListX使用」に変更されており、参照インデックスが、参照インデックス統合中にそれに割り当てられている。
【００７９】
上述の第1の事例では、動きベクトルスケーリングおよび生成は必要とされない。
【００８０】
第2の事例では、動きベクトルは、数式mv'=td*mv/toに従ってスケール化される。図11を再び参照すると、式中、mvは、元々の動きベクトルであり、mv'は、スケール化された動きベクトルであり、tdは、現在のピクチャと統一参照ピクチャとの間の距離であり、toは、現在のピクチャと元々（前）の参照ピクチャとの間の距離である。tdおよびtoの両方は、PicOrderCntの差異を単位とする。ここで、PicOrderCntは、H.264/AVCに明記するピクチャの出力順序（すなわち表示順序）を示す。上述の第3の事例では、動きベクトルは、以下のように生成される。
【００８１】
参照ステータス統合プロセスによると、RefPicListXについて、マクロブロックパーティションが「ListX使用」に変更されている場合、co-locatedマクロブロックパーティションのブロックを、「ListX非使用」にできるのは、最大で１つのブロックだけである。ゆえに、co-locatedマクロブロックパーティションは、この第3の事例に属する多くとも1つのブロックを含む。このブロックの参照インデックスは、統一参照インデックスに設定されている。RefPicListXにおけるピクチャを参照するブロックの動きベクトルは、以下の2つの方法のうちのいずれかによって生成される。
【００８２】
1.残りのブロックにおける3つの動きベクトルに基づく中央値演算を使用する。3つの動きベクトルのうちのいずれかがスケール化されている場合、スケール化された動きベクトルは、中央値演算に使用される。次いで、前記ピクチャを参照するブロックの動きベクトルは、3つの動きベクトルの中央値になるように設定される。
【００８３】
2.スケール化されていない動きベクトルを使用する。動きベクトルが1つだけスケール化されていない場合、この動きベクトルを前記ピクチャを参照するブロックの動きベクトルとして使用する。2つのブロックの2つの動きベクトルがスケール化されていない場合、これらの2つの動きベクトルの平均を、前記ピクチャを参照するブロックの動きベクトルとして使用する。他の事例では（すなわちどの動きベクトルもスケール化されてない場合）、第1の方法における中央値演算を使用する。
【００８４】
上述の第3の事例では、co-locatedマクロブロックパーティションにおける最大で2つのブロックについて、動きベクトルが、参照インデックス統合プロセス中に、参照ピクチャの変更により、スケール化され得ることに留意されたい。
【００８５】
アルゴリズムの第2の手続、すなわち、マクロブロックモーション統合は、イリーガルなco-locatedマクロブロックパーティションを1つだけ有するイリーガルなco-locatedマクロブロックを、リーガルなco-locatedマクロブロックに変更し得る。この手続中、イリーガルなco-locatedマクロブロックパーティションの動き情報は、それが存在する場合、無視される。この手続の開始時に、イリーガルなco-locatedマクロブロックは、「List0非使用」および「List1非使用」に設定される。この手続は、2つの主要プロセス、つまり予測生成および動きベクトル生成を含む。
【００８６】
予測生成プロセスは、イリーガルなco-locatedマクロブロックパーティションを、「List0非使用」および「List1非使用」から「List0使用」もしくは「List1使用」またはその両方にすることを試行する。
【００８７】
以下は、最初にXが0である場合に適用され、次に、Xが1である場合に適用される。残りの3つのco-locatedマクロブロックパーティションが、「ListX使用」に指定される場合、イリーガルなco-locatedマクロブロックパーティションは、「ListX使用」として設定され、参照インデックスは、以下のルールのいずれかに基づいて、co-locatedマクロブロックパーティションのために選択される。（1）残りの3つのco-locatedマクロブロックパーティションからの最小参照インデックス値の選択。（2）残りの3つのco-locatedマクロブロックパーティションからの最も頻繁に使用される参照インデックス値の選択。（2）では、最も頻繁に使用される値が複数存在する場合、小さい方（最小）の参照インデックス値が選択される。
【００８８】
動きベクトル生成プロセスは、残りの3つのco-locatedマクロブロックパーティションにおける動きベクトルに従って、イリーガルなco-locatedマクロブロックパーティションにおける4つのブロックのために4つの動きベクトルを生成する。以下は、最初にXが0である場合に適用され、次に、Xが1である場合に適用される。残りの3つのco-locatedマクロブロックパーティションの中から、イリーガルなco-locatedマクロブロックパーティションと同一の参照インデックスを有するものの動きベクトルのみが以下において考慮される。イリーガルなco-locatedマクロブロックパーティションにおける4つのブロックは、（1）ズーム1、co-locatedマクロブロックの中心に最も近いブロック、（2）ズーム3、co-locatedマクロブロックの中心から最も遠いブロック、および（3）ズーム2、図12Aに示すような他の2つのブロック、の3つの種類に分類される。ブロック毎に、図12Bに示すように、左側、右側、上側、および下側のブロックは、４つの近傍ブロックと呼ばれる。イリーガルなco-locatedマクロブロックパーティションにおける4つのブロックの動きベクトルは、以下によって生成される。
【００８９】
１．ズーム1のブロックは、co-locatedマクロブロックの他のco-locatedマクロブロックパーティションに2つの４つの近傍ブロックを有する。これらの2つの4-近隣ブロックは、候補ブロック1および2と呼ばれる。他のco-locatedマクロブロックパーティションにおける第3の候補ブロックは、両方の候補ブロック1および2の4-近隣ブロックである。3つの候補ブロックでは、イリーガルなco-locatedマクロブロックパーティション（予測生成プロセスにより生成される）と同一の参照インデックス値を有する候補ブロックの動きベクトルを使用して、ズーム1におけるブロックの動きベクトルを生成する。3つの候補ブロックのうちの1つのみが認定される場合、そのブロックの動きベクトルは、ズーム1におけるブロックの動きベクトルとしてコピーされる。3つの候補ブロックうちの2つが認定される場合、ズーム1におけるブロックの動きベクトルは、2つのブロックの動きベクトルの平均に設定される。3つの候補ブロックの全てが認定される場合、ズーム1におけるブロックの動きベクトルは、3つの候補ブロックの3つの動きベクトルの中央値に設定される。
【００９０】
２．ズーム2のブロックは、他のco-locatedマクロブロックパーティションに1つの４つの近傍ブロックを有する。この４つの近傍ブロックは、唯一の候補ブロックである。候補ブロックがイリーガルなco-locatedマクロブロックパーティションと同一の参照インデックスを有する場合、ズーム2におけるブロックの動きベクトルは、候補ブロックの動きベクトルと同じに設定される。
【００９１】
そうでない場合、ズーム2のブロックの動きベクトルは、ズーム1のブロックの動きベクトルと同じに設定される。
【００９２】
３．ズーム2の他方のブロックについてプロセス（2）を繰り返す。
【００９３】
４．ズーム3のブロックでは、co-locatedマクロブロックにおける他のco-locatedマクロブロックパーティションに４つの近傍ブロックが存在しない。プロセス（2）または（3）において、候補ブロックが、イリーガルなco-locatedマクロブロックパーティションとは異なる参照インデックスを有していた場合、ズーム3のブロックの動きベクトルは、ズーム1のブロックの動きベクトルと同じに設定される。そうでない場合は、このブロックの動きベクトルは、同一のco-locatedマクロブロックパーティションにおける他の3つのブロックの3つの動きベクトルの中央値に設定される。
【００９４】
上述のように、図10は、種々の実施形態において1つ以上のビュー間参照ピクチャが存在する場合に実行されるアルゴリズムに伴うプロセスを示すフローチャートである。ここで図10について詳細に論じる。アルゴリズムは、1000において現在のマクロブロックから開始する。1005において、第1のマクロブロックパーティションが現在のマクロブロックパーティションとして設定される。1010において、マクロブロックパーティションを処理することがさらに必要であるかを判断する。マクロブロックパーティションを処理することがさらに必要である場合、1015において、処理される次のマクロブロックパーティションを現在のマクロブロックパーティションとして設定する。1020において、現在のマクロブロックパーティションがリーガルであるかが判断される。リーガルである場合、プロセスは、1010に戻る。リーガルでない場合、1025において参照ステータス統合プロセスが起動し、その後、1030において、現在のマクロブロックパーティション内の全てのブロックが「List0使用」、「List1使用」、または「List0使用」と「List1使用」の両方に識別されるか否かが判断される。識別されない場合、1035において、現在のマクロブロックパーティションは、イリーガルなマクロブロックパーティションとして識別され、1010に戻る。一方、識別される場合、1040において、xが0に設定され、1045において、現在のマクロブロックパーティションが「ListX使用」として識別されるか否かが判断される。識別される場合、1050において、リストxの参照インデックス統合プロセスが起動する。1055において、参照ピクチャが変更されたか否かが判断される。変更された場合、1060において、動きベクトル生成およびスケーリングのプロセスが起動し、1065において、xがゼロを上回るか否かが判断される。xがゼロを上回らない場合、プロセスは1045に戻る。xがゼロを上回る場合、1070において、現在のマクロブロックパーティションはリーガルに設定され、プロセスは1010に戻る。また、ブロック1045および1055のいずれかにおける判断に対する回答が「いいえ」である場合、プロセスは1065に移動することに留意されたい。
【００９５】
再び図10における1010を参照すると、さらに処理されるマクロブロックパーティションが存在しない場合、1075において、全てのマクロブロックパーティションがリーガルであるか否かが判断される。全てのマクロブロックパーティションがリーガルである場合、プロセスは、1072のリーガルマクロブロック出口で終了する。しかしながら、リーガルでない場合、1080において、3つのマクロブロックパーティションがリーガルであるかが判断される。リーガルでない場合、プロセスは、1085のイリーガルマクロブロック出口で終了する。3つのマクロブロックパーティションが存在する場合、1090において、予測生成プロセスがイリーガルなマクロブロックについて起動する。次いで、1095において、イリーガルなマクロブロックパーティションにおける全てのブロックが「List0使用」または「List1使用」として識別されるかが判断される。識別されない場合、プロセスは、1100のイリーガルマクロブロック出口で終了する。一方、識別される場合、動きベクトル予測プロセスが1105において起動し、当プロセスは、1110のリーガルマクロブロック出口で終了する。
【００９６】
複数のビュー間参照ピクチャが存在する場合、ビュー間参照ピクチャのいずれかを、スライスの符号化時に、動きスキップに選択することができる。選択に関する代替方法について以下に説明する。動きスキップに使用するビュー間参照ピクチャが1つだけの場合、現在のマクロブロックの予測に使用されるマクロブロックモードおよび動きベクトルを含むco-locatedマクロブロックは、1つのビュー間参照ピクチャからのものである。co-locatedマクロブロックは、上述のおよび図10に示すアルゴリズムにより変更されている場合があるため、最終のco-locatedマクロブロックは、予測子マクロブロックと呼ばれる。
【００９７】
図10に示す種々のブロックが、方法ステップとして、および/またはコンピュータプログラムコードの動作からもたらされる動作として、および/または関連機能を実行するように構築される複数の結合論理回路として見なされ得ることに留意されたい。
【００９８】
以下では、動きスキップのためのビュー間参照ピクチャの選択に関してより詳細に論じる。
【００９９】
スライス毎に、動きスキップに使用されるビュー間参照ピクチャが、導出または伝達される。ゆえに、動きスキップに使用されるピクチャは、ビュー依存性において伝達される第1のビュー間参照ピクチャとは異なってもよく、任意のビュー間参照ピクチャとすることができる。例えば、RefPicList0に対応するビュー依存性情報において伝達される第1のビュー間参照ピクチャが、動きスキップに使用されるビュー間参照ピクチャとなるように選択される。別の例として、RefPicList0における第1のビュー間参照ピクチャが選択される。RPLRコマンドが、任意のビュー間参照ピクチャをRefPicList0における第1のピクチャにできることに留意されたい。
【０１００】
上記の代替として、現在のピクチャが後方ビュー間参照ピクチャを有する場合、上記2つの方法において、RefPicList0がRefPicList1に置換される。別の代替では、現在のピクチャが前方および後方の両方のビュー間参照ピクチャを有する場合、上記方法は、RefPicList0およびRefPicList1のそれぞれに対応する2つのビュー間参照ピクチャを選択するように適用することができ、フラグが、2つの選択されたビュー間参照ピクチャのうちの1つを選択するように伝達される。さらに代替として、使用されるビュー間参照ピクチャは、例えば、ビュー依存性に出現するビュー識別子のインデックスと、前方または後方ビュー間参照ピクチャであるか否かを示すフラグとをスライスヘッダに含めることによって、明示的に伝達することができる。さらに代替として、動きスキップに使用されるビューのビュー識別子もスライスヘッダに含めることができる。
【０１０１】
上述の方法は、複数のビュー間参照ピクチャから動きスキップに使用する1つのビュー間参照ピクチャを選択するために使用される。利用可能なビュー間参照ピクチャが複数存在する場合、符号化されるマクロブロック毎に、複数のビュー間参照ピクチャを動きスキップに使用することも可能である。この場合、現在のマクロブロックは、現在のピクチャとビュー間参照ピクチャとの間の視差に従って、使用されるビュー間参照ピクチャ毎にco-locatedマクロブロックを持つ。これらのco-locatedマクロブロックの各々は、予測子マクロブロックを生成するための候補co-locatedマクロブロックと呼ばれ、予測子マクロブロックは、全ての候補co-locatedマクロブロックから生成される。複数のビュー間参照ピクチャとともに動きスキップの予測子マクロブロックを生成する手法について以下に提示する。また、これらの手法は、組み合わせ型動きスキップアルゴリズムとも呼ばれる。
【０１０２】
第1に、予測子マクロブロックの各予測子マクロブロックパーティションが、候補co-locatedマクロブロックパーティションから選択される。これは、参照組み合わせと呼ばれる。参照組み合わせの後、上述のおよび図10に示すアルゴリズムにおける第2の手続が、4つの予測子マクロブロックパーティションに適用される。
【０１０３】
参照組み合わせにおいて、候補co-locatedマクロブロックパーティションから予測子マクロブロックパーティションを選択するために、候補co-locatedマクロブロックパーティションは、所定の順序、例えば、最初に前方従属ビュー、次に後方ビューの順序で考慮される。各参照ピクチャリストにおけるビュー間参照ピクチャでは、順序は、参照ピクチャリストにおける順序と同一であるか、またはシーケンスパラメータセットMVC拡張における順序と同一である。順序に基づいて、ビュー間参照ピクチャにおけるco-locatedマクロブロックパーティションがリーガルであると検出された場合、上述のおよび図10に示されるアルゴリズムにおける第1の手続が、このco-locatedマクロブロックパーティションに適用され、このco-locatedマクロブロックパーティションは、残りのビュー間参照ピクチャからの候補co-locatedマクロブロックパーティションをさらに考慮することなく、予測子マクロブロックパーティションとして選択される。
【０１０４】
ビュー間参照ピクチャのいずれにおいてもリーガルなco-locatedマクロブロックパーティションが存在しない場合、以下が適用される。上記と同一の順序において、「良好参照」を有する第1のco-locatedマクロブロックパーティションについて、候補co-locatedマクロブロックパーティションが検索される。それが発見された場合、「良好参照」を有する第1の候補co-locatedマクロブロックパーティションは、残りの候補co-locatedマクロブロックパーティションをさらに考慮することなく、予測子マクロブロックパーティションとして選択される。次いで、参照インデックス統合プロセスならびに動きベクトル生成およびスケーリングプロセスが、予測子マクロブロックパーティションに適用される。「良好参照」を有するco-locatedマクロブロックパーティションが発見されない場合、参照ステータス統合プロセスが、上記の順序で候補co-locatedマクロブロックパーティションに適用される。候補co-locatedマクロブロックパーティションの参照ステータス統合プロセスが成功する度に、「良好参照」を有する修復された候補co-locatedマクロブロックパーティションが、残りの候補co-locatedマクロブロックパーティションをさらに考慮することなく、予測子マクロブロックパーティションとして選択される。次いで、参照インデックス統合プロセスならびに動きベクトル生成およびスケーリングプロセスが、予測子マクロブロックパーティションに適用される。参照ステータス統合プロセスが候補co-locatedマクロブロックパーティションの全てについて失敗する場合、予測子マクロブロックパーティションはイリーガルである。
【０１０５】
参照組み合わせの例について図13に示し、本図面において、前方ビュー間参照ピクチャ（左側のビュー間参照ピクチャ）と後方ビュー間参照ピクチャ（右側のビュー間参照ピクチャ）との両方は、Ｐスライスのみを含む。現在のピクチャと前方ビュー間参照ピクチャとの間の視差ベクトルおよび（0,0）は、2を法として合同であり、現在のピクチャと後方ビュー間参照ピクチャとの間の視差および（1,1）は、2を法として合同である。左上の予測子マクロブロックパーティションでは、前方ビュー間参照ピクチャからの候補co-locatedマクロブロックパーティションは、スライス間マクロブロックに該当するため、これは、リーガルであり、予測子マクロブロックパーティションとして選択される。ゆえに、この左上の予測子マクロブロックパーティションに関する手続1は、達成される。同一の手続が、右上の予測子マクロブロックパーティションおよび右下の予測子マクロブロックパーティションに適用される。左下の予測子マクロブロックパーティションでは、前方ビュー間参照ピクチャからの候補co-locatedマクロブロックパーティションは、スライス内マクロブロックに該当するため、イリーガルである。ゆえに、後方ビュー間参照ピクチャからの次の候補co-locatedマクロブロックパーティションがチェックされる。この候補co-locatedマクロブロックパーティションは、スライス間マクロブロックに該当するため、これは、リーガルであり、予測子マクロブロックパーティションとして選択される。ゆえに、この左下の予測子マクロブロックパーティションに関する手続1が、達成される。ゆえに、本例において、リーガルな予測子マクロブロックが生成され、当該予測子マクロブロックは、前方ビュー間参照ピクチャからの3つのリーガルな予測子マクロブロックパーティションと、後方ビュー間参照ピクチャからの1つのリーガルな予測子マクロブロックパーティションとを持つ。
【０１０６】
参照組み合わせでは、予測子マクロブロックパーティションをもたらすビュー間参照ピクチャが、前述のように導出される。以下の代替手法では、動きスキップに使用するビュー間参照ピクチャは、マクロブロック毎またはマクロブロックパーティション毎に明示的に伝達される。本代替手法では、マクロブロック毎に、動きスキップが使用可能な場合に、動きスキップに使用するビューも伝達される。ゆえに、動きスキップアルゴリズムは、ビュー間参照ピクチャを適応的に選択することができ、ビュー間参照ピクチャから現在のマクロブロックの動きベクトルが導出される。このマクロブロック適応的選択事例では、符号器において、図10に示すアルゴリズムに関する2つの手続が、co-locatedマクロブロック毎に別々に適用され、最良の速度歪み性能をもたらす手続が最終的に選択され、このビュー間参照ピクチャの識別に必要な情報が、符号化される現在のマクロブロックについて伝達される。復号器では、動きスキップが現在のマクロブロックモードである場合、どのビュー間参照ピクチャを使用するかを示す情報が読み取られ、co-locatedマクロブロックが探索される。そのとき、図10に示すアルゴリズムの第1および第2の手続も起動される。上記は、マクロブロックレベルについて述べたが、マクロブロックパーティションレベルにも拡張可能である。
【０１０７】
ピクチャに対する大域的視差の使用に加え、マクロブロックまたはマクロブロックパーティションレベルにおける適応的視差も使用することができる。種々の実施形態では、局所的視差が、伝達された大域的視差に関連して符号化される。局所的視差は、現在のマクロブロックが動きスキップモードを使用する場合に伝達される。局所的視差の符号化は、動きベクトルの予測符号化に類似する。図14に示すように、現在のマクロブロック（Curr マクロブロック）では、中央値視差が、上側マクロブロック（B）、左側マクロブロック（A）、および左上マクロブロック（D）から予測される。Dを利用できない場合、右上マクロブロック（C）を使用する。他の事例では、マクロブロックが、伝達された局所運動視差を持たない場合、局所的視差は、大域的視差に等しいものと推測され、隣接するマクロブロックの局所的視差の予測に使用される。
【０１０８】
符号器において、所望の視差が、典型的なモーション推定によって生成され、次いで、どの精度を使用するかに応じて、16画素、8画素、または4画素精度に量子化される。別の実施形態では、視差予測子の周りの範囲を検索することによって、視差予測を精密化することを伴う。予測子および所望の視差が生成された後に、視差と予測子との間の差異が、H.264/AVCにおける動きベクトル符号化と類似の方式で符号化される。
【０１０９】
動きスキップは、現在のマクロブロックのモーションを導出することが可能である。しかしながら、導出されたモーションは、十分正確でない場合がある。この場合、動きベクトルの精度は、精密化によって、例えば、導出した動きベクトルと最適（所望の）動きベクトルとの差異を伝達することによって、さらに改善可能である。
【０１１０】
動きスキップの伝達に関する種々の問題に対処するために、種々の実施形態が提供される。一実施形態では、当該一実施形態においてフラグの形式であるインジケータを使用して、現在のピクチャが動きスキップのために他のビューにおける任意のピクチャにより使用されるか否かを特定する。代替として、inter_view_flagは、2ビットを含むinter_view_idcに変更される。第1のビットは、元々のinter_view_flagに相当し、第2のビットは、新しく導入されたフラグに相当する。
【０１１１】
また、一実施形態においてフラグの形式であるインジケータは、スライスが動きスキップを使用しているか否かを示すために、スライスヘッダにも提供可能である。当該インジケータを使用していない場合、現在のスライスにおける全マクロブロックのための動きスキップフラグは伝達されず、虚偽であると推測される。このフラグが真実である場合、運動視差が伝達される。
【０１１２】
一実施形態においてフラグの形式であるさらに別のインジケータは、シーケンスレベルで、例えば、シーケンスパラメータセットMVC拡張においてビュー毎に使用され、シングルループ復号により復号可能であるかを標示してもよい。さらに、フラグまたは他のインジケータは、シーケンスレベルで、例えば、シーケンスパラメータセットMVC拡張においてビュー毎に付加され、動きスキップについて他のビューのいずれかにビューが必要とされるか否かを標示してもよく、別のフラグまたは他のインジケータは、従来のビュー間サンプル予測について残りのビューのいずれかにビューが必要とされるか否かを標示してもよい。
【０１１３】
以下は、上述の種々の実装に使用され得る例示的シグナリングである。しかしながら、本シグナリングが、本来は、単に例示的であることに留意されたく、当業者は、他のシグナリングが可能であることを理解する。
【０１１４】
動きスキップに使用するピクチャを伝達するために、NALユニットヘッダSVC MVC拡張構文を、以下のようにしてもよい。
2011501497.tif 000003
【０１１５】
上記NALユニットヘッダSVC MVC拡張構文における構文要素inter_view_idcの意味は、以下の通りである。inter_view_idcが0に等しい場合、これは、現在のNALユニットを含む符号化ピクチャが、サンプル予測のためのビュー間予測参照としても、または動きスキップのためにも使用されないことを特定する。inter_view_idcが1に等しい場合、これは、現在のNALユニットを含む符号化ピクチャが、動きスキップに使用され得るが、ビュー間サンプル予測に使用され得ないことを特定する。inter_view_idcが2に等しい場合、これは、現在のNALユニットを含む符号化ピクチャが、ビュー間サンプル予測に使用され得るが、動きスキップに使用され得ないことを特定する。inter_view_idcが3,に等しい場合、これは、現在のNALユニットを含む符号化ピクチャが、ビュー間サンプル予測と動きスキップとの両方に使用され得ることを特定する。
【０１１６】
以下は、スライスが動きスキップに対応するか否かを制御するために、スライスヘッダフラグを伝達するための1つの可能な取り決めである。本取り決めでは、スライスヘッダ構文は以下の通りである。
2011501497.tif 000004
【０１１７】
motion_skip_enableが0に等しい場合、これは、現在のスライスが動きスキップを使用しないことを特定する。motion_skip_enableが1に等しい場合、これは、現在のスライスが動きスキップを使用することを特定する。
【０１１８】
上述のスライスヘッダフラグのシグナリングにおいて、サンプルマクロブロック層の構文は、以下の通りである。
2011501497.tif 000005
【０１１９】
上記に加え、特に、方向毎に1つのビュー間参照ピクチャを使用する場合に、複数のビュー間参照ピクチャを伝達することが必要であり得る。この場合、サンプル構文は以下の通りである。
2011501497.tif 000006
【０１２０】
参照SPS MVC拡張におけるnum_non_anchor_refs_10[i]（iは、SPS MVC拡張における view_id[i]が現在のビューのビュー識別子となる値を有する）が0を上回る場合に、MotionSKIPFwdは、1であると推測される。そうでない場合、これは、0であると推測される。参照SPS MVC拡張におけるnum_non_anchor_refs_11[i]（iは、SPS MVC拡張におけるview_id[i]が現在のビューのビュー識別子となる値を有する）が0を上回る場合に、MotionSKIPBwdは、1であると推測される。そうでない場合、これは、0であると推測される。fwdbwd_flagが0に等しい場合、これは、現在のマクロブロックが、動きスキップのために第1の前方ビュー間参照ピクチャを使用することを特定する。fwdbwd_flagが1に等しい場合、これは、現在のマクロブロックが、動きスキップのために第1の後方ビュー間参照ピクチャを使用することを特定する。
【０１２１】
シングルループ復号の例示的なシーケンスレベルのシグナリングは以下の通りである。
2011501497.tif 000007
【０１２２】
sld_flag[i]が1に等しい場合、これは、view_id[i]に等しいview_idを含むビューがシングルループ復号に対応すること、すなわち、シーケンスパラメータセットを参照し、かつview_id[i]に等しいview_idを含む任意の非アンカーピクチャが、復号プロセスにおいてビュー間サンプル予測を使用しないことを特定する。sld_flag[i]が0に等しい場合、これは、view_id[i]に等しいview_idを含むビューがシングルループ復号に対応すること、すなわち、シーケンスパラメータセットを参照し、かつview_id[i]に等しいview_idを含む少なくとも1つの非アンカーピクチャが復号プロセスにおいてビュー間サンプル予測を使用することを特定する。recon_sample_flag[i]が1に等しい場合、これは、シーケンスパラメータセットを参照し、かつview_id[i]に等しいview_idを含むビューにおける少なくとも1つの符号化ピクチャが、残りのビューのうちの少なくとも1つによってビュー間サンプル予測に使用されることを特定する。recon_sample_flag[i]が0に等しい場合、これは、シーケンスパラメータセットを参照し、かつview_id[i]に等しいview_idを含む符号化ピクチャのいずれもが、ビュー間サンプル予測のためのいずれのビューによっても使用されないことを特定する。recon_motion_flag[i]が1に等しい場合、これは、シーケンスパラメータセットを参照し、かつview_id[i]に等しいview_idを含むビューにおける少なくとも1つの符号化ピクチャが、残りのビューのうちの少なくとも1つによって動きスキップに使用されることを特定する。recon_motion_flag[i]が0に等しい場合、これは、シーケンスパラメータセットを参照し、かつview_id[i]に等しいview_idを含む符号化ピクチャのいずれもが、動きスキップのためにいずれのビューによっても使用されないことを特定する。
【０１２３】
種々の実施形態に従う通信機器は、種々の伝送技術を使用して通信してもよく、この通信技術には、符号分割多元接続（Code Division Multiple Access; CDMA）、モバイル通信のためのグローバルシステム（Global System for Mobile Communications; GSM）、ユニバーサル移動体通信システム（Universal Mobile Telecommunications System; UMTS）、時分割多元接続（Time Division Multiple Access; TDMA）、周波数分割多元接続（Frequency Division Multiple Access; FDMA）、伝送制御プロトコル/インターネットプロトコル（Transmission Control Protocol/Internet Protocol; TCP/IP）、ショートメッセージサービス（Short Messaging Service; SMS）、マルチメディアメッセージサービス（Multimedia Messaging Service; MMS）、電子メール、インスタントメッセージサービス（Instant Messaging Service; IMS）、Bluetooth、IEEE 802.11等が含まれるが、これらに限定されない。本発明の種々の実施形態の実装に伴う通信機器は、無線接続、赤外線接続、レーザ接続、ケーブル接続、およびその同等物を含むがこれらに限定されない種々の媒体を使用して通信してもよい。
【０１２４】
図15および図16は、本発明が実装され得る1つの代表的なモバイル機器12を示す。しかしながら、本発明が、1つの特定の型の電子機器に限定されることを意図するものではないことを理解されたい。モバイル機器に示す特徴の一部または全部が、本明細書に論じる機器の任意の機器または全ての機器に組み込まれ得る。図15および図16のモバイル機器12は、筐体30、液晶ディスプレイ形式のディスプレイ32、キーパッド34、マイクロホン36、イヤホン38、バッテリ40、赤外線ポート42、アンテナ44、本発明の一実施形態に従うUICC形式のスマートカード46、カード読み取り器48、無線インターフェース回路52、コーデック回路54、少なくとも1つの制御器56、および便宜上メモリ58と呼ばれるコンピュータ可読メモリ媒体を含む。メモリ58は、少なくとも1つの制御器56による実行時に、本発明の例示的実施形態に従って機器12を動作可能にするコンピュータプログラム命令を含むデータを格納する。個々の回路および要素は、全て、当技術分野において周知の型を有し得る。
【０１２５】
本明細書において説明する種々の実施形態は、方法ステップまたはプロセスの一般的な内容として説明されるが、当該方法ステップまたはプロセスは、おそらくはネットワーク環境において、コンピュータプログラム製品による少なくとも１つの実施形態に実装され、メモリ５８のようなコンピュータ読み取り可能な記録媒体の中に具体化され、プログラムコードのようなコンピュータの実行可能な命令に含まれ、１以上のコンピュータに実行され得る。概して、プログラムモジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造等を含み得る。コンピュータにより実行可能な命令、関連のデータ構造、およびプログラムモジュールは、本明細書に開示する方法のステップを実行するためのプログラムコードの例を表す。特定の一連のこのような実行可能な命令または関連のデータ構造は、このようなステップまたはプロセスにおいて説明する機能を実装するための対応する動作の例を表す。
【０１２６】
種々の実施形態のソフトウェアおよびウェブ実装は、種々のデータベース検索ステップまたはプロセス、相関ステップまたはプロセス、比較ステップまたはプロセス、ならびに決定ステップまたはプロセスを達成するために、法則ベースの論理および他の論理を含む標準的なプログラミング技法により達成可能である。本明細書および以下の請求項で使用する際、単語の「構成要素」および「モジュール」が、1つ以上の種類のソフトウェアコード、および/またはハードウェア実装、および/または手動入力を受信するための設備を使用する実装を包含するように意図されることに留意されたい。
【０１２７】
実施形態に関する前述の説明は、例示目的および説明目的のために提示されている。前述の説明は、包括的であるように、または開示される厳密な形式に本発明の実施形態を限定するように意図されず、また、上記教示を考慮した修正および変形が可能であるか、または、これらの修正および変形は、本発明の実践により入手され得る。本明細書において論じられる実施形態は、種々の実施形態およびその実用的な用途に関する原理および性質を説明して、種々の実施形態における本発明および想定される特定の使用に適合する種々の修正を有する本発明を当業者が利用できるように、選択および説明されている。本明細書において説明する実施形態の特徴は、方法、装置、モジュール、システム、およびコンピュータプログラム製品の全ての可能な組み合わせで組み合わせられ得る。
【０１２８】
概して、種々の例示的実施形態は、ハードウェアもしくは専用回路、ソフトウェア、論理、または任意のそれらの組み合わせにおいて実行され得る。例えば、いくつかの側面は、ハードウェアにおいて実装され得るが、他の側面は、制御器、マイクロプロセッサ、または他のコンピューティング機器により実行され得るファームウェアまたはソフトウェアにおいて実装され得るが、本発明は、それらに限定されない。本発明の例示的実施形態の種々の側面は、ブロック図、フローチャート、またはいくつかの他の図形表現を使用して例示および説明され得るが、本明細書に説明するこれらのブロック、装置、システム、手法、または方法が、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、専用回路もしくは論理、汎用ハードウェアもしくは制御器もしくは他のコンピューティング機器、またはそれらの組み合わせにおいて実装されてもよいことを十分理解されたい。
【０１２９】
したがって、本発明の例示的実施形態の少なくともいくつかの側面が、集積回路チップおよびモジュール等の、集積回路等の種々の構成要素において実用化され得ること、ならびに本発明の例示的実施形態が、少なくとも1つの集積回路として具現化される装置において実現され得ることを理解されたい。集積回路または回路は、1つまたは複数のデータプロセッサ、1つまたは複数のデジタルシグナルプロセッサ、本発明の例示的実施形態に従って動作するように構成可能であるベースバンド回路および無線周波数回路、ならびにプログラム命令を格納するコンピュータ可読メモリ媒体のうちの少なくとも1つ以上を具現化するための、回路（ならびに恐らくはファームウェア）を備え得る。
【０１３０】
用語の「接続」、「連結」、またはその任意の変形は、2つ以上の要素間の、直接的または間接的な任意の接続または連結を意味し、また、「接続」または「連結」される2つの要素間の1つ以上の中間要素の存在を包含し得ることに留意されたい。要素間の連結または接続は、物理的、論理的、またはそれらの組み合わせであることが可能である。本明細書において使用する際、2つの要素は、いくつかの非限定的かつ限定的な例として、1つ以上のワイヤ、ケーブル、および/またはプリント電気接続を使用して、ならびに無線周波数領域、マイクロ波領域、および光（可視および不可視の両方）領域において波長を有する電磁エネルギー等の電磁エネルギーを使用して、「接続」または「連結」されると考えられ得る。
【０１３１】
さらに、説明したパラメータ（例えば、motion_skip_enable、fwdbwd_flag等）に使用する種々の名称は、これらのパラメータが任意の適切な名称により識別され得るため、いかなる点においても限定的であるように意図されない。さらに、これらの種々のパラメータを使用するいかなる公式および/または式も、本明細書に明示的に開示するものとは異なってもよい。さらに、異なるユニットおよびモジュールに割り当てられる種々の名称は、これらの種々のユニットおよびモジュールが任意の適切な名称により識別され得るため、いかなる点においても限定的であるように意図されない。
【０１３２】
さらに、本発明の種々の非限定的かつ例示的実施形態の特徴のいくつかを使用して、他の特徴を対応して使用せずに利点をもたらすことができる。したがって、前述の説明は、本発明の原理、教示、および例示的実施形態を単に例示するものとして考えられるべきであり、それを限定するものとして考えられるべきではない。
【図１】
2011501497.tif 000008
【図２】
2011501497.tif 000009
【図３】
2011501497.tif 000010
【図４】
2011501497.tif 000011
【図５】
2011501497.tif 000012
【図６】
2011501497.tif 000013
【図７】
2011501497.tif 000014
【図８】
2011501497.tif 000015
【図９】
2011501497.tif 000016
【図１０Ａ】
2011501497.tif 000017
【図１０Ｂ】
2011501497.tif 000018
【図１１】
2011501497.tif 000019
【図１２Ａ】
2011501497.tif 000020
【図１２Ｂ】
2011501497.tif 000021
【図１３】
2011501497.tif 000022
【図１４】
2011501497.tif 000023
【図１５】
2011501497.tif 000024
【図１６】
2011501497.tif 000025
【国際調査報告】
2011501497.tif 000026
2011501497.tif 000027
2011501497.tif 000028
2011501497.tif 000029
2011501497.tif 000030