(57)【特許請求の範囲】
【請求項１】
同一の光景をそれぞれが表す少なくとも２つのビューを備えるカレントイメージ（Ｉｋ）をデコーディングする方法であって、前記デコーディング方法は、視差動きベクトルを導出するステップ（Ｄ３）を備え、前記デコーディング方法は、前記導出するステップの間、
視差動きベクトルの少なくとも１つのリスト（Ｌ１）を構築するステップ（Ｓ１）であって、前記リストのいずれか１つに含まれる少なくとも２つの視差動きベクトルは、少なくとも２つの異なる推定方法に従ってそれぞれ取得されていて、前記少なくとも２つの異なる推定方法の各々は、カレントブロックの１つの視差動きベクトルを選択するための方法である、ステップと、
前記リストの前記少なくとも２つの視差動きベクトルに関数を適用するステップ（Ｓ３）と
を備えることを特徴とするデコーディング方法。
【請求項２】
前記デコーディング方法の間、視差動きベクトルの複数のリストが構築されるとき、前記複数のリストは、少なくとも２つの異なる推定方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルの少なくとも１つのリストを備え、前記適用するステップは、前記リストの前記少なくとも２つの視差動きベクトルと、少なくとも１つの他のリストの少なくとも１つの視差動きベクトルとの両方に関数を適用するステップを含む、請求項１に記載のデコーディング方法。
【請求項３】
前記デコーディング方法の間、視差動きベクトルの複数のリストが構築されるとき、前記複数のリストは、少なくとも２つの異なる推定方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルの少なくとも１つのリストを備え、前記適用するステップは、
第１の視差動きベクトルを出力する、前記リストの前記少なくとも２つの視差動きベクトルに関数を適用するステップと、
複数の他の視差動きベクトルを出力する、その他のリストの各々の少なくとも１つの視差動きベクトルに関数を適用するステップと、
出力された前記第１の視差動きベクトルと、出力されたその他の視差動きベクトルとの両方に関数を適用するステップと
を含む、請求項１に記載のデコーディング方法。
【請求項４】
関数を適用する前記ステップの前に、少なくとも１つのリストにおいて、視差動きベクトルの数を制限するステップ（Ｓ２）を備える、請求項１乃至３のいずれか一項に記載のデコーディング方法。
【請求項５】
前記制限するステップは、
視差動きベクトルの少なくとも１つのリストにおいて、少なくとも２つの視差動きベクトルが、それらの大きさおよび方向に関して冗長であるかを検査するステップと、
検査がポジティブである場合、前記リストから、前記少なくとも２つのベクトルの１つを削除するステップと
を含む、請求項４に記載のデコーディング方法。
【請求項６】
同一の光景をそれぞれが表す少なくとも２つのビューを備えるカレントイメージ（Ｉｋ）をデコーディングするデバイス（ＤＯ）であって、前記デバイスは、請求項１乃至５のいずれか一項に記載のデコーディング方法を実行するように適合され、前記デコーディングデバイスは、視差動きベクトル導出デバイス（ＤＥＲ）を備え、前記導出デバイスは、
視差動きベクトルの少なくとも１つのリストを構築する手段（ＣＴＲ）であって、前記リストのいずれか１つは、少なくとも２つの異なる推定方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルを備え、前記少なくとも２つの異なる推定方法の各々は、カレントブロックの１つの視差動きベクトルを選択するための方法である、手段と、
前記リストの前記少なくとも２つの視差動きベクトルに関数を適用する手段（ＡＰＰ）と
を備えることを特徴とするデバイス。
【請求項７】
コンピュータプログラムであって、コンピュータ上で前記コンピュータプログラムが実行されると、請求項１乃至５のいずれか一項に記載のデコーディング方法のステップを実行するプログラムコード命令を備える、コンピュータプログラム。
【請求項８】
コンピュータ上で実行されると、請求項１乃至５のいずれか一項に記載のデコーディング方法のステップを実行するプログラムコード命令を備えるコンピュータプログラムが記憶されたコンピュータ可読記憶媒体。
【請求項９】
同一の光景をそれぞれが表す少なくとも２つのビューを備えるカレントイメージ（Ｉｋ）をコーディングする方法であって、前記コーディング方法は、視差動きベクトルを導出するステップ（Ｃ３）を備え、前記コーディング方法は、前記導出するステップの間、
視差動きベクトルの少なくとも１つのリスト（Ｌ１）を構築するステップ（Ｓ１）であって、前記リストのいずれか１つに含まれる少なくとも２つの視差動きベクトルは、少なくとも２つの異なる推定方法に従ってそれぞれ取得されていて、前記少なくとも２つの異なる推定方法の各々は、カレントブロックの１つの視差動きベクトルを選択するための方法である、ステップと、
前記リストの前記少なくとも２つの視差動きベクトルに関数を適用するステップ（Ｓ３）と
を備えることを特徴とするコーディング方法。
【請求項１０】
前記コーディング方法の間、視差動きベクトルの複数のリストが構築されるとき、前記複数のリストは、少なくとも２つの異なる推定方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルの少なくとも１つのリストを備え、前記適用するステップは、前記リストの前記少なくとも２つの視差動きベクトルと、少なくとも１つの他のリストの少なくとも１つの視差動きベクトルとの両方に関数を適用するステップを含む、請求項９に記載のコーディング方法。
【請求項１１】
前記コーディング方法の間、視差動きベクトルの複数のリストが構築されるとき、前記複数のリストは、少なくとも２つの異なる推定方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルの少なくとも１つのリストを備え、前記適用するステップは、
第１の視差動きベクトルを出力する、前記リストの前記少なくとも２つの視差動きベクトルに関数を適用するステップと、
複数の他の視差動きベクトルを出力する、その他のリストの各々の少なくとも１つの視差動きベクトルに関数を適用するステップと、
出力された前記第１の視差動きベクトルと、出力されたその他の視差動きベクトルとの両方に関数を適用するステップと
を含む、請求項９に記載のコーディング方法。
【請求項１２】
関数を適用する前記ステップの前に、少なくとも１つのリストにおいて、視差動きベクトルの数を制限するステップ（Ｓ２）を備える、請求項９乃至１１のいずれか一項に記載のコーディング方法。
【請求項１３】
前記制限するステップは、
視差動きベクトルの少なくとも１つのリストにおいて、少なくとも２つの視差動きベクトルが、それらの大きさおよび方向に関して冗長であるかを検査するステップと、
検査がポジティブである場合、前記リストから、前記少なくとも２つのベクトルの１つを削除するステップと
を含む、請求項１２に記載のコーディング方法。
【請求項１４】
同一の光景をそれぞれが表す少なくとも２つのビューを備えるカレントイメージ（Ｉｋ）をコーディングするデバイス（ＣＯ）であって、前記デバイスは、請求項９乃至１３のいずれか一項に記載のコーディング方法を実行するように適合され、前記コーディングデバイスは、視差動きベクトル導出デバイス（ＤＥＲ＿ＣＯ）を備え、前記導出デバイスは、
視差動きベクトルの少なくとも１つのリストを構築する手段（ＣＴＲ）であって、前記リストのいずれか１つは、少なくとも２つの異なる推定方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルを備え、前記少なくとも２つの異なる推定方法の各々は、カレントブロックの１つの視差動きベクトルを選択するための方法である、手段と、
前記リストの前記少なくとも２つの視差動きベクトルに関数を適用する手段（ＡＰＰ）と
を備えることを特徴とするデバイス。
【請求項１５】
コンピュータプログラムであって、コンピュータ上で前記コンピュータプログラムが実行されると、請求項９乃至１３のいずれか一項に記載のコーディング方法のステップを実行するプログラムコード命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概して、３次元（３Ｄ）におけるイメージ処理の分野に関し、特に、３Ｄデジタルイメージおよび一連の３Ｄデジタルイメージのコーディングおよびデコーディングに関する。それは特に、異なるカメラからのイメージのコーディング／デコーディングを実行する３Ｄビデオアプリケーションに関するが、それに限定されない。
【０００２】
本発明を特に、現在のＡＶＣおよびＨＥＶＣビデオコーダならびにそれらの拡張（ＭＶＣ、３Ｄ−ＡＶＣ、ＭＶ−ＨＥＶＣ、３Ｄ−ＨＥＶＣなど）において実行されるビデオコーディングと、対応するデコーディングとに適用することができるが、それらに限定されない。
【背景技術】
【０００３】
単一の立体視装置の２つの異なるカメラによって記録される、同一の光景（ステレオフォーマット）の２つのビューを多重化することによって、ビデオの３Ｄ表現を取得することができる。
【０００４】
２つのタイプのコーディング、ＭＦＣおよびＭＶＣ（それぞれ「マルチビューフレーム互換コーディング」および「マルチビュービデオコーディング」）は概して、２つのビューの間に存在する冗長性を利用することによって、２つのビューから構成されるイメージをコード化するのに使用される。
【０００５】
現在は、ステレオコーディングフォーマットが市場を支配しているが、３ＤＴＶまたはＦＴＶなどの新たな３Ｄビデオサービスの開発は、１つの３Ｄデバイス上で２以上のビューを同時に多重化することによって取得することができる、３次元光景のより流動的な表現を必要とする。この目的を達成するために、ＭＶＶ（「マルチビュービデオ」）フォーマットに従って、ビューの異なるポイントからの少なくとも３つのイメージを取得、エンコード、次いで送信することができ、かつそれらのイメージをコード化するためにＭＶＣコーディングを使用することができる。しかしながら、特にビューのポイントの数が多いときに、ＭＶＣコーディングに関連するコストが高い。
【０００６】
ＭＶＤ（「マルチビュービデオプラス深度：Ｍｕｌｔｉｖｉｅｗ  Ｖｉｄｅｏ＋Ｄｅｐｔｈ」）と称される、新たなビデオコーディングフォーマットが現在開発中である。このフォーマット従って、テクスチャカメラに加えて、深度カメラが使用される。所与のイメージの各テクスチャ成分は、そのイメージの深度成分と関連付けられる。コーディング、次いで送信の後、再構築されたテクスチャおよび深度成分を、必要数の中間ビューを生成するシンセサイザに送信することができる。深度成分の利点は、それらが純粋に輝度チャネルから構成されていること、およびそれらが主に、境界によって分離された滑らかな領域から構成されていることである。よって、それらは、テクスチャ成分よりもコード化するのにコストがかからない。さらに、コーディングの効率性を改善するために、例えば、３ＤＶＣ（「３Ｄビデオコーディング」）コーデックによって、ＭＶＤフォーマットに従って、２つのテクスチャ成分の間または２つの深度成分の間の相互関係、およびテクスチャ成分と深度成分との間の相互関係を利用することができる。
【０００７】
さらに、標準は、再度、コーディングの効率性を改善するために、既にコード化、次いでデコード化されたブロックからのコーディング情報に応じて、カレントブロックに対するコーディング情報の予測を提供する。
【０００８】
１つのタイプのコーディング情報は、例えば、前の時点におけるこの同一のビューに対して、現在の時点におけるビューの動きを表す、一時的動きベクトルである。
【０００９】
ＡＭＶＰ（「アドバンスド動きベクトル予測：Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ」）モードは、カレントビューのカレントブロックの一時的動きベクトルを予測するための候補となる一時的動きベクトルのリストを導入する。カレントブロックの動きベクトルと、ビットレート歪み基準に関するリストの最良候補一時的動きベクトルとの間の差異（残差）、およびこの最良候補ベクトルをシグナリングするインデックスのみが、デコーダに送信され、よってカレントブロックの一時的動きベクトルに関連する情報の送信のコストを削減する。
【００１０】
ＭＥＲＧＥモードは、例えば、一時的動きベクトルなどの、カレントブロックのコーディング情報項目を予測することを回避する。ＭＥＲＧＥモードは実際には、カレントビューのカレントブロックが、カレントブロックの隣接ブロックとそれぞれ関連付けられた一時的動きベクトルを含むことができる候補一時的動きベクトルのリストから選択された一時的動きベクトルから直接継承することを可能にし、前記隣接ブロックは既にコード化、次いでデコード化されており、それともカレントブロックに対応するブロック、および前にコード化、次いでデコード化されたフレームに含まれるブロックにそれぞれ関連付けられている。カレントブロックに対応するそのようなブロックは、従来技術において配列ブロックとも称される。そして、候補ベクトルのリストからの継承によって選択されたカレントブロックの一時的動きベクトルは、同一の原則をデコーディングに適用することができる程度にコード化される必要はない。
【００１１】
現在作成されている３Ｄ−ＨＥＶＣ（「３Ｄ高効率ビデオコーディング」）では、予測および継承の両方を採用する技術が提案されている。
【００１２】
３Ｄ−ＨＥＶＣ規格によって、特に、ＡＭＶＰモードまたはＭＥＲＧＥモードの候補一時的動きベクトルのリストに、他のタイプの動きベクトル、例えば、
−「マルチビュー候補」と称される候補動きベクトルなどの、視差動きベクトルから計算された一時的動きベクトル
−視差動きベクトル
を追加することが可能になる。
【００１３】
それ自体が既知であるように、視差動きベクトルは、インタビュー予測のコンテキストにおいて使用される動きベクトルである。それは、カレント従属ビューのカレントブロックと、前にコード化、次いでデコード化された基本ビューにおけるこのカレントブロックに対応するブロックとの間の動きを表す動きベクトルであり、カレント従属ビューおよび基本ビューは各々、同一の時点における同一の光景を表す。
【００１４】
さらに、そのような視差動きベクトルを、カレントビューにおけるカレントブロックのインタビュー残差予測のコンテキストで使用することができる。この予測に従って、前にコード化、次いでデコード化された基本ビューにおいて、カレント従属ビューのカレントブロックに対応し、かつカレントブロックの視差動きベクトルによって示されるブロックに対して、探索が行われる。この対応するブロックの残差は次いで、カレントブロックの残差を予測するために計算される。
【００１５】
次世代３Ｄ−ＨＥＶＣ規格において使用することができる、異なる視差動きベクトル導出方法が存在する。
【００１６】
ＤＭＤＶ（「深度マップ視差ベクトル：Ｄｅｐｔｈ  Ｍａｐ  Ｄｉｓｐａｒｉｔｙ  Ｖｅｃｔｏｒ」）と称される、第１の方法は、各従属ビューに対して深度マップを推定することと、推定された深度マップにおいて、配列ブロックにおける最大深度値に対応する視差動きベクトルを選択することと、を含む。この第１の方法の欠点は、計算およびメモリの観点で、コストがかかることである。
【００１７】
ＮＢＤＶ（「隣接視差ベクトル：Ｎｅｉｇｈｂｏｒ  Ｄｉｓｐａｒｉｔｙ  Ｖｅｃｔｏｒ」）と称される、第２の方法は、カレントビューのコード化されることになるカレントブロックに対し、５つの空間ブロックを検討することと、カレントビューにおいてカレントブロックおよび２つの一時的ブロックを隣接させることと、前にコード化、次いでデコード化された２つの参照フレームにおいてカレントブロックを隣接させることと、を含む。５つの隣接ブロックは、カレントブロックの直下かつ左に位置するブロックＡ０、ブロックＡ０の直下かつカレントブロックの左下に位置するブロックＡ１、カレントブロックの真上かつ右に位置するブロックＢ０、ブロックＢ０に隣接しかつカレントブロックの真上に位置するブロックＢ１、ならびにカレントブロックの真上かつ左に位置するブロックＢ２である。２つの一時的ブロックは、カレントブロックに対応するブロックの中央に位置するＣＥＮＴＥＲブロック、およびカレントブロックに対応するブロックの真下かつ右に位置するＲＢブロックである。この第２の方法に従った視差動きベクトル導出方法は、ブロックＡ０、Ａ１、Ｂ０、Ｂ１、Ｂ２、ＣＥＮＴＥＲ１（第１の参照フレーム）、ＣＥＮＴＥＲ２（第２の参照フレーム）、ＲＢ１（第１の参照フレーム）およびＲＢ２（第２の参照フレーム）の１つが、視差動きベクトルに関連付けられるかを検査することを含む。そのような検査は、第１の従属ビューに対しては、ＣＥＮＴＥＲ１、ＲＢ１、ＣＥＮＴＥＲ２、ＲＢ２、Ａ１、Ｂ１、Ｂ０、Ａ０、Ｂ２、かつ第２の従属ビューに対しては、ＲＢ１、ＣＥＮＴＥＲ１、ＲＢ２、ＣＥＮＴＥＲ２、Ａ１、Ｂ１、Ｂ０、Ａ０、Ｂ２の特定の順序で実行される。上述した順序の検査において、これらのブロックの１つに対して第１の視差ベクトルが発見されるとすぐに、最後に導出された視差動きベクトルであるものとしてそれが選択される。次いで、検査されることになる静止ブロックが存在する場合でさえ、検査が停止される。
【００１８】
検査が完了すると、視差動きベクトルが発見されないことがある。この場合、ブロックＡ０、Ａ１、Ｂ０、Ｂ１、Ｂ２から検討され、かつＡＭＶＰまたはＭＥＲＧＥモードに従った動き予測を使用してコード化されているブロックに対し、導入部において上記説明したように、このブロックをコード化するためにマルチビュー候補が選択された場合、このブロックに関連付けられた一時的動きベクトルが、視差動きベクトルの導出を含んでいることがある。次いで、第２の方法に従った視差動きベクトル導出方法は、空間ブロックＡ０、Ａ１、Ｂ０、Ｂ１、Ｂ２の１つが、視差動きベクトルから計算された一時的動きベクトルと関連付けられるかを検査することを含む。そのような検査は、Ａ０、Ａ１、Ｂ０、Ｂ１、Ｂ２の特定の順序で実行される。視差動きベクトルから計算された一時的動きベクトルが、上述した順序の検査においてブロックの１つに従って発見されるとすぐに、この一時的動きベクトルを導出するために使用される視差動きベクトルが、最後に導出される視差動きベクトルであるものとして選択される。
【００１９】
この第２の導出方法の欠点は、このケースに従って、発見および読み込まれる第１の視差動きベクトルが、カレントブロックのコーディングまたはデコーディングの効率性を最適化する１つではない可能性があることである。
【００２０】
カレントビューがＭＶＤタイプのフォーマットを有し、かつその深度成分が、ＦＣＯ（「フレキシブルコーディング順序：Ｆｌｅｘｉｂｌｅ  Ｃｏｄｉｎｇ  Ｏｒｄｅｒ」）と称されるツールを使用して、そのテクスチャ成分の前にコード化されている場合に、第３の導出方法を使用することができる。この目的を達成するために、カレントビューのテクスチャ成分のカレントブロックの視差動きベクトルを導出するために、以下のステップ、
−カレントテクスチャ成分と関連付けられた、コード化、次いでデコード化された深度成分において、ブロックの配列深度方向を判定するステップと、
−深度成分において、ブロックの配列深度方向における最大深度値に対応する視差動きベクトルを判定するステップと、
−最終視差動きベクトルとして判定された視差動きベクトルを選択するステップと
が実行される。
【００２１】
そのような導出方法の欠点は、テクスチャおよび深度成分を必然的に含むビューに制限されることである。さらに、例えば、一時的動きベクトルを導出するために使用される視差動きベクトルなど、他のタイプの視差動きベクトルが考慮されない。
【００２２】
第４の導出方法は、上述した第２の方法のＮＢＤＶを使用して取得されている最終視差動きベクトルを補正することを含む。この方法は、ＤｏＮＢＤＶ（深度指向隣接視差ベクトル：Ｄｅｐｔｈ  Ｏｒｉｅｎｔｅｄ  Ｎｅｉｇｈｂｏｒ  Ｄｉｓｐａｒｉｔｙ  Ｖｅｃｔｏｒ）と称される。カレントビューがＭＶＤタイプのフォーマットを有し、かつそのテクスチャ成分が、その深度成分の前にコード化されている場合に、そのような方法が使用される。次いで、最終視差動きベクトルが、カレントビューにおけるカレントテクスチャブロックに対応する、前にコード化、次いでデコードされた基本ビューにおける深度ブロックを判定するために使用される。新たな最終視差動きベクトルＤｏＮＢＤＶは、この判定された深度ブロックにおける最大深度値に対応する１つである。
【００２３】
そのような導出方法の欠点は、テクスチャおよび深度成分を必然的に含むビューに制限されることである。さらに、それは第２の方法から導出されるので、それに特有の欠点を必然的に継承する。
【００２４】
Ｊ．Ｋａｎｇ、Ｙ．Ｃｈｅｎ、Ｌ．Ｚｈａｎｇ  ａｎｄ  Ｍ．Ｋａｒｃｚｅｗｉｃｚによる文献、“３Ｄ−ＣＥ２．ｈ  ｒｅｌａｔｅｄ：Ｅｎｈａｎｃｅｄ  ｄｉｓｐａｒｉｔｙ  ｖｅｃｔｏｒ  ｄｅｒｉｖａｔｉｏｎ”、ＩＴＵ−Ｔ  ＳＧ  １６  ＷＰ  ３  ａｎｄ  ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ  １１  ＪＣＴ３Ｖ−Ｃ００５０によって提案される第５の導出方法は、上述した第２の導出方法を改善することを目的とする。この目的を達成するために、ＣＥＮＴＥＲ１、ＲＢ１、ＣＥＮＴＥＲ２、ＲＢ２、Ａ１、Ｂ１、Ｂ０、Ａ０、Ｂ２（第１の従属ビュー）、またはＲＢ１、ＣＥＮＴＥＲ１、ＲＢ２、ＣＥＮＴＥＲ２、Ａ１、Ｂ１、Ｂ０、Ａ０、Ｂ２（第２の従属ビュー）、の特定の順序でのブロックの検査の間、
−ＳＤＶＣ（「空間視差ベクトル候補：Ｓｐａｔｉａｌ  Ｄｉｓｐａｒｉｔｙ  Ｖｅｃｔｏｒ  Ｃａｎｄｉｄａｔｅｓ」）と称される第１のリストにおける最大３つの空間視差動きベクトルと、
−ＴＤＶＣ（「一時的視差ベクトル候補：Ｔｅｍｐｏｒａｌ  Ｄｉｓｐａｒｉｔｙ  Ｖｅｃｔｏｒ  Ｃａｎｄｉｄａｔｅｓ」）と称される第２のリストにおける最大３つの一時的視差動きベクトルと、
が記憶されることを意図される。
【００２５】
検査が完了すると、いくつかのケースが生じることがある。
【００２６】
第１のケースでは、検査が完了すると、視差動きベクトルが発見されないことがある。このケースでは、Ａ０、Ａ１、Ｂ０、Ｂ１、Ｂ２の順序で、空間ブロックと関連付けられた一時的動きベクトルを導出するために使用される第１の視差動きベクトルを選択することによって、第２の方法と同一の方法で、最終視差動きベクトルが取得される。
【００２７】
第２のケースでは、それがＳＤＶＣまたはＴＤＶＣベクトルであろうと、単一視差動きベクトルが記憶されている。次いで、この単一の記憶されたベクトルが、最終視差動きベクトルとして選択される。
【００２８】
第３のケースでは、２つの視差動きベクトル、すなわち、２つのＳＤＶＣベクトルもしくは２つのＴＤＶＣベクトルのいずれか、または１つのＳＤＶＣベクトルおよび１つのＴＤＶＣベクトル、のみが記憶されている場合、２つのベクトルの大きい方が、最終視差動きベクトルとして選択される。
【００２９】
第４のケースでは、３以上の視差動きベクトルが記憶されている場合、メモリに読み込まれた２つの第１のＴＤＶＣベクトル、およびメモリに読み込まれた第１のＳＤＶＣベクトルに、メディアン関数が適用される。次いで、結果として生じるベクトルが最終視差動きベクトルとして選択される。十分なＴＤＶＣ（それぞれのＳＤＶＣ）ベクトルが存在しない場合、第１のＳＤＶＣ（それぞれのＴＤＶＣ）ベクトルが、メディアン関数に対する入力として使用される。
【００３０】
単一視差動きベクトルのみを保持する第２の導出方法とは逆に、１つまたは２つのリストに含まれる複数の視差動きベクトルから、最終視差動きベクトルの選択が取得されるが、この第５の方法の欠点は、ＴＤＶＣベクトルの第２のリストと同様に、ＳＤＶＣベクトルの第１のリストが、インタビュー予測のコンテキストにおいて使用される視差動きベクトルのみを含むことである。言い換えると、第５の方法に従った導出方法は、複数の統一視差動きベクトルにのみ基づいている。第１のリストおよび第２のリストのいずれも、別のタイプの視差ベクトルを含まない（例えば、一時的動きベクトルがそこから導出される）。したがって、この第５の方法に従った視差動きベクトルの選択は最適ではない。
【発明の概要】
【発明が解決しようとする課題】
【００３１】
本発明の目的の１つは、上述した従来技術の欠点を改善することである。
【００３２】
この目的を達成するために、本発明の１つの目的は、視差動きベクトル導出方法に関する。
【課題を解決するための手段】
【００３３】
そのような導出方法は、
−２つの異なる推定方法に従って、少なくとも２つの視差動きベクトルがそれぞれ取得されている、視差動きベクトルの少なくとも１つのリストを構築するステップと、
−リストの前記少なくとも２つの視差動きベクトルに関数を適用するステップと
を備える点で重要である。
【００３４】
視差ベクトルの少なくとも１つのリストに含まれる視差動きベクトルの多様性を前提として、リストごとに１つのタイプの視差ベクトルのみを提案する、従来技術で実行される選択よりも優れて、最終視差ベクトルの選択がされる。
【００３５】
予測がより信頼でき、かつより正確にされるので、そのような処置は特に、視差動きベクトルが、動きベクトルの組に追加されて、例えば、ＭＶＶまたはＭＶＤタイプのフォーマットを有するカレントイメージの動きを予測するために選択される可能性が高いことが意図される場合に有利であることを証明する。その結果は、カレントイメージのより効率的なコーディングおよびデコーディングである。
【００３６】
そのような処置はまた、導出方法から取得される視差動きベクトルが、マルチビューイメージのビューのカレントブロックの残差を予測するために使用される場合に有利であり、この予測をより信頼でき、かつより正確にもすることを証明する。
【００３７】
特定の実施形態に従って、視差動きベクトルの複数のリストが構築されるとき、そのような複数のリストは、２つの異なる推定方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルの少なくとも１つのリストを備え、上述した適用するステップは、前記リストの少なくとも２つの視差動きベクトル、および少なくとも１つの他のリストの少なくとも１つの視差動きベクトルの両方に関数を適用するステップを含む。
【００３８】
この特定の実施形態の代替の手段として、視差動きベクトルの複数のリストが構築されるとき、そのような複数のリストは、２つの異なる推定方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルの少なくとも１つのリストを備え、上述した適用するステップは、
−第１の視差動きベクトルを出力する、リストの少なくとも２つの視差動きベクトルに関数を適用するステップと、
−複数の他の視差動きベクトルを出力する、その他のリストの各々の少なくとも１つの視差動きベクトルに関数を適用するステップと、
−出力された第１の視差動きベクトルおよび出力された他の視差動きベクトルの両方に関数を適用するステップと
を含む。
【００３９】
そのような処置によって、最終視差ベクトルの取得を最適化するために、視差動きベクトルの複数のリストを提案することによって、視差動きベクトルの選択および多様性を増加させることが可能になる。それらの種々のリストの間で、いくつかのリストが共存することがあり、その一部は、２つの異なる推定方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルを含み、一部のその他は、同一の推定方法に従って取得された視差動きベクトルのみを含む。
【００４０】
別の特定の実施形態に従って、関数を適用するステップの前に、少なくとも１つのリストにおいて、視差動きベクトルの数を制限するステップが実行される。
【００４１】
そのような処置は、コーダおよびデコーダにおいて、計算およびメモリリソースを節約する利点を有する。
【００４２】
この他の特定の実施形態の第１の変形形態に従って、上述した制限するステップは、例えば、視差動きベクトルの少なくとも１つのリストにおいて、ベクトルの数を、最大でＫｉ要素に制限するステップを含む。
【００４３】
この他の特定の実施形態の第２の変形形態に従って、上述した制限するステップは、
−視差動きベクトルの少なくとも１つのリストにおいて、少なくとも２つの視差動きベクトルが、それらの大きさおよび方向に関して冗長であるかを検査するステップと、
−検査がポジティブである場合、２つのベクトルの１つをリストから削除するステップと
を含む。
【００４４】
そのような第２の変形形態によって、検討される視差動きベクトルの少なくとも１つのリストにおいて、大きさおよび方向が同一または類似である視差動きベクトルを削除し、次いで関数がより少ない数の視差ベクトルに適用されることによって、最終視差動きベクトルを取得することを速めることが可能になる。
【００４５】
この他の特定の実施形態の第３の変形形態に従って、制限するステップは、第１の変形形態の制限するステップを実行することに続いてベクトルの数に関して事前に減少されている、視差動きベクトルの少なくとも１つのリストにそれが適用されるという事実によって、第２の変形形態のステップと区別される。
【００４６】
そのような第３の変形形態によって、そのサイズが事前に減少されている視差動きベクトルの少なくとも１つのリストにそれが適用されるので、最終視差動きベクトルを取得することをさらに速めることが可能になる。
【００４７】
本発明はまた、上述した導出方法を実行することが意図される、視差動きベクトル導出デバイスに関する。
【００４８】
そのような導出デバイスは、
−視差動きベクトルの少なくとも１つのリストを構築する手段であって、上述したリストは、２つの異なる推定方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルを備える手段と、
−リストの前記少なくとも２つの視差動きベクトルに関数を適用する手段と
を備える点で重要である。
【００４９】
本発明はまた、同一の光景をそれぞれが表す少なくとも２つのビューを備えるカレントイメージをデコーディングする方法に関し、そのようなデコーディング方法は、視差動きベクトルを導出するステップを備える。
【００５０】
そのようなデコーディング方法は、本発明に従った導出方法に従って、上述した導出ステップが実行される点で重要である。
【００５１】
本発明はまた、同一の光景をそれぞれが表す少なくとも２つのビューを備えるカレントイメージをデコーディングするデバイスに関し、そのようなデバイスは、上述したデコーディング方法を実行するように適合され、かつ視差動きベクトル導出手段を備える。
【００５２】
そのようなデコーディングデバイスは、上述した導出手段が、本発明に従った導出デバイスに含まれる点で重要である。
【００５３】
本発明はまた、同一の光景をそれぞれが表す少なくとも２つのビューを備えるカレントイメージをコーディングする方法に関し、そのようなコーディング方法は、視差動きベクトルを導出するステップを備える。
【００５４】
そのようなコーディング方法は、本発明に従った導出方法に従って、上述した導出ステップが実行される点で重要である。
【００５５】
本発明はまた、同一の光景をそれぞれが表す少なくとも２つのビューを備えるカレントイメージをコーディングするデバイスに関し、そのようなデバイスは、上述したコーディング方法を実行するように適合され、かつ視差動きベクトル導出手段を備える。
【００５６】
そのようなコーディングデバイスは、上述した導出手段が、本発明に従った導出デバイスに含まれる点で重要である。
【００５７】
本発明はまた、コンピュータ上で実行されると、本発明に従った導出方法、コーディング方法またはデコーディング方法を実行する命令を備えるコンピュータプログラムに関する。
【００５８】
このプログラムは、任意のプログラミング言語を使用することができ、かつ部分的にコンパイルされた形式、または任意の他の所望の形式などの、ソースコード、オブジェクトコード、またはソースコードとオブジェクトコードとの間の中間コードの形式にあることができる。
【００５９】
本発明はまた、コンピュータプログラムが記憶されたコンピュータ可読記憶媒体をターゲットとし、このプログラムは、上述したように、本発明に従ったコーディングまたはデコーディング方法を実行するのに適した命令を備える。
【００６０】
記憶媒体は、プログラムを記憶することが可能な任意のエンティティまたはデバイスとすることができる。例えば、媒体は、ＲＯＭ、例えば、ＣＤＲＯＭもしくは超小型電子回路ＲＯＭなどの記憶手段、またはさらに磁気記憶手段、例えば、ＵＳＢキーもしくはハードディスクを備えることができる。
【００６１】
また、記憶媒体は、電気ケーブルまたは光ケーブルを介して、無線でまたは他の手段によって経路指定することができる、電気信号または光学信号などの送信可能媒体とすることができる。本発明に従ったプログラムは、特に、インターネットのタイプのネットワーク上で部分的にダウンロード可能とすることができる。
【００６２】
代わりに、記憶媒体は、プログラムが組み込まれる集積回路とすることができ、回路は、上述したコーディングまたはデコーディング方法を実行し、またはそれらの実行に使用されるように適合される。
【００６３】
上述したコーディングデバイスおよび対応するコンピュータプログラムは少なくとも、本発明に従ったコーディング方法によって与えられるのと同一の利点を提供する。
【００６４】
上述した対応する導出デバイス、デコーディング方法、デコーディングデバイス、コーディング方法、コーディングデバイス、コンピュータプログラムおよび記憶媒体は少なくとも、本発明に従った導出方法によって与えられるのと同一の利点を提供する。
【００６５】
図面を参照して説明される好ましい実施形態を読むことで、他の特徴および利点が明らかになるであろう。
【図面の簡単な説明】
【００６６】
【図１】本発明に従った導出方法のステップを示す図である。
【図２】本発明に従った導出デバイスの実施形態を示す図である。
【図３】本発明に従ったコーディング方法のステップを示す図である。
【図４】図３で示されたコーディング方法を実行するのに適したコーディングデバイスの実施形態を示す図である。
【図５】本発明に従ったデコーディングデバイスの実施形態を示す図である。
【図６】図５で示されたデコーディングデバイスで実行されるのに適したデコーディングステップを示す図である。
【発明を実施するための形態】
【００６７】
本発明の実施形態がここで説明され、その実施形態では、本発明に従った視差動きベクトル導出方法が、例えば、現在作成されている３Ｄ−ＨＥＶＣ規格に準拠したコーディング／デコーディングによって取得されるのに近似したバイナリストリームに従って、例えば、イメージまたは一連のイメージのコーディング／デコーディングのケースで実行されることが意図される。
【００６８】
この目的を達成するために、検討されるイメージは、例えば、ＭＶＶまたはＭＶＤフォーマットにあってもよい。
【００６９】
この実施形態では、本発明に従った導出方法は、例えば、当初は３Ｄ−ＨＥＶＣ規格に準拠したコーダ／デコーダに含まれる導出デバイスへの修正によって、ソフトウェアまたはハードウェアにより実行される。本発明に従った導出方法は、図１で示されるようなステップＳ１〜Ｓ３を備えるアルゴリズムの形式で表される。
【００７０】
本発明の実施形態に従って、本発明に従った導出方法は、図２で示される導出デバイスＤＥＲにおいて実行される。
【００７１】
図２で示されるように、そのような導出デバイスは、バッファメモリＭＴ＿ＤＥＲを備えるメモリＭＥＭ＿ＤＥＲと、例えば、マイクロプロセッサμＰを装備し、かつ本発明に従った導出方法を実行するコンピュータプログラムＰＧ＿ＤＥＲによって駆動されるプロセシングユニットＵＴ＿ＤＥＲとを備える。初期化されると、コンピュータプログラムＰＧ＿ＤＥＲのコード命令は、例えば、プロセシングユニットＵＴ＿ＤＥＲのプロセッサによって実行される前に、ＲＡＭメモリにロードされる。
【００７２】
図１に示される導出方法は、コード化されることになる一連のイメージＳＩのＭＶＶまたはＭＶＤタイプの任意のカレントイメージに適用される。
【００７３】
図１を参照して、ステップＳ１の間、視差動きベクトルのリスト、それとも視差動きベクトルの複数のリストＬ１、Ｌ２、・・・、Ｌｉ、・・・ＬＭ（１≦ｉ≦Ｍ）が構築される。前記単一のリスト、またはｍのリストからの少なくとも１つのリストＬｉは、異なるタイプの少なくとも２つの視差動きベクトルＤＶａおよびＤＶｂ、すなわち、２つの異なる推定方法に従ってそれぞれ取得されているベクトルを含む。
【００７４】
ベクトルＤＶａおよびＤＶｂは、例えば、発明を実施するための形態の導入部で説明されている以下の導出方法の１つの最後で取得されていることがある。
−ＤＭＤＶ、
−ＤＣＰ（「視差補償予測：Ｄｉｓｐａｒｉｔｙ−Ｃｏｍｐｅｎｓａｔｅｄ  Ｐｒｅｄｉｃｔｉｏｎ」）、一時的配列ブロックＣＥＮＴＥＲ１、ＲＢ１、ＲＢ２、ＣＥＮＴＥＲ２の検討の後、または空間隣接ブロックＡ１、Ｂ１、Ｂ０、Ａ０、Ｂ２の後のいずれか、
−ＮＢＤＶ、
−ＦＣＯ、
−ＤｏＮＢＤＶなどである。
【００７５】
また、変形形態として、上述したリストにおいて、上記リスト化された導出方法の１つに従って取得された視差動きベクトルの、ｘ上またはｙ上のピクセルによる、シフトによって取得されている少なくとも１つの視差動きベクトルを検討することが可能である。次いで、これは、シフトされた導出された動きベクトルである。
【００７６】
例えば、単一リストＬ１が構築されるケースでは、前記リストは、例えば、６つの視差動きベクトルＤＶ１１、ＤＶ１２、ＤＶ１３、ＤＶ１４、ＤＶ１５、ＤＶ１６を備えることができ、
−ＤＶ１１は、上述したＤＭＤＶ導出方法に従って取得されており、
−ＤＶ１２およびＤＶ１３は、視差補償予測ＤＣＰを使用して取得されており、
−ＤＶ１４およびＤＶ１５は、上述したＮＢＤＶ導出方法に従って取得されており、
−ＤＶ１６は、上述したＤｏＮＢＤＶ導出方法に従って取得されている。
【００７７】
例えば、いくつかのリスト、例えば、３つのリストＬ１、Ｌ２およびＬ３が構築されるケースでは、前記リストの少なくとも１つは、異なるタイプの少なくとも２つの視差動きベクトルを備える。この例では、２つのリストＬ１およびＬ３は各々、異なるタイプの少なくとも２つの視差動きベクトルを備える。リストＬ１〜Ｌ３が構築され、それによって、
−Ｌ１は、例えば、４つの視差動きベクトルＤＶ１１、ＤＶ１２、ＤＶ１３、ＤＶ１４を備え、ＤＶ１１およびＤＶ１２は、上述したＮＢＤＶ導出方法に従って取得されており、ＤＶ１３およびＤＶ１４は、視差補償予測ＤＣＰを使用して取得されており、
−Ｌ２は、例えば、２つの視差動きベクトルＤＶ２１、ＤＶ２２を備え、ＤＶ２１およびＤＶ２２は、上述したＤＭＤＶ導出方法に従って取得されており、
−Ｌ３は、例えば、２つの視差動きベクトルＤＶ３１、ＤＶ３２を備え、ＤＶ３１およびＤＶ３２は、上述したＤｏＮＢＤＶおよびＦＣＯ導出方法に従ってそれぞれ取得されている。
【００７８】
図２を参照して、前記構築するステップＳ１は、プロセシングユニットＵＴ＿ＤＥＲのマイクロプロセッサμＰによって駆動される構築モジュールＣＴＲによって実行される。
【００７９】
リストＬ１、または構築されている前記リストＬ１、Ｌ２、・・・、Ｌｉ、・・・、ＬＭは、図２の導出デバイスのバッファメモリＭＴ＿ＤＥＲに記憶される。
【００８０】
図１を参照して、ステップＳ２の間、上述したリストの少なくとも１つにおいて、視差動きベクトルの数に制限が適用される。
【００８１】
図２を参照して、前記制限するステップＳ２は、プロセシングユニットＵＴ＿ＤＥＲのマイクロプロセッサμＰによって駆動される制限モジュールＬＩＭによって実行される。
【００８２】
そのようなステップＳ２は任意選択であり、かつこの理由で、図２における制限モジュールＬＩＭのように、図１では、点線で示される。そのようなステップＳ２は、発明を実施するための形態において以下でさらに詳細に説明される。
【００８３】
図１を参照して、ステップＳ３の間、関数ｆが、少なくとも１つのリストの異なるタイプの前記少なくとも２つの視差動きベクトルＤＶａおよびＤＶｂに適用される。
【００８４】
図２を参照して、前記適用するステップＳ３は、プロセシングユニットＵＴ＿ＤＥＲのマイクロプロセッサμＰによって駆動される関数適用モジュールＡＰＰによって実行される。
【００８５】
ステップＳ３に続いて、最終視差動きベクトルＤＶｆが出力される。
【００８６】
前記関数ｆは、中央値、最大値、最小値、平均値、重み付け平均値、重み付け中央値など、数学的または統計的な関数である。平均値または重み付け中央値のケースでは、重み付けは、検討される視差動きベクトルのタイプの関数とすることができる。
【００８７】
変形形態として、前記関数ｆは、当業者に公知な基準である、所定のコーディング性能基準、例えば、ビットレート／歪みコスト、それとも効率性／複雑性のトレードオフである。
【００８８】
例えば、単一リストＬ１、例えば、６つの視差動きベクトルＤＶ１１、ＤＶ１２、ＤＶ１３、ＤＶ１４、ＤＶ１５、ＤＶ１６を例えば備える上述したリストなどが構築されるケースでは、関数ｆを、このリスト、それともそれらの一部において検討される全ての視差動きベクトルに適用することができる。
【００８９】
例えば、いくつかのリスト、例えば、上述した３つのリストＬ１、Ｌ２およびＬ３が構築されるケースでは、いくつかの非制限的なケースが生じることがある。
【００９０】
第１のケースに従って、上述した関数ｆは、上述したリストＬ１、Ｌ２およびＬ３の各々において検討される全ての視差動きベクトルに適用される。
【００９１】
第２のケースに従って、同一のリスト、例えば、リストＬ３において検討される異なるタイプの少なくとも２つの視差動きベクトルに上述した関数ｆが適用されるという条件で、関数ｆが、上述したリストＬ１、Ｌ２およびＬ３の各々において検討される一部の視差動きベクトルに適用される。
【００９２】
第３のケースに従って、
−関数ｆとしての同一のタイプの関数ｆ１が、第１の視差動きベクトルを出力する、リストＬ１の全ての視差動きベクトルに適用され、
−関数ｆとしての同一のタイプの関数ｆ２が、第２の視差動きベクトルを出力する、リストＬ２の全ての視差動きベクトルに適用され、
−関数ｆとしての同一のタイプの関数ｆ３が、第３の視差動きベクトルを出力する、リストＬ３の全ての視差動きベクトルに適用され、
−関数ｆとしての同一のタイプの関数ｆ４が、出力された第１、第２および第３の視差動きベクトルに適用される。
【００９３】
第４のケースに従って、関数ｆ１、ｆ３の少なくとも１つが、それに関連付けられたリストＬ１、Ｌ３において検討される異なるタイプの少なくとも２つの視差動きベクトルに適用されるという条件で、関数ｆ１、ｆ２およびｆ３が、上述したリストＬ１、Ｌ２、Ｌ３の各々において検討される一部の視差動きベクトルに適用される。
【００９４】
ここで、視差動きベクトルの数を制限するステップＳ２の異なる変形実施形態が説明される。
【００９５】
第１の変形実施形態に従って、上述したステップＳ１においてリストＬ１、またはｍのリストＬ１、Ｌ２、・・・、Ｌｉ、・・・、ＬＭが構築されると、ステップＳ２が実行される。そのようなステップＳ２は、例えば、
−リストＬ１、それともｍのリストＬ１、Ｌ２、・・・、Ｌｉ、・・・、ＬＭが構築されるケースにおいては、例えば、Ｋｉ＝３の検討される少なくとも１つのリストＬｉにおいて、ベクトルの数を、Ｋｉの要素の最大値に制限して、より小さいリストＬ’１、それとも少なくともより小さいリストＬ’ｉを取得するステップと、
−例えば、検討される少なくとも１つのタイプの視差動きベクトルを削除するステップであって、動きベクトルは、上述したＤＭＤＶ導出方法の終わりで取得される、ステップと、
−ｍのリストが構築されるケースにおいてｍのリストＬ１、Ｌ２、・・・、Ｌｉ、・・・、ＬＭの少なくとも１つを削除するステップと
を備える。
【００９６】
第２の変形実施形態に従って、上述したステップＳ１に続いてステップＳ２が実行される。
【００９７】
ステップＳ２は、例えば、
−リストＬ１、それともｍのリストＬ１、Ｌ２、・・・、Ｌｉ、・・・、ＬＭが構築されるケースでは、検討される少なくとも１つのリストＬｉにおいて、少なくとも２つの視差動きベクトルが、それらの大きさおよび方向に関して冗長であるかを検査するステップと、
−検査がポジティブである場合、前記リストから、前記２つの冗長なベクトルの１つを削除するステップと
を含む。
【００９８】
第２の変形形態に従って、ステップＳ２が完了すると、より小さいリストＬ’’１、それとも少なくとも１つのより小さいリストＬ’’ｉが取得される。
【００９９】
第３の変形実施形態に従って、そのようなステップＳ２は、例えば、
−より小さいリストＬ’１、それとも少なくとも１つのより小さいリストＬ’ｉにおいて、少なくとも２つの視差動きベクトルが、それらの大きさおよび方向に関して冗長であるかを検査するステップと、
−検査がポジティブである場合、前記リストから、前記２つの冗長なベクトルの１つを削除するステップと
を含む。
【０１００】
第４の変形実施形態に従って、より小さいまたはそうでない、検討されるリストに対して、リストに含まれる一定の数の視差動きベクトルに関してのみ、冗長性検査を実行することができる。
【０１０１】
ここで、本発明に従った導出方法の３つの異なるシナリオが非限定的な例として説明される。
【０１０２】
シナリオ１
上述したステップＳ１の間、上述したＮＢＤＶ導出方法に従って取得された視差動きベクトルを含む単一リストＬ１が構築される。そのようなリストは、例えば、ＤＣＰ予測によって取得された少なくとも１つのベクトルと、一時的動きベクトルの導出によって取得された少なくとも１つのベクトルとを含む。
【０１０３】
上述したステップＳ２の間、冗長性ベクトルをそこから削除するために、リストＬ１に含まれるベクトルの冗長性が検査される。
【０１０４】
上述したステップＳ３の間、メディアン関数が、ステップＳ２において場合によっては減少したリストＬ１に含まれるベクトルに適用される。
【０１０５】
シナリオ２
上述したステップＳ１の間、２つのリストＬ１およびＬ２が構築される。リストＬ１は、上述したＮＢＤＶ導出方法に従って取得された視差動きベクトルを含む。そのようなリストは、例えば、ＤＣＰ予測によって取得された少なくとも１つのベクトルと、一時的動きベクトルの導出によって取得された少なくとも１つのベクトルとを含む。リストＬ２は、ＤＭＤＶ、ＦＣＯおよびＤｏＮＢＤＶ導出方法に従ってそれぞれ取得された、少なくとも３つの視差動きベクトルを含む。
【０１０６】
上述したステップＳ２の間、冗長性ベクトルをそこから削除するために、リストＬ１にのみに含まれるベクトルの冗長性が検査される。
【０１０７】
上述したステップＳ３の間、平均関数が、ステップＳ２において場合によっては減少したリストＬ１に含まれる第１の２つのベクトルと、リストＬ２の第１のベクトルとの両方に適用される。
【０１０８】
シナリオ３
上述したステップＳ１の間、３つのリストＬ１、Ｌ２、Ｌ３が構築される。リストＬ１は、上述したＮＢＤＶ導出方法に従って取得された視差動きベクトルを含む。そのようなリストは、例えば、ＤＣＰ予測によって取得された少なくとも１つのベクトルと、一時的動きベクトルの導出によって取得された少なくとも１つのベクトルとを含む。リストＬ２は、ＤＭＤＶおよびＤｏＮＢＤＶ導出方法に従ってそれぞれ取得された少なくとも２つの視差動きベクトルを含む。リストＬ３は、ＦＣＯ導出方法に従って取得された少なくとも１つの視差動きベクトルを含む。
【０１０９】
冗長性検査ステップＳ２は実行されない。
【０１１０】
上述したステップＳ３の間、第１のメディアン関数ｆ１が、第１の視差動きベクトルを出力する、リストＬ１に含まれるベクトルに適用され、第２のメディアン関数ｆ２が、第２の視差動きベクトルを出力する、リストＬ２に含まれるベクトルに適用され、第３のメディアン関数ｆ３が、第３の視差動きベクトルを出力する、リストＬ３に含まれるベクトルに適用される。次いで、第４のメディアン関数ｆ４が、出力された第１、第２および第３の視差動きベクトルに同時に適用される。
【０１１１】
本発明のコーディング方法の詳細な説明
ここで、現在作成されている３Ｄ−ＨＥＶＣ規格に従ったコーディングによって取得されるのに近似したビットストリームに従って、一連のイメージをコード化するために、本発明に従ったコーディング方法が使用される、発明の実施形態が説明される。この実施形態では、本発明に従ったコーディング方法は、例えば、当初はＨＥＶＣ３Ｄ規格に準拠したコーダへの修正によって、ソフトウェアまたはハードウェアにより実行される。本発明に従ったコーディング方法は、図３に示されるステップＣ１〜Ｃ９を備えるアルゴリズムの形式で示される。
【０１１２】
本発明の実施形態に従って、本発明に従ったコーディング方法は、図４で示されるコーディングデバイスＣＯにおいて実行される。そのようなコーディングデバイスは、バッファメモリＭＴ＿ＣＯを備えるメモリＭＥＭ＿ＣＯと、例えば、マイクロプロセッサμＰを装備し、かつ本発明に従ったコーディング方法を実行するコンピュータプログラムＰＧ＿ＣＯによって駆動される、プロセシングユニットＵＴ＿ＣＯとを備える。初期化されると、コンピュータプログラムＰＧ＿ＣＯのコード命令は、例えば、プロセシングユニットＵＴ＿ＣＯのプロセッサによって実行される前に、ＲＡＭメモリにロードされる。
【０１１３】
既に発明を実施するための形態で上記説明したように、本発明に従ったコーディング方法は、例えば、現在作成されている３Ｄ−ＨＥＶＣ規格に準拠したコーディング／デコーディングによって取得されるのに近似したビットストリームに従ったイメージまたは一連のイメージに適用されることが意図される。
【０１１４】
検討される１つまたは複数のイメージは、例えば、ＭＶＶまたはＭＶＤフォーマットにあることができる。図３を参照すると、一連のイメージＳＩは、Ｎ個（Ｎ≧１）のイメージを備え、それによって、
−ｔ１の時点で、イメージＩ１は、複数のＲのビューＶ１１、Ｖ１２、・・・、Ｖ１ｊ、・・・、Ｖ１Ｒを備え、
−ｔｋの時点で、イメージＩｋは、複数のＲのビューＶｋ１、Ｖｋ２、・・・、Ｖｋｊ、・・・、ＶｋＲを備え、
−ｔＮの時点で、イメージＩＮは、複数のＲのビューＶＮ１、ＶＮ２、・・・、ＶＮｊ、・・・、ＶＮＲを備え、
１≦ｊ≦Ｒであり、かつ１≦ｋ≦Ｎである。
【０１１５】
次いで、時点ｔｋにおけるカレントイメージＩｋが、一連のイメージＳＩにおいて検討される。
【０１１６】
それ自体が既知であるように、図３で示される準備ステップＣ１の間、一連のイメージＳＩに属するカレントイメージＩｋのカレントビューＶｋｊが、例えば、６４×６４ピクセルサイズの複数のブロックＣＴＢ１、ＣＴＢ２、・・・、ＣＴＢｕ、・・・、ＣＴＢＳ（１≦ｕ≦Ｓ）に分割される。そのような分割するステップは、図４で示される分割ソフトウェアモジュールＭＰによって実行され、前記モジュールは、プロセシングユニットＵＴ＿ＣＯのマイクロプロセッサμＰによって駆動される。
【０１１７】
本発明の意義の中で、用語「ブロック」は、コーディングの単位（ユニット）を示すことに留意すべきである。後者の用語は特に、ＨＥＶＣ規格、例えば、文献「Ｂ．Ｂｒｏｓｓ、Ｗ．−Ｊ．Ｈａｎ、Ｊ．−Ｒ．Ｏｈｍ、Ｇ．Ｊ．Ｓｕｌｌｉｖａｎ、ａｎｄ  Ｔ．Ｗｉｅｇａｎｄ、『Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ（ＨＥＶＣ）ｔｅｘｔ  ｓｐｅｃｉｆｉｃａｔｉｏｎ  ｄｒａｆｔ  ６』、ｄｏｃｕｍｅｎｔ  ＪＣＴＶＣ−Ｈ１００３  ｏｆ  ＪＣＴ−ＶＣ、  Ｓａｎ  Ｊｏｓｅ  ＣＡ、ＵＳＡ、Ｆｅｂｒｕａｒｙ  ２０１２」において使用される。
【０１１８】
特に、そのようなコーディングユニットは、ブロック、マクロブロックとも称される、長方形もしくは正方形の形状のピクセルの組、それとも、他の幾何学的形状のピクセルの組を組み合わせる。
【０１１９】
図３で示されるステップＣ２の間、カレントビューＶｋｊのブロックＣＴＢｕが、コード化されることになるカレントブロックとして選択される。
【０１２０】
図４を参照して、前記選択ステップＣ２は、コーダＣＯの選択モジュールＳＥＬ＿ＣＯによって実行され、前記モジュールは、プロセシングユニットＵＴ＿ＣＯのマイクロプロセッサμＰによって駆動される。
【０１２１】
図３を参照して、ステップＣ３の間、視差動きベクトルが導出される。そのようなステップは、本発明に従った導出方法に従って実行される。
【０１２２】
図４を参照して、前記導出ステップＣ３は、あらゆる点で図２の導出モジュールＤＥＲと同一の導出モジュールＤＥＲ＿ＣＯによって実行され、前記モジュールＤＥＲ＿ＣＯは、プロセシングユニットＵＴ＿ＣＯのマイクロプロセッサμＰによって駆動される。
【０１２３】
図３を参照して、ステップＣ４の間、カレントブロックＣＴＢｕの予測コーディングが、既知のイントラおよび／またはインター予測技術によって実行され、その間、カレントブロックＣＴＢｕは、前にコード化、次いでデコード化された少なくとも１つのブロックに対して予測される。
【０１２４】
図４を参照して、前記予測コーディングステップＣ４は、例えば、イントラおよび／またはインターモードなどの、従来の予測技術に従って、カレントブロックの予測コーディングを実行することが可能な予測コーディングユニットＵＣＰによって実行される。前記ＵＣＰモジュールは、プロセシングユニットＵＴ＿ＣＯのマイクロプロセッサμＰによって駆動される。
【０１２５】
第１の変形実施形態に従って、カレントブロックＣＴＢｕの動きベクトルは、ＡＭＶＰモードに従って判定され、すなわち、導出ステップＣ３に続いて取得される最終視差動きベクトルＤＶｆとともに、一時的動きベクトルおよび／または視差動きベクトルを備えることができる、動きベクトルのリストにおける動きベクトルの選択によって予測される。
【０１２６】
第２の変形実施形態に従って、カレントブロックＣＴＢｕの動きベクトルは、ＭＥＲＧＥモード、すなわち、導出ステップＣ３に続いて取得される最終視差動きベクトルＤＶｆとともに、一時的動きベクトルおよび／または視差動きベクトルを備えることができる、動きベクトルのリストに含まれる動きベクトルの継承によって判定される。
【０１２７】
ステップＣ４で判定されているカレントブロックに対する可能な予測から、当業者に公知なビットレート／歪み基準に従って、最適な予測が選択される。
【０１２８】
前記上述した予測コーディングステップによって、カレントブロックＣＴＢｕの近似値である予測ブロックＣＴＢｐｕを構築することが可能になる。この予測コーディングに関する情報は、その後、図５で示されるようなデコーダＤＯに送信されるストリームに入れられる。本発明に従った導出方法を使用して取得される視差動きベクトルが、最適な予測ベクトルとして選択されるケースでは、そのような情報は、このベクトルを含むリストにおけるベクトルの位置インデックスを備える。いくつかのリストが構築されている特定のケースでは、情報はまた、選択されたベクトルを含むリストのインデックスを備える。
【０１２９】
図３に示されるステップＣ５の間、図４の予測コーディングユニットＵＣＰは、カレントブロックＣＴＢｕから予測ブロックＣＴＢｐｕを減算して、残差ブロックＣＴＢｒｕを生成することを続ける。
【０１３０】
図３に示されるステップＣ６の間、残差ブロックＣＴＢｒｕは、ＤＣＴタイプの離散コサイン変換など、従来の直接変換演算に従って変換されて、変換されたブロックＣＴＢｔｕを生成する。
【０１３１】
前記ステップＣ６は、図４に示される変換ユニットＵＴによって実行され、前記ユニットは、プロセシングユニットＵＴ＿ＣＯのマイクロプロセッサμＰによって駆動される。
【０１３２】
図４に示されるステップＣ７の間、変換されたブロックＣＴＢｔｕは、例えば、スカラー量子化など、従来の量子化演算に従って量子化される。次いで、量子化係数ＣＴＢｑｕのブロックが取得される。
【０１３３】
前記ステップＣ７は、図４で示される量子化ユニットＵＱによって実行され、前記ユニットは、プロセシングユニットＵＴ＿ＣＯのマイクロプロセッサμＰによって駆動される。
【０１３４】
図３に示されるステップＣ８の間、量子化係数ＣＴＢｑｕのブロックのエントロピーコーディングが実行される。好ましい実施形態では、これは、当業者に公知なＣＡＢＡＣエントロピーコーディングである。
【０１３５】
ステップＣ８は、図４で示されるエントロピーコーディングユニットＵＣＥよって実行され、前記ユニットは、プロセシングユニットＵＴ＿ＣＯのマイクロプロセッサμＰによって駆動される。
【０１３６】
まさに上記説明されているコーディングサブステップは、検討されるカレントイメージＩｋのコード化されることになる全てのブロックに対して実行される。
【０１３７】
まさに上記説明されているコーディングステップＣ２〜Ｃ８は、検討されるカレントビューＶｋｊのコード化されることになる全てのブロックに対して実行される。
【０１３８】
図３に示されるステップＣ９の間、コード化されたカレントビューＶｋｊを示すビットＦｋｊのストリームが生成され（そのデコード化されたバージョンであるが）、それは、一連のイメージＳＩの他のビューをコード化するために参照ビューとして再使用される可能性が高い。
【０１３９】
図４を参照して、カレントストリームＦｋｊを生成するステップＣ９は、例えば、ビットなどのデータのストリームを生成するように設計された、ストリーム生成モジュールＭＧＦによって実行される。前記ＭＧＦモジュールは、プロセシングユニットＵＴ＿ＣＯのマイクロプロセッサμＰによって駆動される。
【０１４０】
次いで、カレントストリームＦｋｊは、通信ネットワーク（図示せず）によってリモート端末に送信される。後者は、発明を実施するための形態において以下でさらに詳細に説明される、図５に示されるデコーダＤＯを備える。
【０１４１】
デコーディング部の実施形態の詳細な説明
ここで、本発明に従ったデコーディング方法の実施形態が説明され、デコーディング方法は、当初は３Ｄ−ＨＥＶＣ規格に準拠したデコーダへの修正によって、ソフトウェアまたはハードウェアにより実行される。
【０１４２】
本発明に従ったデコーディング方法が、図６に示されるステップＤ１〜Ｄ９を備えるアルゴリズムの形式で示される。
【０１４３】
本発明の実施形態に従って、本発明に従ったデコーディング方法が、図５に示されるデコーディングデバイスＤＯにおいて実行される。
【０１４４】
図５に示されるように、そのようなデコーディングデバイスは、バッファメモリＭＴ＿ＤＯを備えるメモリＭＥＭ＿ＤＯと、例えば、マイクロプロセッサμＰを装備し、かつ本発明に従ったデコーディング方法を実行するコンピュータプログラムＰＧ＿ＤＯによって駆動されるプロセシングユニットＵＴ＿ＤＯとを備える。初期化されると、コンピュータプログラムＰＧ＿ＤＯのコード命令は、例えば、プロセシングユニットＵＴ＿ＤＯのプロセッサによって実行される前に、ＲＡＭメモリにロードされる。
【０１４５】
図６に示されるデコーディング方法は、デコード化されることになる前記一連のイメージＳＩの任意のカレントイメージに適用される。
【０１４６】
この目的を達成するために、デコード化されることになるカレントイメージＩｋを表す情報が、デコーダＤＯで受信されたストリームＦｋｊにおいて識別される。
【０１４７】
図６に示されるステップＤ１の間、デコード化されることになるブロックＣＴＢｕが、ストリームＦｋｊにおいて選択される。
【０１４８】
図５を参照して、前記選択ステップＤ１は、デコーダＤＯの選択モジュールＳＥＬ＿ＤＯによって実行され、前記モジュールは、プロセシングユニットＵＴ＿ＤＯのマイクロプロセッサμＰによって駆動される。
【０１４９】
図６に示されるステップＤ２の間、カレントブロックＣＴＢｕに関連する構文要素のエントロピーデコーディングが、ストリームポインタを使用してストリームＦｋを読み出すことによって実行される。
【０１５０】
特に、カレントブロックに関連する構文要素は、図５に示されるようなＣＡＢＡＣエントロピーデコーディングユニットＵＤＥによってデコード化され、前記ユニットは、プロセシングユニットＵＴ＿ＤＯのマイクロプロセッサによって駆動される。そのようなユニットは、それ自体が公知であり、さらに詳細には説明されない。
【０１５１】
図６を参照して、ステップＤ３の間、視差動きベクトルが導出される。そのようなステップは、本発明に従った導出方法に従って実行される。
【０１５２】
図５を参照して、前記導出ステップＤ３は、あらゆる点で図２の導出モジュールＤＥＲと同一の導出モジュールＤＥＲ＿ＤＯによって実行され、前記モジュールＤＥＲ＿ＤＯは、プロセシングユニットＵＴ＿ＤＯのマイクロプロセッサμＰによって駆動される。
【０１５３】
図６に示されるステップＤ４の間、カレントブロックＣＴＢｕの予測デコーディングが、既知のイントラおよび／またはインター予測技術によって実行され、その間、ブロックＣＴＢｕは、少なくとも１つの前にデコード化されたブロックに対して予測される。
【０１５４】
このステップの間、前のステップでデコード化され、かつ特に予測のタイプ（インター予測またはイントラ予測）を備える構文要素を使用して、予測デコーディングが実行される。
【０１５５】
予測それとも動きベクトル継承がカレントブロックＣＴＢｕに適用されるケース、および本発明に従った導出方法を使用して取得された視差動きベクトルが、ビットレート歪み基準に従って予測を最適化するベクトルとして、コーディングにおいて選択されているケースでは、前記デコード化された構文要素は、このベクトルを含む視差動きベクトルのリストにおけるベクトルの位置インデックスを備える。いくつかのリストが構築されている特定のケースでは、前記デコード化された構文要素はまた、選択されたベクトルを含むリストのインデックスを備える。
【０１５６】
前記上述した予測デコーディングステップＤ４によって、前にデコード化されたブロックに対して予測ブロックＣＴＢｐｕを構築することが可能になる。
【０１５７】
前記ステップＤ４は、図５に示されるように、予測デコーディングユニットＵＤＰによって実行され、前記ユニットは、プロセシングユニットＵＴ＿ＤＯのマイクロプロセッサμＰによって駆動される。
【０１５８】
図６に示されるステップＤ５の間、図５の予測デコーディングユニットＵＤＰは、予測ブロックＣＴＢｐｕを、カレントブロックＣＴＢｕから減算して、残差ブロックＣＴＢｒｕを生成することを続ける。
【０１５９】
図６に示されるステップＤ６の間、上述したステップＣ７で実行された量子化の逆演算である、従来の逆量子化演算に従って逆量子化されて、デコード化された、逆量子化ブロックＣＴＢＤｔｕを生成する。
【０１６０】
前記ステップＤ６は、図５に示される逆量子化ユニットＵＤＱによって実行され、前記ユニットは、プロセシングユニットＵＴ＿ＤＯのマイクロプロセッサμＰによって駆動される。
【０１６１】
図６に示されるステップＤ７の間、上述したコーディングステップＣ６で実行された直接変換の逆演算である、逆量子化ブロックＣＴＢＤｔｕの逆変換が実行される。次いで、デコード化された残差ブロックＣＴＢＤｒｕが取得される。
【０１６２】
前記ステップＤ７は、図５に示される逆変換ユニットＵＴＩによって実行され、前記ユニットは、プロセシングユニットＵＴ＿ＤＯのマイクロプロセッサμＰによって駆動される。
【０１６３】
図６に示されるステップＤ８の間、デコード化された残差ブロックＣＴＢＤｒｕを予測ブロックＣＴＢｐｕに加算することによって、デコード化されたブロックＣＴＢＤｕが構築される。次いで、デコード化されたブロックＣＴＢＤｕが、図５のデコーダＤＯによって使用されるのに利用可能となる。
【０１６４】
ステップＤ８は、図５に示されるようなデコード化ブロック構築ユニットＵＣＢＤによって実行され、前記ユニットは、プロセシングユニットＵＴ＿ＤＯのマイクロプロセッサμＰによって駆動される。
【０１６５】
まさに上記説明されているデコーディングステップＤ１〜Ｄ８が再度、検討されるカレントビューＶｋｊのデコード化されることになる全てのブロックに対して実行される。
【０１６６】
図６を参照して、ステップＤ９の間、デコード化されたビューＶＤｋｊの再構築が実行される。
【０１６７】
図５を参照して、再構築ステップＤ９は、デコード化されたブロックを、それらのブロックが利用可能であるものとして、デコード化されたビューＶＤｋｊに書き込む、再構築ユニットＵＲＩによって実行される。前記ユニットは、プロセシングユニットＵＴ＿ＤＯのマイクロプロセッサμＰによって駆動される。
【０１６８】
上記説明された実施形態は、純粋に例示し、かつ非限定的な方式で与えられていること、および発明の枠組みから決して逸脱することなく、当業者は多数の修正を容易になすことができることは言うまでもない。
【図１】
0006690944.tif 000002
【図２】
0006690944.tif 000003
【図３】
0006690944.tif 000004
【図４】
0006690944.tif 000005
【図５】
0006690944.tif 000006
【図６】
0006690944.tif 000007