(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-14
(45)【発行日】2025-01-22
(54)【発明の名称】ビデオデータの符号化方式
(51)【国際特許分類】
H04N 19/597 20140101AFI20250115BHJP
【FI】
H04N19/597
(21)【出願番号】P 2022537120
(86)(22)【出願日】2020-12-17
(86)【国際出願番号】 EP2020086900
(87)【国際公開番号】W WO2021123072
(87)【国際公開日】2021-06-24
【審査請求日】2023-11-02
(32)【優先日】2019-12-18
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】590000248
【氏名又は名称】コーニンクレッカ フィリップス エヌ ヴェ
【氏名又は名称原語表記】Koninklijke Philips N.V.
【住所又は居所原語表記】High Tech Campus 52, 5656 AG Eindhoven,Netherlands
(74)【代理人】
【識別番号】100122769
【氏名又は名称】笛田 秀仙
(74)【代理人】
【識別番号】100163809
【氏名又は名称】五十嵐 貴裕
(74)【代理人】
【識別番号】100145654
【氏名又は名称】矢ヶ部 喜行
(72)【発明者】
【氏名】ソンネヴェルト バルトロメウス ウィルヘルムス ダミアヌス
(72)【発明者】
【氏名】ヴェールカンプ クリスティアーン
【審査官】松永 隆志
(56)【参考文献】
【文献】特開2010-218548(JP,A)
【文献】特開2013-137743(JP,A)
【文献】米国特許出願公開第2012/269458(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/597
(57)【特許請求の範囲】
【請求項1】
各ソースビューがテクスチャマップおよび奥行きマップを含む1つまたは複数のソースビューを有するビデオデータを符号化する方法であって、
前記ビデオデータを受信するステップと、
処理された奥行きマップを生成するために、少なくとも1つのソースビューの前記奥行きマップを処理するステップであって、当該処理が、
非線形フィルタリングされた奥行きマップを生成するための前記奥行きマップの非線形フィルタリングと、
前記処理された奥行きマップを生成するための前記非線形フィルタリングされた奥行きマップのダウンサンプリングと、を含むステップと、
ビデオビットストリームを生成するために、前記処理された奥行きマップおよび前記少なくとも1つのソースビューの前記テクスチャマップを符号化するステップと、を有し、
前記非線形フィルタリングが、前記奥行きマップ中の少なくとも1つの前景オブジェクトの領域を拡大することを含む、方法。
【請求項2】
前記非線形フィルタリングが、機械学習アルゴリズムを用いて設計されたフィルタを適用することを含む、請求項1に記載の方法。
【請求項3】
前記非線形フィルタリングが複数のレイヤを有するニューラルネットワークにより実行され、前記ダウンサンプリングが2つの前記レイヤの間に実行される、請求項1または2に記載の方法。
【請求項4】
複数の処理された奥行きマップのそれぞれを生成するために、処理パラメータの複数のセットにしたがって前記奥行きマップを処理するステップを有し、
前記処理パラメータが、実行される前記非線形フィルタリングの定義、実行される前記ダウンサンプリングの定義、前記奥行きマップを再構成するときにデコーダで実行されるべき処理動作の定義のうちの少なくとも1つを有し、
当該方法はさらに、
それぞれの前記処理された奥行きマップが符号化され復号された後の再構成された奥行きマップの再構成誤差を低減する前記処理パラメータのセットを選択するステップと、
前記選択されたパラメータのセットを特定するメタデータビットストリームを生成するステップと、
を有する請求項1から3のいずれか一項に記載の方法。
【請求項5】
1つまたは複数のソースビューを有するビデオデータを復号する方法であって、
少なくとも1つのソースビューの符号化された奥行きマップおよび符号化されたテクスチャマップを有するビデオビットストリームを受信するステップと、
復号された奥行きマップを生成するために、前記符号化された奥行きマップを復号するステップと、
復号されたテクスチャマップマップを生成するために、前記符号化されたテクスチャマップを復号するステップと、
再構成された奥行きマップを生成するために前記復号された奥行きマップを処理するステップであって、当該処理が、
アップサンプリングされた奥行きマップを生成するための前記復号された奥行きマップのアップサンプリングと、
前記再構成された奥行きマップを生成するための前記アップサンプリングされた奥行きマップの非線形フィルタリングと、
を含むステップと、を有し、
前記非線形フィルタリングが、前記奥行きマップ中の少なくとも1つの前景オブジェクトの領域を低減することを含む、方法。
【請求項6】
前記再構成された奥行きマップを生成するための前記復号された奥行きマップを処理するステップの前に、前記復号された奥行きマップが前記復号されたテクスチャマップより低い解像度を持つことを検出するステップをさらに有する、請求項5に記載の方法。
【請求項7】
前記復号された奥行きマップの処理が、前記復号されたテクスチャマップに少なくとも部分的に基づく、請求項5または6に記載の方法。
【請求項8】
前記復号された奥行きマップをアップサンプリングするステップと、
前記アップサンプリングされた奥行きマップ中の少なくとも1つの前景オブジェクトの周辺ピクセルを特定するステップと、
前記復号されたテクスチャマップに基づいて、前記周辺ピクセルが前記前景オブジェクトにより類似するか背景により類似するかを判定するステップと、
前記背景により類似すると判定された周辺ピクセルのみに非線形フィルタリングを適用するステップと、を有する請求項5から7のいずれか一項に記載の方法。
【請求項9】
前記非線形フィルタリングが、少なくとも1つの前景オブジェクトのエッジの平滑化を含む、請求項5から8のいずれか一項に記載の方法。
【請求項10】
前記ビデオビットストリームに関連するメタデータビットストリームを受信するステップをさらに有し、前記メタデータビットストリームが、実行されるべき前記非線形フィルタリングの定義および/または実行されるべきアップサンプリングの定義を含むパラメータのセットを特定し、
当該方法はさらに、前記特定されたパラメータのセットにしたがって前記復号された奥行きマップを処理するステップを有する、請求項5から9のいずれか一項に記載の方法。
【請求項11】
処理システムにより実行され、当該処理システムに請求項1から10のいずれか一項に記載の方法を実行させるためのコンピュータコードを有するコンピュータプログラム。
【請求項12】
各ソースビューがテクスチャマップおよび奥行きマップを含む1つまたは複数のソースビューを有するビデオデータを符号化するように構成されたビデオエンコーダであって、
前記ビデオデータを受信するように構成された入力部と、
処理された奥行きマップを生成するために、少なくとも1つのソースビューの前記奥行きマップを処理するように構成されたビデオプロセッサであって、前記処理が、
非線形フィルタリングされた奥行きマップを生成するための前記奥行きマップの非線形フィルタリングと、
前記処理された奥行きマップを生成するための前記非線形フィルタリングされた奥行きマップのダウンサンプリングと、を含むビデオプロセッサと、
ビデオビットストリームを生成するために、前記少なくとも1つのソースビューの前記テクスチャマップおよび前記処理された奥行きマップを符号化するように構成されたエンコーダと、
前記ビデオビットストリームを出力するように構成された出力部と、を有し、
前記非線形フィルタリングが、前記奥行きマップ中の少なくとも1つの前景オブジェクトの領域を拡大することを含む、ビデオエンコーダ。
【請求項13】
1つまたは複数のソースビューを有するビデオデータを復号するように構成されたビデオデコーダであって、
ビデオビットストリームを受信するように構成されたビットストリーム入力部であって、前記ビデオビットストリームが、少なくとも1つのソースビューのための符号化された奥行きマップおよび符号化されたテクスチャマップを含む、ビットストリーム入力部と、
復号された奥行きマップを生成するために、前記符号化された奥行きマップを前記ビデオビットストリームから復号するように構成された第1デコーダと、
復号されたテクスチャマップを生成するために、前記符号化されたテクスチャマップを前記ビデオビットストリームから復号するように構成された第2デコーダと、
再構成された奥行きマップを生成するために、前記復号された奥行きマップを処理するように構成された再構成プロセッサであって、当該処理が、
アップサンプリングされた奥行きマップを生成するための前記復号された奥行きマップのアップサンプリングと、
前記再構成された奥行きマップを生成するための前記アップサンプリングされた奥行きマップの非線形フィルタリングと、を含む再構成プロセッサと、
前記再構成された奥行きマップを出力するように構成された出力部と、
を有し、前記非線形フィルタリングが、前記奥行きマップ中の少なくとも1つの前景オブジェクトの領域を低減することを含む、ビデオデコーダ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオ符号化に関する。特に、本発明は、没入型ビデオを符号化及び復号するための方法及び装置に関する。
【背景技術】
【0002】
6自由度(6DoF)ビデオとしても知られる没入型ビデオは、位置及び向きが変化する視点についてシーンのビューを再構成することを可能にする3次元(3D)シーンのビデオである。これは、3自由度(3DoF)ビデオのさらなる発展を表し、任意の向きを有するが空間内の或る固定点のみにおける視点に対してビューが再構成されることを可能にする。3DoFでは、自由度は角度、すなわち、ピッチ、ロールおよびヨーである。3DoFビデオは頭部の回転をサポートし、言い換えれば、ビデオコンテンツを消費するユーザは、シーン内の任意の方向を見ることができるが、シーン内の異なる場所に移動することはできない。6DoFビデオは、頭部の回転をサポートし、さらに、シーンが観察されるシーン内の位置の選択をサポートする。
【0003】
6DoFビデオを生成するには、シーンを記録するために複数のカメラが必要である。各カメラは、画像データ(この文脈ではしばしばテクスチャデータと呼ばれる)および対応する奥行きデータを生成する。各ピクセルに対して、奥行きデータは、所与のカメラによって、対応する画像ピクセルデータが観察される奥行きを表す。複数のカメラのそれぞれは、シーンのそれぞれのビューを提供する。多くのアプリケーションにおいて、全てのビューについてテクスチャデータ及び奥行きデータの全てを送信することは、実用的又は効率的ではない場合がある。
【0004】
ビュー間の冗長性を低減するために、ビデオストリームの各フレームについて、ビューをプルーニングし、それらを「テクスチャアトラス」にパックすることが提案されている。このアプローチは、複数のビュー間の重なり合う部分を削減または排除し、それによって効率を改善することを試みる。プルーニング後に残る、それぞれのビューの重なり合わない部分は、「パッチ」と呼ばれることがある。このアプローチの例は、Alvaro Collet et al, "High-quality streamable free-viewpoint video"、 ACM Trans. Graphics (SIGGRAPH)、 34(4)、 2015に記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0005】
没入型ビデオの品質および符号化効率を改善することが望ましい。上述のように、テクスチャアトラスを生成するためにプルーニングを使用する(すなわち、冗長なテクスチャパッチを除外する)アプローチは、ピクセルレートを低減するのに役立つことができる。しかしながら、ビューのプルーニングは、多くの場合、詳細な分析を必要とするが、これはエラーフリーではなく、エンドユーザにとって品質の低下をもたらす可能性がある。したがって、ピクセルレートを低減するための堅牢で単純な方法が必要とされている。
【課題を解決するための手段】
【0006】
本発明は、請求項により規定される。
【0007】
本発明の一態様による例によれば、各ソースビューがテクスチャマップおよび奥行きマップを含む1つまたは複数のソースビューを含むビデオデータを符号化する方が提供され、当該方法は、
ビデオデータを受信するステップと、
処理された奥行きマップを生成するために少なくとも1つのソースビューの奥行きマップを処理するステップであって、
非線形フィルタリング、および、
ダウンサンプリングを含むステップと、
ビデオビットストリームを生成するために、処理された奥行きマップと前記少なくとも1つのソースビューのテクスチャマップを符号化するステップとを有する。
【0008】
好ましくは、非線形フィルタリングの少なくとも一部がダウンサンプリングの前に実行される。
【0009】
本発明者らは、ダウンサンプリング前の奥行きマップの非線形フィルタリングがダウンサンプリングによって導入される誤差の回避、低減、または緩和に役立つことを見出した。特に、非線形フィルタリングは、ダウンサンプリングに起因して、小さい又は薄い前景オブジェクトが奥行きマップから部分的に又は全体的に消失するのを防止するのに役立つことができる。線形フィルタリングは、前景オブジェクトと背景との間の境界において中間の奥行き値を導入し得るので、この点において、線形フィルタリングよりも好ましいことが分かっている。これは、デコーダがオブジェクト境界と大きな奥行き勾配とを区別することを困難にする。
【0010】
ビデオデータは、6DoF没入型ビデオを含むことができる。
【0011】
非線形フィルタリングは、奥行きマップ内の少なくとも1つの前景オブジェクトの領域を拡大することを含むことができる。
【0012】
ダウンサンプリングの前に前景オブジェクトを拡大することは、前景オブジェクトがダウンサンプリングプロセスをより良く生き残ること、言い換えれば、処理された奥行きマップにおいてより良く保存されることを確実にするのに役立つ。
【0013】
前景オブジェクトは、比較的小さい奥行きのピクセルの局所的なグループとして識別することができる。背景は、比較的大きな奥行きのピクセルとして識別できる。前景オブジェクトの周辺のピクセルは、例えば、奥行きマップ内の奥行き値に閾値を適用することによって、背景から局所的に区別することができる。
【0014】
非線形フィルタリングは、形態的フィルタリング、特にグレースケール形態的フィルタリング、例えば、最大フィルタ、最小フィルタ、または別の順序フィルタを含むことができる。奥行きマップが特別な意味を有する奥行きレベルを含む場合、例えば奥行きレベルゼロが有効でない奥行きを示す場合、そのような奥行きレベルは、それらの実際の値にもかかわらず、好ましくは前景と見なされるべきである。そのようにして、これらのレベルは、好ましくはサブサンプリング後に保存される。その結果、それらの領域も拡大されることができる。
【0015】
非線形フィルタリングは、機械学習アルゴリズムを使用して設計されたフィルタを適用することを含み得る。
【0016】
機械学習アルゴリズムは、処理された奥行きマップが符号化され、復号された後の再構成された奥行きマップの再構成誤差を低減または最小化するように訓練されてもよい。
【0017】
訓練されたフィルタは、同様に、処理された(ダウンサンプリングされた)奥行きマップ内の前景オブジェクトを保存するのに役立つことができる。
【0018】
本方法は、機械学習アルゴリズムを用いてフィルタを設計することを更に含み得、当該フィルタは、前記処理された奥行きマップが符号化及び復号化された後の再構成された奥行きマップの再構成誤差を低減するように設計され、前記非線形フィルタリングは、前記設計されたフィルタを適用することを含む。
【0019】
非線形フィルタリングは、ニューラルネットワークによる処理を含むことができ、フィルタの設計は、ニューラルネットワークを訓練することを含むことができる。
【0020】
非線形フィルタリングは、複数のレイヤを有するニューラルネットワークによって実行されてもよく、ダウンサンプリングは、レイヤのうちの2つの間で実行されてもよい。
【0021】
ダウンサンプリングは、ニューラルネットワークの最大プーリング(または最小プーリング)レイヤによって実行されてもよい。
【0022】
本方法は、処理パラメータの複数のセットに従って奥行きマップを処理して、それぞれの複数の処理された奥行きマップを生成するステップを含むことができ、本方法は、それぞれの処理された奥行きマップが符号化され復号された後の再構成された奥行きマップの再構成誤差を低減する処理パラメータのセットを選択するステップと、パラメータの選択されたセットを識別するメタデータビットストリームを生成するステップとをさらに含む。
【0023】
これにより、特定のアプリケーションまたは特定のビデオシーケンスに対してパラメータを最適化できる。
【0024】
処理パラメータは、非線形フィルタリングの定義および/または実行されるダウンサンプリングの定義を含むことができる。代替的にまたは追加的に、処理パラメータは、奥行きマップを再構成するときにデコーダにおいて実行されるべき処理動作の定義を含むことができる。
【0025】
処理パラメータの各セットについて、本方法は、処理パラメータのセットに従ってそれぞれの処理された奥行きマップを生成するステップと、符号化された奥行きマップを生成するために処理された奥行きマップを符号化するステップと、符号化された奥行きマップを復号するステップと、復号された奥行きマップから奥行きマップを再構成するステップと、再構成誤差を決定するために再構成された奥行きマップを少なくとも1つのソースビューの奥行きマップと比較するステップとを含むことができる。
【0026】
別の態様によれば、1つまたは複数のソースビューを有するビデオデータを復号する方法が提供され、当該方法は、
少なくとも1つのソースビューのための符号化された奥行きマップおよび符号化されたテクスチャマップを有するビデオビットストリームを受信するステップと、
復号された奥行きマップを生成するために、符号化された奥行きマップを復号するステップと、
復号されたテクスチャマップを生成するために、符号化されたテクスチャマップを復号するステップと、
再構成された奥行きマップを生成するために、復号された奥行きマップを処理するステップとを有し、当該処理は、
アップサンプリング、および
非線形フィルタリングを含む。
【0027】
本方法は、復号された奥行きマップを処理して再構成された奥行きマップを生成するステップの前に、復号された奥行きマップが復号されたテクスチャマップよりも低い解像度を有することを検出するステップをさらに含むことができる。
【0028】
いくつかの符号化スキームでは、奥行きマップは、特定の場合にのみ、または特定のビューに対してのみ、ダウンサンプリングされてもよい。復号された奥行きマップの解像度を復号されたテクスチャマップの解像度と比較することによって、この復号方法は、ダウンサンプリングがエンコーダで適用されたかどうかを判定することができる。これは、どの奥行きマップがダウンサンプリングされたか、およびそれらがダウンサンプリングされた程度を通知するためのメタデータビットストリームにおけるメタデータの必要性を回避することができる。(この例では、テクスチャマップはフル解像度で符号化されると仮定する。)
【0029】
再構成された奥行きマップを生成するために、復号された奥行きマップは、復号されたテクスチャマップと同じ解像度にアップサンプリングされてもよい。
【0030】
好ましくは、この復号方法における非線形フィルタリングは、符号化方法において適用された非線形フィルタリングの効果を補償するように適合される。
【0031】
非線形フィルタリングは、奥行きマップ内の少なくとも1つの前景オブジェクトの領域を縮小することを含むことができる。これは、符号化の間の非線形フィルタリングが少なくとも1つの前景オブジェクトの領域を増加させることを含む場合に適切であり得る。
【0032】
非線形フィルタリングは、形態的フィルタリング、特にグレースケール形態的フィルタリング、例えば、最大フィルタ、最小フィルタまたは別の順序フィルタを含むことができる。
【0033】
復号の間の非線形フィルタリングは、好ましくは、符号化の間の非線形フィルタリングの効果を補償するか、反転する。例えば、符号化の間の非線形フィルタリングが最大フィルタ(グレースケール拡張)を含む場合、復号の間の非線形フィルタリングは最小フィルタ(グレースケール侵食)を含むことができ、逆もまた同様である。奥行きマップが特別な意味を有する奥行きレベル、例えば奥行きレベルゼロが有効でない奥行きを示す奥行きレベルを含む場合、そのような奥行きレベルは、好ましくは、それらの実際の値にもかかわらず前景と見なされるべきである。
【0034】
好ましくは、非線形フィルタリングの少なくとも一部はアップサンプリングの後に実行される。オプションとして、非線形フィルタリングの全ては、アップサンプリング後に実行される。
【0035】
復号された奥行きマップの処理は、復号されたテクスチャマップに少なくとも部分的に基づいてもよい。本発明者らは、テクスチャマップが奥行きマップを再構成するのに役立つ有用な情報を含むことを認識した。特に、符号化の間の非線形フィルタリングによって前景オブジェクトの境界が変更された場合、テクスチャマップの分析は、この変更を補償または逆転するのに役立つことができる。
【0036】
本方法は、復号された奥行きマップをアップサンプリングするステップと、アップサンプリングされた奥行きマップ内の少なくとも1つの前景オブジェクトの周辺ピクセルを識別するステップと、復号されたテクスチャマップに基づいて、周辺ピクセルが前景オブジェクトにより類似しているか、または背景により類似しているかを判定するステップと、背景により類似していると判定された周辺ピクセルにのみ非線形フィルタリングを適用するステップとを含むことができる。
【0037】
このようにして、テクスチャマップは、符号化の間の非線形フィルタリングの結果として背景から前景に変換されたピクセルを識別するのを助けるために使用される。復号の間の非線形フィルタリングは、これらの識別されたピクセルを背景の一部であるように戻すのに役立つ。
【0038】
非線形フィルタリングは、少なくとも1つの前景オブジェクトのエッジを平滑化することを含むことができる。
【0039】
平滑化は、アップサンプリングされた奥行きマップ内の少なくとも1つの前景オブジェクトの周辺ピクセルを識別するステップと、各周辺ピクセルについて、その周辺ピクセルの周りの近傍における前景ピクセルおよび背景ピクセルの数および/または配置を分析するステップと、分析の結果に基づいて、オブジェクトから背景に投影される外にある周辺ピクセルを識別するステップと、識別された周辺ピクセルだけに非線形フィルタリングを適用するステップとを含むことができる。
【0040】
分析は、近傍の背景ピクセルの数をカウントすることを含み得る。ここで、周辺ピクセルは、近傍の背景ピクセルの数が所定の閾値を上回る場合、オブジェクトからの外れ値として識別される。
【0041】
代替的にまたは加えて、分析は、近傍の前景ピクセルおよび背景ピクセルの空間パターンを識別することを含んでもよく、周辺ピクセルはその近傍の空間パターンが1つ以上の所定の空間パターンと一致する場合、外れ値として識別される。
【0042】
本方法はさらに、ビデオビットストリームに関連するメタデータビットストリームを受信すること含み、このメタデータビットストリームはパラメータのセットを特定し、本方法は、オプションとして、特定されたパラメータのセットに従って、復号された奥行きマップを処理することを含むことができる。
【0043】
処理パラメータは、実行されるべき非線形フィルタリングの定義および/またはアップサンプリングの定義を含むことができる。
【0044】
非線形フィルタリングは、機械学習アルゴリズムを使用して設計されたフィルタを適用することを含み得る。
【0045】
機械学習アルゴリズムは、処理された奥行きマップが符号化され、復号された後に、再構成された奥行きマップの再構成誤差を低減または最小化するように訓練されてもよい。
【0046】
フィルタは、ビデオビットストリームに関連付けられたメタデータビットストリームで定義されることができる。
【0047】
また、処理システム上で実行されるときに、当該処理システムに上記に要約された方法を実行させるためのコンピュータコードを含むコンピュータプログラムも提供される。
【0048】
コンピュータプログラムは、コンピュータ可読記憶媒体に記憶されることができる。これは、一時的でない記憶媒体であってもよい。
【0049】
別の態様によれば、各ソースビューがテクスチャマップおよび奥行きマップを有する1つまたは複数のソースビューを含むビデオデータを符号化するように構成されたビデオエンコーダが提供され、当該ビデオエンコーダは、
ビデオデータを受信するように構成された入力部と、
処理された奥行きマップを生成するために少なくとも1つのソースビューの奥行きマップを処理するように構成されたビデオプロセッサであって、前記処理は、
非線形フィルタリング、および
ダウンサンプリングを含む、ビデオプロセッサと、
ビデオビットストリームを生成するために、前記少なくとも1つのソースビューのテクスチャマップと、前記処理された奥行きマップとを符号化するように構成されたエンコーダと、
ビデオビットストリームを出力するように設定された出力部とを有する。
【0050】
さらに別の態様によれば、1つまたは複数のソースビューを備えるビデオデータを復号するように構成されたビデオデコーダが提供され、当該ビデオデコーダは、
【0051】
ビデオビットストリームを受信するように構成されたビットストリーム入力部であって、当該ビデオビットストリームは、少なくとも1つのソースビューのための符号化された奥行きマップおよび符号化されたテクスチャマップを含む、ビットストリーム入力部と、
復号された奥行きマップを生成するために、符号化された奥行きマップをビデオビットストリームから復号するように構成された第1デコーダと、
復号されたテクスチャマップを生成するために、符号化されたテクスチャマップをビデオビットストリームから復号するように構成された第2デコーダと、
再構築された奥行きマップを生成するために、復号された奥行きマップを処理するように構成された再構築プロセッサであって、当該処理は、
アップサンプリング、および
非線形フィルタリングを含む、再構成プロセッサと、
再構成された奥行きマップを出力するように構成された出力部とを有する。
【0052】
本発明のこれらおよび他の態様は、以下に記載される実施形態から明らかになり、これを参照して説明される。
【図面の簡単な説明】
【0053】
本発明をより良く理解し、本発明をどのように実施することができるかをより明確に示すために、単なる例として、添付の図面を参照する。
【
図1】既存のビデオコーデックを使用して没入型ビデオを符号化および復号する例を示す図。
【
図2】一実施形態によるビデオデータを符号化する方法を示すフローチャート。
【
図3】一実施形態によるビデオエンコーダのブロック図。
【
図4】更なる実施形態によるビデオデータを符号化する方法を示すフローチャート。
【
図5】一実施形態によるビデオデータを復号する方法を示すフローチャート。
【
図6】一実施形態によるビデオデコーダのブロック図。
【
図7】一実施形態による復号方法において、特定のピクセルに選択的に非線形フィルタリングを適用する方法を示す図。
【
図8】更なる実施形態によるビデオデータを復号する方法を示すフローチャート。
【
図9】一実施形態による、ビデオデータを符号化および復号するためのニューラルネットワーク処理の使用を示す図。
【発明を実施するための形態】
【0054】
本発明は、図面を参照して説明される。
【0055】
詳細な説明および特定の例は、装置、システムおよび方法の例示的な実施形態を示しているが、例示のみを目的としたものであり、本発明の範囲を限定することを意図したものではないことを理解されたい。本発明の装置、システムおよび方法のこれらおよび他の特徴、態様および利点は、以下の説明、添付の特許請求の範囲、および添付の図面からより良く理解されるであろう。図面は単に概略的なものであり、一定の縮尺で描かれていないことを理解されたい。また、同じ参照番号が、同じまたは類似の部分を示すために、図面全体にわたって使用されることを理解されたい。
【0056】
没入型ビデオを符号化および復号する方法が開示される。符号化方法では、1つ以上のソースビューを含むソースビデオデータがビデオビットストリームに符号化される。ソースビューのうちの少なくとも1つの奥行きデータは、符号化の前に非線形フィルタリングされ、ダウンサンプリングされる。奥行きマップをダウンサンプリングすることは、送信されるデータの量を減少させるのに役立ち、したがって、ビットレートを減少させるのに役立つ。しかしながら、本発明者らは、単にダウンサンプリングするだけでは、ケーブルなどの薄いまたは小さい前景オブジェクトが、ダウンサンプリングされた奥行きマップから消える可能性があることを見出した。本発明の実施形態は、この影響を軽減し、奥行きマップ内の小さいて薄いオブジェクトを保存することを目的とする。
【0057】
本発明の実施形態は、ISO/IEC 23090-12 MPEG-I Part 12 Immersive Videoのような技術標準の一部を実施するのに適している。可能であれば、本明細書で使用される用語は、MPEG-I Part 12で使用される用語と一致するように選択される。それにもかかわらず、本発明の範囲は、MPEG-I Part 12にも他の技術標準にも限定されないことが理解されるであろう。
【0058】
以下の定義/説明を記述することは有用である:
【0059】
「3Dシーン」は、グローバル基準座標系におけるビジュアルコンテンツを指す。
【0060】
「アトラス」は、パッキングプロセス後の1つまたは複数のビュー表現からのテクスチャ成分画像および対応する奥行き成分画像を含む画像ペアへのパッチの集合である。
【0061】
「アトラス成分」は、アトラスのテクスチャまたは奥行き成分である。
【0062】
「カメラパラメータ」は、3Dシーンからビュー表現を生成するために使用される投影を定義する。
【0063】
「プルーニング(pruning)」はビューにわたる遮蔽された領域を識別し、抽出し、パッチをもたらすプロセスである。
【0064】
「レンダラ」は、或る観察位置および向きに対応する3Dシーン表現からビューポートまたは全方向性ビューを作成するプロセスの一実施形態である。
【0065】
「ソースビュー」は、実際のカメラによる3Dシーンのキャプチャによって、またはソースカメラパラメータを使用して仮想カメラによる表面上への投影によって取得され得るビュー表現のフォーマットに対応する、符号化前のソースビデオ材料である。
【0066】
「ターゲットビュー」は、所望の観察位置及び向きにおける透視ビューポート又は全方向性ビューのいずれかとして定義される。
【0067】
「ビュー表現」は、テクスチャ成分と対応する奥行き成分の2Dサンプルアレイで構成され、カメラパラメータを使用した3Dシーンの表面への投影を表す。
【0068】
機械学習アルゴリズムは、出力データを生成または予測するために入力データを処理する任意の自己学習アルゴリズムである。本発明のいくつかの実施形態では、入力データは、ビットストリームから復号された1つまたは複数のビューを含み、出力データはターゲットビューの予測/再構成を含む。
【0069】
本発明で使用される適切な機械学習アルゴリズムは、当業者には明らかであろう。適切な機械学習アルゴリズムの例には、決定木アルゴリズムおよび人工ニューラルネットワークが含まれる。ロジスティック回帰、サポートベクトルマシン、またはナイーブベイズモデルなどの他の機械学習アルゴリズムが、適切な代替物である。
【0070】
人工ニューラルネットワーク(あるいは単にはニューラルネットワーク)の構造は、人間の脳にインスパイアされている。ニューラルネットワークはレイヤからなり、各レイヤは複数のニューロンを含む。各ニューロンは、数学的演算を含む。特に、各ニューロンは、単一種類の変換の異なる重み付けされた組み合わせを含むことができる(例えば、同じタイプの変換、シグモイド等であるが、異なる重み付けを有する)。入力データを処理する過程において、各ニューロンの数学的演算は、数値出力を生成するために入力データに対して実行され、ニューラルネットワーク内の各レイヤの出力は1つ以上の他のレイヤに(例えば、逐次的に)供給される。最終のレイヤは出力を提供する。
【0071】
機械学習アルゴリズムを訓練する方法は周知である。典型的には、そのような方法は、訓練入力データエントリおよび対応する訓練出力データエントリを含む訓練データセットを取得することを含む。初期化された機械学習アルゴリズムを各入力データエントリに適用して、予測された出力データエントリを生成する。予測された出力データエントリと対応する訓練出力データエントリとの間の誤差が、機械学習アルゴリズムを修正するために使用される。このプロセスは、誤差が収束し、予測された出力データエントリが訓練出力データエントリに十分に類似する(例えば、±1%)まで、繰り返されることができる。これは、一般に、教師付き学習技術として知られている。
【0072】
例えば、機械学習アルゴリズムがニューラルネットワークから形成される場合、各ニューロンの数学的演算(の重み付け)は、誤差が収束するまで修正されることができる。ニューラルネットワークを修正する既知の方法には、勾配降下、バックプロパゲーションアルゴリズムなどが含まれる。
【0073】
畳み込みニューラルネットワーク(CNNまたはConvNet)は、視覚的画像の分析に最も一般的に適用されるディープニューラルネットワークのクラスである。CNNは、マルチレイヤパーセプトロンの規則化バージョンである。
【0074】
図1は、没入型ビデオを符号化及び復号化するためのシステムを簡略化した形態で示す。カメラ10のアレイは、シーンの複数のビューをキャプチャするために使用される。各カメラは、その前方のビューの従来の画像(本明細書ではテクスチャマップと呼ぶ)と奥行きマップとを撮像する。テクスチャおよび奥行きデータを含むビューのセットは、エンコーダ300に提供される。エンコーダは、テクスチャデータと奥行きデータの両方を、従来のビデオビットストリーム(この場合は高効率ビデオ符号化(HEVC)ビットストリーム)に符号化する。これは、ビデオビットストリームのそれぞれの部分の意味をデコーダ400に通知するために、メタデータビットストリームを伴う。たとえば、メタデータは、ビデオビットストリームのどの部分がテクスチャマップに対応し、どの部分が奥行きマップに対応するかをデコーダに伝える。符号化方式の複雑さと柔軟性に応じて、多かれ少なかれメタデータが必要とされる。例えば、非常に単純なスキームは、ビットストリームの構造を非常に厳密に指示し、それをデコーダ側でアンパックするためにメタデータをほとんどまたはまったく必要としないようにすることができる。ビットストリームに任意選択の可能性が多数ある場合、より多くのメタデータが必要になる。
【0075】
デコーダ400は、符号化されたビュー(テクスチャ及び奥行き)を復号する。それは、復号されたビューを合成器500に渡す。合成器500は、仮想現実ヘッドセット550のような表示装置に結合される。ヘッドセット550は、ヘッドセット550の現在の位置および向きに従って、復号されたビューを使用して、3Dシーンの特定のビューを合成しレンダリングするように合成器500に要求する。
【0076】
図1に示すシステムの利点は、従来の2Dビデオコーデックを使用して、テクスチャおよび奥行きデータを符号化および復号することができることである。しかし、エンコード、トランスポート、デコードするための大量のデータがあるという欠点がある。したがって、再構成されたビューの品質を可能な限り少ない程度で妥協しつつ、データレートを低減することが望ましい。
【0077】
図2は、第1の実施形態に係る符号化方法を示す図である。
図3は、
図2の方法を実行するように構成されることができるビデオエンコーダを示す図である。ビデオエンコーダは、ビデオデータを受信するように構成された入力部310を備える。ビデオプロセッサ320は入力部に結合され、入力部によって受信された奥行きマップを受信するように構成される。エンコーダ330は、ビデオプロセッサ320から処理された奥行きマップを受信するように構成される。出力部370は、エンコーダ330によって生成されたビデオビットストリームを受信し、出力するように構成される。ビデオエンコーダ300はまた、奥行きデコーダ340と、再構成プロセッサ350と、最適化器360とを含む。これらの構成要素は、
図4を参照して以下に説明される符号化方法の第2の実施形態に関連してより詳細に説明される。
【0078】
図2および
図3を参照すると、第1の実施形態の方法は、ステップ110において、入力部310がテクスチャマップおよび奥行きマップを含むビデオデータを受信することから始まる。ステップ120及び130において、ビデオプロセッサ320は、奥行きマップを処理して、処理された奥行きマップを生成する。この処理は、ステップ120における奥行きマップの非線形フィルタリングと、ステップ130におけるフィルタリングされた奥行きマップのダウンサンプリングとを含む。ステップ140において、エンコーダ330は、ビデオビットストリームを生成するために、処理された奥行きマップ及びテクスチャマップを符号化する。次に、生成されたビデオビットストリームは、出力部370を介して出力される。
【0079】
入力部310で受信されたソースビューは、カメラ10のアレイによってキャプチャされたビューであってもよい。しかしながら、これは必須ではなく、ソースビューは、カメラによってキャプチャされたビューと同一である必要はない。入力部310で受信されたソースビューの一部または全部は、合成されてもよく、または他の方法で処理されたソースビューであってもよい。入力部310で受信されるソースビューの数は、カメラ10のアレイによってキャプチャされるビューの数よりも多くても少なくてもよい。
【0080】
図2の実施形態では、非線形フィルタリング120とダウンサンプリング130とが単一のステップで組み合わされる。「最大プーリング 2x2」ダウンスケーリングフィルタが使用される。これは、処理された奥行きマップの各ピクセルが、元の入力された奥行きマップ中の2x2の近傍の4ピクセルのうちの最大ピクセル値をとることを意味する。非線形フィルタリングとダウンサンプリングのこの選択は、2つの洞察から導かれる:
1. ダウンスケーリングの結果は、中間物、すなわち「中間の」奥行きレベルを含むべきではない。このような中間の奥行きレベルは、例えば線形フィルタが使用されるときに生成される。本発明者らは、中間の奥行きレベルがしばしば、デコーダ側でのビュー合成後に誤った結果を生じることを認識した。
2. 奥行きマップ内に表される薄い前景オブジェクトは、保存されるべきである。さもなければ、例えば、比較的薄い物体は背景へと消失するであろう。前景、すなわち近くの物体が高い(明るい)レベルとして符号化され、背景、すなわち遠く離れた物体が低い(暗い)レベルとして符号化されるという仮定(視差規則)がなされることに留意されたい。あるいは、「最小プーリング 2x2」ダウンスケーラがz座標コーディング規則(z座標がレンズからの距離と共に増加する)を使用するときに同じ効果を有する。
【0081】
この処理動作は、すべての局所的な前景オブジェクトのサイズを効果的に増大させ、したがって、小さくて薄いオブジェクトを維持する。しかしながら、デコーダは、導入されたバイアスを取り消して奥行きマップをテクスチャと再び整列させるために全てのオブジェクトを縮小することが好ましいので、どのような動作が適用されたかを認識することが好ましい。
【0082】
本実施形態によれば、ビデオデコーダのメモリ要件が低減される。元のピクセルレートは、1Y + 0.5CrCb + 1Dであった。ここで、Y=輝度チャネル、CrCb=クロミナンスチャネル、D=奥行きチャネルである。本例によれば、4倍(2x2)のダウンサンプリングを用いて、ピクセルレートは、1Y + 0.5CrCb + 0.25Dとなる。その結果、30%のピクセルレート低減が達成できる。ほとんどの実用的なビデオデコーダは4:2:0であり、モノクロモードを含まない。この場合、37.5%のピクセル減少が達成される。
【0083】
図4は、第2の実施形態に係る符号化方法を示すフローチャートである。この方法は、
図2の方法と同様に開始し、ステップ110において、ビデオエンコーダの入力部310がソースビューを受信する。ステップ120aおよび130aにおいて、ビデオプロセッサ320は、処理パラメータの複数のセットに従って奥行きマップを処理して、それぞれの複数の処理された奥行きマップを生成する(各奥行きマップは処理パラメータのセットに対応する)。この実施形態では、システムは、これらの奥行きマップの各々をテストして、どれがデコーダ側で最良の品質を生成するかを決定することを目的とする。処理された奥行きマップの各々は、ステップ140aにおいてエンコーダ330によって符号化される。ステップ154において、奥行きデコーダ340は、各々の符号化された奥行きマップを復号する。復号された奥行きマップは、再構成プロセッサ350に渡される。ステップ156において、再構成プロセッサ350は、復号された奥行きマップから奥行きマップを再構成する。次に、ステップ158において、最適化器360は、各々の再構成された奥行きマップをソースビューの元の奥行きマップと比較して、再構成誤差を決定する。再構成誤差は、元の奥行きマップと再構成された奥行きマップとの間の差を定量化する。比較の結果に基づいて、最適化器360は、最小の再構成誤差を有する再構成された奥行きマップを導くパラメータのセットを選択する。この一連のパラメータは、ビデオビットストリームの生成に使用するために選択される。出力部370は、選択されたパラメータセットに対応するビデオビットストリームを出力する。
【0084】
奥行きデコーダ340および再構成プロセッサ350の動作は、復号方法(
図5から
図8を参照)を参照して、以下でより詳細に説明されることに留意されたい。
【0085】
事実上、ビデオエンコーダ300は、ビットストリームが遠隔のデコーダにおいてどのように復号されるかを予測することを可能にするために、ループ内デコーダを実装する。ビデオエンコーダ300は、(所与の目標ビットレートまたはピクセルレートに対して再構成誤差を最小化する点で)遠隔のデコーダにおいて最良の性能を与えるパラメータのセットを選択する。最適化は、
図4のフローチャートによって示唆されるように、反復的に実行されることができ、非線形フィルタリング120aおよび/またはダウンサンプリング130aのパラメータが、最適化器360による比較158の後の各反復において更新される。代替的に、ビデオデコーダは、固定された複数のパラメータセットをテストすることができ、これは、連続的に又は並列に行われることができる。例えば、高度に並列な実装では、ビデオエンコーダ300内にN個のエンコーダ(およびデコーダ)が存在し得、これらのエンコーダ(およびデコーダ)の各々は奥行きマップを符号化するためのパラメータの1つのセットをテストするように構成される。これは、エンコーダ300の複雑さおよび/またはサイズの増加を犠牲にして、利用可能な時間内にテストすることができるパラメータセットの数を増加させることができる。
【0086】
テストされるパラメータは、非線形フィルタリング120aのパラメータ、ダウンサンプリング130aのパラメータ、またはその両方を含んでもよい。例えば、システムは、一方又は両方の次元における様々な要因によるダウンサンプリングで実験することができる。同様に、システムは、異なる非線形フィルタで実験してもよい。例えば、(ローカル近傍における最大値を各ピクセルに割り当てる)最大フィルタの代わりに、他のタイプの順序フィルタが使用されてもよい。例えば、非線形フィルタは、所与のピクセルの周囲の局所近傍を分析してもよく、ピクセルに、近傍の中で2番目に高い値を割り当ててもよい。これは、単一の外れ値に対する感度を回避するのに役立ちながら、最大フィルタと同様の効果を提供することができる。非線形フィルタのカーネルサイズは、変更可能な別のパラメータである。
【0087】
ビデオデコーダでの処理のパラメータも、パラメータセットに含めることができる(以下で詳細に説明する)。このようにして、ビデオエンコーダは、品質対ビットレート/ピクセルレートを最適化するのに役立つ、符号化および復号の両方のためのパラメータのセットを選択することができる。最適化は、所与のシーンについて、または所与のビデオシーケンスについて、あるいはより一般的には、多様なシーンおよびビデオシーケンスの訓練セットにわたって実行され得る。したがって、パラメータの最良のセットは、シーケンスごと、ビットレートごと、および/または許容されるピクセルレートごとに変化する場合がある。
【0088】
ビデオデコーダがビデオビットストリームを適切にデコードするために有用または必要なパラメータは、ビデオビットストリームに関連するメタデータビットストリームに埋め込まれてもよい。このメタデータビットストリームは、ビデオビットストリームと共に、またはそれとは別に、ビデオデコーダに送信/転送することができる。
【0089】
図5は、一実施形態によるビデオデータを復号する方法のフローチャートである。
図6は、対応するビデオデコーダ400のブロック図である。ビデオデコーダ400は、入力部410と、テクスチャデコーダ424と、奥行きデコーダ426と、再構成プロセッサ450と、出力部470とを備える。入力部410は、テクスチャデコーダ424および奥行きデコーダ426に結合される。再構成プロセッサ450は、テクスチャデコーダ424からデコードされたテクスチャマップを受信し、奥行きデコーダ426からデコードされた奥行きマップを受信するように構成される。再構成プロセッサ450は、再構成された奥行きマップを出力部470に提供するように構成される。
【0090】
図5の方法はステップ210で始まり、入力部410は、ビデオビットストリームおよびオプションとしてメタデータビットストリームを受信する。ステップ224で、テクスチャデコーダ424は、ビデオビットストリームからテクスチャマップを復号する。ステップ226において、奥行きデコーダ426は、ビデオビットストリームから奥行きマップを復号する。ステップ230および240において、再構成プロセッサ450は、復号された奥行きマップを処理して、再構成された奥行きマップを生成する。この処理は、アップサンプリング230および非線形フィルタリング240を含む。処理は、特に非線形フィルタリング240は、以下でより詳細に説明するように、復号されたテクスチャマップの内容にも依存し得る。
【0091】
次に、
図8を参照して、
図5の方法の一例をより詳細に説明する。この実施形態では、アップサンプリング230が最近傍アップサンプリングを含み、アップサンプリングされた奥行きマップ内の2x2ピクセルのブロック内の各ピクセルに、復号された奥行きマップからのピクセルのうちの1つの値が割り当てられる。この「最近傍2×2」アップスケーラは、奥行きマップをその元のサイズにスケーリングする。エンコーダでの最大プーリング動作と同様に、デコーダでのこの手順は中間的な奥行きレベルの生成を回避する。エンコーダにおける元の奥行きマップと比較したアップスケーリングされた奥行きマップの特性は事前に予測可能であり、「最大プーリング」ダウンスケールフィルタは、前景オブジェクトの領域を拡大する傾向がある。したがって、アップサンプリングされた奥行きマップ内の一部の奥行きピクセルはむしろ背景であるべき前景ピクセルであるが、むしろ前景であるべき背景奥行きピクセルは一般に存在しない。換言すれば、アップスケーリングの後、オブジェクトは大き過ぎる場合があるが、一般的には小さ過ぎることはない。
【0092】
本実施形態では、バイアス(サイズが増大した前景オブジェクト)を取り消すために、アップスケーリングされた奥行きマップの非線形フィルタリング240は、色適応条件付き侵食フィルタを含む(
図8のステップ242、244および240a)。侵食部分(最小演算子)は、オブジェクトのサイズが縮小することを保証し、色適応は、奥行きエッジが正しい空間位置で終わること、すなわち、フルスケールテクスチャマップにおける遷移が、エッジがどこにあるべきかを示すことを保証する。侵食フィルタが機能する(すなわち、ピクセルが侵食されるか、または侵食されない)非線形の方法のために、結果として得られるオブジェクトエッジはノイズが多い可能性がある。隣接するエッジピクセルは、最小限に異なる入力に対して、「侵食または非侵食」分類に関して異なる結果を与える可能性がある。このようなノイズは、オブジェクトエッジの滑らかさに悪影響を及ぼす。本発明者らは、このような滑らかさが、十分な知覚品質のビュー合成結果のための重要な要件であることを認識した。その結果、非線形フィルタリング240はまた、輪郭平滑度フィルタ(ステップ250)を含み、奥行きマップ内のエッジを平滑化する。
【0093】
次に、本実施形態に係る非線形フィルタリング240について、より詳細に説明する。
図7は、非線形フィルタリング240の前のフィルタカーネルを表すアップサンプリングされた奥行きマップの小さいズームインされた領域を示す。グレーの正方形は前景のピクセルを示し、黒の正方形は背景のピクセルを示す。前景オブジェクトの周辺ピクセルは、Xとラベル付けされる。これらは、エンコーダでの非線形フィルタリングによって生じる、前景オブジェクトの拡張/拡大領域を表す可能性のあるピクセルである。言い換えれば、周辺ピクセルXが真に前景ピクセルであるか背景ピクセルであるかについての不確実性がある。
【0094】
適応侵食を実行するために行われるステップは、以下の通りである:
1. 局所的な前景エッジ、すなわち、前景オブジェクトの周辺ピクセル(
図7においてXでマークされている)を見つける。これは、前景ピクセルを背景ピクセルから区別するために局所的な閾値を適用することによって行うことができる。そして、周辺ピクセルは、背景ピクセルに隣接する前景ピクセルとして識別される(この例では4 つの接続された意味で)。これは、ステップ242において再構成プロセッサ450によって実行される。奥行きマップは、効率のために、複数のカメラビューからのパックされた領域を含むことができる。このような領域の境界上のエッジは、オブジェクトのエッジを示さないので、無視される。
2. 識別されたエッジピクセル(例えば、
図7の5×5カーネル内の中心ピクセル)について、5×5カーネル内の平均前景及び平均背景テクスチャ色を決定する。これは「確信」ピクセルのみ(ドット●でマークされている)に基づいて行われ、換言すれば、平均前景及び平均背景テクスチャの計算は不確定なエッジピクセルXを除外する。それらはまた、例えば他のカメラビューに適用される可能性のある隣接パッチ領域からのピクセルを除外する。
3. 前景との類似性、すなわち前景確信度
を決定する:ここで、Dは、中心ピクセルの色と背景又は前景ピクセルの平均色との間の(例えばユークリッド)色距離を示す。中心ピクセルが近傍の平均前景色に比較的類似している場合、この信頼度メトリックは1に近い。中心ピクセルが近傍の平均背景色に比較的類似している場合、それはゼロに近い。再構成プロセッサ450は、ステップ244において、識別された周辺ピクセルの前景に対する類似性を判定する。
4. C
foreground < しきい値(例えば0.5)の周辺ピクセルXをすべてマークする。
5. 全てのマークされたピクセルを侵食する、すなわち、局所の(例えば3×3)近傍における最小値をとる。再構成プロセッサ450は、ステップ240aにおいて、この非線形フィルタリングをマークされた周辺ピクセル(前景よりも背景により類似している)に適用する。
【0095】
上述したように、このプロセスはノイズが多く、奥行きマップ内にギザギザのエッジをもたらす可能性がある。奥行きマップに表れるオブジェクトエッジを平滑化するために行われるステップは、以下の通りである:
1. 局所的な前景エッジ、すなわち、(
図7においてXとマークされたピクセルのような)前景オブジェクトの周辺ピクセルを見つける
2. これらのエッジピクセル(例えば、
図7の中央ピクセル)について、注目ピクセルの周りの3×3カーネル内の背景ピクセルの数をカウントする。
3. カウント > 閾値である全てのエッジピクセルをマークする。
4. 全てのマークされたピクセルを侵食する、すなわち、局所の(例えば、3×3)近傍における最小値をとる。このステップは、ステップ250において再構成プロセッサ450によって実行される。
【0096】
この平滑化は、外側にあるまたは突き出ている前景のピクセルを背景のピクセルに変換する傾向がある。
【0097】
上記の例では、この方法が3×3カーネル内の背景ピクセルの数を使用して、所与のピクセルが前景オブジェクトから突出する外側の周辺ピクセルであったかどうかを識別した。他の方法を使用することもできる。例えば、ピクセルの数をカウントする代わりに、またはそれに加えて、カーネル内の前景ピクセルおよび背景ピクセルの位置を分析することができる。背景ピクセルが、問題となっているピクセルの片側にすべてある場合、それは前景ピクセルである可能性が高くなる。一方、背景のピクセルが、問題となっているピクセルの周囲にすべて広がっている場合、このピクセルは異常値またはノイズである可能性があり、実際には背景のピクセルである可能性が高くなる。
【0098】
カーネル内のピクセルは、前景または背景として2進法で分類することができる。バイナリフラグはこれをピクセル毎に符号化し、論理「1」は背景を示し、「0」は前景を示す。次に、近傍(すなわち、カーネル内のピクセル)は、nビットの2進数によって記述することができ、ここで、nは、注目ピクセルを取り囲むカーネル内のピクセルの数である。2進数を構成する1つの例示的な方法は、以下の表に示す通りである。
この例題では、b = b
7 b
6 b
5 b
4 b
3 b
2 b
1 b
0 = 10100101
2 = 165である。(
図5を参照して上述したアルゴリズムは、bにおける非ゼロビットの数(=4)をカウントすることに対応することに留意されたい
【0099】
訓練は、注目ピクセル(カーネルの中心ピクセル)が前景または背景である頻度をbの各値についてカウントすることを含む。誤警報および見逃しに対するコストが等しいと仮定すると、ピクセルは、(訓練セットにおいて)背景ピクセルよりも前景ピクセルである可能性が高い場合、前景ピクセルであると判定され、その逆も同様である。
【0100】
デコーダ実装は、bを構築し、ルックアップテーブル(LUT)から回答(注目ピクセルは前景であるか、注目ピクセルは背景である)をフェッチする。
【0101】
エンコーダおよびデコーダの両方で奥行きマップを非線形フィルタリングするアプローチ(例えば、上述したように、それぞれ拡張および侵食)は、通常、奥行きマップから情報を除去することが期待されるので、直観に反する。しかしながら、本発明者らは驚くべきことに、非線形ダウンサンプリング手法によって生成されるより小さい奥行きマップが、所与のビットレートに対してより高い品質で(従来のビデオコーデックを使用して)符号化され得ることを見出した。この品質利得は、再構成における損失を超え、したがって、正味の効果はピクセルレートを低減しながら、エンドツーエンドの品質を向上させることである。
【0102】
図3および
図4を参照して上述したように、非線形フィルタリングおよびダウンサンプリングのパラメータを最適化し、それによって再構成誤差を低減するために、ビデオエンコーダ内部にデコーダを実装することが可能である。この場合、ビデオエンコーダ300の奥行きデコーダ340は、ビデオデコーダ400の奥行きデコーダ426と実質的に同一であり、ビデオエンコーダ300の再構成プロセッサ350は、ビデオデコーダ400の再構成プロセッサ450と実質的に同一である。これらの各構成要素によって、実質的に同一の処理が行われる。
【0103】
上述したように、ビデオエンコーダにおける非線形フィルタリングおよびダウンサンプリングのパラメータが再構成誤差を低減するように選択されている場合、選択されたパラメータは、ビデオデコーダに入力されるメタデータビットストリームで通知されてもよい。再構成プロセッサ450は、メタデータビットストリーム内で通知されたパラメータを使用して、奥行きマップの正確な再構成を支援することができる。再構成処理のパラメータは、一方または両方の次元におけるアップサンプリングファクタ、前景オブジェクトの周辺ピクセルを特定するためのカーネルサイズ、侵食のためのカーネルサイズ、適用されるべき非線形フィルタリングのタイプ(例えば、最小フィルタを使用するか、または別のタイプのフィルタを使用するか)、平滑化するための前景ピクセルを特定するためのカーネルサイズ、および平滑化のためのカーネルサイズを含むことができるが、これらに限定されない。
【0104】
ここで、
図9を参照して、代替の実施形態を説明する。この実施形態では、エンコーダおよびデコーダのためのハンドコード非線形フィルタの代わりに、ニューラルネットワークアーキテクチャが使用される。ニューラルネットワークは、奥行きダウンスケール及びアップスケール動作をモデル化するために分割される。このネットワークは、エンド・ツー・エンドで訓練され、最適にダウンスケールする方法と最適にアップスケールする方法の両方を学習する。しかしながら、展開の間(すなわち、実シーケンスの符号化および復号化のため)、第1の部分はビデオエンコーダの前に使用され、第2の部分はビデオデコーダの後に使用される。したがって、第1の部分は符号化方法のための非線形フィルタリング120を提供し、第2の部分は、復号化方法のための非線形フィルタリング240を提供する。
【0105】
ネットワークの第2の部分のネットワークパラメータ(重み)は、ビットストリームと共にメタデータとして伝送されてもよい。異なるセットのニューラルネットワークパラメータが異なるコード設定(異なるダウンスケールファクタ、異なる目標ビットレートなど)に対応して作成されることがあることに注意されたい。これは奥行きマップのためのアップスケーリングフィルタがテクスチャマップの所与のビットレートに対して最適に振る舞うことを意味する。これは、テクスチャ符号化アーチファクトが輝度およびクロマ特性を変化させ、特にオブジェクト境界において、この変化は奥行きアップスケーリングニューラルネットワークの異なる重みをもたらすので、性能を増加させることができる。
【0106】
図9は、ニューラルネットワークが畳み込みニューラルネットワーク(CNN)である、この実施形態の例示的なアーキテクチャを示す。図中の記号の意味は次のとおりである:
I = 入力3チャンネルフル解像度テクスチャマップ
= 復号化されたフル解像度テクスチャマップ
D = 入力1チャンネルフル解像度奥行きマップ
D
down= ダウンスケーリングされた奥行きマップ
= ダウンスケーリングされ復号された奥行きマップ
C
k= k×kカーネルによるたたみ込み
P
k= 係数kダウンスケールk
U
k= 係数kアップスケーリング
【0107】
図中の各々の垂直な黒いバ-は、入力データまたは中間データのテンソル、換言すればニューラルネットワークのレイヤへの入力データを表す。各テンソルの次元はトリプレット(p, w, h)によって記述され、ここで、wおよびhはそれぞれ、画像の幅および高さであり、pはデータのプレーンまたはチャネルの数である。したがって、入力テクスチャマップは、次元(3, w, h)(3つのカラーチャネルに対応する3つのプレーン)を有する。ダウンサンプリングされた奥行きマップは、次元(1, w/2, h/2)を有する。
【0108】
ダウンスケーリングPkは、係数kのダウンスケール平均、またはカーネルサイズkの最大プール(または最小プール)動作を含むことができる。ダウンスケール平均演算は、いくつかの中間値を導入する場合があるが、ニューラルネットワークの後のレイヤは(例えば、テクスチャ情報に基づいて)これを固定することができる。
【0109】
なお、訓練フェーズでは、復号された奥行きマップ
は使用されない。代わりに、圧縮されていないダウンスケーリングされた奥行きマップD
downが使用される。この理由は、ニューラルネットの訓練フェーズが、非線形ビデオエンコーダ機能には不可能な導関数の計算を必要とするからである。この近似は、実際には特により高い品質(より高いビットレート)に対して有効である可能性が高い。推論フェイズでは(すなわち、実ビデオデータを処理する間)、圧縮されていないダウンスケーリングされた奥行きマップD
downは、明らかに、ビデオデコーダに利用可能ではない。したがって、復号された奥行きマップ
が使用される。また、復号されたフル解像度テクスチャマップ
は、訓練フェーズおよび推論フェーズで使用されることにも留意されたい。これは、ニューラルネットワークによって処理されるデータではなく、ヘルパー情報であるので、導関数を計算する必要はない。
【0110】
(ビデオ復号後の)ネットワークの第2の部分は、典型的には、クライアントデバイスに存在し得る複雑さの制約のために、わずかな畳み込みレイヤのみを含む。
【0111】
ディープラーニングアプローチを使用するために不可欠なのは、訓練データの利用可能性である。この場合、これらを容易に得ることができる。非圧縮テクスチャ画像およびフル解像度奥行きマップは、ビデオ符号化の前に入力側で使用される。ネットワークの第2の部分は(訓練のための入力としてネットワークの第1の半分を介して)復号されたテクスチャおよびダウンスケーリングされた奥行きマップを使用し、誤差は、入力としても使用されたグランドトゥルースフル解像度奥行きマップに対して評価される。したがって、本質的に、高解像度ソース奥行きマップからのパッチは、ニューラルネットワークに対する入力および出力の両方として働く。したがって、ネットワークは、オートエンコーダアーキテクチャおよびUNetアーキテクチャの両方のいくつかの態様を有する。しかしながら、提案されたアーキテクチャは、これらのアプローチの単なる組み合わせではない。例えば、復号されたテクスチャマップは、高解像度奥行きマップを最適に再構成するためのヘルパーデータとしてネットワークの第2の部分に入る。
【0112】
図9に示す例では、ビデオエンコーダ300でのニューラルネットワークへの入力は、テクスチャマップIと奥行きマップDで構成される。ダウンサンプリングP
2はニューラルネットワークの他の2つのレイヤの間で実行される。ダウンサンプリングの前には3つのニューラルネットワークレイヤがあり、ダウンサンプリングの後には2つのレイヤがある。ビデオエンコーダ300におけるニューラルネットワークの一部の出力は、ダウンスケーリングされた奥行きマップD
downを含む。これは、ステップ140においてエンコーダ320によってエンコードされる。
【0113】
符号化された奥行きマップは、ビデオビットストリームでビデオデコーダ400に転送される。それは、ステップ226において、奥行きデコーダ426によって復号される。これにより、ダウンスケーリングされ復号された奥行きマップ
が生成される。これは、ビデオデコーダ400においてニューラルネットワークの一部で使用されるためにアップサンプリング(U
2)される。ニューラルネットワークのこの部分への他の入力は、復号されたフル解像度テクスチャマップ
であり、これはテクスチャデコーダ424によって生成される。ニューラルネットワークのこの第2の部分は、3つのレイヤを有する。それは、出力として、結果として得られる誤差eを生成するために元の奥行きマップDと比較される再構成された推定値
を生成する。
【0114】
上記から明らかなように、ニューラルネットワーク処理は、ビデオエンコーダ300ではビデオプロセッサ320によって、ビデオデコーダ400では再構成プロセッサ450によって実施されることができる。図示された例では、非線形フィルタリング120およびダウンサンプリング130は、ビデオエンコーダ300においてニューラルネットワークの一部によって統合された態様で実行される。ビデオデコーダ400において、アップサンプリング230は、ニューラルネットワークによって実行される非線形フィルタリング240の前に、別々に実行される。
【0115】
図9に示されるニューラルネットワークレイヤの構成は非限定的であり、他の実施形態において変更され得ることが理解されるであろう。この例では、ネットワークは、2×2のダウンサンプリングされた奥行きマップを生成する。もちろん、異なるスケーリングファクタを使用することもできる。
【0116】
上述したいくつかの実施形態では、エンコーダにおける最大フィルタリング、最大プーリング、拡張または同様の動作が参照された。これらの実施形態は奥行きが1/d(または他の同様の逆比例関係)として符号化されると仮定する(dはカメラからの距離である)ことが理解されるであろう。この仮定では、奥行きマップ内の高い値は前景オブジェクトを示し、奥行きマップ内の低い値は背景を示す。したがって、最大または拡張タイプの演算を適用することによって、この方法は、前景オブジェクトを拡大する傾向がある。デコーダにおける対応する逆プロセスは、最小タイプまたは侵食タイプの演算を適用することであってもよい。
【0117】
もちろん、他の実施形態では、奥行きは、dまたはlog d(あるいはdと直接相関関係を有する別の変数)として符号化されてもよい。つまり、前景オブジェクトは、dの低い値で表され、背景 はdの高い値で表される。そのような実施形態では、最小フィルタリング、最小プーリング、侵食、または同様の演算がエンコーダで実行され得る。再び、これは、前景オブジェクトを拡大する傾向があり、これが目的である。対応する逆プロセスは、復号器において、最大または拡張タイプの演算を適用することであってもよい。
【0118】
図2、
図4、
図5、
図8および
図9の符号化および復号方法、ならびに
図3および
図6の符号器および復号器は、ハードウェアまたはソフトウェア、あるいはその両方の混合(たとえば、ハードウェア装置上で実行されるファームウェアとして)で実装され得る。一実施形態が部分的にまたは全体的にソフトウェアで実装される限り、プロセスフローチャートに示される機能ステップは、1つまたは複数の中央処理装置(CPU)、グラフィックス処理装置(GPU)、またはニューラルネットワークアクセラレータ(NNA)などの適切にプログラムされた物理的コンピューティング装置によって実行され得る。各プロセス、およびフローチャートに示されるその個々のコンポーネントステップは、同じまたは異なるコンピューティング装置によって実行され得る。実施形態によれば、コンピュータ可読記憶媒体は、プログラムが1つ以上の物理的コンピューティング装置上で実行されるときに、1つ以上の物理的コンピューティング装置に上記のような符号化または復号方法を実行させるように構成されたコンピュータプログラムコードを含むコンピュータプログラムを記憶する。
【0119】
記憶媒体は、RAM、PROM、EPROMおよびEEPROMのような揮発性および不揮発性のコンピュータメモリを含み得る。様々な記憶媒体は、モバイルコンピューティングデバイス内に取り付けられてもよいし、記憶媒体に記憶される1つ以上のプログラムが処理器に読み込まれるように、搬送可能でもよい。
【0120】
一実施形態によるメタデータは、記憶媒体に記憶されてもよい。一実施形態によるビットストリームは、同じ記憶媒体または異なる記憶媒体に記憶されてもよい。メタデータはビットストリームに埋め込まれることができるが、これは必須ではない。同様に、メタデータおよび/または(ビットストリーム中のメタデータまたはそれとは別個のメタデータを伴う)ビットストリームは、電磁搬送波上に変調された信号として送信されてもよい。信号は、デジタル通信のための規格に従って定義されてもよい。搬送波は、光搬送波、高周波、ミリ波、近距離通信波であってもよい。有線または無線の場合がある。
【0121】
一実施形態が部分的にまたは全体的にハードウェアで実施される限り、
図3および
図6のブロック図に示されるブロックは、別個の物理的コンポーネント、または単一の物理的コンポーネントの論理的細分であってもよく、またはすべてが1つの物理的コンポーネントに統合された形で実施されてもよい。図面に示される1つのブロックの機能は実装において複数のコンポーネントに分割されてもよく、または図面に示される複数のブロックの機能は実装において単一のコンポーネントに組み合わされてもよい。例えば、
図6はテクスチャデコーダ424と奥行きデコーダ46とを別個のコンポーネントとして示しているが、それらの機能は単一の統合されたデコーダコンポーネントによって提供されてもよい。
【0122】
一般に、データを符号化および復号する方法、これらの方法を実施するコンピュータプログラム、ならびにビデオエンコーダおよびデコーダの例は、以下の実施形態によって示される。
【0123】
実施形態:
1. 各ソースビューがテクスチャマップおよび奥行きマップを含む1つ以上のソースビューを含むビデオデータを符号化する方法であって、当該方法は、
ビデオデータ受信を受信するステップ(110)と;
処理された奥行きマップを生成するために、少なくとも1つのソースビューの奥行きマップを処理するステップであって、
非線形フィルタリング(120)、および
ダウンサンプリング(130)を含むステップと、
ビデオビットストリームを生成するために、少なくとも1つのソースビューの処理された奥行きマップとテクスチャマップを符号化するステップ(140)とを有する。
2. 前記非線形フィルタリングは、前記奥行きマップ内の少なくとも1つの前景オブジェクトの領域を拡大することを含む、実施形態1に記載の方法。
3. 前記非線形フィルタリングが、機械学習アルゴリズムを使用して設計されたフィルタを適用することを含む、実施形態1または実施形態2の方法。
4. 前記非線形フィルタリングは、複数のレイヤを含むニューラルネットワークによって実行され、前記ダウンサンプリングは前記レイヤのうちの2つの間で実行される、前記実施形態のいずれか1つに記載の方法。
5. 前記方法は、処理パラメータの複数のセットに従って前記奥行きマップを処理して(120a、130a)、それぞれの複数の処理された奥行きマップを生成することを含み、当該方法はさらに、
それぞれの処理された奥行きマップが符号化され復号された後の再構成された奥行きマップの再構成誤差を低減する処理パラメータのセットを選択するステップと、
選択したパラメータセットを特定するメタデータビットストリームを生成するステップを有する、前記実施形態のいずれか1つに記載の方法。
6. 1つまたは複数のソースビューを含むビデオデータを復号する方法であって、前記方法は、
少なくとも1つのソースビューのための符号化された奥行きマップおよび符号化されたテクスチャマップを有するビデオビットストリームを受信するステップと(210);
復号された奥行きマップを生成するために、符号化された奥行きマップを復号するステップと(226);
復号されたテクスチャマップを生成するために、エンコードされたテクスチャマップを復号するステップと(224)、
復号された奥行きマップを処理して、再構成された奥行きマップを生成するステップであって、当該処理が、
アップサンプリング(230)および
非線形フィルタリング(240)を有するステップとを有する。
7. 前記復号された奥行きマップを処理して前記再構成された奥行きマップを生成するステップの前に、前記復号された奥行きマップが前記復号されたテクスチャマップよりも低い解像度を有することを検出するステップをさらに含む、実施形態6に記載の方法
8. 前記非線形フィルタリングが、前記奥行きマップ内の少なくとも1つの前景オブジェクトの領域を減少させることを含む、実施形態6または実施形態7に記載の方法。
9. 前記復号された奥行きマップの前記処理は、前記復号されたテクスチャマップに少なくとも部分的に基づく、実施形態6から8のいずれか1つに記載の方法。
10. 実施形態6から9のいずれか1つに記載の方法であって、
復号された奥行きマップをアップサンプリングするステップと(230);
アップサンプリングされた奥行きマップ内の少なくとも1つの前景オブジェクトの周辺ピクセルを特定するステップと(242);
復号されたテクスチャマップに基づいて、周辺ピクセルが前景オブジェクトにより類似しているか、または背景により類似しているかを判定するステップと(244)、
背景により似ていると判定された周辺ピクセルにのみ非線形フィルタリング(240a)を適用するステップとを含む、方法。
11. 前記非線形フィルタリングは、少なくとも1つの前景オブジェクトのエッジを平滑化すること(250)を含む、実施形態のいずれか1つに記載の方法。
12. 前記ビデオビットストリームに関連する、パラメータのセットを特定するメタデータビットストリームを受信するステップをさらに有する、実施形態6から11のいずれか1つに記載の方法であって、当該方法は、特定されたパラメータのセットに従って復号された奥行きマップを処理することをさらに含む。
13. 処理システム上で実行されるときに、前記処理システムに、実施形態1から12のいずれか1つの実施形態を実行させるためのコンピュータコードを含むコンピュータプログラム。
14. 各ソースビューがテクスチャマップおよび奥行きマップを含む1つ以上のソースビューを含むビデオデータを符号化するように構成されるビデオエンコーダ(300)であって、当該ビデオエンコーダは、
ビデオデータを受信するように構成された入力部(310);
処理された奥行きマップを生成するために少なくとも1つのソースビューの奥行きマップを処理するように構成されたビデオプロセッサ(320)であって、前記処理が、
非線形フィルタリング(120)、および
ダウンサンプリング(130)を含むビデオプロセッサ、
ビデオビットストリームを生成するために、少なくとも1つのソースビューのテクスチャマップと、処理された奥行きマップとを符号化するように構成されたエンコーダ(330)、
ビデオビットストリームを出力するように設定された出力部(360)を有する。
15. 1つ以上のソースビューを含むビデオデータを復号するように構成されたビデオデコーダ(400)であって、当該ビデオデコーダは、
ビデオビットストリームを受信するように構成されたビットストリーム入力部(410)であって、当該ビデオビットストリームは、少なくとも1つのソースビューのための符号化された奥行きマップと符号化されたテクスチャマップを含む、入力部、
復号された奥行きマップを生成するために、符号化された奥行きマップをビデオビットストリームから復号するように構成された第1デコーダ(426)、
復号されたテクスチャマップを生成するために、符号化されたテクスチャマップをビデオビットストリームから復号するように構成された第2デコーダ(424)、
復号された奥行きマップを処理して再構成された奥行きマップを生成するように構成された再構成プロセッサ(450)であって、前記処理は、
アップサンプリング(230)
非線形フィルタリング(240)を含む再構成プロセッサ、
再構成された奥行きマップを出力するように構成された出力部(470)を有する。
【0124】
本発明の実施形態で使用するのに適したハードウェアコンポーネントには、従来のマイクロプロセッサ、特定用途向け集積回路(ASIC)、およびフィールド・プログラマブル・ゲート・アレイ(FPGA)が含まれるが、これらに限定されない。1つまたは複数のブロックは、いくつかの機能を実行するための専用ハードウェアと、他の機能を実行するための1つまたは複数のプログラムされたマイクロプロセッサおよび関連する回路との組合せとして実装され得る。
【0125】
より具体的には、本発明は、添付の特許請求の範囲によって定義される。
【0126】
開示された実施形態に対する変形例は、図面、開示、および添付の特許請求の範囲の検討から、特許請求された発明を実施する際に当業者によって理解され、実施されることができる。請求項において、単語「有する」は、他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は、複数性を排除するものではない。単一のプロセッサ又は他のユニットが、請求項に列挙されるいくつかの項目の機能を果たすことができる。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組み合わせが有利に使用されることができないことを示すものではない。コンピュータプログラムが上述される場合、コンピュータプログラムは、適切な媒体、例えば他のハードウェアと一緒に或いはその一部として供給される光記憶媒体若しくはソリッドステート媒体に記憶又は配布されることができるが、他の形態、例えばインターネット又は他の有線若しくは無線電気通信システムを介して配布されてもよい。「に適応する」という用語が請求項又は明細書に用いられる場合、「に適応する」という用語は、「ように構成される」と言う用語と同様であることを意味する。請求項におけるいかなる参照符号も、範囲を限定するものとして解釈されるべきではない。