図3は、本開示の一実施形態による通信システム(300)の簡略化されたブロック図を示す。通信システム(300)は、例えばネットワーク(350)を介して互いに通信することができる複数の端末デバイスを含む。例えば、通信システム(300)は、ネットワーク(350)を介して相互接続された第1の対の端末デバイス(310)及び(320)を含む。図3の例では、第1の対の端末デバイス(310)及び(320)は、データの一方向伝送を実行する。例えば、端末デバイス(310)は、ネットワーク(350)を介した他方の端末デバイス(320)への伝送のために、ビデオデータ(例えば、端末デバイス(310)によってキャプチャされたビデオピクチャのストリーム)をコーディングしてもよい。エンコーディングされたビデオデータは、1つ以上のコーディングされたビデオビットストリームの形で伝送されることができる。端末デバイス(320)は、ネットワーク(350)から、コーディングされたビデオデータを受信し、コーディングされたビデオデータをデコーディングしてビデオピクチャを復元し、復元されたビデオデータに従ってビデオピクチャを表示してもよい。一方向データ伝送は、メディアサービスアプリケーション等において一般的であり得る。
別の例では、通信システム(300)は、例えばビデオ会議中に生じ得るコーディングされたビデオデータの双方向伝送を実行する第2の対の端末デバイス(330)及び(340)を含む。データの双方向伝送のために、一例では、端末デバイス(330)及び(340)の各端末デバイスは、ネットワーク(350)を介した、端末デバイス(330)及び(340)のうちの他方の端末デバイスへの伝送のために、ビデオデータ(例えば、端末デバイスによってキャプチャされたビデオピクチャのストリーム)をコーディングしてもよい。端末デバイス(330)及び(340)の各端末デバイスは、端末デバイス(330)及び(340)のうちの他方の端末デバイスによって送信されたコーディングされたビデオデータを受信してもよく、コーディングされたビデオデータをデコーディングして、ビデオピクチャを復元し、復元されたビデオデータに従って、アクセス可能な表示デバイスにおいてビデオピクチャを表示してもよい。
図3の例では、端末デバイス(310)、(320)、(330)及び(340)は、それぞれサーバ、パーソナルコンピュータ及びスマートフォンとして示され得るが、本開示の原理は、それに限定されなくてもよい。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレイヤー、及び/又は専用のビデオ会議設備での応適用を見出す。ネットワーク(350)は、例えば有線(配線)及び/又は無線通信ネットワークを含む、端末デバイス(310)、(320)、(330)及び(340)の間でコーディングされたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク(350)は、回線交換及び/又はパケット交換チャネルにおいてデータを交換してもよい。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び/又はインターネットを含む。ここでの議論の目的のために、ネットワーク(350)のアーキテクチャ及びトポロジは、以下に説明しない限り、本開示の動作には重要ではないことがある。
図4は、開示される主題のためのアプリケーションのための例として、ストリーミング環境におけるビデオエンコーダ及びビデオデコーダの配置示す。開示される主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティック等を含むデジタル媒体上の圧縮ビデオの記憶等を含む、他のビデオ対応アプリケーションにも等しく適用可能であり得る。
ストリーミングシステムは、ビデオソース(401)、例えばデジタルカメラを含むことができ、例えば非圧縮のビデオピクチャのストリーム(402)を生成するキャプチャサブシステム(413)を含んでもよい。一例では、ビデオピクチャのストリーム(402)は、デジタルカメラによって取り込まれたサンプルを含む。エンコーディングされたビデオデータ(404)(又はコーディングされたビデオビットストリーム)と比較した場合の高いデータボリュームを強調するために太線として描かれているビデオピクチャのストリーム(402)は、ビデオソース(401)に結合されたビデオエンコーダ(403)を含む電子デバイス(420)によって処理されることができる。ビデオエンコーダ(403)は、以下により詳細に説明されるように、開示される主題の諸側面を可能にするため或いは実現するためのハードウェア、ソフトウェア、又はそれらの組み合わせを含むことができる。ビデオピクチャのストリーム(402)と比較した場合の、より低いデータボリュームを強調するために細い線として描かれている、エンコーディングされたビデオデータ(404)(又はコーディングされたビデオビットストリーム)は、将来の使用のためにストリーミングサーバ(405)に記憶されることができる。図4のクライアントサブシステム(406)及び(408)のような1つ以上のストリーミングクライアントサブシステムは、ストリーミングサーバ(405)にアクセスして、エンコーディングされたビデオデータ(404)のコピー(407)及び(409)を取り出すことができる。クライアントサブシステム(406)は、例えば電子デバイス(430)内にビデオデコーダ(410)を含むことができる。ビデオデコーダ(410)は、エンコーディングされたビデオデータの入力コピー(407)をデコーディングし、ディスプレイ(412)(例えば表示画面)又は他のレンダリングデバイス(図示せず)上にレンダリングできるビデオピクチャの出力ストリーム(411)を生成する。いくつかのストリーミングシステムでは、エンコーディングされたビデオデータ(404)、(407)、及び(409)(例えば、ビデオビットストリーム)は、特定のビデオコーディング/圧縮標準に従ってコーディングされることができる。これらの標準の例は、ITU-T勧告H.265を含む。一例では、開発中のビデオコーディング標準は、非公式に多用途ビデオコーディング(VVC)として知られている。開示される主題は、VVCの文脈で使用されてもよい。
電子デバイス(420)及び(430)は、他のコンポーネント(図示せず)を含むことができることを注意しておく。例えば、電子デバイス(420)は、ビデオデコーダ(図示せず)を含むことができ、電子デバイス(430)は、ビデオエンコーダ(図示せず)も含むことができる。
図5は、本開示の一実施形態によるビデオデコーダ(510)のブロック図を示す。ビデオデコーダ(510)は、電子デバイス(530)に含まれることができる。電子デバイス(530)は、受信機(531)(例えば、受信回路)を含むことができる。ビデオデコーダ(510)は、図4の例におけるビデオデコーダ(310)の代わりに使用できる。
受信機(531)は、ビデオデコーダ(510)によってデコーディングされるべき1つ以上のコーディングされたビデオシーケンスを受信してもよい;同じ又は別の実施形態において、一度に1つのコーディングされたビデオシーケンスであり、各コーディングされたビデオシーケンスのデコーディングは、他のコーディングされたビデオシーケンスから独立である。コーディングされたビデオシーケンスは、チャネル(501)から受信されてもよく、該チャネルは、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクでもよい。受信機(531)は、エンコーディングされたビデオデータを、他のデータ、例えばコーディングされたオーディオデータ及び/又は補助データストリームと一緒に受信してもよく、これらのデータは、それぞれの使用エンティティ(図示せず)に転送されてもよい。受信機(531)は、コーディングされたビデオシーケンスを他のデータから分離することができる。ネットワークジッタ対策として、バッファメモリ(515)が、受信機(531)とエントロピーデコーダ/パーサ(520)(以下「パーサ」)との間に結合されてもよい。特定のアプリケーションでは、バッファメモリ(515)はビデオデコーダ(510)の一部である。他のアプリケーションでは、ビデオデコーダ(510)の外部にあることができる(図示せず)。さらに他のアプリケーションでは、例えばネットワークジッタに対抗するために、ビデオデコーダ(510)の外部にバッファメモリ(図示せず)があってもよく、さらに、例えば再生タイミングを扱うために、ビデオデコーダ(510)の内部に別のバッファメモリ(515)があってもよい。受信機(531)が、十分な帯域幅及び制御可能性の記憶/転送デバイスから、或いは、アイソクロナスネットワークからデータを受信している場合は、バッファメモリ(515)は、必要とされなくてもよく、或いは、小さくてもよい。インターネットのようなベストエフォート型のパケットネットワークでの使用のためには、バッファメモリ(515)が要求されることがあり、比較的大きいことがあり、有利には適応サイズであることができ、少なくとも部分的に、ビデオデコーダ(510)の外部でオペレーティングシステム又は同様の要素(図示せず)において実装されてもよい。
ビデオデコーダ(510)は、コーディングされたビデオシーケンスからシンボル(521)を再構成するためのパーサ(520)を含んでもよい。これらのシンボルのカテゴリは、ビデオデコーダ(510)の動作を管理するために使用される情報と、潜在的には、レンダーデバイス(512)(例えば表示画面)のようなレンダリングデバイスを制御するための情報とを含む。レンダリングデバイスは、図5に示されていたように、電子デバイス(530)の一体的な部分ではなく、電子デバイス(530)に結合されることができる。レンダリングデバイス(単数又は複数)のための制御情報は、補足エンハンスメント情報(Supplementary Enhancement Information)(SEI)メッセージ又はビデオユーザビリティ情報(Video Usability Information、VUI)パラメータセットフラグメント(図示せず)の形でもよい。パーサ(520)は、受信されたコーディングされたビデオシーケンスをパースする/エントロピーデコーディングすることができる。コーディングされたビデオシーケンスのコーディングは、ビデオコーディング技術又は標準に従うことができ、可変長コーディング、ハフマンコーディング、コンテキスト感受性あり又はなしの算術コーディング等を含む、様々な原理に従うことができる。パーサ(520)は、コーディングされたビデオシーケンスから、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つについてのサブグループパラメータのセットを、グループに対応する少なくとも1つのパラメータに基づいて、抽出することができる。サブグループは、グループオブピクチャ(Group of Pictures、GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(Coding Unit、CU)、ブロック、変換ユニット(Transform Unit、TU)、予測ユニット(Prediction Unit、PU)等を含むことができる。パーサ(520)はまた、コーディングされたビデオシーケンスから、変換係数、量子化器パラメータ値、動きベクトル等の情報を抽出することができる。
パーサ(520)は、バッファメモリ(515)から受信されたビデオシーケンスに対してエントロピーデコーディング/パース動作を実行し、それによりシンボル(521)を生成することができる。
シンボル(521)の再構成は、コーディングされたビデオピクチャ又はその諸部分のタイプ(例えば、インター及びイントラピクチャ、インター及びイントラブロック)及び他の要因に依存して、複数の異なるユニットに関わることができる。どのユニットがどのように関わるかは、コーディングされたビデオシーケンスからパーサ(520)によってパースされたサブグループ制御情報によって制御されることができる。パーサ(520)と下記の複数のユニットとの間のそのようなサブグループ制御情報の流れは、明確のため、描かれていない。
既に述べた機能ブロックのほかに、ビデオデコーダ(510)は、以下に説明するように、概念的に、いくつかの機能ユニットに分割できる。商業的制約の下で機能する実用的な実装では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的に互いに統合されることができる。しかしながら、開示される主題を記述する目的のためには、下記の機能ユニットへの概念的な細分が適切である。
第1のユニットは、スケーラ/逆変換ユニット(551)である。スケーラ/逆変換ユニット(551)は、パーサ(520)から、量子化された変換係数及び制御情報をシンボル(単数又は複数)(521)として受信する。制御情報は、どの変換を使用するか、ブロックサイズ、量子化係数、量子化スケーリング行列等を含む。スケーラ/逆変換ユニット(551)は、集計器(555)に入力できるサンプル値を含むブロックを出力することができる。
場合によっては、スケーラ/逆変換(551)の出力サンプルは、イントラコーディングされたブロックに関することができる;すなわち、以前に再構成されたピクチャからの予測情報を使用していないが、現在ピクチャの、以前に再構成された部分からの予測情報を使用することができるブロックである。そのような予測情報は、イントラピクチャ予測ユニット(552)によって提供されることができる。場合によっては、イントラピクチャ予測ユニット(552)は、現在ピクチャバッファ(558)から取ってきた、周囲の既に再構成された情報を使用して、再構成中のブロックと同じサイズ及び形状のブロックを生成する。現在ピクチャバッファ(558)は、例えば、部分的に再構成された現在ピクチャ及び/又は完全に再構成された現在ピクチャをバッファリングする。集計器(555)は、場合によっては、サンプル毎に、イントラ予測ユニット(552)が生成した予測情報を、スケーラ/逆変換ユニット(551)によって提供される出力サンプル情報に加算する。
他の場合には、スケーラ/逆変換ユニット(551)の出力サンプルは、インターコーディングされ、潜在的には動き補償されたブロックに関することができる。そのような場合、動き補償予測ユニット(553)は、予測のために使用されるサンプルを取ってくるために参照ピクチャメモリ(557)にアクセスすることができる。取ってきたサンプルを、ブロックに関するシンボル(521)に従って動き補償した後、これらのサンプルは、集計器(555)によってスケーラ/逆変換ユニットの出力(この場合、残差サンプル又は残差信号と呼ばれる)に加算されて、それにより出力サンプル情報を生成することができる。動き補償予測ユニット(553)が予測サンプルを取ってくる参照ピクチャメモリ(557)内のアドレスは、シンボル(521)の形で動き補償予測ユニット(553)に利用可能な動きベクトルによって制御できる。該シンボルは、例えばX、Y、及び参照ピクチャ成分を有することができる。動き補償は、サンプル以下の正確な動きベクトルが使用されるときの参照ピクチャメモリ(557)から取ってこられるサンプル値の補間、動きベクトル予測機構等を含むことができる。
集計器(555)の出力サンプルは、ループフィルタユニット(556)内で様々なループフィルタリング技術にかけられることができる。ビデオ圧縮技術は、コーディングされたビデオシーケンス(コーディングされたビデオビットストリームとも呼ばれる)に含まれるパラメータによって制御され、パーサ(520)からのシンボル(521)としてループフィルタユニット(556)に利用可能にされるループ内フィルタ技術を含むことができるが、コーディングされたピクチャ又はコーディングされたビデオシーケンスの(デコーディング順で)前の部分のデコーディング中に得られたメタ情報に応答するとともに、以前に再構成されループフィルタリングされたサンプル値に応答することもできる。
ループフィルタユニット(556)の出力はサンプルストリームであることができ、これは、レンダーデバイス(512)に出力されることができ、また将来のインターピクチャ予測において使用するために参照ピクチャメモリ(557)に記憶されることができる。
あるコーディングされたピクチャは、いったん完全に再構成されると、将来の予測のための参照ピクチャとして使用できる。例えば、現在ピクチャに対応するコーディングされたピクチャが完全に再構成され、該コーディングされたピクチャが(例えば、パーサ(520)によって)参照ピクチャとして識別されると、現在ピクチャバッファ(558)は参照ピクチャメモリ(557)の一部となることができ、後続のコーディングされたピクチャの再構成を開始する前に、新鮮な現在ピクチャバッファが再割り当てされることができる。
ビデオデコーダ(510)は、ITU-T勧告H.265などの標準のビデオ圧縮技術に従ってデコーディング動作を実行することができる。コーディングされたビデオシーケンスはビデオ圧縮技術又は標準のシンタックス及びビデオ圧縮技術又は標準において文書化されているプロファイルの両方に従うという意味で、コーディングされたビデオシーケンスは、使用されているビデオ圧縮技術又は標準によって規定されたシンタックスに準拠することができる。具体的には、プロファイルはビデオ圧縮技術又は標準において利用可能な全てのツールから、そのプロファイルのもとでの使用のためにそれだけが利用可能なツールとして、特定のツールを選択することができる。準拠のためにはまた、コーディングされたビデオシーケンスの複雑さが、ビデオ圧縮技術又は標準のレベルによって定義される範囲内にあることも必要であることがある。いくつかの場合には、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構成サンプルレート(例えば、毎秒メガサンプルの単位で測られる)、最大参照ピクチャサイズ等を制約する。レベルによって設定された限界は、場合によっては、コーディングされたビデオシーケンスにおいて信号伝達される、HRDバッファ管理のための仮想参照デコーダ(Hypothetical Reference Decoder、HRD)仕様及びメタデータを通じてさらに制約されることができる。
ある実施形態において、受信機(531)は、エンコーディングされたビデオとともに追加の(冗長な)データを受信してもよい。追加データは、コーディングされたビデオシーケンス(単数又は複数)の一部として含まれていてもよい。追加データは、データを適正にデコーディングするため、及び/又は元のビデオデータをより正確に再構成するために、ビデオデコーダ(510)によって使用されてもよい。追加データは、例えば、時間的、空間的、又は信号対雑音比(SNR)エンハンスメント層、冗長スライス、冗長ピクチャ、前方誤り訂正符号等の形であり得る。
図6は、本開示の一実施形態によるビデオエンコーダ(603)のブロック図を示している。ビデオエンコーダ(603)は、電子デバイス(620)に含まれる。電子デバイス(620)は、送信機(640)(例えば、送信回路)を含む。ビデオエンコーダ(603)は、図4の例におけるビデオエンコーダ(403)の代わりに使用できる。
ビデオエンコーダ(603)は、ビデオエンコーダ(603)によってコーディングされるべきビデオ画像をキャプチャすることができるビデオソース(601)(これは図6の例では電子デバイス(620)の一部ではない)からビデオサンプルを受信することができる。別の例では、ビデオソース(601)は、電子デバイス(620)の一部である。
ビデオソース(601)は、任意の好適なビット深さ(例えば、8ビット、10ビット、12ビット、…)、任意の色空間(例えば、BT.601 YCrCB、RGB、…)及び任意の好適なサンプリング構造(例えば、YCrCb 4:2:0、YCrCb 4:4:4)であり得るデジタルビデオサンプルストリームの形で、ビデオエンコーダ(603)によってコーディングされるべきソースビデオシーケンスを提供することができる。メディアサービスシステムにおいては、ビデオソース(601)は、事前に準備されたビデオを記憶している記憶デバイスでもよい。ビデオ会議システムにおいては、ビデオソース(601)は、ローカルでの画像情報をビデオシーケンスとしてキャプチャするカメラでもよい。ビデオデータは、シーケンスで見たときに動きを付与する複数の個々のピクチャとして提供されてもよい。ピクチャ自体は、ピクセルの空間的アレイとして編成されてもよく、各ピクセルは、使用中のサンプリング構造、色空間等に依存して、1つ以上のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。下記の説明は、サンプルに焦点を当てる。
ある実施形態によれば、ビデオエンコーダ(603)は、ソースビデオシーケンスのピクチャを、リアルタイムで或いはアプリケーションで要求される任意の他の時間的制約の下で、コーディング及び圧縮して、コーディングされたビデオシーケンス(643)にすることができる。適切なコーディング速度を施行することは、コントローラ(650)の1つの機能である。いくつかの実施形態では、コントローラ(650)は、以下に記載されるような他の機能ユニットを制御し、該他の機能ユニットに機能的に結合される。かかる結合は、明確のために描かれていない。コントローラ(650)によって設定されるパラメータは、レート制御に関連するパラメータ(ピクチャスキップ、量子化器、レート‐歪み最適化技術のラムダ値、…)、ピクチャサイズ、グループオブピクチャ(GOP)レイアウト、最大動きベクトル探索範囲等を含むことができる。コントローラ(650)は、特定のシステム設計のために最適化されたビデオエンコーダ(603)に関する他の好適な機能を有するように構成できる。
いくつかの実施形態では、ビデオエンコーダ(603)は、コーディングループにおいて動作するように構成される。思い切って単純化した説明として、一例では、コーディングループは、ソースコーダ(630)(例えば、コーディングされるべき入力ピクチャと参照ピクチャ(単数又は複数)に基づいてシンボルストリームのようなシンボルを生成することを受け持つ)と、ビデオエンコーダ(603)に埋め込まれた(ローカル)デコーダ(633)とを含むことができる。デコーダ(633)は、(リモートの)デコーダも生成するであろうのと同様の仕方でサンプルデータを生成するよう前記シンボルを再構成する(開示された主題で考慮されるビデオ圧縮技術では、シンボルとコーディングされたビデオビットストリームとの間の圧縮は可逆であるため)。再構成されたサンプルストリーム(サンプルデータ)は、参照ピクチャメモリ(634)に入力される。シンボルストリームのデコーディングは、デコーダ位置(ローカルかリモートか)によらずビット正確な結果をもたらすので、参照ピクチャメモリ(634)の内容もローカルエンコーダとリモートエンコーダの間でビット正確である。言い換えると、エンコーダの予測部は、デコーダがデコーディング中に予測を使用するときに「見る」のとまったく同じサンプル値を参照ピクチャサンプルとして「見る」。参照ピクチャ同期性のこの基本原理(及び、例えば、チャネルエラーのために同期性が維持できない場合の結果として生じるドリフト)は、いくつかの関連技術においても使用される。
「ローカル」デコーダ(633)の動作は、図5との関連で既に上記で詳細に述べた「リモート」デコーダ、例えばビデオデコーダ(410)の動作と同じでもよい。しかしながら、簡単に図5も参照すると、シンボルが利用可能であり、エントロピーコーダ(645)及びパーサ(420)による、シンボルのコーディングされたビデオシーケンスへのエンコーディング/デコーディングが可逆であり得るので、バッファメモリ(415)及びパーサ(420)を含むビデオデコーダ(410)のエントロピーデコーディング部は、ローカルデコーダ(633)においては完全には実装されなくてもよい。
ある実施形態では、デコーダ内に存在するパース/エントロピーデコーディングを除くデコーダ技術は、対応するエンコーダ内で同一又は実質的に同一の機能的形態で存在する。したがって、開示される主題はデコーダ動作に焦点を当てる。エンコーダ技術の記述は、包括的に記述されるデコーダ技術の逆であるため、省略することができる。特定の領域において、より詳細な説明が以下に提供される。
動作中、いくつかの例では、ソースコーダ(630)は、「参照ピクチャ」として指定された、ビデオシーケンスからの1つ以上の以前にコーディングされたピクチャを参照して、入力ピクチャを予測的にコーディングする、動き補償された予測コーディングを実行することができる。このようにして、コーディングエンジン(632)は、入力ピクチャのピクセルブロックと、入力ピクチャに対する予測参照として選択され得る参照ピクチャ(単数又は複数)のピクセルブロックとの間の差分をコーディングする。
ローカルビデオデコーダ(633)は、ソースコーダ(630)によって生成されたシンボルに基づいて、参照ピクチャとして指定され得るピクチャのコーディングされたビデオデータをデコーディングすることができる。コーディングエンジン(632)の動作は、有利には、損失のあるプロセスであり得る。コーディングされたビデオデータがビデオデコーダ(図6には示さず)でデコーディングされ得るとき、再構成されたビデオシーケンスは、典型的には、いくつかのエラーを伴うソースビデオシーケンスの複製であり得る。ローカルビデオデコーダ(633)は、ビデオデコーダによって参照ピクチャに対して実行され得るデコーディングプロセスを複製し、再構成された参照ピクチャを参照ピクチャメモリ(634)に格納させることができる。このようにして、ビデオエンコーダ(603)は、遠端のビデオデコーダによって得られるであろう再構成された参照ピクチャとしての共通の内容を(伝送エラーがなければ)有する再構成された参照ピクチャのコピーを、ローカルに記憶することができる。
予測器(635)は、コーディングエンジン(632)について予測探索を実行することができる。すなわち、コーディングされるべき新しいピクチャについて、予測器(635)は、新しいピクチャのための適切な予測参照として機能し得るサンプルデータ(候補参照ピクセルブロックとして)又は特定のメタデータ、例えば参照ピクチャ動きベクトル、ブロック形状等を求めて、参照ピクチャメモリ(634)を探索することができる。予測器(635)は、適切な予測参照を見出すために、サンプルブロック/ピクセルブロック毎に(on a sample block-by-pixel block basis)動作し得る。場合によっては、予測器(635)によって得られた検索結果によって決定されるところにより、入力ピクチャは、参照ピクチャメモリ(634)に記憶された複数の参照ピクチャから引き出された予測参照を有することができる。
コントローラ(650)は、例えば、ビデオデータをエンコーディングするために使用されるパラメータ及びサブグループパラメータの設定を含め、ソースコーダ(630)のコーディング動作を管理してもよい。
上記の機能ユニット全ての出力は、エントロピーコーダ(645)におけるエントロピーコーディングを受けることができる。エントロピーコーダ(645)は、ハフマンコーディング、可変長コーディング、算術コーディング等といった技術に従ってシンボルを可逆圧縮することによって、様々な機能ユニットによって生成されたシンボルをコーディングされたビデオシーケンスに変換する。
送信機(640)は、エントロピーエンコーダ(645)によって生成されるコーディングされたビデオシーケンス(複数可)をバッファに入れて、通信チャネル(660)を介した送信のために準備することができる。通信チャネル(660)は、エンコーディングされたビデオデータを記憶する記憶デバイスへのハードウェア/ソフトウェアリンクであってもよい。送信機(640)は、ビデオエンコーダ(603)からのコーディングされたビデオデータを、送信されるべき他のデータ、例えばコーディングされたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)とマージすることができる。
コントローラ(650)は、ビデオエンコーダ(603)の動作を管理してもよい。コーディングの間、コントローラ(650)は、それぞれのコーディングされたピクチャに、あるコーディングされたピクチャタイプを割り当てることができる。コーディングされたピクチャタイプは、それぞれのピクチャに適用され得るコーディング技術に影響し得る。例えば、ピクチャはしばしば、以下のピクチャタイプのうちの1つとして割り当てられることがある。
イントラピクチャ(Iピクチャ)は、予測のソースとしてシーケンス内の他のピクチャを使用せずに、コーディングされ、デコーディングされ得るものであり得る。いくつかのビデオコーデックは、例えば、独立デコーダリフレッシュ(Independent Decoder Refresh、「IDR」)ピクチャを含む、異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形、並びにそれらのそれぞれの用途及び特徴を認識する。
予測ピクチャ(Pピクチャ)は、各ブロックのサンプル値を予測するために、最大で1つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いてコーディング及びデコーディングされ得るものであり得る。
双方向予測ピクチャ(Bピクチャ)は、各ブロックのサンプル値を予測するために、最大で2つの動きベクトル及び参照インデックスを用いるイントラ予測又はインター予測を用いてコーディング及びデコーディングされ得るものであり得る。同様に、マルチ予測ピクチャは、単一のブロックの再構成のために、3つ以上の参照ピクチャ及び関連するメタデータを使用することができる。
ソースピクチャは、通常では、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8、又は16×16サンプルのブロック)に分割され、ブロック毎にコーディングされ得る。ブロックは、ブロックのそれぞれのピクチャに適用されるコーディング割り当てによって決定されるところにより、他の(既にコーディングされた)ブロックを参照して予測的にコーディングされ得る。例えば、Iピクチャのブロックは、非予測的にコーディングされてもよく、或いは、同じピクチャの既にコーディングされたブロックを参照して予測的にコーディングされてもよい(空間的予測又はイントラ予測)。Pピクチャのピクセルブロックは、以前にコーディングされた1つの参照ピクチャを参照して、空間的予測を介して或いは時間的予測を介して予測的にコーディングされてもよい。Bピクチャのブロックは、1つ又は2つの以前にコーディングされた参照ピクチャを参照して、空間的予測を介して或いは時間的予測を介して予測的にコーディングされてもよい。
ビデオエンコーダ(603)は、ITU-T勧告H.265等の所定のビデオコーディング技術又は標準に従ってコーディング動作を実行することができる。その動作において、ビデオエンコーダ(603)は、入力ビデオシーケンスにおける時間的及び空間的冗長性を活用する予測コーディング動作を含む、様々な圧縮動作を実行することができる。よって、コーディングされたビデオデータは、使用されるビデオコーディング技術又は標準によって指定されるシンタックスに準拠し得る。
ある実施形態において、送信機(640)は、エンコーディングされたビデオと一緒に追加データを送信してもよい。ソースコーダ(630)は、コーディングされたビデオシーケンスの一部としてそのようなデータを含めてもよい。追加データは、時間的/空間的/SNRエンハンスメント層、冗長ピクチャ及びスライスのような他の形の冗長データ、SEIメッセージ、VUIパラメータセットフラグメント等を含んでいてもよい。
ビデオは、時間的シーケンスにおいて複数のソースピクチャ(ビデオピクチャ)としてキャプチャされてもよい。イントラピクチャ予測(しばしば、イントラ予測と略される)は、所与のピクチャにおける空間的相関を利用し、インターピクチャ予測は、ピクチャ間の(時間的又は他の)相関を利用する。一例では、現在ピクチャと呼ばれるエンコーディング/デコーディング対象の特定のピクチャは、ブロックにパーティション化される(partitioned)。現在ピクチャ内のブロックが、ビデオにおける、以前にコーディングされ、且つ、まだバッファに入れられている参照ピクチャ内の参照ブロックに類似する場合、現在ピクチャ内のそのブロックは、動きベクトルと呼ばれるベクトルによってコーディングできる。動きベクトルは、参照ピクチャ内の参照ブロックを指し、複数の参照ピクチャが使用される場合には、参照ピクチャを識別する第3の次元を有することができる。
いくつかの実施形態において、インターピクチャ予測において双予測技術が使用できる。双予測技術によれば、いずれもビデオにおいて現在ピクチャよりデコーディング順で先行する(ただし、表示順では、それぞれ過去及び将来でもよい)第1の参照ピクチャ及び第2の参照ピクチャのような2つの参照ピクチャが使用される。現在ピクチャ内のブロックは、第1の参照ピクチャ内の第1の参照ブロックを指す第1の動きベクトルと、第2の参照ピクチャ内の第2の参照ブロックを指す第2の動きベクトルとによってコーディングできる。ブロックは、第1の参照ブロックと第2の参照ブロックの組み合わせによって予測できる。
さらに、コーディング効率を改善するために、インターピクチャ予測においてマージモード技術が使用できる。
本開示のいくつかの実施形態によれば、インターピクチャ予測及びイントラピクチャ予測等の予測は、ブロックの単位で実行される。例えば、HEVC標準によれば、ビデオピクチャのシーケンスにおけるピクチャは、圧縮のためにコーディングツリーユニット(CTU)に分割され、ピクチャにおけるそれらのCTUは、64×64ピクセル、32×32ピクセル、又は16×16ピクセル等の同じサイズを有する。一般に、CTUは、1つのルマCTB及び2つのクロマCTBである3つのコーディングツリーブロック(CTB)を含む。各CTUは、再帰的に、1つ以上のコーディングユニット(CU)に四分木分割されていくことができる。例えば、64×64ピクセルのCTUは、64×64ピクセルの1つのCU、又は32×32ピクセルの4つのCU、又は16×16ピクセルの16個のCUに分割されることができる。一例では、各CUは、インター予測タイプ又はイントラ予測タイプのような、そのCUについての予測タイプを決定するために解析される。CUは時間的及び/又は空間的予測可能性に依存して、1つ以上の予測ユニット(PU)に分割される。一般に、各PUはルマ予測ブロック(PB)及び2つのクロマPBを含む。ある実施形態では、コーディング(エンコーディング/デコーディング)における予測動作は、予測ブロックの単位で実行される。予測ブロックの例としてルマ予測ブロックを用いると、予測ブロックは、8×8ピクセル、16×16ピクセル、8×16ピクセル、16×8ピクセル等、ピクセルについての値(例えば、ルマ値)の行列を含む。
図7は、本開示の一実施形態によるビデオエンコーダ(703)の図を示す。ビデオエンコーダ(703)は、ビデオピクチャのシーケンス内の現在ビデオピクチャ内のサンプル値の処理ブロック(例えば、予測ブロック)を受信し、処理ブロックを、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャにエンコーディングするように構成される。一例では、ビデオエンコーダ(703)は、図4の例におけるビデオエンコーダ(403)の代わりに使用される。
HEVCの例では、ビデオエンコーダ(703)は、8×8サンプル等の予測ブロックのような処理ブロックについてサンプル値の行列を受信する。ビデオエンコーダ(703)は、処理ブロックが、イントラモード、インターモード、又は双予測モードのどれを使用して、最もよくコーディングされるかを、例えばレート‐歪み最適化を使用して、判別する。処理ブロックがイントラモードでコーディングされる場合、ビデオエンコーダ(703)は、処理ブロックをコーディングされたピクチャにエンコーディングするためにイントラ予測技術を使用してもよい。処理ブロックがインターモード又は双予測モードでコーディングされる場合、ビデオエンコーダ(703)は、処理ブロックをコーディングされたピクチャにエンコーディングするために、それぞれ、インター予測技術又は双予測技術を使用してもよい。特定のビデオコーディング技術では、マージモード(merge mode)は、動きベクトルが1つ以上の動きベクトル予測子から導出されるが前記予測子の外のコーディングされた動きベクトル成分の利益のない、インターピクチャ予測サブモードであり得る。特定の他のビデオコーディング技術では、対象ブロックに適用可能な動きベクトル成分が存在してもよい。一例では、ビデオエンコーダ(703)は、処理ブロックのモードを決定するためのモード決定モジュール(図示せず)等の他のコンポーネントを含む。
図7の例では、ビデオエンコーダ(703)は、インターエンコーダ(730)、イントラエンコーダ(722)、残差計算器(723)、スイッチ(726)、残差エンコーダ(724)、全般コントローラ(721)、及びエントロピーコーダ(725)を、図7に示されるように一緒に結合されて含む。
インターエンコーダ(730)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、該ブロックを参照ピクチャ内の1つ以上の参照ブロック(例えば、以前のピクチャ及び後のピクチャ内のブロック)と比較し、インター予測情報(例えば、インターエンコーディング技術による冗長情報の記述、動きベクトル、マージモード情報)を生成し、該インター予測情報に基づいて、任意の好適な技術を使用してインター予測結果(例えば、予測されたブロック)を計算するように構成される。いくつかの例では、参照ピクチャは、エンコーディングされたビデオ情報に基づいてデコーディングされる、デコーディングされた参照ピクチャである。
イントラエンコーダ(722)は、現在ブロック(例えば、処理ブロック)のサンプルを受信し、場合によっては、該ブロックを、同じピクチャ内で既にコーディングされているブロックと比較し、変換後に量子化された係数を、場合によっては、イントラ予測情報(例えば、1つ以上のイントラエンコーディング技術によるイントラ予測方向情報)も生成するように構成される。一例では、イントラエンコーダ(722)はまた、該イントラ予測情報及び同じピクチャ内の参照ブロックに基づいて、イントラ予測結果(例えば、予測されたブロック)を計算する。
全般コントローラ(721)は、全般制御データを決定し、全般制御データに基づいてビデオエンコーダ(703)の他のコンポーネントを制御するように構成される。一例では、全般コントローラ(721)は、ブロックのモードを決定し、そのモードに基づいて制御信号をスイッチ(726)に提供する。例えば、モードがイントラモードである場合、全般コントローラ(721)は、残差計算器(723)による使用のためにイントラモードの結果を選択するようスイッチ(726)を制御し、イントラ予測情報を選択し、イントラ予測情報をビットストリームに含めるようエントロピーエンコーダ(725)を制御する。モードがインターモードである場合、全般コントローラ(721)は、残差計算器(723)による使用のためにインター予測の結果を選択するようスイッチ(726)を制御し、インター予測情報を選択し、インター予測情報をビットストリームに含めるようエントロピーエンコーダ(725)を制御する。
残差計算器(723)は、受信されたブロックと、イントラエンコーダ(722)又はインターエンコーダ(730)から選択された予測結果との差(残差データ)を計算するように構成される。残差エンコーダ(724)は、残差データに基づいて、残差データをエンコーディングして変換係数を生成するように構成される。一例では、残差エンコーダ(724)は、残差データを空間領域から周波数領域に変換し、変換係数を生成するように構成される。次いで、変換係数は、量子化処理にかけられ、量子化された変換係数を得る。様々な実施形態において、ビデオエンコーダ(703)は、残差デコーダ(728)をも含む。残差デコーダ(728)は、逆変換を実行して、デコーディングされた残差データを生成するように構成される。デコーディングされた残差データは、イントラエンコーダ(722)及びインターエンコーダ(730)によって好適に使用されることができる。例えば、インターエンコーダ(730)は、デコーディングされた残差データ及びインター予測情報に基づいて、デコーディングされたブロックを生成することができ、イントラエンコーダ(722)は、デコーディングされた残差データ及びイントラ予測情報に基づいて、デコーディングされたブロックを生成することができる。デコーディングされたブロックは、デコーディングされたピクチャを生成するために好適に処理され、デコーディングされたピクチャは、メモリ回路(図示せず)内にバッファリングされ、いくつかの例では参照ピクチャとして使用されることができる。
エントロピーエンコーダ(725)は、エンコーディングされたブロックを含むようにビットストリームをフォーマットするように構成される。エントロピーエンコーダ(725)は、HEVC標準のような好適な標準に従って様々な情報を含めるように構成される。一例では、エントロピーエンコーダ(725)は、全般制御データ、選択された予測情報(例えば、イントラ予測情報又はインター予測情報)、残差情報、及び他の好適な情報をビットストリーム内に含めるように構成される。開示される主題によれば、インターモード又は双予測モードのいずれかのマージサブモードにおいてブロックをコーディングする場合は、残差情報は存在しないことを注意しておく。
図8は、本開示の一実施形態によるビデオデコーダ(810)の図を示す。ビデオデコーダ(810)は、コーディングされたビデオシーケンスの一部であるコーディングされたピクチャを受信し、コーディングされたピクチャをデコーディングして、再構成されたピクチャを生成するように構成される。一例では、ビデオデコーダ(810)は、図4の例におけるビデオデコーダ(410)の代わりに使用される。
図8の例では、ビデオデコーダ(810)は、エントロピーデコーダ(871)、インターデコーダ(880)、残差デコーダ(873)、再構成モジュール(874)、及びイントラデコーダ(872)が図8に示されるように一緒に結合されたものを含む。
エントロピーデコーダ(871)は、コーディングされたピクチャから、そのコーディングされたピクチャが構成されるシンタックスエレメントを表す特定のシンボルを再構成するように構成されることができる。そのようなシンボルは、例えば、ブロックがコーディングされるモード(例えば、イントラモード、インターモード、双予測モード、マージサブモード又は別のサブモードにおける後者の2つ)、イントラデコーダ(872)又はインターデコーダ(880)によってそれぞれ予測のために使用される特定のサンプル又はメタデータを識別することができる予測情報(例えば、イントラ予測情報又はインター予測情報等)、例えば量子化された変換係数の形の残差情報等を含むことができる。一例では、予測モードがインター又は双予測モードである場合、インター予測情報がインターデコーダ(880)に提供される。予測タイプがイントラ予測タイプである場合には、イントラ予測情報がイントラデコーダ(872)に提供される。残差情報は、逆量子化を受けることができ、残差デコーダ(873)に提供される。
インターデコーダ(880)は、インター予測情報を受信し、該インター予測情報に基づいてインター予測結果を生成するように構成される。
イントラデコーダ(872)は、イントラ予測情報を受信し、該イントラ予測情報に基づいて予測結果を生成するように構成される。
残差デコーダ(873)は、逆量子化を実行して量子化解除された変換係数を抽出し、量子化解除された変換係数を処理して、残差を周波数領域から空間領域に変換するように構成される。残差デコーダ(873)はまた、特定の制御情報(量子化器パラメータ(QP)を含む)をも必要とすることがあり、その情報は、エントロピーデコーダ(871)によって提供されてもよい(これは、低ボリュームの制御情報のみであるため、データ経路は描かれていない)。
再構成モジュール(874)は、空間領域において、残差デコーダ(873)によって出力される残差と、予測結果(場合に応じてイントラ又はインター予測モジュールによって出力される)とを組み合わせて、再構成されたブロックを形成するように構成され、該再構成されたブロックは再構成されたピクチャの一部であってもよく、該再構成されたピクチャは再構成されたビデオの一部であってもよい。視覚的品質を改善するためにデブロッキング動作等の他の好適な動作が実行されることができることを注意しておく。
なお、ビデオエンコーダ(403)、(603)、(703)、及びビデオデコーダ(410)、(510)、(810)は、任意の好適な技術を用いて実装できる。ある実施形態では、ビデオエンコーダ(403)、(603)、(703)及びビデオデコーダ(410)、(510)、(810)は、1つ以上の集積回路を使用して実装できる。別の実施形態では、ビデオエンコーダ(403)、(603)、(703)、及びビデオデコーダ(410)、(510)、(810)は、ソフトウェア命令を実行する1つ以上のプロセッサを使用して実装できる。
本開示の一実施形態によれば、ビットストリームは、1つ以上のコーディングされたビデオシーケンス(CVS)を含むことができる。CVSは、他のCVSから独立してコーディングされることができる。各CVSは、1つ以上のレイヤーを含むことができ、各レイヤーは、特定の品質(例えば空間分解能)を持つビデオの表現、又は、特定のコンポーネント解釈プロパティの表現、例えば、深度マップ、透明度マップ、又は透視図であることができる。時間次元では、各CVSは、1つ以上のアクセスユニット(AU)を含むことができる。各AUは、同じ時間インスタンスに対応する異なるレイヤーの1つ以上のピクチャを含むことができる。コーディングされたレイヤービデオシーケンス(Coded Layer Video Sequence)(CLVS)は、同じレイヤー内にピクチャユニットのシーケンスを含むことができるレイヤーごとの(layer-wise)CVSである。ビットストリームが複数のレイヤーを持つ場合、ビットストリーム内のCVSは各レイヤーに対して1つ以上のCLVSを持つことができる。
一実施形態では、CVSはAUのシーケンスを含み、AUのシーケンスは、デコーディング順で、イントラランダムアクセスポイント(IRAP)AUを含み、その後にIRAP AUではない0以上のAUが続く。一例では、0以上のAUは、IRAP AUである後続のAUを含まないが、それまでのすべての後続のAUを含む。一例では、CLVSは、ピクチャのシーケンスと、CVSのベースレイヤーの関連する非ビデオコーディングレイヤー(VCL)ネットワーク抽象化レイヤー(NAL)ユニットを含む。
本開示のいくつかの態様によると、ビデオはシングルビュービデオ及びマルチビュービデオに分類できる。例えば、シングルビュービデオ(例えば、モノスコピックビデオ)は、視聴者にシーンの単一のビューを提供する2次元メディアである。マルチビュービデオは、シーンの複数の視点を提供でき、視聴者に臨場感を与えることができる。一例では、3Dビデオは、人間の視聴者に対応する左ビューと右ビューのような2つのビューを提供できる。2つのビューは、異なる偏光を使用して同時に又はほぼ同時に表示(提示)することができ、視聴者は、視聴者の目の各々がそれぞれのビューの1つを受け取るように偏光メガネを着用することができる。
この開示は、効率的なコーディングと複数のビューの表現に関連する実施形態を含む。本開示は、機能ベースのマルチビュー表現と配信を含む。一実施形態では、各ビュー(又は各ピクチャ)のコンテンツは、特徴及び/又はキーポイントを示す特徴情報を使用して抽出及び表現することができる。同じ時間、又は時間インスタンスにおける異なるビューの特徴は、優先順位を付けて、ビューアクセスのスケーラビリティを可能にすることができる。
複数のビューをビデオキャプチャとコーディングで使用できる。ユーザーの視覚体験を豊かにするために、例えば、図9A-9Bに示すように、異なる場所から複数のカメラを使用して関心のあるシーンをキャプチャできる。
図9Aは、本開示の一実施形態によるマルチカメラキャプチャリングシステムにおけるカメラの例示的なアーチ配置を示す。カメラ(例えば、i-1,i,i+1で示される)は、1次元(1D)アーチ形状の周囲に配置される。カメラと関心のあるシーンの間の距離は、同一であっても異なっていてもよい。
図9Bは、本開示の一実施形態によるマルチカメラキャプチャリングシステムにおけるカメラの例示的な1D並列配置を示す。カメラ(例えば、1-3)は1D軸(例えば、水平カメラ軸)に沿って配置される。一例では、隣接するカメラはある距離(例えば、カメラの視差)だけ離される。カメラと関心のあるシーンの間の距離は同一であっても異なっていてもよい。記号v1,v2,及びv3はカメラ1,2,及び3に対応するそれぞれのビューを示す。パノラマビューVpanはビューv1-v3を含むことができる。
複数のカメラアプリケーションは、VRビデオ又はVR360、フリービュー(例えば、自由視点テレビ(FTV))、ライトフィールドビデオなどを含むことができる。VRビデオは、360VR又はVR360とも呼ばれることができる。VR360は、全方位カメラを使用してキャプチャされたビデオを指すことができる。全方位カメラは、同時に360度又はその一部での撮影を可能にすることができる。VRビデオでは、ユーザーはシーン全体を見ることができる。通常のビデオと比較して、VRビデオはより没入的でインタラクティブな体験を提供できる。
自由視点テレビ(FTV)は、自然なビデオを視聴するためのシステムを含めることができ、ユーザーが視点をインタラクティブに制御し、3D位置から動的なシーンの新しいビューを生成することを可能にする。FTVにより、注意の焦点はディレクターではなく視聴者によって制御されることができ、視聴者は独自のビューポイントを観察することができる。
ライトフィールドビデオは、ライトフィールドカメラ又はプレノプティックカメラによってキャプチャできる。特定のカメラは、シーンからの光の強度のみを記録する。ライトフィールドカメラ又はプレノプティックカメラは、ライトフィールドを記録できる。ライトフィールドビデオは、シーン内の光の強度や、光線が空間を移動している方向など、シーンから発せられるライトフィールドに関する情報を含むことができる。ライトフィールドビデオは、シーン内の光の強度や、光線が空間を移動している方向を含むことができる。
図9A-9Bに示されるようなマルチカメラアレイはVR360、FTV、ライトフィールドビデオなどをキャプチャできる。
図9A-9Bに説明されているように、マルチビュービデオを、複数のカメラを同時に使用してシーンをキャプチャすることによって、作成でき、複数のカメラは、各カメラがそれぞれの視点からシーンをキャプチャするように適切に配置される。複数のカメラは、複数の視点に対応する複数のビデオシーケンスをキャプチャできる。より多くのビューを提供するために、より多くのカメラを使用して、ビューに関連付けられた多数のビデオシーケンスを持つマルチビュービデオを生成できる。マルチビュービデオは、ストレージ用の大きなストレージスペース及び/又は伝送用の高い帯域幅を必要とする場合がある。必要なストレージスペース又は伝送帯域幅を削減するために、マルチビュービデオコーディング技術がこの分野で開発されている。
マルチビュービデオのコーディングの効率を向上させるために、ビュー間の類似性を利用できる。いくつかの実施形態では、ベースビューと呼ばれるビューの1つが、モノスコピックビデオのようにエンコーディングされる。例えば、ベースビューのエンコーディング中に、イントラ(ピクチャ)及び/又は時間インター(ピクチャ)予測が使用される。ベースビューは、イントラ(ピクチャ)予測とインター(ピクチャ)予測を実行するモノスコピックデコーダ(例えばモノスコピックデコーダ)を使用してデコーディングされ得る。マルチビュービデオのベースビューの横にある他のビューは、依存(従属)(dependent)ビューと呼ばれることができる。依存ビューをコーディングするために、イントラ(ピクチャ)及びインター(ピクチャ)予測に加えて、視差補償を伴うインタービュー予測が使用され得る。一例では、インタービュー予測では、同じ時間インスタンス内の別のビューのピクチャからのサンプルの参照ブロックを使用して、依存ビュー内の現在のブロックが予測される。参照ブロックの位置は、視差ベクトルによって示される。インタービュー予測は、動きベクトルが視差ベクトルに置き換えられ、時間的な参照ピクチャが他のビューからの参照ピクチャに置き換えられることを除いて、インター(ピクチャ)予測に類似している。
本開示のいくつかの態様によれば、マルチビューコーディングはマルチレイヤーアプローチを採用できる。マルチレイヤーアプローチは、レイヤーと呼ばれるビデオシーケンスの異なるコーディングされた(例えば、HEVCコーディングされた)表現を1つのビットストリームに多重化できる。レイヤーは相互に依存できる。依存関係は、異なるレイヤー間の類似性を利用して圧縮パフォーマンスを向上させることを達成するために、レイヤー間予測によって使用できる。レイヤーは、特定のカメラパースペクティブに関連するシーンのテクスチャ、深度、又はその他の補助情報を表すことができる。いくつかの例では、同じカメラパースペクティブに属するすべてのレイヤーがビューとして示される。同じ種類の情報(例えば、テクスチャ又は深度)を運ぶ(carrying)レイヤーは、マルチビュービデオの範囲内でコンポーネントと呼ばれる。
本開示の一態様によれば、マルチビュービデオコーディングは、既存のシングルレイヤーデコーディングコアによる高レベルシンタックス(HLS) (例えば、スライスレベルより高い)の追加を含むことができる。いくつかの例では、マルチビューコーディングは、スライスレベルより下のシングルレイヤーコーディングに必要なシンタックス又はデコードプロセスを(例えば、HEVC)変更しない。マルチビュービデオデコーダを構築するために、大きな変更なしで既存の実装を再利用することができる。例えば、マルチビュービデオデコーダは、ビデオデコーダ(510)又はビデオデコーダ(810)に基づいて実装できる。
いくつかの例では、同じキャプチャ又は表示時間インスタンスに関連付けられたすべてのピクチャが、AUに含まれ、同じピクチャ順カウント(POC)を持つ。マルチビュービデオコーディングは、同じAU内のピクチャから予測を実行するインタービュー予測を可能にする。例えば、他のビューからデコーディングされたピクチャは、現在ピクチャの参照ピクチャリストの一方又は両方に挿入できる。さらに、いくつかの例では、動きベクトルは、同じビューの時間参照ピクチャに関連する場合は実際の時間的動きベクトルであり得、インタービュー参照ピクチャに関連する場合は視差ベクトルであり得る。動きベクトルが時間的動きベクトルであるか視差ベクトルであるかに関係なく、同じように動作するブロックレベルの動き補償モジュール(例えば、ブロックレベルエンコーディングソフトウェア又はハードウェア、ブロックレベルデコーディングソフトウェア又はハードウェア)を使用できる。
キャプチャされた後、複数のビュー(マルチビュー)内の情報を処理、圧縮、クライアント側への配信、及び/又は記憶することができる。各ビューのビデオは、2Dビデオ(例えば、モノスコピックビデオ)と見なすことができ、HEVC、VVCなど、前述のビデオ/画像コーディング技術(例えばイントラ(ピクチャ)及び/又は時間インター(ピクチャ)予測)を使用して効率的にコーディング(例えば圧縮)されることができる。前述のVR 360、FTV、ライトフィールドビデオなどの特定のアプリケーションは、ビデオ内のビューの数が多いため、比較的高い帯域幅要件を課すことができる。帯域幅の負担を軽減するために、さまざまな技術を使用できる。
前述のように、異なるビュー間のインタービュー依存関係を調べることができる。すべてのビューにおけるビューのサブセットを最初にコーディングできる。ビューのコーディングされたサブセットのコンテンツは、視差補償を伴うインタービュー予測など、コーディングされるべき他のビューの参照として使用できる。他のビューを個別にコーディングする場合と比較して、他のビューをより効率的に圧縮できる。
一実施形態では、すべてのビューにおけるビューのサブセットをコーディング/圧縮用に選択できる。帯域幅要件を削減するために他のビュー(コーディングされていないビューと呼ばれる)は提供(例えば、送信)されず、コーディング/圧縮される必要はない。クライアント側から、受信したビットストリームはすべてのキャプチャされたビューの一部(例えば、ビューのサブセット)のみを含む。コーディングされていないビュー、又は他の中間仮想(存在しない)ビューのコンテンツがアクセスされる(例えば、消費される)ことになる場合、隣接ビュー(複数可)からの情報を使用して、コーディングされていないビュー及び/又は存在しないビューをレンダリングできる。コーディングされていないビューは、1つ以上のカメラでキャプチャできるが、コーディングされておらず、送信されない。存在しないビューは、カメラ(複数可)でキャプチャされていないビューである。一例では、ビューに関連付けられた深度情報(例えば、関心のあるシーンとその関心のあるシーンを記録するカメラとの間の距離)が中間ビューレンダリングのために使用される。
一実施形態では、空間ステッチングを実行でき、コーディングされるべき選択されたビューがより大きなビデオにつなぎ合わされる。図10は、本開示の一実施形態による空間ステッチングの例を示している。6つのコーディングされるべきビュー(例えばビュー(view)0-5)を、例えば3×2のセットアップで、ビデオ(1000)に空間ステッチングすることができる。より大きいビデオ(1000)の解像度は、ビュー0-5の各々の水平方向の3倍、ビュー0-5の各々の垂直方向の2倍である。単一のビデオ(1000)は、例えば、HEVC、VVCなど、前述のビデオ/画像コーディング技術(例えば、イントラ(ピクチャ)及び/又は時間インター(ピクチャ)予測)を含む、2Dビデオ(例えばモノスコピックビデオ)の関連するビデオコーディング方法を使用してコーディング(例えば、エンコーディング及び/又はデコーディング)されることができる。ビデオ(1000)がデコーディングされた後、個々のビュー(例えば、ビュー0-5)をより大きなビデオ(1000)から抽出できる。
一実施形態では、時間スタッキングを実行できる。同じ時間インスタンスに対応する異なるビューのピクチャは、1つ以上のピクチャをイントラ予測のみでベースビュー(複数可)として使用して、順次コーディングすることができ、一方、他のピクチャは、コーディングされた1つ以上のピクチャをインターピクチャ予測で参照することができる。第1の時間インスタンスのビューをコーディングした後、同様の操作を別の時間インスタンスにおいてビューのピクチャに適用できる。例えば、特定の時間インスタンスのすべてのピクチャが順番にコーディングされるまで、別の時間インスタンスのピクチャは処理されない。上記の方法は、「時間優先(time first)」コーディングアプローチと呼ぶことができる。一例では、同じ時間インスタンスのすべてのピクチャは、別の時間インスタンスのピクチャがコーディングされる前に、処理される。
さまざまな例では、上記のコーディング方法などによる複数のビューのコーディングは、総帯域幅消費のために困難な場合がある。いくつかのアプリケーションでは、ユーザーは、一度に、すべてのビューアングル又はビューポイントのごく一部しか見ない。再構成されたシーンでユーザーが見ることができるものは、ビューポートとして定義できる。一実施形態では、ユーザーはビューポートを定義できる。ビューポートは、長方形など、任意の適切な形状を持つことができる。現在のビューポートは別のビューポートに変更でき、ユーザーはビューを変更できる。ユーザーが他のビューポートに切り替えない場合、現在のビューポートの再構成に関連しないデータは送信されない場合がある。一例では、サーバは現在のビューポートに対応するマルチビュービデオデータの一部を配信することを必要とするだけである。サーバは現在のビューポートに対応しないデータを配信する必要がない場合がある。
本開示の一実施形態によれば、特徴ベースのビデオコーディング(又は特徴ベースのビデオコーディングプロセス)を、選択されたアプリケーション、例えば、異なるピクチャにわたるコンテンツが大きく変化しない場合に適用することができる。ビデオ会議シナリオなど、いくつかの選択されたアプリケーションでは、異なるピクチャにわたる人間の顔、人の肩、背景などのコンテンツは大きく変化しない。特徴ベースのビデオコーディングは、選択されたアプリケーション、例えば、ある程度、再生の滑らかさ及び/又はビデオの主観的品質が、元のコンテンツに対する高忠実度よりも重要である場合に適用できる。例えば、一部のビデオ会議シナリオでは、再生の滑らかさ及び/又はビデオの主観的品質が、元のコンテンツに対する高忠実度よりも重要である。
本開示では、キーピクチャは、そのサンプル(又はピクセル)が、例えば、図1A、1B、及び2-8に記述されているイントラ(ピクチャ)及び/又は時間インター(ピクチャ)予測を含む、HEVC及び/又はVVCのビデオ/画像コーディング技術を使用して、コーディング(例えば、エンコーディング及びデコーディング)されたピクチャを指すことができる。
非キーピクチャは、そのサンプルが直接コーディングされないピクチャを指す。非キーピクチャについて、他のピクチャ(例えば、キーピクチャ)に対する非キーピクチャの特徴情報又は特徴変化をコーディング(例えば、エンコーディング及びデコーディング)できる。
特徴ベースのビデオコーディング処理では、ピクチャのコンテンツの特徴情報をピクチャから決定(例えば、抽出できる。特徴情報は、ピクチャのコンテンツの特徴(複数可)、ピクチャのコンテンツのキーポイントなどを示すことができる。特徴情報(例えば、特徴及び/又はキーポイント)を決定(例えば、抽出)するプロセスは、特徴抽出プロセスと呼ぶことができる。ピクチャのコンテンツ(又はコンテンツの特性)は、例えば、抽出された特徴及び/又はピクチャのキーポイントを含む特徴情報によって表現又はレンダリングできる。一実施形態では、特徴情報は、変更される可能性のあるピクチャの特徴(複数可)及び/又はキーポイントを示す。ビューの異なるピクチャにわたるコンテンツが大きく変化しない場合、特徴情報は、例えば視覚品質を犠牲にすることなくコーディング効率を向上させるために、大きく変化しないピクチャの部分の情報を含まないことがある。
例えば、ビデオ会議アプリケーションでは、ピクチャは人間(例えば、顔と上半身)と背景を含み、特徴情報は、人間の顔に関連するコンテンツを表すことができ、例えば、上半身が大きく変化しない場合、背景と上半身に関連するコンテンツを表さない。
人間の顔は、目、鼻、口、顎、耳などのような、さまざまなピクチャ/ビデオのさまざまな人に共通するコンポーネントを含む。コンポーネントの形状、サイズ、及び構造の違いは、ある顔と別の顔を区別できる。特徴情報は、コンポーネントの形状やサイズ及びコンポーネントの配置(例えば、人間の顔の2つのコンポーネント又はコンポーネントの位置の間の相対距離)などの特徴を含むことができる。ピクチャは、人間の顔の特徴情報及び追加情報(例えばピクチャの背景)に基づいて決定できる。追加情報は、別のデコーディングされたピクチャ(例えば、デコーディングされたキーピクチャ)に基づいて決定できる。
キーポイント(又はキーポイント)は、ピクチャ内の重要な位置を指すことができ、ピクチャ内のコンテンツ(例えば、人の顔又は人の顔のコンポーネント)の構造を表すために使用できる。いくつかの例では、コンポーネントの特性を顔のキーポイントに基づいて決定できる。一例では、人間の顔の9キーポイントモデルでは、人間の顔を記述するキーポイントは、2つの眼球の位置を示す2つのキーポイント、2つの目の近端と遠端を示す4つのキーポイント、鼻孔の中点を示すキーポイント、2つの口角を示す2つのキーポイントを含む。9キーポイントモデルは、例えば、人間の顔の特徴のより正確な記述を有るために、追加のキーポイント(例えば、耳や眉毛の位置を表すキーポイント)を含むように適応させることができる。いくつかの例では、いくつかのキーポイント及びキーポイントの位置を含むモデルが学習されるか、又は例えば、ニューラルネットワークを使用して決定される。
ビデオ会議などの例では、ビデオ内のピクチャは、ピクチャから別のピクチャに変化する人間の顔と、比較的一定のままの背景を含む。特徴情報は、例えば9キーポイントモデルのキーポイント及び/又はそれぞれのキーポイントに関連付けられた特徴を含む、キーポイントを含むことができる。例えば、2つの口角を示す2つのキーポイントが含まれ、開いた口、閉じた口など、口の形状/構造を示す特徴をピクチャから抽出できる。一例では、キーポイントのみが抽出される。特定のキーポイント(複数可)に関連付けられた特徴は、(i)キーポイント及び(ii)別のピクチャ(例えば、キーピクチャ)又は別のピクチャの特徴情報に基づいて決定できる。
現在のピクチャの特徴の違い又は特徴の変化は、現在のピクチャの特徴情報と別のピクチャ(例えば、キーピクチャ)の特徴情報の間の変化又は違いを示すことができる。特徴変化は、特徴情報の位置の変化、向きの変化(例えば、3D空間における)、特徴サイズの変化などに関連させることができる。例えば、9キーポイントモデルの1つ以上のキーポイントの座標が変化することができる。現在のピクチャの特徴情報は、現在のピクチャの特徴変化及び他のピクチャ(例えば、キーピクチャ)の特徴情報に基づいて決定できる。
図11Aは、特徴ベースのビデオコーディング又は特徴ベースのビデオコーディングプロセス(1100A)の概略図を示す。一例では、ビデオはビューのピクチャを含む。特徴ベースのビデオコーディングプロセス(1100 A)を適用して、単一のビューのピクチャをコーディングできる。ピクチャは、キーピクチャ(例えば、時間インスタンスT0における)と非キーピクチャ(例えば、時間インスタンスT1-T3の元のピクチャ)を含むことができる。ビデオデータは、キーピクチャのデータと非キーピクチャのデータを含む。エンコーダ側(上)では、前述のビデオ/画像コーディング技術(例えば、HEVC及び/又はVVCの画像/ビデオコーディング技術)(例えばイントラ(ピクチャ)及び/又は時間インター(ピクチャ)予測)などのモノスコピックビデオ用の方法を使用して、ビデオデータの一部(例えば、キーピクチャのデータ)を圧縮(例えば、エンコーディング)できる。残りのデータ(例えば、T1-T3における非キーピクチャのデータ)は、それぞれT1-T3における対応する特徴情報で表すことができる。T1-T3における特徴情報をエンコーディングできる。一例では、T1-T3における非キーピクチャのサンプル又はピクセルは、前述のビデオ/画像コーディング技術(例えば、HEVC及び/又はVVCの画像/ビデオコーディング技術)(例えば、イントラ(ピクチャ)及び/又は時間インター(ピクチャ)予測)などのモノスコピックビデオの方法を使用してエンコーディングされない。
図11Aを参照すると、T0におけるキーピクチャは前述のようにエンコーディングされる。T0におけるキーピクチャに対して特徴抽出プロセスが実行されて、T0におけるキーピクチャの特徴情報を決定する。ビデオデータの残り(例えば、T1-T3における非キーピクチャのデータ)の特徴情報を決定することができる。一例では、特徴抽出プロセスが、キーピクチャに対するT1-T3における非キーピクチャに対して実行することができる。T1-T3における非キーピクチャについては、T1-T3における元のピクチャのコンテンツを、特徴及び/又はキーポイントをそれぞれ含む抽出された特徴情報を使用して、対応する調整とともに、表現又はレンダリングすることができる。例えば、T1、T2、及びT3におけち元のピクチャに対応するT1、T2、及びT3における特徴情報をビットストリームにエンコーディングすることができる。一例では、エンコーディングされたビットストリームは、T0におけるエンコーディングされたキーピクチャとT1-T3におけるエンコーディングされた特徴情報を含む。
デコーダ側(下)では、T0におけるエンコーディングされたキーピクチャデータは、上記で説明したビデオ/画像コーディング技術(例えば、HEVC及び/又はVVCの画像/ビデオコーディング技術)(例えば、イントラ(ピクチャ)及び/又は時間インター(ピクチャ)予測)などのモノスコピックビデオ用の方法でデコーディングできる。一例では、エンコーダ側で実行されるのと同様の方法で、T0におけるキーピクチャの特徴情報(例えば、特徴及び/又はキーポイント)が抽出される。キーピクチャに続く追加のピクチャ(例えば、T1-T3におけるピクチャ)については、T1-T3における特徴及び/又はキーポイントを示すエンコーディングされた特徴情報をデコーディングできる。特徴情報(例えば、特徴及び/又はキーポイント)が特定のピクチャ(例えば、T1におけるピクチャ)に対して準備される(例えば、デコーディングされる)場合、同じ時間インスタンス(例えばT1)における対応するピクチャデータを、時間インスタンス(例えば、T1)におけるデコーディングされた特徴情報とT0における既にデコーディングされたキーピクチャに基づいて復元、再構成、又はレンダリングできる。一例では、T1におけるピクチャは、時間インスタンス(例えば、T1)におけるデコーディングされた特徴情報とT0における既にデコーディングされたキーピクチャを組み合わせることによって再構成される。
上記の特徴ベースのコーディングプロセスの説明は、図11Bに示すように、特徴変化又は特徴差がコーディングされる (例えば、エンコーディング及び/又はデコーディングされる) 場合に適切に適応されることができる。図11Bを参照すると、ある時間インスタンスにおける現在ピクチャ(例えば、T2における元のピクチャ)の特徴変化は、別のピクチャ(例えば、T0におけるキーピクチャ又は非キーピクチャ)の特徴情報と、その時間インスタンス(例えば、T2)における現在ピクチャの特徴情報との間の違いを示すことができる。特徴変化は、他のピクチャ(例えば、T0におけるキーピクチャ)から現在ピクチャへの特徴及び/又はキーポイントの位置変化、向き変化(例えば、3D空間における)、特徴サイズ変化、形状変化などを示すことができる。例えば、特徴変化は、例えば、人間の顔の表情の変化(口を閉じたり開けたりすること)による、9キーポイントモデルにおける1つ以上のキーポイントの座標変化を含む。
本開示の一実施形態によれば、ビデオ内の異なるピクチャの特徴変化は、T0におけるキーピクチャなどの、単一のピクチャ(例えば、特徴参照として使用されるピクチャ)に対する異なるピクチャの特徴変化を指すことができる。例えば、T1-T3におけるピクチャの特徴変化は、T0における同じキーピクチャに対するものである。
本開示の一実施形態によれば、ビデオ内の異なるピクチャの特徴変化は、特徴参照として使用されるそれぞれのピクチャに対する異なるピクチャの特徴変化を指すことができる。特徴参照は1より多いピクチャを含むことができ、異なるピクチャに対して異なることができる。例えば、ある時間インスタンスにおける特徴変化は、その時間インスタンスにおける現在ピクチャと隣接する時間インスタンスにおける(又は隣接していない時間インスタンスにおける)の別のピクチャとの間の特徴変化を示す。一例では、T1におけるピクチャの特徴変化はT0におけるピクチャ(例えば、キーピクチャ)に対し、T2におけるピクチャの特徴変化はT1におけるピクチャに対し、T3におけるピクチャの特徴変化はT2におけるピクチャに対する。
図11Bは、特徴ベースのビデオコーディング又は特徴ベースのビデオコーディングプロセス(1100B)の概略図を示す。図11Aに示すように、ビデオはビューのピクチャを含む。特徴ベースのビデオコーディングプロセス(1100B)を単一のビューのピクチャをコーディングするために適用できる。ピクチャは、キーピクチャ(例えば、T0における)と非キーピクチャ(例えば、T1-T3における元のピクチャ)を含むことができる。ビデオデータは、キーピクチャのデータと非キーピクチャのデータを含む。エンコーダ側(上)では、図11Aに示すように、T0におけるキーピクチャのデータを圧縮できる。T0におけるキーピクチャの特徴情報をキーピクチャから抽出できる。
図11Bの例では、異なるピクチャの特徴変化は、別のピクチャ(例えばT0におけるキーピクチャ)に対する異なるピクチャの特徴変化を指す。T1における元のピクチャの特徴変化は、キーピクチャとT1における元のピクチャとの間の変化を示すことができる。一例では、T1における特徴変化は、キーピクチャに対するT1における元のピクチャの特徴変化である。T1における特徴変化は、例えば、T1における元のピクチャの特徴情報を決定することなしに、T1における元のピクチャとキーピクチャの特徴情報に基づいて決定することができる。T1における特徴変化は、キーピクチャの特徴情報とT1における元のピクチャの特徴情報に基づいて決定することができる。同様に、T2-T3の元のピクチャの特徴変化を、例えばT2-T3における元のピクチャとキーピクチャに基づいて抽出することができる。
図11Bを参照すると、確立された特徴(例えば、T0におけるキーピクチャの特徴情報によって示される)に対する変化(又は特徴変化)をビットストリームにコーディングする(例えば、エンコーディングする)ことができる。一例では、エンコーディングされたビットストリームはT0にいてエンコーディングされたキーピクチャとT1-T3においてエンコーディングされた特徴変化を含む。
デコーダ側(下)では、キーピクチャデータは図11Aで説明した方法と同様の方法でデコーディングできる。T1-T3におけるエンコーディングされた特徴変化(例えば、T0におけるキーピクチャの確立された特徴に対する変化)は、T1-T3におけるピクチャの特徴及び/又はキーポイントを示す対応する特徴情報を復元するためにデコーディングできる。一例では、T0におけるキーピクチャの特徴情報がデコーディングされる。T1-T3におけるピクチャの特徴及び/又はキーポイントをそれぞれ示す特徴情報は、T1-T3における対応するデコーディングされた特徴変化及びキーピクチャの特徴情報に基づいて決定することができる。
特定のピクチャ(例えば、T1におけるピクチャ)について特徴情報がデコーディングされるとき、同じ時間インスタンス(例えば、T1)における対応するピクチャデータを、復元、再構成、又はレンダリングすることができる。エンコーディングされたピクチャは、同じ時間インスタンスにおけるピクチャのデコーディングされた特徴情報と、既にデコーディングされたキーピクチャに基づいてデコーディングできる。
(1100A)又は(1100B)などの特徴ベースのビデオコーディングプロセスは、特徴ベースのビデオエンコーディング(又は圧縮)プロセスと特徴ベースのビデオデコーディングプロセス(例えば、特徴ベースのレンダリング及び/又は再構成を含む)を含むことができる。
一例では、特定の条件が満たされる場合、特徴ベースのコーディングプロセス(1100A)又は(1100B)は、選択されたアプリケーションで関連するビデオコーディング技術よりも有利な場合がある。2つの例示的な条件は:(i)特徴をコーディングするためのビットレートコストが元のビデオデータをコーディングするよりも小さい;及び(ii)特徴ベースのビデオコーディングの再構成された視覚品質が主観的に許容できる、である。いくつかの例では、特徴レンダリングされたピクチャは、必ずしも元のピクチャと一致する必要はない、又はピーク信号対雑音比(PSNR)及び構造類似性インデックス(SSIM)によって評価されるなど、高い主観的品質を持つ必要はない。
特徴ベースのコーディングプロセスでは、ピクチャ内のコンテンツの特徴情報をピクチャから抽出できる。特徴情報はピクチャを表すために使用することができる。ピクチャ内のサンプル(又はピクセル)の代わりに、特徴情報又はピクチャの特徴変化をコーディングできる。
特徴情報には、大幅に変化しないピクチャの部分の情報を含む必要はない。したがって、いくつかの例では、ビューの異なるピクチャにわたるコンテンツが大幅に変化しない場合、特徴情報はピクチャの比較的小さな部分の情報のみを含む場合がある。特徴変化は、ピクチャの比較的小さな部分の特徴変化のみを含む場合がある。背景又は人体の他の部分など、ピクチャの比較的大きな部分の情報(又は特徴変化)は、エンコーディングされる特徴情報に含まれない場合がある。視覚品質を犠牲にすることなく、コーディング効率を向上させることができる。
図11A-11Bの上記の説明は、単一のビューのピクチャの特徴ベースのコーディングに適用できる。本開示の一実施形態によれば、特徴ベースのビデオコーディングは、複数のビューを持つビデオをコーディングするために使用できる。本開示は、マルチビューのコンテキストで特徴を決定する(例えば、定義する)ための実施形態を含む。本開示の「特徴」という用語は、ビデオコーディング及び再構成のためのキーポイント(又はキーポイント)を使用する方法で使用できる。
図12は、本開示の実施形態によるビットストリーム(1200)内の画像の例を示す。ビットストリーム(1200)は、1つ以上のビュー(例えば、ビュー0-(N-1))のピクチャを含むことができ、Nはビットストリーム(1200)内のビューの数を示す正の整数である。Nが1の場合、ビットストリーム(1200)は、単一ビュー(例えば、ビュー0)のピクチャを含む単一ビュービットストリームである。Nが1より大きい場合、ビットストリーム(1200)は、異なるビュー0-(N-1)のピクチャを含むマルチビュービットストリームである。各ビューについて、(M+1)時間インスタンスT0-TMにおけるピクチャが図12に示されている。
ビットストリーム(1200)内のピクチャはピクチャPIJと呼ぶことができる。IはビューIを表し、0から(N-1)である。任意の適切な数のビューをビットストリーム(1200)に含めることができる。Jは時間インスタンスJを表し、0からMである。任意の適切な数のピクチャをビットストリーム(1200)のビューに含めることができる。例えば、ピクチャP32はビュー3のT2におけるピクチャを指す。一例では、時間インスタンスT0-TMはデコーディング順を示す。例えば、ピクチャPI(J-1)(例えば、P31)は、画像PIJ(例えば、P32)をデコーディングする前にデコーディングされる。
一例では、ビューのピクチャがカメラによって取得される。別のビューのピクチャが別のカメラによって取得される。例えば、N個のカメラを使用してビュー0-(N-1)のピクチャを取得できる。図9A-9Bに示されているマルチカメラシステムは、ビュー0-(N-1)のピクチャを取得するために使用できる。
1つのビュー(例えば、ビュー0)のピクチャは、別のビュー(例えば、ビュー1)のピクチャとは独立してコーディングできる。各ビューのピクチャ(例えば、P00-P0M)は、特徴ベースのコーディングプロセス(1100A)又は(1100B)に基づいてコーディング(例えば、エンコーディング及び/又はデコーディング)できる。
前述のように、より効率的なビデオ/画像コーディングのために、異なるビューにわたるインタービュー依存関係を調べることができる。インタービュー依存関係は、異なるビューのキーピクチャの特徴情報を決定するために使用できる。インタービュー依存関係は、異なるビューのキーピクチャの特徴情報に基づいて非キーピクチャをコーディングするために使用できる。インタービュー依存関係は、第1のビュー(例えばビュー1)の非キーピクチャを、第2のビュー(例えばビュー1)の別のピクチャに基づいてコーディングするために使用でき、第1のビューは第2のビューとは異なる。
本開示の一実施形態によれば、3次元(3D)特徴情報は、異なるビューのピクチャに基づいて決定することができる。特徴/キーポイントを示す特徴情報は、例えば、異なる角度からの、複数のビューのキーピクチャに基づいて抽出することができる。一例では、現在特徴モデル(例えば、複数のビューに基づく3D特徴モデル)は、特徴情報に基づいて決定される(例えば、確立される)。同じ3D特徴モデルを使用して、異なるビューからピクチャをレンダリングできる。
図13は、本開示の実施形態に従って特徴情報を決定するために使用できるビットストリーム(1200)内の異なるビューの例示的なキーピクチャを示す。図13のビットストリーム(1200)、ピクチャP00-P(N-1)M、ビュー0-(N-1)、及び時間インスタンスT0-TMは、図12に記述されている。
一実施形態では、時間インスタンス(例えば、T0)における異なるビューに対応する異なるピクチャを使用して、3D特徴情報又は現在3D特徴モデルを決定する。現在3D特徴モデルを使用して、ビットストリーム(1200)内の異なるビューからのピクチャをエンコーディング及び/又はデコーディングできる。キーピクチャのコンテンツ(例えば、人間の顔)に固有である3D特徴情報(又は3D特徴モデル)は、所定の3D特徴モデル(例えば、標準的な3D特徴モデル又は汎用的な3D特徴モデル)とキーピクチャに基づいて決定できる。一例では、所定の3D特徴モデルをキーピクチャに適合させて、3D特徴情報(又は3D特徴モデル)を生成する。
一例では、T0におけるピクチャP00-P(N-1)0の全体セット(1302)を使用して、3D特徴情報又は現在3D特徴モデルを決定する。例えば、デコーディングされたビューのすべて(例えば、ビュー0-(N-1))に対応するキーピクチャを使用して、現在3D特徴モデルを生成する。全体セット(1302)に基づいて生成された3D特徴情報又は現在3D特徴モデルは、統合3D特徴情報又は現在統合3D特徴モデルと呼ぶことができる。統合3D特徴情報又は現在統合3D特徴モデルを使用して、特定のビュー(ビュー3など、ビュー0-(N-1)の1つ)及び特定の時間インスタンス(T2などの時間インスタンスT0-TMの1つ)におけるピクチャ(例えば、P32のような非キーピクチャ)をコーディング(エンコーディング、デコーディング、又は生成)できる。
図13を参照すると、T 0におけるピクチャP00-P(N-1)0のサブセット(1301)を使用して、3D特徴情報又は現在3D特徴モデルを決定する。一例では、サブセット(1301)は、T0におけるビュー0-2のピクチャP00、P10、P20をそれぞれ含む。サブセット(1301)に基づいて生成された3D特徴情報又は現在3D特徴モデルは、特定のビュー(ビュー3など、ビュー0-(N-1)の1つ)及び特定の時間インスタンス(T2などの時間インスタンスT0-TMの1つ)におけるピクチャ(例えば、P32などの非キーピクチャ)をコーディング(例えば、エンコーディング、デコーディング、又は生成)するために使用できる、統合3D特徴情報又は現在統合3D特徴モデルと呼ぶことができる。
図14は、本開示の一実施形態による、3D特徴情報のピース(pieces)を決定するために使用できるビットストリーム(1200)内の異なるビューのキーピクチャの例示的サブセットを示している。ビットストリーム(1200)内のピクチャ(例えば、非キーピクチャ)は、決定された複数の3D特徴情報又は対応する異なる現在3D特徴モデルに基づいて決定することができる。図14のビットストリーム(1200)、ピクチャP00-P(N-1)M、ビュー0-(N-1)、及び時間インスタンスT0-TMは、図12に記述されている。
時間インスタンスにおける第1のビュー(例えば、ビュー0-2)のピクチャ(例えば、T0におけるP00-P(N-1)0)の第1のサブセット(例えば、サブセット(1401))を使用して、第1の3D特徴情報又は第1の現在3D特徴モデルを決定できる。一例では、第1のサブセット(1401)は、T0におけるビュー0-2のピクチャP00、P10、及びP20をそれぞれ含む。第1の3D特徴情報又は第1の現在3D特徴モデルを使用して、第1のビューの1つ(ビュー0など、ビュー0-2の1つ)の且つ特定の時間インスタンス(T2などの時間インスタンスT0-TMの1つ)におけるピクチャ(例えば、P02などの非キーピクチャ)をコーディング(例えば、エンコーディング、デコーディング、又は生成)できる。
時間インスタンスにおけるピクチャ(例えば、T0におけるP00-P(N-1)0)の第2のサブセット(2103)を使用して、第2の3D特徴情報又は第2の現在3D特徴モデルを決定できる。一例では、第2のサブセット(2103)は、T0におけるビュー2-4のピクチャP20、P30、及びP40をそれぞれ含む。第2の3D特徴情報又は第2の現在3D特徴モデルを使用して、第2のビューの1つ(ビュー3など、ビュー2-4の1つ)且つ特定の時間インスタンス(T2などの時間インスタンスT0-TMの1つ)におけるピクチャ(例えば、P32のような非キーピクチャ)をコーディング(例えば、エンコーディング、デコーディング、又は生成)できる。
図13-14の参照に戻ると、3D特徴情報の特徴変化(例えば、2つの隣接するピクチャに対応する2つの隣接する特徴情報間の3D変化又は3D変形によって得られる)をシグナリングできる。特徴変化はビットストリーム(1200)でデコーダに送信できる。デコーダ側では、それぞれの3D特徴情報又はそれぞれの3D特徴モデル(例えば、図13の統合3D特徴情報又は現在統合3D特徴モデル、図14の異なる3D特徴情報又は異なる3D特徴モデル)を、シグナリングされる特徴変化に異なるビュー角度で適用し、特定のビューの再構成されたピクチャをレンダリングできる。
本開示の一実施形態によれば、個々の特徴情報(又は特徴モデル)を、複数のビューのそれぞれのキーピクチャに基づいて、各ビュー又はビューのサブセットに対して決定(例えば、構築)できる。各ビューは、ビューのそれぞれの特徴及び/又はキーポイントを示すそれぞれの特徴情報に関連付けられ得る。一例では、特定のビュー及び特定の時間インスタンスにおける個々の特徴情報(又は特徴モデル)が、複数のビュー(例えば、複数の隣接するビュー)のキーピクチャを入力として生成される。
図15は、本開示の一実施形態による特徴情報のピースを決定するために使用することができるビットストリーム(1200)における異なるビューのキーピクチャの例示的なサブセットを示す。図15のビットストリーム(1200)、ピクチャP00-P(N-1)M、ビュー0-(N-1)、及び時間インスタンスT0-TMは図12に記述されている。
時間インスタンスにおける第1のビュー(例えば、ビュー0-2)のセットのピクチャ(例えば、T0におけるP00-P(N-1)0)の第1のサブセット(例えば、サブセット(1501))を使用して、第1のビューのセット内の第1のビュー(例えば、ビュー0)の第1の特徴情報又は第1の現在特徴モデルを決定できる。一例では、第1のサブセット(1501)は、T0におけるビュー0-2にそれぞれ対応するピクチャP00、P10、及びP20を含む。第1の特徴情報又は第1の現在特徴モデルを使用して、第1のビュー(例えば、ビュー0)且つ特定の時間インスタンス(T2などの時間インスタンスT0-TMの1つ)におけるピクチャ(例えば、P02のような非キーピクチャ)をコーディング(エンコーディング、デコーディング、又は生成)できる。一例では、第1の特徴情報又は第1の現在特徴モデルは、第1の3D特徴情報又は第1の現在3D特徴モデルである。一例では、第1の特徴情報又は第1の現在特徴モデルは、第1の2D特徴情報又は第1の現在2D特徴モデルである。
同じインスタンスにおける第2のビュー(例えば、ビュー1-3)のセットのピクチャ(例えば、T0におけるP00-P(N-1)0)の第2のサブセット(例えば、サブセット(1502))を使用して、第2のビューのセット内の第2のビュー(例えば、ビュー1)についての第2の特徴情報又は第2の現在特徴モデルを決定できる。一例では、第2のサブセット(1502)は、T0におけるビュー1-3にそれぞれ対応するピクチャP10、P20、及びP30を含む。第2の特徴情報又は第2の現在特徴モデルを使用して、第2のビュー(例えば、ビュー1)且つ特定の時間インスタンス(T2などの時間インスタンスT0-TMの1つ)におけるピクチャ(例えば、P12のような非キーピクチャ)をコーディング(エンコーディング、デコーディング、又は生成)できる。
一例では、同じ時間インスタンスにおける第3のビューのセット(例えば、ビュー2-4)のピクチャ(例えば、T0におけるP00-P(N-1)0)の第3のサブセット(例えば、サブセット(1503))を使用して、第3のビューのセット内の第3のビュー(例えば、ビュー2)についての第3の特徴情報又は第3の現在特徴モデルを決定できる。一例では、第3のサブセット(1503)は、T0におけるビュー2-4にそれぞれ対応するピクチャP20、P30、及びP40を含む。第3の特徴情報又は第3の現在特徴モデルは、第3のビュー(例えば、ビュー2)且つ特定の時間インスタンス(T2などの時間インスタンスT0-TMの1つ)におけるピクチャ(例えば、P22のような非キーピクチャ)をコーディング(エンコーディング、デコーディング、又は生成)するために使用できる。
図16は、本開示の一実施形態による特徴ベースのマルチビューコーディングにおける例示的なコーディング方法(1600)を示している。図16のビットストリーム(1200)のピクチャP00-P(N-1)M、ビュー0-(N-1)、及び時間インスタンスT0-TMは図12に記述されている。
ビットストリーム(1200)内のシーケンス全体の第1の時間インスタンス(例えば、T 0)など、時間インスタンスにおける異なるビューにわたるピクチャは、前述のようにキーピクチャとしてコーディングできる。デコーダ側では、時間インスタンス(例えば、T0などの第1の時間インスタンス)における異なるビュー(例えば、ビュー0-(N-1))のそれぞれの再構成されたキーピクチャを、後で同じビューであるが異なる時間インスタンスにおけるピクチャ(えば、非キーピクチャ)の特徴ベースのレンダリング及び/又は再構成のためのキーピクチャとして使用できる。
例えば、P00-P(N-1)0を含むT0におけるピクチャのセット全体(1302)がキーピクチャである。T0におけるキーピクチャP 00-P(N-1)0は、例えば、前述のビデオ/画像コーディング技術(例えば、HEVC及び/又はVVCの画像/ビデオコーディング技術)(例えば、イントラ(ピクチャ)及び/又は時間インター (ピクチャ)予測)などのモノスコピックビデオ用の方法を使用してコーディング(例えば、エンコード及び/又はデコーディング)できる。エンコーディングされたキーピクチャP00-P(N-1)0はデコーダ側に送信できる。デコーダ側では、T0における第1のビュー(例えば、ビュー2)の再構成されたキーピクチャ(例えば、P20)を、後にキーピクチャとして使用して、第1のビュー(例えば、ビュー2)であるがそれぞれ異なる時間インスタンス(例えば、T1-TM)におけるピクチャ(例えば、非キーピクチャP20-P2M)を、特徴ベースのレンダリング及び/又は再構成プロセスでデコーディングできる。
図13-15における1つ以上の実施形態は、図16における実施形態と組み合わせることができる。図16を参照すると、キーピクチャは、第1の時間インスタンス(例えば、T0)におけるすべてのピクチャを含むことができる。図13-15を参照すると、特徴情報又は特徴モデルを、第1の時間インスタンス(例えば、T0)におけるすべてのピクチャのサブセット(例えば、(1301)、(1401)、(1501))又は全体セット(例えば、(1302))に基づいて、決定できる。特徴情報又は特徴モデルは、ビットストリーム(1200)内のすべての非キーピクチャに適用可能な図13の統合3D特徴情報又は統合3D特徴モデル、ビットストリーム(1200)内のそれぞれのビューの非キーピクチャのサブセットに適用可能な図14の3D特徴情報の複数のピースの1つ又は異なる現在3D特徴モデルの1つ、又は、ビットストリーム(1200)内のそれぞれのビューの非キーピクチャのサブセットに適用可能な図15の個々の特徴情報又は個々の特徴モデルであることができる。
図16を参照すると、第1のビュー(例えば、ビュー2)のピクチャ(例えば、非キーピクチャP22)の特徴変化は、第1のビューの非キーピクチャP22と第1の時間インスタンスにおけるキーピクチャ(例えば、P20)に基づいて生成され得る。一例では、第1のビューの非キーピクチャP22の特徴変化は、第1のビューの非キーピクチャP22と第1の時間インスタンスにおける第1のビューのキーピクチャ(例えば、P20)に基づいて生成され、特徴変化は時間領域(例えば、T0からT2)での同じビュー(例えば、第1のビュー)の特徴変化を示す。第1の時間インスタンスにおけるすべてのビューの特徴変化とキーピクチャ(P20を含む)をエンコーディングできる。デコーダ側では、非キーピクチャP22を、デコーディングされた特徴変化とデコーディングされたキーピクチャP20に基づいて、デコーディングできる。一例では、特徴情報又は特徴モデルは、それぞれのデコーディングされたキーピクチャ(例えば、サブセット(1301)、サブセット(1401)、サブセット(1501)など)からエンコーダ側と同じ方法を使用して、デコーダ側で取得できる。非キーピクチャP22は、特徴変化、特徴情報又は特徴モデル、及びデコーディングされたキーピクチャP20に基づいてデコーディングできる。
図17は、本開示の一実施形態による特徴ベースのマルチビューコーディングにおける例示的なコーディング方法(1700)を示している。図17のビットストリーム(1200)のピクチャP00-P(N-1)M、ビュー0-(N-1)、及び時間インスタンスT0-TMは、図12に記述されている。
異なる時間インスタンス(例えば、T0-TM)にわたる第1のビュー(例えば、ビュー0)のピクチャは、前述のようにキーピクチャとしてコーディングできる。一例では、キーピクチャは第1のビューのすべてのピクチャ(例えば、P00-P0M)を含む。デコーダ側では、第1のビューの異なる時間インスタンス(例えば、T0-TM)のそれぞれにおける再構成されたキーピクチャを、後で、同じ時間インスタンスではあるが異なるビューのピクチャ(例えば、非キーピクチャ)の特徴ベースのレンダリング及び/又は再構成のためのキーピクチャとして使用できる。
例えば、P00-P0Mを含む第1のビュー(例えば、ビュー0)のピクチャの全体セット(1701)がキーピクチャである。ビュー0のキーピクチャP00-P0Mは、例えば、前述のビデオ/画像コーディング技術(例えば、HEVC及び/又はVVCの画像/ビデオコーディング技術) (例えば、イントラ(ピクチャ)及び/又は時間インター(ピクチャ)予測)のようなモノスコピックビデオの方法を使用してコーディング(例えば、エンコード及び/又はデコーディング)できる。エンコーディングされたキーピクチャP00-P0Mをデコーダ側に送信することができる。デコーダ側では、ビュー0の時間インスタンス(例えば、T1)の再構成されたキーピクチャ(例えば、P01)を後でキーピクチャとして使用して、特徴ベースのレンダリング及び/又は再構成プロセスで、それぞれ時間インスタンス(例えば、T1)であるが異なるビュー(例えば、ビュー1- (N-1))のピクチャ(例えば、非キーピクチャP11-P(N-1)1)をデコーディングできる。
図17の例では、同じ時間インスタンス(例えば、T1)における第1のビュー(例えば、ビュー0)のキーピクチャ(例えば、P01)に対する第2のビュー(例えば、ビュー2)の非キーピクチャ(例えば、P21)の特徴変化は、同じ時間インスタンス(例えば、T1)における第2のビュー(例えば、ビュー2)の非キーピクチャ(例えば、P21)と第1のビュー(例えば、ビュー0)のキーピクチャ(例えば、P01)に基づいて決定される。特徴変化は、ビューに対する(例えば、第1のビューから第2のビューへの)同じ時間インスタンスにおける特徴変化を示す。特徴変化はエンコーディングされ、デコーダ側に送信できる。デコーダ側では、非キーピクチャ(例えば、P21)を、ビューに対する(例えば、第1のビューから第2のビューへの) デコーディングされた特徴変化と同じ時間インスタンスにおけるキーピクチャ(例えば、P01)に基づいて、生成できる。
一例では、第1のビュー(例えば、ビュー0)の1つ以上のキーピクチャ(例えば、P01を含む)の特徴情報は、エンコーダ側及び/又はデコーダ側で第1のビューの1つ以上のキーピクチャ(例えば、P01を含む)から抽出される。デコーダ側では、非キーピクチャ(例えば、P21)を、ビューに対する(例えば、第1のビューから第2のビューへの)デコーディングされた特徴変化、同じ時間インスタンスにおけるキーピクチャ(例えば、P01)、及び第1ビュー(例えば、ビュー0)の1つ以上のキーピクチャ(例えば、P01を含む)の特徴情報に基づいて、生成できる。
コーディング方法(1600)及び(1700)を特徴ベースのマルチビューコーディングアーキテクチャと呼ぶことができる。一例では、2つの特徴ベースのマルチビューコーディング方法(1600)及び(1700)を組み合わせることができる。キーピクチャは、(i)ビューの異なる時間インスタンスにおけるピクチャと(i)時間インスタンスにおける異なるビューのピクチャの組み合わせを含むことができる。例えば、キーピクチャは、(i)ビューの異なる時間インスタンスにおけるすべてのピクチャと(i)時間インスタンスにおける異なるビューのすべてのピクチャの組み合わせを含む。
図18は、本開示の一実施形態による特徴ベースのマルチビューコーディングにおける例示的なコーディング方法(1800)を示している。図18のビットストリーム(1200)のピクチャP00-P(N-1)M、ビュー0-(N-1)、及び時間インスタンスT0-TMは図12に記述されている。
異なる時間インスタンス(例えば、T0-TM)にわたる第1のビュー(例えば、ビュー0)のピクチャは、前述のようにキーピクチャとしてコーディングできる。ビットストリーム(1200)内のシーケンス全体の第1の時間インスタンス(例えば、T0)など、時間インスタンスにおける異なるビューにわたるピクチャは、キーピクチャとしてコーディングできる。一例では、キーピクチャは、(i) 第1のビューのすべてのピクチャ(例えば、P00-P0M)を含む第1のセットと、(ii) 第1の時間インスタンス(例えば、T0)におけるすべてのビュー(例えば、ビュー0-(N-1))のすべてのピクチャ(例えば、P 00-P(N-1)0)を含む第2のセットを含む。P00は第1のセットと第2のセットで共有されるため、キーピクチャはP00-P0MとP10-P(N-1)0を含む。キーピクチャP00-P0MとP10-P(N-1)0は、例えば、前述のビデオ/画像コーディング技術(例えば、HEVC及び/又はVVCの画像/ビデオコーディング技術) (例えば、イントラ(ピクチャ)及び/又は時間インター(ピクチャ)予測)などのモノスコピックビデオのための方法を使用してコーディング(例えば、エンコード及び/又はデコーディング)することができる。コーディングされたキーピクチャP00-P0MとP10-P(N-1)0は、デコーダ側に送信することができる。
デコーダ側では、第2のビュー(例えば、ビュー2)の第2の時間インスタンス(例えば、T2)のピクチャ(例えば、非キーピクチャP22)を、(i)第2の時間インスタンスにおける第1のセット(例えば、P00-P0M)の第1の再構成されたキーピクチャ(例えば、P02)と、(ii)第2のビュー(例えば、ビュー2)のものである第2のセット(例えば、P00-P(N-1)0)の第2の再構成されたキーピクチャ(例えば、P20)に基づいて再構成することができる。
異なるビューは、送信又は配信のために、異なる優先順位を割り当てられることができる。いくつかの例では、例えば、帯域幅が制限されている場合、特定のビュー(例えば、他のビューより優先順位の低いビュー)が破棄されることがある。
異なる時間インスタンスの複数の特徴情報の複数のピース及び/又は関連する特徴変化は、それぞれのビューに関連付けられる場合、関連付けられたビューと同じ優先順位を持つことができる。一例では、ビューのピクチャ(複数可)の特徴情報など、ビュー(例えば、ビュー0)の特徴情報は、ビュー(例えば、ビュー0)と同じ送信の優先順位を割り当てられることができる。図12を参照すると、P00-P0Mの1つ以上のピクチャなど、第1のビュー(例えば、ビュー0)の1つ以上のピクチャに関連付けられる特徴情報の第1のピース(複数可)及び/又は第1の特徴変化は、第1のビュー(例えば、ビュー0)として第1の優先順位を持つことができる。P10-P1Mの1つ以上のピクチャなど、第2のビュー(例えば、ビュー1)の1つ以上のピクチャに関連付けられる特徴情報の第2のピース(複数可)及び/又は第2の特徴変化(複数可)は、第2のビュー(例えば、ビュー1)として第2の優先順位を持つことができる。
共通の特徴情報は、複数のビュー(例えば、第1のビュー(例えば、ビュー0)と第2のビュー(例えば、ビュー1))によって共有することができる。例えば、第1のビューの特徴情報の第1のピースと第2のビューの特徴情報の第2のピースの両方は、目、鼻、及び口を示す。特徴情報の第1のピースは左耳を示し、特徴情報の第2のピースは右耳を示す。第1のビューと第2のビューによって共有される共通の特徴情報は、目、鼻、及び口の特徴及び/又はキーポイントを示す。非共通の特徴情報は、左右の耳の特徴及び/又はキーポイントを示す。本開示の一実施形態によれば、複数のビュー(例えば、第1のビューと第2のビュー)によって共有される共通の特徴情報(例えば、目、鼻、及び口)は、同じビューに関連付けられた非共通の特徴情報の優先順位よりも高い優先順位を持つことができる。
統合特徴情報又は統合特徴モデルが、すべてのビューの特徴及び/又はキーポイントを記述するために使用される場合、異なる時間インスタンスにおける統合特徴情報又は統合特徴モデルは、最高の優先順位を持つことができ、デコーダに送信されることになる。一例では、異なる時間インスタンスにおける統合特徴情報又は統合特徴モデルは破棄されない。
ビューの優先順位は、別の優先順位のセットであり得、例えば、ビューの優先順位は、ビデオビットストリームの時間レイヤーに設定されている優先順位とは異なる。
図19は、本開示の実施形態による、異なる時間インスタンスにおける、異なるビューに対応するピクチャの例を示している。時間インスタンスはT0-T11で示される。ビューはS0-S7で示される。ピクチャのパターンは、例えば8の周期を持つ、時間軸に沿って繰り返すことができる。T8からT11までのピクチャのパターンは、T0からT3までのピクチャのパターンを繰り返す。I0で示されるピクチャは、別のピクチャを参照せずに独立してコーディングできる。P0で示されるピクチャは、ピクチャI0などの別のピクチャに基づいてコーディングできる。B1、B2、及びB3で示されるピクチャは、2つの別のピクチャに基づいてコーディングできる。一例では、B1はI0(複数可)及び/又はP0(複数可)に基づいて予測される。一例では、B2はI0(複数可)、P0(複数可)、及びB1(複数可)に基づいて予測される。一例では、B3はI0(複数可)、P0(複数可)、B1(複数可)、及びB2(複数可)に基づいて予測される。一例では、B4はB1(複数可)、B2(複数可)、及びB3(複数可)を含む4つの他のピクチャに基づいて予測される。
特定の時間インスタンス(例えば、T0)におけるビューの優先順位は降順で次のようになることができる:ビューS0の優先順位、ビューS2の優先順位、ビューS4の優先順位、ビューS6の優先順位、ビューS7の優先順位、並びにビューS1、S3、及びS5の優先順位。一例では、ビューS1、S3、及びS5の優先順位は同じである。別の時間インスタンス(例えば、T1)におけるビューの優先順位は、前述の時間インスタンスT0のものと同じであり得る。
特定のビュー(例えば、S0)についての時間レイヤー(例えば、T0-T7)の優先順位は、降順で次のようになる:時間レイヤーT0の優先順位、時間レイヤーT4の優先順位、時間レイヤーT2及びT6の優先順位、ならびに時間レイヤーT1-T3、T 5、及びT7の優先順位。一例では、時間レイヤーT2とT6の優先順位は同じである。一例では、時間レイヤーT1-T3、T5、及びT7の優先順位は同じである。別のビュー(例えば、S1)の時間レイヤーの優先順位は、前述のビューS0のものと同じであり得る。
ビューの優先順位は、ビデオビットストリームの時間レイヤーのために設定されている優先順位を再利用する場合がある。
図20は、本開示の実施形態によるエンコーディングプロセス(2000)の概要を示すフローチャートを示す。様々な実施形態において、プロセス(2000)は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダ(例えば、(403)、(603)、(703))の機能を実行する処理回路等のような処理回路によって実行される。いくつかの実施形態では、プロセス(2000)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(2000)を実行する。プロセスは(S2001)において始まり、(S2010)に進む。
(S2010)において、図13-15に記載されているように、ピクチャの少なくとも1つの第1のキーピクチャ内のコンテンツの第1の特徴情報又は第1の現在特徴モデルを決定することができる。ピクチャは異なるビュー(例えば、ビュー0-(N-1))に対応し、少なくとも1つの第1のキーピクチャは異なるビューの少なくとも1つの第1のビューに対応する。
(S2020)において、第1の特徴情報に対する第1の特徴変化を決定することができる。第1の特徴変化は、上記のように、少なくとも1つの第1のキーピクチャ内のキーピクチャと第1のピクチャとの間のコンテンツ変化を示すことができる(例えば、図11B、16、及び17)。
(S2030)において、第1の特徴変化と少なくとも1つの第1のキーピクチャをエンコーディングできる。一例では、第1の特徴変化と少なくとも1つの第1のキーピクチャは、図11B、16、及び17で説明されているように、マルチビュービットストリームに含まれる。
プロセス(2000)は(S1399)に進み、終了する。
プロセス(2000)は様々なシナリオに適切に適応させることができ、プロセス(2000)内のステップはそれに従って調整できる。プロセス(2000)内のステップの1つ以上は、適応、省略、反復及び/又は組み合わせが可能である。プロセス(2000)を実施するために、いずれか適切な順序が使用できる。更なるステップ(複数可)が追加できる。
図21は、本開示の実施形態によるデコーディングプロセス(2100)の概要を示すフローチャートを示す。様々な実施形態において、プロセス(2100)は、端末デバイス(310)、(320)、(330)及び(340)内の処理回路、ビデオエンコーダ(403)の機能を実行する処理回路、ビデオデコーダ(410)の機能を実行する処理回路、ビデオデコーダ(510)の機能を実行する処理回路、ビデオエンコーダ(603)の機能を実行する処理回路等のような処理回路によって実行される。いくつかの実施形態では、プロセス(2100)はソフトウェア命令で実装され、したがって、処理回路がソフトウェア命令を実行すると、処理回路はプロセス(2100)を実行する。プロセスは(S2101)において始まり、(S2110)に進む。
(S2110)において、マルチビュービットストリームからのピクチャの少なくとも1つの第1のキーピクチャをデコーディングできる。ピクチャは異なるビューに対応できる。少なくとも1つの第1のキーピクチャは、異なるビューの少なくとも1つの第1のビューに対応できる。
(S2120)において、図13-15に説明されているように、ピクチャの少なくとも1つの第1のキーピクチャ内のコンテンツの第1の特徴情報又は第1の現在特徴モデルを決定できる。
一例では、少なくとも1つの第1のキーピクチャが第1の時間インスタンスに対応する。少なくとも1つの第1のキーピクチャは、複数の第1のキーピクチャを含む。異なるビューの少なくとも1つの第1のビューは、複数の第1のビューを含む。第1の特徴情報は、図13-14で説明されているように、第1の3D特徴情報、又は複数の第1のビューによって示される第1の3D現在特徴モデルを含む。
一例では、第1の時間インスタンスにおける第1の3D特徴情報は、第1に所定の3D特徴モデルと複数の第1のキーピクチャに基づいて決定される。
第1の3D特徴を、異なるビューの各ビューのピクチャをデコーディングするために使用できる。
複数の第1のキーピクチャは、第1の時間インスタンスにおける各キーピクチャを含む。図13を参照すると、少なくとも1つの第1のキーピクチャはP00-P(N-1)0を含む。
一例では、第1のピクチャは第2の時間インスタンスにおける異なるビューのものである。
一例では、第1の時間インスタンスにおけるピクチャの複数の第2のキーピクチャのコンテンツの第2の3D特徴情報は、図14で説明されているように、第2の所定の3D特徴モデルに基づいて決定される。複数の第2のキーピクチャは、異なるビューの複数の第2のビューの第1の時間インスタンスに対応する。
(S2130)において、マルチビュービットストリームに基づいて、第1の特徴情報に対する第1の特徴変化をデコーディングすることができる。第1の特徴変化は、少なくとも1つの第1のキーピクチャ内のキーピクチャと第1のピクチャとの間のコンテンツ変化を示すことができる。
(S2140)において、第1のピクチャを、デコーディングされた第1の特徴変化、第1の特徴情報、及び少なくとも1つの第1のキーピクチャ内のキーピクチャに基づいて再構成することができる
プロセス(2100)は(S 2199)に進み、終了する。
プロセス(2100)は、様々なシナリオに適切に適応でき、プロセス(2100)内のステップはそれに従って調整できる。プロセス(2100)内のステップの1つ以上は、適応、省略、反復及び/又は組み合わせが可能である。プロセス(2100)を実施するために、いずれか適切な順序が使用できる。更なるステップが追加できる。
一実施形態では、第1の特徴情報は、図15で説明されているように、少なくとも1つの第1のビューの第1のビューに関連付けられる。第1のビューではない異なるビューの各ビューについて、それぞれの特徴情報は、ビューのキーピクチャと、異なるビューの隣接するビューの別のキーピクチャに基づいて決定できる。マルチビュービットストリームに基づいて、それぞれの特徴情報に対する特徴変化をデコーディングでき、特徴変化はビューのそれぞれのピクチャに対応する。ビューのピクチャは、それぞれの特徴変化、それぞれの特徴情報、及びビューのキーピクチャに基づいて生成できる。
それぞれの時間インスタンスに対応する少なくとも1つの第1のビューの第1のビューのピクチャのサブセットをデコーディングすることができ、第1のビューのピクチャのサブセットは少なくとも1つの第1のキーピクチャのキーピクチャを含む。第1のピクチャは、異なるビューの第2のビューのものである。第1のピクチャと少なくとも1つの第1のキーピクチャのキーピクチャは、第1の時間インスタンスに対応する。第1の特徴変化は、第1の時間インスタンスにおける第2のビューの第1のピクチャと第1の時間インスタンスにおける第1のビューのキーピクチャとの間の特徴変化を示す。
一例では、少なくとも1つの第1のビューの第1のビューの各ピクチャは、キーピクチャとしてデコーディングでき、第1のビューの各ピクチャはそれぞれの時間インスタンスに対応する。
本開示における実施形態は、複数のビューを持つビデオシーケンス又は複数のビューを持つ静止ピクチャに適用できる。用途は、VR 360、フリービューシステム、ライトフィールドビデオなどが含まれるが、これらに限定されない。
本開示における実施形態は、個別に使用されてもよく、或いは、任意の順序で組み合わされてもよい。さらに、方法(又は実施形態)、エンコーダ及びデコーダのそれぞれは、処理回路(例えば、1つ以上のプロセッサ又は1つ以上の集積回路)によって実装されてもよい。一例では、1つ以上のプロセッサは、非一時的なコンピュータ読み取り可能媒体に記憶されたプログラムを実行する。
上述の技術は、コンピュータ読み取り可能な命令を用いてコンピュータソフトウェアとして実装することができ、1つ以上のコンピュータ読み取り可能な媒体に物理的に記憶されることができる。例えば、図22は、開示された主題の特定の実施形態を実施するのに好適なコンピュータシステム(2200)を示す。
コンピュータソフトウェアは、任意の好適な機械コード又はコンピュータ言語を用いてコーディングされることができ、アセンブリ、コンパイル、リンク、又は同様の機構の対象とされて、1つ以上のコンピュータ中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)等によって、直接的に、又はインタープリット、マイクロコード実行等を通じて実行可能な命令を含むコードを作成することができる。
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲームデバイス、モノのインターネットデバイス等を含む様々なタイプのコンピュータ又はそのコンポーネント上で実行されることができる。
コンピュータシステム(2200)について図22に示されるコンポーネントは、例としての性質であり、本開示の実施形態を実装するコンピュータソフトウェアの使用又は機能の範囲に関する制限を示唆することを意図したものではない。コンポーネントの構成も、コンピュータシステム(2200)の例示的実施形態において示されているコンポーネントの任意の1つ又は組み合わせに関する何らかの依存性又は要件を有するものとして解釈されるべきではない。
コンピュータシステム(2200)は、特定のヒューマンインターフェース入力デバイスを含むことができる。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力(例えば、キーストローク、スワイプ、データグローブの動き)、音声入力(例えば、声、拍手)、視覚入力(例えば、ジェスチャー)、嗅覚入力(図示せず)を通じた一又は複数の人間ユーザーによる入力に応答することができる。また、ヒューマンインターフェースデバイスは、音声(例えば、発話、音楽、周囲の音)、画像(例えば、スキャンされた画像、スチール画像カメラから得られるピクチャ画像)、ビデオ(例えば、2次元ビデオ、立体視ビデオを含む3次元ビデオ)のような、人間による意識的入力に必ずしも直接関係しない特定のメディアをキャプチャするために使用できる。
入力ヒューマンインターフェースデバイスは、キーボード(2201)、マウス(2202)、トラックパッド(2203)、タッチスクリーン(2210)、データグローブ(図示せず)、ジョイスティック(2205)、マイクロフォン(2206)、スキャナ(2207)、カメラ(2208)の1つ以上(それぞれの一つしか図示していない)を含んでいてもよい。
コンピュータシステム(2200)はまた、特定のヒューマンインターフェース出力デバイスを含んでいてもよい。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、及び臭い/味を通じて、一又は複数の人間ユーザーの感覚を刺激するものであってもよい。そのようなヒューマンインターフェース出力デバイスは、触覚出力デバイス(例えば、タッチスクリーン(2210)、データグローブ(図示せず)、又はジョイスティック(2205)による触覚フィードバック;ただし、入力デバイスのはたらきをしない触覚フィードバックデバイスもあり得る)、音声出力デバイス(例えば、スピーカー(2209)、ヘッドフォン(図示せず))、視覚出力デバイス(例えば、CRT画面、LCD画面、プラズマスクリーン、OLED画面を含む画面(2210);それぞれはタッチスクリーン入力機能があってもなくてもよく、それぞれは触覚フィードバック機能があってもなくてもよく、そのうちのいくつかは、2次元の視覚出力又は立体視出力のような手段を通じた3次元より高い出力を出力することができる;仮想現実感眼鏡(図示せず)、ホログラフィーディスプレイ及び煙タンク(図示せず))、及びプリンタ(図示せず)を含んでいてもよい。
コンピュータシステム(2200)はまた、人間がアクセス可能な記憶デバイス及び関連する媒体、例えば、CD/DVD又は類似の媒体(2221)とともにCD/DVD ROM/RW(2220)を含む光学式媒体、サムドライブ(2222)、取り外し可能なハードドライブ又はソリッドステートドライブ(2223)、テープ及びフロッピー(登録商標)ディスクといったレガシー磁気媒体(図示せず)、セキュリティドングルのような特化したROM/ASIC/PLDベースのデバイス(図示せず)等を含むことができる。
当業者はまた、現在開示されている主題に関連して使用される用語「コンピュータ読み取り可能媒体」は、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解すべきである。
コンピュータシステム(2200)はまた、1つ以上の通信ネットワーク(2255)へのインターフェース(2254)を含むことができる。ネットワークは、例えば、無線、有線、光学式であり得る。ネットワークは、さらに、ローカル、広域、都市圏、車載及び工業用、リアルタイム、遅延耐性等であり得る。ネットワークの例は、イーサネット〔登録商標〕、無線LAN、GSM、3G、4G、5G、LTE等を含むセルラーネットワーク、ケーブルテレビ、衛星テレビ、地上放送テレビを含むTV有線又は無線の広域デジタルネットワーク、CANBusを含む車載及び工業用等を含む。特定のネットワークは、普通、特定の汎用データポート又は周辺バス(2249)(例えば、コンピュータシステム(2200)のUSBポート等)に取り付けられる外部ネットワークインターフェースアダプターを必要とする。他は、普通、後述するようなシステムバスへの取り付けによって、コンピュータシステム(2200)のコアに統合される(例えば、PCコンピュータシステムへのイーサネットインターフェース又はスマートフォンコンピュータシステムへのセルラーネットワークインターフェース)。これらのネットワークのいずれかを使用して、コンピュータシステム(2200)は、他のエンティティと通信することができる。そのような通信は、一方向性、受信のみ(例えば、放送テレビ)、一方向性送信専用(例えば、特定のCANbusデバイスへのCANbus)、又は、例えば、ローカル又は広域デジタルネットワークを使用する他のコンピュータシステムへの双方向性であってもよい。上述のようなそれらのネットワーク及びネットワークインターフェースのそれぞれで、特定のプロトコル及びプロトコルスタックが使用できる。
前述のヒューマンインターフェースデバイス、人間がアクセス可能な記憶デバイス、及びネットワークインターフェースは、コンピュータシステム(2200)のコア(2240)に取り付けることができる。
コア(2240)は、1つ以上の中央処理装置(CPU)(2241)、グラフィックス処理装置(GPU)(2242)、フィールドプログラマブルゲートアレイ(FPGA)(2243)の形の特化したプログラマブル処理装置、特定のタスクのためのハードウェアアクセラレータ(2244)、グラフィックアダプタ(2250)等を含むことができる。これらの装置は、読み取り専用メモリ(ROM)(2245)、ランダムアクセスメモリ(2246)、内部のユーザアクセス可能でないハードドライブ、ソリッドステートドライブ(SSD)等の内部大容量記憶デバイス(2247)とともに、システムバス(2248)を通じて接続され得る。いくつかのコンピュータシステムでは、追加のCPU、GPU等による拡張を可能にするために、システムバス(2248)は、1つ以上の物理プラグの形でアクセス可能であってもよい。周辺デバイスは、コアのシステムバス(2248)に直接取り付けられることも、周辺バス(2249)を通じて取り付けられることもできる。一例では、グラフィックアダプタ(2250)にスクリーン(2210)が接続されることができる。周辺バスのためのアーキテクチャは、PCI、USB等を含む。
CPU(2241)、GPU(2242)、FPGA(2243)、及びアクセラレータ(2244)は、組み合わせて上述のコンピュータコードを構成することができる特定の命令を、実行することができる。そのコンピュータコードは、ROM(2245)又はRAM(2246)に記憶できる。一時的データは、RAM(2246)に記憶されることができ、一方、持続的データは、例えば、内部大容量記憶デバイス(2247)に記憶されることができる。1つ以上のCPU(2241)、GPU(2242)、大容量記憶デバイス(2247)、ROM(2245)、RAM(2246)等と密接に関連付けることができるキャッシュメモリを使用することを通じて、メモリデバイスのいずれかへの高速な記憶及び取り出しを可能にすることができる。
コンピュータ読み取り可能な媒体は、様々なコンピュータ実装された動作を実行するためのコンピュータコードをその上に有することができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであってもよく、又は、コンピュータソフトウェア分野の技術を有する者に周知であり利用可能な種類のものであってもよい。
限定ではなく一例として、アーキテクチャ(2200)、具体的にはコア(2240)を有するコンピュータシステムは、プロセッサ(CPU、GPU、FPGA、アクセラレータ等を含む)が1つ以上の有形のコンピュータ可読媒体に具現化されたソフトウェアを実行することの結果として、機能性を提供することができる。そのようなコンピュータ読み取り可能媒体は、上記で紹介したようなユーザアクセス可能な大容量記憶並びにコア内部の大容量記憶デバイス(2247)又はROM(2245)のような非一時的な性質のコア(2240)の特定の記憶に関連する媒体であることができる。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに記憶され、コア(2240)によって実行されることができる。コンピュータ読み取り可能媒体は、特定のニーズに応じて、1つ以上のメモリデバイス又はチップを含むことができる。ソフトウェアは、RAM(2246)に記憶されたデータ構造を定義し、ソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を修正することを含む、本明細書に記載された特定のプロセス又は特定の特定部分を、コア(2240)及び具体的にはその中のプロセッサ(CPU、GPU、FPGA等を含む)に実行させることができる。追加的又は代替的に、コンピュータシステムは、回路(例えば、アクセラレータ(2244))内に配線された、又は他の仕方で具現された論理の結果として機能性を提供することができ、これは、本明細書に記載される特定のプロセス又は特定のプロセスの特定部分を実行するためのソフトウェアの代わりに、又はそれと一緒に動作することができる。ソフトウェアへの言及は、論理を含み、適宜その逆も可能である。コンピュータ読み取り可能媒体への言及は、適宜、実行のためのソフトウェアを記憶する回路(例えば集積回路(IC))、実行のための論理を具現する回路、又はその双方を包含することができる。本開示は、ハードウェア及びソフトウェアの任意の好適な組み合わせを包含する。
付録A:頭字語
JEM: joint exploration model
VVC: versatile video coding
BMS: benchmark set
MV: Motion Vector
HEVC: High Efficiency Video Coding
SEI: Supplementary Enhancement Information
VUI: Video Usability Information
GOP: Group of Pictures
TU: Transform Unit
PU: Prediction Unit
CTU: Coding Tree Unit
CTB: Coding Tree Block
PB: Prediction Block
HRD: Hypothetical Reference Decoder
SNR: Signal Noise Ratio
CPU: Central Processing Unit
GPU: Graphics Processing Unit
CRT: Cathode Ray Tube
LCD: Liquid-Crystal Display
OLED: Organic Light-Emitting Diode
CD: Compact Disc
DVD: Digital Video Disc
ROM: Read-Only Memory
RAM: Random Access Memory
ASIC: Application-Specific Integrated Circuit
PLD: Programmable Logic Device
LAN: Local Area Network
GSM: Global System for Mobile communications
LTE: Long-Term Evolution
CANBus: Controller Area Network Bus
USB: Universal Serial Bus
PCI: Peripheral Component Interconnect
FPGA: Field Programmable Gate Areas
SSD: solid-state drive
IC: Integrated Circuit
CU: Coding Unit
R-D: Rate-Distortion
本開示は、いくつかの例示的実施形態を記載してきたが、変更、置換、及び様々な代替等価物があり、それらは本開示の範囲内にはいる。よって、当業者は、本明細書に明示的に示されていないか又は記載されていないが、本開示の原理を具現し、よって、本開示の精神及び範囲内にある多くのシステム及び方法を考案することができることが理解されるであろう。