(58)【調査した分野】(Int.Cl.,DB名)
2つのビュー間参照ピクチャのリストを用いてピクチャ中のブロックを復号するように構成されたプロセッサであって、前記ピクチャは、マルチビュービデオコンテンツに対応するピクチャのセットのうちの1つであり、そして同じまたは類似のシーンに対して異なるビューポイントを有しており、前記ピクチャは、前記異なるビューポイントのうちの現在のビューポイントを表している、プロセッサを含み、
前記2つのビュー間参照ピクチャのリストは、前記現在のビューポイントとは異なるビューポイントを有する参照ピクチャに対応し、ビュー間参照ピクチャの数およびビュー間参照ピクチャに対応するビュー識別子は、前記2つのビュー間参照ピクチャのリストの各々のビットストリームにスライスヘッダにおいて示されており、前記ビュー識別子は、前記2つのビュー間参照ピクチャのリストの各々で特有のものであり、前記復号することは、同じまたは類似のシーンの異なるビューポイントのマルチビューコンテンツに対応する復号されたピクチャを少なくとも1つのバッファに格納することを含み、前記少なくとも1つのバッファは、前記異なるビューポイントの各々に個々のバッファを含み、前記ビュー間参照ピクチャのリスト中の参照ピクチャは、前記スライスヘッダに現れる順序と同じ順序で配列され、前記スライスヘッダ内の構文は、ビュー間予測のためのコーディングタイプを示すために使用される、ビデオデコーダ。
前記2つのビュー間参照ピクチャのリストは、国際標準化機構/国際電気標準会議動画専門グループ4パート10の高度動画像圧縮符号化標準/国際電気通信連合の電気通信部門によるH.264の勧告のList0およびList1とは異なる、請求項1に記載のビデオデコーダ。
【発明を実施するための形態】
【0020】
本発明は、添付の例示的な図と併せてよりよく理解されることが可能である。
【0021】
本発明は、マルチビュービデオ符号化の方法および装置を対象とする。
【0022】
本記述は、本発明の原理を説明する。したがって、当業者は、本明細書に明確に記載または表示されていないが、本発明の原理を実現し、本発明の趣旨と範囲内に含まれる様々な構成を考案することができるであろうと認識される。
【0023】
本明細書に列挙したあらゆる例および仮定的用語は、読者が本発明の原理および発明者によって与えられる概念を理解して当技術を促進する助けとする教育上の目的のためであり、このような具体的に列挙した例および条件への限定ではないと解釈されたい。
【0024】
さらに、本発明の原理、態様および実施形態、並びに、その特定の例を列挙する本明細書中のあらゆる記載は、その構造的均等物と機能的均等物を共に包含するものである。さらに、このような均等物は、現在知られている均等物および将来開発される均等物、すなわち構造にかかわらず同じ機能を行うように開発されるいかなる要素をも含むものである。
【0025】
したがって、例えば、当業者には、本明細書に示したブロック図は本発明の原理を実現する例示的回路の概念図を表すことが理解されるであろう。同様に、コンピュータまたはプロセッサが明確に示されているかどうかにかかわらず、いかなるフローチャート、流れ図、状態遷移図、擬似コードなども、実質的にコンピュータ可読媒体で表示されてコンピュータまたはプロセッサによって実行されることが可能である様々なプロセスを表すことが理解されるであろう。
【0026】
図に示した様々な要素の機能は、専用のハードウェア、および適切なソフトウェアと関連してソフトウェアを実行することができるハードウェアを使用して提供されることが可能である。プロセッサによって提供される場合、この機能は、単一の専用のプロセッサによって、単一の共有プロセッサによって、またはいくつかを共有することができる複数の個々のプロセッサによって、提供されることが可能である。さらに、「プロセッサ」または「コントローラ」という用語の明示的な使用は、ソフトウェアを実行することができるハードウェアを排他的に指すと解釈されるべきではなく、暗に、デジタル信号プロセッサ(「DSP」)のハードウェア、ソフトウェアを格納するリードオンリーメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、および不揮発記憶装置を含む場合がある。
【0027】
また、従来型および/またはカスタム型の他のハードウェアを含む場合もある。同様に、図に示したいかなるスイッチも、単に概念上のものである。これらの機能は、プログラム論理の動作によって、専用論理によって、プログラム制御と専用論理の相互作用によって、または手動でも実行されることが可能であり、特定の技術は、状況からより具体的に理解されるように実装者によって選択可能である。
【0028】
特許請求の範囲では、特定の機能を行う手段として表されるいかなる要素も、この機能を行ういかなる方法をも包含するものとし、例えば、a)この機能を実行する回路素子の組合せ、または、b)この機能を実行する、ソフトウェアを実行するための適切な回路と結合される、ファームウェア、マイクロコードなどを含む任意の形態の該ソフトウェアを含む。このような特許請求の範囲によって定義される本発明は、説明される様々な手段によって提供される機能が、特許請求の範囲が要求する方法で組み合わされ、1つにまとめられるということに属する。したがって、これらの機能を提供することができるいかなる手段も、本明細書に示した手段と同等であるとみなす。
【0029】
本明細書における、本原理の「1つの実施形態」または「一実施形態」への言及は、本実施形態と関連して説明した特定の特徴、構造、特性、その他が、本原理の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書にわたって様々な箇所で現れる「1つの実施形態では」または「一実施形態では」という語句は、必ずしもすべて同じ実施形態を指しているとは限らない。
【0030】
図1を参照すると、全体として参照符号100で例示的なマルチビュービデオ符号化(MVC)エンコーダを示している。エンコーダ100は、出力を変換器110の入力と通信(signal communication)で接続された結合器105を含む。変換器110の出力は、量子化器115の入力と通信で接続されている。量子化器115の出力は、エントロピ符号器120の入力および逆量子化器125の入力と通信で接続されている。逆量子化器125の出力は、逆変換器130の入力と通信で接続されている。逆変換器130の出力は、結合器135の第1の非反転入力と通信で接続されている。結合器135の出力は、イントラ予測器145の入力およびデブロッキングフィルタ150の入力と通信で接続されている。デブロッキングフィルタ150の出力は、(ビューi用)参照ピクチャ記憶装置155の入力と通信で接続されている。参照ピクチャ記憶装置155の出力は、動き補償器175の第1の入力および動き推定器180の第1の入力と通信で接続されている。動き推定器180の出力は、動き補償器175の第2の入力と通信で接続されている。
【0031】
(その他のビュー用)参照ピクチャ記憶装置160の出力は、視差/照度推定器(disparity/illumination estimator)170の第1の入力および視差/照度補償器165の第1の入力と通信で接続されている。視差/照度推定器170の出力は、視差/照度補償器(disparity/illumination compensator)165の第2の入力と通信で接続されている。
【0032】
エントロピ符号器120の出力は、エンコーダ100の出力として利用可能である。結合器105の非反転入力は、エンコーダ100の入力として利用可能であり、視差/照度推定器170の第2の入力、および動き推定器180の第2の入力と通信で接続されている。スイッチ185の出力は、結合器135の第2の非反転入力、および結合器105の非反転入力と通信で接続されている。スイッチ185は、動き補償器175の出力と通信で接続された第1の入力と、視差/照度補償器165の出力と通信で接続された第2の入力と、イントラ予測器145の出力と通信で接続された第3の入力とを含む。
【0033】
モード判定モジュール140は、出力をスイッチ185に接続され、スイッチ185によってどの入力が選択されるかを制御するようになっている。
【0034】
図2を参照すると、全体として参照符号200で例示的なマルチビュービデオ符号化(MVC)デコーダを示している。デコーダ200は、出力を逆量子化器210の入力と通信で接続されたエントロピ復号器205を含む。逆量子化器の出力は、逆変換器215の入力と通信で接続されている。逆変換器215の出力は、結合器220の第1の非反転入力と通信で接続されている。結合器220の出力は、デブロッキングフィルタ225の入力およびイントラ予測器230の入力と通信で接続されている。デブロッキングフィルタ225の出力は、(ビューi用)参照ピクチャ記憶装置240の入力と通信で接続されている。参照ピクチャ記憶装置240の出力は、動き補償器235の第1の入力と通信で接続されている。
【0035】
(その他のビュー用)参照ピクチャ記憶装置245の出力は、視差/照度補償器250の第1の入力と通信で接続されている。
【0036】
エントロピ符号器205の入力は、デコーダ200への入力として利用可能であり、残りのビットストリームを受信する。さらに、モードモジュール260の入力も、デコーダ200への入力として利用可能であり、制御構文(control syntax)を受信してスイッチ255によってどの入力が選択されるかを制御する。さらに、動き補償器235の第2の入力が、デコーダ200の入力として利用可能であり、動きベクトルを受信する。また、視差/照度補償器250の第2の入力が、デコーダ200の入力として利用可能であり、視差ベクトルおよび照度補償構文を受信する。
【0037】
スイッチ255の出力は、結合器220の第2の非反転入力と通信で接続されている。スイッチ255の第1の入力は、視差/照度補償器250の出力と通信で接続されている。スイッチ255の第2の入力は、動き補償器235の出力と通信で接続されている。スイッチ255の第3の入力は、イントラ予測器230の出力と通信で接続されている。モードモジュール260の出力は、スイッチ255と通信で接続され、スイッチ255によってどの入力が選択されるかを制御する。デブロッキングフィルタ225の出力は、デコーダの出力として利用可能である。
【0038】
マルチビュービデオ符号化(MVC)は、マルチビューシーケンスを符号化するための圧縮の構成である。マルチビュービデオ符号化(MVC)シーケンスは、異なるビューポイントから同じシーンを取り込む2つ以上のビデオシーケンスのセットである。
【0039】
マルチビュービデオソースは、同じシーンの複数のビューを含むので、複数のビューの画像間には高い相関関係がある。したがって、時間冗長度(temporal redundancy)に加えてビュー冗長度(view redundancy)を利用することができ、異なるビューポイントにわたってビュー予測を行うことによってこれを実行する。結果として、本明細書に記載した本発明の原理の実施形態は、時間予測とビュー間予測の両方を含むことができる。
【0040】
説明のために、本原理の実施形態を、本明細書ではMPEG−4 AVC標準に関して説明する。しかしながら、本発明は、MPEG−4 AVC標準に限定されず、本原理の教示が本明細書で提供されると、当技術分野および関連技術分野の専門家は、本原理の範囲を維持しながら本原理を適用することができる、マルチビュービデオ符号化が可能であるこのビデオ符号化標準およびその他のビデオ符号化標準を企図するであろうことが理解される。MPEG−4 AVC標準に関して、本明細書に説明された本原理の実施形態は、例えばデブロッキングフィルタの変更、および/または構文のエントロピ符号化を含むことができる。
【0041】
一実施形態では、スライスレベルにおいて、ビュー間予測リストを導入して視差予測を可能にし、ビュー間符号化タイプの構文を付加して視差予測の符号化タイプを示す。マクロブロック(MB)レベルでは、フラグ構文を導入して、各信号ブロックに動き補償または視差補償が用いられているかどうかを示す。さらに、MPEG−4 AVC標準を対象とする実施形態で利用することができる他の変更は、例えばデブロッキングフィルタ、コンテキスト適応型2値算術符号化(Context Adaptive Binary Arithmetic Coding、CABAC)の新しい構文のコンテキスト、並びに、パラメータセットレベルおよびスライスヘッダレベルの追加構文を含む。
【0042】
次に、本原理の一実施形態によるビュー間符号化タイプおよびビュー間参照リストに関して説明する。
【0043】
MPEG−4 AVC標準は、2つの予測リスト、List0およびList1を形成することにより、フレーム間予測を行う。したがって、List0の1つの参照ピクチャのみを用いることにより、または2つの参照ピクチャ、すなわち各リストから1つずつを用いることにより、現フレームの画像ブロックを補償することができる。スライスヘッダでは、slice_type構文が送信されて、各スライスの時間的符号化タイプを示す。slice_type=P_SLICEのとき、List0のみが、動き補償に使用される。slice_type=B_SLICEのとき、List0およびList1の両方が、動き補償に使用されることが可能である。
【0044】
異なるビューポイント間でビュー間予測を可能にするために、本原理の一実施形態は、2つの新しい予測リスト、ViewList0およびViewList1を使用することを含む。ViewList0/ViewList1のピクチャは、現在のビューポイント以外のカメラビューからの参照ピクチャである。スライスヘッダの新しい構文view_slice_typeは、ビュー間予測の符号化タイプを示すために使用される。例えば、特定のスライスが、slice_type=B_SLICEおよびview_slice_type=P_SLICEを有する場合、このスライスのマクロブロック(MB)は、B_SLICE符号化タイプとして時間的に符号化されるか、P_SLICE符号化タイプとしてビュー間符号化されることが可能である。
【0045】
MPEG−4 AVC標準フレームワークでビュー間予測を可能にする代替的方法は、新しいビュー予測リストおよびビュー間符号化タイプを導入せずに、リストすなわちList0/List1の他のビューから参照ピクチャを挿入することを含む。しかしながら、第1の手法の利点は、次のようなものである。第1の手法の1つの利点は、ViewList0/ViewList1の参照ピクチャが、ビュー間参照を含むだけであるので、ref_idxを送信することは、同じリストに同一ビュー参照とビュー間参照とを共に有するほどビットを費やさないということである。第1の手法の別の利点は、2つの新しいリスト、ViewList0/ViewList1を有することで、時間的予測およびビュー間予測を与える個々の方法を提供することである。これは、List0/List1が時間的参照およびビュー間参照を共に含む場合に関し、したがってMPEG−4 AVC標準の参照ピクチャのリストの構成を再命令する処理は、変更されることが必要となり、必然的により複雑になる。
【0046】
一実施形態では、各スライスのビュー間参照リストは、次のルールに従って形成されることが可能である。第1のルールに関しては、スライスヘッダにおいて、ビュー間参照ピクチャの数およびそのview_id’sが、ViewList0およびViewList1に送られる。このview_id’sは、2つのビュー間予測リストの各々で特有のものである。第2のルールに関しては、ビュー間予測リストの参照ピクチャが、スライスヘッダに見えるのと同じ順序で配列されている。参照される各ビューについて、最も近いピクチャ順序カウント(Picture Order Count、POC)数を有する参照ピクチャが、現スライスのビュー間予測リストで使用される。
【0047】
ビュー間参照ピクチャをさらに柔軟に処理することができるように、追加の参照再命令構文を含むことができる。
【0048】
図3を参照すると、全体として参照符号300でマルチビュービデオコンテンツに参照リストを構成する例示的な方法を示している。この方法300は、判定ブロック310へ制御を渡す開始ブロック305を含む。判定ブロック310は、現スライスタイプがPスライスまたはBスライスであるかどうかを判定する。そうである場合、制御は機能ブロック315へ渡される。そうでない場合、制御は判定ブロック330へ渡される。
【0049】
機能ブロック315は、時間的参照を用いてList0を構成し、判定ブロック320へ制御を渡す。判定ブロック320は、現スライスタイプがBスライスであるかどうかを判定する。そうである場合、制御は機能ブロック325へ渡される。そうでない場合、制御は判定ブロック330へ渡される。
【0050】
機能ブロック325は、時間的参照を用いてList1を構成し、判定ブロック330へ制御を渡す。
【0051】
判定ブロック330は、現在のビューポイントのスライスタイプがPスライスまたはBスライスであるかどうかを判定する。そうである場合、制御は機能ブロック335へ渡される。そうでない場合、制御はループ端ブロック(loop limit block)350へ渡される。
【0052】
機能ブロック335は、ビュー間参照を用いてViewList0を構成し、判定ブロック340へ制御を渡す。判定ブロック340は、現在のビューポイントのスライスタイプがBスライスであるかどうかを判定する。そうである場合、制御は機能ブロック345へ渡される。そうでない場合、制御はループ端ブロック350へ渡される。
【0053】
機能ブロック345は、ビュー間参照を用いてViewList0を構成し、ループ端ブロック350へ制御を渡す。
【0054】
ループ端ブロック350は、可変mb=0からMacroBlocksInPic−1を用いてループの範囲を設定することを含み、各マクロブロックでループを開始し、機能ブロック355へ制御を渡す。機能ブロック355は、List0/List1を用いて現マクロブロックを符号化し、判定ブロック360へ制御を渡す。判定ブロック360は、現在のビューポイントのスライスタイプがPスライスまたはBスライスに等しいかどうかを判定する。そうである場合、制御は機能ブロック365へ渡される。そうでない場合、制御は判定ブロック370へ渡される。
【0055】
機能ブロック365は、ViewList0/ViewList1を用いて現マクロブロックを符号化し、機能ブロック370へ制御を渡す。
【0056】
機能ブロック370は、ベストモードを選択し、mvc_prediction_flagを設定し、機能ブロック375へ制御を渡す。機能ブロック375は、動き/視差ベクトルのバッファ処理を行い、ループ端ブロック380へ制御を渡す。ループ端ブロックがループを終了し、機能ブロック385へ制御を渡す。機能ブロック385は、符号化されたピクチャを復号されたピクチャのバッファ(dpb)に保存し、終了ブロック390へ制御を渡す。
【0057】
各スライスのビュー間予測は、ビュー間符号化タイプおよびビュー予測リストを用いて十分に設定可能であるので、マルチビュービデオ符号化(MVC)コーデックは、任意のビューの符号化順序およびビュースケーラビリティをサポートすることができる。
【0058】
一実施形態では、MBレベルにおいてmvc_pred_flagと呼ばれる新しい構文が、各信号ブロックの符号化に時間的予測またはビュー間予測が使用されるかどうかを示す。mvc_pred_flag=0の場合、slice_typeに応じて動き補償にList0/List1を利用する。mvc_pred_flag=1のとき、view_slice_typeに応じてViewList0/ViewList1を利用する。
【0059】
図4を参照すると、全体として参照符号400で時間的/ビュー間モードの判定を行う例示的方法を示している。この方法400は、判定ブロック410へ制御を渡す開始ブロック405を含む。判定ブロック410は、現スライスタイプがPスライスまたはBスライスであるかどうかを判定する。そうである場合、制御は機能ブロック415へ渡される。そうでない場合、制御は判定ブロック430へ渡される。
【0060】
機能ブロック415は、時間的参照を用いてList0を構成し、判定ブロック420へ制御を渡す。判定ブロック420は、現スライスタイプがBスライスであるかどうかを判定する。そうである場合、制御は機能ブロック425へ渡される。そうでない場合、制御は判定ブロック430へ渡される。
【0061】
機能ブロック425は、時間的参照を用いてList1を構成し、判定ブロック430へ制御を渡す。
【0062】
判定ブロック430は、現在のビューポイントのスライスタイプがPスライスまたはBスライスであるかどうかを判定する。そうである場合、制御は機能ブロック435へ渡される。そうでない場合、制御はループ端ブロック450へ渡される。
【0063】
機能ブロック435は、ビュー間参照を用いてViewList0を構成し、判定ブロック440へ制御を渡す。判定ブロック440は、現在のビューポイントのスライスタイプがBスライスであるかどうかを判定する。そうである場合、制御は機能ブロック445へ渡される。そうでない場合、制御はループ端ブロック450へ渡される。
【0064】
機能ブロック445は、ビュー間参照を用いてViewList0を構成し、ループ端ブロック450へ制御を渡す。
【0065】
ループ端ブロック450は、可変mb=0からMacroBlocksInPic−1を用いてループの範囲を設定することを含み、各マクロブロックでループを開始し、判定ブロック455へ制御を渡す。判定ブロック455は、mvc_prediction_flagが1に等しいかどうかを判定する。そうである場合、制御は機能ブロック460へ渡される。そうでない場合、制御は機能ブロック465へ渡される。
【0066】
機能ブロック460は、ViewList0/ViewList1を用いてマクロブロックを復号し、機能ブロック470へ制御を渡す。
【0067】
機能ブロック465は、List0/List1を用いてマクロブロックを復号し、機能ブロック470へ制御を渡す。
【0068】
機能ブロック470は、動き/視差ベクトルのバッファ処理を行い、ループ端ブロック475へ制御を渡す。ループ端ブロック475がループを終了し、機能ブロック480へ制御を渡す。機能ブロック480は、復号されたピクチャを復号されたピクチャのバッファ(dpb)に保存し、終了ブロック485へ制御を渡す。
【0069】
mvc_pred_dir構文を符号化するために、3つの新しいCABACコンテキストを追加する。コンテキストモデリングは、transform_size_8×8_flag構文と同じものである。
【0070】
MPEG−4 AVC標準におけるマルチビュー拡張機能では、復号されたピクチャのバッファ(dpb)が、複数のビューからの復号されたピクチャを処理することができる必要がある。N個の入力ビューがあるとすると、本原理の一実施形態は、N個の個々のdpbを含むことができる。各dpbは、1つの特定のビューからの復号されたピクチャを格納する。
【0071】
dpbを管理する代替的方法は、すべてのビューのピクチャを単一dpbに入れることである。しかしながら、第1の手法には、次の利点がある。第1の手法の1つの利点は、各ビューが、MPEG−4 AVC標準と同じ復号された参照のマーキング処理を用いた、独自のdpbを有することである。このより簡略化された手法により、同じdpbで異なるビューポイントのピクチャを管理する複雑さを軽減する。第1の手法の別の利点は、時間相関関係が、一般にビュー間相関関係より強力であるので、利用可能な時間的参照フレームの数を削減することが好ましくないことに関連する。各ビューがそのdpbで独自の参照ピクチャを管理すれば、時間的予測は、同時放送の場合と同じ複数の参照フレームの予測能力を有する。
【0072】
従来のビデオ符号化と比較したMVC特有の特徴は、動きと視差とが共存していることである。ビュー間予測の視差ベクトル(DV)に対して、時間的に予測されるブロックは、動きベクトル(MV)を送る必要がある。
【0073】
同じスライスに動きベクトルと視差ベクトルの両方を処理する2つの例示的方法について、本明細書で説明する。しかしながら、本明細書で提供される本発明の教示があれば、当技術および関連技術の専門家は、本発明の範囲を維持しながら、これらの同様の方法およびその他の同様の方法を企図するであろうと理解される。
【0074】
第1の方法では、各ブロックに対して、動きベクトルまたは視差ベクトルを送って格納するが、両方を送って格納しない。動きベクトルまたは視差ベクトルのどちらかが、構文mvc_pred_flagに応じて送られ、格納される。これは、必要となる記憶装置は少なくなるが、結合されたベクトル場は、整合性がない。
【0075】
第2の方法では、各ブロックに、動きベクトルと視差ベクトルを共に格納する。これは、両方のベクトルを送るか、または単に一方を送り、もう一方をベクトル場の補間を用いて埋めることで達成されることが可能である。この手法は、より多くの記憶領域を利用するが、動きおよび視差フィールドの両方の整合性をよりよく保存することができる。
【0076】
第1の方法の例示的実施形態について、
図5と関連して示して説明する。第2の方法の例示的実施形態について、
図6と関連して示して説明する。
【0077】
図5を参照すると、全体として参照符号500で、マルチビュービデオコンテンツに対応する同じスライスに動きベクトルおよび視差ベクトルを処理する例示的方法が示されている。この方法500は、判定ブロック510へ制御を渡す開始ブロック505を含む。判定ブロック510は、mvc_pred_flagが0に等しいかどうかを判定する。そうである場合、制御は機能ブロック515へ渡される。そうでない場合、制御は判定ブロック520へ渡される。機能ブロック515は、視差ベクトル予測子(display vector predictor)を形成し、視差ベクトルDVを処理し、視差ベクトルDVをVectorBufferに格納し、終了ブロック525へ制御を渡す。
【0078】
機能ブロック520は、動きベクトル予測子(motion vector predictor)を形成し、動きベクトルMVを処理し、動きベクトルMVをVectorBufferに格納し、終了ブロック525へ制御を渡す。
【0079】
図6を参照すると、全体として参照符号600で、マルチビュービデオコンテンツに動きベクトルおよび視差ベクトルを処理する別の方法を示している。この方法600は、機能ブロック610へ制御を渡す開始ブロック605を含む。機能ブロック610は、視差ベクトル予測子を形成し、視差ベクトルDVを処理し、視差ベクトルDVをVectorBuffer1に格納し、機能ブロック615へ制御を渡す。機能ブロック615は、動きベクトル予測子を形成し、動きベクトルMVを処理し、動きベクトルMVをVectorBuffer2に格納し、終了ブロック620へ制御を渡す。
【0080】
同じスライスの符号化に動きベクトルと視差ベクトルとを共に有する意味は、次の側面、すなわち(1)動き/視差ベクトルの予測符号化と、(2)DirectおよびSkipモードとに現れる。
【0081】
MPEG−4 AVC標準では、動きベクトルの成分は、隣接ブロックから中央値または方向予測のいずれかを用いて差分符号化される。マルチビュービデオ符号化では、隣接ブロックは現ブロックとは異なる予測方向を有する可能性がある。動き/視差ベクトルの符号化におけるビットを節約するためには、最も相関性のある情報を用いて予測子を形成することが好ましい。隣接ブロックに利用可能である動きベクトルと視差ベクトルが共にあるかどうかに応じて、第1の方法では、同じ予測方向を有する隣接ブロックのみを使用し、第2の方法では、動きベクトルの予測を形成する際に隣接ブロックの動きベクトルのみを使用し、視差予測を形成する際に隣接ブロックの視差ベクトルのみを使用する。
【0082】
視差フィールドは、通常時間次元で不変であるので、空間的隣接ブロックの他に、時間的に同一場所に配置されるブロックを用いて視差予測を向上させることができる。
【0083】
MPEG−4 AVC標準のSkipおよびDirectモードは、動きベクトルを送信することなく動きを表すことができるため、隣接するマクロブロック間にある時空相関関係をより有効に使う効果的な符号化ツールである。マルチビュービデオ符号化では、付加的なビュー間相関関係を考慮するために、これらのモードが適用されるべきである。
【0084】
P_Skipモードでは、復元信号は、List0のインデックス0に位置するピクチャを参照するP_16×16マクロブロックタイプの予測信号と同様に取得される。P_Skipマクロブロックを復元するために使用される動きベクトルは、16×16ブロックの動きベクトル予測子と同様である。MVCでは、上述の動き/視差ベクトル予測子の適用が、P_Skipモードをより有用にするのに役立つ。
【0085】
B_SLICE符号化については、B_Skip/B_Direct_16×16/B_Direct_8×8モードが、動きと視差を結びつけることを考えるように適合されるべきである。MPEG−4 AVC標準では、2つの異なるDirectモード、すなわち時間Directおよび空間Directがサポートされている。
【0086】
時間Directモードでは、動きベクトルは、第1のList1参照で同一位置から導かれる。第1のList1参照が視差予測であるとき、システムは他のList1参照(ref_idx>0)で同一位置にある動きベクトルを探すか、または空間的動きベクトル予測子を利用することができる。
【0087】
空間Directモードでは、動きベクトルは、P_SKIPにより用いられる同様の方法で、ただしList0/List1を共に考慮に入れて導かれる。P_SKIPで行われた同じ適合は、List1で拡張されることも可能である。
【0088】
表1〜4は、本発明の原理の様々な実施形態による構文を含むマルチビュービデオ符号化の様々な構文を示している。表1は、マルチビュービデオ符号化のシーケンスパラメータセットのRBSP構文を示している。表2は、マルチビュービデオ符号化のピクチャパラメータセットのRBSP構文を示している。表3は、マルチビュービデオ符号化のスライスヘッダの構文を示している。表4は、マルチビュービデオ符号化のマクロブロック層の構文を示している。
【0093】
次に、いくつかについては上述したが、本発明の多くの付随する利点/特徴のいくつかについて説明する。例えば、1つの利点/特徴は、2つのビュー間参照ピクチャのリストのうちの少なくとも1つを利用してピクチャ中のブロックを符号化するエンコーダを含むビデオエンコーダである。このピクチャは、マルチビュービデオコンテンツに対応し、同じまたは類似のシーンに対して異なるビューポイントを有するピクチャのセットのうちの1つである。このピクチャは、異なるビューポイントのうち現在のビューポイントを表す。この2つのビュー間参照ピクチャのリストは、異なるビューポイントのうち現在のビューポイント以外のビューポイントを有する参照ピクチャに対応する。
【0094】
別の利点/特徴は、2つのビュー間参照ピクチャのリストが、国際標準化機構/国際電気標準会議動画専門グループ4パート10の高度動画像圧縮符号化標準/国際電気通信連合の電気通信部門によるH.264の勧告のList0およびList1とは異なる、上述したビデオエンコーダである。
【0095】
さらに別の利点/特徴は、同じまたは類似のシーンの異なるビューポイントのマルチビューコンテンツに対応する復号されたピクチャを格納する少なくとも1つのバッファを含むビデオエンコーダである。
【0096】
さらに、別の利点/特徴は、少なくとも1つのバッファが異なるビューポイントの各々に個々のバッファを含む、上述したビデオエンコーダである。
【0097】
本発明のこれらのおよびその他の特徴並びに利点は、本明細書の教示に基づいて当業者によって容易に確認されることが可能である。本発明の教示は、ハードウェア、ソフトウェア、ファームウェア、専用プロセッサ、またはその組合せの様々な形態で実装されることが可能であることを理解されたい。
【0098】
最も好ましくは、本発明の教示は、ハードウェアとソフトウェアの組合せとして実装される。さらに、ソフトウェアは、プログラム記憶装置に実体的に組み込まれたアプリケーションプログラムとして実装されることが可能である。アプリケーションプログラムは、任意の好適なアーキテクチャを含むマシンにアップロードされ、実行されることが可能である。好ましくは、マシンは、1つまたは複数の中央演算処理装置([CPU」)、ランダムアクセスメモリ([RAM」)、および入力/出力(「I/O」)インターフェースなどのハードウェアを有するコンピュータプラットフォームに実装される。またコンピュータプラットフォームは、オペレーティングシステムおよびマイクロ命令コードを含む。本明細書に記載した様々な処理および機能は、マイクロ命令コードの一部、またはアプリケーションプログラムの一部、またはその任意の組合せとすることができ、CPUによって実行されることが可能である。また、追加のデータ記憶装置および印刷装置など、他の様々な周辺装置が、コンピュータプラットフォームに接続されることが可能である。
【0099】
さらに、添付の図面に描かれた構成システムの構成要素および方法のいくつかは、ソフトウェアに実装されることが好ましいので、システム構成要素またはプロセスの機能ブロック間の実際の関係は、本発明がプログラムされる方法に応じて異なる可能性があることを理解されたい。本明細書の教示があれば、当業者は、本発明のこれらのおよび同様の実装または構成を企図することができるであろう。
【0100】
添付の図面を参照して説明のための実施形態を記載したが、本発明は、これらの厳密な実施形態に限定されず、本発明の範囲または趣旨から逸脱することなく、当業者によって様々な変更および修正がもたらされることが可能であると理解されたい。このような変更および修正はすべて、添付の特許請求の範囲に示す本発明の範囲内に含まれるものとする。