【実施例】
【0013】
種々の実現形態は、ビデオ符号化及び復号化におけるビュー・タイリングの方法及び装置に関する。よって、本明細書及び特許請求の範囲に明記又は明示していないが、本願の原理を実施し、その趣旨及び範囲内に含まれる種々の構成を当業者が考え出すことができるであろうということが認識されるであろう。
【0014】
本明細書及び特許請求の範囲記載の実施例及び条件的な文言は全て、本願の原理、及び当該技術分野を発展させるために本発明者が寄与する概念を本開示の読者が理解する手助けとなるための教育学的目的を意図しており、前述の具体的に記載された例及び条件に限定することなく、解されるものとする。
【0015】
更に、本願の原理の実施例、局面、及び原理を記載する本明細書及び特許請求の範囲記載の文言は全て、その構造上及び機能上の均等物を包含することが意図されている。更に、前述の均等物が、現在知られている均等物、及び将来開発される均等物、すなわち、構造にかかわらず、同じ機能を行う、開発された何れかの構成要素を含むことが意図されている。
【0016】
よって、例えば、本明細書及び特許請求の範囲記載のブロック図が、例示的なシステム構成部分及び/回路の概念的なビューを表すということは、当業者によって理解されるであろう。同様に、何れのフローチャート、フロー図、状態遷移図、擬似コード等も、当該コンピュータ又はプロセッサが明示されているかにかかわらず、コンピュータ読み取り可能な媒体において実質的に表され、コンピュータ又はプロセッサによってそのように実行され得る種々の処理を表すということが理解されるであろう。
【0017】
図に示す種々の構成要素の機能は、適切なソフトウェアに関してソフトウェアを実行することができるハードウェア、及び専用ハードウェアの使用によって提供し得る。プロセッサによって提供されると、機能は、単一専用プロセッサ、単一共有プロセッサ、又は、個々の複数のプロセッサ(この一部は共有され得る)によって提供し得る。更に、「プロセッサ」又は「コントローラ」という語が明示的に使用されていることは、ソフトウェアを実行することができるハードウェアを専ら表すものと解されるべきでなく、暗黙的には、限定列挙でないが、ディジタル信号プロセッサ(「DSP」)のハードウェア、ソフトウェアを記憶するためのリードオンリメモリ(「ROM」)、ランダム・アクセス・メモリ(「RAM」)、及び不揮発性記憶装置を含み得る。
【0018】
従来のものであり、かつ/又はカスタムのものである他のハードウェアも、種々の実現形態の実現に含まれ得る。例えば、図に示すスイッチは何れも概念的なものに過ぎない。前述の機能は、プログラム・ロジックの動作によるか、専用ロジックの動作によるか、プログラム制御及び専用ロジックの相互作用によるか、又は手作業で行い得、具体的な手法は、コンテキストから更に具体的に理解されるように実現者によって選択可能である。
【0019】
本願の特許請求の範囲では、特定された機能を行う手段として表される構成要素は何れも、例えば、a)その機能を行う回路構成要素の組み合わせ、又は、b)上記機能を行うための当該ソフトウェアを実行するために、適切な回路と組み合わせた何れかの形式のソフトウェア(したがって、ファームウェア、マイクロコード等を含む)を含むその機能を行う何れかのやり方を包含することが意図されている。前述の特許請求の範囲によって規定されたような本願の原理は、記載された種々の手段によって提供される機能が、特許請求の範囲に求められるやり方で組み合わせされ、集約されるということに存在している。よって、前述の機能を提供することが可能な手段は何れも、本明細書及び特許請求の範囲に記載されたものと均等であるとみなされる。
【0020】
本願の原理の「一実施例」(若しくは「一実現形態」)又は「実施例」(若しくは「実現形態」)に明細書中で言及していることは、前述の実施例に関して説明した特定の構成、構造、特性等が本願の原理の少なくとも1つの実施例に含まれているということを意味している。よって、本明細書の随所に「一実施例における」又は「実施例における」という句が存在していることは、必ずしも、全て、同じ実施例を表している訳でない。
【0021】
本願の原理の1つ又は複数の実施例は、本明細書及び特許請求の範囲では、MPEG−4AVC標準に関して説明しているが、本出願に記載した原理は前述の標準に限定されるものでなく、よって、本出願の原理の趣旨を維持しながら、他の標準、勧告、及びそれらの拡張(特に、MPEG−4AVC標準の拡張を含む、ビデオ符号化標準、勧告、及びそれらの拡張)に関して利用し得る。
【0022】
更に、1つ又は複数の他の実施例は本明細書及び特許請求の範囲では、MPEG−4AVC標準のマルチビュー・ビデオ符号化拡張に関して説明しているが、本願の原理は前述の拡張及び/又は前述の標準のみに限定されるものでなく、よって、本出願の原理の趣旨を維持しながら、マルチビュー・ビデオ符号化に関する他のビデオ符号化標準、勧告及び前述の拡張に関して利用し得る。マルチビュー・ビデオ符号化(MVC)は、マルチビューシーケンスの符号化のための圧縮フレームワークである。マルチビュー・ビデオ符号化(MVC)シーケンスは、別の視点から同じシーンをキャプチャする2つ以上のビデオ・シーケンスの組である。
【0023】
更に、ビデオ・コンテンツに関する深度情報を使用する他の1つ又は複数の実施例を本明細書及び特許請求の範囲において説明しているが、本出願の原理は前述の実施例に限定されるものでなく、よって、本願の原理の趣旨を維持しながら、深度情報を使用しない他の実施例を実現し得る。
【0024】
更に、本明細書及び特許請求の範囲記載の「高水準構文」は、階層的にマクロブロック層よりも上に位置するビットストリームに存在する構文を表す。例えば、本明細書及び特許請求の範囲記載の高水準構文は、限定列挙でないが、スライス・ヘッダ・レベル、付加拡張情報(SEI)レベル、ピクチャ・パラメータ・セット(PPS)レベル、シーケンス・パラメータ・セット(SPS)レベル、ビュー・パラメータ・セット(VPS)及びネットワーク抽象化レイヤ(NAL)ユニット・ヘッダ・レベルにおける構文を表し得る。
【0025】
国際標準化機構/国際電子技術委員会(ISO/IEC)動画像専門家グループ−4(MPEG−4)パート10高度ビデオ符号化(AVC)標準/国際電気通信連合、電気通信セクタ(ITU−T)H.264勧告(以降、「MPEG−4 AVC Stan dard」と呼ぶ)に基づいたマルチビュー符号化(MVC)の現在の実現形態では、基準ソフトウェアは、単一の符号化器により、各ビューを符号化し、ビュー間参照を考慮に入れることにより、マルチビュー予測を実現する。各ビューはその元の解像度で符号化器により、別個のビットストリームとして符号化され、その後、ビットストリームは全て、単一のビットストリームを形成するよう合成され、上記単一のビットストリームは次いで復号化される。各ビューは別個のYUV復号化された出力を生成する。
【0026】
3D画像の生成及び使用をサポートする例示的なビデオ・システムを
図24に模式的に示す。システムのコンテンツ生成側は、限定列挙でないが、2D画像から3D画像への変換、同時に動作する複数のカメラ、デプス・カメラ、及びステレオ・カメラを含む種々の手段による画像キャプチャを示す。同じシーンの左ビュー及び右ビューについてキャプチャされた深度マップ情報(例えば、Z情報)の例を
図25に示す。前述の手法はそれぞれ、ビデオ画像コンテンツをキャプチャするのみならず、一部は、更に、キャプチャされたビデオ画像に関連付けられた特定の深度情報も生成する。処理され、符号化されると、前述の情報は全て、配信、送信、及び最終的なレンダリングに利用可能である。メタデータも、3Dビデオの後のレンダリングにおける使用のためにビデオ・コンテンツとともに生成される。レンダリングは、2Dディスプレイ・システム又は3Dディスプレイを使用して行うことが可能である。3Dディスプレイは、図に示すようにステレオ・ディスプレイからマルチビュー3Dディスプレイまで多様であり得る。
【0027】
マルチビュー予測の別の手法には、ビューの組を擬似ビューにグループ化することが関係する。前述の手法の一例では、考えられるダウンサンプリング又は他の動作により、より大きなフレーム上又はスーパーフレーム上に、(同時にサンプリングされる)合計でM個のビューのうちのN個のビュー毎にピクチャをタイリングすることが可能である。
図1に移れば、単一のフレーム上にタイリングされた4つのビューの例の全体を参照符号100で示す。4つのビューは全て、それらの通常の向きにある。
【0028】
図2に移れば、単一のフレーム上に反転させ、タイリングされた4つのビューの例の全体を参照符号200で示す。左上ビューはその通常の向きにある。右上ビューは水平方向に反転させている。左下ビューは垂直方向に反転させている。右下ビューは水平方向及び垂直方向に反転させている。よって、4つのビューが存在している場合、各ビューからのピクチャは、タイルのようなスーパーフレームにおいて配置される。これは、解像度が大きな、符号化されていない単一の入力シーケンスをもたらす。
【0029】
あるいは、より小さな解像度をもたらすよう画像をダウンサンプリングすることが可能である。よって、併せてタイリングされる別々のビューをそれぞれが含む複数のシーケンスを作成する。前述のシーケンスはその場合、擬似ビューを形成し、ここで、各擬似ビューは、別々のN個のタイリングされたビューを含む。
図1は一擬似ビューを示し、
図2は別の擬似ビューを示す。これらの擬似ビューは次いで、ISO/IECMPEG−2標準及びMPEG−4 AVC標準などの既存のビデオ符号化標準を使用して符号化することが可能である。
【0030】
マルチビュー符号化の更に別の手法は単に、新たな標準を使用して、別々のビューを独立して符号化し、復号化後、プレイヤによって要求されるようにビューをタイリングすることが関係する。
【0031】
更に、別の手法では、ビューは、画素単位のやり方でタイリングすることも可能である。例えば、4つのビューを含むスーパービューでは、画素(x,y)はビュー0からであり得る一方、画素(x+1,y)はビュー1からであり得、画素(x,y+1)はビュー2からであり得、画素(x+1,y+1)はビュー3からであり得る。
【0032】
多くのディスプレイ製造業者は、単一のフレーム上に別々のビューを配置又はタイリングし、次いで、それぞれの位置からのビューを抽出し、それらをレンダリングする前述のフレームワークを使用する。前述の場合には、ビットストリームがそのような特性を有しているかを判定する標準的なやり方は存在しない。よって、システムが、大きなフレームにおいて別々のビューのピクチャをタイリングする方法を使用する場合、別々のビューを抽出する方法は専用のものである。
【0033】
しかし、ビットストリームがそのような特性を有しているかを判定する標準的なやり方は存在しない。本出願では、表示又は他の後処理を支援するために前述の情報をレンダラ又はプレイヤが抽出することを容易にするために高水準構文を提案している。更に、サブピクチャが別々の解像度を有し、当該ビューを最終的にレンダリングするために、ある程度のアップサンプリングが必要であり得るということも考えられる。ユーザは、高水準構文にアップサンプルの方法を示させたいことがあり得る。更に、焦点深度を変えるためのパラメータも送信することが可能である。
【0034】
一実施例では、別のビューに属するサブピクチャを各ピクチャが含むMPEG−4AVC標準互換ビットストリームにおいてマルチビュー情報をシグナリングするための新たな付加拡張情報(SEI)を提案している。実施例は、前述のフレームワークを使用し得る3次元(3D)モニタに対する、マルチビュー・ビデオ・ストリームの簡単かつ便利な表示を意図している。上記概念は、高水準構文を使用した前述の情報をシグナリングする他のビデオ符号化標準及び勧告に拡張することが可能である。
【0035】
更に、一実施例では、マルチビュー・ビデオ符号化器及び/又は復号化器に送出される前にビューをどのようにして配置するかというシグナリング方法を提案している。効果的には、実施例は、マルチビュー符号化の単純化された実現形態につながり得、符号化効率を向上させ得る。特定のビューを集約し、擬似ビュー又はスーパービューを形成することが可能であり、次いで、タイリングされたスーパービューは、例えば、マルチビュー・ビデオ符号化の現行のMPEG−4 AVC標準ベースの実現形態のように、通常のマルチビュー・ビデオ符号化器及び/又は復号化器により、通常のビューとして扱われる。表1に示す新たなフラグは、擬似ビューの手法の使用をシグナリングするためにマルチビュー・ビデオ符号化のシーケンス・パラメータ・セット(SPS)の拡張において提案されている。実施例は、前述のフレームワークを使用し得る3Dモニタ上の、マルチビュー・ビデオ・ストリームの簡単かつ便利な表示を意図している。
【0036】
マルチビュー符号化の別の手法には、考えられるダウンサンプリング動作により、より大きなフレーム上又はスーパーフレーム上に(同時にサンプリングされた)ビューそれぞれからのピクチャをタイリングすることが関係する。
図1を参照するに、単一のフレーム上にタイリングされた4つのビューの例の全体を参照符号100で示す。
図2に移れば、単一のフレーム上で反転させ、タイリングされた4つのビューの例の全体を参照符号200で示す。よって、4つのビューが存在する場合、各ビューからのピクチャが、タイルのようなスーパーフレームに配置される。これは、解像度が大きな、符号化されていない単一の入力シーケンスをもたらす。前述の信号は次いで、ISO/IECMPEG−2標準及びMPEG−4 AVC標準などの既存のビデオ符号化標準を使用して符号化することが可能である。
【0037】
図3に移れば、MPEG−4標準 AVCに応じてビデオ符号化を行うことができるビデオ符号化器全体を参照符号300で示す。
【0038】
ビデオ符号化器300は、合成器385の非反転入力と信号通信する出力を有するフレーム配列バッファ310を含む。合成器385の出力は、変換器及び量子化器325の第1の入力と信号通信で接続される。変換器及び量子化器325の出力は、エントロピ符号化器345の第1の入力、並びに、逆変換器及び逆量子化器350の第1の入力と信号通信で接続される。エントロピ符号化器345の出力は合成器390の第1の非反転出力と信号通信で接続される。合成器390の出力は出力バッファ335の第1の入力と信号通信で接続される。
【0039】
符号化器コントローラ305の第1の出力は、フレーム配列バッファ310の第2の入力、逆変換器及び逆量子化器350の第2の入力、ピクチャ・タイプ決定モジュール315の入力、マクロブロック−タイプ(MBタイプ)決定モジュール320の入力、イントラ予測モジュール360の第2の入力、デブロッキング・フィルタ365の第2の入力、動き補償器370の第1の入力、動き推定器375の第1の入力、及び参照ピクチャ・バッファ380の第2の入力と信号通信で接続される。
【0040】
符号化器コントローラ305の第2の出力は、付加拡張情報(SEI)挿入器330の第1の入力、変換器及び量子化器325の第2の入力、エントロピ符号化器345の第2の入力、出力バッファ335の第2の入力、並びに、シーケンス・パラメータ・セット(SPS)及びピクチャ・パラメータ・セット(PPS)挿入器340の入力と信号通信で接続される。
【0041】
ピクチャ・タイプ決定モジュール315の第1の出力はフレーム配列バッファ310の第3の入力と信号通信で接続される。ピクチャ・タイプ決定モジュール315の第2の出力は、マクロブロックタイプ決定モジュール320の第2の入力と信号通信で接続される。
【0042】
シーケンス・パラメータ・セット(SPS)及びピクチャ・パラメータ・セット(PPS)挿入器340の出力は合成器390の第3の非反転入力と信号通信で接続される。SEI挿入器330の出力は、合成器390の第2の非反転入力と信号通信で接続される。
【0043】
逆量子化器及び逆変換器350の出力は、合成器319の第1の非反転入力と信号通信で接続される。合成器319の出力は、デブロッキング・フィルタ365の第1の入力、及びイントラ予測モジュール360の第1の入力と信号通信で接続される。デブロッキング・フィルタ365の出力は参照ピクチャ・バッファ380の第1の入力と信号通信で接続される。参照ピクチャ・バッファ380の出力は、動き推定器375の第2の入力及び動き補償器370の第1の入力と信号通信で接続される。動き推定器375の第1の出力は動き補償器370の第2の入力と信号通信で接続される。動き推定器375の第2の出力はエントロピ符号化器345の第3の入力と信号通信で接続される。
【0044】
動き補償器370の出力はスイッチ397の第1の入力と信号通信で接続される。イントラ予測モジュール360の出力はスイッチ397の第2の入力と信号通信で接続される。
マクロブロックタイプ決定モジュール320の出力は、スイッチ397に制御入力を供給するためにスイッチ397の第3の入力と信号通信で接続される。スイッチ397の第3の入力は、(制御入力、すなわち第3の入力と比較して)スイッチの「データ」入力を動き補償器370によって供給するか、イントラ予測モジュール360によって供給するかを判定する。スイッチ397の出力は、合成器319の第2の非反転入力、及び合成器385の反転入力と信号通信で接続される。
【0045】
フレーム配列バッファ310及び符号化器コントローラ105の入力は、入力ピクチャ301を受け取るために、符号化器300の入力として利用可能である。更に、付加拡張情報(SEI)挿入器330の入力は、メタデータを受け取るために、符号化器300の入力として利用可能である。出力バッファ335の出力は、ビットストリームを出力するために、符号化器300の入力として利用可能である。
【0046】
図4に移れば、MPEG−4標準に応じてビデオ復号化を行うことができるビデオ復号化器の全体を参照符号400で示す。
【0047】
ビデオ復号化器400は、エントロピ復号化器445の第1の入力と信号通信で接続された出力を有する入力バッファ410を含む。エントロピ復号化器445の第1の出力は、逆変換器及び逆量子化器450の第1の入力と信号通信で接続される。逆変換器及び逆量子化器450の出力は、合成器425の第2の非反転入力と信号通信で接続される。合成器425の出力は、デブロッキング・フィルタ465の第2の入力及びイントラ予測モジュール460の第1の入力と信号通信で接続される。デブロッキング・フィルタ465の第2の出力は、参照ピクチャ・バッファ480の第1の入力と信号通信で接続される。参照ピクチャ・バッファ480の出力は、動き補償器470の第2の入力と信号通信で接続される。
【0048】
エントロピ復号化器445の第2の出力は、動き補償器470の第3の入力及びデブロッキング・フィルタ465の第1の入力と信号通信で接続される。エントロピ復号化器445の第3の出力は復号化器コントローラ405の入力と信号通信で接続される。復号化器コントローラ405の第1の出力はエントロピ復号化器445の第2の入力と信号通信で接続される。復号化器コントローラ405の第2の出力は、逆変換器及び逆量子化器450の第2の入力と信号通信で接続される。復号化器コントローラ405の第3の出力はデブロッキング・フィルタ465の第3の入力と信号通信で接続される。復号化器コントローラ405の第4の出力は、イントラ予測モジュール460の第2の入力、動き補償器470の第1の入力、及び参照ピクチャ・バッファ480の第2の入力と信号通信で接続される。
【0049】
動き補償器470の出力は、スイッチ497の第1の入力と信号通信で接続される。イントラ予測モジュール460の出力はスイッチ497の第2の入力と信号通信で接続される。スイッチ497の出力は、合成器425の第1の非反転入力と信号通信で接続される。
【0050】
入力バッファ410の入力は、入力ビットストリームを受け取るために、復号化器400の入力として利用可能である。デブロッキング・フィルタ465の第1の出力は、出力ピクチャを出力するために、復号化器400の出力として利用可能である。
【0051】
図5に移れば、MPEG−4AVC標準を使用して複数のビューのピクチャを符号化する例示的な方法の全体を参照符号500で示す。
【0052】
方法500は、機能ブロック504に制御を渡す開始ブロック502を含む。機能ブロック504は、タイル形式におけるサブピクチャとして特定のタイムインスタンスにおいて各ビューを構成し、制御を機能ブロック506に渡す。機能ブロック506は、構文要素num_coded_views_minuslを設定し、制御を機能ブロック508に渡す。機能ブロック508は、構文要素org_pic_width_in_mbs_minusl及びorg_pic_height_in_mbs_minuslを設定し、制御を機能ブロック510に渡す。機能ブロック510は変数iをゼロに等しく設定し、制御を決定ブロック512に渡す。決定ブロック512は、変数iがビューの数よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック514に渡される。さもなければ、制御は機能ブロック524に渡される。
【0053】
機能ブロック514は構文要素view_id[i]を設定し、制御を機能ブロック516に渡す。機能ブロック516は、構文要素num_parts[view_id[i]]を設定し、制御を機能ブロック518に渡す。機能ブロック518は変数jをゼロに等しく設定し、制御を決定ブロック520に渡す。決定ブロック520は、変数jの現在値が構文要素num_parts[view_id[i]]よりも少ないか否かを判定する。肯定の場合、制御を機能ブロック522に渡す。さもなければ、制御を機能ブロック528に渡す。
【0054】
機能ブロック522は、depth_flag[view_id[i]][j]; flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j];frame_crop_left_offset[view_id[i]][j]; frame_crop_right_offset[view_id[i]][j]; frame_crop__top_offset[view_id[i]][j];及びframe_crop_bottom_offset[view_id[i]][j]
の構文要素を設定し、変数jを増やし、次いで、制御を決定ブロック520に戻す。
【0055】
機能ブロック528は構文要素upsample_view_flag[view_id[i]]を設定し、制御を決定ブロック530に渡す。決定ブロック530は、構文要素upsample_view_flag[view_id[i]]の現在値が1に等しいか否かを判定する。肯定の場合、制御は機能ブロック532に渡される。さもなければ、制御は決定ブロック534に渡される。
【0056】
機能ブロック532は、構文要素upsample_filter[view_id[i]]を設定し、制御を決定ブロック534に渡す。
【0057】
決定ブロック534は、構文要素upsample_filter[view_id[i]]の現在値が3に等しいか否かを判定する。肯定の場合、制御は機能ブロック536に渡される。さもなければ、制御は機能ブロック540に渡される。
【0058】
機能ブロック536は、vert_dim[view_id[i]];hor_dim[view_id[i]];及びquantizer[view_id[i]]の構文要素を設定し、制御を機能ブロック538に渡す。
【0059】
機能ブロック538は、YUV成分毎のフィルタ係数を設定し、制御を機能ブロック540に渡す。
【0060】
機能ブロック540は変数iを増やし、制御を決定ブロック512に戻す。
【0061】
機能ブロック524は前述の構文要素を、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、付加拡張情報(SEI)メッセージ、ネットワーク抽象化レイヤ(NAL)ユニット・ヘッダ、及びスライス・ヘッダの少なくとも1つに書き込み、制御を機能ブロック526に渡す。機能ブロック526は、MPEG−4 AVC標準又は他の単一ビュー・コーデックを使用して各ピクチャを符号化し、制御を終了ブロック599に渡す。
【0062】
図6に移れば、MPEG−4AVC標準を使用して複数のビューのピクチャを復号化する例示的な方法の全体を参照符号600で示す。
【0063】
方法600は、機能ブロック604に制御を渡す開始ブロック602を含む。機能ブロック604は、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、付加拡張情報(SEI)メッセージ、ネットワーク抽象化レイヤ(NAL)ユニット・ヘッダ、及びスライス・ヘッダの少なくとも1つから当該構文要素を解析し、制御を機能ブロック606に渡す。機能ブロック606は、構文要素num_coded_views_minuslを解析し、制御を機能ブロック608に渡す。機能ブロック608は、構文要素org_pic_width_in_mbs_minusl及びorg_pic_height_in_mbs_minuslを解析し、制御を機能ブロック610に渡す。機能ブロック610は変数iをゼロに等しく設定し、制御を決定ブロック612に渡す。決定ブロック612は、変数iがビューの数よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック614に渡される。さもなければ、制御は機能ブロック624に渡される。
【0064】
機能ブロック614は、構文要素view_id[i]を解析し、制御を機能ブロック616に渡す。機能ブロック616は構文要素num_parts_minusl[view_id[i]]を解析し、制御を機能ブロック618に渡す。機能ブロック618は変数jをゼロに等しく設定し、制御を決定ブロック620に渡す。決定ブロック620は、変数jの現在値が構文要素num_parts[view_id[i]]の現在値よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック622に渡される。さもなければ、制御は機能ブロック628に渡される。
【0065】
機能ブロック622は、depth_flag[view_id[i]][j]; flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; frame_crop_left_offset[view_id[i]][j]; frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j]; 及び frame_crop_bottom_offset[view_id[i]][j]
の構文要素を解析し、変数jを増やし、次いで、制御を決定ブロック620に戻す。
【0066】
機能ブロック628は構文要素upsample_view_flag[view_id[i]]を解析し、制御を決定ブロック630に渡す。決定ブロック630は、構文要素upsample_view_flag[view_id[i]]の現在値が1に等しいか否かを判定する。肯定の場合、制御は機能ブロック632に渡される。さもなければ、制御は決定ブロック634に渡される。
【0067】
機能ブロック632は、構文要素upsample_filter[view_id[i]]を解析し、制御を決定ブロック634に渡す。
【0068】
決定ブロック634は、構文要素upsample_filter[view_id[i]]の現在値が3に等しいか否かを判定する。肯定の場合、制御は機能ブロック636に渡される。さもなければ、制御は機能ブロック640に渡される。
【0069】
機能ブロック636は、vert_dim[view_id[i]]; hor_dim[view_id[i]]; 及び quantizer[view_id[i]]
の構文要素を解析し、制御を機能ブロック638に渡す。
【0070】
機能ブロック638は、YUV成分毎のフィルタ係数を解析し、制御を機能ブロック640に渡す。
【0071】
機能ブロック640は変数iを増やし、制御を決定ブロック612に戻す。
【0072】
機能ブロック624は、MPEG−4AVC標準又は他の単一ビューのコーデックを使用して各ピクチャを復号化し、制御を機能ブロック626に渡す。機能ブロック626は、高水準構文を使用してピクチャから各ビューを分離し、制御を終了ブロック699に制御を渡す。
【0073】
図7に移れば、MPEG−4AVC標準を使用して複数のビュー及び深度のピクチャを符号化する例示的な方法の全体を参照符号700で示す。
【0074】
方法700は、機能ブロック704に制御を渡す開始ブロック702を含む。機能ブロック704は、タイル形式におけるサブピクチャとして特定のタイムインスタンスにおいて各ビュー及び対応する深度を構成し、制御を機能ブロック706に渡す。機能ブロック706は、構文要素num_coded_views_minuslを設定し、制御を機能ブロック708に渡す。機能ブロック708は、構文要素org_pic_width_in_mbs_minusl及びorg_pic_height_in_mbs_minuslを設定し、制御を機能ブロック710に渡す。機能ブロック710は変数iをゼロに等しく設定し、制御を決定ブロック712に渡す。決定ブロック712は、変数iがビューの数よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック714に渡される。さもなければ、制御は機能ブロック724に渡される。
【0075】
機能ブロック714は、構文要素view_id[i]を設定し、制御を機能ブロック716に渡す。機能ブロック716は構文要素num_parts[view_id[i]]を設定し、制御を機能ブロック718に渡す。機能ブロック718は変数jをゼロに等しく設定し、制御を決定ブロック720に渡す。決定ブロック720は、変数jの現在値が構文要素num_parts[view_id[i]]の現在値よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック722に渡される。さもなければ、制御は機能ブロック728に渡される。
【0076】
機能ブロック722は、depth_flag[view_id[i]][j]; flip_dir[view_id[i]][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; frame_crop_left_offset[view_id[i]][j]; frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j]; 及び frame_crop_bottom_offset[view_id[i]][j]
の構文要素を設定し、変数jを増やし、次いで、制御を決定ブロック720に戻す。
【0077】
機能ブロック728は構文要素upsample_view_flag[view_id[i]]を設定し、制御を決定ブロック730に渡す。決定ブロック730は、構文要素upsample_view_flag[view_id[i]]の現在値が1に等しいか否かを判定する。肯定の場合、制御は機能ブロック732に渡される。さもなければ、制御は決定ブロック734に渡される。
【0078】
機能ブロック732は構文要素upsample_view_flag[view_id[i]]を設定し、制御を決定ブロック734に渡す。
【0079】
決定ブロック734は、構文要素upsample_filter[view_id[i]]の現在値が3に等しいか否かを判定する。肯定の場合、制御は機能ブロック736に渡される。さもなければ、制御は機能ブロック740に渡される。
【0080】
機能ブロック736は、vert_dim[view_id[i]]; hor_dim[view_id[i]]; 及びquantizer[view_id[i]]の構文要素を設定し、制御を機能ブロック738に渡す。
【0081】
機能ブロック738は、YUV成分毎のフィルタ係数を設定し、制御を機能ブロック740に渡す。
【0082】
機能ブロック740は変数iを増やし、制御を決定ブロック712に戻す。
【0083】
機能ブロック724は、前述の構文要素を、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、付加拡張情報(SEI)メッセージ、ネットワーク抽象化レイヤ(NAL)ユニット・ヘッダ、及びスライス・ヘッダの少なくとも1つに前述の構文要素を書き込み、制御を機能ブロック726に渡す。機能ブロック726は、MPEG−4 AVC標準又は他の単一ビューのコーデックを使用して各ピクチャを符号化し、制御を終了ブロック799に渡す。
【0084】
図8に移れば、MPEG−4AVC標準を使用して複数のビュー及び深度のピクチャを復号化する例示的な方法の全体を参照符号800で示す。
【0085】
方法800は、機能ブロック804に制御を渡す開始ブロック802を含む。機能ブロック804は、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、付加拡張情報(SEI)メッセージ、ネットワーク抽象化レイヤ(NAL)ユニット・ヘッダ、及びスライス・ヘッダの少なくとも1つから当該構文要素を解析し、制御を機能ブロック806に渡す。機能ブロック806は、構文要素num_coded_views_minuslを解析し、制御を機能ブロック808に渡す。機能ブロック808は、構文要素org_pic_width_in_mbs_minusl及びorg_pic_height_in_mbs_minuslを解析し、制御を決定ブロック810に渡す。決定ブロック810は変数iをゼロに等しく設定し、制御を決定ブロック812に渡す。決定ブロック812は、変数iがビューの数よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック814に渡される。さもなければ、制御は機能ブロック824に渡される。
【0086】
機能ブロック814は構文要素view_id[i]を解析し、制御を機能ブロック816に渡す。機能ブロック816は、構文要素num_parts_minus1[view_id[i]]を解析し、制御を機能ブロック818に渡す。機能ブロック818は変数jをゼロに等しく設定し、制御を決定ブロック820に移す。決定ブロック820は、変数jの現在値が構文要素num_parts[view_id[i]]の現在値よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック822に渡される。さもなければ、制御は機能ブロック828に渡される。
【0087】
機能ブロック822は、depth_flag[view_id[i]][j]; flip_dir[view_id[i][j]; loc_left_offset[view_id[i]][j]; loc_top_offset[view_id[i]][j]; frame_crop_left_offset[view_id[i]][j]; frame_crop_right_offset[view_id[i]][j]; frame_crop_top_offset[view_id[i]][j] ; 及び frame_crop_bottom_offset[view_id[i]][j]
の構文要素を解析し、変数jを増やし、次いで、制御を決定ブロック820に戻す。
【0088】
機能ブロック828は構文要素upsample_view_flag[view_id[i]]を解析し、制御を決定ブロック830に渡す。決定ブロック830は、構文要素upsample_view_flag[view_id[i]]の現在値が1に等しいか否かを判定する。肯定の場合、制御は機能ブロック832に渡される。さもなければ、制御は決定ブロック834に渡される。
【0089】
機能ブロック832は、構文要素upsample_filter[view_id[i]]を解析し、制御を決定ブロック834に渡す。
【0090】
決定ブロック834は、構文要素upsample_filter[view_id[i]]の現在値が3に等しいか否かを判定する。肯定の場合、制御は機能ブロック836に渡される。さもなければ、制御は機能ブロック840に渡される。
【0091】
機能ブロック836は、vert_dim[view_id[i]]; hor_dim[view_id[i]]; 及び quantizer[view_id[i]]の構文要素を解析し、制御を機能ブロック838に渡す。
【0092】
機能ブロック838は、YUV成分毎のフィルタ係数を解析し、制御を機能ブロック840に渡す。
【0093】
機能ブロック840は、変数iを増やし、制御を決定ブロック812に戻す。
【0094】
機能ブロック824は、MPEG−4AVC標準又は他の単一ビュー・コーデックを使用して各ピクチャを復号化し、制御を機能ブロック826に渡す。機能ブロック826は、高水準構文を使用してピクチャから、各ビュー及び対応する深度を分離し、制御を機能ブロック827に渡す。機能ブロック827は潜在的には、抽出されたビュー及び深度信号を使用してビュー合成を行い、制御を終了ブロック899に渡す。
【0095】
図7及び
図8において使用する深度に関し、
図9は、深度信号900の例を示し、深度は、画像の対応する位置毎の画素値として与えられる(図示せず)。更に、
図10は、タイル1000に含まれる2つの深度信号の例を示す。タイル1000の右上部分は、タイル1000の左上の画像に対応する深度値を有する深度信号である。タイル1000の右下部分は、タイル1000の左下の画像に対応する深度値を有する深度信号である。
【0096】
図11に移れば、単一のフレーム上にタイリングされた5つのビューの例の全体を参照符号1100で示す。上の4つのビューは通常の向きにある。5番目のビューも、通常の向きにあるが、タイル1100の最下部に沿った2つの部分に分離される。5番目のビューの左部分は5番目のビューの「最上部」を示し、5番目のビューの右部分は、5番目のビューの「最下部」を示す。
【0097】
図12に移れば、例示的なマルチビュー・ビデオ符号化(MVC)符号化器の全体を参照符号1200で示す。符号化器1200は、変換器1210の入力と信号通信で接続された出力を有する合成器1205を含む。変換器1210の出力は、量子化器1215の入力と信号通信で接続される。量子化器1215の出力は、エントロピ符号化器1220の入力及び逆量子化器1225の入力と信号通信で接続される。逆量子化器1225の出力は、逆変換器1230の入力と信号通信で接続される。逆変換器1230の出力は、合成器1235の第1の非反転入力と信号通信で接続される。合成器1235の出力はデブロッキング・フィルタ1250の入力及びイントラ予測器1245の入力と信号通信で接続される。デブロッキング・フィルタ1250の出力は、(ビューiの場合の)参照ピクチャ記憶装置1255の入力と信号通信で接続される。参照ピクチャ記憶装置1255の出力は、動き補償器1275の第1の入力及び動き推定器1280の第1の入力と信号通信で接続される。動き推定器1280の出力は、動き補償器1275の第2の入力と信号通信で接続される。
【0098】
(他のビューの場合の)参照ピクチャ記憶装置1260の出力は、ディスパリティ推定器1270の第1の入力及びディスパリティ補償器1265の第1の入力と信号通信で接続される。ディスパリティ推定器1270の出力は、ディスパリティ補償器1265の第2の入力と信号通信で接続される。
【0099】
エントロピ復号化器1220の出力は符号化器1200の出力として利用可能である。合成器1205の非反転入力は符号化器1200の入力として利用可能であり、ディスパリティ推定器1270の第2の入力及び動き推定器1280の第2の入力と信号通信で接続される。スイッチ1285の出力は、合成器1235の第2の非反転入力及び合成器1205の反転入力と信号通信で接続される。スイッチ1285は、イントラ予測器1245の出力と信号通信で接続された第3の入力、ディスパリティ補償器1265の出力と信号通信で接続された第2の入力、及び動き補償器1275の出力と信号通信で接続された第1の入力を含む。
【0100】
モード決定モジュール1240は、スイッチ1285により、どの入力が選択されるかを制御するためにスイッチ1285に接続された出力を有する。
【0101】
図13に移れば、例示的なマルチビュー・ビデオ符号化(MVC)復号化器の全体を参照符号1300で示す。復号化器1300は、逆量子化器1310の入力と信号通信で接続された出力を有するエントロピ復号化器1305を含む。逆量子化器の出力は、逆変換器1315の入力と信号通信で接続される。逆変換器1315の出力は、合成器1320の第1の非反転入力と信号通信で接続される。合成器1320の出力は、デブロッキング・フィルタ1325の入力及びイントラ予測器1330の入力と信号通信で接続される。デブロッキング・フィルタ1325の出力は、(ビューiの場合、)参照ピクチャ記憶装置1340の入力と信号通信で接続される。参照ピクチャ記憶装置1340の出力は、動き補償器1335の第1の入力と信号通信で接続される。
【0102】
(他のビューの場合の)参照ピクチャ記憶装置1345の出力は、ディスパリティ補償器1350の第1の入力と信号通信で接続される。
【0103】
エントロピ符号化器1305の入力は、残差ビットストリームを受け取るために、復号化器1300への入力として利用可能である。更に、モード・モジュール1360の入力は、どの入力がスイッチ1355によって選択されるかを制御する旨の制御構文を受け取るために、復号化器への入力としても利用可能である。更に、動き補償器1335の第2の入力は、動きベクトルを受け取るために、復号化器1300の入力として利用可能である。更に、ディスパリティ補償器1350の第2の入力は、ディスパリティ・ベクトルを受け取るために、復号化器1300への入力として利用可能である。
【0104】
スイッチ1355の出力は合成器1320の第2の非反転入力と信号通信で接続される。スイッチ1355の第1の入力は、ディスパリティ補償器1350の出力と信号通信で接続される。スイッチ1355の第2の入力は、動き補償器1335の出力と信号通信で接続される。スイッチ1355の第3の入力は、イントラ予測器1330の出力と信号通信で接続される。モード・モジュール1360の出力は、スイッチ1355により、どの入力が選択されるかを制御するためにスイッチ1355と信号通信で接続される。デブロッキング・フィルタ1325の出力は復号化器1300の出力として利用可能である。
【0105】
図14に移れば、MPEG−4AVC標準のマルチビュー・ビデオ符号化(MVC)拡張を使用してピクチャを符号化するための準備として複数のビューのピクチャを処理する例示的な方法の全体を参照符号1400で示す。
【0106】
方法1400は、機能ブロック1410に制御を渡す開始ブロック1405を含む。機能ブロック1410は、タイル形式でスーパーピクチャとして特定のタイムインスタンスで、合計M個のビューのうちのN個毎のビューを構成する。機能ブロック1415は、構文要素num_coded_views_minuslを設定し、制御を機能ブロック1420に渡す。機能ブロック1420は、(num_coded_views_minusl+1)ビュー全ての構文要素view_id[i]を設定し、制御を機能ブロック1425に渡す。機能ブロック1425は、アンカ・ピクチャのビュー間参照依存度情報を設定し、制御を機能ブロック1430に渡す。機能ブロック1430は、非アンカ・ピクチャのビュー間参照依存度情報を設定し、制御を機能ブロック1435に渡す。機能ブロック1435は、構文要素pseudo_view_present_flagを設定し、制御を決定ブロック1440に渡す。決定ブロック1440は、構文要素pseudo_view_present_flagが真(true)に等しいか否かを判定する。肯定の場合、制御は機能ブロック1445に渡される。さもなければ、制御は終了ブロック1499に渡される。
【0107】
機能ブロック1445は、tiling_mode; org_pic_width_in_mbs_minusl; 及び org_pic_height_in_mbs_minusl
の構文要素を設定し、制御を機能ブロック1450に渡す。機能ブロック1450は、符号化されたビュー毎に構文要素pseudo_view_info(view_id)を呼び出し、制御を終了ブロック1499に渡す。
【0108】
図15に移れば、MPEG−4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビューのピクチャを符号化する例示的な方法の全体を参照符号1500で示す。
【0109】
方法1500は、入力パラメータpseudo_view_idを有する開始ブロック1502を含み、制御を機能ブロック1504に渡す。機能ブロック1504は、構文要素num_sub_views_minuslを設定し、制御を機能ブロック1506に渡す。機能ブロック1506は変数iをゼロに等しく設定し、制御を決定ブロック1508に渡す。決定ブロック1508は、変数iが、sub_viewsの数よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック1510に渡される。さもなければ、制御は機能ブロック1520に渡される。
【0110】
機能ブロック1510は、構文要素sub_view_id[i]を設定し、制御を機能ブロック1512に渡す。機能ブロック1512は構文要素num_parts_minusl[sub_view_id[i]]を設定し、制御を機能ブロック1514に渡す。機能ブロック1514は変数jをゼロに等しく設定し、制御を決定ブロック1516に渡す。決定ブロック1516は、変数jが構文要素num_parts_minusl[sub_view_id[i]]よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック1518に渡される。さもなければ、制御は決定ブロック1522に渡される。
【0111】
機能ブロック1518は、loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j]; frame_crop_left_offset[sub_view_id[i]][j]; frame_crop_right_offset[sub_view_id[i]][j]; frame_crop_top_offset[sub_view_id[i]][j]; 及び frame_crop_bottom_offset[sub_view_id[i][j]
の構文要素を解析し、変数jを増やし、制御を決定ブロック1516に戻す。
【0112】
機能ブロック1520は、マルチビュー・ビデオ符号化(MVC)を使用して現在のビューの現在のピクチャを符号化し、制御を終了ブロック1599に渡す。
【0113】
決定ブロック1522は、構文要素tiling_modeがゼロに等しいか否かを判定する。肯定の場合、制御が機能ブロック1524に渡される。さもなければ、制御が機能ブロック1538に渡される。
【0114】
機能ブロック1524は、構文要素flip_dir[sub_view_id[i]]及び構文要素upsample_view_flag[sub_view_id[i]]を設定し、制御を決定ブロック1526に渡す。決定ブロック1526は、構文要素upsample_view_flag[sub_view_id[i]]の現在値が1に等しいか否かを判定する。肯定の場合、制御は機能ブロック1528に渡される。さもなければ、制御は決定ブロック1530に渡される。
【0115】
機能ブロック1528は構文要素upsample_filter[sub_view_id[i]]を設定し、制御を決定ブロック1530に渡す。決定ブロック1530は、構文要素upsample_filter[sub_view_id[i]]の値が3に等しいか否かを判定する。肯定の場合、制御は機能ブロック1532に渡される。さもなければ、制御は機能ブロック1536に渡される。
【0116】
機能ブロック1532は、vert_dim[sub_view_id[i]];hor_dim[sub_view_id[i]];及びquantizer[sub_view_id[i]]の構文要素を設定し、制御を機能ブロック1534に渡す。機能ブロック1534は、YUV成分毎のフィルタ係数を設定し、制御を機能ブロック1536に渡す。
【0117】
機能ブロック1536は変数iを増やし、制御を決定ブロック1508に戻す。
【0118】
機能ブロック1538は、構文要素pixel_dist_x[sub_view_id[i]]及び構文要素flip_dist_y[sub_view_id[i]]を設定し、制御を機能ブロック1540に渡す。機能ブロック1540は変数jをゼロに等しく設定し、制御を決定ブロック1542に渡す。決定ブロック1542は、変数jの現在値が、構文要素num_parts[sub_view_id[i]]の現在値よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック1544に渡される。さもなければ、制御は機能ブロック1536に渡される。
【0119】
機能ブロック1544は、構文要素num_pixel_tiling_filter_coeffs_minusl[sub_view_id[i]]を設定し、機能ブロック1546に制御を渡す。
【0120】
図16に移れば、MPEG−4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用したピクチャの復号化の準備において複数のビューのピクチャを処理する例示的な方法の全体を参照符号1600で示す。
【0121】
方法1600は、制御を機能ブロック1615に渡す開始ブロック1605を含む。機能ブロック1615は、構文要素num_coded_views_minuslを解析し、制御を機能ブロック1620に渡す。機能ブロック1620は、(num_coded_views_minusl+1)個のビュー全ての構文要素ビュー[view_id[i]]を解析し、制御を機能ブロック1625に渡す。機能ブロック1625は、アンカ・ピクチャのビュー間参照依存度情報を解析し、制御を機能ブロック1630に渡す。機能ブロック1630は、非アンカ・ピクチャのビュー間参照依存度情報を解析し、制御を機能ブロック1635に渡す。機能ブロック1635は構文要素pseudo_view_present_flagを解析し、制御を決定ブロック1640に渡す。決定ブロック1640は、構文要素pseudo_view_present_flagの現在値が真に等しいか否かを判定する。肯定の場合、制御は機能ブロック1645に渡される。さもなければ、制御は終了ブロック1699に渡される。
【0122】
機能ブロック1645は、tilingmode; org_pic_width_in_mbs_minusl; 及び org_pic_height_in_mbs_minusl
の構文要素を解析し、制御を機能ブロック1650に戻す。機能ブロック1650は、符号化されたビュー毎に構文要素pseudo_view_info(view_id)を呼び出し、制御を終了ブロック1699に渡す。
【0123】
図17に移れば、MPEG−4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビューのピクチャを復号化する例示的な方法の全体を参照符号1700で示す。
【0124】
方法1700は、入力パラメータpseudo_view_idで開始する開始ブロック1702を含み、制御を機能ブロック1704に渡す。機能ブロック1704は、構文要素num_sub_views_minuslを解析し、制御を機能ブロック1706に渡す。機能ブロック1706は変数iをゼロに等しく設定し、制御を決定ブロック1708に渡す。決定ブロック1708は、変数iが、sub_viewsの数よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック1710に渡される。さもなければ、制御は機能ブロック1720に渡される。
【0125】
機能ブロック1710は、構文要素sub_view_id[i]を解析し、制御を機能ブロック1712に渡す。機能ブロック1712は構文要素num_parts_minusl[sub_view_id[i]]を解析し、制御を機能ブロック1714に渡す。機能ブロック1714は変数jをゼロに等しく設定し、制御を決定ブロック1716に渡す。決定ブロック1716は、変数jが構文要素num_parts_minusl[sub_view_id[i]]よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック1718に渡される。さもなければ、制御は決定ブロック1722に渡される。
【0126】
機能ブロック1718は、loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j] ; frame_crop_left_offset[sub_view_id[i]][j] ; frame_crop_right_offset[sub_view_id[i][j] ; frame_crop_top_offset[sub_view_id[i]][j]; 及び frame_crop_bottom_offset[sub_view_id[i][j]
の構文要素を設定し、変数jを増やし、次いで、制御を決定ブロック1716に戻す。
【0127】
機能ブロック1720は、マルチビュー・ビデオ符号化(MVC)を使用して現在のビューの各ピクチャを復号化し、制御を機能ブロック1721に渡す。機能ブロック1721は、高水準構文を使用してピクチャから各ビューを分離し、制御を終了ブロック1799に渡す。
【0128】
復号化されたピクチャからの各ビューの分離は、ビットストリームに示された高水準構文を使用して行われる。この高水準構文は、ピクチャに存在しているビュー(及び考えられる対応する深度)の正確な位置及び考えられる向きを示し得る。
【0129】
決定ブロック1722は、構文要素tiling_modeがゼロに等しいか否かを判定する。肯定の場合、制御は機能ブロック1724に渡される。さもなければ、制御は機能ブロック1738に渡される。
【0130】
機能ブロック1724は、flip_dir[sub_view_id[i]]及び構文要素upsample_view_flag[sub_view_id[i]]を解析し、制御を決定ブロック1726に渡す。決定ブロック1726は、構文要素upsample_view_flag[sub_view_id[i]]の現在値が1に等しいか否かを判定する。肯定の場合、制御は機能ブロック1728に渡される。さもなければ、制御は決定ブロック1730に渡される。
【0131】
機能ブロック1728は構文要素upsample_filter[sub_view_id[i]]を解析し、制御を決定ブロック1730に渡す。決定ブロック1730は、構文要素upsample_filter[sub_view_id[i]]の値が3に等しいか否かを判定する。肯定の場合、制御は機能ブロック1732に渡される。さもなければ、制御は機能ブロック1736に渡される。
【0132】
機能ブロック1732は、vert_dim[sub_view_id[i]];hor_dim[sub_view_id[i]]; 及び quantizer[sub_view_id[i]]
の構文要素を解析し、制御を機能ブロック1734に渡す。機能ブロック1734は、YUV成分毎のフィルタ係数を解析し、制御を機能ブロック1736に渡す。
【0133】
機能ブロック1736は変数iを増やし、制御を決定ブロック1708に戻す。
【0134】
機能ブロック1738は、構文要素pixel_dist_x[sub_view_id[i]]及び構文要素flip_dist_y[sub_view_id[i]]を解析し、制御を機能ブロック1740に渡す。機能ブロック1740は変数jをゼロに等しく設定し、制御を決定ブロック1742に渡す。決定ブロック1742は、変数jの現在値が、構文要素num_parts[sub_view_id[i]]の現在値よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック1744に渡される。さもなければ、制御は機能ブロック1736に渡される。
【0135】
機能ブロック1744は、構文要素num_pixel_tiling_filter_coeffs_minusl[sub_view_id[i]]を解析し、制御を機能ブロック1746に渡す。機能ブロック1776は、画素タイリング・フィルタ全ての係数を解析し、制御を機能ブロック1736に渡す。
【0136】
図18に移れば、MPEG−4 AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用したピクチャの符号化の準備において複数のビュー及び深度についてピクチャを処理する例示的な方法全体を参照符号1800で示す。
【0137】
方法1800は、機能ブロック1810に制御を渡す開始ブロック1805を含む。機能ブロック1810は、タイル形式でのスーパーピクチャとして特定のタイムインスタンスで、合計M個のビュー及び深度マップのうちのN個毎のビュー及び深度マップを構成すし、制御を機能ブロック1815に渡す。機能ブロック1815は、構文要素num_coded_views_minuslを設定し、制御を機能ブロック1820に渡す。機能ブロック1820は、view_id[i]に対応する(num_coded_views_minusl+1)個の深度全ての構文要素view_id[i]を設定し、制御を機能ブロック1825に渡す。機能ブロック1825は、アンカ深度ピクチャのビュー間参照依存度情報を設定し、制御を機能ブロック1830に渡す。機能ブロック1830は、非アンカ深度ピクチャのビュー間参照依存度情報を設定し、制御を機能ブロック1835に渡す。機能ブロック1835は、構文要素pseudo_view_present_flagを設定し、制御を決定ブロック1840に渡す。決定ブロック1840は、構文要素pseudo_view_present_flagの現在値が真に等しいか否かを判定する。肯定の場合、制御は機能ブロック1845に渡される。さもなければ、制御は終了ブロック1899に渡される。
【0138】
機能ブロック1845は、tilingmode;org_pic_width_in_mbs_minusl;及びorg_pic_height_in_mbs_minuslの構文要素を設定し、制御を機能ブロック1850に戻す。機能ブロック1850は、符号化されたビュー毎に構文要素pseudo_view_info(view_id)を呼び出し、制御を終了ブロック1899に渡す。
【0139】
図19に移れば、MPEG−4 AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビュー及び深度のピクチャを符号化する例示的な方法の全体を参照符号1900で示す。
【0140】
方法1900は、制御を機能ブロック1904に渡す開始ブロック1902を含む。機能ブロック1904は、構文要素num_sub_views_minuslを設定し、制御を機能ブロック1906に渡す。機能ブロック1906は変数iをゼロに等しく設定し、制御を決定ブロック1908に渡す。決定ブロック1908は、変数iが、sub_viewsの数よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック1910に渡される。さもなければ、制御は機能ブロック1920に渡される。
【0141】
機能ブロック1910は、構文要素sub_view_id[i]を設定し、制御を機能ブロック1912に渡す。機能ブロック1912は構文要素num_parts_minusl[sub_view_id[i]]を設定し、制御を機能ブロック1914に渡す。機能ブロック1914は変数jをゼロに等しく設定し、制御を決定ブロック1916に渡す。決定ブロック1916は、変数jが構文要素num_parts_minusl[sub_view_id[i]]よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック1918に渡される。さもなければ、制御は決定ブロック1922に渡される。
【0142】
機能ブロック1918は、loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j]; frame_crop_left_offset[sub_view_id[i]][j]; frame_crop_right_offset[sub_view_id[i]][j] ; frame_crop_top_offset[sub_view_id[i]][j]; 及び frame_crop_bottom_offset[sub_view_id[i][j]
の構文要素を設定し、変数jを増やし、制御を決定ブロック1916に戻す。
【0143】
機能ブロック1920は、マルチビュー・ビデオ符号化(MVC)を使用して現在のビューの現在の深度を符号化し、制御を終了ブロック1999に渡す。深度信号は、その対応するビデオ信号が符号化されるやり方と同様に符号化し得る。例えば、他の深度信号のみを含むか、若しくはビデオ信号のみを含むか、又は深度信号及びビデオ信号をともに含むタイル上にビューの深度信号を含み得る。タイル(擬似ビュー)は次いで、MVCの単一のビューとして扱われ、更に、推測するところ、MVCの他のビューとして扱われる他のタイルも存在している。
【0144】
決定ブロック1922は、構文要素tiling_modeがゼロに等しいか否かを判定する。肯定の場合、制御は機能ブロック1924に渡される。さもなければ、制御は機能ブロック1938に渡される。
【0145】
機能ブロック1924は、構文要素flip_dir[sub_view_id[i]]及び構文要素upsample_view_flag[sub_view_id[i]]を設定し、制御を決定ブロック1926に渡す。決定ブロック1926は、構文要素upsample_view_flag[sub_view_id[i]]の現在値が1に等しいか否かを判定する。肯定の場合、制御は機能ブロック1928に渡される。さもなければ、制御は決定ブロック1930に渡される。
【0146】
機能ブロック1928は構文要素upsample_filter[sub_view_id[i]]を設定し、制御を決定ブロック1930に渡す。決定ブロック1930は、構文要素upsample_filter[sub_view_id[i]]の値が3に等しいか否かを判定する。肯定の場合、制御は機能ブロック1932に渡される。さもなければ、制御は機能ブロック1936に渡される。
【0147】
機能ブロック1932は、vert_dim[sub_view_id[i]];hor_dim[sub_view_id[i]]; 及び quantizer[sub_view_id[i]]
の構文要素を設定し、制御を機能ブロック1934に渡す。機能ブロック1934は、YUV成分毎のフィルタ係数を設定し、制御を機能ブロック1936に渡す。
【0148】
機能ブロック1936は変数iを増やし、制御を決定ブロック1908に戻す。
【0149】
機能ブロック1938は、構文要素pixel_dist_x[sub_view_id[i]]及び構文要素flip_dist_y[sub_view_id[i]]を設定し、制御を機能ブロック1940に渡す。機能ブロック1940は変数jをゼロに等しく設定し、制御を決定ブロック1942に渡す。決定ブロック1942は、変数jの現在値が、構文要素num_parts[sub_view_id[i]]の現在値よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック1944に渡される。さもなければ、制御は機能ブロック1936に渡される。
【0150】
機能ブロック1944は、構文要素num_pixel_tiling_filter_coeffs_minusl[sub_view_id[i]]を解析し、制御を機能ブロック1946に渡す。機能ブロック1946は、画素タイリング・フィルタ全ての係数を設定し、制御を機能ブロック1936に渡す。
【0151】
図20に移れば、MPEG−4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用したピクチャの復号化の準備において複数のビュー及び深度のピクチャを処理する例示的な方法の全体を参照符号2000で示す。
【0152】
方法2000は、制御を機能ブロック2015に渡す開始ブロック2005を含む。機能ブロック2015は、構文要素num_coded_views_minuslを解析し、制御を機能ブロック2020に渡す。機能ブロック2020は、view_id[i]に対応する(num_coded_views_minusl+1)個の深度全ての構文要素view_id[i]を解析し、制御を機能ブロック2025に渡す。機能ブロック2025は、アンカ深度ピクチャのビュー間参照依存度情報を解析し、制御を機能ブロック2030に渡す。機能ブロック2030は、非アンカ深度ピクチャのビュー間参照依存度情報を解析し、制御を機能ブロック2035に渡す。機能ブロック2035は構文要素pseudo_view_present_flagを解析し、制御を決定ブロック2040に渡す。決定ブロック2040は、構文要素pseudo_view_present_flagの現在値が真に等しいか否かを判定する。肯定の場合、制御は機能ブロック2045に渡される。さもなければ、制御は終了ブロック2099に渡される。
【0153】
機能ブロック2045は、tilingmode;org_pic_width_in_mbs_minusl;及びorg_pic_height_in_mbs_minusl
の構文要素を解析し、制御を機能ブロック2050に渡す。機能ブロック2050は、符号化されたビュー毎に構文要素pseudo_view_info(view_id)を呼び出し、制御を終了ブロック2099に渡す。
【0154】
図21に移れば、MPEG−4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビュー及び深度のピクチャを復号化する例示的な方法の全体を参照符号2100で示す。
【0155】
方法2100は、入力パラメータpseudo_view_idで開始する開始ブロック2102を含み、制御を機能ブロック2104に渡す。機能ブロック2104は、構文要素num_sub_views_minuslを解析し、制御を機能ブロック2106に渡す。機能ブロック2106は、変数iをゼロに等しく設定し、制御を決定ブロック2108に渡す。決定ブロック2108は、変数iがsub_viewsの数よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック2110に渡される。さもなければ、制御は機能ブロック2120に渡される。
【0156】
機能ブロック2110は、構文要素sub_view_id[i]を設定し、制御を機能ブロック2112に渡す。機能ブロック2112は構文要素num_parts_minusl[sub_view_id[i]]を設定し、制御を機能ブロック2114に渡す。機能ブロック2114は変数jをゼロに等しく設定し、制御を決定ブロック2116に渡す。決定ブロック2116は、変数jが構文要素num_parts_minusl[sub_view_id[i]]よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック2118に渡される。さもなければ、制御は決定ブロック2122に渡される。
【0157】
機能ブロック2118は、loc_left_offset[sub_view_id[i]][j]; loc_top_offset[sub_view_id[i]][j]; frame_crop_left_offset[sub_view_id[i]][j]; frame_crop_right_offset[sub_view_id[i]][j]; frame_crop_top_offset[sub_view_id[i]][j]; 及びframe_crop_bottom_offset[sub_view_id[i]][j]
の構文要素を設定し、変数jを増やし、次いで、制御を決定ブロック2116に戻す。
【0158】
機能ブロック2120は、マルチビュー・ビデオ符号化(MVC)を使用して現在のピクチャを復号化し、制御を機能ブロック2121に渡す。機能ブロック2121は、高水準構文を使用してピクチャから各ビューを分離し、制御を終了ブロック2199に渡す。高水準構文を使用した各ビューの分離は上述の通りである。
【0159】
決定ブロック2122は、構文要素tiling_modeがゼロに等しいか否かを判定する。肯定の場合、制御が機能ブロック2124に渡される。さもなければ、制御が機能ブロック2138に渡される。
【0160】
機能ブロック2124は、構文要素flip_dir[sub_view_id[i]]及び構文要素upsample_view_flag[sub_view_id[i]]を解析し、制御を決定ブロック2126に渡す。決定ブロック2126は、構文要素upsample_view_flag[sub_view_id[i]]の現在値が1に等しいか否かを判定する。肯定の場合、制御は機能ブロック2128に渡される。さもなければ、制御は決定ブロック2130に渡される。
【0161】
機能ブロック2128は構文要素upsample_filter[sub_view_id[i]]を解析し、制御を決定ブロック2130に渡す。決定ブロック2130は、構文要素upsample_filter[sub_view_id[i]]の値が3に等しいか否かを判定する。肯定の場合、制御は機能ブロック2132に渡される。さもなければ、制御は機能ブロック2136に渡される。
【0162】
機能ブロック2132は、vert_dim[sub_view_id[i]];hor_dim[sub_view_id[i]]; 及び quantizer[sub_view_id[i]]
の構文要素を解析し、制御を機能ブロック2134に渡す。機能ブロック2134は、YUV成分毎のフィルタ係数を解析し、制御を機能ブロック2136に渡す。
【0163】
機能ブロック2136は変数iを増やし、制御を決定ブロック2108に戻す。
【0164】
機能ブロック2138は、構文要素pixel_dist_x[sub_view_id[i]]及び構文要素flip_dist_y[sub_view_id[i]]を解析し、制御を機能ブロック2140に渡す。機能ブロック2140は変数jをゼロに等しく設定し、制御を決定ブロック2142に渡す。決定ブロック2142は、変数jの現在値が、構文要素num_parts[sub_view_id[i]]の現在値よりも少ないか否かを判定する。肯定の場合、制御は機能ブロック2144に渡される。さもなければ、制御は機能ブロック2136に渡される。
【0165】
機能ブロック2144は、構文要素num_pixel_tiling_filter_coeffs_minusl[sub_view_id[i]]を解析し、機能ブロック2146に制御を渡す。機能ブロック2146は、画素タイリング・フィルタ全ての係数を解析し、機能ブロック2136に制御を渡す。
【0166】
図22に移れば、画素レベルにおけるタイリング例の全体を参照符号2200で示す。
図22については以下に更に説明する。
【0167】
マルチビュー・ビデオ符号化のアプリケーションに、フリービューポイントTV(又はFTV)がある。上記アプリケーションは、2つ以上のビュー間でユーザが自由に移動可能であることを必要とする。これを実現するために、2つのビュー間の「仮想」ビューは、補間又は合成する必要がある。ビュー補間を行うための手法はいくつか存在している。上記手法の1つは、ビュー補間/合成のために深度を使用する。
【0168】
各ビューは、関連付けられた深度信号を有し得る。よって、深度は、ビデオ信号の別の形式とみなし得る。
図9は、深度信号900の例を示す。FTVなどのアプリケーションをイネーブルするために、深度信号がビデオ信号とともに送信される。本願提案のタイリング・フレームワークでは、深度信号は、タイルのうちの1つとして追加することも可能である。
図10は、タイルとして加えられた深度信号の例を示す。深度信号/タイルは、
図10の右側に示す。
【0169】
深度がフレーム全体のタイルとして符号化されると、高水準構文は、レンダラが深度信号を適切に使用することが可能であるように、どのタイルが深度信号であるかを示すものとする。
【0170】
(
図1に示すものなどの)入力シーケンスが、MPEG−4AVC標準符号化器(又は別のビデオ符号化標準及び/又は勧告に対応する符号化器)を使用して符号化される場合、本願提案の高水準構文は、例えば、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、スライス・ヘッダ、及び/又は付加拡張情報(SEI)メッセージにおいて存在し得る。本願提案の方法の実施例は表1に示す。ここで、構文は、付加拡張情報(SEI)メッセージ内に存在している。
【0171】
(
図1に示したものなどの)擬似ビューの入力シーケンスが、MPEG−4 AVC標準符号化器のマルチビュー・ビデオ符号化(MVC)の拡張(又は、別のビデオ符号化標準及び/若しくは勧告に関するマルチビュー・ビデオ符号化標準に対応する符号化器)を使用して符号化される場合、本願提案の高水準構文はSPS、PPS、スライス・ヘッダ、SEIメッセージ、又は特定されたプロファイルに存在し得る。本願提案の方法の実施例は表1に示す。表1は、本願の原理に応じて実現される、提案された構文要素を含む、シーケンス・パラメータ・セット(SPS)構造に存在している構文要素を示す。
【0172】
【表1】
表2は、表1のpseudo_view_info構文要素の構文要素を示す。
【0173】
【表2】
表1及び表2に存在している構文要素の意味論は以下に説明する。すなわち、
pseudo_view_present_flagが真に等しいことは、特定のビューが、複数のサブビューのスーパービューであることを示す。
【0174】
tiling_modeが0に等しいことは、サブビューがピクチャレベルでタイリングされることを示す。値1は、タイリングが画素レベルで行われることを示す。
【0175】
新たなSEIメッセージは、MPEG−4AVC標準、又はMPEG−4AVC標準の拡張において使用されていないSEIペイロード・タイプの値を使用することが可能である。新たなSEIメッセージは、以下の意味論を有するいくつかの構文要素を含む。
【0176】
num_coded_views_minusl +1は、ビットストリームによってサポートされる符号化ビューの数を示す。num_coded_views_minuslの値は、0以上1023以下の範囲内にある。
【0177】
org_pic_width_in_mbs_minusl +1は、マクロブロック単位で各ビューにおけるピクチャの幅を規定する。
【0178】
マクロブロック単位でのピクチャの幅の変数は以下のように導き出される。
【0179】
PicWidthlnMbs=org_pic_width_in_mbs_minusl +1
ルマ(luma)成分のピクチャ幅の変数は以下のように導き出される。
【0180】
PicWidthInSamplesL=PicWidthInMbs*16
クロマ(chroma)成分のピクチャ幅の変数は以下のように導き出される。
【0181】
PicWidthInSamplesC=PicWidthInMbs*MbWidthC
org_pic_height_in_mbs_minusl +1は、マクロブロックの単位で各ビューにおけるピクチャの高さを規定する。
【0182】
マクロブロック単位でのピクチャの高さの変数は以下のように導き出される。
【0183】
PicHeightInMbs=org_pic_height_in_mbs_minusl +1
ルマ(luma)成分のピクチャの高さの変数は以下のように導き出される。
【0184】
PicHeightInSamplesL=PicHeightInMbs*16
クロマ(chroma)成分のピクチャの高さの変数は以下のように導き出される。
【0185】
PicHeightInSamplesC=PicHeightInMbs*MbHeightC
num_sub_views_minusl +1は、現在のビューに含まれる符号化サブビューの数を示す。num_coded_views_minuslの値は、0以上1023以下の範囲内にある。
【0186】
sub_view_id[i]はサブビューのsub_view_idを規定し、復号化順序はiで示す。
【0187】
num_parts[sub_view_id[i]]は、sub_view_id[i]のピクチャが分割される部分の数を規定する。
【0188】
loc_left_offset[sub_view_id[i]][j]及びloc_top_offset[sub_view_id[i]][j]は、左画素オフセット及び上画素オフセットそれぞれにおける位置を規定し、現在の部分jは、ビューの最終再構成ピクチャに配置され、sub_view_idはsub_view_id[i]に等しい。
【0189】
view_id[i]はビューのview_idを規定し、符号化順序はiで示す。
【0190】
frame_crop_left_offset[view_id[i]][j]、frame_crop_right_offset[view_id[i]][j]、frame_crop_top_offset[view_id[i]][j]、及びframe_crop_bottom_offset[view_id[i]][j]は、出力するためにフレーム座標で規定される矩形領域で、num_partj及びview_idiの一部である符号化ビデオ・シーケンスにおけるピクチャのサンプルを規定する。
【0191】
変数CropUnitX及びCropUnitYは、以下の通りに導き出される。すなわち、
chroma_format_idcが0に等しい場合、CropUnitX及びCropUnitYは以下のように導き出される。
【0192】
CropUnitX=1
CropUnitY=2−frame_mbs_only_flag
さもなければ(chroma_format_idcが1、2、又は3に等しい場合、CropUnitX及びCropUnitYは以下のように導き出される。すなわち、
CropUnitX=SubWidthC
CropUnitY=SubHeightC*(2−frame_mbs_only_flag)
フレーム・クロッピング矩形は、
CropUnitX*frame_crop_left_offsetからPicWidthInSamplesL−(CropUnitX*frame_crop_right_offset+1) 及びCropUnitY*frame_crop_top_offset以上(16*FrameHeightInMbs)−(CropUnitY*frame_crop_bottom_offset+ 1)以下の垂直フレーム座標からの水平フレーム座標を有するルマ(luma)サンプルを含む。
【0193】
chroma_format_idcが0に等しくない場合、2つのクロマ(chroma)アレイの対応する規定されたサンプルは、フレーム座標(x/SubWidthC,y/SubHeightC)を有するサンプルであり、ここで、(x,y)は規定されたルマ(luma)サンプルのフレーム座標である。
【0194】
復号化されたフィールドの場合、復号化されたフィールドの規定されたサンプルは、フレーム座標において規定された矩形内に収まるサンプルである。
【0195】
num_parts[view_id[i]]は、view_id[i]のピクチャが分割される部分の数を規定する。
【0196】
depth_flag[view_id[i]]は、現在の部分が深度信号であるか否かを規定する。depth_flagが0に等しい場合、現在の部分は深度信号でない。depth_flagが1に等しい場合、現在の部分は、view_id[i]によって識別されたビューに関連付けられた深度信号である。
【0197】
flip_dir[sub_view_id[i]][j]は現在の部分の反転方向を規定する。flip_dirが0に等しいことは反転がないことを示し、flip_dirが1に等しいことは水平方向における反転を示し、flip_dirが2に等しいことは垂直方向における反転を示し、flip_dirが3に等しいことは水平方向及び垂直方向における反転を示す。
【0198】
flip_dir[view_id[i]][j]は現在の部分の反転方向を規定し、flip_dirが0に等しいことは反転がないことを示し、flip_dirが1に等しいことは水平方向における反転を示し、flip_dirが2に等しいことは垂直方向における反転を示し、flip_dirが3に等しいことは水平方向及び垂直方向における反転を示す。
【0199】
loc_left_offset[view_id[i]][j]及びloc_top_offset[view_id[i]][j]は、画素オフセットにおける位置を規定し、現在の部分jは、ビューの最終再構成ピクチャに配置され、view_idはview_id[i]に等しい。
【0200】
upsample_view_flag[view_id[i]]は、view_id[i]によって規定されたビューに属するピクチャをアップサンプリングする必要があるか否かを示す。upsample_view_flag[view_id[i]]が0に等しいことは、view_idがview_id[i]に等しいピクチャがアップサンプリングされないことを規定する。upsample_view_flag[view_id[i]]が1に等しいことは、view_idがview_id[i]に等しいピクチャがアップサンプリングされることを規定する。
【0201】
upsample_filter[view_id[i]]は、アップサンプリングに使用される対象のフィルタのタイプを示す。upsample_filter[view_id[i]]が0に等しいことは、6タップAVCフィルタを使用すべきであることを示し、upsample_filter[view_id[i]]が1に等しいことは、4タップSVCフィルタを使用すべきであることを示し、upsample_filter[view_id[i]]が2に等しいことは、双線形フィルタを使用すべきであることを示し、upsample_filter[view_id[i]]が3に等しいことは、カスタム・フィルタ係数が送信されることを示す。upsample_filter[view_id[i]]が存在していない場合、0に設定される。この実施例では、2Dカスタム化されたフィルタを使用する。1Dフィルタ、及び特定の他の非線形フィルタに容易に拡張することが可能である。
【0202】
vert_dim[view_id[i]]は、カスタム2Dフィルタの垂直方向の寸法を規定する。
【0203】
hor_dim[view_id[i]]は、カスタム2Dフィルタの水平方向の寸法を規定する。
【0204】
quantizer[view_id[i]]は、フィルタ係数毎の量子化係数を規定する。
【0205】
filter_coeffs[view_id[i]][yuv][y][x]は、量子化されたフィルタ係数を規定し、yuvはフィルタ係数が適用される成分を示し、yuvが0に等しいことはY成分を規定し、yuvが1に等しいことはU成分を規定し、yuvが2に等しいことはV成分を規定する。
【0206】
pixel_dist_x[sub_view_id[i]]及びpixel_dist_y[sub_view_id[i]]はそれぞれ、sub_view_idがsub_view_id[i]に等しいビュー内の隣接画素間の最終再構成擬似ビュー内の水平方向及び垂直方向における距離を規定する。
【0207】
num_pixel_tiling_filter_coeffs_minusl[sub_view_id[i][j]+1は、タイリング・モードが1に等しくセットされた場合のフィルタ係数の数を示す。
【0208】
pixel_tiling_filter_coeffs[sub_view_id[i][j]は、タイリングされたピクチャをフィルタリングするために使用し得るフィルタを表すのに必要なフィルタ係数を示す。
【0209】
図22に移れば、4つのビューからの画素をタイリングすることによる、擬似ビューの構成を示す2つの例の全体をそれぞれ、参照符号2210及び2220で示す。4つのビューは併せて、参照符号2250で示す。
図22中の第1の例の構文値は以下の表3で示す。
【0210】
【表3】
図22における第2の例の構文値は、5に等しいloc_left_offset[3][0]、及び3に等しいloc_top_offset[3][0]の2つの構文要素を除き、全て同じである。
【0211】
オフセットは、ビューに対応する画素が特定のオフセット位置で始まることを示す。このことは
図22(2220)に示す。これは例えば、一方のビューから他方のビューに共通オブジェクトが移動したようにみえる画像を2つのビューがもたらす場合に行い得る。例えば、(第1のビュー及び第2のビューを表す)第1のカメラ及び第2のカメラがオブジェクトのピクチャを撮った場合、オブジェクトは、第1のビューと比較して第2のビューにおいて5画素分、移動しているように見えることもあり得る。このことは、第1のビューにおける画素(i−5,j)が、第2のビューにおける画素(i,j)に対応することを意味している。2つのビューの画素が単に画素単位でタイリングされた場合、タイル内の隣接する画素間の相関はあまりないことがあり得、空間符号化利得は小さいことがあり得る。逆に、ビュー1からの画素(i−5,j)がビュー2からの画素(i,j)の隣に配置されるようにタイリングを移動させることにより、空間相関を増加させることができ、空間符号化利得も増加させることができる。例えば、第1のビュー及び第2のビューにおけるオブジェクトの対応する画素が互いに隣にタイリングされているので、前述のようになる。
【0212】
よって、loc_left_offset及びloc_top_offsetの存在は、符号化効率を向上させ得る。オフセット情報は外部手段によって得ることができる。例えば、ビュー間の大局ディスパリティ・ベクトル又はカメラの位置情報は、前述のオフセット情報を求めるために使用し得る。
【0213】
オフセットの結果、擬似ビューにおける一部の画素には、何れのビューからの画素値も割り当てられない。上記例を続ければ、ビュー2からの画素(i,j)に沿ってビュー1からの画素(i−5,j)を、i=0..4についてタイリングすると、タイリングする対象のビューからの画素(i−5,j)が存在しないので、前述の画素は、タイルにおいて空き状態である。何れのビューからの画素値も割り当てられない擬似ビュー(タイル)における画素の場合、少なくとも1つの実現形態は、AVCにおける動き補償におけるサブ画素補間手順と同様な補間手順を使用する。すなわち、空きのタイル画素は、隣接する画素から補間し得る。前述の補間は、タイルにおける、より大きな空間相関、及びタイルの、より大きな符号化利得をもたらし得る。
【0214】
ビデオ符号化では、I、P、Bピクチャなどのピクチャ毎に、別々の符号化タイプを選ぶことが可能である。更に、マルチビュー・ビデオ符号化の場合、アンカ・ピクチャ及び非アンカ・ピクチャを定義する。一実施例では、グループ化の決定はピクチャ・タイプに基づいて行うことが可能である。グループ化のこの情報は、高水準構文でシグナリングされる。
【0215】
図11に移れば、単一のフレーム上でタイリングされた5個のビューの例の全体を参照符号1100で示す。特に、単一のフレーム上にタイリングされた5つのビューを備えたボールルームのシーケンスを示す。更に、5番目のビューは、矩形フレーム上に配置することが可能であるように2つの部分に分けられる。ここでは、各ビューのサイズは、合計フレーム寸法が640x600であるようなQVGAサイズである。600は、16の倍数でないので、608に拡張し得る。
【0216】
この例の場合、考えられるSEIメッセージは表4に示すようなものであり得る。
【0217】
【表4】
表5は、表4に示す例のマルチビュー情報を送信するための汎用的な構文構造を示す。
【0218】
【表5】
図23を参照すれば、ビデオ処理装置2300を示す。ビデオ処理装置2300は例えば、符号化されたビデオを受け取るセットトップボックス又は他の装置であり得、例えば、記憶のために、又はユーザに向けた表示のために、復号化されたビデオを供給する。よって、装置2300は、その出力をテレビジョン受信機、コンピュータ・モニタ、若しくはコンピュータ、又は他の処理装置に供給し得る。
【0219】
装置2300は、データ信号2320を受け取る復号化器2310を含む。データ信号2320は例えば、AVC又はMVC互換ストリームを含み得る。復号化器2310は、受け取られた信号2320の全部又は一部を復号化し、復号化されたビデオ信号2330及びタイリング情報2340を出力として供給する。復号化されたビデオ2330及びタイリング情報2340は選択器2350に供給される。装置2300は、ユーザ入力2370を受け取るユーザ・インタフェース2360も含む。ユーザ・インタフェース2360は、ユーザ入力2370に基づいてピクチャ選択信号2380を選択器2350に供給する。ピクチャ選択信号2380及びユーザ入力2370は、複数のピクチャのうちのどれをユーザが表示させたいかを示す。選択器2350は、選択されたピクチャを出力2390として供給する。選択器2350は、ピクチャ選択情報2380を使用して、復号化ビデオ2330におけるピクチャのどれを出力2390として供給するかを選択する。選択器2350は、タイリング情報2340を使用して、復号化されたビデオ2330における、選択されたピクチャを位置特定する。
【0220】
種々の実現形態では、選択器2350はユーザ・インタフェース2360を含み、他の実現形態では、ユーザ・インタフェース2360は必要でない。選択器2350はユーザ入力2370を直接、別個のインタフェース機能が行われることなく受け取る。選択器2350は、例えば、ソフトウェアで、又は集積回路として実現し得る。選択器2350は、更に、復号化器2310を組み入れ得る。
【0221】
より一般には、本出願において記載した種々の実現形態の復号化器は、タイル全体を含む復号化された出力を提供し得る。更に、又はあるいは、復号化器は、タイルからの、選択された1つ又は複数のピクチャ(例えば、画像又は深度信号)のみを含む復号化された出力を供給し得る。
【0222】
上述の通り、本願の原理の1つ又は複数の実施例に応じてシグナリングを行うために高水準構文を使用し得る。高水準構文は、限定列挙でないが、より大きなフレームに存在している符号化されたビューの数、ビュー全ての元の幅及び高さ、符号化されたビュー毎の、ビューに対応するビュー識別子、符号化されたビュー毎の、ビューのフレームが分割された部分の数、ビューの部分毎の反転方向(例えば、反転なし、水平方向の反転のみ、垂直方向の反転のみ、又は、水平方向及び垂直方向の反転)、ビューの部分毎の、ビューの最終フレームに現在の部分が属するマクロブロックの数又は画素における左位置、ビューの部分毎の、ビューの最終フレームに現在の部分が属するマクロブロックの数又は画素における部分の上位置、ビューの部分毎の、マクロブロックの数又は画素におけるクロッピング・ウィンドウの、復号化された現在の大きな符号化フレームにおける左位置、ビューの部分毎の、マクロブロックの数又は画素におけるクロッピング・ウィンドウの、復号化/符号化された現在の大きな符号化フレームにおける右位置、ビューの部分毎の、マクロブロックの数又は画素におけるクロッピング・ウィンドウの、復号化/符号化された現在の大きな復号化/符号化フレームにおける上位置、及び、ビューの部分毎の、マクロブロックの数又は画素におけるクロッピング・ウィンドウの、現在の大きな復号化/符号化フレームにおける下位置、及び、符号化されたビュー毎に、出力の前にビューをアップサンプリングする必要があるか否か(アップサンプリングを行う必要がある場合、(限定列挙でないが、AVC6タップ・フィルタ、SVC4タップ・フィルタ、双線形フィルタ、又は、カスタムの1D、2D線形若しくは非線形フィルタを含む)のうちの何れかをシグナリングするために使用し得る。
【0223】
「符号化器」及び「復号化器」の語は、汎用的な構造を暗示しており、何れの特定の機能又は構成にも限定されない。例えば、復号化器は、符号化されたビットストリームを搬送し、符号化されたビットストリームを復調し、ビットストリームを復号化する変調されたキャリアを受け取り得る。
【0224】
種々の方法を説明してきた。前述の方法の多くは、十分な開示を提供するために詳説している。しかし、前述の方法について説明した特定の構成のうちの1つ又は複数を変え得る変形が想定される。更に、記載された構成の多くは、当該技術分野において知られており、よって、更に詳細には説明しない。
【0225】
更に、いくつかの実現形態において、特定の情報を送出するために、高水準構文の使用に言及している。しかし、他の実現形態は、同じ情報(又はその情報の変形)を提供するために、低水準構文、又は、実際には全く他の機構(例えば、符号化データの一部として情報を送出する等)を使用するものとする。
【0226】
種々の実現形態は、複数のビュー(更に一般には、ピクチャ)が、単一のピクチャにタイリングされ、単一のピクチャとして符号化され、単一のピクチャとして送出されることを可能にするためにタイリング及び適切なシグナリングを提供する。シグナリング情報は、ポストプロセッサが、ビュー/ピクチャをバラバラにすることを可能にし得る。更に、タイリングされる複数のピクチャはビューであり得るが、ピクチャの少なくとも1つは深度情報であり得る。前述の実現形態は1つ又は複数の利点を提供し得る。例えば、ユーザは、複数のビューを、タイリングされた態様で表示したいことがあり得、前述の種々の実現形態は、タイリングされたやり方で符号化し、かつ送信し/記憶する前にタイリングすることにより、前述のビューを符号化し、かつ送信し、又は記憶するための効率的なやり方を提供する。
【0227】
更に、AVC及び/又はMVCのコンテキストで複数のビューをタイリングする実現形態は、更なる効果を提供する。AVCは、表面上には、単一のビューにのみ使用されるので、更なるビューは期待されない。しかし、前述のAVCベースの実現形態は、AVC環境における複数のビューを提供することが可能である。例えば、タイリングされたピクチャが別々のビューに属している(例えば、擬似ビューにおける左上ピクチャがビュー1であり、右上ピクチャが2である等)ことを復号化器が知っているように、タイリングされたビューを構成することが可能であるからである。
【0228】
更に、MVCは既に、複数のビューを含んでいるので、複数のビューは、単一の擬似ビューに含まれることが期待されるものでない。更に、MVCは、サポートすることが可能なビューの数に対する限度を有し、前述のMVCベースの実現形態は、事実上、タイリングするための更なるビューを(AVCベースの実現形態のように)可能にすることによってサポートすることが可能なビューの数を増加する。例えば、各擬似ビューは、MVCのサポートされたビューの1つに対応し得、復号化器は、「サポートされたビュー」それぞれが実際に、予め手はずされタイリング順序での4つのビューを含むということが分かっていることがあり得る。よって、前述の実現形態では、考えられるビューの数は、「サポートされたビュー」の数の4倍である。
以下に続く記載では、SEIメッセージなどの高水準構文は、単一のピクチャとしてタイリングされたピクチャに、複数の空間インターリーブ・モードのうちのどれを、ピクチャに割り当て可能かについての情報を含めるよう種々の実現形態において拡張される。空間インターリーブは、例えば、サイドバイサイド、上下、垂直インタレース、水平インタレース、チェッカーボードなどの複数のモードにおいて行われ得る。更に、タイリングされたピクチャにおけるコンテンツについての関係情報を含めるよう構文が拡張される。関係情報は、ステレオ画像における左ピクチャ及び右ピクチャの指定、あるいは、2D+深度がピクチャに使用される場合の深度ピクチャとしての識別情報、あるいは、ピクチャが層状深度ビデオ(LDV)信号を形成する旨の表示を含み得る。
【0229】
本明細書において既に上述したように、構文は、スライス・ヘッダ・レベル、ピクチャ・パラメータ・セット(PPS)レベル、シーケンス・パラメータ・セット(SPS)レベル、ビュー・パラメータ・セット(VPS)レベル、及びネットワーク抽象化レイヤ(NAL)ユニット・ヘッダ・レベルなどの、SEIメッセージに加えて、何れかの高水準構文において実現されるものとして想定される。更に、低水準構文が、情報をシグナリングするために使用することが可能であることを想定している。更に、種々のやり方で情報を帯域外でシグナリングすることが可能であるということも想定している。
【0230】
AVCの上述の修正案に記載されたチェッカーボード空間インターリーブのSEIメッセージ構文を以下の表6に定義する。
【0231】
【表6】
このSEIメッセージは、示された空間インターリーブ手法を使用して、別個の複数のピクチャの空間インターリーブにより、出力復号化ピクチャが形成される旨を復号化器に通知する。このSEIメッセージにおける情報は、表示又は他の目的のために、ピクチャ・データを適切にデインターリーブし、処理するために復号化器によって使用することが可能である。
【0232】
表6の空間インターリーブされたピクチャのSEIメッセージの構文の定義された値の意味論は以下の通りである。
【0233】
spatially_interleaved_pictures_idは、空間インターリーブされたピクチャのSEIメッセージの使用を識別するために使用することができる識別番号を含む。
【0234】
spatially_interleaved_pictures_cancel_flagが1に等しいことは、空間インターリーブされたピクチャのSEIメッセージが、出力順序における何れの先行する、空間インターリーブされたピクチャのSEIメッセージのパーシステンスをなくすことを示す。spatially_interleaved_pictures_cancel_flagが0に等しいことは、空間インターリーブされたピクチャの情報が続くことを示す。
【0235】
basic_spatial_interleaving_type_idは、単一のタイリングされたピクチャに含まれる複数のピクチャの空間インターリーブのタイプを示す。
【0236】
basic_spatial_interleaving_type_idが0に等しいことは、復号化されたピクチャの各成分平面が、
図26に示すような2つのピクチャの対応する平面の「チェッカーボード」ベースのインターリーブを含む旨を示す。
【0237】
basic_spatial_interleaving_type_idが1に等しいことは、復号化されたピクチャの各成分平面が、
図26に示すような2つのピクチャの対応する平面の「チェッカーボード」ベースのインターリーブを含む旨を示し、更に、
図26に示すようなステレオビュー・シーンの左ビュー及び右ビューからの2つの成分平面を形成することを示す。
【0238】
spatially_interleaved_pictures_repetition_periodは、空間インターリーブされたピクチャのSEIメッセージのパーシステンスを規定し、符号化ビデオ・シーケンスの終わり、又はspatially_interleaved_pictures_idの同じ値の、別の空間インターリーブされたピクチャのSEIメッセージがビットストリームに存在しているピクチャ順序カウント間隔を規定し得る。
【0239】
spatially_interleaved_pictures_repetition_periodが0に等しいことは、空間インターリーブされたピクチャのSEIメッセージが、現在復号化されているピクチャのみに施される旨を規定する。
【0240】
spatially_interleaved_pictures_repetition_periodが1に等しいことは、空間インターリーブされたピクチャのSEIメッセージが、以下の条件の何れかが真の状態になるまで出力順序が持続する旨を規定する。すなわち、新たに符号化されたビデオ・シーケンスが始まる。
【0241】
spatially_interleaved_pictures_idの値が同じ空間インターリーブされたピクチャのSEIメッセージを含むアクセス・ユニットにおける、PicOrderCnt()がPicOrderCnt(CurrPic)よりも大きなピクチャが出力される。
【0242】
spatially_interleaved_pictures_repetition_periodが0に等しいか、又は1に等しいことは、spatially_interleaved_pictures_idの値が同じ、別の空間インターリーブされたピクチャのSEIメッセージが存在していてもよく、存在していなくてもよいということを示す。
【0243】
spatially_interleaved_pictures_repetition_periodが1よりも大きいことは、以下の条件の何れかが真である状態になるまで、空間インターリーブされたピクチャのSEIメッセージが持続するということを規定する。すなわち、新たに符号化されたビデオ・シーケンスが始まる。
【0244】
spatially_interleaved_pictures_idの値が同じ、空間インターリーブされたピクチャのSEIメッセージを含むアクセス・ユニットにおける、PicOrderCnt()がPicOrderCnt(CurrPic)よりも大きく、PicOrderCnt(CurrPic)+spatially_interleaved_pictures_repetition_period以下であるピクチャが出力される。
【0245】
spatially_interleaved_pictures_repetition_periodが1よりも大きいことは、spatially_interleaved_pictures_idの値が同じ、別の空間インターリーブされたピクチャのSEIメッセージは、出力されたアクセス・ユニットにおける、PicOrderCnt()が、PicOrderCnt(CurrPic)よりも大きく、PicOrderCnt(CurrPic)+spatially_interleaved_pictures_repetition_period以下であるピクチャに、前述のピクチャの出力なしで、新たな符号化ビデオ・シーケンスが始まるか、又はビットストリームが終了するまで、存在する。
【0246】
additional_extension_flagが0に等しいことは、空間インターリーブされたピクチャのSEIメッセージ内に更なるデータが後続しない旨を示す。
【0247】
additional_extension_flagが0に等しいことは、空間インターリーブされたピクチャのSEIメッセージ内に更なるデータが後続しない旨を示す。
【0248】
表6に示す構文を変えることなく、このアプリケーションの実現形態は、例示的なSEIメッセージ内に空間インターリーブ情報及び関係情報を提供する。basic_spatial_interleaving_type_idの考えられる値の範囲は、1つのチェッカーボード方法のみでなく、複数の空間インターリーブ方法を示すようこの実現形態において修正され、拡張される。更に、パラメータbasic_spatial_interleaving_type_idは、特定のタイプの空間インターリーブがピクチャ内に存在している旨、及び構成されたインターリーブ・ピクチャが互いに関係している旨を示すよう活用される。この実現形態では、basic_spatial_interleaving_type_idの場合、意味論は以下の通りである。
【0249】
値2又は3は、
図27に示すように、単一のピクチャが、2つのピクチャの対応する平面の「サイドバイサイド」インターリーブを含むということを意味している。値3は、更に、2つの構成ピクチャがステレオビュー・シーンの左ビュー及び右ビューを形成するということを意味している。サイドバイサイド・インターリーブの場合、一方のピクチャは、コンポジット・ピクチャがサイドバイサイドの2つの画像を含むように他方のピクチャの一方側に配置される。
【0250】
値4又は5は、
図28に示すように、単一のピクチャが、2つのピクチャの対応する平面の「上下」インターリーブを含むということを意味している。値5は、更に、2つの構成ピクチャがステレオビュー・シーンの左ビュー及び右ビューを形成するということを意味している。上下インターリーブの場合、コンポジット・ピクチャが、他方の上に一画像を有するようにみえるように一方のピクチャが他方のピクチャの上に配置される。
【0251】
値6又は7は、
図29に示すように、単一のピクチャが、2つのピクチャの対応する平面の「行単位の」インターリーブ、又は単に行インタレースを含むということを意味している。値7は、更に、2つの構成ピクチャがステレオビュー・シーンの左ビュー及び右ビューを形成するということを意味している。行単位のインターリーブの場合、単一のピクチャの連続する行では、一方の構成ピクチャと他方の構成ピクチャが交番する。基本的には、単一のピクチャは、構成画像の水平スライスの交番である。
【0252】
値8又は9は、
図30に示すように、単一のピクチャが、2つのピクチャの対応する平面の「列単位の」インターリーブを含むということを意味している。値9は、更に、2つの構成ピクチャがステレオビュー・シーンの左ビュー及び右ビューを形成するということを意味している。列単位のインターリーブの場合、単一のピクチャの連続する列では、一方の構成ピクチャと他方の構成ピクチャが交番する。基本的には、単一のピクチャは、構成画像の垂直スライスの交番である。
【0253】
関連付けられたピクチャについての情報を伝えるために例示的なSEIメッセージにおいて使用するための構文の別の実施例では、更なる情報を示すために、いくつかの更なる構文要素が表7に含まれている。例えば、1つ又は複数の構成ピクチャの向き(例えば、反転)を示し、画像について左右ステレオ対関係が存在しているか否かを別個に示し、何れかの構成ピクチャについてアップサンプリングが必要であるか否かを示し、アップサンプリングの考えられる度合い及び方向を示すために、前述の更なる構文要素が含まれる。
【0254】
【表7】
意味論は以下のように定義される。
【0255】
basic_spatial_interleaving_type_idはピクチャの空間インターリーブのタイプを示す。
【0256】
basic_spatial_interleaving_type_idが0に等しいことは、復号化されたピクチャの各成分平面が、上述の提案(
図26)におけるように2つのピクチャの対応する平面の「チェッカーボード」ベースのインターリーブを含む旨を示す。
【0257】
basic_spatial_interleaving_type_idが1に等しいことは、復号化されたピクチャの各成分平面が、
図27に示すように2つのピクチャの対応する平面の「サイドバイサイド」ベースのインターリーブを含む旨を示す。
【0258】
basic_spatial_interleaving_type_idが2に等しいことは、復号化されたピクチャの各成分平面が、
図28に示すような2つのピクチャの対応する平面の「上下」ベースのインターリーブを含む旨を示す。
【0259】
basic_spatial_interleaving_type_idが3に等しいことは、復号化されたピクチャの各成分平面が、
図29に示すような2つのピクチャの対応する平面の「行単位」ベースのインターリーブを含む旨を示す。
basic_spatial_interleaving_type_idが4に等しいことは、復号化されたピクチャの各成分平面が、
図30に示すように2つのピクチャの対応する平面の「列単位」ベースのインターリーブを含む旨を示す。
【0260】
stereo_pair_flagは、2つの構成ピクチャが、ステレオビュー・シーンの左ビュー及び右ビューを形成するものとしての関係を有するか否かを示す。値0は、構成ピクチャが、左ビュー及び右ビューを形成しない旨を示す。値1は、画像の左ビュー及び右ビューを形成しているものとして関係していることを示す。
【0261】
upsample_conversion_horizontal_flagは、2つの構成ピクチャが、復号化中に単一のピクチャから抽出された後、水平方向においてアップサンプリングが必要であるか否かを示す。値0は、アップサンプリングが必要でない旨を示す。これは、サンプリング係数ゼロに対応する。値1は、サンプリング係数2でのアップサンプリングが必要である旨を示す。
【0262】
upsample_conversion_vertical_flagは、2つの構成ピクチャが、復号化中に、単一のピクチャから抽出された後、垂直方向でのアップサンプリングを必要とするか否かを示す。値0は、アップサンプリングが必要でない旨を示す。これは、サンプリング係数ゼロに対応する。値1は、サンプリング係数2でのアップサンプリングが必要である旨を示す。
【0263】
以下に更に詳細に説明するように、ピクチャ復号化中に、アップサンプリング動作が適切に処理されるように、アップサンプリング動作の多くの局面をSEIメッセージにおいて伝えることが可能であると想定している。例えば、アップサンプリングのための係数の更なる範囲を示すことが可能であり、アップサンプリング・フィルタのタイプを示すことも可能であり、ダウンサンプリング・フィルタは、復号化器が、アップサンプリングするために、適切であるか、又は最適であるフィルタを求めることが可能であるようにも示すことが可能である。更に、アップサンプリング・フィルタ係数の数及び値は、受信器が好ましいアップサンプリング動作を行うように、アップサンプリング・フィルタ係数の数及び値を含むフィルタ係数情報をSEIメッセージにおいて更に示すことが可能であるとも想定している。
【0264】
サンプリング係数は、ビデオ・ピクチャのサンプリングされたサイズと元のサイズとの間の比を示す。例えば、サンプリング係数が2の場合、元のピクチャ・サイズは、サンプリングされたピクチャ・サイズの2倍の大きさである。ピクチャ・サイズは通常、画素単位での解像度の尺度である。よって、水平方向にダウンサンプリングされたピクチャは、元のビデオ・ピクチャの解像度を回復するために、同じ係数での対応する水平アップサンプリングを必要とする。元のピクチャは、例えば、1024個の画素の幅を有する場合、幅が512個の画素のダウンサンプリングされたピクチャになるようサンプリング係数2で水平方向にダウンサンプリングし得る。ピクチャ・サイズは通常、画素単位の、解像度の尺度である。垂直のダウンサンプリング又はアップサンプリングについても同様な解析を示すことが可能である。サンプリング係数は、合成された水平方向及び垂直方向の手法に依存するダウンサンプリング又はアップサンプリングに適用し得る。
【0265】
flip_flagは、第2の構成ピクチャが反転しているか否かを示す。値0は、そのピクチャにおいて反転が存在していない旨を示す。値1は、反転が行われる旨を示す。反転は、ピクチャの平面における中心軸を中心とした180度の回転を伴うものとして当業者によって理解されるはずである。反転の方向は、この実施例では、インターリーブ・タイプによって判定される。例えば、サイドバイサイド・インターリーブ(basic_spatial_interleaving_type_idが1に等しい)が構成ピクチャに存在している場合に、(
図31に示すように)flip_flagの適切な値で示された場合、水平方向に(すなわち、垂直軸を中心として)右側ピクチャを反転させることが好ましい。例えば、上下空間インターリーブ(basic_spatial_interleaving_type_idが2に等しい)が構成ピクチャに存在している場合に、(
図32に示すように)flip_flagの適切な値で示された場合、垂直方向に(すなわち、中心水平軸を中心として)下のピクチャを反転させることが好ましい。本明細書及び特許請求の範囲において第2の構成ピクチャを反転させることを説明してきたが、(上下インターリーブにおける上のピクチャ、又はサイドバイサイド・インターリーブにおける左のピクチャなどの)第1のピクチャの反転を伴い得ることを想定している。当然、flip_flagの前述の更なる自由度を扱うために、値の範囲を増加させるか、又はそれに関係する別の意味論を導入することが必要であり得る。
【0266】
更に、更なる実施例が、水平方向及び垂直方向にピクチャを反転させることを可能にし得ることも想定している。例えば、
図2に示すような4象限毎に1つのビュー(すなわち、ピクチャ)を有する単一のピクチャにおいて4つのビューが併せてタイリングされる場合、左上象限が、反転していない第1のビューを含み、他方で、右上象限は、水平方向にのみ、反転させた第2のビューを含み、左下象限は垂直方向のみに回転させた第3のビューを含み、右下象限は、水平方向及び垂直方向に反転させた第4のビューを含む。このようにしてタイリング又はインターリーブにより、ビュー間のインタフェースにおける境界は、ピクチャ内の隣接するビューから境界の両側に、共通のシーンのコンテンツを有する可能性が高いということが分かる。前述のタイプの反転は、圧縮において更なる効率をもたらし得る。このタイプの反転の表示が、本開示の範囲内で想定される。
更に、表7の構文を、2D+深度のインターリーブの処理に使用するよう適合し得るということを想定している。例えば前述の形式を入力とする商用ディスプレイを開発し得る。前述のアプリケーションの例示的な構文を表8に規定する。意味論の多くは、既に上記で規定されている。新たに導入された意味論のみを以下に説明する。
【0267】
【表8】
semantics_idは、先行する例示的な実施例におけるstereo_pair_flagを置き換え、インターリーブされた2つのピクチャについてどのような関係が意図されているか(すなわち、2つのピクチャが物理的に何を意味しているか)を示すために使用される。値0は、2つの構成ピクチャが、画像の左ビュー及び右ビューを形成することを示す。値1は、第1の構成ピクチャの対応する深度マップを表すことを示す。
図34は、構成ビデオ及び深度画像(例えば、2D+Z)がサイドバイサイドでインターリーブされる例示的な単一のピクチャを示す。他のインターリーブ方法は、basic_spatial_interleaving_type_idの特定の値によって示すことが可能である。値2は、インターリーブされた2つのピクチャ間の関係が規定されていない旨を示す。2よりも大きな値は、更なる関係を示すために使用することが可能である。
【0268】
camera_parameter_setは、カメラに関するシーンのパラメータを示す。パラメータは、この同じSEIメッセージに存在し得るか、あるいは、パラメータは、別のSEIメッセージにおいて伝えることが可能であるか、あるいはSPS、PPS、スライス・ヘッダ等などの他の構文内に存在し得る。カメラ・パラメータは一般に、少なくとも、焦点距離、基準線距離、カメラ位置、Znear(シーンとカメラとの間の最小距離)、及びZfar(シーンとカメラとの間の最大距離)を含む。カメラ・パラメータ・セットは、3×3内部マトリクス、3×3回転マトリクス、及び3D変換ベクトルを含む、カメラ毎のフル・パラメータ・セットも含み得る。例えば、レンダリングし、場合によっては、符号化するためにカメラ・パラメータが使用される。
【0269】
表8に示すものと同等のSEIメッセージ又は他の構文を使用する場合、ビデオと深度とのシステム・レベルにおける同期化に対する必要性を避けることが可能であり得る。ビデオ及び関連付けられた深度が1つの単一のフレームに既にタイリングされているので、このことが生じる。
【0270】
ピクチャの層状深度ビデオ(LDV)形式は
図33に示す。この図では、4つのピクチャが、コンポジット・ピクチャを形成するために、サイドバイサイドで、及び上下にインターリーブされる。左上の4象限のピクチャは中心ビュー層を表す一方、右上の4象限のピクチャは中心深度層を表す。同様に、左下の4象限のピクチャはオクルージョン・ビュー層を表す一方、右下の4象限のピクチャはオクルージョン深度層を表す。
図33に示す形式は、商用の自動立体ディスプレイの入力形式として使用し得る。
【0271】
LDVの存在は、先行する実施例に示されたものと同様な構文を使用して示される。主に、semantics_idの意味論は以下のようにLDVオプション導入するよう拡張される。
【0272】
【表9】
semantics_idは、ピクチャ間の関係(すなわち、インターリーブされたピクチャが互いに対して物理的に何を意味しているか)を示す。
【0273】
値0以上2以下は、2つのピクチャが上述のように関係していることを意味している。値0は、2つのピクチャが、左ビュー及び右ビューを形成する旨を示す。この値は、ビューが、シーンのステレオ・ビューである旨も示すことが可能である。値1は、第2のピクチャが、第1のピクチャの対応する深度マップ(すなわち、2D+Zピクチャの組)を指す旨を示す。値2は、インターリーブされた2つのピクチャ間の関係が規定されていない旨を示す。
【0274】
値3は、4つの成分ピクチャがインターリーブされている旨を示し、例えば
図33に示すようなLDV表現の4つの成分ピクチャに対応する。3を超える値は、更なる関係表示について使用することが可能である。
【0275】
本明細書及び特許請求の範囲において想定している更なる関係の表示は、限定列挙でないが、複数のビューが、マルチビュー+深度(MVD)として知られている、2D+Zピクチャの複数の組であるという表示、複数のビューが、深度拡張ステレオ(DES)として知られている、2つのLDVピクチャの組における画像を表しているという表示を含む。
【0276】
semantics_idが3に等しく、basic_spatial_interleaving_type_idが1(サイドバイサイド)又は2(上下)に等しい場合、4つの成分ピクチャは、
図33に示すようにインターリーブされる。
【0277】
semantics_idが3に等しく、basic_spatial_interleaving_type_idが0に等しい場合、4つのピクチャは、ビュー0に対するビュー1、2及び3のオフセットが、構文内の新たな意味論などを介して特定の表示によって更にシグナリングされた場合に、例1(要素2210)又は例2(要素2220)として
図22に示すようにインターリーブされる。semantics_idが3に等しい場合、
図22の例1(要素2210)に示すようにLDVピクチャに対してインターリーブが行われることを想定している。更に、semantics_idが4に等しい場合、
図22の例2(要素2220)に示すようにLDVピクチャに対してインターリーブが行われることを想定している。オフセットのある、LDVに対するインターリーブ、及びオフセットのない、LDVに対するインターリーブは、
図22に関して既に説明している。
【0278】
上述の通り、3D/ステレオ・ビデオ・コンテンツを2Dビデオ符号化標準を使用して符号化することが可能である。フレーム・パッキング方法は、空間ダウンサンプリングされたか、又は時間ダウンサンプリングされたビューを、符号化するために一フレームにパッキングすることを可能にする。復号化されたフレームは、構成された複数のビューにアンパックされ、これは次いで、概ね、元の解像度にアップサンプリングされる。
【0279】
アップサンプリング、及び、特に、アップサンプリング・フィルタは、構成されたビュー又はピクチャの再構成の品質において重要な役割を果たす。アップサンプル・フィルタの選択は、通常、符号化器において使用されるダウンサンプル・フィルタに依存する。ビットストリームにおいて、又は標準化されていない手段により、ダウンサンプリング・フィルタ又はアップサンプリング・フィルタについての情報が復号化器に伝えられた場合、アップサンプリングされた復号化ピクチャの品質を改善することが可能である。復号化器におけるアップサンプル・フィルタの特性は必ずしも、逆数の関係のみにより、符号化器におけるダウンサンプル・フィルタの特性に制約されないが、マッチングされたアップサンプル・フィルタは、最適な信号再構成を提供することが期待され得る。実験からの少なくとも1つの実現形態では、アップサンプル・パラメータを復号化器にシグナリングするためにSEIメッセージを使用することが可能であるということが判定されている。他の実現形態では、アップサンプル・フィルタ・パラメータ及びダウンサンプル・フィルタ・パラメータが、ビデオ復号化器に向けたSEIメッセージ内で示されることを想定している。通常のH.264/MPEG−4 AVCビデオ符号化器及び復号化器を、上述の通り、
図3及び
図4それぞれに表す。前述の装置は、本明細書及び特許請求の範囲記載の種々の実現形態の局面の実行に適している。更に、H.264/MPEG−4 AVCに合わせていないか、又はH.264/MPEG−4 AVCとともに動作可能でない他の装置は、本出願に記載した種々の実現形態の実行に適している。
【0280】
上述の通り、フレーム・パッキング・アップサンプルのSEIメッセージは、種々のアップサンプル・フィルタをシグナリングするためのH.264/MPEG−4 AVCフレーム・パッキングのフレームワークにおいて以下に定義する。前述の構文はSEIメッセージのみに制限されることを意図するものでない。メッセージ情報は、例えば、SPS、PPS、VPS、スライス・ヘッダ、及びNALヘッダなどの他の高水準構文において使用されるものなどの他の手段によっても提供することが可能であることを想定している。
アップサンプリング情報を使用する例示的な実施例では、
【数1】
の形式で表されるk個の非ナル係数で定義される奇数のタップを有する2次元対称FIRフィルタとして選択される。
【0281】
フィルタ係数ciは、係数ci全ての和が、iが範囲{l,...,k}内にある場合に、0.5であるように正規化される。
【0282】
上述のフィルタ・パラメータを使用した例示的な水平アップサンプル処理は、以下に更に詳細に示されるような一連の工程によって説明する。元の画像は、m×nマトリクスXとして表す。マトリクスAは、
【数2】
の属性を有するn×(2k+n)マトリクスとして定義される。ここで、
【数3】
は、k×kの対角単位マトリクスである。元の画像Xは、
【数4】
のようにテンソル積演算を使用して、新たな画像マトリクスX’に変換される。
【0283】
マトリクスHは、連続する行それぞれに沿って移動させ、
【数5】
のように、先行するゼロ及び/又は後続するゼロでパディングされた、上述したようなk個の非ナル・タップ係数(すなわち、
【数6】
)を含むn×(4k+n−1)マトリクスとして定義される。
【0284】
水平アップサンプリング後の出力画像マトリクスYは次いで、
【数7】
として表される。
【0285】
同様に、例示的な垂直アップサンプリング処理は以下のように説明する。新たなマトリクスA’は、
【数8】
として、マトリクスと同様に定義される。
【0286】
画像Yは次いで、
【数9】
に示すようにテンソル積演算を介して新たな画像マトリクスY’に変換される。
【0287】
垂直アップサンプリング後の出力画像マトリクスはその場合、
【数10】
として表す。
【0288】
マトリクスFは、水平アップサンプリング変換及び垂直アップサンプリング変換後の最終画像マトリクスである。
【0289】
上記例におけるアップサンプリングは水平演算及び垂直演算として表している。水平アップサンプリングの前に垂直アップサンプリングが行われるように動作の順序を逆にすることが可能であることを想定している。更に、1つのタイプのアップサンプリングのみを特定の場合に行い得ることを意図している。
【0290】
アップサンプリング情報を復号化器に伝えるためのSEIメッセージを使用するために、上記構文内に特定の意味論が含まれなければならないことを想定している。以下、表10に示す構文は、ビデオ復号化器におけるアップサンプリングに有用な情報を含む。以下の構文は、アップサンプリング情報を伝えるために重要なパラメータのみを示すよう省略している。例えば、関係の表示、向きの表示、アップサンプルの表示、及び空間インターリーブの表示に関するかなりの量のフレーム・パッキング情報を伝えるために、先行する構文の何れか1つ又は複数と組み合わせることが可能であるということを当業者は認識するであろう。
【0291】
【表10】
構文要素の意味論は以下に定義する。
【0292】
number_of_horizontal_fjlter_parameters[c]は、色成分cの(4k−l)タップの水平フィルタの順序を示し、ここで、cは別々の3つの色成分のうちの1つである。
【0293】
h[c][i]は、215−1以上、−215以下の範囲内の16ビット精度で色成分cの水平フィルタのi番目の係数を規定する。フィルタのノルムは216である。
【0294】
number_of_vertical_filter_parametersは色成分cの(4k−l)タップの垂直フィルタの順序を示す。
【0295】
v[c][i]は、2
15−1以上、−2
15以下の範囲内の16ビット精度で色成分cの垂直フィルタのi番目の係数を規定する。フィルタのノルムは2
16である。
【0296】
この構文の場合、既知のフィルタ・タイプが復号化器に存在しているものとする。しかし、上記2次元対称FIRフィルタに加えて、又は前述のフィルタの代わりに、各種アップサンプル・フィルタを使用し得ると想定している。前述の他のアップサンプル・フィルタは、限定列挙でないが、双線形フィルタ、キュービック・フィルタ、スプライン・フィルタ、ウィーナー・フィルタ、又は最小二乗フィルタなどの何れかの補間フィルタを含む。他のフィルタ・タイプが使用するために入手可能である場合、上記構文は、アップサンプリングするためにフィルタ・タイプについての情報を示すための1つ又は複数の意味論を含めるよう拡張される。
【0297】
アップサンプル・フィルタ・パラメータは、ダウンサンプリング・フィルタ情報等などの種々の入力に基づいてSEIメッセージに含めるために符号化器において導き出すことができるということを当業者は認識するであろう。更に、前述の情報は単純に、SEIメッセージにおいて含めるために符号化器に供給し得るということを認識するであろう。
【0298】
更に、表10に示す構文は、アップサンプル・フィルタ・パラメータの代わりに、ダウンサンプル・フィルタ・パラメータを送信するよう修正することが可能であると更に想定している。この実施例では、復号化器に対するダウンサンプル・フィルタ・パラメータの表示は、ダウンサンプル・フィルタ・パラメータに基づいて最適なアップサンプル・フィルタ・パラメータを判定するための機能を復号化アプリケーションにもたらす。ダウンサンプル・フィルタにシグナリングするために同様な構文及び意味論を使用することが可能である。ダウンサンプル・フィルタ又はアップサンプル・フィルタをパラメータが表す旨を示すために意味論を含め得る。
【0299】
最適なアップサンプル・フィルタを復号化器によって求める場合、復号化器は、当該技術分野において知られている何れかのやり方で前述の判定を行い得る。更に、復号化器は、最適でないか、又は必ずしも最適でないアップサンプル・フィルタを判定し得る。復号化器における判定は、処理の制約、ディスプレイ・パラメータの考慮点等に基づき得る。更なる例として、復号化器は当初、複数の各種アップサンプリング・フィルタを選択し、次いで、復号化器に最適な特定の復号化器の基準によって判定される結果をもたらす一フィルタを最終的に選択することが可能である。
【0300】
アップサンプル・フィルタ情報の表示に関する例示的な符号化手法を示すフローチャートを
図35に示し、以下に簡単に説明する。当初、符号化器の構成が求められ、高水準構文が作成される。ピクチャ(例えば、ビュー)は、フレームにパッキングするためにダウンサンプル・フィルタによってダウンサンプリングされる。ダウンサンプリングされたピクチャはフレームに空間インターリーブされる。アップサンプル・フィルタ・パラメータは符号化器によって求められるか、又は直接、符号化器に供給される。一実施例では、タイプ、サイズや係数値などのアップサンプル・フィルタ・パラメータはダウンサンプル・フィルタから導き出される。色成分(例えば、YUV、RGB)毎に、水平アップサンプル・フィルタ・パラメータ及び垂直アップサンプル・フィルタ・パラメータは、数及び値で求められる。これは
図35に3つのループ(すなわち、成分に対する第1のループ、成分の水平フィルタ・パラメータに対する第2のループ(第1のループにネスティングされている)、及び、成分の垂直フィルタ・パラメータに対する(第1のループにネスティングされている)第3のループ)によって示す。アップサンプル・フィルタ・パラメータは次いで、SEIメッセージに書き込まれる。SEIメッセージは次いで、ビデオ画像ストリームとは別個に(帯域外で)、又は、ビデオ画像ビットストリームとともに併せて(帯域内で)復号化器に送出される。符号化器は、必要な場合、パッキングされたフレームのシーケンスとメッセージを合成する。
【0301】
図35に表す符号化方法と対照的に、
図37に示す別の実施例は、ダウンサンプル・フィルタ・パラメータが、アップサンプル・フィルタ・パラメータの代わりにSEIメッセージに含まれることを示す。この実施例では、アップサンプル・フィルタ・パラメータは、符号化器によって導き出されず、パッキングされたフレームとともに復号化器に伝えられる訳でない。
【0302】
アップサンプル・フィルタ情報の表示に関する例示的な復号化手法を示すフローチャートを
図36に示し、以下に簡単に説明する。当初、SEIメッセージ及び他の関連メッセージは復号化器によって受け取られ、構文は復号化器によって読み取られる。SEIメッセージは、サンプリング情報、インターリーブ情報等を含む、中に含まれた情報を求めるよう解析される。この例では、色成分毎のアップサンプリング・フィルタ情報がSEIメッセージに含まれていると判定される。垂直アップサンプリング・フィルタ情報及び水平アップサンプリング・フィルタ情報は、各水平アップサンプリング・フィルタ係数及び垂直アップサンプリング・フィルタ係数の数及び値を得るよう抽出される。この抽出は
図36に3つのループ(すなわち、成分に対する第1のループ、成分の水平フィルタ・パラメータに対する第2のループ(第1のループにネスティングされている)、及び、成分の垂直フィルタ・パラメータに対する(第1のループにネスティングされている)第3のループ)によって示す。SEIメッセージが次いで記憶され、パッキングされたフレームのシーケンスが、その中にパッキングされたピクチャを得るために復号化される。ピクチャは、次いで、その元のフル解像度にピクチャを戻すために、回復したアップサンプリング・フィルタ・パラメータを使用してアップサンプリングされる。
【0303】
図36に表す復号化方法と対照的に、
図38に示す別の実施例は、ダウンサンプル・フィルタ・パラメータが、アップサンプル・フィルタ・パラメータの代わりにSEIメッセージに含まれることを示す。この実施例では、アップサンプル・フィルタ・パラメータは、符号化器によって導き出されず、パッキングされたフレームとともに復号化器に伝えられる訳でない。よって、復号化器は、パッキングされたビデオ・フレームにおけるインターリーブから抽出されたピクチャに、完全に元の分解能を回復させるために使用する対象のアップサンプル・フィルタ・パラメータを導き出すために、受け取られたダウンサンプル・フィルタ・パラメータを使用する。
【0304】
図39は、本出願の原理の実現形態に応じ、本出願の原理を適用することができる例示的なビデオ送信システム2500を示す。ビデオ送信システム2500は例えば、衛星、ケーブル、電話回線、又は地上波放送などの種々の媒体の何れかを使用して信号を送信するためのヘッドエンド又は送信システムであり得る。送信は、インターネットを介して、又は特定の他のネットワークを介して提供し得る。
【0305】
ビデオ送信システム2500は、深度を有する圧縮ビデオを生成し、配信することができる。これは、例えば、復号化器を有し得る受信器側で深度情報を合成するために使用することができる情報又は深度情報を含む符号化信号を生成することによって達成される。
【0306】
ビデオ送信システム2500は、符号化信号の送信ができる送信器2520及び符号化器2510を含む。符号化器2510は、ビデオ情報を受け取り、深度を有する符号化信号を生成する。符号化器2510は、例えば、記憶又は送信のための構造化された形式で種々の情報を受け取り、記憶又は送信のための構造化された形式に種々の情報を構成するための構成装置を含むサブモジュールを含み得る。種々の情報は、例えば、符号化されたか、又は符号化されていないビデオ、符号化されたか、又は符号化されていない深度情報、及び符号化されたか、又は符号化されていない構成要素(例えば、動きベクトル、符号化モード表示子、及び構文要素など)を含み得る。
【0307】
送信器2520は、例えば、符号化されたピクチャ、及び/又はそれに関係する情報を表す1つ又は複数のビットストリームを有するプログラム信号を送信するよう適合し得る。通常の送信器は、例えば、誤り訂正符号化を提供する機能、信号内のデータをインターリーブする機能、信号内のエネルギをランダム化する機能、及び/又は、信号を1つ又は複数のキャリアに変調する機能などの機能を行う。送信器は例えば、アンテナ(図示せず)を含むか、又は上記アンテナとインタフェースし得る。よって、送信器2520の実現形態は、変調器を含み、又は変調器に限定され得る。
【0308】
図40は、本出願の原理の実施例による、本出願の原理を適用し得る例示的なビデオ受信システム2600を示す。ビデオ受信システム2600は、例えば、衛星、ケーブル、電話回線、又は地上波などの各種媒体を介して信号を受信するよう構成し得る。信号は、インターネットを介して、又は特定の他のネットワークを介して受信し得る。
【0309】
ビデオ受信システム2600は例えば、符号化されたビデオを受信する携帯電話機、コンピュータ、セットトップボックス、テレビジョン受像器、又は他の装置であり得、例えば、記憶のために、又はユーザに向けた表示のために、復号化されたビデオを供給する。よって、ビデオ受信システム2600は、例えば、テレビジョン受像機、コンピュータ・モニタ、(記憶、処理若しくは表示のための)コンピュータ、又は、特定の他の記憶、処理、若しくは表示装置の画面に対して、その出力を供給し得る。
【0310】
ビデオ受信システム2600は、ビデオ情報を含むビデオ・コンテンツを受信し、処理することができる。ビデオ受信システム2600は、例えば、本出願の実現形態において説明した信号などの符号化された信号を受信することができる受信器2610と、受信された信号を復号化することができる復号化器2620とを含む。
【0311】
受信器2610は、例えば、符号化されたピクチャを表す複数のビットストリームを有するプログラム信号を受信するよう適合し得る。通常の受信器は、例えば、変調され、符号化されたデータ信号を受信する機能、1つ又は複数のキャリアからのデータ信号を復調する機能、信号内のエネルギをデランダマイズする機能、信号内のデータをデインターリーブする機能、及び/又は信号を誤り訂正復号化する機能のうちの1つ又は複数などの機能を行う。受信器2610は、アンテナ(図示せず)を含むか、又は上記アンテナとインタフェースし得る。受信器2610の実現形態は、復調器を含むか、又は復調器に限定され得る。復号化器2620は、ビデオ情報及び深度情報を含むビデオ信号を出力する。
【0312】
図41は、本出願の原理の実現形態による、本出願の原理を適用することができる例示的なビデオ処理装置2700を示す。ビデオ処理装置2700は例えば、符号化されたビデオを受け取るセットトップボックス又は他の装置であり得、例えば、記憶のために、又はユーザに向けた表示のために、復号化されたビデオを供給する。よって、ビデオ処理装置2700は、その出力をテレビジョン受像機、コンピュータ・モニタ、若しくはコンピュータ、又は他の処理装置に供給し得る。
【0313】
ビデオ処理装置2700は、フロントエンド(FE)装置2705及び復号化器2710を含む。フロントエンド装置2705は例えば、符号化されたピクチャを表す複数のビットストリームを有するプログラム信号を受け取り、複数のビットストリームから復号化するために1つ又は複数のビットストリームを選択するよう適合された受信器であり得る。通常の受信器は、例えば、変調され、符号化されたデータ信号を受信する機能、データ信号を復調する機能、データ信号の1つ又は複数の符号化(例えば、チャネル符号化及び/又はソース符号化)を復号化する機能、及び/又はデータ信号を誤り訂正する機能などの機能を行う。フロントエンド装置2705は、例えば、アンテナ(図示せず)からプログラム信号を受け取り得る。フロントエンド装置2705は、受け取られたデータ信号を復号化器2710に供給する。
【0314】
復号化器2710はデータ信号2720を受け取る。データ信号2720は、例えば、1つ又は複数の高度ビデオ符号化(AVC)、スケーラブル・ビデオ符号化(SVC)、又はマルチビュー・ビデオ符号化(MVC)互換ストリームを含み得る。
【0315】
復号化器2710は、受け取られた信号2720の全部又は一部を復号化し、復号化されたビデオ信号2730を出力として供給する。復号化されたビデオ2730は選択器2750に供給される。装置2700は、ユーザ入力2770を受け取るユーザ・インタフェース2760も含む。ユーザ・インタフェース2760は、ユーザ入力2770に基づいてピクチャ選択信号2780を選択器2750に供給する。ピクチャ選択信号2780及びユーザ入力2770は、複数のピクチャ、シーケンス、スケラーブルなバージョン、ビュー、又は利用可能な復号化データの他の選択肢のうちのどれをユーザが表示させたいかを示す。選択器2750は、選択されたピクチャを出力2790として供給する。選択器2750は、ピクチャ選択情報2780を使用して、復号化されたビデオ2730におけるピクチャのどれを出力2790として供給するかを選択する。
【0316】
種々の実現形態では、選択器2750はユーザ・インタフェース2760を含み、他の実現形態では、ユーザ・インタフェース2760は必要でない。選択器2750はユーザ入力2770を直接、別個のインタフェース機能が行われることなく受け取る。選択器2750は、例えば、ソフトウェアで、又は集積回路として実現し得る。一実現形態では、選択器2750は、復号化器2710に組み入れられ、別の実現形態では、復号化器2710、選択器2750、及びユーザ・インタフェース2760は全て一体化されている。
【0317】
一アプリケーションでは、フロントエンド2705は、種々のテレビジョン・ショーの放送を受け取り、処理するためにその1つを選択する。1つのショーの選択は、視聴する対象の所望のチャンネルのユーザ入力に基づく。フロントエンド装置2705に対するユーザ入力は
図41に示していないが、フロントエンド装置2705はユーザ入力2770を受け取る。フロントエンド2705は、放送を受け取り、放送スペクトルの適切な部分を復調し、復調されたショーの外部の符号化を復号化することにより、所望のショーを処理する。フロントエンド2705は、復号化されたショーを復号化器2710に提供する。復号化器2710は、装置2760及び2750を含む一体化された装置である。復号化器2710はよって、ショーにおいて視聴する対象の所望のビューのユーザ提供表示であるユーザ入力を受け取る。復号化器2710は、選択されたビュー、及び、他のビューからの何れかの所要の参照ピクチャを復号化し、テレビジョン受像機(図示せず)上に表示するために、上記復号化されたビュー2790を供給する。
【0318】
上記アプリケーションを続ければ、ユーザは、表示されるビューを切り換えたいことがあり得、その場合、新たな入力を復号化器2710に対して供給し得る。ユーザから「ビュー切り換え」を受け取った後、復号化器2710は、旧ビュー及び新ビュー、並びに、旧ビューと新ビューとの間にある何れかのビューを復号化する。すなわち、復号化器2710は、旧ビューを撮るカメラと新ビューを撮るカメラとの間に物理的に配置されたカメラから撮られた何れかのビューを復号化する。フロントエンド装置2705は更に、旧ビュー、新ビュー、及びそれらの間のビューを識別する情報を受け取る。前述の情報は、例えば、復号化器2710、又はビューの位置についての情報を有するコントローラ(
図41に示していない)によって提供され得る。他の実現形態は、フロントエンド装置と一体化されたコントローラを有するフロントエンド装置を使用し得る。
【0319】
復号化器2710は、出力2790として、前述の復号化されたビュー全てを提供する。ポストプロセッサ(
図41に示していない)は、旧ビューから新ビューへの平滑な遷移をもたらすためにビュー間で補間し、ユーザに向けてこの遷移を表示する。新ビューへの遷移の後、ポストプロセッサは、新ビューのみが必要である旨を復号化器2710及びフロントエンド装置2705に(図示していない1つ又は複数の通信リンクを介して)通知する。その後、復号化器2710は、出力2790としてのみ、新ビュー2790を供給する。
【0320】
システム2700は、画像シーケンスの複数のビューを受け取り、表示するために単一のビューを提示し、平滑な態様で種々のビュー間で切り換えるために使用し得る。上記平滑な態様は、別のビューに移動するためにビュー間で補間することが関係し得る。更に、システム2700は、ユーザがオブジェクト又はシーンを回転させ、さもなければ、オブジェクト又はシーンの3次元表現をみることを可能にし得る。オブジェクトの回転は例えば、ビュー間で移動する工程、及びビュー間で平滑な遷移を得るか、又は単に3次元表現を得るためにビュー間で補間する工程に対応し得る。すなわち、ユーザは、補間されたビューを、表示する対象の「ビュー」として「選択」し得る。
【0321】
本明細書及び特許請求の範囲に記載した通り、本出願に記載した実現形態及び構成は、ビデオの符号化、深度の符号化、及び/又は他のタイプのデータの符号化の意味合いで使用し得る。更に、前述の実現形態及び構成は、H.264/MPEG−4 AVC(AVC)標準、MVC拡張を備えたAVC標準、SVC拡張を備えたAVC標準、3DV標準、及び/若しくは別の(既存の、又は将来の)標準のコンテキストにおいて使用し得るか、上記コンテキストにおける使用に適合し得るか、又は、標準を伴わないコンテキストにおいて使用し得るか、若しくは、標準を伴わないコンテキストにおける使用に適合し得る。よって、AVCによって動作する、本出願に記載された特定の実施形態は、AVCに制限されることを意図しておらず、AVCの外で使用するよう適合し得る。
【0322】
更に、上述の通り、実現形態は、限定列挙でないが、SEIメッセージ、スライス・ヘッダ、他の高水準構文、非高水準構文、帯域外情報、データストリーム・データ、及び暗黙的なシグナリングを含む種々の手法を使用して情報をシグナリングするか、又は示し得る。本明細書及び特許請求の範囲記載の実現形態は、特定のコンテキストで説明され得るが、前述の説明は、決して、前述の実現形態又はコンテキストに構成及び概念を限定するものとして解されるべきでない。
【0323】
種々の実現形態には、復号化が関係する。本出願において使用される「復号化」は、例えば、表示に適した最終出力を生成するために、受け取られた符号化シーケンスに対して行われる処理の全部又は一部を包含し得る。前述の処理は、通常、例えば、エントロピ復号化、逆変換、逆量子化、差動復号化などの復号化器によって行われる処理を含み得る。前述の処理は、例えば、タイリングされた(パックされた)ピクチャからピクチャを抽出する処理、使用する対象のアップサンプル・フィルタを判定し、次いで、ピクチャをアップサンプルする処理、その意図された向きにピクチャを戻す処理などの、本出願に記載された種々の実現形態の、復号化器によって行われる処理を含み得る。
【0324】
本出願に開示された種々の実現形態は、複数のピクチャを単一のピクチャに合成する。ピクチャを合成する処理には例として、ピクチャの向きを変更する処理、サンプリング、空間インターリーブ、例えばピクチャ間の関係に基づいてピクチャを選択する処理が関係し得る。よって、合成する処理を表す情報は例えば、関係情報、空間インターリーブ情報、サンプリング情報、及び向き情報を含み得る。
【0325】
空間インターリーブは、種々の実現形態を説明するうえで言及される。本出願で使用される「インターリーブ」は、例えば、「タイリング」及び「パック」とも表される。インターリーブは、例えば、ピクチャのサイドバイサイド並置、ピクチャの上下並置、サイドバイサイド及び上下の合成(例えば、4ピクチャの合成のため)、行単位の交番、列単位の交番、及び種々の画素レベル(画素単位、又は画素ベースとしても表す)の手法を含む各種インターリーブを含む。
【0326】
更に、本明細書及び特許請求の範囲使用の「ピクチャ」及び「画像」の語は同義で使用され、例えば、静止画像の全部若しくは一部、又は、ビデオ・シーケンスからのピクチャの全部若しくは一部を表す。知られているように、ピクチャはフレーム又はフィールドであり得る。更に、本明細書及び特許請求の範囲で使用するように、ピクチャは、例えば、周期的な画素、交番行、交番列、単一のマクロブロック、フレームの上半分などのフレームの部分集合であってもよい。別の例として、深度ピクチャは例として、例えば、対応するビデオ・フレームの単一のマクロブロックの深度情報のみを含む部分的な深度マップ、又は完全な深度マップであり得る。
【0327】
本明細書において本願の原理の「一実施例」若しくは「実施例」又は「一実現形態」若しくは「実施形態」に言及していることは、上記実施例に関して説明した特定の構成、構造、特性等が本願の原理の少なくとも1つの実施例に含まれているということを意味している。よって、本明細書の随所に「一実施例における」若しくは「実施例における」又は「一実現形態における」若しくは「実現形態における」という句が存在していることは、必ずしも、全て、同じ実施例を参照している訳でない。
【0328】
例えば、「A/B」と、「A及び/又はB」と、「A及びBの少なくとも一方」の場合において、「/」と、「及び/又は」と、「少なくとも一方」を使用していることは、第1に列挙したオプション(A)のみの選択、第2に列挙したオプション(B)のみの選択、又は、オプション(A及びB)の選択を包含することを意図している。更なる例として、「A、B、及び/又はC」と、「A、B、及びCの少なくとも1つ」と、「A、B、又はCの少なくとも1つ」の場合において、前述の句は、第1に列挙されたオプション(A)のみの選択、あるいは、第2に列挙されたオプション(B)のみの選択、あるいは、第3に列挙されたオプション(C)のみの選択、あるいは、第1に列挙されたオプション及び第2に列挙されたオプション(A及びB)のみの選択、あるいは、第1に列挙されたオプション及び第3に列挙されたオプション(A及びC)のみの選択、あるいは、第2に列挙されたオプション及び第3に列挙されたオプション(B及びC)のみの選択、あるいは、3つのオプション(A、B、及びC)全ての選択を包含することを意図している。これは、列挙された多くの項目について、当該技術分野及び関連した技術分野において通常の知識を有する者により、容易に分かるように拡張し得る。
【0329】
更に、本出願又は本出願の特許請求の範囲は、種々の情報を「判定すること」を表し得る。情報を判定する工程は、例えば、情報を推定する工程、情報を算出する工程、情報を予測する工程、又は情報をメモリから取り出す工程のうちの1つ又は複数を含み得る。
【0330】
同様に、「アクセスする工程」は、広い意味の用語であることを意図している。情報にアクセスする工程は、例えば、情報を使用し、記憶し、送出し、送信し、受信し、取り出し、修正し、又は供給する何れの動作も含み得る。
【0331】
図に示す構成要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせの種々の形態で実現し得る。好ましくは、前述の構成要素は、プロセッサ、メモリ、及び入出力インタフェースを含み得る適切にプログラムされた1つ又は複数の汎用装置上のハードウェア及びソフトウェアの組み合わせで実現される。更に、本明細書及び特許請求の範囲記載の実現形態は、例えば、方法若しくは処理、装置、又はソフトウェア・プログラムとして実現し得る。(例えば、方法としてのみ記載された)実現形態の単一の形態のコンテキストで記載した場合でも、記載された構成の実現形態は、更に、他の形態(例えば、装置又はプログラム)で実現することもできる。装置は上述のように実現し得る。方法は例として、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラム可能な論理装置を含む、一般に、処理装置を表す、例えばプロセッサなどの装置において実現し得る。処理装置は、更に、例えば、コンピュータ、携帯電話機、携帯情報端末(「PDA」)、及び、エンドユーザ間での情報の通信を容易にする他の装置などの通信装置も含む。
【0332】
本明細書及び特許請求の範囲記載の種々の処理及び構成の実現形態は、各種機器又はアプリケーション、特に、例えば、データ符号化及び復号化に関連付けられた機器又はアプリケーションにおいて実施し得る。機器の例には、ビデオ符号化器、ビデオ復号化器、ビデオ・コーデック、ウェブ・サーバ、セットトップボックス、ラップトップ、パソコン、携帯電話機、PDA、他の通信装置、個人向記録装置(例えば、PVR、記録ソフトウェアを実行するコンピュータ、VHS記録装置)、カムコーダ、インターネット又は他の通信リンクを介したデータのストリーミング、及びビデオオンデマンドが含まれる。機器は、モバイルであり、モバイル車両に設置し得ることは明らかである。
【0333】
更に、方法は、プロセッサによって実行される命令によって実現し得、前述の命令は、例えば、集積回路、ソフトウェア・キャリア、又は他の記憶装置(例えばハード・ディスク、コンパクト・ディスク、ランダム・アクセス・メモリ(「RAM」)、又はリードオンリ・メモリ(「ROM」)など)などのプロセッサ読み取り可能な媒体上に記憶し得る。命令は、プロセッサ読み取り可能な媒体上に有形に実施されたアプリケーション・プログラムを形成し得る。プロセッサが、例えば、処理を行うための命令を有するプロセッサ読み取り可能な媒体を含み得る。前述のアプリケーション・プログラムは、何れかの適切なアーキテクチャを含むマシンにアップロードし得、上述のマシンによって実行し得る。好ましくは、マシンは、1つ又は複数の中央処理装置(「CPU」)、ランダム・アクセス・メモリ(「RAM」)、及び入力/出力(「I/O」)インタフェースなどのハードウェアを有するコンピュータ・プラットフォーム上で実現される。コンピュータ・プラットフォームは、オペレーティング・システム及びマイクロ命令コードも含み得る。本明細書及び特許請求の範囲記載の種々の処理及び機能は、マイクロ命令コードの一部若しくはアプリケーション・プログラムの一部、又は、CPUで実行し得る何れかの組み合わせであり得る。更に、更なるデータ記憶装置及び印刷装置などの種々の他の端末装置は、コンピュータ・プラットフォームに接続し得る。
【0334】
当業者に明らかであるように、例えば、記憶又は送信され得る情報を収容するようフォーマッティングされた信号も生成し得る。情報は、例えば、上記実現形態の1つによって生成されるデータ、又は方法を行うための命令を含み得る。前述の信号は例えば、(例えば、スペクトルの無線周波数部分を使用した)電磁波として、又はベースバンド信号としてフォーマッティングし得る。フォーマッティングは例えば、データ・ストリームを符号化する工程、構文を生成する工程、並びに、符号化されたデータ・ストリーム及び構文でキャリアを変調する工程を含み得る。信号が搬送する情報は例えば、アナログ又はディジタル情報であり得る。信号は、知られているように、各種有線又は無線リンクを介して送信し得る。
【0335】
添付図面に表す構成システムの構成部分及び方法の一部は好ましくはソフトウェアで実現されるので、システム構成部分又は処理機能ブロック間の実際の接続は、本願の原理がプログラムされたやり方に応じて異なり得る。本明細書及び特許請求の範囲記載の教示によれば、当業者は、本願の原理の前述及び同様な実現形態又は構成を想定することができるであろう。
【0336】
いくつかの実現形態を説明してきた。しかし、種々の修正を行い得るものとする。例えば、種々の実現形態の構成要素は、他の実現形態を生成するよう合成し、補強し、修正し、又は除去し得る。更に、他の構造及び処理は、開示されたものに代え得、結果として生じる実現形態は、開示された実現形態と少なくとも実質的に同じ結果を達成するために少なくとも実質的に同じやり方で少なくとも実質的に同じ機能を行うことを当業者は理解するであろう。特に、例証的な実施例を、添付図面を参照して本明細書及び特許請求の範囲において説明してきたが、本願の原理は前述の厳密な実施例に限定されず、種々の変更及び修正は、本願の原理の範囲又は趣旨から逸脱しない限り、当業者により、本明細書及び特許請求の範囲において行い得る。よって、前述及び他の実現形態は、本出願によって想定され、特許請求の範囲記載の範囲内に収まる。