(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023165827
(43)【公開日】2023-11-17
(54)【発明の名称】ビデオ符号化及び復号化におけるタイリング
(51)【国際特許分類】
H04N 19/70 20140101AFI20231110BHJP
H04N 19/597 20140101ALI20231110BHJP
【FI】
H04N19/70
H04N19/597
【審査請求】有
【請求項の数】4
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023159330
(22)【出願日】2023-09-25
(62)【分割の表示】P 2022121528の分割
【原出願日】2008-04-11
(31)【優先権主張番号】60/923,014
(32)【優先日】2007-04-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】60/925,400
(32)【優先日】2007-04-20
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】510185767
【氏名又は名称】ドルビー・インターナショナル・アーベー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】パンディット,パーヴィン,ビバス
(72)【発明者】
【氏名】イン,ペン
(72)【発明者】
【氏名】ティアン,ドン
(57)【要約】
【課題】ビデオ符号化及び復号化におけるビューのタイリングに関する実現形態を提供する。
【解決手段】単一のピクチャに合成された複数のピクチャを含むビデオ・ピクチャにアクセスする工程と、アクセスされたビデオ・ピクチャにおける複数のピクチャがどのようにして合成されるかを示す情報にアクセスする工程(806、808)と、複数のピクチャのうちの少なくとも1つの復号化された表現を供給するようビデオ・ピクチャを復号化する工程(824)と、アクセスされた情報及び復号化されたビデオ・ピクチャを出力として供給する工程とを用いて復号する。符号化側では、単一のビデオ・ピクチャに含まれる複数のピクチャが単一のビデオ・ピクチャにどのようにして合成されるかを示す情報をフォーマッティング又は処理し、合成された複数のピクチャの符号化された表現をフォーマッティング又は処理する。
【選択図】
図8A
【特許請求の範囲】
【請求項1】
マルチビュー・ビデオのビューに対応する第一のピクチャおよび第二のピクチャにアクセスする段階であって、前記第一のピクチャは前記マルチビュー・ビデオの第一のビューに対応し、前記第二のピクチャは前記マルチビュー・ビデオの第二のビューに対応する、段階と;
前記第一のピクチャおよび前記第二のピクチャを単一のピクチャ中にピクセル・レベルで配置する段階と;
前記第二のピクチャが、前記第一のピクチャから、水平方向および垂直方向においてある数のピクセルだけシフトされていることを示すメタデータを生成する段階であって、前記メタデータはさらに、前記第二のピクチャが前記第一のピクチャから水平方向および垂直方向においてシフトされているピクセル数を示す、段階と;
前記単一のピクチャおよび前記メタデータをエンコードしてビットストリームを形成する段階とを含む、
方法。
【請求項2】
前記メタデータが高レベルのシンタックスに従ってフォーマットされる、請求項1に記載の方法。
【請求項3】
前記高レベルのシンタックスが、少なくとも、スライス・ヘッダ、シーケンス・パラメータ・セット、ピクチャ・パラメータ・セット、ビュー・パラメータ・セット、ネットワーク抽象化層ユニット・ヘッダ、および付加拡張情報メッセージからなる高レベルのシンタックスの群から、選択される、請求項2に記載の方法。
【請求項4】
共通のオブジェクトが前記第一のビューから前記第二のビューにかけてシフトしたように見える、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、(1)「Multiview Information」と題する西暦2007年4月12日付け出願の米国特許仮出願第60/923014号(代理人整理番号PU070078号)及び(2)「View Tiling in MVC Coding」と題する西暦2007年4月20日付け出願の米国特許仮出願第60/925400号(代理人整理番号PU0700103号)それぞれの利益を主張する。前述の2つの出願はそれぞれ、内容全体を本明細書及び特許請求の範囲に援用する。
【0002】
本願の原理は一般に、ビデオ符号化及び/又は復号化に関する。
【背景技術】
【0003】
ビデオ・ディスプレイ製造業者は、単一のフレーム上に別々のビューを配置又はタイリングするフレームワークを使用し得る。その場合、ビューは、そのそれぞれの位置から抽出し、レンダリングすることができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般的な局面によれば、単一のピクチャに合成された複数のピクチャを含むビデオ・ピクチャがアクセスされる。アクセスされたビデオ・ピクチャにおける複数のピクチャがどのようにして合成されるかを示す情報がアクセスされる。合成された複数のピクチャの復号化された表現を提供するためにビデオ・ピクチャが復号化される。アクセスされた情報及び復号化されたビデオ・ピクチャが出力として供給される。
【課題を解決するための手段】
【0005】
別の一般的な局面によれば、ビデオ・ピクチャに含まれる複数のピクチャがどのようにして単一のピクチャに合成されるかを示す情報が生成される。合成された複数のピクチャの符号化された表現を供給するためにビデオ・ピクチャが符号化される。生成された情報及び符号化されたビデオ・ピクチャが出力として供給される。
【0006】
別の一般的な局面によれば、信号又は信号構造は、単一のビデオ・ピクチャに含まれる複数のピクチャが単一のビデオ・ピクチャにどのようにして合成されるかを示す情報を含む。信号又は信号構造は、合成された複数のピクチャの符号化された表現も含む。
【0007】
別の一般的な局面によれば、単一のピクチャに合成された複数のピクチャを含むビデオ・ピクチャがアクセスされる。アクセスされたビデオ・ピクチャにおける複数のピクチャがどのようにして合成されるかを示す情報がアクセスされる。複数のピクチャのうちの少なくとも1つの復号化された表現を供給するためにビデオ・ピクチャが復号化される。アクセスされた情報及び復号化された表現が出力として供給される。
【0008】
別の一般的な局面によれば、単一のピクチャに合成された複数のピクチャを含むビデオ・ピクチャがアクセスされる。アクセスされたビデオ・ピクチャにおける複数のピクチャがどのようにして合成されるかを示す情報がアクセスされる。合成された複数のピクチャの復号化された表現を供給するためにビデオ・ピクチャが復号化される。表示するために複数のピクチャの少なくとも1つを選択するユーザ入力が受け取られる。選択された少なくとも1つのピクチャの復号化された出力が供給され、復号化された出力は、アクセスされた情報、復号化された表現、及びユーザ入力に基づいて供給される。
【図面の簡単な説明】
【0009】
【
図1】単一のフレーム上にタイリングされた4つのビューの例を示す図である。
【
図2】単一のフレーム上で反転させ、タイリングされた4つのビューの例を示す図である。
【
図3】本願の原理の実施例による、本願の原理を施すことができるビデオ符号化器を示すブロック図である。
【
図4】本願の原理の実施例による、本願の原理を施すことができるビデオ復号化器を示すブロック図である。
【
図5A】本願の原理の実施例による、MPEG-4AVC標準を使用して複数のビューのピクチャを符号化する方法のフロー図である。
【
図5B】本願の原理の実施例による、MPEG-4AVC標準を使用して複数のビューのピクチャを符号化する方法のフロー図である。
【
図6A】本願の原理の実施例による、MPEG-4AVC標準を使用して複数のビューのピクチャを復号化する方法のフロー図である。
【
図6B】本願の原理の実施例による、MPEG-4AVC標準を使用して複数のビューのピクチャを復号化する方法のフロー図である。
【
図7A】本願の原理の実施例による、MPEG-4AVC標準を使用して複数のビュー及び深度のピクチャを符号化する方法のフロー図である。
【
図7B】本願の原理の実施例による、MPEG-4AVC標準を使用して複数のビュー及び深度のピクチャを符号化する方法のフロー図である。
【
図8A】本願の原理の実施例による、MPEG-4AVC標準を使用して複数のビュー及び深度のピクチャを復号化する方法のフロー図である。
【
図8B】本願の原理の実施例による、MPEG-4AVC標準を使用して複数のビュー及び深度のピクチャを復号化する方法のフロー図である。
【
図9】本願の原理の実施例による、深度信号の例を示す図である。
【
図10】本願の原理の実施例による、タイルとして加えられた深度信号の例を示す図である。
【
図11】本願の原理の実施例による、単一のフレーム上にタイリングされた5つのビューの例を示す図である。
【
図12】本願の原理の実施例による、本願の原理を施すことができる例示的なマルチビュー・ビデオ符号化(MVC)符号化器のブロック図である。
【
図13】本願の原理の実施例による、本願の原理を施すことができる例示的なマルチビュー・ビデオ符号化(MVC)復号化器のブロック図である。
【
図14】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用したピクチャの符号化に備えて複数のビューのピクチャを処理する方法のフロー図である。
【
図15A】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビューのピクチャを符号化する方法のフロー図である。
【
図15B】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビューのピクチャを符号化する方法のフロー図である。
【
図16】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用したピクチャの復号化に備えて複数のビューのピクチャを処理する方法のフロー図である。
【
図17A】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)拡張を使用して複数のビューのピクチャを復号化する方法のフロー図である。
【
図17B】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)拡張を使用して複数のビューのピクチャを復号化する方法のフロー図である。
【
図18】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用したピクチャの符号化に備えて複数のビュー及び深度のピクチャを処理する方法のフロー図である。
【
図19A】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビュー及び深度のピクチャを処理する方法のフロー図である。
【
図19B】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビュー及び深度のピクチャを処理する方法のフロー図である。
【
図20】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)拡張を使用したピクチャの復号化に備えて複数のビュー及び深度のピクチャを処理する方法のフロー図である。
【
図21A】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビュー及び深度のピクチャを復号化する方法のフロー図である。
【
図21B】本願の原理の実施例による、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビュー及び深度のピクチャを復号化する方法のフロー図である。
【
図22】本願の原理の実施例による、画素レベルにおけるタイリング例を示す図である。
【
図23】本願の原理の実施例による、本願の原理を施すことができるビデオ処理装置を示すブロック図である。
【発明を実施するための形態】
【0010】
1つ又は複数の実現形態の詳細は、添付図面及び以下明細書に記載する。特定の1つのやり方で記載されていても、実現形態は種々のやり方で構成又は実施することができる。例えば、実現形態は、方法として行うか、あるいは、動作の組を行うよう構成された装置として実施するか、あるいは、動作の組を行うための命令を記憶する装置として実施するか、あるいは、信号において実施することができる。他の局面及び特徴は、添付図面及び特許請求の範囲に関して検討される以下の詳細な説明から明らかになるであろう。
【実施例0011】
種々の実現形態は、ビデオ符号化及び復号化においてビューをタイリングする方法及び装置に関する。よって、当業者は、本明細書及び特許請求の範囲に明示的に説明するか、又は示していないが、本願の原理を実施し、その趣旨及び範囲の範囲内に含まれる種々の構成を考え出すことができるであろう。
【0012】
本明細書及び特許請求の範囲記載の例及び条件付文言は全て、本願の原理、及び当該技術分野を発展させるために本願の発明者が貢献する概念の、読者の理解を支援するための教示の目的を意図しており、前述の、特記した例及び条件への限定なしであると解釈するものとする。
【0013】
更に、本願の原理、局面、及び実施例、並びにそれらの具体例を記載した、本明細書及び特許請求の範囲の記載は全て、その構造的均等物及び機能的均等物を包含することを意図している。更に、前述の均等物は、現在知られている均等物、及び将来に開発される均等物(すなわち、構造にかかわらず、同じ機能を行う、開発された何れかの構成要素)をともに含むことが意図されている。
【0014】
よって、例えば、本明細書及び特許請求の範囲に提示されたブロック図が、本願の原理を実施する例証的な回路の概念図を表すことは当業者によって認識されるであろう。同様に、フローチャート、フロー図、状態遷移図、擬似コード等は何れも、コンピュータ読み取り可能な媒体において実質的に表し、コンピュータ又はプロセッサにより、前述のコンピュータ又はプロセッサが明記されているか否かにかかわらず、実行し得る種々の処理を表す。
【0015】
図に示す種々の構成要素の機能は、専用ハードウェア、及び適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアの使用によって提供することができる。プロセッサによって提供される場合、機能は、単一の専用プロセッサによって提供されるか、単一の共有プロセッサによって提供されるか、又は、複数の個々のプロセッサ(この一部は共有であり得る)によって提供され得る。更に、「プロセッサ」又は「コントローラ」の語を明示的に使用していることは、ソフトウェアを実行することができるハードウェアを専ら表すものと解するべきでなく、暗黙的には、限定列挙でないが、ディジタル信号プロセッサ(「DSP」)ハードウェア、ソフトウェアを記憶するための読み取り専用メモリ(「ROM」)、ランダム・アクセス・メモリ(「RAM」)及び不揮発性記憶装置を含み得る。
【0016】
他のハードウェア(汎用及び/又はカスタム)も含まれ得る。同様に、図に示すスイッチは何れも概念のみである。前述の機能は、プログラム・ロジックの動作によるか、専用ロジックによるか、プログラム制御及び専用ロジックの相互作用によるか、又は手作業によって行うことができ、特定の手法は、前後関係からより具体的に分かるように実現者によって選択可能である。
【0017】
本願の特許請求の範囲では、特定の機能を行う手段として表される構成要素は何れも、その機能を行う何れの手段(例えば、a)その機能を行う回路構成要素の組合せや、b)機能を行うためにそのソフトウェアを実行する適切な回路と組み合わせた、ファームウェア、マイクロコード等を含む、何れかの形態のソフトウェア)も包含することが意図される。前述の特許請求の範囲で規定された本願の原理は、記載された種々の手段によって提供される機能が、請求項が要求するやり方で組み合わせられ、集約されるということに存在する。よって、前述の機能を提供することが可能な手段は何れも、本願の明細書及び特許請求の範囲記載のものと均等であるとみなされる。
【0018】
本願明細書における、本願の原理の「one embodiment」(若しくは「one implementation」)又は「an embodiment」(若しくは「an implementation」)への言及は、本願の実施例に関して説明した特定の構成、構造、特性等が本願の原理の少なくとも一実施例に含まれていることを意味している。よって、本明細書全体の種々の箇所に記載された「in one embodiment」又は「in an embodiment」の句は、必ずしも、同じ実施例を全て表している訳でない。
【0019】
「及び/又は」の語や「少なくとも一方」の語を使用していることは、例えば、「A及び/又はB」や「A及びBのうちの少なくとも一方」の場合には、最初に挙げられた選択肢(A)のみの選択、第2に挙げられた選択肢(B)のみの選択、又は両方の選択肢(A及びB)の選択を包含することが意図されている。更なる例として、「A、B、及び/又はC」や「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)全ての選択を包含することを意図している。当該技術分野及び関連技術分野において通常の知識を有する者が容易に分かるように、このことは、挙げられたいくつもの項目について拡張することができる。
【0020】
更に、本願の原理の1つ又は複数の実施例は本明細書及び特許請求の範囲においてMPEG-4 AVC標準に関して説明しているが、本願の原理は単にこの標準に限定されず、よって、本願の原理の趣旨を維持しながら、他の標準、勧告、及びその拡張(特に、MPEG-4AVC標準の拡張を含むビデオ符号化標準、勧告、及びその拡張)に関して利用することができる。
【0021】
更に、本願の原理の他の1つ又は複数の実施例は本明細書及び特許請求の範囲においてMPEG-4AVC標準のマルチビュー・ビデオ符号化の拡張に関して説明しているが、本願の原理は、単にこの拡張及び/又はこの標準に限定されず、よって、本願の原理の趣旨を維持しながら、マルチビュー・ビデオ符号化に関する他のビデオ符号化の標準、勧告、及びそれらの拡張(特に、ビデオ符号化の標準、勧告、及びそれらの拡張(MPEG-4AVC標準の拡張に利用することができる。マルチビュー・ビデオ符号化(MVC)は、マルチビュー系列の符号化の圧縮フレームワークである。マルチビュー・ビデオ符号化(MVC)系列は、別々の視点からの同じシーンを捕捉する2つ以上のビデオ系列の組である。
【0022】
更に、本明細書及び特許請求の範囲においては、ビデオ・コンテンツに関して深度情報を使用する本願の原理の他の1つ又は複数の実施例を記載しているが、本願の原理は前述の実施例に限定されず、よって、本願の原理の趣旨を維持しながら、深度情報を使用しない他の実施例を実現することができる。
【0023】
更に、本明細書及び特許請求の範囲では、「高位構文」は、階層的にマクロブロック層の上の、ビットストリーム内に存在している構文を表す。例えば、本明細書及び特許請求の範囲記載の高位構文は、スライス・ヘッダ・レベル、付加拡張情報(SEI)レベル、ピクチャ・パラメータ・セット(PPS)レベル、シーケンス・パラメータ・セット(SPS)レベル、ビュー・パラメータ・セット(VPS)レベル、及びネットワーク抽象化層(NAL)ユニット・ヘッダ・レベルの構文を表し得るが、それらに限定されない。
【0024】
国際標準化機構/国際電気標準会議(ISO/IEC)動画像専門家グループ-4(MPEG-4)パート10高度ビデオ符号化(AVC)標準/国際電気通信連合(ITU-T)H.264勧告(以下、「MPEG-4 AVC標準」)に基づいたマルチビデオ符号化(MVC)の現在の実現形態では、参照ソフトウェアが、各ビューを単一の符号化器で符号化し、ビュー間参照を考慮に入れることにより、マルチビュー予測を達成する。各ビューは、別個のビットストリームとして符号化器により、その元の分解能で符号化され、その後、全てのビットストリームを合成して単一のビットストリームを形成する。上記単一のビットストリームはその後、復号化される。各ビューは、別個のYUV復号化出力を生成する。
【0025】
マルチビュー予測の別の手法は、ビューの組を疑似ビューにグループ化することを伴う。この手法の一例では、実施可能なダウンサンプリング又は他の処理により、より大きなフレーム上又はスーパー・フレーム上の合計M個のビュー(同時にサンプリングされる)のうちのN個のビューからのピクチャをタイリングすることが可能である。
図1に移れば、単一のフレーム上にタイリングされた4つのビューの例の全体を参照符号100で示す。4つのビューは全て、その通常の向きにある。
【0026】
図2に移れば、単一のフレーム上で反転させ、タイリングされた4つのビューの例の全体を参照符号200で示す。左上のビューは、その通常の向きにある。右上のビューは水平方向に反転させている。左下のビューは垂直方向に反転させている。右下のビューは、水平方向及び垂直方向に反転させている。よって、4つのビューが存在している場合、各ビューからのピクチャが、タイルのようなスーパー・フレームに配置される。これは、高分解能の単一の非符号化入力系列をもたらす。
【0027】
あるいは、画像をダウンサンプリングして、より低い分解能をもたらすことが可能である。よって、併せてタイリングされた別々のビューをそれぞれが含む複数の系列を作成する。その場合、前述の系列はそれぞれ、別々のN個のタイリングされたビューをそれぞれが含む疑似ビューを形成する。
図1は一疑似ビューを示し、
図2は別の疑似ビューを示す。これらの疑似ビューは次いで、ISO/IEC MPEG-2標準やMPEG-4 AVC標準などの既存のビデオ符号化標準を使用して符号化することが可能である。
【0028】
マルチビュー予測の更に別の手法は、新たな標準を使用して、別々のビューを別個に符号化し、復号化後、プレイヤによって要求されるようにビューをタイリングすることを伴う。
【0029】
更に、別の手法では、ビューは、画素単位でタイリングすることも可能である。例えば、4つのビューを含むスーパービューでは画素(x,y)はビュー0からであり得る一方、画素(x+1,y)はビュー1からであり得、画素(x,y+1)はビュー2からであり得、画素(x+1, y+1)はビュー3からであり得る。
【0030】
多くのディスプレイ製造業者は、単一のフレーム上に別々のビューを配置又はタイリングし、それらのそれぞれの位置からのビューを抽出し、レンダリングする前述のフレームワークを使用する。前述の場合、ビットストリームが前述の特性を有するかを判定する標準的なやり方は存在しない。よって、システムが、大きなフレームにおいて別々のビューのピクチャをタイリングする方法を使用する場合、別々のビューを抽出する方法は、そのシステム固有のものである。
【0031】
しかし、ビットストリームが前述の特性を有するかを判定する標準的なやり方は存在しない。本願の発明者は、表示や他の後処理を支援するためにレンダリング装置又はプレイヤが前述の情報を抽出することを容易にするために高位構文を提案している。サブピクチャが、異なる分解能を有している可能性もあり、最終的にビューをレンダリングするために多少のアップサンプリングが必要であり得る。ユーザは、アップサンプルを高位の構文でも示させたいことがあり得る。更に、深度フォーカスを変えるためのパラメータを送信することも可能である。
【0032】
一実施例では、別のビューに属するサブピクチャを各ピクチャが含むMPEG-4 AVC標準準拠ビットストリームにおけるマルチビュー情報のシグナリングのための新たな付加拡張情報(SEI)メッセージを提案する。実施例は、例えば、前述のフレームワークを使用することができる3次元(3D)モニタ上のマルチビュー・ビデオ・ストリームを簡単かつ便利に表示することを意図している。この概念は、高位構文を使用して前述の情報をシグナリングする他のビデオ符号化の標準及び勧告に拡張することが可能である。
【0033】
更に、一実施例では、マルチビュー・ビデオ符号化器及び/復号化器に送出される前にビューをどのようにして配置するかというシグナリング方法を提案している。効果的には、上記実施例は、マルチビュー符号化の単純化された実現形態につながり得、符号化効率に便益をもたらし得る。特定のビューを集約し、疑似ビュー又はスーパーフラグを形成することが可能であり、タイリングされたスーパービューは、例えば、マルチビュー・ビデオ符号化の現在のMPEG-4 AVC標準ベースの実現形態に従って、共通のマルチビュー・ビデオ符号化器及び/又は復号化器によって通常ビューとして扱われる。疑似ビューの手法の使用をシグナリングするためにマルチビュー・ビデオ符号化のシーケンス・パラメータ・セット(SPS)において、新たなフラグが、提案されている。実施例は、前述のフレームワークを使用することができる3Dモニタ上のマルチビュー・ビデオ・ストリームを簡単かつ便利に表示することを意図している。
【0034】
単一ビューのビデオ符号化/復号化の標準/勧告を使用した符号化/復号化
国際標準化機構/国際電気標準会議(ISO/IEC)動画像専門家グループ-4(MPEG-4)パート10高度ビデオ符号化(AVC)標準/国際電気通信連合(ITU-T)H.264勧告(以下、「MPEG-4 AVC標準」に基づいたマルチビデオ符号化(MVC)の現在の実現形態では、参照ソフトウェアは、単一の符号化器で各ビューを符号化し、ビュー間の参照を考慮に入れることにより、マルチビュー予測を達成する。各ビューは、別個のビットストリームとして符号化器により、その元の分解能で符号化され、その後、全てのビットストリームを合成して単一のビットストリームを形成する。上記単一のビットストリームはその後、復号化される。各ビューは、別個のYUV復号化出力を生成する。
【0035】
マルチビュー予測の別の手法は、実施可能なダウンサンプリング動作による、より大きなフレーム又はスーパー・フレーム上の(同時にサンプリングされた)各ビューからのピクチャをタイリングすることを伴う。
図1に移れば、単一のフレーム上にタイリングされた4つのビューの例の全体を参照符号100で示す。
図2に移れば、単一のフレーム上で反転させ、タイリングされた4つのビューの例の全体を参照符号200で示す。よって、4つのビューが存在している場合、各ビューからのピクチャは、タイルのようなスーパー・フレームに構成される。これは、高分解能の単一の非符号化入力系列をもたらす。前述の信号は次いで、ISO/IEC MPEG-2標準やMPEG-AVC標準などの既存のビデオ符号化標準を使用して符号化することが可能である。
【0036】
マルチビュー予測の更に別の手法は、新たな標準を使用して、別々のビューを別個に符号化し、復号化後、プレイヤによって要求されるようにビューをタイリングすることを伴うに過ぎない。
【0037】
多くのディスプレイ製造業者は、単一のフレーム上に別々のビューを配置又はタイリングし、それらのそれぞれの位置からのビューを抽出し、レンダリングする前述のフレームワークを使用する。前述の場合、ビットストリームが前述の特性を有するかを判定する標準的なやり方は存在しない。よって、システムが、大きなフレームにおいて別々のビューのピクチャをタイリングする方法を使用する場合、別々のビューを抽出する方法は、固有のものである。
【0038】
図3を参照すれば、MPEG-4 AVC標準によってビデオ符号化を行うことができるビデオ符号化器は全体を参照符号300で示す。
【0039】
ビデオ符号化器300は、合成器385の非反転入力と信号通信する出力を有するフレーム配列バッファ310を含む。合成器385の出力は変換器及び量子化器325の第1の入力と信号通信で接続される。変換器及び量子化器325の出力は、エントロピ符号化器345の第1の入力、並びに、逆変換器及び逆量子化器350の第1の入力と信号通信で接続される。エントロピ符号化器345の出力は合成器390の第1の非反転入力と信号通信で接続される。合成器390の出力は、出力バッファ335の第1の入力と信号通信で接続される。
【0040】
符号化器制御器305の第1の出力は、フレーム配列バッファ310の第2の入力と、逆変換器及び逆量子化器350の第2の入力と、ピクチャ・タイプ決定モジュール315の入力と、マクロブロックタイプ(MBタイプ)決定モジュール320の入力と、イントラ予測モジュール360の第2の入力と、デブロッキング・フィルタ365の第2の入力と、動き補償器370の第1の入力と、動き補償器375の第1の入力と、参照ピクチャ・バッファ380の第2の入力と信号通信で接続される。
【0041】
符号化器制御器305の第2の出力は、付加拡張情報(SEI)挿入器330の第1の入力、変換器及び量子化器325の第2の入力、エントロピ符号化器345の第2の入力、出力バッファ335の第2の入力、並びに、シーケンス・パラメータ・セット(SPS)及びピクチャ・パラメータ・セット(PPS)挿入器340の入力と信号通信で接続される。
【0042】
ピクチャ・タイプ決定モジュール315の第1の出力は、フレーム配列バッファ310の第3の入力と信号通信で接続される。ピクチャ・タイプの決定モジュール315の第2の出力は、マクロブロックタイプの決定モジュール320の第2の入力と信号通信で接続される。
【0043】
シーケンス・パラメータ・セット(SPS)及びピクチャ・パラメータ・セット(PPS)挿入器340の出力は、合成器390の第3の非反転入力と信号通信で接続される。SEI挿入器330の出力は、合成器390の第2の非反転入力と信号通信で接続される。
【0044】
逆量子化器及び逆変換器350の出力は合成器319の第1の非反転入力と信号通信で接続される。合成器319の出力は、イントラ予測モジュール360の第1の入力及びデブロッキング・フィルタ365の第1の入力と信号通信で接続される。デブロッキング・フィルタ365の出力は参照ピクチャ・バッファ380の第1の入力と信号通信で接続される。参照ピクチャ・バッファ380の出力は、動き推定器375の第2の入力及び動き補償器370の第1の入力と信号通信で接続される。動き推定器375の第1の出力は動き補償器370の第2の入力と信号通信で接続される。動き推定器375の第2の出力はエントロピ符号化器345の第3の入力と信号通信で接続される。
【0045】
動き補償器370の出力はスイッチ397の第1の入力と信号通信で接続される。イントラ予測モジュール360の出力はスイッチ397の第2の入力と信号通信で接続される。マクロブロックタイプの決定モジュール320の出力は、スイッチ397に制御入力を供給するために、スイッチ397の第3の入力と信号通信で接続される。スイッチ397の第3の入力は、(制御入力、すなわち、第3の入力と比較して)スイッチの「データ」入力を動き補償器370又はイントラ予測モジュール360によって供給されるか否かを判定する。スイッチ397の出力は、合成器319の第2の非反転入力、及び合成器385の反転入力と信号通信で接続される。
【0046】
フレーム配列バッファ310及び符号化器制御器105の入力は、入力ピクチャ301を受け取るために、符号化器300の入力として利用可能である。更に、付加拡張情報(SEI)挿入器330の入力は、メタデータを受け取るために、符号化器300の入力として利用可能である。出力バッファ335の出力は、ビットストリームを出力するために、符号化器300の出力として利用可能である。
【0047】
図4に移れば、MPEG-4 AVC標準によってビデオ復号化を行うことができるビデオ復号化器は全体を参照符号400で示す。
【0048】
ビデオ復号化器400は、エントロピ復号化器445の第1の入力と信号通信で接続された出力を有する入力バッファ410を含む。エントロピ復号化器445の第1の出力は、逆変換器及び逆量子化器450の第1の入力と信号通信で接続される。逆変換器及び逆量子化器450の出力は合成器425の第2の非反転入力と信号通信で接続される。合成器425の出力はデブロッキング・フィルタ465の第2の入力及びイントラ予測モジュール250の第1の入力と信号通信で接続される。デブロッキング・フィルタ465の第2の出力は、参照ピクチャ・バッファ480の第1の入力と信号通信で接続される。
【0049】
エントロピ復号化器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の入力と信号通信で接続される。
【0050】
動き補償器470の出力は、スイッチ497の第1の入力と信号通信で接続される。イントラ予測モジュール460の出力はスイッチ497の第2の入力と信号通信で接続される。スイッチ497の出力は合成器425の第1の非反転入力と信号通信で接続される。
【0051】
入力バッファ410の入力は、入力ビットストリームを受け取るために、復号化器400の入力として利用可能である。デブロッキング・フィルタ465の第1の出力は、出力ピクチャを出力するために、復号化器400の出力として利用可能である。
【0052】
図5に移れば、MPEG-4AVC標準を使用して複数のビューのピクチャを符号化する例示的な方法の全体を参照符号500で示す。
【0053】
方法500は、開始ブロック502を含む。開始ブロック502は制御を機能ブロック504に渡す。機能ブロック504は、特定の時点における各ビューを、タイル形式におけるサブピクチャとして配置し、制御を機能ブロック506に渡す。機能ブロック506は構文要素num_coded_views_minus1をセットし、制御を機能ブロック508に渡す。機能ブロック508は構文要素org_pic_width_in_mbs_minus1及びorg_pic_height_in_mbs_minus1をセットし、制御を機能ブロック510に渡す。機能ブロック510は変数iをゼロに等しくセットし、制御を決定ブロック512に渡す。決定ブロック512は、変数iがビュー数未満であるか否かを判定する。肯定の場合、制御を機能ブロック514に渡す。さもなければ、制御を機能ブロック524に渡す。
【0054】
機能ブロック514は、構文要素view_id[i]をセットし、制御を機能ブロック516に渡す。機能ブロック516は構文要素num_parts[view_id[i])をセットし、制御を機能ブロック518に渡す。機能ブロック518は変数jをゼロにセットし、制御を決定ブロック520に渡す。決定ブロック520は、変数jの現在値が、構文要素num_parts[view_id[i]]の現在値未満か否かを判定する。肯定の場合、制御を機能ブロック522に渡す。さもなければ、制御を機能ブロック528に渡す。
【0055】
機能ブロック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に戻す。
【0056】
機能ブロック528は構文要素upsample_view_flag[view_id[i]]をセットし、制御を決定ブロック530に渡す。決定ブロック530は、構文要素upsample_view_flag[view_id[i]]の現在値が1に等しいか否かを判定する。肯定の場合、制御を機能ブロック532に渡す。さもなければ、制御を決定ブロック534に渡す。
【0057】
機能ブロック532は構文要素upsample_filter[view_id[i]]をセットし、制御を決定ブロック534に渡す。
【0058】
決定ブロック534は、構文要素upsample_filter[view_id[i]]の現在値が3に等しいか否かを判定する。肯定の場合、制御を機能ブロック536に渡す。さもなければ、制御を機能ブロック540に渡す。
【0059】
機能ブロック536は、
vert_dim[view_id[i]];
hor_dim[view_id[i]]; 及び
quantizer[view_id[i]]
の構文要素をセットし、制御を機能ブロック538に渡す。 機能ブロック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は、開始ブロック602を含む。開始ブロック602は制御を機能ブロック604に渡す。機能ブロック604は、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、付加拡張情報(SEI)メッセージ、ネットワーク抽象化(NAL)ユニット・ヘッダ、及びスライス・ヘッダのうちの少なくとも1つからの以下の構文要素を解析し、制御を機能ブロック606に渡す。機能ブロック606は、構文要素num_coded_views_minus1を解析し、制御を機能ブロック608に渡す。機能ブロック608は、構文要素org_pic_width_in_mbs_minus1及びorg_pic_height_in_mbs_minus1を解析し、制御を機能ブロック610に渡す。機能ブロック610は変数iをゼロに等しくセットし、制御を決定ブロック612に渡す。決定ブロック612は、変数iがビュー数未満であるか否かを判定する。肯定の場合、制御を機能ブロック614に渡す。さもなければ、制御を機能ブロック624に渡す。
【0064】
機能ブロック614は、構文要素view_id[i]を解析し、制御を機能ブロック616に渡す。機能ブロック616は、構文要素num_parts_minus1[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は、開始ブロック702を含む。開始ブロック702は制御を機能ブロック704に渡す。機能ブロック704は、特定の時点における各ビュー及び対応する深度を、タイル形式におけるサブピクチャとして配置し、制御を機能ブロック706に渡す。機能ブロック706は構文要素num_coded_views_minus1をセットし、制御を機能ブロック708に渡す。機能ブロック708は構文要素org_pic_width_in_mbs_minus1及びorg_pic_height_in_mbs_minus1をセットし、制御を機能ブロック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_filter[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は、開始ブロック802を含む。開始ブロック802は制御を機能ブロック804に渡す。機能ブロック804は、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、付加拡張情報(SEI)メッセージ、ネットワーク抽象化(NAL)ユニット・ヘッダ、及びスライス・ヘッダのうちの少なくとも1つからの以下の構文要素を解析し、制御を機能ブロック806に渡す。機能ブロック806は、構文要素num_coded_views_minus1を解析し、制御を機能ブロック808に渡す。機能ブロック808は、構文要素org_pic_width_in_mbs_minus1及びorg_pic_height_in_mbs_minus1を解析し、制御を機能ブロック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-4 AVC標準又は他の単一ビュー・コデックを使用して各ピクチャを復号化し、制御を機能ブロック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の出力はイントラ予測器1245の入力及びデブロッキング・フィルタ1250の入力と信号通信で接続される。デブロッキング・フィルタ1250の出力は、(ビューiの)参照ピクチャ記憶装置1255の入力と信号通信で接続される。参照ピクチャ記憶装置1255の出力は、動き補償器1275の第1の入力及び動き推定器1280の第1の入力と信号通信で接続される。動き推定器1280の出力は、動き補償器1275の第2の入力と信号通信で接続される。(他のビューの)参照ピクチャ記憶装置1260の出力は、視差推定器1270の第1の入力及び視差補償器1265の第1の入力と信号通信で接続される。視差推定器1270の出力は、視差補償器1265の第2の入力と信号通信で接続される。
【0098】
エントロピ復号化器1220の出力は符号化器1200の出力として利用可能である。合成器1205の非反転入力は、符号化器1200の入力として利用可能であり、視差推定器1270の第2の入力及び動き推定器1280の第2の入力と信号通信で接続される。スイッチ1285の出力は、合成器1235の第2の非反転入力及び合成器1205の反転入力と信号通信で接続される。スイッチ1285は、動き補償器1275の出力と信号通信で接続された第1の入力と、視差補償器1265の出力と信号通信で接続された第2の入力と、イントラ予測器1245の出力と信号通信で接続された第3の入力とを含む。
【0099】
モード決定モジュール1240は、スイッチ1285によって選択される入力がどれであるかを制御するために、スイッチ1285に接続された出力を有する。
【0100】
図13に移れば、例示的なマルチビュー・ビデオ符号化(MVC)復号化器の全体を参照符号1300で示す。復号化器1300は、逆量子化器1310の入力と信号通信で接続された出力を有するエントロピ復号化器1305を含む。逆量子化器の出力は、逆変換器1315の入力と信号通信で接続される。逆変換器1315の出力は合成器1320の第1の非反転入力と信号通信で接続される。合成器1320の出力は、デブロッキング・フィルタ1325の入力及びイントラ予測器1330の入力と信号通信で接続される。デブロッキング・フィルタ1325の出力は、(ビューiの)参照ピクチャ記憶装置1340の入力と信号通信で接続される。参照ピクチャ記憶装置1340の出力は、動き補償器1335の第1の入力と信号通信で接続される。
【0101】
(他のビューの)参照ピクチャ記憶装置1345の出力は、視差補償器1350の第1の入力と信号通信で接続される。
【0102】
エントロピ符号化器1305の入力は、残差ビットストリームを受け取るために、復号化器1300の入力として利用可能である。更に、エントロピ符号化器1360の入力は、スイッチ1355によって選択される入力がどれであるかを制御するために制御構文を受け取るために、復号化器1300への入力としても利用可能である。更に、動き補償器1355の第2の入力は、動きベクトルを受け取るために、復号化器1300の入力として利用可能である。更に、視差補償器1350の第2の入力は、視差ベクトルを受け取るために、復号化器1300への入力として利用可能である。
【0103】
スイッチ1355の出力は合成器1320の第2の非反転入力と信号通信で接続される。スイッチ1355の第1の入力は視差補償器1350の出力と信号通信で接続される。スイッチ1355の第2の入力は、動き補償器1335の出力と信号通信で接続される。スイッチ1355の第3の入力は、イントラ予測器1330の出力と信号通信で接続される。モード・モジュール1360の出力は、スイッチ1355によって選択される入力がどれであるかを制御するために、スイッチ1355と信号通信で接続される。デブロッキング・フィルタ1325の出力は、復号化器1300の出力として利用可能である。
【0104】
図14に移れば、MPEG-4 AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用したピクチャの符号化に備えて複数のビューのピクチャを処理する例示的な方法の全体を参照符号1400で示す。
【0105】
方法1400は、開始ブロック1405を含む。開始ブロック1405は制御を機能ブロック1410に渡す。機能ブロック1410は、特定の時点で、合計M個のビューのうちのN個のビュー毎に、タイル形式におけるスーパー・ピクチャとして配置し、制御を機能ブロック1415に渡す。機能ブロック1415は、構文要素num_coded_views_minus1をセットし、制御を機能ブロック1420に渡す。機能ブロック1420は、 (num_coded_views_minus1 + 1)個のビュー全てについて構文要素view_id[i]をセットし、制御をブロック1425に渡す。機能ブロック1425はアンカ・ピクチャのビュー間参照依存性情報をセットし、制御を機能ブロック1430に渡す。機能ブロック1430は、非アンカ・ピクチャのビュー間参照依存性情報をセットし、制御を機能ブロック1435に渡す。機能ブロック1435は、構文要素pseudo_view_present_flagをセットし、制御を決定ブロック1440に渡す。決定ブロック1440は、構文要素pseudo_view_present_flagの現在値がtrueに等しいか否かを判定する。肯定の場合、制御を機能ブロック1445に渡す。さもなければ、制御を終了ブロック1499に渡す。
【0106】
機能ブロック1445は、
tiling_mode;
org_pic_width_in_mbs_minus1 ; 及び
org_pic_height_in_mbs_minus1
の構文要素をセットし、制御を機能ブロック1450に渡す。機能ブロック1450は、符号化ビュー毎に構文要素pseudo_view_info(view_id)を呼び出し、制御を終了ブロック1499に渡す。
【0107】
図15に移れば、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビューのピクチャを符号化する例示的な方法の全体を参照符号1500で示す。
【0108】
方法1500は開始ブロック1502を含む。開始ブロック1502は、入力パラメータ pseudo_view_idを有し、制御を機能ブロック1504に渡す。機能ブロック1504は、構文要素num_sub_views_minus1をセットし、制御を機能ブロック1506に渡す。機能ブロック1506は、変数iをゼロに等しくセットし、制御を決定ブロック1508に渡す。決定ブロック1508は、変数iがsub_viewsの数未満であるか否かを判定する。肯定の場合、制御を機能ブロック1510に渡す。さもなければ、制御を機能ブロック1520に渡す。
【0109】
機能ブロック1510は、構文要素sub_view_id[i]をセットし、制御を機能ブロック1512に渡す。機能ブロック1512は、構文要素num_parts_minus1[sub_view_id[i]]をセットし、制御を機能ブロック1514に渡す。機能ブロック1514は変数jをゼロに等しくセットし、制御を決定ブロック1516に渡す。決定ブロック1516は、変数jが構文要素num_parts[sub_view_id[i]]未満であるか否かを判定する。肯定の場合、制御を機能ブロック1518に渡す。さもなければ、制御を決定ブロック1522に渡す。
【0110】
機能ブロック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に戻す。
【0111】
機能ブロック1520は、マルチビュー・ビデオ符号化(MVC)を使用して現在のビューの現在のピクチャを符号化し、制御を終了ブロック1599に渡す。
【0112】
決定ブロック1522は、構文要素tiling_modeがゼロに等しいか否かを判定する。肯定の場合、制御を機能ブロック1524に渡す。さもなければ、制御を機能ブロック1538に渡す。
【0113】
機能ブロック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に渡す。
【0114】
機能ブロック1528は構文要素upsample_filter[sub_view_id[i]]をセットし、制御を決定ブロック1530に渡す。決定ブロック1530は、構文要素upsample_filter[sub_view_id[i]]の値が3に等しいか否かを判定する。肯定の場合、制御を機能ブロック1532に渡す。さもなければ、制御を機能ブロック1536に渡す。
【0115】
機能ブロック1532は、
vert_dim[sub_view_id[i]];
hor_dim[sub_view_id[i]];及び
quantizer[sub_view_id[i]]
の構文要素をセットし、制御を機能ブロック1534に渡す。機能ブロック1534は、YUV成分毎にフィルタ係数をセットし、制御を機能ブロック1536に渡す。
【0116】
機能ブロック1536は変数iを増やし、制御を決定ブロック1508に戻す。
【0117】
機能ブロック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に渡す。
【0118】
機能ブロック1544は構文要素num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]]をセットし、制御を機能ブロック1546に渡す。機能ブロック1546は、画素タイリング・フィルタ全ての係数をセットし、制御を機能ブロック1536に渡す。
【0119】
図16に移れば、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用したピクチャの復号化に備えて複数のビューのピクチャを処理する例示的な方法の全体を参照符号1600で示す。
【0120】
方法1600は、開始ブロック1605を含み、開始ブロック1605は機能ブロック1615に制御を渡す。機能ブロック1615は、構文要素num_coded_views_minus1を解析し、制御を機能ブロック1620に渡す。機能ブロック1620は、 (num_coded_views_minus1 + 1)個のビュー全ての構文要素view_id[i]を解析し、制御を機能ブロック1625に渡す。機能ブロック1625はアンカ・ピクチャのビュー間参照依存性情報を解析し、制御を機能ブロック1630に渡す。機能ブロック1630は非アンカ・ピクチャのビュー間参照依存性情報を解析し、制御を機能ブロック1635に渡す。機能ブロック1635は、構文要素pseudo_view_present_flagを解析し、制御を決定ブロック1640に渡す。決定ブロック1640は、構文要素pseudo_view_present_flagの現在値がtrueに等しいか否かを判定する。肯定の場合、制御を機能ブロック1645に渡す。さもなければ、制御を終了ブロック1699に渡す。
【0121】
機能ブロック1645は、
tiling_mode;
org_pic_width_in_mbs_minus1;及び
org_pic_height_in_mbs_minus1
の構文要素を解析し、制御を機能ブロック1650に渡す。機能ブロック1650は、符号化ビュー毎に構文要素pseudo_view_info(view_id)を呼び出し、制御を終了ブロック1699に渡す。
【0122】
図17に移れば、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビューのピクチャを復号化する例示的な方法の全体を参照符号1700で示す。
【0123】
方法1700は開始ブロック1702を含む。開始ブロック1702は、入力パラメータpseudo_view_idから始まり、制御を機能ブロック1704に渡す。機能ブロック1704は、構文要素num_sub_views_minus1を解析し、制御を機能ブロック1706に渡す。機能ブロック1706は、変数iをゼロに等しくセットし、制御を決定ブロック1708に渡す。決定ブロック1708は、変数iがsub_viewsの数未満であるか否かを判定する。肯定の場合、制御を機能ブロック1710に渡す。さもなければ、制御を機能ブロック1720に渡す。
【0124】
機能ブロック1710は、構文要素sub_view_id[i]を解析し、制御を機能ブロック1712に渡す。機能ブロック1712は、構文要素num_parts_minus1[sub_view_id[i]]を解析し、制御を機能ブロック1714に渡す。機能ブロック1714は変数jをゼロに等しくセットし、制御を決定ブロック1716に渡す。決定ブロック1716は、変数jが構文要素num_parts_minus1[sub_view_id[ i ]]]未満であるか否かを判定する。肯定の場合、制御を機能ブロック1718に渡す。さもなければ、制御を決定ブロック1722に渡す。
【0125】
機能ブロック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に戻す。
【0126】
機能ブロック1720は、マルチビュー・ビデオ符号化(MVC)を使用して現在のビューの現在のピクチャを復号化し、制御を機能ブロック1721に渡す。機能ブロック1721は、各ビューをピクチャから高位構文を使用して分離し、制御を終了ブロック1799に渡す。
【0127】
各ビューの復号化ピクチャとの分離は、ビットストリームに示された高位構文を使用して行われる。この高位構文は、ピクチャにおいて存在しているビューの考えられる向き(及び考えられる対応する深度)並びに厳密な位置を示し得る。
【0128】
決定ブロック1722は、構文要素tiling_modeがゼロに等しいか否かを判定する。肯定の場合、制御を機能ブロック1724に渡す。さもなければ、制御を機能ブロック1738に渡す。
【0129】
機能ブロック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に渡す。
【0130】
機能ブロック1728は構文要素upsample_filter[sub_view_id[i]]を解析し、制御を決定ブロック1730に渡す。決定ブロック1730は、構文要素upsample_filter[sub_view_id[i]]の値が3に等しいか否かを判定する。肯定の場合、制御を機能ブロック1732に渡す。さもなければ、制御を機能ブロック1736に渡す。
【0131】
機能ブロック1732は、
vert_dim[sub_view_id[i]];
hor_dim[sub_view_id[i]];及び
quantizer[sub_view_id[i]]
の構文要素を解析し、制御を機能ブロック1734に渡す。機能ブロック1734は、YUV成分毎にフィルタ係数を解析し、制御を機能ブロック1736に渡す。
【0132】
機能ブロック1736は変数iを増やし、制御を決定ブロック1708に戻す。
【0133】
機能ブロック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に渡す。
【0134】
機能ブロック1744は構文要素num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]]を解析し、制御を機能ブロック1746に渡す。機能ブロック1776は、画素タイリング・フィルタ全ての係数を解析し、制御を機能ブロック1736に渡す。
【0135】
図18に移れば、MPEG-4 AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用したピクチャの符号化に備えて複数のビュー及び深度のピクチャを処理する例示的な方法の全体を参照符号1800で示す。
【0136】
方法1800は開始ブロック1805を含む。開始ブロック1805は制御を機能ブロック1810に渡す。機能ブロック1810は、特定の時点で、合計M個のビュー及び深度マップのうちのN個のビュー及び深度マップ毎に、タイル形式におけるスーパー・ピクチャとして配置し、制御を機能ブロック1815に渡す。機能ブロック1815は、構文要素num_coded_views_minus1をセットし、制御を機能ブロック1820に渡す。機能ブロック1820は、view_id[i]に対応する(num_coded_views_minus1 + 1)個の深度全てについて構文要素view_id[i]をセットし、制御を機能ブロック1825に渡す。機能ブロック1825はアンカ深度ピクチャのビュー間参照依存性情報をセットし、制御を機能ブロック1830に渡す。機能ブロック1830は、非アンカ深度ピクチャのビュー間参照依存性情報をセットし、制御を機能ブロック1835に渡す。機能ブロック1835は、構文要素pseudo_view_present_flagをセットし、制御を決定ブロック1840に渡す。決定ブロック1840は、構文要素pseudo_view_present_flagの現在値がtrueに等しいか否かを判定する。肯定の場合、制御を機能ブロック1845に渡す。さもなければ、制御を終了ブロック1899に渡す。
【0137】
機能ブロック1845は、
tiling_mode;
org_pic_width_in_mbs_minus1;及び
org_pic_height_in_mbs_minus1
の構文要素をセットし、制御を機能ブロック1850に渡す。機能ブロック1850は、符号化ビュー毎に構文要素pseudo_view_info(view_id)を呼び出し、制御を終了ブロック1899に渡す。
【0138】
図19に移れば、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビュー及び深度のピクチャを符号化する例示的な方法の全体を参照符号1900で示す。
【0139】
方法1900は開始ブロック1902を含む。開始ブロック1902は、制御を機能ブロック1904に渡す。機能ブロック1904は、構文要素num_sub_views_minus1をセットし、制御を機能ブロック1906に渡す。機能ブロック1906は、変数iをゼロに等しくセットし、制御を決定ブロック1908に渡す。決定ブロック1908は、変数iがsub_viewsの数未満であるか否かを判定する。肯定の場合、制御を機能ブロック1910に渡す。さもなければ、制御を機能ブロック1920に渡す。
【0140】
機能ブロック1910は、構文要素sub_view_id[i]をセットし、制御を機能ブロック1912に渡す。機能ブロック1912は、構文要素num_parts_minus1[sub_view_id[i]]をセットし、制御を機能ブロック1914に渡す。機能ブロック1914は変数jをゼロに等しくセットし、制御を決定ブロック1916に渡す。決定ブロック1916は、変数jが構文要素num_parts_minus1[sub_view_id[i]]未満であるか否かを判定する。肯定の場合、制御を機能ブロック1918に渡す。さもなければ、制御を決定ブロック1922に渡す。
【0141】
機能ブロック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に戻す。
【0142】
機能ブロック1920は、マルチビュー・ビデオ符号化(MVC)を使用して現在のビューの現在の深度を符号化し、制御を終了ブロック1999に渡す。深度信号は、その対応するビデオ信号が符号化されるやり方と同様に符号化することができる。例えば、ビューの深度信号は、他の深度信号のみ、ビデオ信号のみ、又は深度信号及びビデオ信号を含むタイル上に含まれ得る。タイル(疑似ビュー)はその場合、MVCの単一ビューとして扱われ、MVCの他のビューとして扱われる他のタイルも存在していると思われる。
【0143】
決定ブロック1922は、構文要素tiling_modeがゼロに等しいか否かを判定する。肯定の場合、制御を機能ブロック1924に渡す。さもなければ、制御を機能ブロック1938に渡す。
【0144】
機能ブロック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に渡す。
【0145】
機能ブロック1928は構文要素upsample_filter[sub_view_id[i]]をセットし、制御を決定ブロック1930に渡す。決定ブロック1930は、構文要素upsample_filter[sub_view_id[i]]の値が3に等しいか否かを判定する。肯定の場合、制御を機能ブロック1932に渡す。さもなければ、制御を機能ブロック1936に渡す。
【0146】
機能ブロック1932は、vert_dim[sub_view_id[i]];
hor_dim[sub_view_id[i]];及び
quantizer[sub_view_id[i]]
の構文要素をセットし、制御を機能ブロック1934に渡す。機能ブロック1934は、YUV成分毎にフィルタ係数をセットし、制御を機能ブロック1936に渡す。
【0147】
機能ブロック1936は変数iを増やし、制御を決定ブロック1908に渡す。
【0148】
機能ブロック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に渡す。
【0149】
機能ブロック1944は、構文要素num_pixel_tiling_fιlter_coeffs_minus1[sub_view_id[i]]をセットし、制御を機能ブロック1946に渡す。機能ブロック1946は、画素タイリング・フィルタ全ての係数をセットし、制御を機能ブロック1936に渡す。
【0150】
図20に移れば、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用したピクチャの復号化に備えて複数のビュー及び深度のピクチャを処理する例示的な方法の全体を参照符号2000で示す。
【0151】
方法2000は開始ブロック2005を含み、開始ブロック2005は制御を機能ブロック2015に渡す。機能ブロック2015は構文要素num_coded_views_minus1を解析し、制御を機能ブロック2020に渡す。機能ブロック2020は、view_id[i]に対応する(num_coded_views_minus1 + 1)個の深度全ての構文要素view_id[i]を解析し、制御を機能ブロック2025に渡す。機能ブロック2025は、アンカ深度ピクチャのビュー間参照依存性情報を解析し、制御を機能ブロック2030に渡す。機能ブロック2030は、非アンカ深度ピクチャのビュー間参照依存性情報を解析し、制御を機能ブロック2035に渡す。機能ブロック2035は、構文要素pseudo_view_present_flagを解析し、制御を決定ブロック2040に渡す。決定ブロック2040は、構文要素pseudo_view_present_flagの現在値がtrueに等しいか否かを判定する。肯定の場合、制御を機能ブロック2045に渡す。さもなければ、制御を機能ブロック2099に渡す。
【0152】
機能ブロック2045は、
tiling_mode;
org_pic_width_in_mbs_minus1;及び
org_pic_height_in_mbs_minus1
の構文要素をセットし、制御を機能ブロック2050に渡す。機能ブロック2050は、符号化ビュー毎に構文要素pseudo_view_info(view_id)を呼び出し、制御を終了ブロック2099に渡す。
【0153】
図21に移れば、MPEG-4AVC標準のマルチビュー・ビデオ符号化(MVC)の拡張を使用して複数のビュー及び深度のピクチャを復号化する例示的な方法の全体を参照符号2100で示す。
【0154】
方法2100は開始ブロック2102を含む。開始ブロック2102は、入力パラメータpseudo_view_idから始まり、制御を機能ブロック2104に渡す。機能ブロック2104は、構文要素num_sub_views_minus1を解析し、制御を機能ブロック2106に渡す。機能ブロック2106は、変数iをゼロに等しくセットし、制御を決定ブロック2108に渡す。決定ブロック2108は、変数iがsub_viewsの数未満であるか否かを判定する。肯定の場合、制御を機能ブロック2110に渡す。さもなければ、制御を機能ブロック2120に渡す。
【0155】
機能ブロック2110は、構文要素sub_view_id[i]を解析し、制御を機能ブロック2112に渡す。機能ブロック2112は、構文要素num_parts_minus1[sub_view_id[i]]を解析し、制御を機能ブロック2114に渡す。機能ブロック2114は変数jをゼロに等しくセットし、制御を決定ブロック2116に渡す。決定ブロック2116は、変数jが構文要素num_parts_minus1[sub_view_id[ i ]]未満であるか否かを判定する。肯定の場合、制御を機能ブロック2118に渡す。さもなければ、制御を決定ブロック2122に渡す。
【0156】
機能ブロック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に戻す。
【0157】
機能ブロック2120は、マルチビュー・ビデオ符号化(MVC)を使用して現在のピクチャを復号化し、制御を機能ブロック2121に渡す。機能ブロック2121は、各ビューをピクチャから高位構文を使用して分離し、制御を終了ブロック2199に渡す。高位構文を使用した、各ビューの分離は上述の通りである。
【0158】
決定ブロック2122は、構文要素tiling_modeがゼロに等しいか否かを判定する。肯定の場合、制御を機能ブロック2124に渡す。さもなければ、制御を機能ブロック2138に渡す。
【0159】
機能ブロック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に渡す。
【0160】
機能ブロック2128は、構文要素upsample_filter[sub_view_id[i]]を解析し、制御を決定ブロック2130に渡す。決定ブロック2130は、構文要素upsample_filter[sub_view_id[i]]の値が3に等しいか否かを判定する。肯定の場合、制御を機能ブロック2132に渡す。さもなければ、制御を機能ブロック2136に渡す。
【0161】
機能ブロック2132は、
vert_dim[sub_view_id[i]];
hor_dim[sub_view_id[i]];及び
quantizer[sub_view_id[i]]
の構文要素を解析し、制御を機能ブロック2134に渡す。機能ブロック2134は、YUV成分毎にフィルタ係数を解析し、制御を機能ブロック2136に渡す。
【0162】
機能ブロック2136は変数iを増やし、制御を決定ブロック2108に戻す。
【0163】
機能ブロック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に渡す。
【0164】
機能ブロック2144は、構文要素num_pixel_tiling_filter_coeffs_minus1[sub_view_id[i]]を解析し、制御を機能ブロック2146に渡す。機能ブロック2146は、画素タイリング・フィルタ全ての係数を解析し、制御を機能ブロック2136に渡す。
【0165】
図22に移れば、画素レベルにおけるタイリング例の全体を参照符号2200で示す。
図22は以下に更に説明する。
【0166】
MPEG-4AVC又はMVCを使用したビューのタイリング
マルチビュー・ビデオ符号化の一アプリケーションに、自由視点TV(すなわちFTV)がある。前述のアプリケーションは、2つ以上のビュー間でユーザが自由に移動可能であることを必要とする。このことを達成するために、2つのビュー間の「仮想」ビューを補間又は合成する必要がある。ビュー補間を実行するための手法はいくつか存在している。上記手法の1つは、ビュー補間/合成に深度を使用する。
【0167】
各ビューは、関連付けられた深度信号を有し得る。よって、深度は、ビデオ信号の別の形式とみなし得る。
図9は、深度信号900の例を示す。FTVなどのアプリケーションをイネーブルするために、深度信号がビデオ信号とともに送信される。提案されたタイリング・フレームワークでは、深度信号は、タイルの1つとして加えることも可能である。
図10は、タイルとして加えられた深度信号の例を示す。深度信号/タイルは、
図10の右側に示す。
【0168】
深度が、フレーム全体のタイルとして符号化されると、高位構文は、レンダリング器が深度信号を適切に使用することが可能であるように、どのタイルが深度信号であるかを示すものとする。
【0169】
(
図1に示すものなどの)入力シーケンスが、MPEG-4 AVC標準符号化器(又は、別のビデオ符号化標準及び/又は勧告に対応する符号化器)を使用して符号化された場合、本願提案の高位構文は例えば、シーケンス・パラメータ・セット(SPS)、ピクチャ・パラメータ・セット(PPS)、スライス・ヘッダ、及び/又は付加拡張情報(SEI)メッセージに存在し得る。本願提案の方法の実施例を表1に示す。表1では、構文は付加拡張情報(SEI)メッセージに存在している。
【0170】
(
図1に示すものなどの)疑似ビューの入力シーケンスが、MPEG-4AVC標準の符号化器のマルチビュー・ビデオ符号化(MVC)の拡張(又は、別のビデオ符号化標準及び/又は勧告に関するマルチビュー・ビデオ符号化標準に対応する符号化器)を使用して符号化された場合、本願提案の高位構文がSPS、PPS、スライス・ヘッダ、SEIメッセージ、又は特定されたプロファイルに存在し得る。
【0171】
本願提案の方法の一実施例を表1に示す。表1は、本願の原理の実施例によって提案された構文要素を含む、シーケンス・パラメータ・セット(SPS)構造に存在している構文要素を示す。
【0172】
【表1】
表2は、本願の原理の実施例による、表1のpseudo_view_info構文要素の構文要素を示す。
【0173】
【表2】
表1及び表2に提示された構文要素の意味規則
pseudo_view_present_flagがtrueに等しいことは、特定のビューが、複数のサブビューのスーパービューであることを示している。
【0174】
tiling_modeが0に等しいことは、サブビューがピクチャ・レベルでタイリングされる旨を示す。1の値は、タイリングが画素レベルで行われることを示す。
【0175】
新たなSEIメッセージは、MPEG―4AVC標準、又はMPEG-4AVC標準の拡張において使用されていないSEIペイロード・タイプの値を使用することが可能である。新たなSEIメッセージは、以下の意味規則を有するいくつかの構文要素を含む。
【0176】
num_coded_views_minus1 plus 1は、ビットストリームによってサポートされる符号化ビューの数を示す。num_coded_views_minus1の値は、0以上1023以下の範囲内にある。
【0177】
org_pic_width_in_mbs_minus1 plus 1は、各ビューにおけるピクチャの幅をマクロブロック単位で規定する。
マクロブロック単位での、ピクチャ幅の変数は以下のように導き出される。
【0178】
PicWidthInMbs = org_pic_width_in_mbs_minus1 + 1
luma成分のピクチャ幅の変数は以下のように導き出される。
【0179】
PicWidthInSamplesL = PicWidthInMbs * 16
chroma成分のピクチャ幅の変数は以下のように導き出される。
【0180】
PicWidthInSamplesC = PicWidthInMbs * MbWidthC
org_pic_height_in_mbs_minus1 plus 1は、各ビューにおけるピクチャの高さをマクロブロック単位で規定する。
マクロブロック単位での、ピクチャの高さの変数は以下のように導き出される。
【0181】
PicHeightInMbs = org_pic_height_in_mbs_minus1 + 1
luma成分のピクチャの高さの変数は以下のように導き出される。
【0182】
PicHeightInSamplesL = PicHeightInMbs * 16
chroma成分のピクチャの高さの変数は以下のように導き出される。
【0183】
PicHeightInSamplesC = PicHeightInMbs * MbHeightC
num_sub_yiews_minus1 plus 1は、現在のビューに含まれる符号化されたサブビューの数を示す。num_coded_views_minus1の値は、0以上1023以下の範囲内にある。
【0184】
sub_view_id[i]は、iで示す復号化順序のサブビューのsub_view_idを規定する。
【0185】
num_parts[sub_yiew_id[i]]は、sub_view_id[i]のピクチャが分割される部分の数を規定する。
【0186】
loc_left_offset[sub_view_id[i]][j]及びloc_top_offset[sub_view_id[i]][j]はそれぞれ、左画素オフセット及び上画素オフセットにおける位置を規定し、現在の部分jは、ビューの最終再構成ピクチャ内に配置されており、sub_view_idはsub_view_id[i]に等しい。
【0187】
view_id[i]は、ビューのview idを規定し、符号化順序はiで示す。
【0188】
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_part j及び view_id iの一部である符号化ビデオ・シーケンスにおけるピクチャのサンプルを規定する。
【0189】
変数CropUnitX及びCropUnitYは以下のように導き出される。
【0190】
chroma_format_idcが0に等しい場合、CropUnitX及びCropUnitYは以下のように導き出される。
【0191】
CropUnitX = 1
CropUnitY = 2 - frame_mbs_only_flag
さもなければ(chroma_format_idcは、1、2又は3に等しい場合)、
CropUnitX及びCropUnitYは以下のように導き出される。
【0192】
CropUnitX = SubWidthC
CropUnitY = SubHeightC * (2 -frame_mbs_only_flag)
フレーム・クロップ矩形は、
CropUnitX * frame_crop_left_offset乃至PicWidthInSamplesL - (CropUnitX * frame_crop_right_offset + 1)の水平フレーム座標を備えたlumaサンプルを含む。垂直フレーム座標は、CropUnitY * frame_crop_top_offset以上(16 * FrameHeightInMbs) - (CropUnitY * frame_crop_bottom_offset + 1)以下である。frame_crop_left_offsetの値は、0以上(PicWidthInSamplesL / CropUnitX) - (frame_crop_right_offset + 1)以下の範囲内にあるものとし、frame_crop_top_offsetの値は、0以上(16 * FrameHeightInMbs / CropUnitY) - (frame_crop_bottom_offset + 1)以下の範囲内にあるものとする。
【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は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_fiter[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_minus1[sub_view_id[i][j] plus oneは、タイリング・モードが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の例の構文値は、2つの構文要素(loc_left_offset[3][0]が5に等しく、loc_top_offset[3][0]が3に等しい)以外は全て、同じである。
【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の値の場合、タイル対象のビュー1からの画素(i-5, j)は存在しないので、前述の画素はタイルにおいて空き状態である。何れのビューからの画素値も割り当てられない、疑似ビュー(タイル)における画素について、少なくとも1つの実現形態は、AVCにおける動き補償のサブ画素補間手順と同様な補間手順を使用する。すなわち、空き状態のタイル画素は近傍画素から補間することができる。前述の補間は、タイルにおける、より大きな空間的相関、及びタイルのより大きな符号化利得をもたらし得る。
【0214】
ビデオ符号化では、Iピクチャ、PピクチャやBピクチャなどのピクチャ毎に別々の符号化タイプを選ぶことが可能である。更に、マルチビュー・ビデオ符号化の場合、アンカ・ピクチャ及び非アンカ・ピクチャを定義する。一実施例では、グループ化の決定をピクチャ・タイプに基づいて行うことが可能である旨を提案する。前述のグループ化の情報は高位構文においてシグナリングされる。
【0215】
図11に移れば、単一のフレーム上にタイリングされた5つのビューの例の全体を参照符号1100で示す。特に、単一のフレーム上にタイリングされた5つのビューを備えた、ボールルームのシーケンスを示す。更に、5番目のビューは、矩形のフレーム上に配置することが可能であるように2つの部分に分割されている。ここでは、各ビューは、合計フレーム寸法が640×640であるようなQVGAサイズのものである。600は、16の倍数でないので、608に増やすものとする。
【0216】
この例の場合、考えられるSEIメッセージは表4に示すようなものであり得る。
【0217】
【表4-1】
【表4-2】
表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は、ユーザ入力2370に基づいてピクチャ選択信号2380を選択器2350に供給する。ピクチャ選択信号2380及びユーザ入力2370は、ユーザが表示させたいピクチャが複数のピクチャのうちのどれであるかを示す。選択器2350は、選択されたピクチャを出力2390として供給する。選択器2350は、ピクチャ選択情報2380を使用して、出力2390として、復号化ビデオ2330におけるピクチャのうちのどれを供給するかを選択する。選択器2350は、タイリング情報2340を使用して、復号化ビデオ2330において選択ピクチャを位置特定する。
【0220】
種々の実現形態では、選択器2350はユーザ・インタフェース2360を含み、他の実現形態では、選択器2350が、別個のインタフェース機能が実行されることなく、ユーザ入力2370を直接受け取るので、ユーザ・インタフェース2360は必要でない。選択器2350は、例えば、ソフトウェアで、又は集積回路として実現することができる。選択器2350は、復号化器2310も組み入れることができる。
【0221】
より一般的には、本出願記載の種々の実現形態の復号化器は、タイル全体を含む復号化出力を供給することができる。更に、又はあるいは、復号化器は、タイルからの1つ又は複数の選択されたピクチャ(例えば、画像又は深度信号)のみを含む復号化出力を供給することができる。
【0222】
前述の通り、高位構文を使用して、本願の原理の1つ又は複数の実施例によるシグナリングを実行することができる。例えば、これらに限定されるものでないが、以下の何れかをシグナリングするために高位構文を使用することができる。より大きなフレームに存在している符号化ビューの数、ビュー全ての元の幅及び高さ、符号化ビュー毎の、ビューに対応するビュー識別子、符号化ビュー毎の、ビューのフレームが分割される部分の数、ビューの部分毎の反転方向(例えば、反転なし、水平方向の反転のみ、垂直方向の反転のみ、又は水平方向及び垂直方向の反転)、ビューの部分毎の、ビューの最終フレームにおいて現在の部分が属する左の位置(画素又はマクロブロックの数)、ビューの部分毎の、ビューの最終フレームにおいて現在の部分が属する部分の上の位置(画素又はマクロブロックの数)、ビューの部分毎の、クロッピング・ウィンドウの現在の大きな復号化/符号化フレームにおける左の位置(画素又はマクロブロックの数)、ビューの部分毎の、クロッピング・ウィンドウの現在の大きな復号化/符号化フレームにおける右の位置(画素又はマクロブロックの数)、ビューの部分毎の、クロッピング・ウィンドウの現在の大きな復号化/符号化フレームにおける上の位置(画素又はマクロブロックの数)、及び、ビューの部分毎の、クロッピング・ウィンドウの現在の大きな復号化/符号化フレームにおける下の位置(画素又はマクロブロックの数)、符号化ビュー毎に、出力前にビューをアップサンプリングする必要があるか否か(アップサンプリングを行う必要がある場合、高位構文を使用して、アップサンプリング方法(これらに限定されないが、6タップのAVCフィルタ、4タップのSVCフィルタ、バイリニア・フィルタ、又はカスタムの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倍である。
【0229】
本明細書及び特許請求の範囲記載の実現形態は、例えば、方法若しくは処理、装置、又はソフトウェア・プログラムで実現することができる。単一の形式の実現形態のコンテキストでしか(例えば、方法としてしか)記載されていない場合でも、記載された特徴の実現形態は、他の形態(例えば、装置又はプログラム)で実現することも可能である。装置は、例えば、適切なハードウェア、ソフトウェア、及びファームウェアで実現することができる。方法は例えば、コンピュータ、マイクロプロセッサ、集積回路や、プログラマブル論理装置を含む、一般に処理装置を表す装置(例えば、プロセッサ)で実現することができる。処理装置は、エンドユーザ間の情報の通信を容易にする通信装置(例えば、コンピュータ、携帯電話機、ポータブル/パーソナル携帯情報端末(「PDA」)や他の装置)も含む。
【0230】
本明細書及び特許請求の範囲記載の種々の処理及び構成の実現形態は、各種の機器又はアプリケーション(特に、例えば、データ符号化及び復号化に関連付けられた機器又はアプリケーション)において実施することができる。機器の例には、ビデオ符号化器、ビデオ復号化器、ビデオ・コデック、ウェブ・サーバ、セットトップ・ボックス、ラップトップ、パソコン、携帯電話機、PDAや、他の通信装置が含まれる。機器は明らかに、モバイルであり得、モバイル車両に設置されていてもよい。
【0231】
更に、方法は、プロセッサによって行われる命令によって実現することができ、前述の命令は、プロセッサ読み取り可能な媒体(例えば、集積回路、ソフトウェア担体や他の記憶装置(例えば、ハード・ディスク、コンパクト・ディスケット、ランダム・アクセス・メモリ(「RAM」)やリードオンリー・メモリ(「ROM」)))上に記憶することができる。命令は、プロセッサ読み取り可能な媒体上に有形に実施されたアプリケーション・プログラムを構成することができる。プロセッサは明らかに、例えば、処理を行うための命令を有するプロセッサ読み取り可能な媒体を含み得る。前述のアプリケーション・プログラムは、何れかの適切なアーキテクチャを有するマシンにアップロードし、前述のマシンによって実行することができる。好ましくは、マシンは、1つ又は複数の中央処理装置(「CPU」)、ランダム・アクセス・メモリ(「RAM」)、及び入出力(「I/O」)のインタフェースなどのハードウェアを有するコンピュータ・プラットフォーム上に実現される。コンピュータ・プラットフォームは、オペレーティング・システム及びマイクロ命令コードも含み得る。本明細書及び特許請求の範囲記載の種々の処理及び機能は、CPUによって実行することができるアプリケーション・プログラムの一部若しくはマイクロ命令コードの一部(又はそれらの組み合わせ)であり得る。更に、種々の他の周辺装置を、更なるデータ記憶装置や、印刷装置などのコンピュータ・プラットフォームに接続することができる。
【0232】
当業者に分かるように、実現形態は、例えば、記憶又は伝送することができる情報を搬送するようフォーマッティングされた信号を生成することも可能である。情報は例えば、前述の実現形態のうちの1つによって生成されるデータ、又は方法を行うための命令を含み得る。前述の信号は例えば、電磁波(例えば、スペクトルの無線周波数部分を使用して)として、又はベースバンド信号としてフォーマッティングすることができる。フォーマッティングは例えば、データ・ストリームの符号化、構文の生成、及び、符号化データ・ストリーム及び構文による搬送波の変調を含み得る。信号が搬送する情報は例えば、アナログ情報又はディジタル情報であり得る。信号は、知られているように、各種有線リンク又は無線リンクを介して伝送することができる。
【0233】
更に、添付図面に表す構成システム部分及び方法の一部は好ましくはソフトウェアで実現されるので、システム構成部分(又は処理機能ブロック)間の実際の接続は、本願の原理がプログラムされるやり方によって変わり得る。本明細書及び特許請求の範囲記載の教示があれば、当業者は、本願の原理の前述及び同様な実現形態又は構成に想到することができるであろう。
【0234】
いくつかの実現形態を説明してきた。しかし、種々の修正を行うことができることが理解されるであろう。例えば、別々の実現形態の構成要素を合成、補完、修正、又は除外して他の実現形態をもたらすことができる。更に、他の構造及び処理を、開示されたものと置き換えることができ、結果として生じる実現形態は少なくとも実質的に同じ機能を少なくとも実質的に同じやり方で行って、開示された実現形態と、少なくとも実質的に同じ結果を達成することを当業者は理解するであろう。特に、例証的な実施例を添付図面を参照して本明細書及び特許請求の範囲において説明してきたが、本願の原理は前述のまさにその実施例に限定されず、本願の原理の範囲又は趣旨から逸脱することなく、種々の変更及び修正を当業者によって行うことができる。よって、前述及び他の実現形態は、本出願によって考察することができ、特許請求の範囲記載の範囲内に収まる。