(57)【要約】  デコーダにおいてコード化されたビデオシーケンス内のコード化された画像またはピクチャをデコードするための方法であって、前記画像またはピクチャは非平面の平面上への投影を表し、前記デコーダは逆量子化ステップを使用し、本方法は、複数の第1のブロックのうちの少なくとも1つの第1のブロックに関係する少なくとも1つの暫定デルタ量子化器パラメータ（QP）値を取得するステップを含むことができる。本方法は、第2のブロックに関係するQP値をデコードするステップを含むことができる。本方法は、最終QP値を生成するためにデルタQP値と前記QP値とを組み合わせるステップを含むことができる。本方法は、前記最終QP値を使用して、前記第2のブロックに関連する少なくとも1つの値を逆量子化するステップを含むことができる。
2021516932.tif 000002
【特許請求の範囲】
【請求項１】
デコーダにおいてコード化されたビデオシーケンス内のコード化された画像またはピクチャをデコードするための方法であって、前記画像またはピクチャは非平面の平面上への投影を表し、前記デコーダは逆量子化ステップを使用し、前記方法は、
複数の第1のブロックのうちの少なくとも1つの第1のブロックに関係する少なくとも1つの暫定デルタ量子化器パラメータ（QP）値を取得するステップと、
第2のブロックに関係するQP値をデコードするステップと、
最終QP値を生成するために、デルタQP値と前記QP値とを組み合わせるステップと、
前記最終QP値を使用して、前記第2のブロックに関連する少なくとも1つの値を逆量子化するステップと、
を含み、
前記第2のブロック内のサンプルのそれぞれの空間位置が前記複数の第1のブロックのうちの単一の第1のブロックに含まれる場合には、前記デルタQP値は、前記単一の第1のブロックの暫定デルタQP値に設定され、または
前記第2のブロック内の前記サンプルの前記それぞれの空間位置が前記複数の第1のブロックのうちの多数の第1のブロックに含まれる場合には、前記デルタQP値は、前記複数の第1のブロックのうちの前記多数の第1のブロックのうちの少なくとも1つの暫定デルタQP値に基づいて設定される、
方法。
【請求項２】
組み合わせる前記ステップは、前記QP値と前記デルタQP値との加算である、請求項1に記載の方法。
【請求項３】
組み合わせる前記ステップは、前記QP値からの前記デルタQP値の減算である、請求項1に記載の方法。
【請求項４】
前記少なくとも1つの第1のブロックに関する前記少なくとも1つの暫定デルタQP値を取得する前記ステップは、前記複数の第1のブロックに関するデルタQPマップを確立するステップを含む、請求項1に記載の方法。
【請求項５】
前記デルタQPマップを確立する前記ステップは、投影フォーマットに関係する少なくとも1つの構文要素をデコードするステップと、前記投影フォーマットの特性を使用して前記デルタQPマップを作成するステップと、を含む、請求項4に記載の方法。
【請求項６】
前記デルタQPマップを確立する前記ステップは、前記デルタQPマップ内のデルタQP値を表す複数の整数値のデコーディングを含み、前記複数の整数値は、エントロピーコード化フォーマットでビットストリームに含まれる、請求項4に記載の方法。
【請求項７】
前記多数の第1のブロックの暫定デルタQP値の平均および丸めの計算によって、前記複数の第1のブロックのうちの前記多数の第1のブロックの前記暫定デルタQP値を組み合わせるステップ
をさらに含む、請求項1に記載の方法。
【請求項８】
前記デコーダは逆変換を使用し、前記第2のブロックに関係する前記値は、前記第2のブロックの変換係数である、請求項1に記載の方法。
【請求項９】
前記第2のブロックに関する前記QP値と組み合わされた場合に、前記多数の第1のブロックの暫定QPデルタ値を使用して、数値的に最小の最終QP値をもたらす暫定デルタQP値を決定するステップと、
前記数値的に最小の最終QP値をもたらす前記暫定デルタQP値を前記デルタQP値として設定するステップと、
をさらに含む、請求項1に記載の方法。
【請求項１０】
前記最終QP値を生成するために、前記数値的に最小の最終QP値をもたらす前記暫定デルタQP値および前記QP値を減算するステップ
をさらに含む、請求項9に記載の方法。
【請求項１１】
前記多数の第1のブロックの前記暫定デルタQP値の中央値の計算によって、前記複数の第1のブロックのうちの前記多数の第1のブロックの前記暫定デルタQP値を組み合わせるステップ
をさらに含む、請求項1に記載の方法。
【請求項１２】
プログラムコードを格納するように構成された少なくとも1つのメモリと、
請求項1から11のいずれか一項に記載の方法を実行するために前記プログラムコードを読み取り、前記プログラムコードにより指示されたように動作するように構成された少なくとも1つのプロセッサと、
を含む、デバイス。
【請求項１３】
請求項1から11のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示される主題は、画像およびビデオのコーディングおよびデコーディングに関し、より具体的には、平面ビデオコーデックへの入力が360ビデオなどの非平面コンテンツから人工的に作成された環境において、コンテンツの（空間）ジオメトリの統計の関係に基づく量子化器パラメータ構文要素の効率的なコーディングに関する。
【背景技術】
【０００２】
動き補償による画像間予測を使用したビデオのコーディングとデコーディングは、何十年も前から知られている。非圧縮デジタルビデオは、一連の画像で構成することができ、各画像は、例えば1920×1080の輝度サンプルおよび関連するクロミナンスサンプルの空間次元を有する。一連の画像は、例えば毎秒60画像または60Hzの固定または可変の画像レート（非公式にはフレームレートとも呼ばれる）を有することができる。非圧縮ビデオは重要なビットレート要件を有する。例えば、サンプルあたり8ビットの1080p60 4：2：0ビデオ（60 Hzフレームレートでの1920×1080輝度サンプル解像度）は、1．5 Gbit／sに近い帯域幅を必要とする。このようなビデオを1時間使用するには、600 GByteを超える記憶スペースが必要である。
【０００３】
ビデオのコーディングとデコーディングの1つの目的は、圧縮によって入力ビデオ信号の冗長性を減らすことであり得る。圧縮は、前述の帯域幅または記憶スペースの要件を、場合によっては2桁以上削減するのに役立ち得る。可逆圧縮と非可逆圧縮の両方、およびそれらの組み合わせが使用されてもよい。可逆圧縮とは、圧縮された元の信号から元の信号の正確なコピーを再構築できる手法を指す。非可逆圧縮を使用すると、再構築された信号は元の信号と同一ではない可能性があるが、元の信号と再構築された信号の間の歪みが十分に小さいので、再構築された信号は目的の用途に有用である。ビデオの場合、非可逆圧縮が広く採用されている。許容される歪みの量は用途によって異なり、例えば、特定のコンシューマストリーミング用途のユーザは、テレビ寄与用途のユーザよりも高い歪みを許容することができる。達成可能な圧縮率は、許容可能な／耐えられる歪みが高いほど、より高い圧縮率が得られるということを反映できる。
【０００４】
ビデオエンコーダとデコーダは、例えば動き補償、変換、量子化、エントロピーコーディングなど、いくつかの幅広いカテゴリからの技術を利用することができ、これらのいくつかは以下で導入される。
【０００５】
上記の技術によるビデオコーディングは、歴史的に、しばしば単一のカメラからキャプチャされた入力コンテンツを仮定している。注目を集めている他のコンテンツは立体視コンテンツとして知られており、キャプチャの軸がほぼ平行になるように空間的に位置合わせされたカメラからの2つのカメラ信号は、適切なレンダラで組み合わせると、特定の条件下で見たときに3次元画像の錯覚を提供することができる。カメラ信号は高度に相関しているため、2つの信号を相関させて、両方の信号が個別にコード化された場合よりも高いコーディング効率を得る特定のビデオコーディング技術が考案された。そのような技術の1つはマルチビューコーディングとして知られており、H．264とH．265の両方でプロファイルの形で利用可能である。場合によっては、このようなマルチビューコーディングは、多数のカメラ信号の類似性があればそれを活用しながら、3つ以上のカメラ信号を組み合わせたコーディングに拡張され得る。しかしながら、前述の意味でのマルチビューコーディングは、依然として平面カメラ画像に作用する。
【０００６】
最近では、平行ではないキャプチャ角度で潜在的に多くのカメラを含む入力デバイスが利用可能になった。物理的なレイアウトに基づいて可能な限り、これらの入力デバイスは、球形の空間をキャプチャすることができる。そのようなカメラは、市販され、すべての次元で360度の視野をキャプチャできるので、本明細書では「360カメラ」と呼ばれる。静止画像360カメラは、比較的広角をキャプチャできるレンズを備えた単一のカメラを取り付けるパンチルトカメラヘッドを使用して動作することができる。パンチルトヘッドの両方の軸を特定の位置に回転させてから撮影することにより、個々の静止画像がある程度重なるように、一連の静止画像をカメラでキャプチャすることができる。パンチルトカメラヘッドの制御に使用される制御情報と一致する幾何学的情報を使用して、これらの画像を幾何学的に補正し、つなぎ合わせて、例えば圧縮と送信の目的で、従来の画像処理技術に入力できる平面画像を形成することができる。地理補正およびスティッチングプロセスは、本明細書では「投影」と呼ばれる。360画像のレンダリングには、360度キャプチャされたシーンに関連する視点または視線方向の選択、逆幾何学的補正、デスティッチングなどを使用して、視線に適した平面画像を作成することができる。逆幾何学的補正およびデスティッチングは、本明細書では「反投影」または「逆投影」と呼ばれる。理想的には、その画像に描かれているシーンは、平面画像が視線方向または選択した視点からキャプチャされたかのように同じであろう。
【０００７】
ビデオは十分に短い時間間隔でキャプチャおよびレンダリングされた一連の静止画像で表すことができるので、上記の概念はビデオのキャプチャに拡張することができる。360ビデオ対応カメラは、2つの基本的な変形例で市販されている。第1の変形例は、1つまたは複数のカメラと適切なレンズを備えた高速回転カメラヘッドを使用して、1回転の過程で（1次元で）360度のシーンを撮影できるようにする。1つまたは複数のカメラおよびレンズは、他の次元がカバーされるように配置され得る。例えば毎秒60フレームのフレームレートを得るために、カメラヘッドは、例えば毎分最低3600回転で回転しなければならない。カメラのブレを回避するために、カメラのキャプチャ時間を非常に短く選択する必要があり得るのでこれにより、カメラセンサが曝されるフォトンの数が制限され、ノイズの多い画像、シーンの高照度の必要性、またはその両方が発生する可能性がある。他の実施態様では、すべてのカメラとレンズの重なり合うビューが360度の球全体をキャプチャするように配置された多くのカメラと適切なレンズを使用して、機械的に重要な回転ヘッドを省略でき、より多くのカメラとレンズを必要とするさらなるコストで前述の問題を回避することができる。2つの概念の形式を混在させることも可能である。機械部品に比べて電気光学部品のコストが低下しているため、機械式360カメラからマルチレンズカメラに向かう傾向がある。さらに、いくつかの設計では、物理デバイスである360カメラは必ずどこかに取り付ける必要があり、マウントハードウェアは視聴者の関心が限定される可能性が高いという理解に基づいて、特定の、多くの場合比較的狭いキャプチャ角度でキャプチャを省略する。上記のスチルカメラと同様に、多くの360対応カメラは画像（時間的に同じ瞬間に、または回転ヘッドの場合はほぼ同じ瞬間にキャプチャされた）を幾何学的に一緒に投影し、カメラの360度のビューを表す一連の投影画像を形成する。
【０００８】
球形のキャプチャシーンを表す画像を平面に投影することは、何世紀にもわたってよく知られ研究されてきた問題である。よく知られている投影法の1つは、例えば1569年に導入されたメルカトル図法であり、これは円筒図法であって世界の多くの地図で現在も使用されている。それ以来、例えば、正距円筒図法、円錐図法、アイトフ図法、ハンマー図法、プレートカリー図法など、他の多くの図法が考案されている。図1を参照すると、球面キャプチャシーンを平面にマッピングするのに適し得る（多くのうち）いくつかの投影が示され、360度のビデオ圧縮のコンテキストで研究されている。示されているのは地球儀（101）で、地球儀の平面地図への3つの投影図がある。第1の投影は、正距円筒投影（102）として知られている。第2の投影は立方体の投影であり、地球の表面は、各次元で90度の変位で6方向を表す6つの正方形の平らな正方形表面に投影される。6つの正方形を単一の平面上に配置して、立方体マップ（103）を作成することができる。ここに示す平面の立方体の表面の配置は、いくつかのオプションの1つである。最後に、二十面体投影は、二十面体（104）（20個の三角形の平面で構成される3次元の対称幾何学図形）の表面に地球の表面を投影し、これらの20個の三角形の表面は、単一の平面（105）に配置することができる。この場合も、単一の平面（105）上の20個の三角形の表面の空間割り当てには、多くの知覚できるオプションがある。
【０００９】
これら、およびその他の適切な投影フォーマットは、球面を平面にマッピングしようとする。平面表現は、球の幾何学的特徴の数学的に正しい表現にはなり得ないが、ある程度の誤差を有する近似である。空間的に、その誤差がどこにあり、どのくらい大きくなるかは、投影の性質に依存する。例えば、等距離図法では、赤道から遠く離れた緯度では、縦方向の距離がかなり誇張されていることがよく知られている。例えば、世界の等距離投影地図では、グリーンランド島はオーストラリア大陸よりも大きく描かれているが、実際にはその表面積の約3分の1しかない。
【発明の概要】
【課題を解決するための手段】
【００１０】
本開示の一態様によれば、デコーダにおいてコード化されたビデオシーケンス内のコード化された画像またはピクチャをデコードするための方法であって、画像またはピクチャは非平面の平面上への投影を表し、デコーダは逆量子化ステップを使用し、本方法は、複数の第1のブロックのうちの少なくとも1つの第1のブロックに関係する少なくとも1つの暫定デルタ量子化器パラメータ（QP）値を取得するステップと、第2のブロックに関係するQP値をデコードするステップと、最終QP値を生成するために、デルタQP値とQP値とを組み合わせるステップと、最終QP値を使用して、第2のブロックに関連する少なくとも1つの値を逆量子化するステップと、を含むことができ、第2のブロック内のサンプルのそれぞれの空間位置が複数の第1のブロックのうちの単一の第1のブロックに含まれる場合には、デルタQP値は、単一の第1のブロックの暫定デルタQP値に設定され、または第2のブロック内のサンプルのそれぞれの空間位置が複数の第1のブロックのうちの多数の第1のブロックに含まれる場合には、デルタQP値は、複数の第1のブロックのうちの多数の第1のブロックのうちの少なくとも1つの暫定デルタQP値に基づいて設定される。
【００１１】
本開示の一態様によれば、デバイスは、プログラムコードを格納するように構成された少なくとも1つのメモリと、複数の第1のブロックのうちの少なくとも1つの第1のブロックに関係する少なくとも1つの暫定デルタ量子化器パラメータ（QP）値を取得し、第2のブロックに関係するQP値をデコードし、最終QP値を生成するために、デルタQP値とQP値とを組み合わせて、最終QP値を使用して、第2のブロックに関連する少なくとも1つの値を逆量子化する、ためにプログラムコードを読み取り、プログラムコードにより指示されたように動作するように構成された少なくとも1つのプロセッサと、を含むことができ、第2のブロック内のサンプルのそれぞれの空間位置が複数の第1のブロックのうちの単一の第1のブロックに含まれる場合には、デルタQP値は、単一の第1のブロックの暫定デルタQP値に設定され、または第2のブロック内のサンプルのそれぞれの空間位置が複数の第1のブロックのうちの多数の第1のブロックに含まれる場合には、デルタQP値は、複数の第1のブロックのうちの多数の第1のブロックのうちの少なくとも1つの暫定デルタQP値に基づいて設定される。
【００１２】
本開示の一態様によれば、非一時的コンピュータ可読媒体は命令を格納することができ、命令は、デバイスの1つまたは複数のプロセッサによって実行された場合に、1つまたは複数のプロセッサに、複数の第1のブロックのうちの少なくとも1つの第1のブロックに関係する少なくとも1つの暫定デルタ量子化器パラメータ（QP）値を取得させ、第2のブロックに関係するQP値をデコードさせ、最終QP値を生成するために、デルタQP値とQP値とを組み合わせさせ、最終QP値を使用して、第2のブロックに関連する少なくとも1つの値を逆量子化させ、第2のブロック内のサンプルのそれぞれの空間位置が複数の第1のブロックのうちの単一の第1のブロックに含まれる場合には、デルタQP値は、単一の第1のブロックの暫定デルタQP値に設定され、または第2のブロック内のサンプルのそれぞれの空間位置が複数の第1のブロックのうちの多数の第1のブロックに含まれる場合には、デルタQP値は、複数の第1のブロックのうちの多数の第1のブロックのうちの少なくとも1つの暫定デルタQP値に基づいて設定される。
【００１３】
開示される主題のさらなる特徴、性質、および様々な利点は、以下の詳細な説明および添付の図面からより明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】従来技術によるいくつかの投影の概略図である。
【図２】一実施形態による通信システムの簡略化されたブロック図の概略図である。
【図３】一実施形態による通信システムの簡略化されたブロック図の概略図である。
【図４】360通信／ストリーミングシステムの簡略化されたブロック図の概略図である。
【図５】一実施形態によるデコーダの簡略化されたブロック図の概略図である。
【図６】一実施形態によるエンコーダの簡略化されたブロック図の概略図である。
【図７】投影の概略図である。
【図８】ティソーの指示楕円を備えた地球の表面の正距円筒図法の概略図である。
【図９】地球の表面のKavrayskiy−VII図法の概略図である。
【図１０】一実施形態による、QPデルタマップを構築するための例示的なプロセスのフローチャートである。
【図１１】一実施形態による投影の詳細の概略図である。
【図１２】一実施形態による、地球の表面のKavrayskiy−VII投影に適したデルタQPマップの概略図である。
【図１３】一実施形態による、投影に適したデルタQPマップの概略図である。
【図１４】一実施形態による、デコーダにおけるサンプルの再構築のフローチャートである。
【図１５】最終QP値を生成し、最終QP値を使用して逆量子化を実行するフローチャートである。
【図１６】一実施形態によるコンピュータシステムの概略図である。
【発明を実施するための形態】
【００１５】
解決すべき課題
360ビデオ圧縮システムは、最初に投影、例えば正距円筒投影、立方体投影などを使用して動作し、360ビデオシーケンスの画像を平面画像にマッピングすることができ、その平面画像またはそのシーケンスは圧縮され得る。平面画像とビデオの圧縮技術はよく知られているが、各サンプルの関連性がほぼ同じである入力素材用に最適化されている。しかし、投影ステップを通じて導入された幾何学的な不正確さと誤差は、それらが投影された球の比較的小さい表面積を表すという点で、平面表現の特定の領域とサンプルが他よりも関連性が低くなるように平面画像をレンダリングする。（平面投影の代わりに）球の表面を表す性能を測定するときに最高レートの歪み性能を得るには、変更されていない形では最適ではないため、平面圧縮技術で特定の最適化が必要である。特に、量子化器パラメータは、投影で単一のサンプルによって表される球の表面積を反映するために、特定の方法で調整する必要がある場合がある。球への逆投影後に同じ忠実度を維持するために、投影の特定の領域ではより粗い量子化が必要な場合があり、他の領域ではより細かい量子化が必要になる場合がある。必要な量子化器の調整量（以降、デルタQP）は、ビデオ圧縮技術または標準規格の特性と、投影の幾何学的特性の組み合わせから導き出すことができる。コード化されたビデオビットストリームで調整されたQPをシグナリングすることは可能であり得る。しかし、そのようなシグナリングにはビットが必要であり、投影の特性に関する共通の知識に基づいてエンコーダとデコーダが必要なデルタQPに従ってQPを調整すると、これらのビットが節約される可能性がある（それによって、システムのレート歪み性能が向上する）。
【００１６】
図2は、本開示の一実施形態による通信システム（200）の簡略化されたブロック図を示す。通信システム（200）は、ネットワーク（250）を介して相互接続された少なくとも2つの端末（210〜220）を含むことができる。データの一方向送信の場合、第1の端末（210）は、ネットワーク（250）を介して他の端末（220）に送信するためにローカル位置でビデオデータをコード化することができる。第2の端末（220）は、ネットワーク（250）から他の端末のコード化されたビデオデータを受信し、コード化されたデータをデコードし、回復されたビデオデータを表示することができる。一方向のデータ送信は、メディアサービングアプリケーションなどでは一般的であり得る。
【００１７】
図2は、例えば、ビデオ会議中に発生する可能性があるコード化されたビデオの双方向送信をサポートするために提供される第2の端末のペア（230、240）を示す。データの双方向送信の場合、各端末（230、240）は、ネットワーク（250）を介して他の端末に送信するためにローカル位置でキャプチャされたビデオデータをコード化することができる。各端末（230、240）はまた、他の端末によって送信されたコード化されたビデオデータを受信することができ、コード化されたデータをデコードすることができ、回復されたビデオデータをローカルディスプレイ装置に表示することができる。
【００１８】
図2では、端末（210〜240）は、サーバー、パーソナルコンピュータ、およびスマートフォンとして例示され得るが、本開示の原理はそのように限定されない。本開示の実施形態は、ラップトップコンピュータ、タブレットコンピュータ、メディアプレーヤ、および／または専用のビデオ会議機器での用途を見出す。ネットワーク（250）は、例えば有線および／または無線通信ネットワークを含む、端末（210〜240）間でコード化されたビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク（250）は、回路切り替えおよび／またはパケット切り替えチャネルでデータを交換することができる。代表的なネットワークは、通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワークおよび／またはインターネットを含む。本議論の目的のために、ネットワーク（250）のアーキテクチャおよびトポロジーは、以下で本明細書において説明されない限り、本開示の動作にとって重要ではない場合がある。
【００１９】
図3は、開示された主題に対する用途の例として、ストリーミング環境におけるビデオエンコーダおよびデコーダの配置を示す。開示された主題は、例えば、ビデオ会議、デジタルTV、CD、DVD、メモリスティックなどを含むデジタルメディアへの圧縮ビデオの格納などを含む他のビデオ対応アプリケーションに等しく適用可能であり得る。
【００２０】
ストリーミングシステムは、例えば非圧縮ビデオサンプルストリーム（302）を作成する、例えばデジタルカメラなどのビデオソース（301）を含むことができるキャプチャサブシステム（313）を含むことができる。エンコードされたビデオビットストリームと比較して高いデータボリュームを強調するために太線で示されているサンプルストリーム（302）は、カメラ（301）に接続されたエンコーダ（303）で処理され得る。エンコーダ（303）は、以下でより詳細に説明するように、開示された主題の態様を可能にするまたは実施するために、ハードウェア、ソフトウェア、またはそれらの組み合わせを含むことができる。サンプルストリームと比較してデータ量が少ないことを強調するために細い線で示されている、エンコードされたビデオビットストリーム（304）は、将来使用するためにストリーミングサーバー（305）に格納され得る。1つまたは複数のストリーミングクライアント（306、308）は、ストリーミングサーバー（305）にアクセスして、エンコードされたビデオビットストリーム（304）のコピー（307、309）を取得することができる。クライアント（306）は、エンコードされたビデオビットストリーム（307）の着信コピーをデコードし、ディスプレイ（312）または他のレンダリングデバイス（図示せず）にレンダリングされ得る発信ビデオサンプルストリーム（311）を作成するビデオデコーダ（310）を含むことができる。いくつかのストリーミングシステムでは、ビデオビットストリーム（304、307、309）は、特定のビデオコーディング／圧縮標準規格に従ってエンコードされ得る。これらの標準規格の例は、ITU−T勧告H．265を含む。開発中のビデオコーディング標準規格は、非公式に多用途ビデオコーディングまたはVVCとして知られている。開示された主題は、VVCのコンテキストで使用され得る。
【００２１】
図3の通信システム200またはストリーミングシステムを拡張して、360ビデオの使用を可能にすることができる。図4を参照すると、そのような360システムのレイアウトは以下のようであり得る。360ビデオキャプチャユニット（401）は、360対応ビデオカメラ（402）と、着信する360画像（403）を平面画像（405）に投影するプロジェクタ（404）と、を含むことができる。360画像（403）および平面画像（405）は、コード化されたビデオシーケンス（407）などの圧縮信号と比較したときに高いデータレートを強調するために、太字の矢印で描かれている。平面画像は、平面エンコーダ（406）によって1つまたは複数のコード化されたビデオシーケンス（407）に変換することができ、これは、例えば、プロジェクタ（404）によって生成された、またはプロジェクタから取得された投影に関連するサイドメタ情報も含むことができる。コード化されたビデオシーケンス（407）は、ネットワーク（図示せず）を介してデコーダ／レンダラに直接転送することができ、またはストリーミングサーバー（408）に格納することができる。ストリーミングサーバー（408）は、（平面）デコーダ（410）およびデプロジェクタ（411）を含むことができる360ビデオ対応エンドポイント（409）にコード化されたビデオシーケンスを直接ストリーミングすることができる。デプロジェクタ（411）は、例えば、好ましくは仮想現実ゴーグル（図示せず）、疑似3D可能なスクリーン（412）などのデバイスによって、表示に適した1つまたは複数の画像シーケンスが形成されるように、プロジェクタ（404）によって導入された投影を逆にすることができる。デプロジェクタは、ユーザが視野角、視点などを選択することを可能にするユーザインターフェース（図示せず）によって制御されてもよい。このデータフローでは、プロジェクタ（404）およびエンコーダ（406）によって投影および圧縮された完全な360ビデオプレゼンテーションを360対応エンドポイント（409）にストリーミングする必要があり得る。
【００２２】
別の方法として、または追加として、場合によっては360度のシーン全体を再構築するために必要なすべてのデータのデコーディング、または逆投影を実行するための接続または計算リソースを、受信エンドポイントが有していない場合がある。このような場合、従来の（360に対応していない）エンドポイント（413）は、例えば、ユーザインターフェースから取得した、視点に関連するメタ情報（414）を、ネットワークにある360プロセッサ（415）に送信することができる。360プロセッサは、取得したメタ情報に基づいて360対応エンドポイントのタスクを実行し、レンダリングされた平面ビデオ（416）を従来の（平面最適化）エンコーダで再エンコードして、従来のエンドポイント（413）で使用できるようにする。このようなシナリオでは、360シーンの計算量の多いデコーディングと逆投影を、360プロセッサ（415）のようなクラウドベースのリソースにオフロードすることができる。説明したように、360プロセッサは、解凍機構と圧縮機構の両方を備えているため、トランスコーダとして機能することができる。
【００２３】
場合によっては、360データの一部は、適切に形成され、適切にマークされている場合、選択的転送ユニット（SFU）によって削除され得る。例えば、投影フォーマットが立方体投影の場合には、特定の視点では、6つの平面正方形の表現のうち少なくとも3つから5つまではレンダリングに必要ない（不透明なソース球を仮定）。例えば、360プロセッサ（415）が使用しているものなどのメタデータを受け取っているので、視点を認識している適切に構成されたSFUは、例えば、スライス、タイル、レイヤ、ビューなどを使用してビットストリームが適切に形成されていると仮定すると、不要な360データの転送を省略することができる。このようなSFUは、完全なトランスコーダが必要とする可能性がある信号処理技術の一部を含まない軽量トランスコーダと見なすことができる。
【００２４】
図5は、本発明の一実施形態によるビデオデコーダ（310）の機能ブロック図であり得る。
【００２５】
受信機（510）は、デコーダ（310）によってデコードされる1つまたは複数のコーデックビデオシーケンスを受信することができ、同じまたは別の実施形態では、一度に1つのコード化されたビデオシーケンスであり、各コード化されたビデオシーケンスのデコーディングは、他のコード化されたビデオシーケンスから独立している。コード化されたビデオシーケンスは、チャネル（512）から受信することができ、チャネルは、エンコードされたビデオデータを格納する記憶装置へのハードウェア／ソフトウェアリンクであり得る。受信機（510）は、それぞれの使用エンティティ（図示せず）に転送され得る他のデータ、例えば、コード化されたオーディオデータおよび／または補助データストリームと共に、エンコードされたビデオデータを受信することができる。受信機（510）は、コード化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対抗するために、バッファメモリ（515）は、受信機（510）とエントロピーデコーダ／パーサー（520）（以後「パーサー」）との間に結合され得る。受信機（510）が十分な帯域幅と制御性の格納／転送デバイスから、または等時性ネットワークからデータを受信している場合に、バッファ（515）は必要とされないか、または小さくなり得る。インターネットなどのベストエフォートパケットネットワークで使用するために、バッファ（515）が必要となる場合があり、比較的大きくすることができ、有利には適応サイズにすることができる。
【００２６】
ビデオデコーダ（310）は、エントロピーコード化されたビデオシーケンスからシンボル（521）を再構築するためのパーサー（520）を含むことができる。これらのシンボルのカテゴリには、デコーダの動作を管理するために使用される情報（310）と、場合によっては、図3に示すように、これはデコーダの統合部分ではないがデコーダに結合され得るディスプレイなどのレンダリングデバイス（312）を制御するための情報と、が含まれる。レンダリングデバイスの制御情報は、補足拡張情報（SEIメッセージ）またはビデオユーザビリティ情報（VUI）パラメータセットフラグメント（図示せず）の形であってもよい。パーサー（520）は、受信したコード化されたビデオシーケンスを解析／エントロピーデコードすることができる。コード化されたビデオシーケンスのコーディングは、ビデオコーディング技術または標準規格に準拠することができ、可変長コーディング、ハフマンコーディング、文脈依存の有無にかかわらず算術コーディングなどを含む、当業者に周知の原理に従うことができる。パーサー（520）は、グループに対応する少なくとも1つのパラメータに基づいて、ビデオデコーダ内のピクセルのサブグループのうちの少なくとも1つについて一組のサブグループパラメータを、コード化されたビデオシーケンスから抽出することができる。サブグループは、画像のグループ（GOP）、画像、タイル、スライス、マクロブロック、コーディングユニット（CU）、ブロック、変換ユニット（TU）、予測ユニット（PU）などを含むことができる。エントロピーデコーダ／パーサーは、変換係数、量子化器パラメータ値、動きベクトルなどのコード化されたビデオシーケンス情報からも抽出することができる。
【００２７】
パーサー（520）は、バッファ（515）から受信されたビデオシーケンスに対してエントロピーデコーディング／構文解析動作を実行して、シンボル（521）を作成することができる。パーサー（520）は、エンコードされたデータを受け取り、特定のシンボル（521）を選択的にデコードすることができる。さらに、パーサー（520）は、特定のシンボル（521）が動き補償予測ユニット（553）、スケーラ／逆変換ユニット（551）、イントラ予測ユニット（552）、またはループフィルタ（556）に提供されるべきかどうかを決定することができる。
【００２８】
シンボル（521）の再構築は、コード化されたビデオ画像またはその一部（インター画像およびイントラ画像、インターブロックおよびイントラブロックなど）のタイプ、およびその他の要因に応じて、多数の異なるユニットを含むことができる。どのユニットが含まれているか、およびどのように含まれているかは、パーサー（520）によってコード化されたビデオシーケンスから解析されたサブグループ制御情報によって制御され得る。パーサー（520）と以下の多数のユニットとの間のそのようなサブグループ制御情報の流れは、明確にするために示されていない。
【００２９】
既に述べた機能ブロックの他に、デコーダ310は、以下に説明するように、概念的にいくつかの機能ユニットに細分することができる。商業的な制約の下で動作する実際の実施態様では、これらのユニットの多くは互いに密接に相互作用し、少なくとも部分的には、互いに統合され得る。しかしながら、開示された主題を説明するために、以下の機能ユニットへの概念的な細分が適切である。
【００３０】
最初のユニットは、スケーラ／逆変換ユニット（551）である。スケーラ／逆変換ユニット（551）は、量子化された変換係数、ならびに使用する変換、ブロックサイズ、量子化係数、量子化スケーリング行列などを含む制御情報を、パーサー（520）からシンボル（521）として受け取る。それは、アグリゲータ（555）に入力され得るサンプル値を含むブロックを出力することができる。
【００３１】
場合によっては、スケーラ／逆変換（551）の出力サンプルは、イントラコード化されたブロック、すなわち、以前に再構築された画像からの予測情報を使用していないが、現在の画像の以前に再構築された部分からの予測情報を使用できるブロックに関係することができる。そのような予測情報は、イントラ画像予測ユニット（552）によって提供され得る。場合によっては、イントラ画像予測ユニット（552）は、現在の（部分的に再構築された）画像（556）からフェッチされた周囲の既に再構築された情報を使用して、再構築中のブロックと同じサイズおよび形状のブロックを生成する。アグリゲータ（555）は、場合によっては、サンプルごとに、イントラ予測ユニット（552）が生成した予測情報を、スケーラ／逆変換ユニット（551）によって提供された出力サンプル情報に追加する。
【００３２】
他の場合では、スケーラ／逆変換ユニット（551）の出力サンプルは、インターコード化された、場合によっては動き補償されたブロックに関係することができる。このような場合、動き補償予測ユニット（553）は、参照画像メモリ（557）にアクセスして、予測に使用されるサンプルをフェッチすることができる。フェッチされたサンプルをブロックに関係するシンボル（521）に従って動き補償した後に、これらのサンプルは、アグリゲータ（555）によってスケーラ／逆変換ユニット（この場合、残差サンプルまたは残差信号と呼ばれる）の出力に追加されて、出力サンプル情報を生成することができる。動き補償ユニットが予測サンプルをフェッチする参照画像メモリ形式内のアドレスは、動きベクトルによって制御でき、例えばX、Y、および参照画像の成分を有することができるシンボル（521）の形式で動き補償ユニットが利用することができる。動き補償は、サブサンプルの正確な動きベクトルが使用されているときに参照画像メモリからフェッチされたサンプル値の補間、動きベクトル予測機構なども含むことができる。
【００３３】
アグリゲータ（555）の出力サンプルは、ループフィルタユニット（556）における様々なループフィルタリング技術の対象となり得る。ビデオ圧縮技術は、コード化されたビデオビットストリームに含まれるパラメータによって制御され、パーサー（520）からのシンボル（521）としてループフィルタユニット（556）に提供されるループ内フィルタ技術を含むことができるが、コード化された画像またはコード化されたビデオシーケンスの以前の（デコーディング順で）部分のデコーディング中に取得されたメタ情報に応答し、および以前に再構築されループフィルタ処理されたサンプル値に応答することもできる。
【００３４】
ループフィルタユニット（556）の出力は、レンダリングデバイス（312）に出力することができて、将来のインター画像予測で使用するために参照画像メモリ（556）に格納することができるサンプルストリームとすることができる。
【００３５】
特定のコード化された画像は、完全に再構築されると、将来の予測のための参照画像として使用することができる。コード化された画像が完全に再構築され、コード化された画像が（例えば、パーサー（520）によって）参照画像として識別されると、現在の参照画像（556）は、参照画像バッファ（557）の一部となることができ、そして、次のコード化された画像の再構築を開始する前に、新しい現在の画像メモリを再割り当てすることができる。
【００３６】
ビデオデコーダ（310）は、ITU−T Rec．H．265などの標準規格で文書化され得る所定のビデオ圧縮技術に従ってデコーディング動作を実行することができる。コード化されたビデオシーケンスは、ビデオ圧縮技術文書または標準規格、特にその中のプロファイル文書で指定されているビデオ圧縮技術または標準規格の構文を厳守しているという意味で、使用されているビデオ圧縮技術または標準規格で指定された構文に準拠することができる。また、コード化されたビデオシーケンスの複雑さが、ビデオ圧縮技術または標準規格のレベルで定義されている範囲内にあることも、コンプライアンスに必要である。場合によっては、レベルによって、最大画像サイズ、最大フレームレート、最大再構築サンプルレート（例えば、メガサンプル／秒で測定される）、最大参照画像サイズなどが制限される。レベルによって設定された制限は、場合によっては、仮想参照デコーダ（HRD）の仕様と、コード化されたビデオシーケンスで通知されるHRDバッファ管理のためのメタデータによってさらに制限され得る。
【００３７】
一実施形態では、受信機（510）は、エンコードされたビデオと共に追加の（冗長な）データを受け取ることができる。追加のデータは、コード化されたビデオシーケンスの一部として含まれてもよい。追加のデータは、データを適切にデコードし、かつ／または元のビデオデータをより正確に再構築するためにビデオデコーダ（310）によって使用され得る。追加のデータは、例えば、時間的、空間的、または信号対雑音比（SNR）エンハンスメントレイヤ、冗長スライス、冗長画像、前方誤り訂正符号などの形式にすることができる。
【００３８】
図6は、本開示の一実施形態によるビデオエンコーダ（303）の機能ブロック図であり得る。
【００３９】
エンコーダ（303）は、エンコーダ（303）によってコード化されるビデオ画像をキャプチャすることができる（エンコーダの一部ではない）ビデオソース（301）からビデオサンプルを受信することができる。
【００４０】
ビデオソース（301）は、任意の適切なビット深度（例えば、8ビット、10ビット、12ビット、…）、任意の色空間（例えば、BT．601 Y CrCB、RGB、…）、および任意の適切なサンプリング構造（例えば、Y CrCb 4：2：0、Y CrCb 4：4：4）であり得るデジタルビデオサンプルストリームの形式でエンコーダ（303）によってコード化されるソースビデオシーケンスを提供することができる。メディアサービングシステムでは、ビデオソース（301）は、以前に準備されたビデオを格納する記憶装置であってもよい。ビデオ会議システムでは、ビデオソース（303）は、ローカル画像情報をビデオシーケンスとしてキャプチャするカメラであってもよい。ビデオデータは、順番に見たときに動きを与える複数の個別の画像として提供されてもよい。画像自体は、ピクセルの空間アレイとして編成することができ、各ピクセルは、使用中のサンプリング構造、色空間などに応じて、1つまたは複数のサンプルを含むことができる。当業者は、ピクセルとサンプルとの間の関係を容易に理解することができる。以下の説明では、サンプルを中心に説明する。
【００４１】
一実施形態によれば、エンコーダ（303）は、用途により必要に応じて、リアルタイムで、または任意の他の時間制約の下で、ソースビデオシーケンスの画像をコード化し、コード化されたビデオシーケンス（643）に圧縮することができる。適切なコーディング速度を強制することは、コントローラ（650）の機能の1つである。コントローラは、以下に説明するように他の機能ユニットを制御し、これらのユニットに機能的に結合されている。明確にするために、結合は描かれていない。コントローラによって設定されるパラメータは、レート制御に関連するパラメータ（画像スキップ、量子化器、レート歪み最適化手法のラムダ値など）、画像サイズ、画像のグループ（GOP）レイアウト、最大動きベクトル検索範囲などを含むことができる。当業者は、コントローラ（650）の他の機能が、特定のシステム設計に最適化されたビデオエンコーダ（303）に関係することができるので、それらを容易に識別することができる。
【００４２】
一部のビデオエンコーダは、当業者が「コーディングループ」として容易に認識するもので動作する。過度に簡略化した説明として、コーディングループは、エンコーダ（630）（以降「ソースコーダ」）（コード化される入力画像と参照画像に基づいてシンボルを作成する役割を果たす）のエンコーディング部分、およびシンボルを再構築して（リモート）デコーダも作成するであろうサンプルデータを作成するエンコーダ（303）に組み込まれた（ローカル）デコーダ（633）で構成され得る（シンボルとコード化されたビデオビットストリームとの間の任意の圧縮は、開示された主題で考慮されているビデオ圧縮技術では無損失であるため）。その再構築されたサンプルストリームは、参照画像メモリ（634）に入力される。シンボルストリームのデコーディングにより、デコーダの場所（ローカルまたはリモート）に関係なくビットが正確な結果が得られるので、参照画像バッファの内容もローカルエンコーダとリモートエンコーダとの間でビットが正確である。言い換えると、エンコーダの予測部分は、デコーディング中に予測を使用する場合にデコーダが「見る」であろうものとまったく同じサンプル値を参照画像サンプルとして「見る」。参照動画同期性のこの基本原理（および、例えばチャネルエラーのために同期性が維持できない場合に生じるドリフト）は、当業者によく知られている。
【００４３】
「ローカル」デコーダ（633）の動作は、「リモート」デコーダ（310）の動作と同じにすることができ、これは、図5に関連して上で既に詳細に説明されている。しかしながら、図5も簡単に参照すると、シンボルが利用可能であり、エントロピーコーダ（645）およびパーサー（520）によるコード化されたビデオシーケンスへのシンボルのエンコーディング／デコーディングは無損失であり得るので、チャネル（512）、受信機（510）、バッファ（515）、およびパーサー（520）を含むデコーダ（310）のエントロピーデコーディング部分は、ローカルデコーダ（633）で完全に実施されなくてもよい。
【００４４】
この時点で行うことができる観察は、デコーダに存在する構文解析／エントロピーデコーディング以外の任意のデコーダ技術も、対応するエンコーダに実質的に同一の機能形式で必ず存在している必要があるということである。エンコーダ技術の説明は、包括的に説明されたデコーダ技術の逆であるから、省略することができる。特定の領域でのみ、より詳細な説明が必要であり、以下に提供される。
【００４５】
その動作の一部として、ソースコーダ（630）は、動き補償予測コーディングを実行することができ、それは、「参照フレーム」として指定されたビデオシーケンスからの1つまたは複数の以前にコード化されたフレームを参照して入力フレームを予測的にコード化する。このようにして、コーディングエンジン（632）は、入力フレームのピクセルブロックと、入力フレームに対する予測参照として選択され得る参照フレームのピクセルブロックとの間の差をコード化する。
【００４６】
ローカルビデオデコーダ（633）は、ソースコーダ（630）によって作成されたシンボルに基づいて、参照フレームとして指定され得るフレームのコード化されたビデオデータをデコードすることができる。コーディングエンジン（632）の動作は、有利には、損失のあるプロセスであってもよい。コード化されたビデオデータがビデオデコーダ（図6には示されていない）でデコードされ得る場合、再構築されたビデオシーケンスは、通常、いくつかの誤差を伴うソースビデオシーケンスのレプリカであり得る。ローカルビデオデコーダ（633）は、参照フレームに対してビデオデコーダによって実行され得るデコーディングプロセスを複製し、再構築された参照フレームを参照画像キャッシュ（634）に格納させることができる。このようにして、エンコーダ（303）は、遠端ビデオデコーダによって得られる（送信エラーがない）再構築参照フレームとして共通のコンテンツを有する再構築参照フレームのコピーをローカルに格納することができる。
【００４７】
予測器（635）は、コーディングエンジン（632）の予測検索を実行することができる。すなわち、コード化される新しいフレームについて、予測器（635）は、（候補参照ピクセルブロックとしての）サンプルデータまたは参照画像の動きベクトル、ブロック形状などの特定のメタデータについて参照画像メモリ（634）を検索することができ、それは新しい画像の適切な予測参照として機能することができる。予測器（635）は、適切な予測参照を見つけるために、サンプルブロックバイピクセルブロックに基づいて動作することができる。場合によっては、予測器（635）によって得られた検索結果によって決定されるように、入力画像は、参照画像メモリ（634）に格納された多数の参照画像から引き出された予測参照を有してもよい。
【００４８】
コントローラ（650）は、例えば、ビデオデータをコード化するために使用されるパラメータおよびサブグループパラメータの設定を含む、ビデオコーダ（630）のコーディング動作を管理することができる。
【００４９】
前述のすべての機能ユニットの出力は、エントロピーコーダ（645）でエントロピーコーディングを受けることができる。エントロピーコーダは、例えばハフマンコーディング、可変長コーディング、算術コーディングなどの当業者に知られている技術に従ってシンボルを無損失圧縮することにより、様々な機能ユニットによって生成されたシンボルをコード化されたビデオシーケンスに変換する。
【００５０】
送信機（640）は、エントロピーコーダ（645）によって作成されたコード化されたビデオシーケンスをバッファリングして、通信チャネル（660）を介して送信の準備をすることができ、通信チャネル（660）は、エンコードされたビデオデータを格納するであろう記憶装置へのハードウェア／ソフトウェアリンクであり得る。送信機（640）は、ビデオコーダ（630）からのコード化されたビデオデータを、送信される他のデータ、例えばコード化されたオーディオデータおよび／または補助データストリーム（ソースは図示せず）とマージすることができる。
【００５１】
コントローラ（650）は、エンコーダ（303）の動作を管理することができる。コーディング中に、コントローラ（650）は、各コード化された画像に特定のコード化された画像タイプを割り当てることができ、これは、それぞれの画像に適用され得るコーディング技法に影響を及ぼすことができる。例えば、多くの場合、画像は次のフレームタイプの1つとして割り当てられ得る。
【００５２】
イントラ画像（I画像）は、シーケンス内のいかなる他のフレームも予測のソースとして使用せずにコード化およびデコードされ得るものであり得る。一部のビデオコーデックでは、例えば、独立なデコーダリフレッシュ画像など、様々なタイプのイントラ画像を使用できる。当業者は、I画像のそれらの変形およびそれらのそれぞれの用途および特徴を知っている。
【００５３】
予測画像（P画像）は、各ブロックのサンプル値を予測するために最大で1つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコード化およびデコードされ得るものであり得る。
【００５４】
双方向予測画像（B画像）は、各ブロックのサンプル値を予測するために最大で2つの動きベクトルおよび参照インデックスを使用するイントラ予測またはインター予測を使用してコード化およびデコードされ得るものであり得る。同様に、多数の予測画像は、単一のブロックの再構築に3つ以上の参照画像と関連メタデータを使用することができる。
【００５５】
ソース画像は、通常、空間的に複数のサンプルブロック（例えば、それぞれ4×4、8×8、4×8、または16×16サンプルのブロック）に分割され、ブロックごとにコード化される。ブロックは、ブロックのそれぞれの画像に適用されたコーディング割り当てによって決定されるように、他の（既にコード化された）ブロックを参照して予測的にコーディングされ得る。例えば、I画像のブロックは非予測的にコード化されてもよく、またはそれらは同じ画像の既にコード化されたブロック（空間予測またはイントラ予測）を参照して予測的にコード化されてもよい。P画像のピクセルブロックは、空間的予測を介して、または以前にコード化された1つの参照画像を参照する時間的予測を介して、非予測的にコード化され得る。B画像のブロックは、空間的予測を介して、または以前にコード化された1つまたは2つの参照画像を参照する時間的予測を介して、非予測的にコード化され得る。
【００５６】
ビデオコーダ（303）は、ITU−T Rec．H．265などの所定のビデオコーディング技術または標準規格に従ってコーディング動作を実行することができる。その動作では、ビデオコーダ（303）は、様々な圧縮動作を実行することができ、それは入力ビデオシーケンスにおける時間的および空間的冗長性を活用する予測コーディング動作を含む。したがって、コード化されたビデオデータは、使用されているビデオコーディング技術または標準規格で指定された構文に準拠することができる。
【００５７】
一実施形態では、送信機（640）は、エンコードされたビデオと共に追加のデータを送信することができる。ビデオコーダ（630）は、コード化されたビデオシーケンスの一部としてそのようなデータを含むことができる。追加のデータは、時間的／空間的／SNR拡張レイヤ、冗長な画像およびスライスなどの冗長データの他の形式、補足拡張情報（SEI）メッセージ、ビジュアルユーザビリティ情報（VUI）パラメータセットフラグメントなどを含むことができる。
【００５８】
平面ビデオソースからサンプルをコーディングまたはデコーディングする場合、すべてのサンプルは、カメラの視点から測定すると、キャプチャの軸に垂直で、十分な距離にある投影面のほぼ同じ角度間隔を表すことができる。図7を参照して、例として、カメラ（705）によってキャプチャされた、サンプル（702、703、704）に分割された投影面（701）の垂直次元を考える。サンプルサイズは比例して描かれていない。実際のシステムでは、カメラの垂直解像度は3つだけでなく、720、1080、またはそれ以上のサンプルになる可能性がある。サンプルを表す角度間隔（706、708）がほぼ同じであることが観察できる。シーンが適度にフラットで、キャプチャの軸（709）にほぼ垂直であると仮定すると、サンプル（702、703、704）もほぼ同じサイズである。写真の登場以来、この関係は知られており、シーンのサイズに関連して、キャプチャされるシーンへのカメラの近距離など、光学補正が必要な状況下であっても、この関係を可能な限り近づけるようカメラ用レンズを設計することができる。
【００５９】
引き続き図7を参照して、1つの次元のみが描かれた等方投影の簡略化された表現を使用して、球（710）（球の4分の1のみが示されている）であるシーンのキャプチャを検討する。キャプチャの軸（711）が球の赤道（図示せず）に垂直であると仮定する。図示されているのは、同一の角度幅（図示せず）を有する3つのサンプル（713、714、715）である。直感的には、赤道に近いサンプルは、極エリアの描画を担当するサンプルよりも球の表面積がかなり少ないことは明らかである。例えば、球の最北の緯度を表すサンプル715を考える。仕切り（716、717）により示されるその関連する表面積は、サンプル713に関連する表面積よりもかなり大きくなっている。
【００６０】
上記の例は極端に見えるかもしれないが、一般的な使用では、実際の用途では、球で測定した表面積で保証されているよりも何倍も大きい特定の極エリアを表す投影があることに留意されたい。「グリーンランド／オーストラリア」の例については、上記を参照されたい。
【００６１】
図8は、地球（801）の表面の正距円筒図法を示している。示されているのは、有名なティソーの指示楕円の一例である。地図に重ね合わされた各楕円（802、803、804）は、地球上の円形の表面領域を表している。投影が同じサンプルサイズのサンプルマップで表されていると仮定する。明らかに、赤道から離れた領域、例えば楕円（804）で表される領域では、赤道上の例示的な楕円（802）よりもはるかに多くの投影の表面積、したがってより多くのサンプルが、地球の表面上の同じ領域を表す。
【００６２】
図9は、もう1つの投影の例、つまり地表面のKavrayskiy−VII投影（901）を示しており、これもティソーの指示楕円で覆われている。また、緯度と経度の「線」、より具体的には、それぞれ一定の緯度または経度の線もいくつか含まれている。地球の表面上では、各線は他の線と直角に交わり、各交点間の面距離は同じであると仮定される。それでも、投影では、特に特定の極地域および子午線から離れた場所では、「正方形」の表面領域は非正方形領域で表される。中央アフリカ北部をカバーする表面領域（902）を考える。赤道と子午線の両方に近いため、（正確ではないが）ほぼ正方形で表される。極端な反例として、アラスカの大部分をカバーする表面領域（903）を考える。この表面領域（地球上ではほぼ正方形）の形状は大きく歪んでいる。これを図11に示す。図9の投影の抜粋で、北西半球（903）の小さい部分のみが描かれており、その中にサンプル（905）のブロックが示されている。表面領域（1102）の形状は、地球上の表面領域に非常に近い正方形表面（1104）に逆投影（1103）され得る。図の下部では、同じ表面領域（903）とブロック（905）が上記のように投影されている。（投影正方形の）ブロック（1105）の非正方形の歪んだジオメトリに留意されたい。さらに、ブロック（905）の歪んだブロック（1105）への逆投影は、領域（903）を四角形に単純にする単純化であることに留意されたい。投影（1106、1107）の表面領域のエッジの湾曲した性質を考慮したならば、ブロック（1105）はさらに歪むことになろう。
【００６３】
圧縮に使用される平面画像への球形シーンの投影により、その画像の特定のサンプルが球形シーンのより大きな表面積または角度幅を表す場合、それらのサンプルは、解凍および逆投影後の球形シーンの忠実な再現にさらに関連するようになる。同様に、例えば正距円筒図法を使用する場合、球の赤道領域を表すサンプルは比較的小さな表面積をカバーすることができ、球形シーンの忠実な再現に比較的関連性が低くなる。平面画像およびビデオ用に最適化された従来の画像およびビデオコーデックは、必ずしもこの不等性に対処する必要はない。
【００６４】
行わなければならない1つの観察は、平面エンコーダが使用中の投影の性質と特性に関する情報を充分に有する可能性があることである。また、実際のシステム設計では、この情報を、例えばビットストリームを介して、デプロジェクタにも知らせる必要がある。そのような情報がないと、デプロジェクタは、平面デコーダによって生成されたサンプルストリームに対して意味のある操作を行うことができない場合がある。エンコーダシステムとデコーダシステムの両方で、使用中の投影に関するサイド情報（デプロジェクタがプロジェクタで作成されたシーンを逆投影できるように、送信システムから受信システムに必ず送信する必要がある）を簡単に取得できるので、ビデオコーディング自体がその情報を再度コーディングする必要がなく、エンコーダは、デコーダによってそれについてのアプリオリな知識を仮定することができる。もちろん、そのサイド情報もビデオビットストリームに含めることができ、その場合、他の方法で送信する必要がない。
【００６５】
一実施形態によれば、投影された360ビデオのコーディングのために最適化された平面ビデオエンコーダは、使用中の投影の特性に関するエンコーダの知識に基づいて、それが生成するコード化されたビデオシーケンスを最適化することができる。
【００６６】
理想的には、投影された360材料を圧縮する平面ビデオエンコーダは、360球の大きなキャプチャ角度または表面積を表すサンプルに重点を置き、逆に、360球の小さなキャプチャ角度または表面積を表すサンプルにあまり重点を置かないようにすることができる。例として正距円筒図法を使用し、360球のすべての表面領域がユーザに対して同様の関連性があると仮定すると（ユーザは極域の詳細にほとんど関心がないので、地図投影の場合は必ずしもそうではないが、360ビデオでは有効な仮定となり得る）、極域をカバーするサンプルに重点を置き、赤道域をカバーすることに重点を置かないことが賢明である。
【００６７】
多くのビデオコーデックでは、適切な量子化器パラメータ（QP）を選択することで、比較的少数のサンプル、つまり変換ユニット、ブロック、マクロブロックなど（以下「ブロック」）に費やされるビット数を比較的細かく調整することができる。
【００６８】
同じまたは別の実施形態では、ビデオエンコーダは、360投影の性質に関するアプリオリの知識を使用して、大きなキャプチャ角度または表面積を表すサンプルを含むブロックと比較して、小さいキャプチャ角度または表面積を表すサンプルを含むブロックに対して、より粗い量子化（数値的にはより高いQP）を選択する。この選択は、エンコーダでローカルに実施することができ、それを実施するためにデコーダ、またはビデオ圧縮技術または標準規格自体で変更する必要はない。同じまたは別の実施形態によれば、エンコーダは（初期化中に、および投影の詳細が既知になると、潜在的に一度だけ）、量子化ステップサイズの差の値のマップ（以降、「デルタQP値」）を作成して使用することができ、これは、（平面最適化された）レート制御によって選択されたQP値と組み合わせて（例えば、後で正規化して追加して）使用され得る。同じまたは別の実施形態では、デルタQPマップは、球に逆投影されたブロックの表面積に基づいて作成することができる。多くのビデオコーデックでは、QPステップサイズと費やされるビット数との間のおおよその関係がわかっている。例えば、H．265では、3つのQPステップサイズとビットレートを2倍にするおおよその関係があり得る。同じまたは別の実施形態では、デルタQP値は、QP値とビットレートとの間の前述の関係と、逆投影されたブロックの表面積と、を適切に設定することによって計算することができる。
【００６９】
図9を簡単に参照して、一例として、ブロック（904）を考える。このブロックは赤道の隣にあり、正規化に使用できる。したがって、このブロックとその右側および左側に隣接するブロック（および赤道のすぐ南にある隣接ブロック）は、0のQPデルタを使用することができる。
【００７０】
次に、アラスカ北部をカバーするブロック（905）を考える。球に逆投影したときのこのブロックの表面積は、ティソー投影の楕円の相対的なサイズの増加によって推定でき、その推定は、ブロックの赤道ブロックとしての表面積が半分未満であると推定できる。したがって、H．265の3つの量子化ステップサイズがビットレートの約半分になり得るので、このブロックはより粗く、特に3つの量子化ステップサイズで量子化され得る。そのようなスキームを一貫して適用する場合、投影によって導入される幾何学的アーティファクトに関係なく、球上の任意の所与領域を表すビット数はほぼ同じである。
【００７１】
図10は、デルタQPマップを生成するための例示的なプロセス1000のフローチャートである。いくつかの実施態様では、図10の1つまたは複数のプロセスブロックは、エンコーダによって実行され得る。いくつかの実施態様では、図10の1つまたは複数のプロセスブロックは、エンコーダとは別の、またはそれを含む別のデバイスまたはデバイスのグループによって実行され得る。
【００７２】
図10を参照すると、デルタQPマップを埋める機構は、以下のように説明することができる。ループ（1001）は、投影が分割されるすべてのブロックにわたって実行することができる。ブロックサイズは、例えば、8×8または16×16サンプルにすることができる。ループ内では、ブロックごとに、ブロックの4つの座標を球に逆投影（1002）して、空間に4つのポイントを生成することができる。逆投影の性質は、順投影に依存する。空間の5番目の点、つまり球の中心も既知である。これらの4つまたは5つの点を使用して、4つの点によって識別される球の表面の表面積、および場合によっては球の中心を計算することができる（1003）。球の中心の位置がわからない場合、表面積は、場合によっては、4つの点が平行四辺形を形成するという仮定の下で概算することができる。この場合、近似の性質により、近似された表面積が球に正しく投影された表面積よりも小さい場合があるが、これは、長方形の投影の場合、表面積は平坦であるのに対し、球では湾曲しているためである。
【００７３】
球の表面積をブロックの表面積（例えば、8×8または16×16サンプル）に関連させて配置すると、投影が増加する（1004）。投影の増加は、既知の特性または問題の平面ビデオコーデックの特性を使用して、このブロックのデルタQP値を決定するために使用することができる。例えば、HEVCの場合、予測の増加が2倍になると、QP値が3倍に変化する可能性がある関係となり得る。
【００７４】
図10はプロセス1000の例示的なブロックを示すが、いくつかの実施態様では、プロセス1000は、図10に示すものよりも、さらなるブロック、より少ないブロック、異なるブロック、または異なるように配置されたブロックを含むことができる。それに加えて、またはその代わりに、プロセス1000の2つ以上のブロックは、並行して実行されてもよい。
【００７５】
図12を参照すると、上記の機構によって生成された、設計にハードコード化された、または何らかの他の機構によってエンコーダで利用可能な、デルタQPマップの一例が示されている。ここでもう一度Kavrayskiy−VII投影により、太字の線（1101）で示された例示的な投影で地球の4分の1が示されている。投影（1201）は、ブロック（1202）のグリッドによってオーバーレイされている（単一のブロックのみが符号（1202）によって示されている）。それらのブロックの各々は、例示的なデルタQP値と共に示されている。デルタQP値が投影の0／0緯度／経度点からの距離と共に増加することが観察され得る。
【００７６】
正距円筒図法（図示せず）のデルタQPマップの作成には、ブロックの各行の同一値のデルタQP値の選択と、行の赤道からの距離が増加するにつれて行間の次第に増加するデルタQP値の選択が含まれ得る。正確には、あるデルタQP値から次のデルタQP値への変更が発生する場所（行間）は、QP値の減少とビットレートの増加との関係を含む、ビデオ圧縮技術または標準規格の特性によって異なる。
【００７７】
図13は、さらなる例として、立方体および二十面体投影のデルタQPマップを示している。これらの投影では、既に説明したように、6個の立方体と20個の二十面体の面を1つの平面に組み立てることができる。これらの6個または20個の表面の幾何学的歪みは互いに類似しているため、投影に示されている正方形または三角形の1つについてのみ、デルタQPマップを記述する必要がある。
【００７８】
最初の例として二十面体の投影を取り上げると、20個の三角形（1302）のうちの1つが拡大された完全な投影（1301）が示されている。各三角形は特定の数のブロックでカバーすることができ、ここでは、三角形を水平方向にカバーするために6つのブロックが必要で、垂直方向にカバーするために5つのブロックが必要であるが、これらの数は、ブロックサイズ、所望する完全な投影サイズなどによって異なる場合がある。各ブロック（1303）について、整数はH．265などのビデオ圧縮技術を使用した場合の知覚できるQP値の増加を示す。各三角形が球の表面の比較的小さな領域をカバーしているので、幾何学的な歪みは比較的小さく、したがってデルタQP値の知覚できる変化は等しく小さい。H．265などのコーデックの場合、各三角形のコーナーをカバーするブロックのみがQP値のわずかな調整を必要とする場合がある。
【００７９】
対照的に、立方体投影（1304）の場合、コンテンツを忠実に表すには、ブロックごとのデルタQP値（1306）の大幅な変化が必要になり得る。再び描かれているのは、立方体（1305）の1つの表面であり、これは6×6のブロックに分割されている。H．265などのコーディング技術では、忠実な表現のためにQP値の調整を必要としない36個のブロックのうちの4つだけが示されているため、デルタQP値が0のブロックは4つだけである。
【００８０】
二十面体の投影を含む、立方体とその他の正多面体の投影の両方で、デルタQP値の増加は、正多面体の中心でゼロから始まり、中心からの距離が増加するにつれてすべての方向に均一に増加するデルタQP値の増加として説明することができる。増加の速度は、距離の増加と共に増加する可能性があり、表面のエッジに近づくにつれて増加するキャプチャの角度を反映する。
【００８１】
当業者は、上記の機構を様々な他の投影に容易に適合させ、ビットレートを、用途の必要に応じて、デルタQP特性、ブロックサイズ、ブロック形状などに適合させることができる。
【００８２】
特定の投影法を使用する場合、デルタQP値は、画像、タイル、またはスライスのエンコード中に数回変化する可能性がある。これらの変更の各々がビットを消費する可能性がある。しかし、これらの変更は、既に説明したように、デルタQPマップを使用して予測することができ、これは、使用されるビデオ圧縮技術または標準規格のアプリオリな知識と、エンコーダとデコーダの両方で等しく知られている投影の特性と、に基づいて、エンコーダとデコーダの両方で構築することができる。
【００８３】
同じまたは別の実施形態では、デコーダは、投影の特性と、それが基づく圧縮技術または標準規格の知識と、に基づいて、既に説明したように、デルタQPマップを構築することができる。同じまたは別の実施形態では、投影の特性は、例えば、シーケンスパラメータセット、ピクチャパラメータセット、シーケンスヘッダ、画像のグループ（GOP）ヘッダ、画像ヘッダ、スライスヘッダ、または類似の構文構造（高準位構文構造、または以後HLS構造）に配置された1つまたは複数の規範的構文要素として、コード化されたビデオビットストリーム内のデコーダで利用できるようにすることができる。同じまたは別の実施形態では、投影の特性は、帯域外機構を介してデコーダが利用できるようにすることができる。
【００８４】
特性のコーディングは、多くの形式をとることができる。同じまたは別の実施形態では、単一または少数の構文要素の抽象的な値を使用して、デコーダが基づく同じ仕様または異なる仕様であり得るビデオコーディング技術仕様で定義され得る複数のそれらの機構から、デルタQPマップ生成機構を直接または間接的に示すことができる。直接指示は、デルタQPマップ生成機構を直接参照することができる。間接指示は、例えば、投影への参照であってもよく、その仕様は、QPマップ生成機構および平面から球表面への幾何学的マッピングまたはその逆のような他の特性を含むことができる。例えば、例えば8ビットの符号なし整数としてコード化された構文要素「projection＿id」が存在し得る。この構文要素により、最大256個の投影のシグナリングが可能になり、各投影は、独自のデルタQPマップ生成機構を含むことができる。HLS構造の構文図の対応するエントリは、次の形式をとることができる。
【００８５】
【表１】
2021516932.tif 000003
【００８６】
デルタQPマップの他の形式のコーディングも可能である。例えば、デルタQPマップは、高レベルの構文構造に直接コード化され得る。このようなコーディングは、0から7などの適切な番号範囲の整数値の2次元行列の形式にすることができ、行列の各要素はn×nサンプルのブロックを表しており、nは例えば4、8、または16にすることができる。例えば、ビデオ圧縮技術または標準仕様の作業で一般的に使用される構文を使用し、2の累乗であるブロックサイズの正方形ブロックを仮定し、「planar＿size x」および「planar＿size y」は平面画像のサイズを表し、すべてサンプルで測定され、このようなマップは次のように表すことができる。
【００８７】
【表２】
2021516932.tif 000004
【００８８】
上記の構文図で、「x」と「y」は実行中の変数であり、「planar＿size＿x」と「planar＿size＿y」はサンプルで測定された（投影された）平面表面のサイズを表し、「blocksize」は、デルタQP値がコード化されているブロックのサイズを表す。そのブロックサイズは、例えば、最小の変換と同じサイズ、例えば4×4になるように選択することができる。その場合、「qp＿delta」構文要素の数は比較的多くなる可能性があるが、その数が多いと、投影における個々のサンプルの関連性を厳密に近似することができる。より大きなブロックサイズを選択することもでき、これにより、コード化する必要のあるデルタQP値が少なくなるため、直接コード化されたデルタQPマップのビットを節約することができるが、しかし、投影における個々のサンプルの関連性の近似はそれほど精密ではない場合がある。多くの関連するビデオ圧縮技術または標準規格は変換を使用し、量子化は変換係数に作用する。そのため、最小の変換ブロックサイズよりも細かい粒度でデルタQPマップをコーディングする利点は限られている。デルタQPマップに使用されるブロックのサイズは、「log2＿blocksize」（一般的に使用される変換サイズは2の累乗であるのでlog2）などの構文要素でコード化され得る。
【００８９】
同じまたは別の実施形態では、そのような直接コード化されたデルタQPマップは、例えば、適切なランレングスコーディング機構、．zipなどの当技術分野で知られている一般的な圧縮アルゴリズムなどを使用することにより、適切にエントロピーコード化され得る。当業者は、デルタQPマップのためのそのようなコーディング機構を容易に考案することができる。
【００９０】
上記の2つの機構と同様の目的に役立ち得る他の機構の選択は、用途の要件と、そのような用途が有する可能性のある圧縮、計算、およびメモリの制約に依存する可能性がある。
【００９１】
さらに、デルタQPマップの使用を可能にし得る構文要素「enable＿qpmap」を含めるのが賢明であり得る。その構文要素の値が「false」の場合、平面デコーダはデルタQPマップを使用することができない。しかし、その構文要素の値が「true」の場合、デコーダはデルタQPマップを上記の方法で、すなわち、その平面デコーディングプロセスがデコーディング中に到達するQP値にデルタQP値を加算または減算することにより、使用することができる。
【００９２】
図14は、一実施形態による、デコーダにおけるサンプルの再構築のための例示的なプロセス1400のフローチャートである。いくつかの実施態様では、図14の1つまたは複数のプロセスブロックは、デコーダによって実行され得る。いくつかの実施態様では、図14の1つまたは複数のプロセスブロックは、デコーダとは別の、またはデコーダを含む別のデバイスまたはデバイスのグループによって実行され得る。
【００９３】
同じまたは別の実施形態では、デコーダは、以下のようにデルタQPマップを使用することができる。図14を参照すると、デコーディングプロセスの初期のある時点で、デルタQPマップがデコードされ（1401）、メモリに格納される（1402）。平面デコーダでは、通常どおりデコーディングが進行する。具体的には、デコーディングは、ビットストリーム（1403）からのQP値のデコーディングを含むことができる。そのQP値は、変換ユニット（TU）に関連している。そのTUの空間位置は、デコーダによって知られている。この時点で、デコーダは、格納されているデルタQPマップ（1404）にアクセスして、ブロックに関連する1つまたは複数のデルタQP値（例えば、暫定デルタQP値）を識別することができる。
【００９４】
TUサイズとデルタQPマップのブロックサイズは必ずしも同じである必要はなく、必ずしもTUのエッジとデルタQPマップブロックに対して揃える必要はない。TUの空間領域がデルタQPマップのブロックに完全に含まれている場合、最終QP値を得るために（1405）、例えば、デコードされたTUのQP値にその値を加算または減算することにより、直接適用され得る単一のデルタQP値のみが存在する場合がある。TUの空間領域がデルタQPマップの多数のブロックにまたがる場合、様々なブロックのデルタQPマップ内のデルタQP値が異なる可能性があるため、適用可能なデルタQP値の決定はそれほど簡単ではない。特定の代替案が存在し、ビデオコーディング技術または標準規格は、次の代替案の1つまたは複数、または、当業者が容易に識別することができる別の適切な代替案を指定することができる。
【００９５】
第1の代替例として、TUの少なくとも一部が細かい表現を必要とするという理論では、可能な限り細かい量子化を選択することができ、言い換えれば、選択されているのはデルタQP値であり、デコードされたQP値に追加／減算すると、数値的に最小の最終QP値が得られる。
【００９６】
第2の代替例として、例えば、適切な丸めを用いて、適用可能なデルタQP値の中央値、平均、または任意の他の組み合わせを計算することによって、様々なデルタQP値を組み合わせることができる。
【００９７】
第3の代替例として、TUとデルタQPブロックは、サンプルとして表される空間領域をカバーすることに留意されたい。特定のビデオ圧縮技術と標準規格では、TUもデルタQPブロックも使用されていないため、サンプル空間が重複する場合がある。つまり、各サンプル位置は厳密に1つのTUと厳密に1つのデルタQPブロックに属している。それらのビデオ圧縮技術と標準規格の場合、TUの特定のサンプル位置がデルタQPマップのどのブロックに該当するかを特定することで、TUのデルタQP値を選択することができる。TUにおけるそのようなサンプル位置は、例えば、TUの左上のサンプル位置、中央のサンプル位置、またはTUにおける任意の他のサンプル位置を含むことができる。次に、TUのデコーディングのためのデルタQP値は、そのサンプル位置を含むデルタQPマップ内のブロックに関連付けられたデルタQP値にすることができる。
【００９８】
エンコーダとデコーダが同じ組み合わせ機構を使用している限り、不一致とコーディングドリフトを回避することができる。ビデオ圧縮技術の仕様または標準規格では、使用する組み合わせを簡単に定義することができる。
【００９９】
上記で得られた最終QP値は、変換係数の逆量子化（1406）に使用することができる。次に、逆量子化された変換係数が逆変換されて（1407）、ビデオコーディング技術または標準規格（図示せず）に準拠したさらなる処理に使用される暫定サンプル値が取得される。処理は、コード化されたビデオシーケンス（図示せず）の終わりまで次のTUで続行される。
【０１００】
図14はプロセス1400の例示的なブロックを示すが、いくつかの実施態様では、プロセス1400は、図14に示すものよりも、さらなるブロック、より少ないブロック、異なるブロック、または異なるように配置されたブロックを含むことができる。それに加えて、またはその代わりに、プロセス1400の2つ以上のブロックは、並行して実行されてもよい。
【０１０１】
図15は、最終QP値を生成し、最終QP値を使用して逆量子化を実行するための例示的なプロセス1500のフローチャートである。いくつかの実施態様では、図15の1つまたは複数のプロセスブロックは、デコーダによって実行され得る。いくつかの実施態様では、図15の1つまたは複数のプロセスブロックは、デコーダとは別の、またはデコーダを含む別のデバイスまたはデバイスのグループによって実行され得る。
【０１０２】
図15に示すように、プロセス1500は、複数の第1のブロックのうちの少なくとも1つの第1のブロックに関係する少なくとも1つの暫定デルタ量子化器パラメータ（QP）値を取得するステップを含むことができる（ブロック1501）。
【０１０３】
図15にさらに示すように、プロセス1500は、第2のブロックに関係するQP値をデコードするステップを含むことができる（ブロック1502）。
【０１０４】
図15にさらに示すように、プロセス1500は、第2のブロックにおけるサンプルのそれぞれの空間位置が複数の第1のブロックの単一の第1のブロックに含まれるかどうかを決定するステップを含むことができる（ブロック1503）。
【０１０５】
図15にさらに示すように、第2のブロックにおけるサンプルのそれぞれの空間位置が複数の第1のブロックの単一の第1のブロックに含まれる場合（ブロック1503−はい）、プロセス1500は、デルタQP値を単一の第1のブロックの暫定デルタQP値に設定するステップを含むことができる。（ブロック1504）。
【０１０６】
図15にさらに示すように、第2のブロック内のサンプルのそれぞれの空間位置が複数の第1のブロックのうちの多数の第1のブロックに含まれる場合（ブロック1503−いいえ）には、プロセス1500は、複数の第1のブロックのうちの多数の第1のブロックの少なくとも1つの暫定デルタQP値に基づいて、デルタQP値を設定するステップを含むことができる。（ブロック1505）。
【０１０７】
図15にさらに示すように、プロセス1500は、デルタQP値とQP値とを組み合わせて最終QP値を生成するステップを含むことができる（ブロック1506）。
【０１０８】
図15にさらに示すように、プロセス1500は、最終QP値を使用して第2のブロックに関連する少なくとも1つの値を逆量子化するステップを含むことができる（ブロック1507）。
【０１０９】
図15はプロセス1500の例示的なブロックを示すが、いくつかの実施態様では、プロセス1500は、図15に示すものよりも、さらなるブロック、より少ないブロック、異なるブロック、または異なるように配置されたブロックを含むことができる。それに加えて、またはその代わりに、プロセス1500の2つ以上のブロックは、並行して実行されてもよい。
【０１１０】
上記の360画像およびビデオコーディングのためのQP選択のための技術は、コンピュータ可読命令を使用するコンピュータソフトウェアとして実施することができ、1つまたは複数のコンピュータ可読媒体に物理的に格納することができる。例えば、図16は、開示された主題の特定の実施形態を実装するのに適したコンピュータシステム1600を示す。
【０１１１】
コンピュータソフトウェアは、コンピュータ中央処理ユニット（CPU）、グラフィックス処理ユニット（GPU）などにより、アセンブリ、コンパイル、リンク、または同様の機構の対象となり得、直接に、または翻訳、マイクロコードの実行などを通じて実行され得る命令を含むコードを作成することができる、任意の適切なマシンコードまたはコンピュータ言語を使用してコード化することができる。
【０１１２】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバー、スマートフォン、ゲームデバイス、モノのインターネットデバイスなどを含む、様々なタイプのコンピュータまたはその構成要素上で実行することができる。
【０１１３】
コンピュータシステム1600について図16に示す構成要素は、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能の範囲に関する制限を示唆することを意図するものではない。また、構成要素の構成は、コンピュータシステム1600の例示的な実施形態に示されている構成要素のいずれか1つまたは組み合わせに関する依存性または要件を有するものとして解釈されるべきではない。
【０１１４】
コンピュータシステム1600は、特定のヒューマンインターフェース入力デバイスを含むことができる。そのようなヒューマンインターフェース入力デバイスは、例えば、触覚入力（キーストローク、スワイプ、データグローブの動きなど）、オーディオ入力（音声、拍手など）、視覚入力（ジェスチャーなど）、嗅覚入力（図示せず）による、1人または複数の人間ユーザによる入力に応答することができる。ヒューマンインターフェースデバイスを使用して、音声（スピーチ、音楽、環境音など）、画像（スキャンされた画像、静止画像カメラから得られる写真画像など）、ビデオ（2次元ビデオ、立体ビデオを含む3次元ビデオなど）などの人間による意識的な入力に必ずしも直接関係しない特定のメディアをキャプチャすることもできる。
【０１１５】
入力ヒューマンインターフェースデバイスは、キーボード1601、マウス1602、トラックパッド1603、タッチスクリーン1610、データグローブ1604、ジョイスティック1605、マイク1606、スキャナ1607、カメラ1608のうちの1つまたは複数（各1つのみを表示）を含むことができる。
【０１１６】
コンピュータシステム1600はまた、特定のヒューマンインターフェース出力デバイスを含むことができる。そのようなヒューマンインターフェース出力デバイスは、例えば、触覚出力、音、光、および嗅覚／味覚を通じて、1人または複数の人間のユーザの感覚を刺激することができる。このようなヒューマンインターフェース出力デバイスは、触覚出力デバイス（例えば、タッチスクリーン1610、データグローブ1604、またはジョイスティック1605による触覚フィードバックであるが、入力デバイスとして機能しない触覚フィードバックデバイスもあり得る）、オーディオ出力デバイス（スピーカ1609、ヘッドフォン（図示せず）など）、視覚出力デバイス（陰極線管（CRT）画面、液晶ディスプレイ（LCD）画面、プラズマ画面、有機発光ダイオード（OLED）画面を含む画面1610などであって、それぞれタッチスクリーン入力機能の有無にかかわらず、また触覚フィードバック機能の有無にかかわらず、−これらの一部は、ステレオグラフィック出力、仮想現実眼鏡（図示せず）、ホログラフィックディスプレイ、およびスモークタンク（図示せず）などの手段を介して、2次元の視覚的出力または3次元を超える出力を出力することができる）、ならびにプリンタ（図示せず）を含むことができる。
【０１１７】
コンピュータシステム1600はまた、CD／DVDまたは同様の媒体1621を備えたCD／DVD ROM／RW 1620を含む光学メディア、サムドライブ1622、取り外し可能なハードドライブまたはソリッドステートドライブ1623、テープおよびフロッピーディスク（図示せず）などの従来の磁気媒体、セキュリティドングル（図示せず）などの専用のROM／ASIC／PLDベースのデバイスなどの、人間がアクセス可能な記憶装置および関連メディアを含むことができる。
【０１１８】
当業者はまた、ここで開示される主題に関連して使用される「コンピュータ可読媒体」という用語は、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解するべきである。
【０１１９】
コンピュータシステム1600は、1つまたは複数の通信ネットワークへのインターフェースも含むことができる。ネットワークは、例えば、無線、有線、光であり得る。さらに、ネットワークは、ローカル、広域、大都市圏、車両および産業、リアルタイム、遅延耐性などであり得る。ネットワークの例は、イーサネットなどのローカルエリアネットワーク、無線LAN、モバイル通信用グローバルシステム（GSM）、第3世代（3G）、第4世代（4G）、第5世代（5G）、ロングタームエボリューション（LTE）などを含むセルラーネットワーク、ケーブルテレビ、衛星TV、および地上波放送TVを含むTV有線または無線広域デジタルネットワーク、ならびに、CANBusを含む車両および産業用などを含む。特定のネットワークでは、一般に、特定の汎用データポートまたは周辺バス（1649）、例えばコンピュータシステム1600のユニバーサルシリアルバス（USB）ポートなど、に接続された外部ネットワークインターフェースアダプタが必要であり、その他のネットワークは、一般に、後述するようにシステムバスへの取り付けによりコンピュータシステム1600のコアに統合されている（例えば、PCコンピュータシステムへのイーサネットインターフェースまたはスマートフォンコンピュータシステムへのセルラーネットワークインターフェース）。これらのネットワークのいずれかを使用して、コンピュータシステム1600は他のエンティティと通信することができる。このような通信は、単方向、受信のみ（例えば、放送TV）、単方向送信のみ（例えば、CANbusから特定のCANbusデバイス）、または双方向、例えば、ローカルエリアまたはワイドエリアデジタルネットワークを使用する他のコンピュータシステムへの通信であり得る。上記のように、特定のプロトコルとプロトコルスタックは、これらのネットワークとネットワークインターフェースのそれぞれで使用することができる。
【０１２０】
前述のヒューマンインターフェースデバイス、ヒューマンアクセス可能な記憶装置、およびネットワークインターフェースは、コンピュータシステム1600のコア1640に取り付けることができる。
【０１２１】
コア1640は、1つまたは複数の中央処理ユニット（CPU）1641、グラフィックス処理ユニット（GPU）1642、フィールドプログラマブルゲート領域（FPGA）1643の形式の特殊なプログラマブル処理ユニット、特定のタスクのためのハードウェアアクセラレータ1644などを含むことができる。これらのデバイスは、読み取り専用メモリ（ROM）1645、ランダムアクセスメモリ（RAM）1646、ユーザがアクセスできない内部ハードドライブ、ソリッドステートドライブ（SSD）などの内部大容量記憶装置1647と共に、システムバス1648を介して接続され得る。一部のコンピュータシステムでは、システムバス1648は1つまたは複数の物理プラグの形でアクセスでき、追加のCPU、GPUなどによる拡張を可能にする。周辺機器は、コアのシステムバス1648に直接、または周辺バス1649を介して接続することができる。周辺バスのアーキテクチャには、周辺構成要素相互接続（PCI）、USBなどが含まれる。
【０１２２】
CPU1641、GPU1642、FPGA1643、およびアクセラレータ1644は、組み合わせて、前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM 1645またはRAM 1646に格納することができる。移行データもRAM 1646に保存することができるが、永続データは、例えば内部大容量記憶装置1647に格納することができる。任意のメモリデバイスへの高速ストレージとリトリーブは、1つまたは複数のCPU 1641、GPU 1642、大容量記憶装置1647、ROM 1645、RAM 1646などと密接に関連付けることができるキャッシュメモリを使用して有効にすることができる。
【０１２３】
コンピュータ可読媒体は、様々なコンピュータ実施動作を実行するためのコンピュータコードをその上に有することができる。メディアおよびコンピュータコードは、本開示の目的のために特別に設計および構築されたものであり得るか、またはそれらは、コンピュータソフトウェア技術の当業者に周知であり利用可能な種類のものであり得る。
【０１２４】
限定ではなく例として、アーキテクチャ1600、具体的にはコア1640を有するコンピュータシステムは、1つまたは複数の有形のコンピュータ可読媒体に組み込まれたソフトウェアを実行するプロセッサ（CPU、GPU、FPGA、アクセラレータなどを含む）の結果として機能を提供することができる。そのようなコンピュータ可読媒体は、上で紹介されたようなユーザがアクセス可能な大容量記憶装置、ならびにコア内部大容量記憶装置1647またはROM 1645などの非一時的な性質のコア1640の特定の記憶装置に関連する媒体であり得る。本開示の様々な実施形態を実装するソフトウェアは、そのようなデバイスに格納され、コア1640によって実行され得る。コンピュータ可読媒体は、特定のニーズに従って、1つまたは複数のメモリデバイスまたはチップを含むことができる。ソフトウェアは、コア1640とその中のプロセッサ（CPU、GPU、FPGAなどを含む）に、ソフトウェアで定義されたプロセスに従ってRAM 1646に格納されているデータ構造の定義やそのようなデータ構造の変更など、ここで説明する特定のプロセスまたは特定のプロセスの特定の部分を実行させることができる。加えて、または代替例として、コンピュータシステムは、ハードウェアに組み込まれた、または回路（例えばアクセラレータ1644）に組み込まれたロジックの結果として、ここで説明する特定のプロセスまたは特定のプロセスの特定の部分を実行するソフトウェアの代わりにまたは一緒に動作できる機能を提供することができる。ソフトウェアへの言及はロジックを含むことができ、妥当な場合には、その逆も可能である。コンピュータ可読媒体への言及は、実行のためのソフトウェア、実行のためのロジックを具体化する回路、または妥当な場合には、その両方を格納する回路（集積回路（IC）など）を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【０１２５】
本開示はいくつかの例示的な実施形態を説明してきたが、本開示の範囲内にある変更、置換、および様々な代替均等物が存在する。したがって、当業者は、本明細書では明示的に示されていないか、または記載されていないが、本開示の原理を具現化し、したがってその趣旨および範囲内にある多数のシステムおよび方法を考案できることが理解されよう。
【０１２６】
略語：
量子化器パラメータ（QP）
多用途ビデオコーディング（VVC）
選択的転送ユニット（SFU）
補足拡張情報（SEI）
ビデオユーザビリティ情報（VUI）
画像のグループ（GOP）
コーディングユニット（CU）
変換ユニット（TU）
予測ユニット（PU）
仮想参照デコーダ（HRD）
信号対雑音比（SNR）
画像のグループ（GOP）
イントラ画像（I画像）
予測画像（P画像）
双方向予測画像（B画像）
高効率ビデオコーディング（HEVC）
高水準構文（HLS）
【符号の説明】
【０１２７】
101  地球儀
102  正距円筒投影
103  立方体マップ
104  二十面体
105  単一の平面
200  通信システム
210  第1の端末
220  第2の端末
230  端末
240  端末
250  通信ネットワーク
301  ビデオソース
302  非圧縮ビデオサンプルストリーム
303  ビデオエンコーダ
304  ビデオビットストリーム
305  ストリーミングサーバー
306  ストリーミングクライアント
307  ビデオビットストリーム
308  ストリーミングクライアント
309  ビデオビットストリーム
310  ビデオデコーダ
311  発信ビデオサンプルストリーム
312  ディスプレイ
313  キャプチャサブシステム
401  360ビデオキャプチャユニット
402  360対応ビデオカメラ
403  360画像
404  プロジェクタ
405  平面画像
406  平面エンコーダ
407  コード化されたビデオシーケンス
408  ストリーミングサーバー
409  360対応エンドポイント
410  平面デコーダ
411  デプロジェクタ
412  疑似3D可能なスクリーン
413  従来のエンドポイント
414  メタ情報
415  360プロセッサ
416  レンダリングされた平面ビデオ
510  受信機
512  チャネル
515  バッファメモリ
520  パーサー
521  シンボル
551  スケーラ／逆変換ユニット
552  内部画像予測ユニット
553  動き補償予測ユニット
555  アグリゲータ
556  ループフィルタユニット
557  参照画像メモリ
630  ビデオコーダ／ソースコーダ
632  コーディングエンジン
633  ローカルビデオデコーダ
634  参照画像メモリ
635  予測器
640  送信機
643  コード化されたビデオシーケンス
645  エントロピーコーダ
650  コントローラ
660  通信チャネル
701  投影面
702  サンプル
703  サンプル
704  サンプル
705  カメラ
706  角度間隔
708  角度間隔
709  キャプチャの軸
710  球
711  キャプチャの軸
713  サンプル
714  サンプル
715  サンプル
716  仕切り
717  仕切り
801  地球
802  楕円
803  楕円
804  楕円
901  Kavrayskiy−VII投影
902  表面領域
903  北西半球
904  ブロック
905  ブロック
1000  プロセス
1001  ループ
1002  逆投影
1004  投影の増加
1101  太字の線
1102  表面領域
1103  逆投影
1104  正方形表面
1105  ブロック
1106  投影
1107  投影
1201  投影
1202  ブロック
1301  完全な投影
1302  三角形
1303  ブロック
1304  立方体投影
1305  立方体
1306  デルタQP値
1400  プロセス
1403  ビットストリーム
1404  デルタQPマップ
1406  逆量子化
1407  逆変換
1500  プロセス
1501  ブロック
1502  ブロック
1503  ブロック
1504  ブロック
1505  ブロック
1506  ブロック
1507  ブロック
1600  コンピュータシステム、アーキテクチャ
1601  キーボード
1602  マウス
1603  トラックパッド
1604  データグローブ
1605  ジョイスティック
1606  マイク
1607  スキャナ
1608  カメラ
1609  スピーカ
1610  タッチスクリーン
1621  媒体
1622  サムドライブ
1623  ソリッドステートドライブ
1640  コア
1641  中央処理ユニット（CPU）
1643  フィールドプログラマブルゲート領域（FPGA）
1644  ハードウェアアクセラレータ
1645  読み取り専用メモリ（ROM）
1646  ランダムアクセスメモリ（RAM）
1647  内部大容量記憶装置
1648  システムバス
1649  周辺バス
【図１】
2021516932.tif 000005
【図２】
2021516932.tif 000006
【図３】
2021516932.tif 000007
【図４】
2021516932.tif 000008
【図５】
2021516932.tif 000009
【図６】
2021516932.tif 000010
【図７】
2021516932.tif 000011
【図８】
2021516932.tif 000012
【図９】
2021516932.tif 000013
【図１０】
2021516932.tif 000014
【図１１】
2021516932.tif 000015
【図１２】
2021516932.tif 000016
【図１３】
2021516932.tif 000017
【図１４】
2021516932.tif 000018
【図１５】
2021516932.tif 000019
【図１６】
2021516932.tif 000020
【国際調査報告】
2021516932.tif 000021