(57)【特許請求の範囲】
【請求項１】
多方向画像コンテンツを含む入力画素ブロックを符号化するための方法であって、
検索ウィンドウ内にあるコンテンツ要素の球面ドメイン変換によって、前記入力画素ブロックの位置について前記検索ウィンドウの中の基準ピクチャのコンテンツを変換することであって、前記コンテンツ要素の各々は前記入力画素ブロックの前記位置と前記検索ウィンドウの中の前記コンテンツ要素の位置との間の変位に従い変換されることと、
前記球面ドメイン変換された基準ピクチャのコンテンツ内で予測検索を実行して、前記入力画素ブロックと前記変換された基準ピクチャのコンテンツとの間で一致があるかを識別することと、
前記一致があることが識別されると、前記一致している部分に関して前記入力画素ブロックを差分的に符号化することと、
を含む方法。
【請求項２】
前記変換することが、前記検索ウィンドウの各候補運動ベクトルに対して、前記候補運動ベクトルによって前記基準ピクチャから識別される基準ブロックを変換すること含む、請求項１に記載の方法。
【請求項３】
前記入力画素ブロックを含む画素ブロックの行に関して、前記変換することが、前記画素ブロックの行について検索ウィンドウの中の前記基準ピクチャのコンテンツを列に沿って垂直に変換することを含み、前記変換された基準ピクチャのコンテンツは前記行の他の画素ブロックの予測検索のために使用される、請求項１に記載の方法。
【請求項４】
前記入力画素ブロックを含む画素ブロックの列に関して、前記変換することが、前記画素ブロックの列について検索ウィンドウの中の前記基準ピクチャのコンテンツを行に沿って垂直に変換することを含み、前記変換された基準ピクチャのコンテンツは前記列の他の画素ブロックの予測検索のために使用される、請求項１に記載の方法。
【請求項５】
前記変換することが、前記入力画素ブロックを含むフレームに対して識別される運動の方向に沿った検索ウィンドウの中の前記基準ピクチャのコンテンツを変換することを含む、請求項１に記載の方法。
【請求項６】
前記符号化することがイントラ符号化であり、前記基準ピクチャは前記入力画素ブロックが位置する同じフレームの予め符号化されたデータの復号されたデータを含む、請求項１に記載の方法。
【請求項７】
前記符号化することがインター符号化であり、前記基準ピクチャは前記入力画素ブロックが位置するフレームの符号化の前に符号化された別のフレームの復号されたデータを含む、請求項１に記載の方法。
【請求項８】
前記多方向画像コンテンツが、魚眼レンズを有するマルチビューカメラによって生成される、請求項１に記載の方法。
【請求項９】
前記多方向画像コンテンツが、全方向カメラによって生成される、請求項１に記載の方法。
【請求項１０】
前記多方向画像コンテンツが、コンピュータアプリケーションによって生成される、請求項１に記載の方法。
【請求項１１】
前記符号化することが、
前記入力画素ブロックの画素と前記変換された基準ピクチャの前記一致している部分との間の差を表わす予測残差を算出することと、
前記予測残差を変換係数に変換することと、
前記変換係数を量子化することと、
前記量子化された係数をエントロピ符号化することと、
を含む、請求項１に記載の方法。
【請求項１２】
前記入力画素ブロックの符号化されたデータを用いて、前記基準ピクチャに対して実行される変換のタイプを識別するパラメータを送信することを更に含む、請求項１に記載の方法。
【請求項１３】
複数の入力画素ブロックを符号化することであって、それぞれ、
各画素ブロックに適用されるべき予測モードを推定することと、
前記推定された予測モードがインター符号化モードである場合に、前記それぞれの画素ブロックに対する前記変換することと、予測検索と、符号化と、を実行することと、
前記推定された予測モードがイントラ符号化モードである場合に、前記それぞれの画素ブロックに対する前記変換することと、予測検索と、符号化と、を省略することと、
によって符号化することを更に含む、請求項１に記載の方法。
【請求項１４】
前記入力画素ブロックが属するフレームの全体的な動きを推定することを更に含み、
前記変換することが前記入力画素ブロックのフレームに関して前記基準ピクチャを空間的に整列配置することを含む、
請求項１に記載の方法。
【請求項１５】
多方向画像コンテンツを含む入力画素ブロックを符号化するためのプログラム命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記プログラム命令は処理デバイスによって実行されると、前記処理デバイスに、
検索ウィンドウ内にあるコンテンツ要素の球面ドメイン変換によって、入力画素ブロックの位置について前記検索ウィンドウの中の基準ピクチャのコンテンツを変換させ、前記コンテンツ要素の各々は前記入力画素ブロックの前記位置と前記検索ウィンドウの中の前記コンテンツ要素の位置との間の変位に従い変換され、
前記球面ドメイン変換された基準ピクチャのコンテンツ内で予測検索を実行させて前記入力画素ブロックと前記変換された基準ピクチャのコンテンツの間で一致があるかを識別させ、
前記一致があることが識別されると、前記一致している部分に関して前記入力画素ブロックを差分的に符号化させる、コンピュータ可読記憶媒体。
【請求項１６】
前記変換が、前記検索ウィンドウの各候補運動ベクトルに対して、前記候補運動ベクトルによって前記基準ピクチャから識別される基準ブロックを変換すること含む、請求項１５に記載の媒体。
【請求項１７】
前記入力画素ブロックを含む画素ブロックの行に関して、前記変換が、前記画素ブロックの行について検索ウィンドウの中の前記基準ピクチャのコンテンツを列に沿って垂直に変換することを含み、前記変換された基準ピクチャのコンテンツは前記行の他の画素ブロックの予測検索のために使用される、請求項１５に記載の媒体。
【請求項１８】
前記入力画素ブロックを含む画素ブロックの列に関して、前記変換が、前記画素ブロックの列について検索ウィンドウの中の前記基準ピクチャのコンテンツを行に沿って垂直変換することを含み、前記変換された基準ピクチャのコンテンツは前記列の他の画素ブロックの予測検索のために使用される、請求項１５に記載の媒体。
【請求項１９】
前記多方向画像コンテンツが、魚眼レンズを有する多方向カメラによって生成される、請求項１５に記載の媒体。
【請求項２０】
前記多方向画像コンテンツが、全方向カメラによって生成される、請求項１５に記載の媒体。
【請求項２１】
前記多方向画像コンテンツが、コンピュータアプリケーションによって生成される、請求項１５に記載の媒体。
【請求項２２】
前記符号化することが、
前記入力画素ブロックの画素と前記変換された基準ピクチャの前記一致している部分の差を表わす予測残差を算出することと、
前記予測残差を変換係数に変換することと、
前記変換係数を量子化することと、
前記量子化された係数をエントロピ符号化することと、
を含む、請求項１５に記載の媒体。
【請求項２３】
前記プログラム命令が、前記デバイスに、前記入力画素ブロックの符号化されたデータを用いて、前記基準ピクチャに対して実行される変換のタイプを識別するパラメータを送信させる、請求項１５に記載の媒体。
【請求項２４】
画素ブロック符号器と、
前記画素ブロック符号器の出力に結合された入力を有する画素ブロック復号器と、
前記画素ブロック復号器からの画素ブロック出力を含む基準ピクチャを記憶する基準ピクチャ記憶と、
検索ウィンドウ内にあるコンテンツ要素の球面ドメイン変換によって、入力画素ブロックの位置について前記検索ウィンドウの中の基準ピクチャのコンテンツを変換することであって、前記コンテンツ要素の各々は前記入力画素ブロックの前記位置と前記検索ウィンドウの中の前記コンテンツ要素の位置との間の変位に従い変換される変換ユニットと、
前記基準ピクチャ記憶からの前記球面ドメイン変換後コンテンツ内で予測検索を実行し、前記入力画素ブロックと前記変換後のコンテンツの一致している部分との間の一致を識別する運動予測器と、
を備えるビデオ符号器。
【請求項２５】
前記検索ウィンドウの各候補運動ベクトルに対して、前記変換ユニットが前記候補運動ベクトルによって前記基準ピクチャから識別される基準ブロックを変換する、請求項２４に記載の符号器。
【請求項２６】
前記入力画素ブロックを含む画素ブロックの行に関して、前記変換ユニットが、前記画素ブロックの行について検索ウィンドウの中の前記基準ピクチャのコンテンツを列に沿って垂直に変換し、前記運動予測器が、前記行の他の画素ブロックの予測検索のために使用される前記変換された基準ピクチャのコンテンツを使用する、請求項２４に記載の符号器。
【請求項２７】
前記入力画素ブロックを含む画素ブロックの列に関して、前記変換ユニットが、前記画素ブロックの列について検索ウィンドウの中の前記基準ピクチャのコンテンツを行に沿って垂直に変換し、前記運動予測器が前記列の他の画素ブロックの予測検索のために使用される前記変換された基準ピクチャのコンテンツを使用する、請求項２４に記載の符号器。
【請求項２８】
前記変換することが、前記符号化された画素ブロックの前記他のデータで識別される変換のタイプに従って実行される、請求項２４に記載のビデオ符号器。
【発明の詳細な説明】
【背景技術】
【０００１】
本開示は、全方向及び多方向の画像及びビデオのための符号化技術に関する。
【０００２】
いくつかの最新の撮像アプリケーションは、カメラを中心とした複数の方向から画像データをキャプチャする。いくつかのカメラは画像キャプチャの間に旋回し、それによってカメラの有効視野を拡大する角度スイープ全体の画像データをカメラがキャプチャすることができる。いくつかの他のカメラは、いくつかの異なる視野の画像データをキャプチャする複数の撮像システムを有する。いずれの場合も、これらの複数のビューからキャプチャされる画像データのマージ又は「スティッチング」を表す集合画像を作成することができる。
【０００３】
多くの最新の符号化アプリケーションは、このような全方向又は多方向画像コンテンツを処理するようには設計されていない。このような符号化アプリケーションは、画像の中の画像データが「平面である」か又は単一の視野からキャプチャされるという仮定に基づいて設計される。したがって、符号化アプリケーションは、これらの全方向又は多方向画像をそれらの中に含まれる歪みとともに処理するときに起こり得る画像歪みの責任は取らない。これらの歪みは、通常のビデオ符号器が画像コンテンツの冗長性を認識するのを失敗させることがあり得て、それにより符号化が非効率的になる。
【０００４】
したがって、本発明者らは、全方向及び多方向画像コンテンツを処理することができて、歪みを制限することができる符号化技術用の技法の必要性を認める。
【図面の簡単な説明】
【０００５】
【図１】本開示の実施形態が使用され得るシステムを示す。
【図２】本開示の一実施形態に係る符号化システムの機能ブロック図である。
【図３】本開示の実施形態で使用される画像ソースを示す。
【図４】多方向撮像によってキャプチャされる例示的な正距円筒投影画像を示す。
【図５】球面画像において起こり得る歪み効果をモデル化する。
【図６】例示的な正距円筒フレームの例示的なオブジェクトの歪みを示すグラフである。
【図７】本開示の一実施形態に係る符号化方法を示す。
【図８】本開示の一実施形態に係る符号化方法を示す。
【図９】図８の方法に係る基準フレームデータに適用することができる変換を示す。
【図１０】本開示の一実施形態に係る符号化システムの機能ブロック図である。
【図１１】本開示の一実施形態に係る復号システムの機能ブロック図である。
【図１２】本開示の実施形態での使用に適したコンピュータシステムを示す。
【発明を実施するための形態】
【０００６】
本開示の実施形態は、球面画像及びビデオを符号化するための技術を提供する。符号化されるフレームの各画素ブロックに対して、エンコーダは、入力画素ブロックの位置と検索ウィンドウの中の基準ピクチャの部分とのそれぞれの間の変位に基づいて、入力画素ブロックの位置についての検索ウィンドウの中の基準ピクチャデータを変換することができる。エンコーダは変換された基準ピクチャデータの中の予測検索を実行して入力画素ブロックと一部の変換された基準ピクチャの間の一致を識別することができて、一致が識別されると、エンコーダは変換された基準ピクチャの一致している部分に関して差分的に入力画素ブロックを符号化することができる。変換は球面投影フォーマットによって基準ピクチャデータの画像コンテンツに課される歪みを打ち消すことができ、それによりコンテンツを入力ピクチャの画像コンテンツに整列配置する。
【０００７】
図１は、本開示の実施形態が使用され得るシステム１００を示す。システム１００は、ネットワーク１３０を介して相互接続される少なくとも２つの端末１１０〜１２０を含むことができる。第１の端末１１０は、多方向及び全方向ビデオを生成する画像ソースを有することができる。端末１１０は符号化システム及び送信システム（図示せず）も含んで、多方向ビデオの符号化表現を第２の端末１２０に送信することができ、そこで、それは消費されてもよい。例えば、第２の端末１２０は球面ビデオをローカルディスプレイに表示することができ、それは球面ビデオを修正するためにビデオ編集プログラムを実行することができるか、又は球面ビデオをアプリケーション（例えば、仮想現実プログラム）に組み込むことができ、頭部装着ディスプレイに現れることができ（例えば、仮想現実用途）、又は、それは後の使用のために球面ビデオを記憶することができる。
【０００８】
図１は、第１の端末１１０から第２の端末１２０への球面ビデオの一方向送信に適したコンポーネントを示す。いくつかの用途で、ビデオデータの双方向性の交換を提供することは適切であり得て、この場合、第２の端末１２０はそれ自身の画像ソース、ビデオ符号器及び送信器（図示せず）を含むことができ、第１の端末１１０はそれ自身の受信機及びディスプレイ（これも図示せず）を含むことができる。球面ビデオを双方向に交換することが望ましい場合、以下に述べられる技術は球面ビデオの一対の独立した一方向交換を生成するために繰り返すことができる。他の用途では、球面ビデオを一方向へ（例えば、第１の端末１１０から第２の端末１２０へ）送信して、「平面」ビデオ（例えば、限られた視野からのビデオ）を逆方向に送信することは、差し支えない。
【０００９】
図１において、第２の端末１２０はコンピュータディスプレイとして示すが、本開示の原理はそのように限定されるわけではない。本開示の実施形態は、ラップトップコンピュータ、タブレット型コンピュータ、スマートフォン、サーバ、メディアプレーヤ、仮想現実頭部装着ディスプレイ、拡張現実ディスプレイ、ホログラムディスプレイ及び／又は専用のテレビ会議装置での用途がある。ネットワーク１３０は、例えば、有線及び／又は無線通信ネットワークを含む端末１１０〜１２０の中の符号化ビデオデータを伝達する任意の数のネットワークを表す。通信ネットワーク１３０は、回線交換及び／又はパケット交換チャネルのデータを交換することができる。代表的なネットワークとしては、電気通信ネットワーク、ローカルエリアネットワーク、広域ネットワーク及び／又はインターネットを挙げることができる。本説明の目的上、ネットワーク１３０のアーキテクチャ及びトポロジは、以下に説明されない限り、本開示の動作にとって重要ではない。
【００１０】
図２は、本開示の一実施形態に係る符号化システム２００の機能ブロック図である。システム２００は、画像ソース２１０、画像処理システム２２０、ビデオ符号器２３０、ビデオ復号器２４０、基準ピクチャ記憶２５０、予測器２６０及び、任意選択的に、一対の球面変換ユニット２７０、２８０を含むことができる。画像ソース２１０は多方向画像として画像データを生成することができ、複数の方向に基準点周辺で拡がる視野の画像データを含む。画像処理システム２２０は必要に応じて画像ソース２１０から画像データを変換することができて、ビデオ符号器２３０の要件に適合する。ビデオ符号器２３０は、通常画像データの空間及び／又は時間的冗長性を利用することによって、その入力画像データの符号化表現を生成することができる。ビデオ符号器２３０は、送信され、及び／又は記憶されるときに、入力データより少ない帯域幅を消費する入力データの符号化表現を出力することができる。
【００１１】
ビデオ復号器２４０は、ビデオエンコーダ２３０によって実行された符号化動作を反転することができて、符号化ビデオデータから再構成されたピクチャを取得する。通常、ビデオ符号器２３０によって適用される符号化処理は損失性プロセスであり、それによって、再構成されたピクチャは元のピクチャと比較されるときに、種々のエラーを有することになる。ビデオ復号器２４０は、「基準ピクチャ」と呼ばれる選択された符号化ピクチャのピクチャを再構成することができて、復号された基準ピクチャを基準ピクチャ記憶２５０に記憶することができる。送信エラーがない場合、復号された基準ピクチャは、復号器（図２に示さず）によって取得される復号された基準ピクチャを複製する。
【００１２】
予測器２６０は新規な入力ピクチャのための予測基準を、それらが符号化される時に選択することができる。符号化されている入力ピクチャの各部分（便宜上「画素ブロック」と呼ぶ）に対して、予測器２６０は、符号化モードを選択することができて、符号化されている画素ブロックの予測基準検索として役立ち得る基準ピクチャの一部を識別することができる。符号化モードはイントラ符号化モードであってもよく、その場合には、予測基準は符号化されているピクチャの予め符号化された（及び、復号された）部分から引き出すことができる。あるいは、符号化モードはインター符号化モードであってもよく、その場合には、予測基準は他の予め符号化及び復号されたピクチャから引き出すことができる。
【００１３】
一実施形態において、予測器２６０は、入力ピクチャ及び球面投影表現に変換された基準ピクチャに作用して符号化されているピクチャの予測基準を検索することができる。球面変換ユニット２７０、２８０は、入力ピクチャ及び基準ピクチャを球面投影表現に変換することができる。
【００１４】
適切な予測基準が識別されると、予測器２６０は予測データをビデオ符号器２３０に与えることができる。ビデオ符号器２３０は、予測器２６０によって供給される予測データに関して、差分的に入力ビデオデータを符号化することができる。通常、予測動作及び差分符号化は、画素ブロックごとのベースで作用する。入力画素ブロックと予測画素ブロックの間の画素ごとの違いを表す予測残差は、更なる符号化動作の対象とすることができて、更に帯域幅を減らすことができる。
【００１５】
示されるように、出力されるビデオ符号器２３０による符号化ビデオデータは、送信及び／又は記憶されるときに、入力データより少ない帯域幅を消費するはずである。符号化システム２００は、符号化ビデオデータを出力装置２９０、例えば通信ネットワーク１３０（図１）全体に符号化ビデオデータを送信することができる送信器（図示せず）又は電子、磁気及び／又は光記憶媒体などの記憶装置（これも図示せず）に、出力することができる。
【００１６】
図３は、本開示の実施形態で使用される画像ソース３１０、３４０を示す。第１の画像ソースは図３（ａ）に示されるカメラ３１０でもよく、軸に沿って旋回する単一の画像センサ（図示せず）を有する。動作中、カメラ３１０は、それが所定の角距離（好ましくは、全３６０度）に沿って旋回するにつれて画像コンテンツをキャプチャすることができて、キャプチャされた画像コンテンツを３６０°画像にマージすることができる。キャプチャ動作により、所定の寸法Ｍ×Ｎ画素を有する正距円筒画像３２０を得ることができる。正距円筒ピクチャ３２０は、円筒状視野をデータの二次元アレイに分けるスライス３２２に沿って分割されていた多方向視野３２０を表すことができる。正距円筒ピクチャ３２０において、ピクチャ３２０のいずれのエッジ３２２、３２４上の画素も、それらが正距円筒画像３２０の異なるエッジに現れる場合であっても、隣接する画像コンテンツを表す。
【００１７】
任意選択的に、正距円筒画像３２０は、球面投影に変換することができる。球面変換ユニット２７０は、正距円筒ピクチャ３２０の中の位置（ｘ，ｙ）の画素データを、位置（θ、φ）に、以下のような変換に従って、球面投影３３０に沿って変換することができる：
θ＝ｘ＋θ0（式１）、及び
φ＝ｙ＋φ0（式２）であり、ここで、
θ及びφは球面投影３３０の位置の経度及び緯度をそれぞれ表し、θ0，φ0は球面投影３３０の原点を表し、ｘ及びｙは正距円筒ピクチャ３２０のソースデータの水平及び垂直座標を表す。
【００１８】
変換を適用するときに、球面変換ユニット２７０は正距円筒ピクチャ３２０の所定の行に沿って各画素位置を変換して球面投影３３０の赤道緯度でユニークな位置を有することができる。このような領域において、球面投影３３０の各位置は、正距円筒ピクチャ３２０の対応位置から画素値を割り当てることができる。特に球面投影３３０の極に向かう他の位置で、球面投影ユニット２７０は、正距円筒ピクチャ３２０から球面投影３３０の共通の位置までいくつかのソース位置をマッピングすることができる。このような場合には、球面投影ユニット２７０は、（例えば、正距円筒ピクチャ３２０の対応位置で画素値を平均することによって）正距円筒ピクチャ３２０の対応する画素値のブレンディングから、球面投影３３０の位置のための画素値を得ることができる。
【００１９】
図３（ｂ）は、別のタイプの画像ソースである全方向カメラ３４０の画像キャプチャ動作を示す。本実施形態において、カメラシステム３４０は、多方向キャプチャ動作を実行することができて、画像コンテンツが立方体マップキャプチャ３５０に従って配置される寸法Ｍ×Ｎ画素を有する立方体マップピクチャ３６０を出力することができる。画像キャプチャは、立方体マップレイアウトに従ってともにスティッチされる所定数（通常、６）の方向の画像データのそれぞれをキャプチャすることができる。図３に示す例において、左側ビュー３６１、正面ビュー３６２、右側ビュー３６３、背面ビュー３６４、上面ビュー３６５及び底面ビュー３６６に対応する６つのサブ画像は、それぞれのビューの間の画像コンテンツの「継ぎ目」に従って、多方向ピクチャ３６０の中にキャプチャ、スティッチ及び配置されてもよい。したがって、図３に示されるように、上面、左側、右側及び底面の画像のそれぞれからの画素と隣接している正面の画像からの画素は、それぞれ隣接しているサブ画像のコンテンツに隣接する画像コンテンツを表す。同様に、互いに隣接している右側及び背面画像からの画素は、隣接する画像コンテンツを表す。更に、背面画像の末端エッジ３６８からのコンテンツは、左側画像の対向する末端エッジ３６９からのコンテンツと隣接している。立方体マップピクチャ３６０はまた、いかなる画像にも属していない領域３６７．１〜３６７．４を有することもできる。
【００２０】
任意選択的に、立方体マップ画像３６０は、球面投影３３０に変換することができる。球面変換ユニット２７０は、立方体マップピクチャ３６０の中の位置（ｘ，ｙ）の画素データを、立方体マップの各サブ画像に由来する変換に従って、球面投影３３０に沿って位置（θ，φ）に変換することができる。図３は、生成される球面投影３３０に重畳される画像キャプチャ３６０の６つの表面３６１〜３６６を示す。画像キャプチャの各サブ画像は、球面投影３３０の表面の所定の角度領域に対応する。したがって、前面３６２の画像データは球面投影の表面上の所定の部分に投影することができて、左側、右側、背面、上面及び底部のサブ画像の画像データは球面投影３３０の表面の対応する部分に投影することができる。
【００２１】
正方形のサブ画像を有する、すなわち、サブ画像３６１〜３６６の高さ及び幅が等しい立方体マップでは、各サブ画像は投影面の９０°×９０°領域に投影される。したがって、サブ画像を有する各位置ｘ，ｙは、φ＝ｆk（ｘ，ｙ）及びθ＝ｇk（ｘ，ｙ）の形式のサイン波射影関数に基づいて球面投影３３０上のθ，φ位置にマッピングし、ここで、ｘ，ｙは、上面、底面、前面、右側、左側、右側に対する立方体表面ｋの中心からの変位を表し、θ，φは球面の角度偏移を表す。
【００２２】
変換を適用するときに、立方体マップピクチャ３６０のいくつかの画素位置は球面投影３３０のユニークな位置にマッピングすることができる。このような領域において、球面投影３３０の各位置は、立方体マップピクチャ３６０の対応位置から画素値を割り当てることができる。特にそれぞれのサブ画像のエッジに向かう他の位置で、球面投影ユニット２７０は、立方体マップピクチャ３６０のいくつかのソース位置から球面投影４３０の共通の位置に画像データをマッピングすることができる。このような場合には、球面投影ユニット２７０は、（例えば、立方体マップピクチャ３６０の対応位置の加重平均画素値によって）立方体マップピクチャ３６０の対応する画素値のブレンディングから、球面投影４３０の位置のための画素値を得ることができる。
【００２３】
図３（ｃ）は、別のタイプの画像ソースの画像である、一対の魚眼レンズを有するカメラ３７０のキャプチャ動作を示す。本実施形態において、各レンズシステムは、対向する「ハーフシェル」を表わす異なる１８０°視野のデータをキャプチャする。カメラ３７０は、各レンズシステムから生成される画像のスティッチングから、画像３８０を生成することができる。魚眼レンズは、通常各ハーフシェル視野の中のオブジェクト位置に基づいて歪みを引き起こす。一実施形態において、多方向画像３８０は、球面投影３３０に変換することができる。
【００２４】
本開示の技術は、他のタイプの画像キャプチャ技術での用途がある。例えば、角錐台、四面体、八面体、十二面体及び正二十面体のベースの画像キャプチャ技術が採用されてもよい。そこから得られた画像は、類似した技術を通して球面投影にマッピングすることができる。
【００２５】
画像ソースはカメラを含む必要はない。他の実施形態において、画像ソース２１０（図２）は、３６０°画像データを生成するコンピュータアプリケーションであってもよい。例えば、ゲームアプリケーションは、３次元の仮想世界をモデル化することができて、合成コンテンツに基づいて球面画像を生成することができる。また、当然のことながら、球面画像は、コンピュータアプリケーションによって一緒にマージされた自然のコンテンツ（カメラから生成されるコンテンツ）及び合成コンテンツ（コンピュータグラフィックコンテンツ）を含むことができる。
【００２６】
多方向撮像システムは、通常は画像コンテンツの空間歪みを含む画像データを生成する。図４は、多方向撮像システムによってキャプチャされる例示的な正距円筒画像を示す。画像は、とりわけ、それぞれ同じサイズの２つのオブジェクトＯｂｊ１及びＯｂｊ２を示す。多方向撮像システムによってキャプチャされると、オブジェクトは正距円筒画像のそれらの位置に基づいて異なるサイズを有するように見える。例えば、オブジェクトＯｂｊ１は、中心軸４１０、４２０のかなり近くに位置し、その結果、オブジェクトＯｂｊ２より低いレベルの歪みを呈する。それでも、オブジェクトＯｂｊ１のエッジは、水平軸４１０により近いオブジェクトの部分よりも大きい程度まで歪み（直線の曲率）を示す。オブジェクトＯｂｊ２は、オブジェクトＯｂｊ１のいかなる部分より非常に遠くに水平軸４１０から変位され、そして、結果として、図４の具体例のオブジェクトＯｂｊ１の高さの約３２％であるオブジェクトの高さ及びオブジェクトＯｂｊ１の水平画像コンポーネントの曲率の両方ともを歪ませる。
【００２７】
図５は、球面画像投影において生じ得る歪み効果をモデル化する。二次元の「平面」ビデオにおいては、オブジェクトの横方向の動きは平面画像センサによってキャプチャされ、これにより移動するオブジェクトのサイズは一貫したままである。このような画像データが球面に投影されるときに、オブジェクトの動きは画像データの歪みを生じさせることがあり得る。図５に示される例を考慮すると、長さｌを有するオブジェクト５１０が、オブジェクトの運動平面５２０の中心の位置から、距離ｙだけ中心から離れた別の位置へ移動する。説明の目的のために、オブジェクト５１０が球面投影の中心から共通の距離ｄに位置すると仮定することができる。
【００２８】
数学的に、歪みは以下のようにモデル化することができる。
【数１】
0006899443.tif 000002
したがって、オブジェクトが投影視野の中心ｙ0から距離ｙだけ移動すると、球面投影のオブジェクトの長さｌの比率は以下のように与えることができる。
【数２】
0006899443.tif 000003
オブジェクトの見かけの長さは、投影の中心から、その変位に基づいて変化する。
【００２９】
図６は、例示的な正距円筒フレームの例示的なオブジェクトの歪みを示しているグラフである。ここで、正距円筒画像は、３，８２０画素×１，９２０画素のサイズである。球面投影において、球体の各角単位は、したがって、
【数３】
0006899443.tif 000004
ラジアンとすることができ、長さｌは、１に等しい単一の画素の高さである。距離ｄは、
【数４】
0006899443.tif 000005
とすることができる。図６は、ｙが０から９６０に変化するのにつれた、長さｌの歪みを示す。
【００３０】
図４に示すように、図６において、そして、式（１）〜（５）において記載されている歪みは、同時に複数の次元で生じ得る。したがって、オブジェクト４１０が正距円筒ソース画像に対して垂直方向に移動すると、歪みは垂直方向に生じ得る。オブジェクトが正距円筒ソース画像に対して水平方向に移動すると、更なる歪みが水平方向に生じ得る。したがって、上記の式（１）〜（５）は、水平方向Ｘにおける横方向の移動に以下のように適用され得る。
【数５】
0006899443.tif 000006
したがって、オブジェクトが投影視野の中心のｘ0から距離ｘだけ移動すると、球面投影最大のオブジェクトの幅ｗの比率は以下のように与えられ得る。
【数６】
0006899443.tif 000007
【００３１】
本開示の実施形態によれば、端末は、オブジェクトが球面ドメイン表現又は正距円筒表現に投影されたときに画像データ内で発生する可能性が高い歪みをモデル化し、次いで、そのモデルを使用して球面ドメイン又は正距円筒表現のデータを補正して、歪みを打ち消すことができる。
【００３２】
高レベルでは、本開示の実施形態は候補基準フレームデータに変換を実行して、マルチ画像で生じる歪みを反転する。例えば、図４に戻って、オブジェクトＯｂｊ２の画像データが基準フレームに存在する場合、オブジェクトＯｂｊ２の画像データは符号化される入力フレームに現れるオブジェクトＯｂｊ１の適切な予測基準として機能することができる。２つのオブジェクトは、同じ画像コンテンツを有して、撮像プロセスから生じる歪みがない限り、同じサイズである。本開示の実施形態は式（５）及び（１０）で識別される関係に従って基準ピクチャデータを変換して、符号化されている画像データに対してより良好な適合を提供することができる変換された基準ピクチャデータを生成する。
【００３３】
図７は、本開示の一実施形態に係る符号化方法７００を示す。方法７００は、画素ブロックごとのベースで動作して、符号化されるべき新規な入力ピクチャを符号化することができる。方法７００は、撮像歪みを打ち消すために変換される入力画素ブロックデータと基準ピクチャデータの間の比較から、予測検索を実行することができる（ボックス７１０）。適切な予測基準が見つかると、方法７００は、予測の根拠として変換された基準ピクチャデータ（便宜上「基準ブロック」）を使用して、差分的に入力画素ブロックを符号化することができる（ボックス７２０）。通常、この差分符号化は、入力画素ブロックデータからの予測ブロックデータの画素ごとの減算からの画素残差の算出（ボックス８２２）及び、そこから取得される画素残差の変換操作、量子化及びエントロピ符号化（ボックス７２４）を含む。この点に関しては、方法７００は、ＩＴＵ  Ｈ．２６５（「ＨＥＶＣ」としても知られる）、Ｈ．２６４（「ＡＶＣ」としても知られる）又は先行の符号化仕様などの、一般的な符号化仕様によって定義される符号化プロトコルを厳守することができる。これらの仕様は、画素ブロックを定義するための、予測基準に対する検索ウィンドウを定義するための、そして、基準ブロックを参照して画素ブロックの差分符号化を実行するための、プロトコルを定義する。方法７００はまた、運動ベクトルの球面ドメイン表現を符号器ドメイン表現に変換することができ、この表現がビデオ符号化仕様によって使用される（ボックス７２６）。方法７００は、符号化された画素残差、運動ベクトル及び予測と関連付けられた他のメタデータ（通常は、符号化モードインジケータ及び基準ピクチャＩＤ）を出力することができる（ボックス７２８）。
【００３４】
予測検索（ボックス７１０）は、撮像によって引き起こされた歪みを反転する基準ピクチャデータの変換を含むことができる。予測検索の検索ウィンドウにおいて利用可能な各候補運動ベクトルに対して、方法７００は、入力画素ブロックからの運動ベクトルによって表される空間変位に基づいて、基準フレームを変換することができる（ボックス７１２）。方法７００は、候補運動ベクトルが使用される場合に取得されるであろう予測残差を推定することができる（ボックス７１４）。これらの計算は、入力画素ブロックの画素ごとの比較及び運動ベクトルに対応する変換された基準フレームによって実行することができる。通常は、比較が高規模及び高分散の画素残差を生成する場合、それは低規模及び低分散を有する画素残差を生成する他の基準ブロックの比較より低い符号化効率を示す。方法７００はまた、変換された基準ブロックが使用される場合に起こるであろう符号化歪みを推定することができる（ボックス７１６）。これらの計算は、入力画素ブロックに適用されると予測される量子化パラメータレベルに基づいて、画素残差の損失を推定することによって実行され得る。考慮中のすべての候補運動ベクトルに対して推定値が一旦取得されると、方法７００は全体の符号化コストを最小化する運動ベクトルを選択することができる（ボックス７１８）。
【００３５】
例えば、運動ベクトルｍｖに従って生成される候補「基準ブロック」ＢＬＫmvに関する入力画素ブロックの符号化コストＪは、以下のように与えることができる。
Ｊ＝Ｂｉｔｓ（ＢＬＫmv）＋ｋ*ＤＩＳＴ（ＢＬＫmv）（１１）、ここで、
Ｂｉｔｓ（ＢＬＫmv）は、基準ブロックＢＬＫmvを参照して入力画素ブロックを符号化するために必要とされる推定されるビット数を表し、ＤＩＳＴ（ＢＬＫmv）は、基準ブロックＢＬＫmvを参照して入力画素ブロックを符号化することから取得される歪みを表し、ｋは、これらの因子の寄与のバランスをとるためにオペレータ選択されたスカラーでもよい。説明されるように、方法７００は値Ｊを最小化する運動ベクトルを選択するために実行されてもよい。
【００３６】
一実施形態において、変換は、式（５）及び（１０）によって表される歪みを反転するために実行されてもよい。
【００３７】
図７の実施形態は、考慮されている各候補運動ベクトルのための基準フレームデータの１つの変換を伴う。他の実施形態においては、基準フレーム前処理を実行することができ、それは処理リソースを節約することができる。
【００３８】
図８は、本開示の一実施形態に係る符号化方法８００を示す。方法８００は、画素ブロックごとのベースで動作して、符号化されるべき新規な入力ピクチャを符号化することができる。方法８００は、撮像歪みを打ち消すために変換される入力画素ブロックデータと基準ピクチャデータの間の比較から、予測検索を実行することができる（ボックス８１０）。適切な予測基準が見つかると、方法８００は予測の根拠として変換された基準ピクチャデータ（再び便宜上、「基準ブロック」）を使用して、差分的に入力画素ブロックを符号化することができる（ボックス８２０）。通常、この差分符号化は、入力画素ブロックデータからの予測ブロックデータの画素ごとの減算からの画素残差の算出（ボックス８２２）及び、そこから取得される画素残差の変換操作、量子化及びエントロピ符号化（ボックス８２４）を含む。この点に関しては、方法８００は、ＩＴＵ  Ｈ．２６５（「ＨＥＶＣ」としても知られる）、Ｈ．２６４（「ＡＶＣ」としても知られる）又は先行の符号化仕様などの、一般的な符号化仕様によって定義される符号化プロトコルを厳守することができる。これらの仕様は、画素ブロックを定義するための、予測基準に対する検索ウィンドウを定義するための、そして、基準ブロックを参照して画素ブロックの差分符号化を実行するための、プロトコルを定義する。方法８００はまた、運動ベクトルの球面ドメイン表現を符号器ドメイン表現に変換することができ、この表現がビデオ符号化仕様によって使用される（ボックス８２６）。方法８００は、符号化された画素残差、運動ベクトル及び予測と関連付けられた他のメタデータ（通常は、符号化モードインジケータ及び基準ピクチャＩＤ）を出力することができる（ボックス８２８）。
【００３９】
一実施形態において、予測検索（ボックス８１０）は、帯域幅節約と、処理リソースコストを伴う情報損失とのバランスをとるために実行することができる。各候補運動ベクトルｍｖに対して、方法８００は、最初に垂直方向ｙに沿った入力画素ブロックに関して基準ピクチャを変換することができる（ボックス８１１）。この変換は、符号化されている入力画素ブロックから、その垂直変位に基づいて予測検索の検索ウィンドウの中で、基準ピクチャデータを基本的に変換する。その後、方法８００は、検索ウィンドウの各候補ｘ値に対して、運動ベクトルが使用される場合に生じるであろう予測残差を推定することができ（ボックス８１２）、更に結果として得られる歪みを推定することができる（ボックス８１３）。その後、方法８００は、水平方向ｘに沿った入力画素ブロックに関して基準ピクチャを変換することができる（ボックス８１４）。この変換は、符号化されている入力画素ブロックから、その水平変位に基づいて予測検索の検索ウィンドウの中で、基準ピクチャデータを基本的に変換する。方法８００は、検索ウィンドウの各候補ｙ値に対して、運動ベクトルが使用される場合に生じるであろう予測残差を推定することができ（ボックス８１５）、更に結果として得られる歪みを推定することができる（ボックス８１６）。考慮中のすべての候補運動ベクトルに対して推定値が一旦取得されると、方法８００は全体の符号化コストを最小化する運動ベクトルを選択することができる（ボックス８１８）。
【００４０】
示されるように、基本的にボックス８１１及び８１４において実行される変換は、基準画像データを行ベース（ボックス８１１）及び列ベース（ボックス８１４）で入力画素ブロックに整列配置する変換を生じさせる。これらの変換の結果は、それぞれ行ベース又は列ベースで入力画素ブロックにまた整列配置される他の入力画素ブロックの符号化に再利用することができる。言い換えれば、図８の方法８００を採用するシステムは、ボックス８１１の下で単一の変換を実行して、共通の行のすべての入力画素ブロックに対する符号化コスト及び歪みを推定することができる。更に、図８の方法８００を採用するシステムは、ボックス８１４の下で単一の変換を実行して、共通の列のすべての入力画素ブロックに対する符号化コスト及び歪みを推定することができる。したがって、方法８００の動作は、図７の方法７００の動作を上回る処理リソースを節約することが期待される。
【００４１】
図９は、図８の方法８００に係る基準フレームデータに適用することができる変換を示す。図９（ａ）は、例示的な符号化される入力画素ブロックＰＢi,jと基準フレームデータ９００の間の関係を示す。入力画素ブロックＰＢi,jは、符号器が画素ブロックＰＢi,jの予測の根拠として使用されるようにそこから基準フレームデータ９００を選択することができる、検索ウィンドウＳＷを定義する位置ｉ，ｊを有する。符号化の間、方法８００は、適切な基準ブロックが基準ピクチャで見つかり得るかどうか判定するために、検索ウィンドウＳＷの中で候補運動ベクトルｍｖ１、ｍｖ２などをテストすることができる。
【００４２】
図９（ｂ）は、ボックス８１１に従って実行され得る基準フレームデータの例示的な変換を示す。図示するように、基準フレームデータは、符号化されている画素ブロックＰＢi,jと基準フレームデータの間の垂直変位に基づいて変換することができる。図９に示す例において、変換操作は、垂直変位に基づいて基準フレームコンテンツを基本的にストレッチする。ストレッチングの程度は、入力画素ブロックからの変位が増加するにつれて増加する。この方法は、ソース基準フレームデータ９００よりもむしろストレッチされた基準フレームデータ９１０の範囲内の候補運動ベクトルをテストすることができる。図４に示すように、オブジェクトＯｂｊ２のストレッチされたデータは、オブジェクトＯｂｊ２のソースデータよりも良好な予測のソースをオブジェクトＯｂｊ１のために提供することができる。
【００４３】
他の使用事例においては、画像データはストレッチされる必要はない。例えば、図４のオブジェクトＯｂｊ２の画像コンテンツの符号化の間、基準フレームは、オブジェクトＯｂｊ１に対応する位置のオブジェクトのコンテンツを含むことができる。この場合、基準フレームからの画像データは、適切な予測一致をオブジェクトＯｂｊ２に提供するために、空間的に凝縮されてもよい。したがって、ストレッチングのタイプは、拡張又は収縮にかかわらず、符号化されている画素ブロックＰＢi,jと基準フレームデータの間の変位、また更には符号化されている画素ブロックＰＢi,jの位置に基づいて決定することができる。
【００４４】
図９（ｂ）に示すように、方法８００は、共通の行のすべての画素ブロックＰＢ0,j〜ＰＢmax,jの予測検索のために役割を果たす、基準フレームデータ９１０の単一の変換操作を実行することができる。したがって、図８の方法８００は、図７の方法７００と比較して、処理リソースを節約することが期待される。
【００４５】
図９（ｃ）は、ボックス８１４に従って実行され得る基準フレームデータの例示的な変換を示す。図示するように、基準フレームデータ９００は、符号化されている画素ブロックＰＢi,jと基準フレームデータの間の水平変位に基づいて変換することができる。図９（ｃ）に図示す例において、変換操作は、水平変位に基づいて基準フレームコンテンツを基本的にストレッチする。ストレッチングの程度は、入力画素ブロックからの変位が増加するにつれて増加する。この方法は、ソース基準フレームデータ９００よりもむしろストレッチされた基準フレームデータ９２０の範囲内の候補運動ベクトルをテストすることができる。
【００４６】
画像データは、すべての場合にストレッチされる必要があるというわけではない。図９（ｂ）の例と同様に、ストレッチングのタイプは、拡張又は収縮にかかわらず、符号化されている画素ブロックＰＢi,jと基準フレームデータの間の変位、また更には符号化されている画素ブロックＰＢi,jの位置に基づいて決定することができる。
【００４７】
図９（ｃ）に示すように、方法８００は、共通の行のすべての画素ブロックＰＢi,0〜ＰＢi,maxの予測検索のために役割を果たす、基準フレームデータ９１０の単一の変換操作を実行することができる。ここでも、図８の方法８００は、図７の方法７００と比較して、処理リソースを節約することが期待される。
【００４８】
更なるリソースの節約は、運動ベクトルベースの符号化が実行されるかどうか予測することによって、方法７００及び／又は８００のために採用することができる。例えば、周囲動作状況に基づいて、所与のフレームに対しても、又は、フレームコンテンツの一部に対しても、インター予測が使用されないと推定することができる。このような状況では、予測検索７１０及び／又は８１０は省略されてもよい。別の実施形態では、周囲動作状況は、入力データの行に沿った、又は列に沿った運動の可能性がより高いことを示し得る。このようなインジケーションは、画像データを提供するデバイスによって、又は画像コンテンツの中の運動のフレーム間分析から提供される、運動センサデータから導出されてもよい。このような場合、方法８００は、行ベースの運動に対するボックス８１４〜８１６の動作を省略するか、又は列の運動に対するボックス８１１〜８１３の動作を省略するように実行することができる。あるいは、方法８００は推定された運動方向に沿って変換を実行することができ、それは画像データ（例えば、斜めベクトル）の行又は列に整列配置される必要はない。
【００４９】
他の実施形態では、符号器は、変換を実行するフレーム領域のサブセットを選択することができる。例えば、符号器は、変換が適用される必要がない各領域及び他の領域の前に、変換が適用されるべきコンテンツの領域を識別することができる。このような領域は、例えば、フレームコンテンツの分析に基づいて選択されて、閲覧者に対する関心領域（例えば、顔、体又は他の所定のコンテンツ）である可能性が高いフレームコンテンツのオブジェクトを識別することができる。このような領域は画像データの中でフォアグラウンドコンテンツを識別するフレームコンテンツの分析に基づいて選択することができ、それは指定された関心部分でもよい。更に、このような領域は、ディスプレイ装置１２０（図１）によって報告される表示活動に基づいて選択されてもよく、例えば、エンコーダが、正距円筒画像の一部だけがディスプレイ１２０にレンダリングされていることを示す通信をディスプレイ１２０から受信する場合、エンコーダは、レンダリングされている部分上のこのような変換を適用して、レンダリングされていない他の領域上の変換ベースの検索を見合わせるということを決定することができる。別の実施形態では、特に大きい運動の領域は、このような変換無しで符号化するように指定することができ、通常、大きい運動の領域の符号化損失は、小さい運動の領域の符号化損失ほど、人間の閲覧者に知覚可能ではない。
【００５０】
更なる実施形態では、変換は、全体的なカメラの動きに対処するために実行することができる。エンコーダは、運動センサ２９０（図２）からデータを受け取ることができるか又は、カメラが画像キャプチャの間移動していることを示す画像解析を実行することができる。画像プロセッサ２２０は基準フレーム上で画像変換動作を実行して、動作中に、カメラシステム２１０（図２）によって、基準フレームデータをフレーム出力に空間的に整列配置することができる。
【００５１】
本開示の原理は、イントラ符号化技術並びにインター符号化技術のために利用される予測基準データにあてはまる。インター符号化がフレームの間に画像データの時間的冗長性を利用する場合、イントラ符号化は単一フレームの中の空間冗長性を利用する。したがって、入力画素ブロックは、入力画素ブロックが存在する同じフレームの予め符号化されたデータを参照して符号化することができる。通常、ビデオ符号器は、入力フレームを所定の順序、例えば、ラスタースキャン順序で画素ブロックごとのベースで符号化する。したがって、フレームの中の中間点で入力画素ブロックを符号化するときに、エンコーダは符号化順序において入力画素ブロックに先行する他の画素ブロックの符号化画像データを有する。先行する画素ブロックの復号されたデータは、中間画素ブロックのデータが復号される時点でエンコーダ及び復号器の両方に利用可能でもよく、したがって、先行する画素ブロックを予測基準として使用することができる。
【００５２】
このような実施形態では、イントラ符号化のための予測検索動作は、入力画素ブロックと予測基準データの中の候補予測ブロック間の変位に従って、入力画素ブロックと、式（５）及び（１０）に従って変換された予測基準データ（同じフレームの予め符号化された画素ブロック）との間で実行され得る。したがって、本開示の技術はまた、イントラ符号化での使用の用途がある。
【００５３】
図１０は、本開示の一実施形態に係る符号化システム１０００の機能ブロック図である。システム１０００は、画素ブロック符号器１０１０と、画素ブロック復号器１０２０と、インループフィルタシステム１０３０と、基準ピクチャ記憶１０４０と、変換ユニット１０５０と、予測器１０６０と、コントローラ１０７０と、シンタックスユニット１０８０とを含むことができる。画素ブロック符号器及び復号器１０１０、１０２０並びに予測器１０６０は、ピクチャの個々の画素ブロックに対して繰返し動作することができる。予測器１０６０は、新たに提示された入力画素ブロックの符号化中に使用するためのデータを予測することができる。画素ブロック符号器１０１０は、予測符号化技術によって新規な画素ブロックを符号化し、符号化された画素ブロックデータをシンタックスユニット１０８０に提示することができる。画素ブロック復号器１０２０は、符号化された画素ブロックデータを復号し、そこから復号された画素ブロックデータを生成することができる。インループフィルタ１０３０は、画素ブロック復号器１０２０によって取得される復号された画素ブロックから組み立てられる復号されたピクチャに対して様々なフィルタリング動作を実行することができる。フィルタリングされたピクチャは、基準ピクチャ記憶１０４０に記憶することができ、それを後で受信した画素ブロックの予測のソースとして使用することができる。シンタックスユニット１０８０は、統制する符号化プロトコルに適合する符号化された画素ブロックデータからデータストリームを組み立てることができる。
【００５４】
画素ブロック符号器１０１０は、減算器１０１２と、変換ユニット１０１４と、量子化器１０１６と、エントロピ符号器１０１８とを含むことができる。画素ブロック符号器１０１０は、減算器１０１２で入力データの画素ブロックを受け入れることができる。減算器１０１２は、予測器１０６０から予測された画素ブロックを受信し、そこから入力画素ブロックと予測された画素ブロックの差を表す画素残差のアレイを生成することができる。変換ユニット１０１４は減算器１０１２からサンプルデータ出力に変換を適用し、画素ドメインから変換係数のドメインにデータを変換することができる。係数量子化器１０１６は、変換ユニット１０１４によって出力された変換係数の量子化を実行することができる。量子化器１０１６は、一様又は非一様量子化器とすることができる。エントロピ符号器１０１８は、例えば、可変長符号語により出力を符号化することにより、係数量子化器の出力の帯域幅を低減することができる。
【００５５】
変換ユニット１０１４は、コントローラ１０７０によって決定される様々な変換モードで動作することができる。例えば、変換ユニット１０１４は、離散型コサイン変換（discrete cosine transform、ＤＣＴ）、離散サイン変換（discrete sine transform、ＤＳＴ）、Ｗａｌｓｈ−Ｈａｄａｍａｒｄ変換、Ｈａａｒ変換、Ｄａｕｂｅｃｈｉｅｓウェーブレット変換などを適用することができる。一実施形態では、コントローラ１０７０は、変換ユニット１０１５によって適用される符号化モードＭを選択してもよく、それに応じて変換ユニット１０１５を構成してもよく、符号化されたビデオデータ中の符号化モードＭを明示的に又は暗示的にシグナリングしてもよい。
【００５６】
量子化器１０１６は、コントローラ１０７０によって供給される量子化パラメータＱPに従って作動することができる。一実施形態では、量子化パラメータＱPは、変換係数にマルチ値量子化パラメータとして適用されてもよく、このパラメータは、例えば、変換ドメイン画素ブロック内の異なる係数位置にわたって変動し得る。したがって、量子化パラメータＱPは、量子化パラメータアレイとして提供することができる。
【００５７】
画素ブロック復号器１０２０は、画素ブロック符号器１０１０の符号化動作を反転することができる。例えば、画素ブロック復号器１０２０は、逆量子化器１０２２と、逆変換ユニット１０２４と、加算器１０２６とを含むことができる。画素ブロック復号器１０２０は、量子化器１０１６の出力からその入力データを取ることができる。許容されてはいるが、画素ブロック復号器１０２０は、エントロピ符号化が無損失のイベントであるため、エントロピ符号化されたデータのエントロピ復号を実行する必要はない。逆量子化器１０２２は、画素ブロック符号器１０１０の量子化器１０１６の動作を反転することができる。逆量子化器１０２２は、復号された信号ＱPによって指定される一様又は非一様逆量子化を実行することができる。同様に、逆変換ユニット１０２４は、変換ユニット１０１４の動作を反転することができる。逆量子化器１０２２及び逆変換ユニット１０２４は、画素ブロック符号器１０１０のそれらの対応物として、同じ量子化パラメータＱP及び変換モードＭを使用することができる。量子化動作は、様々な点でデータを切り捨てることになる可能性があり、したがって逆量子化器１０２２によって回復されたデータは、画素ブロック符号器１０１０内の量子化器１０１６に提示されたデータと比較したとき、符号化誤差を有することになる可能性がある。
【００５８】
加算器１０２６は、減算器１０１２によって実行される動作を反転することができる。それは、残差信号を生成するのに減算器１０１２が使用したのと同じ予測画素ブロックを予測器１０６０から受信することができる。加算器１０２６は、予測画素ブロックを逆変換ユニット１０２４によって出力された再構成された残差値に加えることができ、再構成された画素ブロックデータを出力することができる。
【００５９】
インループフィルタ１０３０は、回復した画素ブロックデータに対して様々なフィルタリング動作を実行することができる。例えば、インループフィルタ１０３０は、デブロッキングフィルタ１０３２及びサンプル適応オフセット（sample adaptive offset、ＳＡＯ）フィルタ１０３３を含むことができる。デブロッキングフィルタ１０３２は、再構成された画素ブロック間の継ぎ目でデータをフィルタリングし、符号化に起因して発生する画素ブロック間の不連続性を低減することができる。ＳＡＯフィルタは、ＳＡＯの「タイプ」に従って、例えば、エッジ方向／形状及び／又は画素／色成分レベルに基づいて、オフセットを画素値に加えることができる。インループフィルタ１０３０は、コントローラ１０７０によって選択されたパラメータに従って動作することができる。
【００６０】
基準ピクチャ記憶１０４０は、後の他の画素ブロックの予測で使用するためにフィルタリングされた画素データを記憶することができる。異なる予測モードに対して異なる種類の予測データが、予測器１０６０にて利用可能になる。例えば、入力画素ブロックに対して、イントラ予測は、入力画素ブロックが位置する同じピクチャの復号されたデータから予測基準を取る。したがって、基準ピクチャ記憶１０４０は、それぞれのピクチャの復号された画素ブロックデータをそれが符号化されるにつれて記憶することができる。同じ入力画素ブロックに対して、インター予測は、基準ピクチャとして指定された予め符号化され復号されたピクチャ（単数又は複数）から予測基準を取ることができる。したがって、基準ピクチャ記憶１０４０は、これらの復号された基準ピクチャを記憶することができる。
【００６１】
変換ユニット１０５０は、前述の実施形態で論じたように、基準ピクチャデータの変換を実行することができる。したがって、入力画素ブロックと入力画素ブロックについての検索ウィンドウ内の基準ピクチャデータとの間の変位に基づいて、変換ユニット１０５０は、変換された基準ピクチャデータを生成することができる。変換ユニット１０５０は、変換された基準ピクチャデータを予測器１０６０に出力することができる。
【００６２】
説明したように、予測器１０６０は、残差を生成するために使用する予測データを画素ブロック符号器１０１０に供給することができる。予測器１０６０は、インター予測器１０６２と、イントラ予測器１０６３と、モード決定ユニット１０６４とを含むことができる。インター予測器１０６２は、符号化されることになる新しい画素ブロックを表す球面投影された画素ブロックデータを受信することができ、入力画素ブロックを符号化するのに使用するために基準ピクチャ（単数又は複数）からの画素ブロックデータに対して記憶１０４０からの基準ピクチャデータの球面投影を検索することができる。インター予測器１０６２は、Ｐモード符号化及びＢモード符号化などの複数の予測モードをサポートすることができる。インター予測器１０６２は、インター予測モード及び、符号化される入力画素ブロックに対する最も近い一致を提供する候補予測基準データの識別を選択することができる。インター予測器１０６２は、運動ベクトルなどの予測基準メタデータを生成し、どの基準ピクチャのどの部分（単数又は複数）が入力画素ブロックに対する予測のソース（単数又は複数）として選択されたかを識別することができる。
【００６３】
イントラ予測器１０６３は、イントラ（Ｉ）モード符号化をサポートすることができる。イントラ予測器１０６３は、球面投影された入力画素ブロックに対する最も近い一致を提供する符号化される画素ブロックと同じピクチャからの球面投影された画素ブロックデータの中から検索することができる。イントラ予測器１０６３はまた、予測基準インジケータを生成し、ピクチャのどの部分が入力画素ブロックに対する予測のソースとして選択されたかを識別することができる。
【００６４】
モード決定ユニット１０６４は、入力画素ブロックに適用されることになる最終の符号化モードを選択することができる。通常は、上述のように、モード決定ユニット１０６４は、与えられた目標ビットレートでビデオが復号されたときに最も小さい歪みを実現することになる予測モードを選択する。特定のチャネル挙動を満たすこと、又はランダムアクセス若しくはデータリフレッシュポリシーをサポートするといった、符号化システム１０００が準拠する他のポリシーを満たすように符号化モードが選択される場合に、例外が発生することがある。モード決定が最終的な符号化モードを選択すると、モード決定ユニット１０６４は、非球面投影基準ブロックをストア１０４０から画素ブロック符号器及び復号器１０１０、１０２０に出力することができ、選択されたモードに対応する予測基準インジケータとともに選択された予測モードの識別をコントローラ１０７０に供給することができる。
【００６５】
コントローラ１０７０は、符号化システム１０００の動作全体を制御することができる。コントローラ１０７０は、入力画素ブロック、並びにまた符号化ビットレート目標及び他の動作パラメータなどの外部制約条件の分析に基づいて、画素ブロック符号器１０１０及び予測器１０６０に対する動作パラメータを選択することができる。本説明に関連するように、それが量子化パラメータＱP、一様又は非一様量子化器の使用及び／又は変換モードＭを選択するとき、それらのパラメータをシンタックスユニット１０８０に提供することができ、これは、それらのパラメータを表すデータをシステム１０００によって出力される符号化されたビデオデータのデータストリームに含めることができる。
【００６６】
動作中、コントローラ１０７０は、量子化器１０１６及び変換ユニット１０１５の動作パラメータを画像データの異なる粒度で、画素ブロックごと又はより大きな粒度（例えば、ピクチャごと、スライスごと、最大符号化ユニット（largest coding unit、ＬＣＵ）ごと、又は別の領域）のいずれかで修正することができる。一実施形態では、量子化パラメータは、符号化されたピクチャ内の画素ごとに修正することができる。
【００６７】
加えて、説明したように、コントローラ１０７０は、インループフィルタ１０３０及び予測ユニット１０６０の動作を制御することができる。そのような制御としては、予測ユニット１０６０に対してはモード選択（ラムダ、テストされることになるモード、検索ウィンドウ、歪み戦略など）、及びインループフィルタ１０３０に対しては、フィルタパラメータの選択、パラメータの並べ替え、加重予測などを挙げることができる。
【００６８】
一実施形態では、予測器１０６０は、球面投影で入力画素ブロックデータ及び基準画素ブロックデータを使用して予測検索を実行することができる。このような予測技術の動作は、２０１６年１２月２３日に出願され、本出願の譲受人に譲渡された米国特許出願第１５／３９０，２０２号に記載されている。そのような実施形態では、符号器１０００は、予測器１０６０に入力される前に入力画素ブロックデータを球面ドメインに変換する球面変換ユニット１０９０を含むことができる。変換ユニット１０５０は、予測器１０６０に入力される前に、（上述の変換を実行することに加えて）球面ドメインに基準ピクチャデータを変換することができる。
【００６９】
図１１は、本開示の一実施形態に係る復号システム１１００の機能ブロック図である。復号システム１１００は、シンタックスユニット１１１０と、画素ブロック復号器１１２０と、インループフィルタ１１３０と、基準ピクチャ記憶１１４０と、変換ユニット１１５０と、予測器１１６０と、コントローラ１１７０とを含むことができる。シンタックスユニット１１１０は、符号化されたビデオデータストリームを受信することができ、符号化されたデータをその成分部分に解析することができる。符号化パラメータを表すデータは、コントローラ１１７０に供給することができ、符号化された残差を表すデータ（図１０の画素ブロック符号器１０１０によって出力されたデータ）は、画素ブロック復号器１１２０に供給することができる。画素ブロック復号器１１２０は、（図１０の）画素ブロック符号器１０１０によって提供される符号化動作を反転することができる。インループフィルタ１１３０は、再構成された画素ブロックデータをフィルタリングすることができる。再構成された画素ブロックデータは、表示のためにピクチャに組み立てて、復号システム１１００から出力ビデオとして出力することができる。ピクチャはまた、予測動作に使用するために予測バッファ１１４０に記憶することができる。変換ユニット１１５０は、前述の考察で説明したように、符号化された画素ブロックデータに含まれる運動ベクトルによって識別される基準ピクチャデータの変換を実行することができる。予測器１１６０は、符号化されたビデオデータストリーム内で受信した符号化データによって判定されたように、予測データを画素ブロック復号器１１２０に供給することができる。
【００７０】
画素ブロック復号器１１２０は、エントロピ復号器１１２２と、逆量子化器１１２４と、逆変換ユニット１１２６と、加算器１１２８とを含むことができる。エントロピ復号器１１２２は、エントロピ復号を実行し、（図１０の）エントロピ符号器１０１８によって実行されるプロセスを反転することができる。逆量子化器１１２４は、（図１０の）画素ブロック符号器１０１０の量子化器１０１６の動作を反転することができる。同様に、逆変換ユニット１１２６は、（図１０の）変換ユニット１０１４の動作を反転することができる。それらは、符号化されたビデオデータストリーム内で提供される量子化パラメータＱP及び変換モードＭを使用することができる。量子化は、データを切り捨てる可能性があるため、逆量子化器１１２４によって回復されたデータは、画素ブロック符号器１０１０内の対応物の（図１０の）量子化器１０１６に提示された入力データと比較したとき、符号化誤差を有することになる可能性がある。
【００７１】
加算器１１２８は、（図１０の）減算器１０１１によって実行される動作を反転することができる。それは、符号化されたビデオデータストリーム内の予測基準によって判定されたように、予測器１１６０から予測画素ブロックを受信することができる。加算器１１２８は、予測画素ブロックを逆変換ユニット１１２６によって出力された再構成された残差値に加えることができ、再構成された画素ブロックデータを出力することができる。
【００７２】
インループフィルタ１１３０は、再構成された画素ブロックデータに対して様々なフィルタリング動作を実行することができる。図示するように、インループフィルタ１１３０は、デブロッキングフィルタ１１３２及びＳＡＯフィルタ１１３４を含むことができる。デブロッキングフィルタ１１３２は、再構成された画素ブロック間の継ぎ目でデータをフィルタリングし、符号化に起因して発生する画素ブロック間の不連続性を低減することができる。ＳＡＯフィルタ１１３４は、ＳＡＯタイプに従って、例えば、エッジ方向／形状及び／又は画素レベルに基づいて、オフセットを画素値に加えることができる。他の種類のインループフィルタも同様に使用することができる。デブロッキングフィルタ１１３２及びＳＡＯフィルタ１１３４の動作は、理想的には、（図１０の）符号化システム１０００内のそれらに対応物の動作を模倣することになる。したがって、通信エラー又は他の異常がない場合、復号システム１１００のインループフィルタ１１３０から得られる復号されたピクチャは、（図１０の）符号化システム１０００のインループフィルタ１０３０から得られる復号されたピクチャと同じになり、このようにして、符号化システム１０００及び復号システム１１００は、それらの対応する基準ピクチャ記憶１０４０、１１４０に基準ピクチャの共通の組を記憶しなければならない。
【００７３】
基準ピクチャ記憶１１４０は、後の他の画素ブロックの予測で使用するためにフィルタリングされた画素データを記憶することができる。基準ピクチャ記憶１１４０は、イントラ予測に使用するために、それぞれのピクチャの復号された画素ブロックデータをそれが符号化されるにつれて記憶することができる。基準ピクチャ記憶１１４０は、復号された基準ピクチャを記憶することができる。
【００７４】
変換ユニット１１５０は、前述の実施形態で論じたように、基準ピクチャデータの変換を実行することができる。復号器１１００において、変換ユニット１１５０が符号化ビデオデータに含まれる運動ベクトルによって識別される基準ピクチャの変換を実行するのに十分である。運動ベクトルは、（図１０の）エンコーダ１０００が基準ブロックを導出した基準ピクチャの中の位置を復号器１１００に識別することができる。復号器の変換ユニット１１５０は、運動ベクトルを使用して、復号されている画素ブロック及び基準ブロックに基づいて、基準ピクチャデータの同じ変換操作を実行して、変換された基準ブロックデータを生成することができる。
【００７５】
説明したように、予測器１１６０は変換された基準ブロックデータを画素ブロック復号器１１２０に供給することができる。予測器１１６０は、符号化されたビデオデータストリーム内に供給される予測基準インジケータによって判定されたように、予測された画素ブロックデータを供給することができる。
【００７６】
コントローラ１１７０は、符号化システム１１００の動作全体を制御することができる。コントローラ１１７０は、符号化されたビデオデータストリーム内で受信したパラメータに基づいて、画素ブロック復号器１１２０及び予測器１１６０に対する動作パラメータを設定することができる。本説明に関連するように、これらの動作パラメータは、逆量子化器１１２４に対する量子化パラメータＱP及び逆変換ユニット１１１５に対する変換モードＭを含むことができる。説明したように、受信したパラメータは、画像データの様々な粒度で、例えば、画素ブロックごとに、ピクチャごとに、スライスごとに、ＬＣＵごとに、又は入力画像に対して定義された他の種類の領域に基づいて、設定することができる。
【００７７】
実際には、エンコーダ及び復号器はシグナリングを交換して、実行される符号化動作のパラメータを識別することができる。シグナリングは通常、このようなパラメータの通信のためのシンタックス要素を定義する、ＨＥＶＣ、ＡＶＣ及び関連したプロトコルなどの符号化プロトコルを参照して実行される。一実施形態では、前述の実施形態の技術は、以下のような、シーケンスパラメータデータセットに「ｒｅｆｅｒｅｎｃｅ＿ｃｏｒｒｅｃｔｉｏｎ＿ｉｄ」と呼ばれる新しいパラメータを追加するＨＥＶＣ符号プロトコルと統合されてもよい。
【表１】
0006899443.tif 000008
【００７８】
一実施形態では、ｒｅｆｅｒｅｎｃｅ＿ｃｏｒｒｅｃｔｉｏｎ＿ｉｄは、以下のような値をとることができる。
【表２】
0006899443.tif 000009
ここで、
ｒｅｆｅｒｅｎｃｅ＿ｃｏｒｒｅｃｔｉｏｎ＿ｉｄ＝０は、特別な取り扱いが行われないことを示し、
ｒｅｆｅｒｅｎｃｅ＿ｃｏｒｒｅｃｔｉｏｎ＿ｉｄ＝１は、水平歪み補正だけが実行されることを示し、
ｒｅｆｅｒｅｎｃｅ＿ｃｏｒｒｅｃｔｉｏｎ＿ｉｄ＝２は、垂直歪み補正だけが実行されることを示し、
ｒｅｆｅｒｅｎｃｅ＿ｃｏｒｒｅｃｔｉｏｎ＿ｉｄ＝３は、水平歪み補正が最初に実行され、続いて、異なる行における各ブロックについて垂直補正が実行されることを示し、
ｒｅｆｅｒｅｎｃｅ＿ｃｏｒｒｅｃｔｉｏｎ＿ｉｄ＝４は、垂直歪み補正が最初に実行され、続いて、異なる列における各ブロックについて水平補正が実行されることを示し、
ｒｅｆｅｒｅｎｃｅ＿ｃｏｒｒｅｃｔｉｏｎ＿ｉｄ＝５は、ブロック変換によるブロックが、予測検索索中に各基準候補に対して適用されることを示す。
【００７９】
当然のことながら、符号化パラメータは、所望され得るように、異なるシンタックスに従ってシグナリングされてもよい。
【００８０】
前述の考察では、本開示の実施形態の動作をビデオ符号器と復号器との関連で説明した。一般に、これらのコンポーネントは電子デバイスとして提供される。ビデオ復号器及び／又はコントローラは、特定用途向け集積回路、フィールドプログラマブルゲートアレイ及び／又はデジタル信号プロセッサなどの集積回路に具現化することができる。あるいは、それらは、カメラデバイス、パーソナルコンピュータ、ノートブックコンピュータ、タブレット型コンピュータ、スマートフォン又はコンピュータサーバ上で実行するコンピュータプログラムに具体化することができる。このようなコンピュータプログラムは、通常は、電子、磁気及び／又は光学ベースの記憶デバイスなどの物理記憶媒体に記憶され、それらがプロセッサに読み込まれて実行される。復号器は通常、スマートフォン、タブレット型コンピュータ、ゲームシステム、ＤＶＤプレーヤ、携帯メディアプレーヤなどのような民生電子機器内にパッケージされ、またビデオゲーム、メディアプレーヤ、メディアエディタなどのような民生用ソフトウェアアプリケーション内にパッケージすることもできる。そして、勿論、これらの構成要素は、必要に応じて、専用のハードウェア構成要素とプログラムされた汎用プロセッサにわたって機能性を分散するハイブリッドシステムとして提供することもできる。
【００８１】
例えば、本明細書に記載される技術は、コンピュータシステムの中央処理装置によって実行されてもよい。図１２は、このような技術を実行することができる例示的なコンピュータシステム１２００を示す。コンピュータシステム１２００は、互いに通信して提供される中央処理装置１２１０、１つ以上のカメラ１２２０、メモリ１２３０及び送受信機１２４０を含むことができる。カメラ１２２０は、画像キャプチャを実行することができて、キャプチャされた画像データをメモリ１２３０に記憶することができる。任意選択的に、デバイスは、必要に応じて、符号器１２５０及びディスプレイ１２６０などのシンク構成要素を含むこともできる。
【００８２】
中央処理装置１２１０は、システム１２００のオペレーティングシステム１２１２及び様々なアプリケーション１２１４．１〜１２１４．Ｎを定義するメモリ１２３０に記憶された様々なプログラム命令を読み取り、実行することができる。プログラム命令は、本明細書に記載される技術に従って、符号化モード制御を実行することができる。それがそれらのプログラム命令を実行するにつれて、中央処理装置１２１０は、メモリ１２３０から、カメラ１２２０又はアプリケーション１２１４．１〜１２１４．Ｎのいずれかによって作成された画像データを読み出すことができ、それは送信のために符号化され得る。中央処理装置１２１０は、図６の原理に従って動作するプログラムを実行することができる。あるいは、システム１２００は、スタンドアロン型処理システム及び／又は集積回路として提供される専用の符号器１２５０を有することができる。
【００８３】
示されるように、メモリ１２３０は、実行されるとプロセッサに上記の技術を実行させるプログラム命令を記憶することができる。メモリ１２３０は、プログラム命令を電気的、磁気的及び／又は、光学的ベースの記憶媒体に保存することができる。
【００８４】
送受信機１２４０は、送信単位を送信し、ネットワーク（図示せず）から確認応答メッセージを受信するための通信システムを表すことができる。中央処理装置１２１０がソフトウェアベースのビデオ符号器を動作させる実施形態において、送受信機１２４０は、確認応答メッセージの状態を表すデータを、プロセッサ１２１０による取り出しに対してメモリ１２３０に置くことができる。システム１２００が専用の符号器を有する実施形態において、送受信機１２４０は、状態情報を符号器１２５０と交換することができる。
【００８５】
前述の説明は、例示及び説明を目的として、提示されている。それは網羅的ではなく、本開示の実施形態を開示される正確な形に限定するものではない。修正及び変形は、上記の教示を考慮して可能であるか、又は本開示と整合した実践的実施形態から得ることができる。本明細書で別途記載のない限り、方法のいずれも任意の組み合わせで実施することができる。
【図１】
0006899443.tif 000010
【図２】
0006899443.tif 000011
【図３】
0006899443.tif 000012
【図４】
0006899443.tif 000013
【図５】
0006899443.tif 000014
【図６】
0006899443.tif 000015
【図７】
0006899443.tif 000016
【図８】
0006899443.tif 000017
【図９】
0006899443.tif 000018
【図１０】
0006899443.tif 000019
【図１１】
0006899443.tif 000020
【図１２】
0006899443.tif 000021