(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-04
(54)【発明の名称】条件付き画像圧縮
(51)【国際特許分類】
H04N 19/436 20140101AFI20240927BHJP
H04N 19/70 20140101ALI20240927BHJP
H04N 19/91 20140101ALI20240927BHJP
【FI】
H04N19/436
H04N19/70
H04N19/91
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024520083
(86)(22)【出願日】2021-11-11
(85)【翻訳文提出日】2024-04-02
(86)【国際出願番号】 RU2021000496
(87)【国際公開番号】W WO2023085962
(87)【国際公開日】2023-05-19
(81)【指定国・地域】
(71)【出願人】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】カラブトフ,アレキサンダー アレクサンドロヴィッチ
(72)【発明者】
【氏名】ジア,パンチイ
(72)【発明者】
【氏名】ボエフ,アタナス
(72)【発明者】
【氏名】ガオ,ハン
(72)【発明者】
【氏名】ワーン,ビヤオ
(72)【発明者】
【氏名】サウアー,ヨハネス
(72)【発明者】
【氏名】アルシナ,エレナ アレクサンドロブナ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159KK13
5C159MA04
5C159MA05
5C159ME11
5C159PP16
5C159RC11
5C159UA02
5C159UA05
(57)【要約】
本開示は、画像の成分の条件付きコーディングに関する。画像の少なくとも一部をエンコードする方法であって、少なくとも1つの二次成分とは独立に画像の一次成分をエンコードする段階と、一次成分からの情報を使用して画像の前記少なくとも1つの二次成分をエンコードする段階とを含む方法が提供される。さらに、画像の少なくとも一部をエンコードする方法であって、画像の一次成分についての一次残差成分と、一次成分とは異なる画像の少なくとも1つの二次成分についての少なくとも1つの二次残差成分とを含む残差を提供する段階と、前記少なくとも1つの二次残差成分とは独立に一次残差成分をエンコードする段階と、一次残差成分からの情報を使用して前記少なくとも1つの二次残差成分をエンコードする段階とを含む方法が提供される。
【特許請求の範囲】
【請求項1】
画像の少なくとも一部をエンコードする方法であって、
前記画像の少なくとも1つの二次成分から独立して前記画像の一次成分をエンコードする段階(S212)と;
前記一次成分からの情報を使用して前記画像の前記少なくとも1つの二次成分をエンコードする段階(S214)とを含む、
方法。
【請求項2】
前記一次成分および前記少なくとも1つの二次成分が同時並行してエンコードされる、請求項1に記載の方法。
【請求項3】
前記画像の前記一次成分はルーマ成分であり、前記画像の前記少なくとも1つの二次成分はクロマ成分である、請求項1または2に記載の方法。
【請求項4】
前記画像の2つの二次成分が同時並行してエンコードされ、その一方はクロマ成分であり、他方は別のクロマ成分である、請求項3に記載の方法。
【請求項5】
前記画像の前記一次成分はクロマ成分であり、前記画像の前記少なくとも1つの二次成分はルーマ成分である、請求項1または2に記載の方法。
【請求項6】
a)前記一次成分をエンコードする段階(S212)は:
前記一次成分を第1のテンソルによって表現し;
前記第1のテンソルを第1の潜在テンソルに変換し;
前記第1の潜在テンソルを処理して第1のビットストリームを生成することを含み、
b)前記少なくとも1つの二次成分をエンコードする段階(S214)は:
前記第1のテンソルとは異なる第2のテンソルによって前記少なくとも1つの二次成分を表現し;
前記第2のテンソルと前記第1のテンソルとを連結して連結テンソルを得て;
前記連結テンソルを第2の潜在テンソルに変換し;
前記第2の潜在テンソルを処理して第2のビットストリームを生成することを含む、
請求項1ないし5のうちいずれか一項に記載の方法。
【請求項7】
a)前記一次成分をエンコードする段階(S212)は:
高さ次元および幅次元を有する第1のテンソルによって前記一次成分を表現し;
前記第1のテンソルを第1の潜在テンソルに変換し;
前記第1の潜在テンソルを処理して第1のビットストリームを生成することを含み、
b)前記少なくとも1つの二次成分をエンコードする段階(S214)は:
前記第1のテンソルとは異なり、高さ次元および幅次元を有する第2のテンソルによって前記少なくとも1つの二次成分を表現する段階と;
高さ次元および前記幅次元のうちの少なくとも1つにおける前記第2のテンソルのサンプルのサイズまたはサブピクセル・オフセットが、前記第1のテンソルの高さ次元および前記幅次元のうちの少なくとも1つにおけるサンプルのサイズまたはサブピクセル・オフセットと異なるかどうかを判定する段階であって、前記第2のテンソルのサンプルのサイズまたはサブピクセル・オフセットが前記第1のテンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定された場合、前記第2のテンソルのサンプル位置に一致するように前記第1のテンソルのサンプル位置を調整し、それにより、調整された第1のテンソルを得る段階と;
前記第2のテンソルのサンプルのサイズまたはサブピクセル・オフセットが前記第1のテンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定された場合にのみ、前記第2のテンソルと前記調整された第1のテンソルとを連結して連結テンソルを得て、そうでない場合には、前記第2のテンソルと前記第1のテンソルとを連結して連結テンソルを得る段階と;
前記連結テンソルを第2の潜在テンソルに変換する段階と;
前記第2の潜在テンソルを処理して第2のビットストリームを生成する段階とを含む、
請求項1ないし6のうちいずれか一項に記載の方法。
【請求項8】
前記第1の潜在テンソルはチャネル次元を含み、前記第2の潜在テンソルはチャネル次元を含み、チャネル次元における前記第1の潜在テンソルのサイズは、チャネル次元における前記第2の潜在テンソルのサイズに比べ大きい、小さい、および等しいのうちの1つである、請求項6または7に記載の方法。
【請求項9】
前記第1のテンソルは、第1のニューラルネットワークによって前記第1の潜在テンソルに変換され、前記連結テンソルは、前記第1のニューラルネットワークとは異なる第2のニューラルネットワークによって前記第2の潜在テンソルに変換される、請求項6ないし8のうちいずれか一項に記載の方法。
【請求項10】
前記第1および第2のニューラルネットワークは、チャネル次元における前記第1の潜在テンソルのサイズおよびチャネル次元における前記第2の潜在テンソルのサイズを決定するために協調的にトレーニングされる、請求項8を引用する場合の請求項9に記載の方法。
【請求項11】
チャネル次元における前記第1の潜在テンソルのサイズを前記第1のビットストリームにおいて信号伝達し、チャネル次元における前記第2の潜在テンソルのサイズを前記第2のビットストリームにおいて信号伝達することをさらに含む、請求項6ないし10のうちいずれか一項に記載の方法。
【請求項12】
前記第1のビットストリームは、第1のエントロピー・モデルに基づいて生成され、前記第2のビットストリームは、前記第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて生成される、請求項6ないし11のうちいずれか一項に記載の方法。
【請求項13】
A)
前記第1の潜在テンソルを第1のハイパー潜在テンソルに変換し;
第3のエントロピー・モデルに基づいて、前記第1のハイパー潜在テンソルを処理して第3のビットストリームを生成し;
前記第3のエントロピー・モデルを使用して前記第3のビットストリームをデコードして、復元された第1のハイパー潜在テンソルを得て;
前記復元された第1のハイパー潜在テンソルを第1のハイパー・デコードされたハイパー潜在テンソルに変換し;
前記第1のハイパー・デコードされたハイパー潜在テンソルおよび前記第1の潜在テンソルに基づいて前記第1のエントロピー・モデルを生成すること;および
B)
前記第2の潜在テンソルを、前記第1のハイパー潜在テンソルとは異なる第2のハイパー潜在テンソルに変換し;
第4のエントロピー・モデルに基づいて、前記第2のハイパー潜在テンソルを処理して第4のビットストリームを生成し;
前記第4のエントロピー・モデルを使用して前記第4のビットストリームをデコードして、復元された第2のハイパー潜在テンソルを得て;
前記復元された第2のハイパー潜在テンソルを第2のハイパー・デコードされたハイパー潜在テンソルに変換し;
前記第2のハイパー・デコードされたハイパー潜在テンソルおよび前記第2の潜在テンソルに基づいて前記第2のエントロピー・モデルを生成することをさらに含む、
請求項12に記載の方法。
【請求項14】
前記第3のエントロピー・モデルは、前記第1および第2のニューラルネットワークと異なる第3のニューラルネットワークによって生成され、前記第4のエントロピー・モデルは、前記第1、第2および第3のニューラルネットワークと異なる第4のニューラルネットワークによって生成される、請求項13に記載の方法。
【請求項15】
前記第3のビットストリームは、前記第1ないし第4のニューラルネットワークと異なる第5のニューラルネットワークによって生成され、前記第1ないし第5のニューラルネットワークと異なる第6のニューラルネットワークによってデコードされ;
前記第4のビットストリームは、前記第1ないし第6のニューラルネットワークと異なる第7のニューラルネットワークによって生成され、前記第1ないし第7のニューラルネットワークと異なる第8のニューラルネットワークによってデコードされる、
請求項13または14に記載の方法。
【請求項16】
前記第1のエントロピー・モデルは、前記第1ないし第8のニューラルネットワークとは異なる第9のニューラルネットワークによって生成され、前記第2のエントロピー・モデルは、前記第1ないし第9のネットワークとは異なる第10のニューラルネットワークによって生成される、請求項12ないし15のうちいずれか一項に記載の方法。
【請求項17】
前記画像が静止画像およびビデオシーケンスのイントラ・フレームのうちの一方である、請求項1ないし16のうちいずれか一項に記載の方法。
【請求項18】
画像の少なくとも一部をエンコードする方法であって:
前記画像の一次成分についての一次残差成分と、前記一次成分とは異なる前記画像の少なくとも1つの二次成分についての少なくとも1つの二次残差成分とを含む残差を提供する段階(S222)と;
前記一次残差成分を前記少なくとも1つの二次残差成分とは独立にエンコードする段階(S224)と;
前記一次残差成分からの情報を使用して前記少なくとも1つの二次残差成分をエンコードする段階(S226)とを含む、
方法。
【請求項19】
前記一次残差成分および前記少なくとも1つの二次残差成分は、同時並行してエンコードされる、請求項18に記載の方法。
【請求項20】
前記画像の前記一次成分はルーマ成分であってもよく、前記画像の前記少なくとも1つの二次成分はクロマ成分である、請求項18または19に記載の方法。
【請求項21】
前記少なくとも1つの二次残差成分は、クロマ成分のための残差成分と、別のクロマ成分のための別の残差成分とを含む、請求項20に記載の方法。
【請求項22】
前記画像の前記一次成分はクロマ成分であり、前記画像の前記少なくとも1つの二次成分はルーマ成分である、請求項18または19に記載の方法。
【請求項23】
a)前記一次残差成分をエンコードする段階(S224)は:
前記一次残差成分を第1のテンソルによって表現し;
前記第1のテンソルを第1の潜在テンソルに変換し;
前記第1の潜在テンソルを処理して第1のビットストリームを生成することを含み、
b)前記少なくとも1つの二次残差成分をエンコードする段階(S226)は:
前記第1のテンソルとは異なる第2のテンソルによって前記少なくとも1つの二次残差成分を表現し;
前記第2のテンソルと前記第1のテンソルとを連結して連結テンソルを得て;
前記連結テンソルを第2の潜在テンソルに変換し;
前記第2の潜在テンソルを処理して第2のビットストリームを生成することを含む、
請求項18または19に記載の方法。
【請求項24】
a)前記一次残差成分をエンコードする段階(S224)は:
高さ次元および幅次元を有する第1のテンソルによって前記一次残差成分を表現し;
前記第1のテンソルを第1の潜在テンソルに変換し;
前記第1の潜在テンソルを処理して第1のビットストリームを生成することを含み、
b)前記少なくとも1つの二次残差成分をエンコードする段階(S226)は:
前記第1のテンソルとは異なり、高さ次元および幅次元を有する第2のテンソルによって前記少なくとも1つの二次残差成分を表現し;
高さ次元および幅次元のうちの少なくとも1つにおける前記第2のテンソルのサンプルのサイズまたはサブピクセル・オフセットが、前記第1のテンソルの高さ次元および幅次元のうちの少なくとも1つにおけるサンプルのサイズまたはサブピクセル・オフセットと異なるかどうかを判定し、前記第2のテンソルのサンプルのサイズまたはサブピクセル・オフセットが前記第1のテンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定された場合、前記第2のテンソルのサンプル位置に一致するように前記第1のテンソルのサンプル位置を調整し、それにより、調整された第1のテンソルを得て;
前記第2のテンソルのサンプルのサイズまたはサブピクセル・オフセットが前記第1のテンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定された場合にのみ、前記第2のテンソルと前記調整された第1のテンソルとを連結して連結テンソルを得て、そうでない場合には、前記第2のテンソルと前記第1のテンソルとを連結して連結テンソルを得て;
前記連結テンソルを第2の潜在テンソルに変換し;
前記第2の潜在テンソルを処理して第2のビットストリームを生成することを含む、
請求項1ないし23のうちいずれか一項に記載の方法。
【請求項25】
前記第1の潜在テンソルはチャネル次元を含み、前記第2の潜在テンソルはチャネル次元を含み、チャネル次元における前記第1の潜在テンソルのサイズは、チャネル次元における前記第2の潜在テンソルのサイズに比べ大きい、小さい、および等しいのうちの1つである、請求項23または24に記載の方法。
【請求項26】
前記第1のテンソルは、第1のニューラルネットワークによって前記第1の潜在テンソルに変換され、前記連結テンソルは、前記第1のニューラルネットワークとは異なる第2のニューラルネットワークによって前記第2の潜在テンソルに変換される、請求項23ないし25のうちいずれか一項に記載の方法。
【請求項27】
前記第1および第2のニューラルネットワークは、チャネル次元における前記第1の潜在テンソルのサイズおよびチャネル次元における前記第2の潜在テンソルのサイズを決定するために協調的にトレーニングされる、請求項25を引用する場合の請求項26に記載の方法。
【請求項28】
チャネル次元における前記第1の潜在テンソルのサイズを、前記第1のビットストリームにおいて信号伝達し、チャネル次元における前記第2の潜在テンソルのサイズを、前記第2のビットストリームにおいて信号伝達する段階をさらに含む、請求項23ないし27のうちいずれか一項に記載の方法。
【請求項29】
前記第1のビットストリームは第1のエントロピー・モデルに基づいて生成され、前記第2のビットストリームは前記第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて生成される、請求項23ないし28のうちいずれか一項に記載の方法。
【請求項30】
A)
前記第1の潜在テンソルを第1のハイパー潜在テンソルに変換し;
第3のエントロピー・モデルに基づいて、前記第1のハイパー潜在テンソルを処理して第3のビットストリームを生成し;
前記第3のエントロピー・モデルを使用して前記第3のビットストリームをデコードして、復元された第1のハイパー潜在テンソルを得て;
前記復元された第1のハイパー潜在テンソルを第1のハイパー・デコードされたハイパー潜在テンソルに変換し;
前記第1のハイパー・デコードされたハイパー潜在テンソルおよび前記第1の潜在テンソルに基づいて前記第1のエントロピー・モデルを生成すること;および
B)
前記第2の潜在テンソルを、前記第1のハイパー潜在テンソルとは異なる第2のハイパー潜在テンソルに変換し;
第4のエントロピー・モデルに基づいて、前記第2のハイパー潜在テンソルを処理して第4のビットストリームを生成し;
前記第4のエントロピー・モデルを使用して前記第4のビットストリームをデコードして、復元された第2のハイパー潜在テンソルを得て;
前記復元された第2のハイパー潜在テンソルを第2のハイパー・デコードされたハイパー潜在テンソルに変換し;
前記第2のハイパー・デコードされたハイパー潜在テンソルおよび前記第2の潜在テンソルに基づいて前記第2のエントロピー・モデルを生成することをさらに含む、
請求項29に記載の方法。
【請求項31】
前記第3のエントロピー・モデルは、前記第1および第2のニューラルネットワークと異なる第3のニューラルネットワークによって生成され、前記第4のエントロピー・モデルは、前記第1、第2および第3のニューラルネットワークと異なる第4のニューラルネットワークによって生成される、請求項30に記載の方法。
【請求項32】
前記第3のビットストリームは、前記第1ないし第4のニューラルネットワークと異なる第5のニューラルネットワークによって生成され、前記第1ないし第5のニューラルネットワークと異なる第6のニューラルネットワークによってデコードされ;
前記第4のビットストリームは、前記第1ないし第6のニューラルネットワークと異なる第7のニューラルネットワークによって生成され、前記第1ないし第7のニューラルネットワークと異なる第8のニューラルネットワークによってデコードされる、
請求項30または31に記載の方法。
【請求項33】
前記第1のエントロピー・モデルは、前記第1ないし第8のニューラルネットワークとは異なる第9のニューラルネットワークによって生成され、前記第2のエントロピー・モデルは、前記第1ないし第9のネットワークとは異なる第10のニューラルネットワークによって生成される、請求項29ないし32のうちいずれか一項に記載の方法。
【請求項34】
前記画像が静止画像またはビデオシーケンスのインター・フレームである、請求項18ないし33のうちいずれか一項に記載の方法。
【請求項35】
画像の少なくとも一部を再構成する方法であって:
第1のエントロピー・モデルに基づいて第1のビットストリームを処理して第1の潜在テンソルを得る段階(S232)と;
前記第1の潜在テンソルを処理して前記画像の一次成分を表す第1のテンソルを得る段階(S234)と;
前記第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて前記第1のビットストリームとは異なる第2のビットストリームを処理して、前記第1の潜在テンソルとは異なる第2の潜在テンソルを得る段階(S236)と;
前記第1の潜在テンソルからの情報を使用して、前記第2の潜在テンソルを処理して、前記画像の少なくとも1つの二次成分を表す第2のテンソルを得る段階(S238)とを含む、
方法。
【請求項36】
前記第1の潜在テンソルは、前記第2の潜在テンソルの処理とは独立して処理される、請求項35に記載の方法。
【請求項37】
前記画像の前記一次成分はルーマ成分であり、前記画像の前記少なくとも1つの二次成分はクロマ成分である、請求項35または36に記載の方法。
【請求項38】
前記画像の前記一次成分はクロマ成分であり、前記画像の前記少なくとも1つの二次成分はルーマ成分である、請求項35または36に記載の方法。
【請求項39】
前記第2のテンソルは、2つの二次成分を表し、その一方はクロマ成分であり、他方は別のクロマ成分である、請求項37に記載の方法。
【請求項40】
前記第1の潜在テンソルの処理(S234)は、前記第1の潜在テンソルを前記第1のテンソルに変換することを含み;
前記第2の潜在テンソルの処理(S238)は、前記第2の潜在テンソルと前記第1の潜在テンソルとを連結して連結テンソルを得て、前記連結テンソルを前記第2のテンソルに変換することを含む、
請求項35ないし39のうちいずれか一項に記載の方法。
【請求項41】
前記第1および第2の潜在テンソルのそれぞれは、高さおよび幅次元を有し、
前記第1の潜在テンソルの処理(S234)は、前記第1の潜在テンソルを前記第1のテンソルに変換することを含み;
前記第2の潜在テンソルの処理(S238)は、高さおよび幅次元のうちの少なくとも1つにおける前記第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが、前記第1の潜在テンソルの高さおよび幅次元のうちの少なくとも1つにおけるサンプルのサイズまたはサブピクセル・オフセットと異なるかどうかを判定し、前記第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが前記第1の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定されたとき、前記第1の潜在テンソルのサンプル位置を、前記第2の潜在テンソルのサンプル位置に一致するように調整し、それにより、調整された第1の潜在テンソルを得て;
前記第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが前記第1の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定された場合にのみ、前記第2の潜在テンソルおよび前記調整された第1の潜在テンソルとを連結して連結潜在テンソルを得て、そうでない場合には、前記第2の潜在テンソルおよび前記第1の潜在テンソルを連結して、連結潜在テンソルを得て;
前記連結潜在テンソルを前記第2のテンソルに変換することを含む、
請求項35ないし39のうちいずれか一項に記載の方法。
【請求項42】
前記第1のビットストリームは第1のニューラルネットワークによって処理され、前記第2のビットストリームは前記第1のニューラルネットワークとは異なる第2のニューラルネットワークによって処理される、請求項35ないし41のうちいずれか一項に記載の方法。
【請求項43】
前記第1の潜在テンソルは、前記第1および第2のネットワークとは異なる第3のニューラルネットワークによって変換され、前記連結潜在テンソルは、前記第1、第2、および第3のネットワークとは異なる第4のニューラルネットワークによって変換される、請求項40または41に記載の方法。
【請求項44】
前記第1の潜在テンソルはチャネル次元を含み、前記第2の潜在テンソルはチャネル次元を含み、チャネル次元における前記第1の潜在テンソルのサイズは、チャネル次元における前記第2の潜在テンソルのサイズに比べ大きい、小さい、および等しいのうちの1つである、請求項35ないし43のうちいずれか一項に記載の方法。
【請求項45】
前記第1のビットストリームの処理は、前記第1のビットストリームにおいて信号伝達される、チャネル次元における前記第1の潜在テンソルのサイズに関する情報を取得することを含み、前記第2のビットストリームの処理は、前記第2のビットストリームにおいて信号伝達される、チャネル次元における前記第2の潜在テンソルのサイズに関する情報を取得することを含む、請求項44に記載の方法。
【請求項46】
画像の少なくとも一部を再構成する方法であって:
第1のエントロピー・モデルに基づいて第1のビットストリームを処理して第1の潜在テンソルを得る段階(S242)と;
前記第1の潜在テンソルを処理して前記画像の一次成分についての残差の一次残差成分を表す第1のテンソルを得る段階(S244)と;
前記第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて前記第1のビットストリームとは異なる第2のビットストリームを処理して、前記第1の潜在テンソルとは異なる第2の潜在テンソルを得る段階(S246)と;
前記第1の潜在テンソルからの情報を使用して、前記第2の潜在テンソルを処理して、前記画像の少なくとも1つの二次成分についての前記残差の少なくとも1つの二次残差成分を表す第2のテンソルを得る段階(S248)とを含む、
方法。
【請求項47】
前記第1の潜在テンソルは、前記第2の潜在テンソルの処理とは独立して処理される、請求項46に記載の方法。
【請求項48】
前記画像の前記一次成分はルーマ成分であり、前記画像の前記少なくとも1つの二次成分はクロマ成分である、請求項46または47に記載の方法。
【請求項49】
前記画像の前記一次成分はクロマ成分であり、前記画像の前記少なくとも1つの二次成分はルーマ成分である、請求項46または47に記載の方法。
【請求項50】
第2のテンソルは、2つの二次成分のための2つの残差成分を表し、そのうちの一方はクロマ成分であり、他方は別のクロマ成分である、請求項48に記載の方法。
【請求項51】
前記第1の潜在テンソルの処理(S244)は、前記第1の潜在テンソルを前記第1のテンソルに変換することを含み;
前記第2の潜在テンソルの処理(S248)は、前記第2の潜在テンソルと前記第1の潜在テンソルとを連結して連結テンソルを得て、該連結テンソルを前記第2のテンソルに変換することを含む、
請求項46ないし50のうちいずれか一項に記載の方法。
【請求項52】
前記第1および第2の潜在テンソルのそれぞれは、高さおよび幅次元を有し、
前記第1の潜在テンソルの処理(S244)は、前記第1の潜在テンソルを前記第1のテンソルに変換することを含み;
前記第2の潜在テンソルの処理(S248)は、高さおよび幅次元のうちの少なくとも1つにおける前記第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが、前記第1の潜在テンソルの高さおよび幅次元のうちの少なくとも1つにおけるサンプルのサイズまたはサブピクセル・オフセットと異なるかどうかを判定し、前記第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが前記第1の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定されたとき、前記第1の潜在テンソルのサンプル位置を、前記第2の潜在テンソルのサンプル位置に一致するように調整し、それにより、調整された第1の潜在テンソルを得て;
前記第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが前記第1の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定された場合にのみ、前記第2の潜在テンソルおよび前記調整された第1の潜在テンソルを連結して連結潜在テンソルを得て、そうでない場合には、前記第2の潜在テンソルおよび前記第1の潜在テンソルを連結して連結潜在テンソルを得て;
前記連結潜在テンソルを、前記第2のテンソルに変換することを含む、
請求項46ないし50のうちいずれか一項に記載の方法。
【請求項53】
前記第1のビットストリームは第1のニューラルネットワークによって処理され、前記第2のビットストリームは前記第1のニューラルネットワークとは異なる第2のニューラルネットワークによって処理される、請求項46ないし52のうちいずれか一項に記載の方法。
【請求項54】
前記第1の潜在テンソルは、前記第1および第2のネットワークとは異なる第3のニューラルネットワークによって変換され、前記連結潜在テンソルは、前記第1、第2、および第3のネットワークとは異なる第4のニューラルネットワークによって変換される、請求項53に記載の方法。
【請求項55】
前記第1の潜在テンソルはチャネル次元を含み、前記第2の潜在テンソルはチャネル次元を含み、チャネル次元における前記第1の潜在テンソルのサイズは、チャネル次元における前記第2の潜在テンソルのサイズに比べ大きい、小さい、および等しいのうちの1つである、請求項46ないし54のうちいずれか一項に記載の方法。
【請求項56】
前記第1のビットストリームの処理は、前記第1のビットストリームにおいて信号伝達される、チャネル次元における前記第1の潜在テンソルのサイズに関する情報を取得することを含み、前記第2のビットストリームの処理は、前記第2のビットストリームにおいて信号伝達される、チャネル次元における前記第2の潜在テンソルのサイズに関する情報を取得することを含む、請求項55に記載の方法。
【請求項57】
一つまたは複数のプロセッサで実行されたときに請求項1ないし56のうちいずれか一項に記載の方法の段階を実行するコードを有する非一時的媒体に記憶されているコンピュータ・プログラム。
【請求項58】
画像の少なくとも一部をエンコードするための処理装置(40、250、2000、2100)であって、当該処理装置(40、250、2000、2100)は:
一つまたは複数のプロセッサ(43、255、2030、2102)と;
前記一つまたは複数のプロセッサに結合され、前記一つまたは複数のプロセッサによる実行のためのプログラミングを記憶している非一時的なコンピュータ可読記憶媒体とを有しており、前記プログラミングは、前記一つまたは複数のプロセッサによって実行されると、請求項1ないし34のうちいずれか一項に記載の方法を実行するよう当該装置を構成する、
処理装置。
【請求項59】
画像の少なくとも一部を再構成するための処理装置(40、250、2000、2100)であって、当該処理装置(40、250、2000、2100)は:
一つまたは複数のプロセッサと;
前記一つまたは複数のプロセッサに結合され、前記一つまたは複数のプロセッサによる実行のためのプログラミングを記憶している非一時的なコンピュータ可読記憶媒体とを有しており、前記プログラミングは、前記一つまたは複数のプロセッサによって実行されると、請求項35または36に記載の方法を実行するよう当該装置を構成する、
処理装置。
【請求項60】
画像の少なくとも一部をエンコードする処理装置(250)であって、当該処理装置(40、250、2000、2100)は:
前記画像の少なくとも1つの二次成分から独立して前記画像の一次成分をエンコードし;
前記一次成分からの情報を使用して前記画像の前記少なくとも1つの二次成分をエンコードするように構成された処理回路を備える、
処理装置。
【請求項61】
画像の少なくとも一部をエンコードする処理装置(250)であって、当該処理装置(40、250、2000、2100)は、前記画像の一次成分についての一次残差成分と、前記一次成分とは異なる前記画像の少なくとも1つの二次成分についての少なくとも1つの二次残差成分とを含む残差を提供し;
前記一次残差成分を前記少なくとも1つの二次残差成分とは独立にエンコードし;
前記一次残差成分からの情報を使用して前記少なくとも1つの二次残差成分をエンコードする
ように構成された処理回路(255)を備える、処理装置。
【請求項62】
画像の少なくとも一部を再構成するための処理装置(250)であって、当該処理装置(40、250、2000、2100)は:
第1のエントロピー・モデルに基づいて第1のビットストリームを処理して第1の潜在テンソルを得て;
前記第1の潜在テンソルを処理して前記画像の前記一次成分を表す第1のテンソルを得て;
前記第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて前記第1のビットストリームとは異なる第2のビットストリームを処理して、前記第1の潜在テンソルとは異なる第2の潜在テンソルを得て;
前記第1の潜在テンソルからの情報を使用して、前記第2の潜在テンソルを処理して前記画像の前記少なくとも1つの二次成分を表す第2のテンソルを得る
ように構成された処理回路(255)を備える、
処理装置。
【請求項63】
画像の少なくとも一部を再構成するための処理装置(40、250、2000、2100)であって、当該処理装置は:
第1のエントロピー・モデルに基づいて第1のビットストリームを処理して第1の潜在テンソルを得て;
前記第1の潜在テンソルを処理して前記画像の一次成分についての残差の一次残差成分を表す第1のテンソルを得て;
前記第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて前記第1のビットストリームとは異なる第2のビットストリームを処理して、前記第1の潜在テンソルとは異なる第2の潜在テンソルを得て;
前記第1の潜在テンソルからの情報を使用して、前記第2の潜在テンソルを処理して、前記画像の少なくとも1つの二次成分についての前記残差の少なくとも1つの二次残差成分を表す第2のテンソルを得る
ように構成された処理回路(255)を備える、
処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概括的には、画像およびビデオ・コーディング〔ビデオ符号化〕の分野に関し、詳細には、条件付き画像圧縮を備える画像およびビデオ・コーディングに関する。
【背景技術】
【0002】
ビデオ・コーディング(ビデオ・エンコードおよびデコード)は、デジタル・ビデオ・アプリケーションの広い範囲、たとえば、放送デジタルTV、インターネットおよびモバイル・ネットワークを通じたビデオ送信、ビデオチャット、テレビ会議のようなリアルタイム会話アプリケーション、DVDおよびブルーレイディスク、ビデオコンテンツ取得および編集システム、およびセキュリティアプリケーションのカムコーダにおいて使用される。
【0003】
比較的短いビデオであっても、描写するために必要なビデオ・データの量は相当なものになる可能性があり、そのことは、データがストリーミングされる、または他の仕方で、帯域幅容量が限られている通信ネットワークを通じて通信されるときに、困難が生じる可能性がある。よって、ビデオ・データは一般に、現代の遠隔通信ネットワークを通じて通信される前に圧縮される。メモリ資源が限られている可能性があるため、ビデオが記憶デバイスに記憶されるときにも、ビデオのサイズが問題になる可能性がある。ビデオ圧縮デバイスは、しばしば、ソースにおいてソフトウェアおよび/またはハードウェアを使用して、伝送または記憶の前にビデオ・データをコーディングし、それによってデジタル・ビデオ画像を表すために必要とされるデータの量を削減する。その後、圧縮されたデータは、宛先で、ビデオ・データをデコードするビデオ圧縮解除デバイスによって受領される。圧縮技法は、静止画像コーディングのコンテキストでも好適に適用される。
【0004】
ネットワーク資源が限られ、より高いビデオ品質の要求がますます高まっているため、画像品質をほとんどまたは全く犠牲にせずに圧縮率を改善する、改善された圧縮および圧縮解除技術が望ましい。
【0005】
現在、人工ニューラルネットワークを利用したニューラルネットワーク(neural network、NN)および深層学習(deep learning、DL)技術が、ビデオ、画像(たとえば静止画像)などのエンコードおよびデコードの技術分野でも、しばらく前から使用されている。
【0006】
利用可能なメモリおよび/または処理速度の制限を考慮に入れる、トレーニングされたネットワークに基づいてそのような画像コーディング(ビデオ・コーディングまたは静止画像コーディング)の効率をさらに改善することが望ましい。
【0007】
特に、従来の条件付き画像圧縮符号化は、貧弱な並列化適合性および困難なメモリ要求に悩まされる。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、特に、ニューラルネットワーク、たとえば、以下の詳細な説明に記載されるニューラルネットワークによって、画像またはビデオ・データをコーディングするための方法および装置に関する。ニューラルネットワークの使用は、自己学習方式での信頼できるエンコードおよびデコードならびにエントロピー・モデルの推定を許容し、エンコードされた圧縮入力データから再構成される画像の高い精度をもたらしうる。
【課題を解決するための手段】
【0009】
上記および他の目的は、独立請求項の主題によって達成される。さらなる実装は、従属請求項、明細書、および図面から明白である。
【0010】
第1の側面によれば、画像の少なくとも一部(たとえば、一つまたは複数のブロック、スライス、タイル等)をエンコードする方法であって、(画像の少なくとも前記一部について)画像の(画像の成分から選択された)少なくとも1つの二次(非一次)成分から独立して画像の(画像の成分から選択された)一次成分をエンコードし、一次成分からの情報を使用して画像の前記少なくとも1つの二次成分をエンコードすることを含む方法が提供される。
【0011】
原理的には、画像は、静止画像またはビデオシーケンスのイントラ・フレームであってもよい。ここで、および以下の説明において、画像は、成分、特に輝度成分および色成分を有することが理解されるべきである。成分は、フルカラー画像を記述する直交基底の次元と考えられてもよい。たとえば、画像がYUV空間で表される場合、成分は、ルーマY、クロマU、およびクロマVである。画像の成分のうちの1つが、一次成分として選択され、成分のうちの一つまたは複数の他の成分が、二次(非一次)成分として選択される。「二次成分」および「非一次成分」という用語は、本明細書では交換可能に使用され、一次成分によって与えられる補助情報を使用してコーディングされる成分を示す。一次成分によって提供される補助情報を使用することによって二次成分(単数または複数)をエンコードおよびデコードすることは、デコード処理後に得られる再構成された画像の高い精度をもたらす。
【0012】
開示された種類の画像エンコードは、(二次成分から独立して一次成分をエンコードすることに起因して)高い並列化を許容し、従来技術と比較してメモリ要求を低減する。特に、一次成分および前記少なくとも1つの二次成分は、同時並行してエンコードされることができる。
【0013】
ある実装によれば、画像の一次成分はルーマ成分であり、画像の前記少なくとも1つの二次成分はクロマ成分である。たとえば、画像の2つの二次成分が同時にエンコードされ、その一方はクロマ成分であり、他方は別のクロマ成分である。別の実装によれば、画像の一次成分はクロマ成分であり、画像の少なくとも1つの二次成分はルーマ成分である。よって、1つの成分を別の成分によって実際に条件付けする(conditioning)高い柔軟性が提供される。
【0014】
全体的なエンコードは、特に、ダウンサンプリングされた入力データの処理を、よって、より低い処理負荷を有する高速化された処理を許容しうる、潜在空間における処理を備えうる。本明細書では、「ダウンサンプリング」および「アップサンプリング」という用語は、それぞれ、データのテンソル表現のサイズを縮小することおよび拡大することの意味で使用されることに留意されたい。
【0015】
ある実装による潜在空間における処理に関して、
a)前記第1の成分をエンコードすることは:
前記一次成分を第1のテンソルによって表現し;
前記第1のテンソルを第1の潜在テンソルに変換し;
前記第1の潜在テンソルを処理して第1のビットストリームを生成することを含み、
b)前記少なくとも1つの二次成分をエンコードすることは:
前記第1のテンソルとは異なる第2のテンソルによって前記少なくとも1つの二次成分を表現し;
前記第2のテンソルと前記第1のテンソルとを連結して連結テンソルを得て;
前記連結テンソルを第2の潜在テンソルに変換し;
前記第2の潜在テンソルを処理して第2のビットストリームを生成することを含む。
【0016】
第1の潜在テンソルの高さ次元または幅次元におけるサイズのうちの少なくとも1つは、第1のテンソルの高さ次元または幅次元の対応するサイズよりも小さくてもよく、および/または第2の潜在テンソルの高さ次元または幅次元におけるサイズは、連結テンソルの高さ次元または幅次元の対応するサイズよりも小さくてもよい。たとえば、高さおよび/または幅次元における16または32の因子による縮小率が使用されてもよい。
【0017】
テンソルの高さおよび幅の次元のうちの少なくとも1つにおける第2のテンソルのサンプルのサイズまたはサブピクセル・オフセットが、第1のテンソルの高さおよび幅次元のうちの少なくとも1つにおけるサンプルのサイズまたはサブピクセル・オフセットと異なる場合がありうる。したがって、別の実装によれば、
a)一次成分をエンコードすることは:
高さ次元および幅次元を有する第1のテンソルによって一次成分を表現し;
前記第1のテンソルを第1の潜在テンソルに変換し;
前記第1の潜在テンソルを処理して第1のビットストリームを生成することを含み、
b)前記少なくとも1つの二次成分をエンコードすることは:
前記第1のテンソルとは異なり、高さ次元および幅次元を有する第2のテンソルによって前記少なくとも1つの二次成分を表現する段階と;
前記高さ次元および前記幅次元のうちの少なくとも1つにおける前記第2のテンソルのサンプルの前記サイズまたはサブピクセル・オフセットが、前記第1のテンソルの前記高さ次元および前記幅次元のうちの少なくとも1つにおけるサンプルの前記サイズまたはサブピクセル・オフセットと異なるかどうかを判定する段階であって、前記第2のテンソルのサンプルの前記サイズまたはサブピクセル・オフセットが前記第1のテンソルのサンプルの前記サイズまたはサブピクセル・オフセットと異なると判定された場合、前記第2のテンソルのサンプル位置に一致するように前記第1のテンソルのサンプル位置を調整し、それにより、調整された第1のテンソルを得る段階と;
前記第2のテンソルのサンプルの前記サイズまたはサブピクセル・オフセットが前記第1のテンソルのサンプルの前記サイズまたはサブピクセル・オフセットと異なると判定された場合にのみ、前記第2のテンソルと前記調整された第1のテンソルとを連結して連結テンソルを得て、そうでない場合には、前記第2のテンソルと前記第1のテンソルとを連結して連結テンソルを得る段階と;
前記連結テンソルを第2の潜在テンソルに変換する段階と;
前記第2の潜在テンソルを処理して第2のビットストリームを生成する段階とを含む。
【0018】
この場合も、第1の潜在テンソルの高さ次元または幅次元におけるサイズのうちの少なくとも1つは、第1のテンソルの高さ次元または幅次元の対応するサイズより小さくてもよく、および/または、第2の潜在テンソルの高さ次元または幅次元におけるサイズは、連結テンソルの高さ次元または幅次元の対応するサイズより小さくてもよい。たとえば、高さおよび/または幅次元における16または32の因子による縮小率が使用されてもよい。第2のテンソルのサンプル位置に一致するように第1のテンソルのサンプル位置を調整することは、たとえば、第1のテンソルの幅および高さにおいて因子2によってダウンサンプリングすることを含んでいてもよい。
【0019】
ある実装によれば、第1の潜在テンソルはチャネル次元を含み、第2の潜在テンソルはチャネル次元を含み、チャネル次元における第1の潜在テンソルのサイズは、チャネル次元における第2の潜在テンソルのサイズよりも大きい、小さい、および等しいのうちの1つである。通常そうでありうるように、一次成分が二次成分(単数または複数)と比較してより重要であると考えられる場合、一次成分のチャネル長は、二次成分(単数または複数)のチャネル長よりも大きくてもよい。一次成分の信号が比較的明瞭であり、非一次成分の信号が比較的ノイズが多い場合、一次成分のチャネル長は、二次成分のチャネル長よりも短くてもよい。数値実験は、従来技術と比較してより短いチャネル長が、再構成された画像の品質の著しい劣化なしに使用されることができ、よって、メモリ要求が低減できることを示している。
【0020】
一般に、第1のテンソルは、第1のニューラルネットワークによって第1の潜在テンソルに変換されてもよく、連結テンソルは、第1のニューラルネットワークとは異なる第2のニューラルネットワークによって第2の潜在テンソルに変換されてもよい。この場合、第1および第2のニューラルネットワークは、チャネル次元における第1の潜在テンソルのサイズおよびチャネル次元における第2の潜在テンソルのサイズを決定するために協調的にトレーニングされうる。チャネル長の決定は、網羅的な探索によって、またはコンテンツ適応的な仕方で実行されうる。モデルのセットがトレーニングされてもよく、ここで、各モデルは、一次成分および非一次成分のエンコードのための異なる数のチャネルに基づく。これにより、ニューラルネットワークは、関与するチャネル長を最適化することができうる。
【0021】
決定されたチャネル長は、エンコードされた成分を再構成するために使用されるデコーダによっても使用されなければならない。したがって、ある実装によれば、チャネル次元における第1の潜在テンソルのサイズは第1のビットストリームにおいて信号伝達されてよく、チャネル次元における第2の潜在テンソルのサイズは第2のビットストリームにおいて信号伝達されてよい。信号伝達は、明示的にまたは暗黙的に実行されてもよく、ビットを節約する仕方で、直接、チャネル長についてデコーダに通知することを許容する。
【0022】
ある実装によれば、第1のビットストリームは、第1のエントロピー・モデルに基づいて生成され、第2のビットストリームは、第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて生成される。そのようなエントロピー・モデルは、データのテンソル表現をビットストリームに変換するプロセスにおいて使用される統計的特性を信頼できる仕方で推定することを許容する。
【0023】
開示された方法は、再構成された画像(の一部)の精度を改善するために、画像(の一部)のコーディングのために有用なサイド情報を提供するハイパープライアー(hyperprior)・アーキテクチャーのコンテキストにおいて有利に実装されうる。特定の実装によれば、方法は、
A)
前記第1の潜在テンソルを第1のハイパー潜在テンソルに変換し;
第3のエントロピー・モデルに基づいて、前記第1のハイパー潜在テンソルを処理して第3のビットストリームを生成し;
前記第3のエントロピー・モデルを使用して前記第3のビットストリームをデコードして、復元された第1のハイパー潜在テンソルを得て;
前記復元された第1のハイパー潜在テンソルを第1のハイパー・デコードされたハイパー潜在テンソルに変換し;
前記第1のハイパー・デコードされたハイパー潜在テンソルおよび前記第1の潜在テンソルに基づいて前記第1のエントロピー・モデルを生成し;
B)
前記第2の潜在テンソルを、前記第1のハイパー潜在テンソルとは異なる第2のハイパー潜在テンソルに変換し;
第4のエントロピー・モデルに基づいて、前記第2のハイパー潜在テンソルを処理して第4のビットストリームを生成し;
前記第4のエントロピー・モデルを使用して前記第4のビットストリームをデコードして、復元された第2のハイパー潜在テンソルを得て;
前記復元された第2のハイパー潜在テンソルを第2のハイパー・デコードされたハイパー潜在テンソルに変換し;
前記第2のハイパー・デコードされたハイパー潜在テンソルおよび前記第2の潜在テンソルに基づいて前記第2のエントロピー・モデルを生成することをさらに含む。
【0024】
第1の潜在テンソルを第1のハイパー潜在テンソルに変換することは、第1の潜在テンソルのダウンサンプリングを含んでいてもよく、第2の潜在テンソルを第2のハイパー潜在テンソルに変換することは、処理負荷をさらに低減するために、第2の潜在テンソルの、たとえば、因子2または4によるダウンサンプリングを含んでいてもよい。
【0025】
それぞれ一次成分および連結テンソルの潜在表現をエンコードするために使用される、このようにして生成された第1および第2のエントロピー・モデルは、自己回帰エントロピー・モデル(autoregressive entropy model)でありうる。
【0026】
ニューラルネットワークもまた、エントロピー・モデルの生成のために使用されうる。たとえば、第3のエントロピー・モデルは、第1および第2のニューラルネットワークと異なる第3のニューラルネットワークによって生成され、第4のエントロピー・モデルは、第1、第2および第3のニューラルネットワークと異なる第4のニューラルネットワークによって生成される。また、第3のビットストリームは、第1ないし第4のニューラルネットワークと異なる第5のニューラルネットワークによって生成され、第1ないし第5のニューラルネットワークと異なる第6のニューラルネットワークによってデコードされてもよく、第4のビットストリームは、第1ないし第6のニューラルネットワークと異なる第7のニューラルネットワークによって生成され、第1ないし第7のニューラルネットワークと異なる第8のニューラルネットワークによってデコードされてもよい。また、第1のエントロピー・モデルは、一次成分の前記潜在表現をエンコードするために用いられる第1ないし第8のニューラルネットワークとは異なる第9のニューラルネットワークによって生成されてもよく、連結テンソルの潜在表現をエンコードするために用いられる第2のエントロピー・モデルは、第1ないし第9のニューラルネットワークとは異なる第10のニューラルネットワークによって生成されてもよい。
【0027】
第2の側面によれば、画像の少なくとも一部をエンコードする方法であって、(画像の少なくとも前記一部について)画像の一次成分についての一次残差成分と、一次成分とは異なる画像の少なくとも1つの二次成分についての少なくとも1つの二次残差成分とを含む残差を提供する段階と;前記一次残差成分を前記少なくとも1つの二次残差成分とは独立にエンコードする段階と;前記一次残差成分からの情報を使用して前記少なくとも1つの二次残差成分をエンコードする段階とを含む方法が提供される。このように処理される画像は、ビデオシーケンスのインター・フレームまたは静止画像でありうる。残差は、画像(の一部)の現在の部分を予測されたものから減算することから生じ、画像の成分のそれぞれについてそれぞれ1つの残差成分を有する。この方法による条件付き残差エンコードは、上述の第1の側面による方法と同じ利点を伴って実行されうる。当技術分野において既知の条件付き残差コーディング(以下の詳細な説明を参照)と比較して、画像再構成における精度を著しく失うことなく、より短いチャネル長を潜在空間におけるデータ表現のために使用できるため、メモリ要求を低減することができる。
【0028】
一次残差成分および前記少なくとも1つの二次残差成分は、同時並行してエンコードされうる。画像の一次成分はルーマ成分であってもよく、画像の少なくとも1つの二次成分はクロマ成分であってもよい。この場合、前記少なくとも1つの二次残差成分は、クロマ成分のための残差成分と、別のクロマ成分のための別の残差成分とを含みうる。代替的に、画像の一次成分はクロマ成分であってもよく、画像の前記少なくとも1つの二次成分はルーマ成分であってもよい。
【0029】
この場合も、処理は潜在空間で実行されることができる。第2の側面による方法のある実装によれば、
a)前記一次残差成分をエンコードすることは:
前記一次残差成分を第1のテンソルによって表現し;
前記第1のテンソルを第1の潜在テンソル(たとえば、前記第1のテンソルと比較して幅および/または高さ次元がより小さいサイズの)に変換し;
前記第1の潜在テンソルを処理して第1のビットストリームを生成することを含み、
b)前記少なくとも1つの二次残差成分をエンコードすることは:
前記第1のテンソルとは異なる第2のテンソルによって前記少なくとも1つの二次残差成分を表現し;
前記第2のテンソルと前記第1のテンソルとを連結して連結テンソルを得て;
前記連結テンソルを第2の潜在テンソル(たとえば、前記連結テンソルと比較して幅および/または高さ次元がより小さいサイズの)に変換し;
前記第2の潜在テンソルを処理して第2のビットストリームを生成することを含む。
【0030】
第2の側面による方法の別の実装によれば、
a)前記一次残差成分をエンコードすることは:
高さ次元および幅次元を有する第1のテンソルによって前記一次残差成分を表現し;
前記第1のテンソルを第1の潜在テンソルに変換し;
前記第1の潜在テンソルを処理して第1のビットストリームを生成することを含み、
b)前記少なくとも1つの二次残差成分をエンコードすることは:
前記第1のテンソルとは異なり、高さ次元および幅次元を有する第2のテンソルによって前記少なくとも1つの二次残差成分を表現し;
前記高さ次元および前記幅次元のうちの少なくとも1つにおける前記第2のテンソルのサンプルの前記サイズまたはサブピクセル・オフセットが、前記第1のテンソルの前記高さ次元および前記幅次元のうちの少なくとも1つにおけるサンプルの前記サイズまたはサブピクセル・オフセットと異なるかどうかを判定し、前記第2のテンソルのサンプルの前記サイズまたはサブピクセル・オフセットが前記第1のテンソルのサンプルの前記サイズまたはサブピクセル・オフセットと異なると判定された場合、前記第2のテンソルのサンプル位置に一致するように前記第1のテンソルのサンプル位置を調整し、それにより、調整された第1のテンソルを得て;
前記第2のテンソルのサンプルの前記サイズまたはサブピクセル・オフセットが前記第1のテンソルのサンプルの前記サイズまたはサブピクセル・オフセットと異なると判定された場合にのみ、前記第2のテンソルと前記調整された第1のテンソルとを連結して連結テンソルを得て、そうでない場合には、前記第2のテンソルと前記第1のテンソルとを連結して連結テンソルを得て;
前記連結テンソルを第2の潜在テンソルに変換し;
前記第2の潜在テンソルを処理して第2のビットストリームを生成することを含む。
【0031】
この場合も、第1の潜在テンソルの高さ次元または幅次元におけるサイズのうちの少なくとも1つは、第1のテンソルの高さ次元または幅次元の対応するサイズよりも小さくてもよく、および/または第2の潜在テンソルの高さ次元または幅次元のサイズは、連結テンソルの高さ次元または幅次元の対応するサイズよりも小さくてもよい。
【0032】
第2の側面による方法の別の実装によれば、第1の潜在テンソルはチャネル次元を含み、第2の潜在テンソルはチャネル次元を含み、チャネル次元における第1の潜在テンソルのサイズは、チャネル次元における第2の潜在テンソルのサイズよりも大きい、小さい、および等しいのうちの1つである。
【0033】
第2の側面による方法では、ニューラルネットワークも有利に使用されうる。よって、第1のテンソルは、第1のニューラルネットワークによって第1の潜在テンソルに変換されてもよく、連結テンソルは、第1のニューラルネットワークとは異なる第2のニューラルネットワークによって第2の潜在テンソルに変換されてもよい。この場合、第1および第2のニューラルネットワークは、チャネル次元における第1の潜在テンソルのサイズおよびチャネル次元における第2の潜在テンソルのサイズを決定するために協調的にトレーニングされうる。チャネル次元における第1の潜在テンソルの決定されたサイズは、第1のビットストリームにおいて信号伝達されてもよく、チャネル次元における第2の潜在テンソルのサイズは、第2のビットストリームにおいて信号伝達されてもよい。
【0034】
第2の側面による方法の別の実装によれば、第1のビットストリームは第1のエントロピー・モデルに基づいて生成され、第2のビットストリームは第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて生成される。
【0035】
第2の側面による開示された条件付き残差コーディングにおいては、ハイパープライアー・パイプラインも使用されうる。よって、第2の側面による方法は、
A)
前記第1の潜在テンソルを第1のハイパー潜在テンソルに変換し;
第3のエントロピー・モデルに基づいて、前記第1のハイパー潜在テンソルを処理して第3のビットストリームを生成し;
前記第3のエントロピー・モデルを使用して前記第3のビットストリームをデコードして、復元された第1のハイパー潜在テンソルを得て;
前記復元された第1のハイパー潜在テンソルを第1のハイパー・デコードされたハイパー潜在テンソルに変換し;
前記第1のハイパー・デコードされたハイパー潜在テンソルおよび前記第1の潜在テンソルに基づいて前記第1のエントロピー・モデルを生成し;
B)
前記第2の潜在テンソルを、前記第1のハイパー潜在テンソルとは異なる第2のハイパー潜在テンソルに変換し;
第4のエントロピー・モデルに基づいて、前記第2のハイパー潜在テンソルを処理して第4のビットストリームを生成し;
前記第4のエントロピー・モデルを使用して前記第4のビットストリームをデコードして、復元された第2のハイパー潜在テンソルを得て;
前記復元された第2のハイパー潜在テンソルを第2のハイパー・デコードされたハイパー潜在テンソルに変換し;
前記第2のハイパー・デコードされたハイパー潜在テンソルおよび前記第2の潜在テンソルに基づいて前記第2のエントロピー・モデルを生成する
ことをさらに含みうる。
【0036】
第1の潜在テンソルを第1のハイパー潜在テンソルに変換することは、第1の潜在テンソルをダウンサンプリングすることを含んでいてもよく、第2の潜在テンソルを第2のハイパー潜在テンソルに変換することは、第2の潜在テンソルを、たとえば因子2または4によってダウンサンプリングすることを含んでいてもよい。
【0037】
第3のエントロピー・モデルは、第1および第2のニューラルネットワークと異なる第3のニューラルネットワークによって生成されてもよく、第4のエントロピー・モデルは、第1、第2および第3のニューラルネットワークと異なる第4のニューラルネットワークによって生成されてもよい。また、第3のビットストリームは、第1ないし第4のニューラルネットワークと異なる第5のニューラルネットワークによって生成され、第1ないし第5のニューラルネットワークと異なる第6のニューラルネットワークによってデコードされてもよく、第4のビットストリームは、第1ないし第6のニューラルネットワークと異なる第7のニューラルネットワークによって生成され、第1ないし第7のニューラルネットワークと異なる第8のニューラルネットワークによってデコードされてもよい。また、第1のエントロピー・モデルは、第1ないし第8のニューラルネットワークとは異なる第9のニューラルネットワークによって生成されてもよく、第2のエントロピー・モデルは、第1ないし第9のネットワークとは異なる第10のニューラルネットワークによって生成されてもよい。
【0038】
上記で説明された側面および実装では、ビットストリームに変換されるテンソルは、その変換プロセスの前に量子化を受けてもよいことに留意されたい。量子化は、処理されるデータの量を低減するために、ある範囲の値を単一の値に圧縮する。
【0039】
上述したエンコード方法に対応して、ここでは、条件付きコーディングに基づいて画像の少なくとも一部を再構成する方法であって、上述したのと同じまたは同様の利点をもつものも提供される。画像の少なくとも一部の再構成は、ニューラルネットワーク、たとえば、以下の詳細な説明に記載されるニューラルネットワークの使用によって容易にされることができる。
【0040】
第3の側面によれば、画像の少なくとも一部を再構成する方法であって、(画像の少なくとも前記一部について)第1のエントロピー・モデルに基づいて第1のビットストリームを処理して第1の潜在テンソルを得て、第1の潜在テンソルを処理して画像の一次成分を表す第1のテンソルを得ることを含む方法が提供される。さらに、本方法は、(少なくとも画像の前記一部について)第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて第1のビットストリームとは異なる第2のビットストリームを処理して、第1の潜在テンソルとは異なる第2の潜在テンソルを得て、第1の潜在テンソルからの情報を使用して、第2の潜在テンソルを処理して、画像の少なくとも1つの二次成分を表す第2のテンソルを得ることを含む。原理的には、画像は、静止画像またはビデオシーケンスのイントラ・フレームでありうる。
【0041】
第1および第2のエントロピー・モデルは、上述のハイパープライアー・パイプラインによって提供されうる。
【0042】
第1の潜在テンソルは、第2の潜在テンソルの処理とは独立して処理されることができる。実際に、エンコードされた一次成分は、二次成分についてのデータが失われた場合でも回復できる。この方法により、圧縮されたもとの画像データを信頼できる仕方で、かつ第1および第2のビットストリームの可能な並列処理のため迅速に、再構成することができる。
【0043】
画像の一次成分はルーマ成分であってもよく、画像の前記少なくとも1つの二次成分はクロマ成分であってもよい。特に、第2のテンソルは、2つの二次成分を表してもよく、その一方はクロマ成分であり、他方は別のクロマ成分である。代替的に、画像の一次成分はクロマ成分であってもよく、画像の前記少なくとも1つの二次成分はルーマ成分であってもよい。
【0044】
第3の側面による方法のある実装によれば、第1の潜在テンソルの処理は、第1の潜在テンソルを第1のテンソルに変換することを含み、第2の潜在テンソルの処理は、第2の潜在テンソルと第1の潜在テンソルとを連結して連結テンソルを得て、連結テンソルを第2のテンソルに変換することを含む。これらの変換のうちの少なくとも1つは、アップサンプリングを含みうる。よって、潜在空間における処理は、より低い解像度で実行されうる。YUV空間または画像表現のために適切に使用される任意の他の空間における成分の正確な再構成のために必要であるためである。
【0045】
第3の側面による方法の別の実装によれば、第1および第2の潜在テンソルのそれぞれは、高さおよび幅次元を有し、第1の潜在テンソルの処理は、第1の潜在テンソルを第1のテンソルに変換することを含み、第2の潜在テンソルの処理は、高さおよび幅次元のうちの少なくとも1つにおける第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが、第1の潜在テンソルの高さおよび幅次元のうちの少なくとも1つにおけるサンプルのサイズまたはサブピクセル・オフセットと異なるかどうかを判定することを含む。第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが第1の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると決定されたとき、第1の潜在テンソルのサンプル位置は、第2の潜在テンソルのサンプル位置に一致するように調整される。これにより、調整された第1の潜在テンソルが得られる。さらに、第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが第1の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定された場合にのみ、第2の潜在テンソルおよび調整された第1の潜在テンソルとが連結されて連結潜在テンソルが得られ、そうでない場合には、第2の潜在テンソルおよび第1の潜在テンソルの連結が実行されて、連結潜在テンソルが得られ、連結潜在テンソルが第2のテンソルに変換される。
【0046】
第1のビットストリームは第1のニューラルネットワークによって処理されてもよく、第2のビットストリームは第1のニューラルネットワークとは異なる第2のニューラルネットワークによって処理されてもよい。第1の潜在テンソルは、第1および第2のネットワークとは異なる第3のニューラルネットワークによって変換されてもよく、連結潜在テンソルは、第1、第2、および第3のネットワークとは異なる第4のニューラルネットワークによって変換されてもよい。
【0047】
第3の側面による方法の別の実装によれば、第1の潜在テンソルはチャネル次元を含み、第2の潜在テンソルはチャネル次元を含み、チャネル次元における第1の潜在テンソルのサイズは、チャネル次元における第2の潜在テンソルのサイズよりも大きい、小さい、および等しいのうちの1つである。チャネル次元における第1および第2の潜在テンソルのサイズに関する情報は、それぞれ第1および第2のビットストリームにおいて信号伝達される情報から取得されうる。
【0048】
第4の側面によれば、画像の少なくとも一部を再構成する方法が提供される。該方法は、(画像の少なくとも一部について)第1のエントロピー・モデルに基づいて第1のビットストリームを処理して第1の潜在テンソルを得て、第1の潜在テンソルを処理して画像の一次成分についての残差の一次残差成分を表す第1のテンソルを得ることを含む。さらに、この方法は、(少なくとも画像の前記一部について)第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて第1のビットストリームとは異なる第2のビットストリームを処理して、第1の潜在テンソルとは異なる第2の潜在テンソルを得て、第1の潜在テンソルからの情報を使用して、第2の潜在テンソルを処理して、画像の少なくとも1つの二次成分についての残差の少なくとも1つの二次残差成分を表す第2のテンソルを得ることを含む。よって、一次成分についての第1の残差成分と、少なくとも1つの二次成分についての第2の残差成分とを含む残差が得られる。原理的には、画像は、静止画像またはビデオシーケンスのインター・フレームでありうる。
【0049】
第1および第2のエントロピー・モデルは、上述のハイパープライアー・パイプラインによって提供されうる。
【0050】
第1の潜在テンソルは、第2の潜在テンソルの処理とは独立して処理されうる。
【0051】
画像の一次成分はルーマ成分であってもよく、画像の前記少なくとも1つの二次成分はクロマ成分であってもよい。この場合、第2のテンソルは、2つの二次成分のための2つの残差成分を表してもよく、そのうちの一方はクロマ成分であり、他方は別のクロマ成分である。あるいはまた、画像の一次成分はクロマ成分であってもよく、画像の前記少なくとも1つの二次成分はルーマ成分であってもよい。
【0052】
第4の側面による方法のある実装によれば、第1の潜在テンソルの処理は、第1の潜在テンソルを第1のテンソルに変換することを含み、第2の潜在テンソルの処理は、第2の潜在テンソルと第1の潜在テンソルとを連結して連結テンソルを得て、連結テンソルを第2のテンソルに変換することを含む。
【0053】
これらの変換のうちの少なくとも1つは、アップサンプリングを含みうる。よって、潜在空間における処理は、より低い解像度で実行されうる。YUV空間または画像表現のために適切に使用される任意の他の空間における成分の正確な再構成のために必要であるためである。
【0054】
第4の側面による方法の別の実装によれば、第1および第2の潜在テンソルのそれぞれは、高さおよび幅次元を有し、第1の潜在テンソルの処理は、第1の潜在テンソルを第1のテンソルに変換することを含み、第2の潜在テンソルの処理は、高さおよび幅次元のうちの少なくとも1つにおける第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが、第1の潜在テンソルの高さおよび幅次元のうちの少なくとも1つにおけるサンプルのサイズまたはサブピクセル・オフセットと異なるかどうかを判定することを含む。第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが第1の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定されたとき、第1の潜在テンソルのサンプル位置は、第2の潜在テンソルのサンプル位置に一致するように調整される。これにより、調整された第1の潜在テンソルが得られる。さらに、第2の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットが第1の潜在テンソルのサンプルのサイズまたはサブピクセル・オフセットと異なると判定された場合にのみ、第2の潜在テンソルおよび調整された第1の潜在テンソルが連結されて連結潜在テンソルが得られ、そうでない場合には、第2の潜在テンソルおよび第1の潜在テンソルの連結が実行されて連結潜在テンソルが得られる。さらに、連結潜在テンソルは、第2のテンソルに変換される。
【0055】
第1のビットストリームは第1のニューラルネットワークによって処理されてもよく、第2のビットストリームは第1のニューラルネットワークとは異なる第2のニューラルネットワークによって処理されてもよい。第1の潜在テンソルは、第1および第2のネットワークとは異なる第3のニューラルネットワークによって変換されてもよく、連結潜在テンソルは、第1、第2、および第3のネットワークとは異なる第4のニューラルネットワークによって変換されてもよい。
【0056】
第4の側面による方法の別の実装によれば、第1の潜在テンソルはチャネル次元を含み、第2の潜在テンソルはチャネル次元を含み、チャネル次元における第1の潜在テンソルのサイズは、チャネル次元における第2の潜在テンソルのサイズよりも大きい、小さい、および等しいのうちの1つである。
【0057】
第1のビットストリームの処理は、第1のビットストリームにおいて信号伝達されるチャネル次元における第1の潜在テンソルのサイズに関する情報を取得することを含んでいてもよく、第2のビットストリームの処理は、第2のビットストリームにおいて信号伝達されるチャネル次元における第2の潜在テンソルのサイズに関する情報を取得することを含んでいてもよい。
【0058】
上述の例示的実装のいずれも、適切と考えられるように組み合わされてもよい。上述の側面および実装のいずれかによる方法は、装置において実装されうる。
【0059】
第5の側面によれば、画像の少なくとも一部をエンコードするための装置が提供され、この装置は、一つまたは複数のプロセッサと、該一つまたは複数のプロセッサに結合され、該一つまたは複数のプロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ可読記憶媒体とを有しており、該プログラミングは、前記一つまたは複数のプロセッサによって実行されると、上述の第1および第2の側面ならびに対応する実装のいずれか1つによる方法を実行するように本装置を構成する。
【0060】
第6の側面によれば、画像の少なくとも一部を再構成するための装置が提供され、この装置は、一つまたは複数のプロセッサと、該一つまたは複数のプロセッサに結合され、該一つまたは複数のプロセッサによる実行のためのプログラミングを記憶する非一時的なコンピュータ可読記憶媒体とを有しており、該プログラミングは、前記一つまたは複数のプロセッサによって実行されると、上述の第3および第4の側面ならびに対応する実装のいずれか1つによる方法を実行するように本装置を構成する。
【0061】
第7の側面によれば、画像の少なくとも一部をエンコードする処理装置が提供され、この処理装置は、(画像の少なくとも一部について)画像の少なくとも1つの二次成分から独立して画像の一次成分をエンコードし、(画像の少なくとも前記一部について)一次成分からの情報を使用して画像の前記少なくとも1つの二次成分をエンコードするように構成された処理回路を備える。
【0062】
この処理装置は、第1の側面による方法の段階を実行するように構成され、また、上述の対応する実装のうちの一つまたは複数の段階を実行するように構成されることもできる。
【0063】
第8の側面によれば、画像の少なくとも一部をエンコードする処理装置が提供され、この処理装置は、画像の一次成分についての一次残差成分と、一次成分とは異なる画像の少なくとも1つの二次成分についての少なくとも1つの二次残差成分とを含む残差を提供し、一次残差成分を前記少なくとも1つの二次残差成分とは独立にエンコードし、前記一次残差成分からの情報を使用して前記少なくとも1つの二次残差成分をエンコードするように構成された処理回路を備える。
【0064】
この処理装置は、第2の側面による方法の段階を実行するように構成され、また、上述の対応する実装のうちの一つまたは複数の段階を実行するように構成されることもできる。
【0065】
第9の側面によれば、画像の少なくとも一部を再構成するための処理装置が提供される。処理装置は、第1のエントロピー・モデルに基づいて第1のビットストリームを処理して第1の潜在テンソルを得て、第1の潜在テンソルを処理して画像の一次成分を表す第1のテンソルを得て、第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて第1のビットストリームとは異なる第2のビットストリームを処理して、第1の潜在テンソルとは異なる第2の潜在テンソルを得て、第1の潜在テンソルからの情報を使用して、第2の潜在テンソルを処理して画像の前記少なくとも1つの二次成分を表す第2のテンソルを得るように構成された処理回路を備える。
【0066】
この処理装置は、第3の側面による方法の段階を実行するように構成され、また、上述の対応する実装のうちの一つまたは複数の段階を実行するように構成されることもできる。
【0067】
第10の側面によれば、画像の少なくとも一部を再構成するための処理装置が提供される。処理装置は、第1のエントロピー・モデルに基づいて第1のビットストリームを処理して第1の潜在テンソルを得て、第1の潜在テンソルを処理して画像の一次成分についての残差の一次残差成分を表す第1のテンソルを得て、第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて第1のビットストリームとは異なる第2のビットストリームを処理して、第1の潜在テンソルとは異なる第2の潜在テンソルを得て、第1の潜在テンソルからの情報を使用して第2の潜在テンソルを処理して画像の少なくとも1つの二次成分についての前記残差の少なくとも1つの二次残差成分を表す第2のテンソルを得るように構成された処理回路を備える。
【0068】
この処理装置は、第4の側面による方法の段階を実行するように構成され、また、上述の対応する実装のうちの一つまたは複数の段階を実行するように構成されることもできる。
【0069】
さらに、第11の側面によれば、一つまたは複数のプロセッサ上で実行されたときに、上述の側面および実装のいずれかによる方法の段階を実行するコードを含む、非一時的媒体上に記憶されたコンピュータ・プログラムが提供される。
【図面の簡単な説明】
【0070】
以下では、本発明の技術的背景および実施形態が、添付の図面を参照してより詳細に説明される。
【
図1】ニューラルネットワークの諸層によって処理されるチャネルを示す概略図である。
【
図2】ニューラルネットワークのオートエンコーダ・タイプを示す概略図である。
【
図3】ハイパープライアー・モデルを含むネットワーク・アーキテクチャーを示す概略図である。
【
図4】マシン・ビジョン・タスクなどのマシン・ベースのタスクのためのクラウド・ベースの解決策の構造を示すブロック図である。
【
図5】エンドツーエンド・トレーニング可能なビデオ圧縮フレームワークの構造を示すブロック図である。
【
図6】動きベクトル(MV)圧縮のためのネットワークを示すブロック図である。
【
図7】当該技術の学習された画像圧縮構成を示すブロック図である。
【
図8】当該技術の別の学習された画像圧縮構成を示すブロック図である。
【
図9】条件付きコーディングの概念を示す図である。
【
図11】残差条件付きコーディングの概念を示す図である。
【
図12】本発明のある実施形態による条件付きイントラ・コーディングを示す図である。
【
図13】本発明のある実施形態による条件付き残差コーディングを示す図である。
【
図14】本発明のある実施形態による条件付きコーディングを示す図である。
【
図15】本発明のある実施形態によるYUV420フォーマットの入力データについての条件付きイントラ・コーディングを示す図である。
【
図16】本発明のある実施形態によるYUV444フォーマットの入力データについての条件付きイントラ・コーディングを示す図である。
【
図17】本発明のある実施形態によるYUV420フォーマットの入力データについての条件付き残差コーディングを示す図である。
【
図18】本発明のある実施形態によるYUV444フォーマットの入力データについての条件付き残差コーディングを示す図である。
【
図19】本発明の別の実施形態によるYUV420フォーマットの入力データについての条件付き残差コーディングを示す図である。
【
図20】本発明の別の実施形態によるYUV444フォーマットの入力データについての条件付き残差コーディングを示す図である。
【
図21】本発明の実施形態による、画像の少なくとも一部をエンコードする例示的な方法を示すフローチャートである。
【
図22】本発明の別の実施形態による、画像の少なくとも一部をエンコードする例示的な方法を示すフローチャートである。
【
図23】本発明のある実施形態による、画像の少なくとも一部を再構成する例示的な方法を示すフローチャートである。
【
図24】本発明の別の実施形態による、画像の少なくとも一部を再構成する例示的な方法を示すフローチャートである。
【
図25】本発明のある実施形態による、画像の少なくとも一部をエンコードまたは再構成する方法を実行するように構成された処理装置を示す図である。
【
図26】本発明の実施形態を実装するように構成されたビデオ・コーディング・システムの一例を示すブロック図である。
【
図27】本発明の実施形態を実装するように構成されたビデオ・コーディング・システムの別の例を示すブロック図である。
【
図28】エンコード装置またはデコード装置の一例を示すブロック図である。
【
図29】エンコード装置またはデコード装置の別の例を示すブロック図である。
【発明を実施するための形態】
【0071】
以下の説明では、添付の図面を参照する。図面は、開示の一部をなし、例示として、本発明の実施形態の個別的な側面または本発明の実施形態が使用されうる個別的な側面を示す。本発明のこれらの実施形態は、他の側面で使用されてもよく、図に示されていない構造的または論理的な変更を含んでいてもよいことが理解される。したがって、以下の詳細な説明は、限定する意味では解釈されず、本発明の範囲は、添付の請求項によって定義される。
【0072】
たとえば、記述される方法に関連する開示は、その方法を実行するように構成された対応するデバイスまたはシステムについても当てはまることがあり、その逆のありうることが理解される。たとえば、一つまたは複数の具体的な方法ステップが記述されている場合、対応するデバイスは、記述された一つまたは複数の方法ステップを実行するために、一つまたは複数のユニット、たとえば機能ユニットを含む場合がある(一つのユニットが前記一つまたは複数のステップを実行する、または複数のユニットがそれぞれ前記複数のステップのうちの一つまたは複数を実行する)。たとえそのような一つまたは複数のユニットが明示的に記載されず、図面に示されていなくてもそうである。他方、たとえば、具体的な装置が一つまたは複数のユニット、たとえば機能ユニットに基づいて記述される場合、対応する方法は、前記一つまたは複数のユニットの機能を実行するための1つのステップを含んでいてもよい(たとえば、1つのステップが前記一つまたは複数のユニットの機能を実行する、または複数のステップがそれぞれ前記複数のユニットのうちの一つまたは複数のユニットの機能を実行する)。たとえそのような一つまたは複数のステップが明示的に記述されず、図面示されていなくてもそうである。さらに、ここに記述されたさまざまな例示的な実施形態および/または側面の特徴は、特にそうでない旨の断りがない限り、互いと組み合わされることができることが理解される。
【0073】
以下では、使用される技術用語のいくつかについての概要を提供する。
【0074】
人工ニューラルネットワーク
人工ニューラルネットワーク(artificial neural network、ANN)またはコネクショニスト・システム(connectionist system)は、動物の脳を構成する生体ニューラルネットワークから漠然と着想を得たコンピューティング・システムである。そのようなシステムは、一般にはタスク固有の規則をプログラムされることなく、例を考慮することによって、タスクを実行するように「学習」する。たとえば、画像認識では、手動で「猫」または「猫でない」とラベル付けされた例示的な画像を分析し、その結果を使用して他の画像における猫を識別することによって、猫を含む画像を識別することを学習しうる。これは、たとえば毛皮、尾、ひげ、猫のような顔をもつといった、猫に関する予備知識なしに行われる。代わりに、システムは、処理する例から識別特徴を自動的に生成する。
【0075】
ANNは、生物学的な脳におけるニューロンをゆるくモデル化する、人工ニューロンと呼ばれる接続された単位またはノードの集まりに基づいている。それぞれの接続は、生物学的な脳におけるシナプスのように、他のニューロンに信号を送ることができる。信号を受け取った人工ニューロンは、それを処理し、それに接続されたニューロンに信号を送ることができる。
【0076】
ANN実装では、接続における「信号」は実数であり、各ニューロンの出力は、その諸入力の和の何らかの非線形関数によって計算される。接続はエッジと呼ばれる。ニューロンとエッジは典型的には、学習が進むにつれて調整される重みをもつ。重みは接続における信号の強度を増加または減少させる。ニューロンは、集約信号がその閾値を超える場合にのみ信号が送られるような閾値を有していてもよい。典型的には、ニューロンは諸層に集約される。異なる層は、その入力に対して異なる変換を実行してもよい。信号は、最初の層(入力層)から最後の層(出力層)まで、可能性としては層を複数回横切った後に進む。
【0077】
ANNアプローチの当初の目標は、人間の脳と同じ仕方で問題を解決することであった。時の経過とともに、特定のタスクを実行することに関心が移り、生物学からの逸脱が生じた。ANNは、コンピュータビジョン、発話認識、機械翻訳、ソーシャルネットワークフィルタリング、ボードゲームやビデオゲームのプレイ、医療診断を含む多様なタスクで使用されてきており、絵を描くことのように伝統的に人間だけのものと考えられてきた活動においても使用されてきている。
【0078】
畳み込みニューラルネットワーク
「畳み込みニューラルネットワーク」(convolutional neural network、CNN)という名前は、ネットワークが畳み込みと呼ばれる数学的演算を採用していることを示す。畳み込みは特殊な種類の線形演算である。畳み込みネットワークは、単に、その層のうちの少なくとも1つにおいて、一般行列乗算の代わりに畳み込みを使用するニューラルネットワークである。
【0079】
図1は、CNNのようなニューラルネットワークによる処理の一般的な概念を示している。畳み込みニューラルネットワークは、入力層と出力層、および複数の隠れ層で構成される。入力層は、処理のために入力(たとえば
図1に示される画像の一部)が提供される層である。
【0080】
CNNの隠れ層は典型的には、乗算または他のドット積を用いて畳み込む一連の畳み込み層で構成される。ある層の結果は、一つまたは複数の特徴マップ(
図1におけるf.maps)であり、チャネルとも呼ばれる。一部またはすべての層に関わるサブサンプリングがあってもよい。結果として、
図1に示されるように、特徴マップがより小さくなることがある。CNNにおける活性化関数は、通例、RELU(Rectified Linear Unit[整流線形ユニット])層であり、その後に、プーリング層、全結合層、正規化層などの追加的な畳み込みが続き、それらは、それらの入力と出力は活性化関数および最終畳み込みによってマスクされるため、隠れ層と呼ばれる。これらの層は口語的に畳み込みと呼ばれるが、これは単に慣例によるものである。数学的には、技術的にはスライディング・ドット積または相互相関である。これは、特定のインデックス・ポイントにおいて重みがどのように決定されるかに影響するという点で、マトリクス内のインデックスにとって重要である。
【0081】
図1に示されるように画像を処理するためのCNNをプログラミングするとき、入力は(画像の数)×(画像幅)×(画像高さ)×(画像深さ)の形状をもつテンソルである。次に、畳み込み層を通過した後、画像は(画像の数)×(特徴マップ幅)×(特徴マップ高さ)×(特徴マップ・チャネル)の形状をもつ特徴マップに抽象化される。ニューラルネットワーク内の畳み込み層は、次の属性をもつ必要がある。幅および高さ(ハイパーパラメータ)によって定義される畳み込みカーネル。入力チャネルと出力チャネルの数(ハイパーパラメータ)。畳み込みフィルタ(入力チャネル)の深さは、入力特徴マップのチャネル数(深さ)と等しくあるべきである。
【0082】
過去には、画像認識のためには伝統的な多層パーセプトロン(multilayer perceptron、MLP)モデルが使用されてきた。しかしながら、ノード間の全結合性のため、高い次元性に悩まされ、より高解像度の画像ではうまくスケールしなかった。RGB色チャネルをもつ1000×1000ピクセルの画像は300万個の重みをもち、これは全結合性をもつスケールで効率的に処理するには高すぎる。また、そのようなネットワーク・アーキテクチャーは、データの空間的構造は考慮に入れず、遠く離れた入力ピクセルを互いに近くにあるピクセルと同じように扱う。これは、計算上でも意味上でも、画像データ内の参照の局所性を無視する。よって、ニューロンの全結合性は、空間的に局所的な入力パターンによって支配される画像認識などの目的のためには無駄である。
【0083】
畳み込みニューラルネットワークは、視覚皮質の挙動をエミュレートするように特別に設計された、多層パーセプトロンの生物学的に触発された変形である。これらのモデルは、自然な画像に存在する強い空間的な局所相関を利用することによって、MLPアーキテクチャーによって呈される課題を緩和する。畳み込み層はCNNの中核的な構成要素である。その層のパラメータは、学習可能なフィルタ(前述のカーネル)の集合からなる。それらのフィルタは小さな受容野をもつが、入力ボリュームの完全な深さまで延在する。順方向パスの間、各フィルタは入力ボリュームの幅および高さにわたって畳み込みされ、フィルタと入力のエントリー間のドット積を計算し、そのフィルタの2次元活性化マップを生成する。結果として、ネットワークは、入力の何らかの空間位置で何らかの特定のタイプの特徴を検出したときに活性になるフィルタを学習する。
【0084】
深さ次元に沿ってすべてのフィルタについての活性化マップをスタックすると、畳み込み層の完全な出力ボリュームが形成される。よって、出力ボリュームにおけるすべてのエントリーは、入力における小さな領域を見るニューロンであって、同じ活性化マップにおけるニューロンとパラメータを共有するニューロンの出力としても解釈できる。特徴マップまたは活性化マップは、所与のフィルタについての出力活性化である。特徴マップと活性化は同じ意味である。いくつかの論文では、画像の異なる部分の活性化に対応するマッピングであるため活性化マップと呼ばれ、また、画像におけるある種の特徴が見出される場所のマッピングでもあるため、特徴マップとも呼ばれる。高い活性化は、ある種の特徴が見つかったことを意味する。
【0085】
CNNのもう1つの重要な概念は、非線形ダウンサンプリングの一形態であるプーリングである。プーリングを実装するためのいくつかの非線形関数があり、そのうち最大プーリング(max pooling)が最も一般的である。最大プーリングは、入力画像を重複しない長方形の集合にパーティション分割し、そのような各サブ領域について最大値を出力する。
【0086】
直感的には、特徴の正確な位置は、他の特徴に対するその大まかな位置ほど重要ではない。これが、畳み込みニューラルネットワークにおいてプーリングを使用することの背後にある発想である。プーリング層は、表現の空間的サイズを漸進的に縮小し、ネットワークにおけるパラメータ数、メモリ・フットプリント、および計算量を削減し、よってオーバーフィッティングも制御する役割を果たす。CNNアーキテクチャーでは、相続く畳み込み層の間に定期的にプーリング層を挿入するのが一般的である。プーリング操作は、別の形式の並進不変性を提供する。
【0087】
プーリング層は、入力のすべての深さスライスに対して独立して作用し、該スライスを空間的にサイズ変更する。最も一般的な形は、サイズ2×2のフィルタをもつプーリング層であり、幅および高さの両方に沿って2ごとの、入力のすべての深さスライスにおける2つのダウンサンプルのストライドで適用され、活性化の75%を破棄する。この場合、すべての最大操作は4つの数に対してである。深さ寸法は変更されない。
【0088】
最大プーリングに加えて、プーリング・ユニットは、平均プーリングやl2ノルム・プーリングなどの他の関数を使用できる。平均プーリングは歴史的によく使用されたが、実際上より優れたパフォーマンスを発揮する最大プーリングと比較して、最近では好まれなくなっている。表現のサイズの積極的な縮小のため、最近ではより小さなフィルタを使用する、またはプーリング層を完全に破棄することに向けた傾向がある。「関心領域(Region of Interest)」プーリング(ROIプーリングとも呼ばれる)は、最大プーリングの変形であり、出力サイズは固定で、入力長方形はパラメータである。プーリングは高速R-CNNアーキテクチャーに基づくオブジェクト検出のための畳み込みニューラルネットワークの重要な構成要素である。
【0089】
前述のReLUは、非飽和活性化関数を適用する整流線形ユニット(rectified linear unit)の略である。負の値を0に設定することにより、活性化マップから負の値を効果的に除去する。これは、畳み込み層の受容野に影響を与えることなく、決定関数と全体的なネットワークの非線形特性を増加させる。非線形性を増加させるために他の関数も使用され、たとえば、飽和双曲線正接とシグモイド関数である。ReLUは、一般化精度に大きなペナルティを与えずにニューラルネットワークを数倍速くトレーニングするため、他の関数よりも好まれることが多い。
【0090】
いくつかの畳み込み層および最大プーリング層の後、ニューラルネットワークにおける高レベル推論は全結合層を介して行われる。全結合層におけるニューロンは、通常の(非畳み込み)人工ニューラルネットワークにおいて見られるように、前の層のすべての活性化への接続をもつ。よって、それらの活性化は、行列乗算の後にバイアス・オフセット(学習されるまたは固定されたバイアス項のベクトル加算)が続くアフィン変換として計算できる。
【0091】
「損失層」は、トレーニングが予測(出力)されるラベルと真のラベルの間の偏差にどのようにペナルティを与えるかを指定し、通常はニューラルネットワークの最終層である。種々のタスクに適したさまざまな損失関数が使用されうる。ソフトマックス(softmax)損失は、K個の相互に排他的なクラスのうちの単一のクラスを予測するために使用される。シグモイド交差エントロピー損失は、[0,1]内のK個の独立した確率値を予測するために使用される。ユークリッド損失は、実数値ラベルへの回帰のために使用される。
【0092】
まとめると、
図1は、典型的な畳み込みニューラルネットワークにおけるデータフローを示す。まず、入力画像は畳み込み層に通され、この層の学習可能なフィルタのセット内のフィルタの数に対応するいくつかのチャネルを含む特徴マップに抽象化される。次いで、特徴マップは、たとえば特徴マップ内の各チャネルの次元を低減するプーリング層を使用してサブサンプリングされる。次のデータが別の畳み込み層に来て、該別の畳み込み層は、特徴マップ内の異なる数のチャネルにつながる異なる数の出力チャネルを有しうる。上述したように、入力チャネルおよび出力チャネルの数は、その層のハイパーパラメータである。ネットワークの接続性を確立するために、これらのパラメータは、2つの接続された層間で同期される必要があり、たとえば、現在の諸層についての入力チャネルの数が前の層の出力チャネルの数に等しくなるべきである。入力データ、たとえば画像を処理する第1の層について、入力チャネルの数は、通常、データ表現のチャネルの数に等しく、たとえば、画像またはビデオのRGBまたはYUV表現については3チャネル、またはグレースケールの画像またはビデオ表現については1チャネルである。
【0093】
オートエンコーダと教師なし学習
オートエンコーダは、教師なしで効率的なデータ・コーディングを学習するために使用される人工ニューラルネットワークのタイプである。その概略図が
図2に示されている。オートエンコーダの目的は、信号「ノイズ」を無視するようにネットワークをトレーニングすることによって、典型的には次元削減のために、データのセットの表現(エンコード)を学習することである。削減側とともに、再構成側が学習され、ここで、オートエンコーダは、削減されたエンコードから、もとの入力に可能な限り近い表現を生成しようとする。このため、その名前が付けられている。
【0094】
最も単純な場合には、1つの隠れ層が与えられた場合、オートエンコーダのエンコーダ・ステージは入力xを取得し、それをhにマッピングする。
h=σ(Wx+b).
この画像hは通例、コード、潜在変数、または潜在表現と呼ばれる。ここで、σはシグモイド関数または整流線形ユニットなどの要素ごとの活性化関数である。Wは重み行列、bはバイアス・ベクトルである。重みとバイアスは通例、ランダムに初期化され、次いで、トレーニング中に逆伝搬(Backpropagation)を通じて逐次反復的に更新される。その後、オートエンコーダのデコーダ・ステージは、hをxと同じ形の再構成x'にマップする。
x'=σ'(W'h'+b')
ここで、デコーダについてのσ'、W'、b'は、エンコーダについての対応するσ、W、bとは無関係であってもよい。
【0095】
変分オートエンコーダ・モデル(variational autoencoder model)は、潜在変数の分布に関する強い仮定をする。変分オートエンコーダ・モデルは、潜在表現学習のために変分アプローチを使用し、その結果、追加的な損失成分と、確率的勾配変分ベイズ(Stochastic Gradient Variational Bayes、SGVB)推定量と呼ばれるトレーニング・アルゴリズムのための具体的な推定量が得られる。これは、データが有向グラフィカル・モデルp
θ(x|h)によって生成され、エンコーダが、事後分布p
θ(h|x)に対する近似q
φ(h|x)を学習しようとしていると想定する。ここで、φおよびθは、それぞれエンコーダ(認識モデル)およびデコーダ(生成モデル)のパラメータを表す。VAEの潜在ベクトルの確率分布は、典型的には、標準的なオートエンコーダよりもはるかによくトレーニング・データの確率分布と一致する。VAEの目的関数は次の形をもつ:
【数1】
ここで、D
KLはカルバック・ライブラー発散(Kullback-Leibler divergence)を表す。潜在変数に対する事前分布は、通例、中心等方性多変量ガウス分布p
θ=N(0,I)に設定される。一般的には、変分および尤度分布の形状は、因子分解型ガウス分布(factorized Gaussian distribution)になるように選択される。
【数2】
ここで、ρ(x)およびω
2(x)はエンコーダ出力であり、μ(h)およびσ
2(h)はデコーダ出力である。
【0096】
人工ニューラルネットワーク分野、および特に畳み込みニューラルネットワークにおける最近の進歩は、画像およびビデオ圧縮のタスクにニューラルネットワークに基づく技術を適用する研究者の関心を可能にする。たとえば、変分オートエンコーダに基づくネットワークを使用するエンドツーエンドで最適化された画像圧縮(End-to-End Optimized Image Compression)が提案されている。よって、データ圧縮は工学における基本的で、よく研究されている問題と考えられており、一般的には、所与の離散データ・アンサンブルについて、最小のエントロピーをもつコードを設計することを目標として定式化される。この解決策は、データの確率的構造の知識に大きく依存しており、よって、問題は確率的ソース・モデリングと密接に関連している。しかしながら、すべての実用的なコードは有限のエントロピーをもたなければならないため、連続値データ(画像ピクセル強度のベクトルなど)は離散的な値の有限集合に量子化されなければならず、これは誤差を導入する。不可逆圧縮問題として知られるこの文脈では、離散化された表現のエントロピー(レート)と量子化から生じる誤差(歪み)という2つの競合するコストをトレードオフさせなければならない。データ記憶や限られた容量のチャネルを通じた伝送などの異なる圧縮用途は、異なるレートと歪みのトレードオフを要求する。レートと歪みの合同最適化は困難である。さらなる制約条件なしでは、高次元空間における最適量子化の一般的な問題は手に負えない。このため、ほとんどの既存の画像圧縮方法は、データベクトルを好適な連続値表現に線形変換し、その要素を独立して量子化し、その後、結果として得られる離散表現を可逆エントロピー符号を使用してエンコードすることによって動作する。この方式は、前記変換の中心的な役割のため、変換コーディングと呼ばれる。たとえば、JPEGはピクセルのブロックに対して離散コサイン変換を使用し、JPEG2000はマルチスケール直交ウェーブレット分解を使用する。典型的には、変換コーディング方法の3つの構成要素――変換、量子化器、およびエントロピー符号――は別個に最適化される(しばしば、手動のパラメータ調整を通じて)。HEVC、VVC、EVCなどの現代のビデオ圧縮標準も、予測後の残差信号をコーディングするために変換表現を使用する。離散コサイン変換やサイン変換(DCT、DST)、低周波の非分離可能手動最適化変換(low frequency non-separable manually optimized transform、LFNST)など、前記いくつかの変換が、その目的のために使用される。
【0097】
変分式画像圧縮(variational image compression)
非特許文献1において、著者は、非線形変換に基づく画像圧縮モデルのエンドツーエンド最適化のためのフレームワークを提案した。以前に、著者は、知覚的歪みの指標について最適化された線形‐非線形ブロック変換からなるモデルが、平均二乗誤差(MSE)について最適化されたモデルと比較して視覚的に優れた性能を示すことを実証した。ここで、著者はMSEについて最適化するが、線形畳み込みおよび非線形性のカスケードから構築される、より柔軟な変換を使用する。特に、著者は、生物学的視覚系におけるニューロンのモデルによって着想され、画像密度のガウシアン化において有効であることが証明されている、一般化除算正規化(generalized divisive normalization、GDN)合同非線形性(joint nonlinearity)を使用する。このカスケード変換の後に、もとの画像空間上でパラメトリック形式のベクトル量子化を効果的に実施する一様スカラー量子化(すなわち、各要素が最も近い整数に丸められる)が続く。圧縮された画像は、近似的なパラメトリック非線形逆変換を用いて、これらの量子化された値から再構成される。
【非特許文献1】J. Balle, L. Valero Laparra, and E. P. Simoncelli (2015)、"Density Modeling of Images Using a Generalized Normalization Transformation"、arXiv e-prints、4th Int. Conf. for Learning Representations, 2016で発表(以下では「Balle」と称される)
【0098】
レート‐歪み曲線に沿った任意の所望される点について、分析変換と合成変換の両方のパラメータが、確率的勾配降下法(stochastic gradient descent)を使用して合同して最適化される。量子化(ほとんどいたるところでゼロ勾配を生成する)の存在下でこれを達成するために、著者は、量子化ステップを加法的な一様ノイズで置き換えて、確率モデルの連続的な緩和(continuous relaxation)に基づくプロキシ損失関数(proxy loss function)を使用する。緩和されたレート‐歪み最適化問題は、生成画像モデル、特に変分オートエンコーダに適合するために使用されるものとある程度類似しているが、レート‐歪み曲線全体に沿って離散的問題を近似することを確実にするために著者が課す制約条件が異なる。最後に、差分または離散エントロピー推定値を報告するのではなく、著者は、エントロピー符号を実装し、実際のビットレートを使用してパフォーマンスを報告し、こうして、完全な不可逆圧縮方法としての本解決策の実現可能性を実証する。
【0099】
J. Balleでは、変分オートエンコーダに基づく画像圧縮のためのエンドツーエンド・トレーニング可能モデルが説明されている。モデルは、潜在表現における空間依存性を効果的に捕捉するために、ハイパープライアーを組み込む。このハイパープライアーは、デコード側にも送信されるサイド情報に関連し、これは、事実上すべての現代の画像コーデックに普遍的な概念であるが、ANNを使用する画像圧縮においてはほとんど探求されていない。既存のオートエンコーダ圧縮方法とは異なり、このモデルは、基礎となるオートエンコーダと合同して複雑な事前分布〔プライアー〕をトレーニングする。著者は、このモデルが、普及しているMS-SSIMインデックスを使用して視覚的品質を測定するときには最先端の画像圧縮をもたらし、二乗誤差(PSNR)に基づくより伝統的なメトリックを使用して評価されるときには、公開されているANNベースの方法を上回るレート‐歪み性能をもたらすことを実証している。
【0100】
図3は、ハイパープライアー・モデルを含むネットワーク・アーキテクチャーを示す。左側(g
a,g
s)は画像オートエンコーダ・アーキテクチャーを示し、右側(h
a,h
s)はハイパープライアーを実装するオートエンコーダに対応する。因子分解型事前分布(factorized-prior)モデルは、分析変換g
aおよび合成変換g
sについて同一のアーキテクチャーを使用する。Qは量子化を表し、AE、ADはそれぞれ算術エンコーダおよび算術デコーダを表す。エンコーダは、入力画像xをg
aにかけ、空間的に変化する標準偏差を有する応答y(潜在表現(latent representation))を生成する。エンコードg
aは、サブサンプリングを有する複数の畳み込み層と、活性化関数としての一般化除算正規化(GDN)とを含む。
【0101】
応答はhaに供給され、zにおいて標準偏差の分布を要約する。zは、その後、量子化され、圧縮され、サイド情報として送信される。エンコーダは、その後、量子化されたベクトル^z〔^付きのz;以下同様〕を使用して、算術符号化(AE)のための確率値(または頻度値)を得るために使用される標準偏差の空間分布^σを推定し、それを使用して、量子化された画像表現^y(または潜在表現)を圧縮して送信する。デコーダは、まず、圧縮された信号から^zを復元し、次いで、hsを用いて^yを得る。これは、^yを正常に復元するための正しい確率推定値をも提供する。次いで^yをgsに入力して、再構成された画像を得る。
【0102】
さらなる研究において、ハイパープライアーによる確率モデル化は、たとえばPixelCNN++アーキテクチャーに基づく自己回帰モデルを導入することによってさらに改善された。これは、たとえば非特許文献2のFig. 2に示されるように、デコードされるべきさらなるシンボルのよりよい確率推定のために、潜在空間のすでにデコードされたシンボルのコンテキストを利用することを許容する。
【非特許文献2】L. Zhou, Zh. Sun, X. Wu, J. Wu、"End-to-end Optimized Image Compression with Attention Mechanism"、CVPR 2019(以下では「Zhou」と称される)
【0103】
マシン・タスクのためのクラウド解決策
マシン用ビデオ・コーディング(Video Coding for Machines、VCM)は、今日人気のある別のコンピュータサイエンスの方向である。このアプローチの背後にある主な考えは、オブジェクトのセグメンテーション、検出、および認識のようなコンピュータビジョン(computer vision、CV)アルゴリズムによるさらなる処理を対象とする画像またはビデオ情報の符号化表現を伝送することである。人間の知覚を対象とした伝統的な画像およびビデオ・コーディングとは対照的に、品質特性は、再構成された品質ではなく、コンピュータ・ビジョン・タスクのパフォーマンス、たとえばオブジェクト検出精度である。これは
図4に示されている。
【0104】
マシン用ビデオ・コーディングは、協働知性(collaborative intelligence)とも呼ばれ、モバイル‐クラウド・インフラストラクチャーにわたる深層ニューラルネットワークの効率的な展開のための比較的新しいパラダイムである。モバイルとクラウドとの間でネットワークを分割することによって、システムの全体的なエネルギーおよび/またはレイテンシーが最小化されるように、計算作業負荷を分散させることが可能である。一般に、協働知性は、ニューラルネットワークの処理が2つ以上の異なる計算ノード(たとえばデバイスだが一般には、任意の機能的に定義されたノード)の間で分散されるパラダイムである。ここで、「ノード」という用語は、上述したニューラルネットワークのノードを指すのではない。むしろ、ここでの(計算)ノードは、ニューラルネットワークの諸部分を実装する(物理的にまたは少なくとも論理的に)別個のデバイス/モジュールを指す。そのようなデバイスは、異なるサーバー、異なるエンドユーザーデバイス、サーバーおよび/またはユーザーデバイスおよび/またはクラウドおよび/またはプロセッサの混合などであってもよい。言い換えれば、計算ノードは、同じニューラルネットワークに属し、ニューラルネットワーク内で/のために符号化されたデータを伝達するために互いに通信するノードと見なされうる。たとえば、複雑な計算を実行できるために、一つまたは複数の層が第1のデバイス上で実行されてもよく、一つまたは複数の層が別のデバイス内で実行されてもよい。しかしながら、分散はより細かくてもよく、単一の層が複数のデバイス上で実行されてもよい。本開示において、「複数」という用語は、2つ以上を指す。いくつかの既存の解決策では、ニューラルネットワーク機能の一部が、デバイス(ユーザーデバイスまたはエッジデバイスなど)または複数のそのようなデバイスにおいて実行され、次いで、出力(特徴マップ)がクラウドに渡される。クラウドは、ニューラルネットワークの一部を動作させているデバイスの外部に位置する処理またはコンピューティング・システムの集合体である。協働知性の概念は、モデル・トレーニングにも拡張されている。この場合、データは、トレーニングにおける逆伝搬中にはクラウドからモバイルへ、トレーニングおよび推論における順方向パス中にはモバイルからクラウドへの両方の方向に流れる。
【0105】
いくつかの研究は、深層特徴をエンコードし、次いでそれらから入力画像を再構成することによる、セマンティック画像圧縮を提示した。一様量子化に基づく圧縮が示され、H.264からのコンテキストベース適応算術符号化(CABAC)がそれに続いた。いくつかのシナリオでは、圧縮された自然画像データをクラウドに送信し、再構成された画像を使用してオブジェクト検出を実行するのではなく、隠れ層(深層特徴マップ)の出力をモバイル部分からクラウドに送信することがより効率的であることがある。特徴マップの効率的な圧縮は、人間の知覚とマシンビジョンの両方のために、画像およびビデオの圧縮および再構成に利益をもたらす。エントロピー符号化方法、たとえば算術符号化は、深層特徴(すなわち特徴マップ)の圧縮に対する人気のある手法である。
【0106】
今日、ビデオコンテンツは、80%を超えるインターネット・トラフィックに寄与し、その割合は、さらに増加することが予期される。したがって、効率的なビデオ圧縮システムを構築し、所与の帯域幅バジェットでより高品質のフレームを生成することが重要である。加えて、ビデオ・オブジェクト検出またはビデオ・オブジェクト追跡などのほとんどのビデオ関連のコンピュータ・ビジョン・タスクは、圧縮されたビデオの品質に敏感であり、効率的なビデオ圧縮は、他のコンピュータ・ビジョン・タスクに利益をもたらしうる。一方、ビデオ圧縮における技術は、アクション認識およびモデル圧縮にも有用である。しかしながら、過去数十年において、ビデオ圧縮アルゴリズムは、上述のように、ビデオシーケンスにおける冗長性を低減するために、たとえば、ブロックベースの動き推定および離散コサイン変換(DCT)などの手作りのモジュールに依存している。各モジュールは良好に設計されているが、圧縮システム全体はエンドツーエンドで最適化されてはいない。圧縮システム全体を合同的に最適化することによって、ビデオ圧縮性能をさらに改善することが望ましい。
【0107】
エンドツーエンドの画像またはビデオ圧縮
最近、画像圧縮のための深層ニューラルネットワーク(deep neural network、DNN)ベースのオートエンコーダが、JPEG、JPEG2000、またはBPGのような伝統的な画像コーデックに匹敵するか、またはさらにはそれよりも良好な性能を達成している。1つの可能な説明は、DNNベースの画像圧縮方法が、伝統的な手法では使用されない大規模なエンドツーエンド・トレーニングおよび高度に非線形の変換を活用できるということである。しかしながら、これらの技術を直接適用して、ビデオ圧縮のためのエンドツーエンド学習システムを構築することは、自明ではない。第1に、ビデオ圧縮のために仕立てられた動き情報をどのように生成し、圧縮するかを学習することは未解決の問題のままである。ビデオ圧縮方法は、ビデオシーケンスにおける時間的冗長性を低減するために動き情報に大きく依存する。素直な解決策は、学習ベースのオプティカルフローを使用して動き情報を表すことである。しかしながら、現在の学習ベースのオプティカルフロー手法は、できるだけ正確なフロー場を生成することを目的とする。精密なオプティカルフローは、特定のビデオ・タスクのために最適でないことがしばしばある。さらに、オプティカルフローのデータ量は、伝統的な圧縮システムにおける動き情報と比較して著しく増加し、オプティカルフロー値を圧縮するために既存の圧縮手法を直接適用することは、動き情報を記憶するために必要とされるビット数を著しく増加させる。第2に、残差情報と動き情報の両方についてレート‐歪みベースの目的関数を最小化することによってDNNベースのビデオ圧縮システムをどのように構築するかが不明である。レート‐歪み最適化(rate-distortion optimization、RDO)は、圧縮のためのビット数(またはビットレート)が与えられたときに、より高い品質の再構成されたフレーム(すなわち、より少ない歪み)を達成することを目的とする。RDOは、ビデオ圧縮性能にとって重要である。学習ベースの圧縮システムのためのエンドツーエンド・トレーニングのパワーを活用するためには、システム全体を最適化するRDO戦略が必要とされる。
【0108】
非特許文献3において、著者は、動き推定、動き圧縮、および残差コーディングを合同して学習するエンドツーエンドの深層ビデオ圧縮(deep video compression、DVC)モデルを提案した。
【非特許文献3】Guo Lu, Wanli Ouyang, Dong Xu, Xiaoyun Zhang, Chunlei Cai, Zhiyong Gao、"DVC: An End-to-end Deep Video Compression Framework"、Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pp.11006-11015
【0109】
そのようなエンコーダは
図5に示されている。特に、
図5は、エンドツーエンド・トレーニング可能なビデオ圧縮フレームワークの全体的な構造を示す。動き情報を圧縮するために、オプティカルフローをより良好な圧縮に適した対応する表現に変換するようにCNNが指定された。具体的には、オートエンコーダ型ネットワークが、オプティカルフローを圧縮するために使用された。動きベクトル(MV)圧縮ネットワークが
図6に示されている。ネットワーク・アーキテクチャーは、
図3のga/gsといくらか類似している。特に、オプティカルフローは、GDNおよびIGDNを含む一連の畳み込み演算および非線形変換に入力される。畳み込み(畳み込み解除)のための出力チャネルの数は、2に等しい最後の畳み込み解除層を除いて128である。M×N×2のサイズを有するオプティカルフローが与えられると、MVエンコーダは、M/16×N/16×128のサイズを有する動き表現を生成する。次いで、動き表現が量子化され、エントロピー符号化され、ビットストリームに送られる。MVデコーダは、量子化された表現を受領し、MVエンコーダを使用して動き情報を再構成する。
【0110】
特に、以下の定義が成り立つ。
【0111】
ピクチャーサイズ(画像サイズ;本明細書では「画像」および「ピクチャー」という用語は交換可能に使用される):ピクチャーの幅または高さ、あるいは幅‐高さのペアを指す。画像の幅および高さは、通例、ルーマ・サンプルの数で測られる。
ダウンサンプリング:ダウンサンプリングは、離散的な入力信号のサンプリングレート(サンプリング間隔)が低減されるプロセスである。
アップサンプリング:アップサンプリングは、離散的な入力信号のサンプリングレート(サンプリング間隔)が増加されるプロセスである。
クロッピング:デジタル画像の外側エッジをトリミングすること。クロッピングは、画像を(サンプル数において)より小さくするために、および/または画像のアスペクト比(長さ対幅)を変更するために使用されうる。
パディング:パディングは、事前定義されたサンプル値を使用することによって、または入力画像内の諸位置のサンプル値を使用することによって、画像の境界において新しいサンプルを生成することにより、入力画像(または画像)のサイズを増加させることを指す。
【0112】
畳み込み:畳み込みは、以下の一般式によって与えられる。下記で、f()は入力信号として定義でき、g()はフィルタとして定義できる。
【数3】
NNモジュール:ニューラルネットワーク・モジュール、ニューラルネットワークの構成要素である。これは、ニューラルネットワークにおける層またはサブネットワークでありうる。ニューラルネットワークは、NNモジュールのシーケンスである。本明細書の文脈内では、ニューラルネットワークは、K個のNNモジュールのシーケンスであると想定される。
潜在空間:ニューラルネットワーク処理の中間段階であり、潜在空間表現は、入力層または隠れ層(単数または複数)の出力を含み、それらは閲覧されることは想定されていない。
損失のあるNNモジュール:損失のあるNNモジュールによって処理された情報は、情報損失をもたらし、損失のあるモジュールは、その処理された情報を不可逆にする。
無損失NNモジュール:無損失NNモジュールによって処理された情報は、情報の損失をもたらさず、無損失は、その処理された情報を可逆にする。
ボトルネック:無損失符号化モジュールに行く潜在空間テンソル。
【0113】
オートエンコーダ:信号を(圧縮された)潜在空間に変換し、もとの信号空間に変換し戻すモデル。
エンコーダ:非線形性および/または残差を有する畳み込み層を用いて画像を潜在テンソル(y)にダウンサンプリングする。
デコーダ:非線形性を有する畳み込み層および/または残差を用いて潜在テンソル(y)をもとの画像サイズにアップサンプリングする。
ハイパーエンコーダ:非線形性および/または残差を有する畳み込み層を用いて、潜在テンソルを、より小さい潜在テンソル(z)にさらにダウンサンプリングする。
ハイパーデコーダ:エントロピー推定のために、非線形性および/または残差を有する畳み込み層を用いて、より小さい潜在テンソル(z)をアップサンプリングする。
AE/AD(算術エンコーダ/デコーダ):潜在テンソルをビットストリームにエンコードするか、または所与の統計的事前分布〔プライアー〕を用いてビットストリームから潜在テンソルをデコードする。
自己回帰エントロピー推定:潜在テンソルの統計的事前分布の推定のプロセスは、順次に
Q:量子化ブロック
^y、^z:対応する潜在テンソルの量子化されたバージョン
マスクされた畳み込み(MaskedConv):モデルがすでに見られた潜在テンソル要素に基づいてのみ予測することができるように、ある種の潜在的テンソル要素をマスクする畳み込みのタイプ。
【0114】
H,W:入力画像の高さおよび幅
ブロック/パッチ:長方形グリッド上の、ある潜在テンソルのサブセット
情報共有:異なるパッチからの情報の協調プロセスのプロセス
P:長方形パッチのサイズ
K:情報共有に含まれる近傍パッチの数を定義するカーネル・サイズ
L:以前に符号化された潜在テンソル要素のうちのいくつが情報共有に含まれるかを定義するカーネル・サイズ
マスクされた畳み込み(MaskedConv):モデルがすでに見られた潜在テンソル要素に基づいてのみ予測することができるように、ある種の潜在テンソル要素をマスクする畳み込みのタイプ。
PixelCNN:マスクされた畳み込みの一つまたは複数の層を含む畳み込みネットワーク
成分:フルカラー画像を記述する直交基底の1つの次元
チャネル:ニューラルネットワーク内の層
イントラ・コーデック:ビデオの第1のフレームまたはキー・フレームは、イントラ・フレームとして処理され、通例、画像として処理される。
インター・コーデック:イントラ・コーデックの後、ビデオ圧縮システムはインター予測を行う。第1の動き推定ツールは、オブジェクトの動きベクトルを計算し、次いで、動き補償ツールは、動きベクトルを使用して次のフレームを予測する。
残差コーデック:予測されたフレームは、現在フレームと常に同じであるとは限らず、現在フレームと予測されたフレームとの間の差が残差である。残差コーデックは、画像を圧縮ように残差を圧縮する。
【0115】
信号条件付け(signal conditioning):トレーニング手順であって、NN推論を助けるために追加的な信号が使用されるが、該追加的な信号は出力には存在せず、出力とは非常に異なるもの。
条件付きコーデック(conditional codec):圧縮および再構成を支援(案内)するために信号条件付けを使用するコーデック。条件付けのために必要とされる補助情報は入力信号の一部ではないので、SOTAでは、画像ではなくビデオストリームの圧縮のために条件付きコーデックが使用される。
【0116】
以下の参考文献は、当該技術分野の符号化のいくつかの側面についての詳細を与える。
【非特許文献4】Ball´e, Johannes, Valero Laparra, and Eero P. Simoncelli、論文"End-to-end optimized image compression"、5th International Conference on Learning Representations, ICLR 201, 2017 学習される画像圧縮を教示している。
【非特許文献5】Ball´e, Johannes, et al.、論文"Variational image compression with a scale hyperprior"、International Conference on Learning Representations, 2018 ハイパープライアー-・モデルを教示している。
【非特許文献6】Minnen, David, Johannes Ball´e, and George Toderici、論文"Joint Autoregressive and Hierarchical Priors for Learned Image Compression"、NeurIPS, 2018 シリアル自己回帰コンテキスト・モデリングを教示している。
【非特許文献7】Th´eo Ladune, Pierrick Philippe, Wassim Hamidouche, Lu Zhang and Olivier D´eforges、論文"Optical Flow and Mode Selection for Learning-based Video Coding"、IEEE 22nd International Workshop on Multimedia Signal Processing (MMSP), 2020 条件付きコーデックを教示している。
【非特許文献8】Guo Lu, Wanli Ouyang, Dong Xu, Xiaoyun Zhang, Chunlei Cai, and Zhiyong Gao、論文"DVC: An End-to-end Deep Video Compression Framework"、CVPR 2019, 2019 深層ニューラルネットワーク・ベースのビデオ・コーデックを教示している。
【0117】
図7は、本開示に従って改善されうる、当技術分野のオートエンコーダおよびハイパープライアー・コンポーネントとを備える、特定の学習された画像圧縮構成を示すブロック図である。圧縮されるべき入力画像は、サイズH×W×Cをもつ3Dテンソルとして表される。ここで、HおよびWは、それぞれ、画像の高さおよび幅(寸法)であり、Cは、成分(たとえば、ルーマ成分および2つのクロマ成分)の数である。入力画像は、エンコーダ71を通される。エンコーダは、複数の畳み込みおよび非線形変換を適用することによって入力画像をダウンサンプリングし、潜在テンソルyを生成する。深層学習の文脈において、「ダウンサンプリング」および「アップサンプリング」という用語は、古典的な意味での再サンプリングを指すのではなく、むしろテンソルのHおよびW次元のサイズを変更するための一般的な用語であることに留意されたい。エンコーダ71によって出力される潜在テンソルyは、潜在空間における画像を表し、サイズ(H/D
e)×(W/D
e)×C
eを有し、ここで、D
eは、エンコーダ71のダウンサンプリング因子であり、C
eは、チャネルの数(たとえば、入力画像を表すテンソルの変換に関与するニューラルネットワーク層の数)である。
【0118】
潜在テンソルyは、ハイパーエンコーダ72によって、畳み込みおよび非線形変換により、ハイパー潜在テンソルzにさらにダウンサンプリングされる。ハイパー潜在テンソルzは、サイズ(H/Dh)×(W/Dh)×Chを有する。ハイパー潜在テンソルzは、ブロックQによって量子化され、量子化されたハイパー潜在テンソル^zが得られる。量子化されたハイパー潜在テンソル^zの値の統計的特性が、因子分解型エントロピー・モデル(factorized entropy model)によって推定される。算術エンコーダAEは、これらの統計的特性を使用して、テンソル^zのビットストリーム表現を作成する。テンソル^zのすべての要素は、自己回帰プロセスを必要とせずにビットストリームに書き込まれる。
【0119】
因子分解型エントロピー・モデルは、そのパラメータがデコーダ側で利用可能なコードブックとして機能する。算術デコーダADは、因子分解型エントロピー・モデルを使用することによって、ビットストリームからハイパー潜在テンソル^zを復元する。復元されたハイパー潜在テンソル^zは、複数の畳み込み演算および非線形変換を適用することによって、ハイパーデコーダ73によってアップサンプリングされる。アップサンプリングされた復元されたハイパー潜在テンソルは、ψによって示される。量子化された潜在テンソル^yのエントロピーは、アップサンプリングされた復元されたハイパー潜在テンソルψに基づいて自己回帰的に推定される。このようにして得られた自己回帰エントロピー・モデルは、量子化された潜在テンソル^yの統計的特性を推定するために使用される。
【0120】
算術エンコーダAEは、これらの推定された統計的特性を使用して、量子化された潜在テンソル^yのビットストリーム表現を作成する。言い換えれば、オートエンコーダ・コンポーネントの算術エンコーダAEは、ハイパープライアー・コンポーネントによって提供されるサイド情報に基づくエントロピー・エンコードによって、潜在空間において画像情報を圧縮する。潜在テンソルyは、自己回帰エントロピー・モデルによって、受信機側の算術デコーダADによってビットストリームから復元される。復元された潜在テンソルyは、再構成された画像のテンソル表現を得るために、複数の畳み込み演算および非線形変換を適用することによって、デコーダ74によってアップサンプリングされる。
【0121】
図8は、
図7に示されたアーキテクチャーの修正を示す。オートエンコーダ・コンポーネントのエンコーダ81およびデコーダ84の処理は、
図7に示されるオートエンコーダ・コンポーネントのエンコーダ71およびデコーダ74の処理と同様であり、ハイパープライアー・コンポーネントのエンコーダ82およびデコーダ83の処理は、
図7に示されるハイパープライアー・コンポーネントのエンコーダ72およびデコーダ73の処理と同様である。これらのエンコーダ71、81、72、82およびデコーダ73、83、74、84のそれぞれは、それぞれ、ニューラルネットワークを有するかまたはそれに接続されてもよいことに留意されたい。さらに、関与するエントロピー・モデルを提供するためにニューラルネットワークが使用されてもよい。
【0122】
図7に示される構成と異なり、
図8に示す構成では、量子化された潜在テンソル^yが、マスクされた畳み込みにかけられ、^yと比較して要素数を減らしたテンソルΦが得られる。エントロピー・モデルは、連結テンソルΦおよびψ(アップサンプリングされた回復されたハイパー潜在テンソル)に基づいて得られる。このようにして得られたエントロピー・モデルは、量子化された潜在テンソル^yの統計的特性を推定するために使用される。
【0123】
条件付きコーディングは、再構成された画像の品質を改善するために補助情報が使用される特定の種類のコーディングを表す。
図9は、条件付きコーディングの原理的な考えを示す。補助情報Aは、入力フレームxと連結され、エンコーダ91によって合同して処理される。潜在空間における量子化されたエンコードされた情報は、算術エンコーダによってビットストリームに書き込まれ、算術デコーダADによってビットストリームから復元される。潜在空間における復元されたエンコードされた情報は、再構成されたフレームXを得るために、デコーダ92によってデコードされなければならない。このデコード段階では、補助情報Aの潜在表現aがデコーダ92の入力に加えられる必要がある。補助情報Aの潜在表現aは、別のエンコーダ93によって提供され、デコーダ92の出力と連結される。
【0124】
ビデオ圧縮のコンテキストでは、
図10に示されるように、現在フレームの現在ブロックのインター予測に使用される残差を圧縮するために、条件付きコーデックが実装される。残差は、現在ブロックをその予測されたバージョンから減算することによって計算される。残差は、残差ビットストリームを得るために、エンコーダ101によってエンコードされる。残差ビットストリームは、デコーダ102によってデコードされる。予測ブロックは、前のフレーム/ブロックからの情報を使用することによって、予測ユニット103によって取得される。予測ブロックは、現在ブロックと同じサイズおよび次元を有するので、同様の仕方で処理される。再構成された残差は、予測ブロックに加えられて、再構成されたブロックを提供する。
【0125】
当技術分野の条件付き残差コーディング(CodeNet)が
図11に示されている。構成は
図9に示したものと同様である。条件付きエンコーダ111は、コーデックを条件付けするための補助情報として、予測されたフレーム
【数4】
からの情報を使用することによって、現在フレームx
tをエンコードするために、使用される。潜在空間における量子化されたエンコードされた情報は、算術エンコーダによってビットストリーム中に書き込まれ、算術デコーダADによってビットストリームから復元される。潜在空間における復元されたエンコードされた情報は、デコーダ112によってデコードされて、再構成されたフレームX
tが得られる。このデコード段階では、補助情報
【数5】
の潜在表現(latent representation)
【数6】
が、デコーダ112の入力に加えられる必要がある。補助情報
【数7】
の潜在表現
【数8】
は、別のエンコーダ113によって提供され、デコーダ112の出力と連結される。
【0126】
CodeNetは、予測されたフレームを使用するが、予測されたフレームと現在フレームとの間の明示的な差(残差)は使用しない。予測されたフレームからすべての情報を取り出しながら現在フレームをコーディングすることは、有利なことに、残差コーディングと比較して、送信されるべき情報がより少なくなる結果となりうる。
【0127】
しかしながら、CodeNetは、エントロピー予測を伴うため、高度に並列的な処理を許容せず、さらに、大きなメモリ空間を必要とする。本開示によれば、メモリ需要を低減し、全体的な処理の実行時間を改善することができる。
【0128】
本開示は、画像の一次成分が一つまたは複数の非一次成分とは独立してエンコードされ、一つまたは複数の非一次成分が一次成分からの情報を使用してエンコードされる条件付きコーディングを提供する。ここで、および以下では、一次成分はルーマ成分であってもよく、一つまたは複数の非一次成分はクロマ成分であってもよく、または一次成分はクロマ成分であってもよく、単一の非一次成分はルーマ成分であってもよい。一次成分は、非一次成分(単数または複数)とは独立してエンコードおよびデコードされうる。これにより、何らかの理由で非一次成分(単数または複数)が失われた場合でもデコードできる。一つまたは複数の非一次成分は、合同して、かつ同時並行してエンコードされることができ、それらは、一次成分と同時並行してエンコードされることができる。一つまたは複数の非一次成分のデコードは、一次成分の潜在表現からの情報を利用する。このような条件付きコーディングは、ビデオシーケンスのイントラ予測およびインター予測処理に適用されることができる。また、静止画像コーディングにも適用できる。
【0129】
図12は、ある例示的実施形態による条件付きイントラ予測の基本を示している。入力画像/フレームiのテンソル表現xは量子化され、エンコード・デバイス121に供給される。ここで、および以下の説明では、画像全体または画像の一部のみ、たとえば、一つまたは複数のブロック、スライス、タイルなどがコーディングされうることに留意されたい。
【0130】
エンコード・デバイス121の前段において、テンソル表現xの一次イントラ成分および少なくとも1つの非一次(二次)イントラ成分への分離が実行され、一次イントラ成分は一次イントラ成分ビットストリームに変換され、少なくとも1つの非一次イントラ成分は少なくとも1つの非一次イントラ成分ビットストリームに変換される。それらのビットストリームは、成分の再構成のためにデコード・デバイス122によって使用される成分に関する圧縮された情報を表す。2つのビットストリームは、互いにインターリーブされることができる。エンコード・デバイス121は、条件付き色分離(conditional color separation、CCS)エンコード・デバイスと称されてもよい。少なくとも1つの非一次イントラ成分のエンコードは、後で詳細に説明するように、一次イントラ成分からの情報に基づく。それぞれのビットストリームは、画像/フレームを再構成するために、デコード・デバイス122によってデコードされる。少なくとも1つの非一次イントラ成分のデコードは、後で詳細に説明するように、一次イントラ成分の潜在表現からの情報に基づく。
【0131】
図13は、ある例示的実施形態による残差コーディングの基本を示している。入力画像/フレームi'のテンソル表現x'が量子化され、残差が計算されてエンコード・デバイス131に供給される。エンコード・デバイス131の前段では、残差の、一次残差成分と少なくとも1つの非一次残差成分とへの分離が実行され、一次残差成分は一次残差成分ビットストリームに変換され、少なくとも1つの非一次残差成分は少なくとも1つの非一次残差成分ビットストリームに変換される。エンコード・デバイス131は、条件付き色分離(CCS)エンコード・デバイスと称されてもよい。少なくとも1つの非一次残差成分のエンコードは、後で詳細に説明するように、一次残差成分からの情報に基づく。それぞれのビットストリームは、画像/フレームを再構成するために、デコード・デバイス132によってデコードされる。少なくとも1つの非一次残差成分のデコードは、後に詳細に説明されるように、一次残差成分の潜在表現からの情報に基づく。残差および再構成された画像/フレームの計算のために必要とされる予測は、予測ユニット133によって提供される。
【0132】
図12および
図13に示される構成では、エンコード・デバイス121および131ならびにデコード・デバイス131および132は、それぞれのニューラルネットワークを備えるか、またはそれぞれのニューラルネットワークに接続されうる。エンコード・デバイス121および131は、変分オートエンコーダを有してもよい。少なくとも1つの非一次成分を処理することと比較して、一次成分を処理することには、異なる数のチャネル/ニューラルネットワーク層が関与しうる。エンコード・デバイス121および131は、網羅的探索を実行することによって、またはコンテンツ適応的な仕方で、チャネル/ニューラルネットワーク層の適切な数を決定しうる。モデルのセットがトレーニングされてもよく、ここで、各モデルは、一次成分および非一次成分のエンコードのための異なる数のチャネルに基づく。処理中、最良の性能のフィルタが、エンコード・デバイス121および131によって決定されてもよい。エンコード・デバイス121および131のニューラルネットワークは、一次成分および非一次成分を処理するために使用されるチャネルの数を決定するために、協調的にトレーニングされうる。いくつかの用途では、一次成分を処理するために使用されるチャネルの数は、非一次成分を処理するために使用されるチャネルの数よりも多くてもよい。他の用途では、たとえば、一次成分の信号が非一次成分の信号よりもノイズが少ない場合、一次成分を処理するために使用されるチャネルの数は、非一次成分を処理するために使用されるチャネルの数よりも少なくてもよい。原理的には、チャネル数の選択は、処理速度と信号歪みに関する最適化の結果であってもよい。余分なチャネルは、歪みを低減することができるが、より高い処理負荷をもたらす。実験は、チャネルの適切な数が、たとえば、一次成分について128、非一次成分について64であってもよく、または一次成分および非一次成分の両方について128であってもよく、または一次成分について192、非一次成分について64であってもよいことを示している。
【0133】
エンコード・プロセスのために使用されるチャネル/ニューラルネットワーク層の数は、それぞれデコード・デバイス122および132に暗黙的にまたは明示的に信号伝達されうる。
【0134】
図14は、画像(ビデオシーケンスのフレームまたは静止画像)の条件付きコーディングの実施形態をより詳細に示す。エンコーダ141は、サイズH
P×W
P×C
Pをもつテンソル表現を受領する。ここで、H
Pは画像の高さ次元を示し、W
Pは画像の幅次元を示し、C
Pは入力チャネル次元を示す。以下では、A×B×Cのサイズをもつテンソルは、通例、略して単にテンソルA×B×Cとして引用される。
【0135】
エンコーダ141によって出力されるテンソルの高さ、幅、およびチャネル次元の例示的なサイズは、HP/16×WP/16×128である。
【0136】
エンコーダ141および142は、エンコード・デバイス121および131に含まれてもよいことに留意されたい。
【0137】
エンコーダ141の出力、すなわち、潜在空間における画像の一次成分のテンソル表現の表現に基づいて、ビットストリームが生成され、潜在空間に変換し戻されて、潜在空間における復元されたテンソル
【数9】
〔便宜上、^H
P×^W
P×^C
Pと書くこともある〕が得られる。
【0138】
画像の少なくとも1つの非一次成分NPのテンソル表現HNP×WNP×CNP(ここで、HNPは画像の高さ次元を示しWNPは画像の幅次元を示し、CNPは入力チャネル次元を示す)は、一次成分Pのテンソル表現HP×WP×CPとの連結後に別のエンコーダ142に入力される(よって、該別のエンコーダ142にはテンソルHNP×WNP×(CNPと+CP)が入力される)。エンコーダ142によって出力されるテンソルの高さ、幅、およびチャネル次元の例示的なサイズは、HP/16×WP/16×64またはHP/32×WP/32×64である。
【0139】
連結の前に、一次成分Pのテンソル表現HP×WP×CPのサンプル位置が、少なくとも1つの非一次成分NPのテンソル表現HNP×WNP×CNPに調整されなければならないことがある。これは、それらのテンソルのサンプルのサイズまたはサブピクセル・オフセットが互いに異なる場合である。前記別のエンコーダ142の出力、すなわち、潜在空間における連結テンソル画像の表現に基づいて、ビットストリームが生成され、潜在空間に変換し戻されて、潜在空間における復元された連結テンソル^HNP×^WNP×^CNPが得られる。
【0140】
一次側では、潜在空間における復元されたテンソル^HP×^WP×^CPは、再構成されたテンソル表現HP×WP×CPに基づいて画像の一次成分Pを再構成するためにデコーダ143に入力される。
【0141】
さらに、潜在空間において、テンソル^HNP×^WNP×^CNPの、テンソル^HP×^WP×^CPとの連結が実行される。この場合も、連結されるこれらのテンソルのサンプルのサイズまたはサブピクセル・オフセットが互いに異なる場合、サンプル位置の何らかの調整が必要とされる。非一次側では、この連結から得られるテンソル^HNP×^WNP×(^CP+^CNP)が、別のデコーダ144に入力される。画像の少なくとも1つの非一次成分NPを、再構成されたテンソル表現HNP×WNP×CNPに基づいて再構成するためである。
【0142】
上述のコーディングは、少なくとも1つの非一次成分NPとは独立して一次成分Pについて実行されてもよい。たとえば、一次成分Pおよび少なくとも1つの非一次成分NPのコーディングは、同時並行して実行されてもよい。現状技術と比較して、全体的な処理の並列化を高めることができる。さらに、数値実験は、再構成された画像の品質の著しい劣化なしに、現状技術と比較してより短いチャネル長が使用でき、したがって、メモリ要求が低減できることを示した。
【0143】
以下では、YUV空間で表される画像の成分(1つのルーマ成分Yおよび2つのクロマ成分UおよびV)の条件付きコーディングの例示的実装が、
図15~
図20を参照して説明される。開示される条件付きコーディングは、画像の表現に使用されうる任意の他の(色)空間にも適用可能であることは言うまでもない。
【0144】
図15に示す実施形態では、YUV420フォーマットの入力データが処理される。ここで、Yは処理されるべき現在画像のルーマ成分を示し、UVは処理されるべき現在画像のクロマ成分Uおよびクロマ成分Vを示し、420は、高さおよび幅の次元におけるルーマ成分Yのサイズがクロマ成分UVのサイズよりも4倍大きい(2倍の高さおよび2倍の幅)ことを示す。
図15に示される実施形態では、Yは、UVとは独立して処理される一次成分であるように選択され、UVは、非一次成分であるように選択される。UV成分は一緒に処理される。
【0145】
処理されるべき画像のYUV表現は、(一次)Y成分と(非一次)UV成分とに分離される。ニューラルネットワークを含むエンコーダ151は、(H/1)×(W/1)×1のサイズをもつ、処理されるべき画像のY成分を表すテンソルを受領する。ここで、H,Wは、高さおよび幅の次元であり、入力の深さ(すなわち、チャネルの数)は1である(1つのルーマ成分について)。エンコーダ151の出力は、サイズ(H/16)×(W/16)×Cyをもつ潜在テンソルである。ここで、Cyは、Y成分に割り当てられたチャネルの数である。この実施形態では、エンコーダ151内の4つのダウンサンプリング層が、入力テンソルの高さおよび幅の両方を因子16によって減少させ(ダウンサンプリングし)、チャネルの数Cyは128である。結果として得られるY成分の潜在表現は、ハイパープライアーYパイプラインによって処理される。
【0146】
処理されるべき画像のUV成分は、テンソル(H/2)×(W/2)×2によって表される。この場合も、H,Wは高さおよび幅の次元であり、チャネルの数は2である(2つのクロマ成分について)。UV成分の条件付きエンコードは、Y成分からの補助情報を必要とする。Y成分の平面サイズ(HおよびW)がUV成分のサイズと異なる場合、再サンプリング・ユニットを使用して、Y成分を表すテンソル内のサンプルの位置を、UV成分を表すテンソル内のサンプルの位置と揃える。同様に、Y成分を表すテンソルにおけるサンプルの位置とUV成分を表すテンソルにおけるサンプルの位置との間にオフセットがある場合、整列を実行しなければならない。
【0147】
Y成分の整列されたテンソル表現は、UV成分のテンソル表現と連結されて、テンソル(H/2)×(W/2)×3が得られる。ニューラルネットワークを含むエンコーダ152は、この連結テンソルを潜在テンソル(H/32)×(W/32)×C
uvに変換する。ここでC
uvは、UV成分に割り当てられたチャネルの数である。この実施形態では、エンコーダ152内の5つのダウンサンプリング層は、入力テンソルの高さと幅の両方を因子32によって減少させ(ダウンサンプリングし)、チャネルの数は64である。結果として生じるUV成分の潜在表現は、ハイパープライアーYパイプラインに類似するハイパープライアーUVパイプラインによって処理される(これらのパイプラインの動作については、上記の
図7の説明も参照)。ハイパープライアーUVパイプラインとハイパープライアーYパイプラインの両方がニューラルネットワークを備えていてもよいことに留意されたい。
【0148】
ハイパープライアーYパイプラインは、Y成分の(量子化された)潜在表現のエントロピー符号化のために使用されるエントロピー・モデルを提供する。ハイパープライアーYパイプラインは、(ハイパー)エンコーダ153、算術エンコーダ、算術デコーダ、および(ハイパー)デコーダ154を備える。
【0149】
潜在空間におけるY成分を表す潜在テンソル(H/16)×(W/16)×C
yは、(ハイパー)エンコーダ153によって、畳み込みおよび非線形変換によりさらにダウンサンプリングされて、ハイパー潜在テンソルが得られる。ハイパー潜在テンソルは、(可能性としては、
図15には図示されていない量子化の後に;実は、ここおよび以下において、量子化ユニットQによって実行される量子化があったとしてもそれは任意的である)算術エンコーダAEによってビットストリームに変換される。(量子化された)ハイパー潜在テンソルの統計的特性が、エントロピー・モデル、たとえば因子分解型エントロピー・モデルによって推定され、ハイパープライアーYパイプラインの算術エンコーダAEは、これらの統計的特性を使用してビットストリームを作成する。(量子化された)ハイパー潜在テンソルのすべての要素は、自己回帰プロセスを必要とせずにビットストリームに書き込まれうる。
【0150】
(因子分解された)エントロピー・モデルは、そのパラメータがデコーダ側で利用可能なコードブックとして機能する。ハイパープライアーYパイプラインの算術デコーダADは、(因子分解された)エントロピー・モデルを使用することによって、ビットストリームからハイパー潜在テンソルを復元する。復元されたハイパー潜在テンソルは、複数の畳み込み演算および非線形変換を適用することによって、(ハイパー)デコーダ154によってアップサンプリングされる。潜在空間におけるY成分を表す潜在テンソル(H/16)×(W/16)×Cyは、ハイパープライアーYパイプラインの量子化ユニットQによる量子化を受け、量子化された潜在テンソルのエントロピーは、(ハイパー)デコーダ154によって出力されたアップサンプリングされた復元されたハイパー潜在テンソルに基づいて自己回帰的に推定される。
【0151】
潜在空間におけるY成分を表す潜在テンソル(H/16)×(W/16)×Cyは、ハイパープライアーYパイプラインによって提供されるそのテンソルの推定された統計的特性を使用する別の算術エンコーダAEによって、(送信機側から受信機側に送信されうる)ビットストリームに変換される前にも量子化される。潜在テンソル(H/16)×(W/16)×Cyは、別の算術デコーダADによって、ハイパープライアーYパイプラインによって提供される自己回帰エントロピー・モデルにより、ビットストリームから復元される。復元された潜在テンソル(H/16)×(W/16)×Cyは、デコーダ155によって、複数の畳み込み演算および非線形変換を適用することによりアップサンプリングされ、(H/1)×(W/1)×1のサイズをもつ、画像の再構成されたY成分のテンソル表現が得られる。
【0152】
ハイパープライアーUVパイプラインは、エンコーダ152の出力、すなわち、潜在テンソル(H/32)×(W/32)×C
uvを処理する。この潜在テンソルは、ハイパープライアーUVパイプラインの(ハイパー)エンコーダ156によって、畳み込みおよび非線形変換によりさらにダウンサンプリングされて、ハイパー潜在テンソルが得られ、該ハイパー潜在テンソルは、(可能性としては
図15には示されていない量子化後に)ハイパープライアーUVパイプラインの算術エンコーダAEによってビットストリームに変換される。(量子化された)ハイパー潜在テンソルの統計的特性は、エントロピー・モデル、たとえば、因子分解型エントロピー・モデルによって推定され、ハイパープライアーYパイプラインの算術エンコーダAEは、これらの統計的特性を使用してビットストリームを作成する。(量子化された)ハイパー潜在テンソルのすべての要素は、自己回帰プロセスを必要とせずにビットストリームに書き込まれうる。
【0153】
(因子分解された)エントロピー・モデルは、そのパラメータがデコーダ側で利用可能なコードブックとして機能する。ハイパープライアーUVパイプラインの算術デコーダADは、(因子分解された)エントロピー・モデルを使用することによって、ビットストリームからハイパー潜在テンソルを復元する。復元されたハイパー潜在テンソルは、複数の畳み込み演算および非線形変換を適用することによって、ハイパープライアーUVパイプラインの(ハイパー)デコーダ157によってアップサンプリングされる。UV成分を表す潜在テンソル(H/32)×(W/32)×Cuvは、ハイパープライアーUVパイプラインの量子化ユニットQによる量子化を受け、量子化された潜在テンソルのエントロピーは、(ハイパー)デコーダ157によって出力されたアップサンプリングされた復元されたハイパー潜在テンソルに基づいて自己回帰的に推定される。
【0154】
潜在空間におけるUV成分を表す潜在テンソル(H/32)×(W/32)×Cuvは、ハイパープライアーUVパイプラインによって提供されるそのテンソルの推定された統計的特性を使用する別の算術エンコーダAEによって(送信機側から受信機側に送信されうる)ビットストリームに変換される前にも量子化される。潜在空間におけるUV成分を表す潜在テンソル(H/32)×(W/32)×Cuvは、ハイパープライアーUVパイプラインによって提供される自己回帰エントロピー・モデルを用いて、別の算術デコーダADによってビットストリームから復元される。
【0155】
潜在空間におけるUV成分を表す復元された潜在テンソル(H/32)×(W/32)×Cuvは、復元された潜在テンソル(H/16)×(W/16)×Cyと、後者のダウンサンプリング後に連結される。すなわち、復元された潜在テンソル(H/32)×(W/32)×Cuvはテンソル(H/32)×(W/32)×Cy(UV成分のデコードのために必要な補助情報として)と連結されて、テンソル(H/32)×(W/32)×(Cy+Cuv)が得られ、これが、UV処理側のデコーダ158に入力され、そのデコーダ158によって、複数の畳み込み演算および非線形変換を適用することによってアップサンプリングされて、サイズ(H/2)×(W/2)×2をもつ画像の再構成されたUV成分のテンソル表現が得られる。画像の再構成されたUV成分のテンソル表現は、YUV空間における再構成された画像を得るために、画像の再構成されたY成分のテンソル表現と組み合わされる。
【0156】
図16は、
図15に示されたものと同様の実施形態を示すが、YUV444フォーマットの入力データの処理のためのものであり、高さ幅次元においてY成分およびUV成分をそれぞれ表すテンソルのサイズは同じである。エンコーダ161は、処理されるべき画像のY成分を表すテンソル(H/1)×(W/1)×1を、潜在空間に変換する。補助情報は、この実施形態によれば再サンプリングされる必要はなく、したがって、処理されるべき画像のUV成分を表すテンソル(H/1)×(W/1)×2は、Y成分を表すテンソル(H/1)×(W/1)×1と直接連結されることができ、連結テンソル(H/1)×(w/1)×3は、UV側のエンコーダ162によって潜在空間に変換される。(ハイパー)エンコーダ163および(ハイパー)デコーダ164を備えるハイパープライアーYパイプライン、ならびに(ハイパー)エンコーダ166および(ハイパー)デコーダ167を備えるハイパープライアーUVパイプラインは、
図15を参照して上述したものと同様に動作する。U成分およびUV成分の復元された潜在表現は、高さおよび幅において同じサイズを有するので、それらは、再サンプリングなしに、潜在空間において互いに連結されることができる。U成分の復元された潜在表現(H/16)×(w/16)×C
yは、デコーダ165によってアップサンプリングされ、Y成分およびUV成分の復元された連結された潜在表現(H/16)×(w/16)×(C
y+C
uv)は、デコーダ168によってアップサンプリングされ、デコーダ165および168の出力が組み合わされて、YUV空間における復元された画像が得られる。
【0157】
図17および
図18は、条件付き残差コーディングが提供される実施形態を示す。残差条件付きコーディングは、ビデオシーケンスの現在フレームのインター予測または静止画像コーディングのために使用されうる。
図15および
図16に示される実施形態とは異なり、YUV空間における残差成分を含む残差が処理される。残差は、Y成分についての残差Y成分と、UV成分についての残差UV成分とに分離される。残差成分の処理は、
図15および
図16を参照して上述したY成分およびUV成分の処理と同様である。
図17に示される実施形態によれば、入力データはYUV 420フォーマットである。よって、残差Y成分は、残差UV成分と連結する前にダウンサンプリングされなければならない。エンコーダ171および172は、それぞれの潜在表現を提供する。(ハイパー)エンコーダ173および(ハイパー)デコーダ174を備えるハイパープライアーYパイプライン、ならびに(ハイパー)エンコーダ176および(ハイパー)デコーダ177を備えるハイパープライアーUVパイプラインは、
図15を参照して上述したものと同様に動作する。残差Y成分側では、デコーダ175が、残差Y成分の復元された表現を出力する。残差UV側では、デコーダ178が、潜在空間において提供される補助情報に基づいて残差UV成分の復元された表現を出力し、ここで、残差Y成分の復元された潜在表現のダウンサンプリングが必要とされる。デコーダ175および178の出力は組み合わされて、復元された画像(の一部)を得るために使用されうるYUV空間における復元された残差が得られる。
【0158】
図18に示される実施形態によれば、入力データはYUV 444フォーマットである。補助情報のダウンサンプリングは必要ない。残差のY成分およびUV成分の処理は、
図16を参照して上述したY成分およびUV成分の処理と同様である。エンコーダ181は、処理されるべき画像の残差Y成分を表すテンソル(H/1)×(W/1)×1を潜在空間に変換する。処理されるべき画像の残差UV成分を表すテンソル(H/1)×(W/1)×2は、残差Y成分を表すテンソル(H/1)×(W/1)×1と直接連結されることができ、連結テンソル(H/1)×(w/1)×3は、残差UV側のエンコーダ182によって潜在空間に変換される。
【0159】
(ハイパー)エンコーダ183および(ハイパー)デコーダ184を備えるハイパープライアーYパイプライン、ならびに(ハイパー)エンコーダ186および(ハイパー)デコーダ187を備えるハイパープライアーUVパイプラインは、
図15を参照して上述したものと同様に動作する。
【0160】
残差U成分および残差UV成分の復元された潜在表現は、高さおよび幅において同じサイズを有するので、それらは、再サンプリングなしに互いに連結されることができる。残差U成分の復元された潜在表現(H/16)×(w/16)×Cyは、デコーダ185によってアップサンプリングされ、残差Y成分および残差UV成分の復元された連結潜在表現(H/16)×(w/16)×(Cy+Cuv)がデコーダ188によってアップサンプリングされ、デコーダ185および188の出力が組み合わされて、復元された画像(の一部)を得るために使用できるYUV空間における画像の復元された残差をが得られる。
【0161】
図19は、
図17に示された実施形態に対する代替実施形態を示す。唯一の違いは、
図19に示される構成では、自己回帰エントロピー・モデルが使用されないことである。テンソル(H/1)×(w/1)×1によって表される残差Y成分の表現は、エンコーダ191によって潜在空間において変換される。残差Y成分は、テンソル(H/2)×(w/2)×3を出力するエンコーダ192によって、テンソル(H/2)×(w/2)×2によって表される残差UV成分をコーディングするための補助情報として使用される。(ハイパー)エンコーダ193および(ハイパー)デコーダ194を含むハイパープライアーYパイプラインは、残差Y成分の潜在表現(H/16)×(w/16)×C
yのコーディングのために使用されるサイド情報を提供する。デコーダ195は、テンソル(H/1)×(w/1)×1によって表される再構成された残差Y成分を出力する。(ハイパー)エンコーダ196および(ハイパー)デコーダ197を含むハイパープライアーUVパイプラインは、エンコーダ192によって出力されるテンソル(H/2)×(w/2)×3の潜在表現、すなわちテンソル(H/16)×(w/16)×C
uvのコーディングのために使用されるサイド情報を提供する。デコーダ198は、潜在空間における連結テンソル(H/16)×(w/16)×(C
y+C
uv)を受領し、テンソル(H/2)×(w/2)×2によって表される再構成された残差UV成分を出力する。
【0162】
図20は、
図18に示された実施形態に対する代替実施形態を示す。この場合も、唯一の違いは、
図20に示される構成では、自己回帰エントロピー・モデルが使用されないことである。
【0163】
テンソル(H/1)×(w/1)×1によって表される残差Y成分の表現は、エンコーダ201によって潜在空間において変換される。残差Y成分は、テンソル(H/2)×(w/2)×2によって表される残差UV成分をコーディングするための補助情報として、エンコーダ202によって使用され、該エンコーダはテンソル(H/2)×(w/2)×3を出力する。(ハイパー)エンコーダ203および(ハイパー)デコーダ204を含むハイパープライアーYパイプラインは、残差Y成分の潜在表現(H/16)×(w/16)×Cyのコーディングのために使用されるサイド情報を提供する。デコーダ205は、テンソル(H/1)×(w/1)×1によって表される再構成された残差Y成分を出力する。(ハイパー)エンコーダ206および(ハイパー)デコーダ207を含むハイパープライアーUVパイプラインは、エンコーダ202によって出力されるテンソル(H/2)×(w/2)×3の潜在表現、すなわちテンソル(H/16)×(w/16)×Cuvのコーディングのために使用されるサイド情報を提供する。デコーダ208は、潜在空間における残差UV成分の再構成された表現(H/16)×(w/16)×Cuvを受領し、テンソル(H/2)×(w/2)×2によって表される再構成された残差UV成分を出力する。
【0164】
自己回帰エントロピー・モデルを使用しない処理は、全体的な処理の複雑さを低減することができ、実際の用途に応じて、依然として、復元された画像の十分な精度を提供することができる。
【0165】
画像の少なくとも一部をエンコードする方法の具体的な実施形態が
図21および
図22に示され、画像の少なくとも一部を再構成する方法の具体的な実施形態が
図23および
図24に示される。
【0166】
図21に示される、画像の少なくとも一部をエンコードする方法は、画像の少なくとも1つの二次(非一次)成分から独立して画像の一次成分をエンコードする段階S212と、一次成分からの情報を使用して画像の少なくとも1つの二次成分をエンコードする段階S214とを含む。一次成分は、二次成分をエンコードするプロセスのための補助情報を提供する。ここで、
図22~
図24に示される実施形態において、画像は、輝度成分および色成分を含み、これらの成分のうちの1つが一次成分であるように選択され、他の成分のうちの少なくとも1つが前記少なくとも1つの二次成分であるように選択される。たとえば、YUV空間では、Y成分が一次成分として選択され、クロマ成分UおよびVの一方または両方が二次成分として選択される。あるいはまた、クロマ成分UおよびVのうちの1つが一次成分として選択され、ルーマ成分Yが二次成分として選択される。
【0167】
図22に示される画像の少なくとも一部をエンコードする方法は、画像の一次成分についての一次残差成分と、一次成分とは異なる画像の少なくとも1つの二次成分についての少なくとも1つの二次残差成分とを含む残差を提供すること(S222)を含む。一次残差成分は、少なくとも1つの二次残差成分とは独立してエンコードされ(S224)、少なくとも1つの二次残差成分は、一次残差成分からの情報を使用してエンコードされる(S226)。
【0168】
図23に示される実施形態によれば、画像の少なくとも一部を再構成する方法は、第1のエントロピー・モデルに基づいて第1のビットストリームを処理して(S232)第1の潜在テンソルを得る段階と、第1の潜在テンソルを処理して(S234)画像の一次成分を表す第1のテンソルを得る段階とを含む。さらに、第1のビットストリームとは異なる第2のビットストリームが、第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて処理されて(S236)、第1の潜在テンソルとは異なる第2の潜在テンソルが得られ、第1の潜在テンソルからの情報を使用して、第2の潜在テンソルが処理されて(S238)、画像の少なくとも1つの二次成分を表す第2のテンソルが得られる。
【0169】
図24に示される実施形態によれば、画像の少なくとも一部を再構成する方法は、第1のエントロピー・モデルに基づいて第1のビットストリームを処理して(S242)、第1の潜在テンソルを得る段階と、第1の潜在テンソルを処理して(S244)、画像の一次成分についての残差の一次残差成分を表す第1のテンソルを得る段階とを含む。さらに、第1のビットストリームとは異なる第2のビットストリームが、第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて処理されて(S246)、第1の潜在テンソルとは異なる第2の潜在テンソルが得られ、第1の潜在テンソルからの情報を使用して、第2の潜在テンソルが処理されて(S248)、画像の少なくとも1つの二次成分についての残差の少なくとも1つの二次残差成分を表す第2のテンソルが得られる。
【0170】
図21~
図24に示される方法は、適宜、イントラ予測、インター予測、および/または静止画像コーディングのコンテキストにおいて適用されうる。さらに、
図21~
図24に示される方法は、具体的な実装では、
図12~
図20を参照しながら説明された処理(ユニット)を利用しうる。
【0171】
特に、
図21~
図24に示される方法は、
図25に示されるようなこれらの方法の段階を実行するように構成された処理回路255を備える処理装置250において実施されてもよい。
【0172】
よって、処理装置250は、画像の少なくとも一部をエンコードするための処理装置250であってもよく、処理装置250は、(画像の少なくとも一部について)画像の少なくとも1つの二次成分から独立して画像の一次成分をエンコードし、(画像の少なくとも前記一部について)一次成分からの情報を使用して画像の少なくとも1つの二次成分を符号化するように構成された処理回路255を備える。
【0173】
あるいはまた、処理装置250は、画像の少なくとも一部をエンコードする処理装置250であってもよく、処理装置250は、画像の一次成分についての一次残差成分と、一次成分とは異なる画像の少なくとも1つの二次成分についての少なくとも1つの二次残差成分とを含む残差を提供し、一次残差成分を少なくとも1つの二次残差成分とは独立してエンコードし、一次残差成分からの情報を使用して少なくとも1つの二次残差成分をエンコードするように構成された処理回路255を備える。
【0174】
あるいはまた、処理装置250は、画像の少なくとも一部を再構成するための処理装置250であってもよく、処理装置250は、第1のエントロピー・モデルに基づいて第1のビットストリームを処理して第1の潜在テンソルを取得し、第1の潜在テンソルを処理して画像の一次成分を表す第1のテンソルを得て、第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて第1のビットストリームとは異なる第2のビットストリームを処理して第1の潜在テンソルとは異なる第2の潜在テンソルを得て、第1の潜在テンソルからの情報を使用して第2の潜在テンソルを処理して画像の少なくとも1つの二次成分を表す第2のテンソルを得るように構成された処理回路255を備える。
【0175】
あるいはまた、処理装置250は、画像の少なくとも一部を再構成するための処理装置250であってもよく、処理装置250は、第1のエントロピー・モデルに基づいて第1のビットストリームを処理して第1の潜在テンソルを得て、第1の潜在テンソルを処理して画像の一次成分についての残差の一次残差成分を表す第1のテンソルを得て、第1のエントロピー・モデルとは異なる第2のエントロピー・モデルに基づいて第1のビットストリームとは異なる第2のビットストリームを処理して、第1の潜在テンソルとは異なる第2の潜在テンソルを得て、第1の潜在テンソルからの情報を使用して第2の潜在テンソルを処理して画像の少なくとも1つの二次成分についての残差の少なくとも1つの二次残差成分を表す第2のテンソルを得るように構成された処理回路255を備える。
【0176】
ハードウェアおよびソフトウェアにおけるいくつかの例示的実装
上述のエンコーダ‐デコーダ処理チェーンを展開することができる対応するシステムが
図26に示されている。
図26は、本願の技法を利用しうる例示的なコーディング・システム、たとえば、ビデオ、画像、オーディオ、および/または他のコーディング・システム(または略してコーディング・システム)を示す概略ブロック図である。ビデオ・コーディング・システム10のビデオ・エンコーダ20(または略してエンコーダ20)およびビデオ・デコーダ30(または略してデコーダ30)は、本願で説明するさまざまな例による技法を実行するように構成されうるデバイスの例を表す。たとえば、ビデオ・コーディングおよびデコードは、
図1~
図6に示されるようなニューラルネットワークを採用してもよく、これは、分散されてもよく、上述のビットストリーム・パースおよび/またはビットストリーム生成を適用して、分散された計算ノード(2つ以上)の間で特徴マップを伝達してもよい。
【0177】
図26に示されるように、コーディング・システム10は、エンコードされたピクチャー・データ21を、たとえば該エンコードされたピクチャー・データ13をデコードするための宛先デバイス14に提供するように構成されたソース・デバイス12を備える。
【0178】
ソース・デバイス12は、エンコーダ20を備え、さらに、すなわち任意的に、ピクチャー・ソース16と、プリプロセッサ(または前処理ユニット)18、たとえばピクチャー・プリプロセッサ18と、通信インターフェースまたは通信ユニット22とを備えうる。
【0179】
ピクチャー・ソース16は、たとえば現実世界のピクチャーを捕捉するカメラなどの任意の種類のピクチャー捕捉デバイス、および/または、たとえばコンピュータアニメーション・ピクチャーを生成するためのコンピュータグラフィックプロセッサなどの任意の種類のピクチャー生成デバイス、または、現実世界のピクチャー、コンピュータ生成ピクチャー(たとえばスクリーンコンテンツ、仮想現実(VR)ピクチャー)および/またはそれらの任意の組み合わせ(たとえば拡張現実(AR)ピクチャー)を取得および/または提供する任意の種類の他のデバイスを有してもよく、または、それらであってもよい。ピクチャー・ソースは、前述のピクチャーのいずれかを記憶する任意の種類のメモリまたは記憶デバイスであってもよい。
【0180】
前処理ユニット18および前処理ユニット18によって実行される処理と区別して、ピクチャーまたはピクチャー・データ17は、生ピクチャーまたは生ピクチャー・データ17と呼ばれることもある。
【0181】
プリプロセッサ18は、(生の)ピクチャー・データ17を受領し、ピクチャー・データ17に対して前処理を実行して、前処理されたピクチャー19または前処理されたピクチャー・データ19を得るように構成される。プリプロセッサ18によって実行される前処理は、たとえば、トリミング、色フォーマット変換(たとえば、RGBからYCbCrへの)、色補正、またはノイズ除去を含むことができる。前処理ユニット18は任意的な構成要素であってもよいことが理解されうる。前処理は、存在インジケータ信号伝達を使用する(
図1~
図7のいずれかにあるような)ニューラルネットワークを採用することもできることに留意されたい。
【0182】
ビデオ・エンコーダ20は、前処理されたピクチャー・データ19を受領して、エンコードされたピクチャー・データ21を提供するように構成される。
【0183】
ソース・デバイス12の通信インターフェース22は、エンコードされたピクチャー・データ21を受領し、記憶または直接再構成のために、通信チャネル13を通じてエンコードされたピクチャー・データ21(またはその任意のさらなる処理されたバージョン)を別のデバイス、たとえば宛先デバイス14または任意の他のデバイスに送信するように構成されうる。
【0184】
宛先デバイス14は、デコーダ30(たとえば、ビデオ・デコーダ30)を備え、追加的に、すなわち任意的に、通信インターフェースまたは通信ユニット28と、ポストプロセッサ32(または後処理ユニット32)と、ディスプレイ・デバイス34とを備えうる。
【0185】
宛先デバイス14の通信インターフェース28は、エンコードされたピクチャー・データ21(またはその任意のさらなる処理されたバージョン)を、たとえばソース・デバイス12から直接、または任意の他のソース、たとえば記憶デバイス、たとえばエンコードされたピクチャー・データの記憶デバイスから受領し、エンコードされたピクチャー・データ21をデコーダ30に与えるように構成される。
【0186】
通信インターフェース22および通信インターフェース28は、ソース・デバイス12と宛先デバイス14との間の直接通信リンク、たとえば直接の有線もしくは無線接続を介して、または任意の種類のネットワーク、たとえば有線もしくは無線ネットワークもしくはそれらの任意の組み合わせ、または任意の種類のプライベートおよびパブリックネットワークを介して、またはそれらの任意の種類の組み合わせを介して、エンコードされたピクチャー・データ21またはエンコードされたデータ13を送信または受領するように構成されうる。
【0187】
通信インターフェース22は、たとえば、エンコードされたピクチャー・データ21を適切なフォーマット、たとえばパケットにパッケージ化するように、および/または通信リンクもしくは通信ネットワークを通じた送信のための任意の種類の送信エンコードもしくは処理を使用してエンコードされたピクチャー・データを処理するように構成されうる。
【0188】
通信インターフェース22の対応物を形成する通信インターフェース28は、たとえば、送信されたデータを受領し、任意の種類の対応する送信デコードもしくは処理および/またはデパッケージングを使用して送信データを処理して、エンコードされたピクチャー・データ21を得るように構成されうる。
【0189】
通信インターフェース22および通信インターフェース28の両方は、
図26において通信チャネル13についてソース・デバイス12から宛先デバイス14を指す矢印によって示されるような単方向通信インターフェース、または双方向通信インターフェースとして構成されてもよく、たとえば、メッセージを送受信し、たとえば接続をセットアップし、通信リンクおよび/またはデータ送信、たとえば、エンコードされたピクチャー・データの送信に関連する任意の他の情報を受け取り確認し、交換するように構成されてもよい。デコーダ30は、エンコードされたピクチャー・データ21を受領し、(たとえば、
図1~
図7のうちの一つまたは複数に基づくニューラルネットワークを用いて)デコードされたピクチャー・データ31またはデコードされたピクチャー31を提供するように構成される。
【0190】
宛先デバイス14のポストプロセッサ32は、デコードされたピクチャー・データ31(再構成されたピクチャー・データとも呼ばれる)、たとえばデコードされたピクチャー31を後処理して、後処理されたピクチャー・データ33、たとえば後処理されたピクチャー33を取得するように構成される。後処理ユニット32によって実行される後処理は、たとえば、色フォーマット変換(たとえば、YCbCrからRGBへ)、色補正、トリミング、または再サンプリング、あるいは、たとえば、ディスプレイ・デバイス34による表示のためにデコードされたピクチャー・データ31を準備するための任意の他の処理を含みうる。
【0191】
宛先デバイス14のディスプレイ・デバイス34は、たとえばユーザーまたは視聴者に対してピクチャーを表示するために、後処理されたピクチャー・データ33を受領するように構成される。ディスプレイ・デバイス34は、たとえば、統合されたまたは外部のディスプレイまたはモニターといった、再構成されたピクチャーを表示するための任意の種類のディスプレイであってもよく、またはそれを有していてもよい。ディスプレイは、たとえば、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、プラズマディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オンシリコン(LCoS)、デジタルライトプロセッサ(DLP)、または任意の種類の他のディスプレイを含んでいてもよい。
【0192】
図26は、ソース・デバイス12および宛先デバイス14を別個のデバイスとして示しているが、デバイスの実施形態は、その両方または両方の機能、すなわち、ソース・デバイス12または対応する機能と宛先デバイス14または対応する機能とを備えてもよい。そのような実施形態では、ソース・デバイス12または対応する機能と宛先デバイス14または対応する機能とは、同じハードウェアおよび/またはソフトウェアを使用して、または別個のハードウェアおよび/またはソフトウェアによって、あるいはそれらの任意の組み合わせによって実装されうる。
【0193】
本稿に基づいて当業者には明らかになるように、
図26に示されるようなソース・デバイス12および/または宛先デバイス14内の種々のユニットの機能または機能の存在および(厳密な)分割は、実際のデバイスおよび用途に応じて異なりうる。
【0194】
エンコーダ20(たとえば、ビデオ・エンコーダ20)またはデコーダ30(たとえば、ビデオ・デコーダ30)またはエンコーダ20とデコーダ30の両方は、一つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ハードウェア、専用ビデオ・コーディング、またはそれらの任意の組み合わせなどの処理回路を介して実装されうる。エンコーダ20は、
図1~
図6またはその一部のいずれかに示されるものなどのニューラルネットワークを含むさまざまなモジュールを具現するために、処理回路46を介して実装されうる。デコーダ30は、
図1~
図7に関して論じたさまざまなモジュール、および/または本明細書で説明した任意の他のデコーダ・システムもしくはサブシステムを具現するために、処理回路46を介して実装されうる。処理回路は、後述するようなさまざまな動作を実行するように構成されてもよい。技法が部分的にソフトウェアで実装される場合、デバイスは、好適な非一時的なコンピュータ可読記憶媒体にソフトウェアのための命令を記憶してもよく、本開示の技法を実行するために一つまたは複数のプロセッサを使用してハードウェアにおいて該命令を実行してもよい。ビデオ・エンコーダ20およびビデオ・デコーダ30のいずれかも、たとえば、
図27に示されるように、単一のデバイス中に複合エンコーダ/デコーダ(コーデック)の一部として統合されてもよい。
【0195】
ソース・デバイス12および宛先デバイス14は、任意の種類のハンドヘルドまたは固定デバイス、たとえば、ノートブックまたはラップトップコンピュータ、モバイルフォン、スマートフォン、タブレットまたはタブレットコンピュータ、カメラ、デスクトップコンピュータ、セットトップボックス、テレビジョン、ディスプレイ・デバイス、デジタルメディアプレーヤー、ビデオゲームコンソール、(コンテンツサービスサーバーまたはコンテンツ配信サーバーなどの)ビデオストリーミングデバイス、ブロードキャスト受信機デバイス、ブロードキャスト送信機デバイスなどを含む、広範囲のデバイスのいずれかを備えていてもよく、オペレーティングシステムを使用しなくてもよく、または任意の種類のオペレーティングシステムを使用してもよい。いくつかの場合には、ソース・デバイス12および宛先デバイス14は、ワイヤレス通信のために装備されてもよい。よって、ソース・デバイス12および宛先デバイス14は無線通信デバイスでありうる。
【0196】
いくつかの場合には、
図26に示されたビデオ・コーディング・システム10は一例にすぎず、本願の技法は、エンコード・デバイスとデコード・デバイスとの間のデータ通信を必ずしも含むとは限らないビデオ・コーディング・セッティング(たとえば、ビデオ・エンコードまたはビデオ・デコード)に適用されてもよい。他の例では、データは、ローカルメモリから取り出されるか、ネットワークを通じてストリーミングされるか、または同様のものである。ビデオ・エンコード・デバイスは、データをエンコードし、メモリに記憶してもよく、および/またはビデオ・デコード・デバイスは、メモリからデータを取り出し、デコードしてもよい。いくつかの例では、エンコードおよびデコードは、互いに通信することなく、単にデータをメモリにエンコードし、および/またはメモリからデータを取り出してデコードするデバイスによって実行される。
【0197】
図28は、本発明のある実施形態によるビデオ・コーディング・デバイス2000の概略図である。ビデオ・コーディング・デバイス2000は、本明細書に記載されるような開示される実施形態を実装するのに適している。ある実施形態では、ビデオ・コーディング・デバイス2000は、
図26のビデオ・デコーダ30などのデコーダ、または
図26のビデオ・エンコーダ20などのエンコーダでありうる。
【0198】
ビデオ・コーディング・デバイス2000は、データを受領するための入口ポート2010(または入力ポート2010)および受信機ユニット(Rx)2020と;データを処理するためのプロセッサ、論理ユニット、または中央処理ユニット(CPU)2030と;データを送信するための送信機ユニット(Tx)2040および出口ポート2050(または出力ポート2050)と;データを記憶するためのメモリ2060とを備える。ビデオ・コーディング・デバイス2000はまた、光信号または電気信号の送出または進入のために、入口ポート2010、受信機ユニット2020、送信機ユニット2040、および出口ポート2050に結合された光‐電気(OE)コンポーネントおよび電気‐光(EO)コンポーネントを備えていてもよい。
【0199】
プロセッサ2030は、ハードウェアおよびソフトウェアによって実装される。プロセッサ2030は、一つまたは複数のCPUチップ、コア(たとえば、マルチコアプロセッサ)、FPGA、ASIC、およびDSPとして実装されてもよい。プロセッサ2030は、入口ポート2010、受信機ユニット2020、送信機ユニット2040、出口ポート2050、およびメモリ2060と通信する。プロセッサ2030は、コーディング・モジュール2070を備える。コーディング・モジュール2070は、上述の開示された実施形態を実装する。たとえば、コーディング・モジュール2070は、さまざまなコーディング動作を実施、処理、準備、または提供する。したがって、コーディング・モジュール2070を含むことは、ビデオ・コーディング・デバイス2000の機能に実質的な改善を提供し、ビデオ・コーディング・デバイス2000の異なる状態への変換をもたらす。あるいはまた、コーディング・モジュール2070は、メモリ2060に記憶され、プロセッサ2030によって実行される命令として実装される。
【0200】
メモリ2060は、一つまたは複数のディスク、テープドライブ、およびソリッドステートドライブを備えることができ、プログラムが実行のために選択されたときにそのようなプログラムを記憶するために、ならびにプログラム実行中に読み取られる命令およびデータを記憶するために、オーバーフローデータ記憶デバイスとして使用されてもよい。メモリ2060は、たとえば、揮発性および/または不揮発性であってもよく、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、三値連想メモリ(TCAM)、および/またはスタティックランダムアクセスメモリ(SRAM)であってもよい。
【0201】
図29は、例示的な実施形態による、
図26からのソース・デバイス12および宛先デバイス14のいずれかまたは両方として使用されうる装置800の簡略ブロック図である。
【0202】
装置2100内のプロセッサ2102は、中央処理装置でありうる。あるいはまた、プロセッサ2102は、現在存在するかまたは今後開発される、情報を操作または処理することができる任意の他のタイプのデバイスまたは複数のデバイスでありうる。開示された実施形態は、図示されたような単一のプロセッサ、たとえばプロセッサ2102を用いて実施されうるが、速度および効率性における利点は、1つよりも多いプロセッサを用いて達成されうる。
【0203】
装置2100内のメモリ2104は、ある実装では、読み出し専用メモリ(ROM)デバイスまたはランダムアクセスメモリ(RAM)デバイスでありうる。任意の他の適切なタイプの記憶デバイスが、メモリ2104として使用されうる。メモリ2104は、バス2112を使用してプロセッサ2102によってアクセスされるコードおよびデータ2106を含むことができる。メモリ2104は、オペレーティングシステム2108およびアプリケーションプログラム2110をさらに含むことができ、アプリケーションプログラム2110は、プロセッサ2102が本明細書に記載された方法を実行することを可能にする少なくとも1つのプログラムを含む。たとえば、アプリケーションプログラム2110は、アプリケーション1~Nを含むことができ、これらは、本明細書に記載された方法を実行するビデオ・コーディング・アプリケーションをさらに含む。
【0204】
装置2100は、ディスプレイ2118などの一つまたは複数の出力デバイスも含むことができる。ディスプレイ2118は、一例では、タッチ入力を感知するように動作可能なタッチ感応性要素とディスプレイを組み合わせたタッチ感応性ディスプレイでありうる。ディスプレイ2118は、バス2112を介してプロセッサ2102に結合されうる。
【0205】
ここでは単一のバスとして示されているが、装置2100のバス2112は、複数のバスから構成されうる。さらに、二次記憶が、装置2100の他の構成要素に直接結合されてもよく、またはネットワークを介してアクセスされてもよく、メモリカードなどの単一の統合ユニット、または複数のメモリカードなどの複数のユニットを備えていてもよい。よって、装置2100は、幅広い多様な構成で実装されうる。
【0206】
さらに、
図25に示される処理装置250は、
図26に示されるソース・デバイス12または宛先デバイス14、
図27に示されるビデオ・コーディング・システム40、
図28に示されるビデオ・コーディング・デバイス2000、または
図29に示される装置2100を含んでいてもよい。
【手続補正書】
【提出日】2024-04-02
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0113
【補正方法】変更
【補正の内容】
【0113】
オートエンコーダ:信号を(圧縮された)潜在空間に変換し、もとの信号空間に変換し戻すモデル。
エンコーダ:非線形活性化および/または残差を含む畳み込み層を用いて画像を潜在テンソル(y)にダウンサンプリングする。
デコーダ:非線形活性化および/または残差を含む畳み込み層を用いて潜在テンソル(y)をもとの画像サイズにアップサンプリングする。
ハイパーエンコーダ:非線形活性化および/または残差を含む畳み込み層を用いて、潜在テンソルを、より小さい潜在テンソル(z)にさらにダウンサンプリングする。
ハイパーデコーダ:エントロピー推定のために、非線形活性化および/または残差を含む畳み込み層を用いて、より小さい潜在テンソル(z)をアップサンプリングする。
AE/AD(算術エンコーダ/デコーダ):潜在テンソルをビットストリームにエンコードするか、または所与の統計的事前分布〔プライアー〕を用いてビットストリームから潜在テンソルをデコードする。
自己回帰エントロピー推定:潜在テンソルの統計的事前分布の推定のプロセスは、順次に
Q:量子化ブロック
^y、^z:対応する潜在テンソルの量子化されたバージョン
マスクされた畳み込み(MaskedConv):モデルがすでに見られた潜在テンソル要素に基づいてのみ予測することができるように、ある種の潜在的テンソル要素をマスクする畳み込みのタイプ。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0161
【補正方法】変更
【補正の内容】
【0161】
図19は、
図17に示された実施形態に対する代替実施形態を示す。唯一の違いは、
図19に示される構成では、自己回帰エントロピー・モデルが使用されないことである。テンソル(H/1)×(w/1)×1によって表される残差Y成分の表現は、エンコーダ191によって潜在空間において変換される。残差Y成分は、テンソル(H/2)×(w/2)×3を出力するエンコーダ192によって、テンソル(H/2)×(w/2)×2によって表される残差UV成分をコーディングするための補助情報として使用される。(ハイパー)エンコーダ193および(ハイパー)デコーダ194を含むハイパープライアーYパイプラインは、残差Y成分の潜在表現(H/16)×(w/16)×C
yのコーディングのために使用されるサイド情報を提供する。デコーダ195は、テンソル(H/1)×(w/1)×1によって表される再構成された残差Y成分を出力する。(ハイパー)エンコーダ196および(ハイパー)デコーダ197を含むハイパープライアーUVパイプラインは、エンコーダ192によって出力されるテンソル(H/2)×(w/2)×3の潜在表現、すなわちテンソル(H/
32)×(w/
32)×C
uvのコーディングのために使用されるサイド情報を提供する。デコーダ198は、潜在空間における連結テンソル(H/
32)×(w/
32)×(C
y+C
uv)を受領し、テンソル(H/2)×(w/2)×2によって表される再構成された残差UV成分を出力する。
【国際調査報告】