IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7345654ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成
<>
  • 特許-ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成 図1
  • 特許-ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成 図2
  • 特許-ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成 図3
  • 特許-ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成 図4
  • 特許-ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成 図5
  • 特許-ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成 図6
  • 特許-ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成 図7
  • 特許-ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-07
(45)【発行日】2023-09-15
(54)【発明の名称】ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成
(51)【国際特許分類】
   H04N 19/90 20140101AFI20230908BHJP
【FI】
H04N19/90
【請求項の数】 17
(21)【出願番号】P 2022530792
(86)(22)【出願日】2021-06-10
(65)【公表番号】
(43)【公表日】2023-01-24
(86)【国際出願番号】 US2021036764
(87)【国際公開番号】W WO2022015435
(87)【国際公開日】2022-01-20
【審査請求日】2022-05-25
(31)【優先権主張番号】63/052,231
(32)【優先日】2020-07-15
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/319,932
(32)【優先日】2021-05-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ウェイ・ジアン
(72)【発明者】
【氏名】ウェイ・ワン
(72)【発明者】
【氏名】ディン・ディン
(72)【発明者】
【氏名】シャン・リュウ
【審査官】岩井 健二
(56)【参考文献】
【文献】Jianing Deng, Li Wang, Shiliang Pu, and Cheng Zhuo,Spatio-Temporal Deformable Convolution for Compressed Video Quality Enhancement,The Thirty-Fourth AAAI Conference on Artificial Intelligence (AAAI-20),Vol.34,No.07: AAAI-20 Technical Tracks 7,AAAI,2020年06月18日,pp.10696-10703
【文献】Jifeng Dai, et al.,Deformable Convolutional Networks,arXiv:1703.06211v3,2017年06月05日,pp.1-12
【文献】Hyomin Choi, and Ivan V. Bajic,Deep Frame Prediction for Video Coding,IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,IEEE,2020年07月,Vol. 30, No. 7,pp.1843-1855
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオコーディング装置におけるビデオコーディングの方法であって、
変形可能な畳み込みディープニューラルネットワーク(DNN)を介して変形可能な畳み込みを行って、1つ又は複数の以前に再構成された参照フレームのセットに基づいて1つ又は複数の第1特徴マップを生成するステップと、
前記1つ又は複数の第1特徴マップに基づいて、予測フレームを生成するステップと、
前記予測フレームに基づいて、現在フレームを再構成するステップと、を含み、
前記1つ又は複数の以前に再構成された参照フレームの前記セットによって形成された4次元(4D)テンソルの入力で特徴抽出DNNを用いて、4D特徴テンソルを生成するステップをさらに含み、
前記4Dテンソルは、各参照フレームのそれぞれに基づいて個別に算出された特徴マップを連結することによって得られる、方法。
【請求項2】
特徴抽出DNNに基づいて、前記1つ又は複数の以前に再構成された参照フレームに対応する1つ又は複数の第2特徴マップのセットを生成するステップと、
オフセット生成DNNを用いて、前記1つ又は複数の第2特徴マップに対応する1つ又は複数のオフセットマップをそれぞれ生成するステップであって、
各オフセットマップは、
生成される前記オフセットマップに対応する前記第2特徴マップ、及び、
前記1つ又は複数の以前に再構成された参照フレームのうちの1つであるターゲットフレームに対応する前記第2特徴マップ、
との前記オフセット生成DNNへの入力に基づいて生成され、前記1つ又は複数のオフセットマップは、同一のターゲットフレームを有する、ステップと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記現在フレームと前記1つ又は複数の以前に再構成された参照フレームとが表示順に配置される場合、前記ターゲットフレームは前記現在フレームに隣接する、請求項2に記載の方法。
【請求項4】
前記現在フレームがPフレームである場合、前記ターゲットフレームは、前記1つ又は複数の以前に再構成された参照フレームの最後のフレームであり、
前記現在フレームがBフレームである場合、前記ターゲットフレームは、前記1つ又は複数の以前に再構成された参照フレームのうち、表示順で前記現在フレームより前にあるフレームの最後のフレームである、請求項2に記載の方法。
【請求項5】
前記変形可能な畳み込みDNNを介して前記変形可能な畳み込みを行って、前記1つ又は複数の第1特徴マップを生成するステップは、
前記1つ又は複数の第2特徴マップを前記変形可能な畳み込みDNNへの入力として受け付けるステップと、
前記1つ又は複数の第2特徴マップに対応する前記1つ又は複数の第1特徴マップをそれぞれ生成するステップと、を含む、請求項2に記載の方法。
【請求項6】
前記変形可能な畳み込みDNNは、各々が変形可能な畳み込みカーネルに関連付けられる1つ又は複数の変形可能な畳み込み層を含み、
前記1つ又は複数の変形可能な畳み込み層のうちの1つで、各第2特徴マップに対応して、それぞれの前記変形可能な畳み込みカーネルとそれぞれの前記第2特徴マップの前記オフセットマップとに基づいて、変形可能な畳み込みが行われる、請求項5に記載の方法。
【請求項7】
前記1つ又は複数の第1特徴マップに基づいて、前記予測フレームを生成するステップは、
前記1つ又は複数の第1特徴マップと前記1つ又は複数の以前に再構成された参照フレームとに基づいて、フレーム再構成DNNを用いて1つ又は複数のアライメントフレームを再構成するステップと、
前記1つ又は複数のアライメントフレームに基づいて、フレーム合成DNNを用いて前記予測フレームを生成するステップと、を含む、請求項1に記載の方法。
【請求項8】
前記参照フレームの前記セットの各フレームは、多数のチャネルを含む請求項1に記載の方法。
【請求項9】
前記変形可能な畳み込みDNNを介して前記変形可能な畳み込みを行って、前記1つ又は複数の第1特徴マップを生成するステップは、
前記4D特徴テンソルを前記変形可能な畳み込みDNNへの入力として受け付けるステップと、
融合されたアライメントされた特徴マップを生成するステップと、を含む、請求項8に記載の方法。
【請求項10】
前記変形可能な畳み込みDNNは、各々が3D変形可能な畳み込みカーネル及び3Dオフセットマップに関連付けられる1つ又は複数の3D変形可能な畳み込み層を含み、
前記1つ又は複数の3D変形可能な畳み込み層の1つで、それぞれの前記3D変形可能な畳み込みカーネルとそれぞれの前記3Dオフセットマップとに基づいて、3D変形可能な畳み込みが行われる、請求項9に記載の方法。
【請求項11】
前記融合されたアライメントされた特徴マップをフレーム再構成DNNへの入力として、前記フレーム再構成DNNを用いて前記予測フレームを生成するステップをさらに含む、請求項9に記載の方法。
【請求項12】
参照フレームのセットを予測フレーム生成モジュールに入力して、予測フレームを生成するステップであって、前記予測フレーム生成モジュールは、最適化されるべきパラメータを有するニューラルネットワークを含み、前記ニューラルネットワークは、変形可能な畳み込みディープニューラルネットワーク(DNN)を含む、ステップと、
損失関数の損失を決定するステップであって、前記損失関数は、
前記予測フレームとグラウンドトゥルースフレームとの間の差に基づいて推定されたビットレートを示す圧縮損失と、
前記グラウンドトゥルースフレームに対する前記予測フレームの品質を示す再構成品質損失と、
を含む、ステップと、
前記損失関数の前記損失に基づいてバックプロパゲーションを行って、前記予測フレーム生成モジュール内の前記ニューラルネットワークの前記パラメータを更新するステップと、
さらに含む、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記参照フレームは、時間的ダウンサンプリング操作に基づいてビデオ内のフレームのシーケンスから選択され、前記フレームのシーケンス内の、前記ダウンサンプリング操作によって選択されないフレームは、前記グラウンドトゥルースフレームとして使用される、請求項12に記載の方法。
【請求項14】
前記損失関数は、アライメント誤差を示すアライメント損失をさらに含み、
前記方法は、
前記予測フレーム生成モジュール内の特徴抽出ディープニューラルネットワーク(DNN)を用いて、前記参照フレームに対応する第1特徴マップをそれぞれ生成するステップと、
前記予測フレーム生成モジュール内の前記変形可能な畳み込みDNNを用いて、前記第1特徴マップに対応する第2特徴マップをそれぞれ生成するステップと、
前記第2特徴マップの1つと、前記予測フレーム生成モジュールに入力された前記参照フレームの1つであるターゲットフレームに対応する前記第1特徴マップとの差を決定するステップであって、前記差は、前記アライメント損失の一部である、ステップと、をさらに含む請求項12に記載の方法。
【請求項15】
前記ターゲットフレームは、前記グラウンドトゥルースフレームと前記参照フレームとが表示順に配置される場合、前記グラウンドトゥルースフレームに隣接する前記参照フレームである、請求項14に記載の方法。
【請求項16】
前記グラウンドトゥルースフレームと前記予測フレームとの間の残差信号を生成するステップと、
続いて前記残差信号に対して残差エンコード及びデコードを行って、再構成された残差信号を生成するステップと、
前記グラウンドトゥルースフレームを前記再構成された残差信号と組み合わせて、再構成された参照フレームを生成するステップと、
前記再構成された参照フレームを前記参照フレームのセットに含めるステップと、をさらに含む、請求項12に記載の方法。
【請求項17】
コンピュータに、請求項1乃至11のいずれか一項に記載の方法を実行させるように構成される、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
参照による組み込み
本開示は、2020年7月15日に出願された米国仮出願第63/052,231号である「変形可能な畳み込みによる予測フレーム生成」に対する優先権の利益を主張する、2021年5月13日に出願された米国特許出願第17/319,932号である「ビデオコーディングのための変形可能な畳み込みによる予測フレーム生成」に対する優先権の利益を主張する。先行出願の開示内容は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、人工ニューラルネットワークに基づくビデオコーディングに関連する実施形態を説明する。
【背景技術】
【0003】
本明細書で提供される「背景技術」の記載は、本開示の文脈を一般的に提示するためのものである。この背景技術セクションに記載されている範囲で、現在の発明者の研究、並びに、そうでない場合出願時に従来技術として認められない可能性のある記載の態様は、本開示に対する従来技術として明示的又は暗黙的に認められない。
【0004】
ニューラルネットワークは、生物学的な脳内のニューロンを緩やかにモデリングする、接続ノード(ニューロンとも呼ばれる)の集まりに基づいている。ニューロンは、複数の層に組織化されることができる。ある層のニューロンは、直前及び直後の層のニューロンに接続することができる。
【0005】
生物学的な脳内のシナプスのような2つのニューロン間の接続は、信号を一方のニューロンから他方のニューロンへ伝達することができる。信号を受信するニューロンは、次にその信号を処理し、他の接続されたニューロンをシグナリングすることができる。いくつかの例では、ニューロンの出力を見つけるために、ニューロンへの入力を、入力からニューロンへの接続の重みによって重み付けし、重み付けされた入力を合計して、重み付き和を生成する。重み付き和にバイアスを加算してもよい。さらに、重み付き和をその後、活性化関数に通して、出力を生成する。
【発明の概要】
【課題を解決するための手段】
【0006】
本開示の態様は、ビデオコーディング装置におけるビデオコーディングの方法を提供する。前記方法は、変形可能な畳み込みディープニューラルネットワーク(DNN)を介して変形可能な畳み込みを行って、1つ又は複数の以前に再構成された参照フレームのセットに基づいて1つ又は複数の第1特徴マップを生成するステップと、前記1つ又は複数の第1特徴マップに基づいて、予測フレームを生成するステップと、前記予測フレームに基づいて、現在フレームを再構成するステップと、を含むことができる。
【0007】
一実施形態では、特徴抽出DNNに基づいて、前記1つ又は複数の以前に再構成された参照フレームに対応する1つ又は複数の第2特徴マップのセットを生成することができる。オフセット生成DNNを用いて、前記1つ又は複数の第2特徴マップに対応する1つ又は複数のオフセットマップをそれぞれ生成することができる。各オフセットマップは、生成される前記オフセットマップに対応する前記第2特徴マップ、及び、前記1つ又は複数の以前に再構成された参照フレームのうちの1つであるターゲットフレームに対応する前記第2特徴マップ、との前記オフセット生成DNNへの入力に基づいて生成されることができる。前記1つ又は複数のオフセットマップは、同一のターゲットフレームを有することができる。
【0008】
一実施形態では、前記現在フレームと前記1つ又は複数の以前に再構成された参照フレームとが表示順に配置される場合、前記ターゲットフレームは前記現在フレームに隣接する。一実施形態では、前記現在フレームがPフレームである場合、前記ターゲットフレームは、前記1つ又は複数の以前に再構成された参照フレームの最後のフレームである。前記現在フレームがBフレームである場合、前記ターゲットフレームは、前記1つ又は複数の以前に再構成された参照フレームのうち、表示順で前記現在フレームより前にあるフレームの最後のフレームである。
【0009】
一実施形態では、前記1つ又は複数の第2特徴マップを前記変形可能な畳み込みDNNへの入力として受け付けることができる。前記1つ又は複数の第2特徴マップに対応する前記1つ又は複数の第1特徴マップをそれぞれ生成することができる。一実施形態では、前記変形可能な畳み込みDNNは、各々が変形可能な畳み込みカーネルに関連付けられる1つ又は複数の変形可能な畳み込み層を含み、前記1つ又は複数の変形可能な畳み込み層のうちの1つで、各第2特徴マップに対応して、それぞれの変形可能な畳み込みカーネルとそれぞれの第2特徴マップのオフセットマップとに基づいて、変形可能な畳み込みが行われる。
【0010】
一実施形態では、前記1つ又は複数の第1特徴マップと前記1つ又は複数の以前に再構成された参照フレームとに基づいて、フレーム再構成DNNを用いて1つ又は複数のアライメントフレームを構成することができる。前記1つ又は複数のアライメントフレームに基づいて、フレーム合成DNNを用いて予測フレームを生成することができる。
【0011】
一実施形態では、前記方法は、前記1つ又は複数の以前に再構成された参照フレームのセットによって形成された4Dテンソルの入力で特徴抽出DNNを用いて、4次元(4D)特徴テンソルを生成するステップをさらに含むことができる。各フレームは、多数のチャネルを含むことができる。一実施形態では、前記4D特徴テンソルを前記変形可能な畳み込みDNNへの入力として受け付けることができる。融合されたアライメントされた特徴マップを生成することができる。
【0012】
一実施形態では、変形可能な畳み込みDNNは、各々が3D変形可能な畳み込みカーネル及び3Dオフセットマップに関連付けられる1つ又は複数の3D変形可能な畳み込み層を含み、前記1つ又は複数の変形可能な畳み込み層の1つで、それぞれの3D変形可能な畳み込みカーネルとそれぞれの3Dオフセットマップとに基づいて、3D変形可能な畳み込みが行われる。一実施形態では、前記方法は、前記融合されたアライメントされた特徴マップを前記フレーム再構成DNNへの入力として、前記フレーム再構成DNNを用いて前記予測フレームを生成するステップをさらに含むことができる。
【0013】
本開示の態様は、ニューラルネットワークのトレーニングの方法をさらに提供する。前記方法は、参照フレームのセットを予測フレーム生成モジュールに入力して、予測フレームを生成するステップを含むことができる。前記予測フレーム生成モジュールは、最適化されるべきパラメータを有するニューラルネットワークを含むことができる。前記ニューラルネットワークは、変形可能な畳み込みDNNを含むことができる。損失関数の損失を決定することができる。前記損失関数は、前記予測フレームとグラウンドトゥルースフレームとの間の差に基づいて推定されたビットレートを示す圧縮損失と、前記グラウンドトゥルースフレームに対する前記予測フレームの品質を示す再構成品質損失と、を含むことができる。前記損失関数の前記損失に基づいてバックプロパゲーションを行って、前記予測フレーム生成モジュール内の前記ニューラルネットワークの前記パラメータを更新することができる。
【0014】
一実施形態では、前記参照フレームは、時間的ダウンサンプリング操作に基づいて、ビデオ内のフレームのシーケンスから選択され、前記フレームのシーケンス内の、前記ダウンサンプリング操作によって選択されないフレームは、前記グラウンドトゥルースフレームとして使用される。
【0015】
一実施形態では、前記損失関数は、アライメント誤差を示すアライメント損失をさらに含む。前記トレーニング方法は、前記予測フレーム生成モジュール内の特徴抽出ディープニューラルネットワーク(DNN)を用いて、前記参照フレームに対応する第1特徴マップをそれぞれ生成するステップと、前記予測フレーム生成モジュール内の前記変形可能な畳み込みDNNを用いて、前記第1特徴マップに対応する第2特徴マップをそれぞれ生成するステップと、前記第2特徴マップの1つと、前記予測フレーム生成モジュールに入力された前記参照フレームの1つであるターゲットフレームに対応する前記第1特徴マップとの差を決定するステップをさらに含むことができる。前記差は、前記アライメント損失の一部である。一実施形態では、前記ターゲットフレームは、前記グラウンドトゥルースフレームと前記参照フレームとが表示順に配置される場合、前記グラウンドトゥルースフレームに隣接する前記参照フレームである。
【0016】
一実施形態では、ニューラルネットワークのトレーニング方法は、前記グラウンドトゥルースフレームと前記予測フレームとの間の残差信号を生成するステップと、続いて前記残差信号に対して残差エンコード及びデコードを行って、再構成された残差信号を生成するステップと、前記グラウンドトゥルースフレームを前記再構成された残差信号と組み合わせて、再構成された参照フレームを生成するステップと、前記再構成された参照フレームを参照フレームのセットに含めるステップと、をさらに含むことができる。
【0017】
本開示の態様は、プロセッサによって実行されると、前記プロセッサにビデオコーディングの方法を行わせる命令を記憶する非一時的なコンピュータ読取可能な媒体をさらに提供する。
【図面の簡単な説明】
【0018】
開示された主題の更なる特徴、性質、及び様々な利点は、以下の詳細な説明及び添付の図面からより明らかになるであろう。
【0019】
図1】本開示の一実施形態による、2D時間的変形可能な畳み込みを用いた予測フレーム生成プロセス(100)を示す。
図2】本開示の一実施形態による、3D時間的変形可能な畳み込みを用いた別の予測フレーム生成プロセス(200)を示す。
図3】本開示の一実施形態によるニューラルネットワークトレーニングプロセス(300)を示す。
図4】本開示の一実施形態によるビデオエンコーダ(400)を示す。
図5】本開示の一実施形態によるビデオデコーダ(500)を示す。
図6】本開示の一実施形態によるビデオコーディングプロセス(600)を示す。
図7】本開示の一実施形態によるニューラルネットワークトレーニングプロセス(700)を示す。
図8】一実施形態によるコンピュータシステム(800)の概略図である。
【発明を実施するための形態】
【0020】
I.時間的変形可能な畳み込み
【0021】
本開示は、人工ニューラルネットワークベースのビデオコーディング方法を提供する。例えば、ディープニューラルネットワーク(DNN)において、変形可能な畳み込みを用いて、予測フレームを生成することができる。さらに、一定期間にわたる参照フレームのシーケンスに対して変形可能な畳み込みを行うことができる。別々のフレームにおける時間的に変化した特徴をキャプチャし、ターゲットフレーム(アライメント基準として機能する)にアライメントさせ、その後、予測フレームに合成することができる。したがって、本明細書に開示された予測フレームを生成するための技術は、時間的変形可能な畳み込みベースの予測フレーム生成と称することができる。
【0022】
2次元(2D)変形可能な畳み込み又は3次元(3D)変形可能な畳み込みベースの実施形態を含む、様々な実施形態が提供される。生成された予測フレームの品質と残差(予測フレームとグラウンドトゥルースフレームとの差)の圧縮性とを共同で考慮することにより、時間的変形可能な畳み込みは、ビデオによく見られる複雑で長距離の動き(タイムドメイン(timedomain)及び時間領域(temporaldomain)で)に効果的に対応し、圧縮性能を向上させることができる。本開示では、「フレーム」と「ピクチャ」という用語を交換可能に使用することができる。
【0023】
II.ハンドクラフト(Handcrafted)及び学習ベースのビデオコーディング
【0024】
H.264/アドバンスドビデオコーディング(H.264/AVC)、高効率ビデオコーディング(HEVC)、及び多用途ビデオコーディング(VVC)などの従来のビデオコーディング規格は、同様のブロックベースのハイブリッド予測/変換フレームワークを共有する。例えば、イントラ/インター予測、整数変換、及び文脈適応型エントロピー符号化などの個々の符号化ツールは、全体的な効率を最適化するために集中的にハンドクラフトされる。時空間的画素近傍を予測信号構築に活用して、後続の変換、量子化、及びエントロピー符号化のための対応する残差を取得する。一方、DNNの性質は、近傍画素の受容野から時空間情報を分析することにより、時空間刺激の異なるレベル(例えば、DNNの異なる層に対応する)を抽出することである。高度に非線形かつ非局所的な時空間相関を探索する能力は、圧縮品質を大幅に向上させる有望な機会を提供する。
【0025】
一例では、ビデオ圧縮フレームワークのインター予測プロセスを以下のように行うことができる。入力ビデオxは、複数の画像フレーム(又はピクチャ)x1、・・・、xを含む。第1動き推定ステップでは、ビデオ内のフレームを空間ブロックに分割することができる。各ブロックをさらに、例えば、ツリー構造(例えば、四分木又は二分木)に基づいて、より小さいブロックに再帰的に分割することができる。現在フレームxと以前に再構成されたフレームのセット

【数1】
との間の動きベクトルmのセットを、ブロックごとに算出することができる。なお、添え字tは、画像フレームのタイムスタンプと一致しなくてもよい現在のt番目のエンコードサイクルを示す。また、

【数2】
には、複数の以前のエンコードサイクルからのフレームが含まれる。
【0026】
第2動き補償ステップでは、動きベクトルmに基づいて、以前の

【数3】
の対応する画素をコピーすることにより、予測フレーム

【数4】
を取得する。元フレームxと予測フレーム

【数5】
との間の残差rは、

【数6】
で取得されることができる。第3ステップでは、残差rを(典型的には、より良い量子化性能を得るためにrのDCT係数を量子化する変換(例えば、DCT)の後に)量子化する。量子化ステップは、量子化された

【数7】
を与える。動きベクトルmと量子化された

【数8】
の両方を、エントロピー符号化によってビットストリームにエンコードする。このビットストリームをデコーダに送ることができる。
【0027】
デコーダ側では、まず、量子化された

【数9】
を(典型的には、非量子化された係数への逆変換(例えば、逆DCT)を介して)非量子化して、回復残差

【数10】
を取得する。次に、

【数11】


【数12】
に再度加算して、再構成された

【数13】
を取得する。
【0028】
動き推定は、上記ビデオ圧縮プロセスにおける重要な構成要素の一つである。従来のブロックベースの動きベクトルmは、非並進運動に対してうまく機能できず、結果として、圧縮効率を大きく損なう無効な予測フレーム

【数14】
及び残差rが生じる。この問題に対処するために、様々な学習ベースの技術を採用することができる。例えば、学習ベースのオプティカルフロー法は、画素レベルでの正確な動き情報を提供するために使用されることができる。しかし、オプティカルフローは、特に移動物体の境界に沿って誤差が生じやすい。オプティカルフロー法の例は、R. Yang, F. Mentzer, L. Van Gool, and R. Timofte, “Learning for video compression with hierarchical quality and recurrent enhancement,” in CVPR, 2020(これを参照により本明細書に組み込むものとする)という著作に記載されている。
【0029】
明示的な動き推定を行わない場合、フレーム補間法を採用して、以前に再構成された

【数15】
に基づいて追加の合成フレーム

【数16】
を直接算出し、より効率的な残差の生成を助けることができる。しかしながら、フレームは、中~大の動きを処理できない空間的同一位置にあるパッチに基づいて補間されたため、このような方法の有効性が制限される。フレーム補間法の例は、H. Choi, I. Bajic, “Deep Frame Prediction for Video Coding,” in IEEE Trans. CSVT, 2019という著作に記載されており、これを参照により本明細書に組み込むものとする。
【0030】
III.時間的変形可能な畳み込みによる予測フレーム生成
【0031】
様々な実施形態では、以前に再構成された参照フレーム

【数17】
に基づいて、潜在的に高品質の合成予測フレーム

【数18】
を生成することができる。したがって、予測フレーム

【数19】
に基づいて、高度に圧縮可能な残差フレームrを生成することができる。エンドツーエンドでトレーニングされた又は学習可能なDNN(E2E DNN)を用いて、予測フレーム

【数20】
を算出することができる。異なる実施形態では、2D又は3Dの時間的変形可能な畳み込みを採用して、複雑かつ長距離の動きを処理し、高品質の予測フレーム

【数21】
を生成することができる。時間的変形可能な畳み込みベースのコーディング方法は、明示的な誤差が生じやすい動き推定又は画像歪みなしに、圧縮効率及び視覚品質を含む異なるターゲットを柔軟にサポートすることができる。
【0032】
1、2D変形可能な畳み込みによる予測フレーム生成
【0033】
図1は、本開示の一実施形態による、2D時間的変形可能な畳み込みを用いた予測フレーム生成プロセス(100)を示す。プロセス(100)は、ビデオコーディングシステム(例えば、エンコーダ又はデコーダ)内の予測フレーム生成モジュール(150)で行うことができる。予測フレーム生成モジュール(150)は、E2E DNNに基づくことができる。図1に示す具体的な例では、E2E DNNは、特徴抽出DNN(111)、オフセット生成DNN(112)、変形可能な畳み込みDNN(113)、フレーム再構成DNN(114)、及びフレーム合成DNN(115)を含むことができる。
【0034】
プロセス(100)を行うことにより、予測フレーム生成モジュール(150)は、n個の以前に再構成されたフレームのセット

【数22】
を入力として、潜在的に高品質の予測フレーム

【数23】
を生成することができる。例えば、以前に再構成されたフレームを、ビデオコーディングシステム内の参照ピクチャバッファに記憶することができる。予測フレーム

【数24】
は、エンコーダで現在フレームをエンコードするために、又はデコーダで現在フレームを再構成するために使用されることができる。xと表記される現在フレームとは、現在処理(エンコード又は再構成)中のフレームを意味する。
【0035】
プロセス(100)は、特徴抽出モジュール(101)、オフセット生成モジュール(102)、変形可能な畳み込みモジュール(103)、フレーム再構成モジュール(104)、及びフレーム合成モジュール(105)において行われる操作を含むことができる。それらのモジュール(101~105)は、図1の例では、それぞれのDNN(111~115)を採用して、それぞれの操作を行う。
【0036】
図1に示すように、参照フレーム

【数25】
の各フレーム

【数26】
を入力として使用して、特徴抽出モジュール(101)は、フォワード推論により特徴抽出DNN(111)を用いて特徴マップ

【数27】
を算出する。
【0037】
参照フレーム

【数28】
中のフレーム

【数29】
は、

【数30】
中の他の全てのフレームがアライメントされる参照(ターゲットフレーム)として使用されることができる。いくつかの実施形態では、ターゲットフレーム

【数31】
は、

【数32】
から選択され、アライメント基準として使用される任意のフレームであることができる。いくつかの実施形態では、ターゲットフレーム

【数33】
の選択は、現在フレームxのタイミングに依存することができる。
【0038】
一例では、ターゲットフレーム

【数34】
を決定するために、

【数35】
における参照フレームは、それらのタイムスタンプに基づいてアクセント付け順(例えば、表示順)でランク付けされる。現在のプロセスがPフレームxのエンコードである場合、これら以前に再構成されたフレームは全てxの前にある。ターゲットフレーム

【数36】
を、

【数37】
と設定することができる。
【0039】
現在のプロセスがBフレームのエンコードである場合、参照フレーム

【数38】
の一部はBフレームより先であることができ、参照フレーム

【数39】
の一部はBフレームより後であることができる。従って、参照フレーム

【数40】
の中で、現在フレームxに隣接する(それより前又は後の)フレームを選択して、ターゲットフレームとすることができる。例えば、以前に再構成されたフレーム

【数41】
はxの前にあり、一方、残りの

【数42】
はxの後にある。したがって、フレーム

【数43】
がターゲットフレームとして使用される。
【0040】
現在のターゲットが低遅延Bフレームのエンコードである場合、ターゲットフレーム

【数44】
を、最後のフレーム

【数45】
と設定することができる。これら以前に再構成されたフレームは、全てxの前にある。
【0041】
オフセット生成モジュール(102)は、再構成されたフレーム

【数46】
及び

【数47】
に基づいて、又は抽出された特徴

【数48】
及び

【数49】
に基づいて、特徴マップ

【数50】
ごとにオフセットマップ

【数51】
を算出する。一例では、特徴マップ

【数52】
及び

【数53】
は入力として使用され、オフセット生成DNN(112)に通してオフセットマップ

【数54】
を生成する。一例では、特徴マップ

【数55】
及び

【数56】
を、オフセット生成DNN(112)に入力する前に、まず連結して、連結された特徴マップを形成することができる。
【0042】
変形可能な畳み込みモジュール(103)は、変形可能な畳み込みDNN(113)を用いて、それぞれの特徴マップ

【数57】
とそれぞれのオフセットマップ

【数58】
とに基づいて、アライメントされた特徴マップ

【数59】
を算出する。各抽出された特徴マップ

【数60】
に対応して、1つ又は複数のアライメントされた特徴マップ

【数61】
を生成することができる。
【0043】
一例として、w(k=1,・・・,K)が2D変形可能な畳み込みカーネルの重み係数を示し、pがカーネル内のk番目の位置に対する予め指定されたオフセットを示すとする。例えば、3×3カーネルは、K=9及びp∈{(-1,-1),(-1,0),・・・,(1,1)}で定義される。2D変形可能な畳み込み層は、入力特徴finと学習可能なオフセットマップΔPとに基づいて出力特徴foutを算出し、ここで、サンプリング位置pにおける特徴は、次式で与えられる。
【0044】

【数62】
【0045】
不規則な位置p+p+Δpは整数とは限らないため、この変形可能な畳み込み演算は、補間(例えば、バイリニア補間)を用いて行うことができる。
【0046】
変形可能な畳み込みDNN(113)は、いくつかのこのような変形可能な畳み込み層(各層の後にReLUのような非線形活性化層が続く)及び他のDNN層(たとえば、ボトルネック層)を積層することによって形成されることができる。一例では、変形可能な畳み込み層は、同じ又は異なる2D変形可能な畳み込みカーネルを使用することができる。一例として、変形可能な畳み込み層は、同じ又は異なるオフセットマップを使用することができる。
【0047】
変形可能な畳み込みは、空間領域における幾何学的変換(例えば、異なるスケーリング又は異なる位置での変形)を処理する強化された能力を有する。様々なタイプの動きによって引き起こされるフレームのシーケンスに対して、異なるスケーリング又は変形は、異なる時間場面で起こり得る。変形可能な畳み込みDNN(113)での変形可能な畳み込みによって、異なる場面における特徴(異なるように変形/スケーリングされるもの)は、結果として得られた特徴マップにキャプチャされることができる。さらに、それらの特徴マップを、ターゲットフレーム(及び現在フレーム)に対応するターゲット時刻にアライメントする。次いで、アライメントされた特徴マップに基づいて、予測フレームを構築することができる。時間的変形可能な畳み込みは、フレームのシーケンス内の動きを処理して、ターゲットフレーム(及び現在フレーム)の時刻に対応する予測フレームを生成できることが分かる。
【0048】
アライメント損失

【数63】
は、アライメント誤差算出モジュール(106)において、アライメントされた特徴マップ

【数64】
と抽出された特徴マップ

【数65】
との間のズレの誤差を測定するように算出されることができる。例えば、L-ノルム(絶対誤差の平均)又はLノルム(二乗誤差の平均)は

【数66】
に使用されることができる。それらのアライメント損失を、トレーニングプロセス中に同様に算出し、損失関数の一部として使用することができる。
【0049】
一例では、アライメントされた特徴マップ

【数67】
及び任意選択で、抽出された特徴マップ

【数68】
を使用して、フレーム再構成モジュール(104)は、フィードフォワード推論算出によりフレーム再構成DNN(114)を用いて、各アライメントされた特徴マップ

【数69】
に対応するアライメントフレーム

【数70】
を生成する。次いで、アライメントフレーム

【数71】
をフレーム合成モジュール(105)に通して、フレーム合成DNN(115)を用いて、合成された予測フレーム

【数72】
を生成することができる。
【0050】
様々な実施形態では、アライメントされた特徴マップ

【数73】
から予測フレーム

【数74】
を生成するための異なる方法が存在し得る。一例では、アライメントフレーム

【数75】
の数はn未満であってもよい。一例では、フレーム再構成DNN(114)及びフレーム合成DNN(115)の両方の代わりに1つのDNNが動作して、アライメントされた特徴マップ

【数76】
から予測フレーム

【数77】
を生成することができる。一例では、まず、アライメントされた特徴マップ

【数78】
を、後で予測フレーム

【数79】
を生成するために使用される1つ又は複数(nよりも少ない)の特徴マップに合成することができる。
【0051】
いくつかの実施形態では、オフセット生成モジュール(102)及びオフセット生成DNN(112)は、プロセス100又は予測フレーム生成モジュール(150)から省かれてもよい。従って、オフセットマップは明示的に生成されない。変形可能な畳み込みDNN(113)の各2D変形可能な畳み込み層で使用される各画素位置でのオフセットΔpは、2D変形可能な畳み込みカーネルと共にトレーニングプロセス中に学習されることができる、トレーニング可能なモデルパラメータとして扱われ得る。
【0052】
本開示において、特徴抽出DNN(111)、オフセット生成DNN(112)、変形可能な畳み込みDNN(113)、フレーム再構成DNN(114)、又はフレーム合成DNN(115)における特定のネットワーク構造(層の種類、層の数、カーネルサイズなど)には制限がないことに留意されたい。例えば、任意のバックボーンネットワーク(例えば、ResNet)を特徴抽出DNNとして使用することができ、通常の畳み込み及びボトルネック層のセットをオフセット生成DNNとして積層することができ、変形可能な畳み込み層のセットを変形可能な畳み込みDNNとして積層することができ、スキップ接続を有するいくつかの畳み込み層をフレーム再構成DNNとして互いに積層することができ、いくつかの残差ブロック層をフレーム合成DNNとして互いに積層することができる。
【0053】
2、3D変形可能な畳み込みによる予測フレーム生成
【0054】
図2は、本開示の一実施形態による、3D時間的変形可能な畳み込みを用いた別の予測フレーム生成プロセス(200)を示す。プロセス(200)は、ビデオコーディングシステム(例えば、エンコーダ又はデコーダ)内の予測フレーム生成モジュール(250)で行うことができる。予測フレーム生成モジュール(250)は、E2E DNNに基づくことができる。図2に示す具体的な例では、E2E DNNは、特徴抽出DNN(211)、変形可能な畳み込み及び特徴融合DNN(212)、及びフレーム再構成DNN(213)を含むことができる。
【0055】
プロセス(200)を行うことにより、予測フレーム生成モジュール(250)は、n個の以前に再構成されたフレームのセット

【数80】
を入力として、ビデオのコーディングのための予測フレーム

【数81】
(潜在的に高品質)を生成することができる。予測フレーム

【数82】
は、エンコーダで現在フレームをエンコードするために、又はデコーダで現在フレームを再構成するために使用されることができる。
【0056】
プロセス(200)は、特徴抽出モジュール(201)、変形可能な畳み込み及び特徴融合モジュール(202)、及びフレーム再構成モジュール(203)において行われる操作を含むことができる。それらのモジュール(201~203)は、それぞれのDNN(211~213)を採用して、それぞれの操作を行う。
【0057】
一例として、入力フレーム

【数83】
は、サイズ(n,c,h,w)の4次元(4D)入力テンソルを形成するように互いに積層されることができ、ここで、cはチャネルの数(例えば、カラーフレームの場合は3)であり、(h,w)はビデオフレームの解像度(例えば、高さと幅)を与える。図2に示すように、特徴抽出モジュール(201)は、フォワード推論により特徴抽出DNN(211)を用いて4D特徴テンソル

【数84】
を算出することができる。特徴抽出モジュール(201)を実装するために、様々な構造を持つ様々なDNNを採用することができる。
【0058】
一実施形態では、特徴マップ

【数85】
を算出してビデオ中の時空間特性をキャプチャするために、特徴抽出DNN(211)は、D. Tran, and et al., “Learning spatiotemporal features with 3d convolutional networks,” in ICCV, 2015(これを参照により全体として組み込むものとする)という著作で記載された3D畳み込み層(C3D)を使用する。
【0059】
別の実施形態では、各個別の特徴マップ

【数86】
は、図1の例で説明された方法と同様の2D畳み込み層を用いて、各入力フレームに基づいて個別に算出され、その後4Dテンソルへ連結されることができる。実施形態のいずれの場合にも、特徴抽出モジュール(201)の出力は、4D特徴テンソルであることができる。
【0060】
3D時間的変形可能な畳み込みを行うために、w(k=1,・・・,K)が3D変形可能な畳み込みカーネルの重み係数を示し、pがカーネル内のk番目の位置に対する予め指定されたオフセットを示すとする。例えば、3×3×3カーネルは、K=27及びp∈{(-1、-1、-1)、(-1、-1、0)、・・・、(1、1、1)}で定義される。3D変形可能な畳み込み層は、入力特徴finと学習可能なオフセットΔPとに基づいて出力特徴foutを算出し、ここで、サンプリング位置pにおける特徴は、次式で与えられる。
【0061】

【数87】
【0062】
不規則な位置p+p+Δpは整数とは限らないため、この変形可能な畳み込み演算は、3D空間での補間(例えば、バイリニア補間)を用いて行うことができる。
【0063】
図2に示すように、変形可能な畳み込み及び特徴融合DNN(212)は、いくつかの上記3D変形可能な畳み込み層(各層の後にReLUのような非線形活性化層が続く)及び他のDNN層(たとえば、ボトルネック層)を積層することによって形成されることができる。フレーム

【数88】
は、他のすべてのフレームがアライメントされる参照であることができる。変形可能な畳み込み及び特徴融合モジュール(202)は、変形可能な畳み込み及び特徴融合DNN(212)を用いて、4D特徴テンソル

【数89】
に基づいて、融合されたアライメントされた特徴マップ

【数90】
を算出する。
【0064】
次いで、フレーム再構成モジュール(203)は、フレーム再構成DNN(213)を用いて、融合されたアライメントされた特徴マップ

【数91】
に基づいて、再構成された予測フレーム

【数92】
を算出する。説明されたように、アライメントされた特徴マップが生成される図1の例とは対照的に、図2のこのパイプラインでは、明示的な空間アライメントは実施されない。その代わりに、3D変形可能な畳み込みは、時空間オフセットを直接学習して、アライメントされた融合された特徴マップ

【数93】
を生成する。
【0065】
図1の例と同様に、特徴抽出DNN(211)、変形可能な畳み込み及び特徴融合DNN(212)、又はフレーム再構成DNN(213)における特定のネットワーク構造(層の種類、層の数、カーネルサイズなど)には制限がない。
【0066】
IV.時間的変形可能な畳み込みによる予測フレーム生成のためのトレーニングプロセス
【0067】
図3は、本開示の一実施形態によるニューラルネットワークトレーニングプロセス(300)を示す。トレーニングプロセス(300)中に、予測フレーム生成モジュール(301)内のニューラルネットワークのモデルパラメータを最適化し、決定することができる。例えば、図1又は図2の例における予測フレーム生成モジュール(150)又は(250)を予測フレーム生成モジュール(301)の代わりに配置し、トレーニングプロセス(300)を用いてトレーニングすることができる。
【0068】
一実施形態では、トレーニングプロセス(300)の現在の反復中、図1及び図2の例と同様に、予測フレーム生成モジュール(301)は、参照フレームのセット

【数94】
を受け付け、現在フレームxに対して予測フレーム

【数95】
を生成する。予測フレーム生成モジュール(301)内のニューラルネットワークは、最後の反復の終わりに更新されたモデルパラメータで構成されることができる。いくつかの実施形態では、トレーニングの目的で、ビデオシーケンス内のダウンサンプリングされた元フレームは、後述する参照フレームのセット

【数96】
の代わりに使用されることができる。
【0069】
予測フレーム生成モジュール(301)から予測フレーム

【数97】
を取得した後、元フレーム(現在フレーム)xと予測フレーム

【数98】
との間の残差rは、加算モジュール(311)を用いて次のように取得することができる。
【0070】

【数99】
【0071】
次いで、圧縮損失Lcompress(r)を圧縮損失算出モジュール(304)によって算出して、残差rの潜在的な圧縮率を測定することができる。例えば、より良い圧縮のために、残差rのL-ノルム(平均絶対誤差)を使用して、残差の全体的なスパース性を促進することができる。また、ここではより複雑な統計的レート推定方法を使用することもできる。
【0072】
例えば、残差rにおける各要素のエントロピーを推定することができる。推定されたエントロピーに基づいて、残差rのコーディングのためのビットの数を適宜決定することができる。したがって、ビットレート(例えば、ビット/ピクセル(BPP)又はビット/秒(BPS))を決定し、現在フレームxのコーディングのための圧縮損失Lcompress(r)として使用することができる。様々な実施形態では、エントロピー及びレート損失を推定するための様々な技術が採用されることができる。レート損失推定方法の一例は、J. Balle et al., “End-to-end Optimized Image Compression” in the International Conference on Learning Representations (ICLR) 2017によって説明されている。
【0073】
再構成品質損失

【数100】
を再構成品質損失算出モジュール(305)によって算出して、再構成されたアライメントされた予測フレーム

【数101】
の品質を測定することができる。一例では、再構成されたアライメントされた予測フレーム

【数102】
の品質は、現在フレームxに関して決定されることができる。
【0074】
一実施形態では、トレーニングプロセス(300)中に、合成されたアライメントされた予測フレームのためのグラウンドトゥルースフレームが利用可能となるように、元のビデオシーケンスを時間的にダウンサンプリングする。例えば、元のT個のフレームx1,2,...,を、T/2個のフレームx2,4,...,に時間的にダウンサンプリングすることができる。ダウンサンプリングされたシーケンスを使用して、予測フレーム生成モジュール(301)は、与えられた参照フレーム

【数103】
に対応する予測フレーム

【数104】
を算出することができる。参照フレーム

【数105】
に対応するグラウンドトゥルースフレーム

【数106】
が利用可能となる。一例において、ダウンサンプリングされたフレームx2,4,...,に属さないフレームをグラウンドトゥルースフレーム

【数107】
として使用することができる。グラウンドトゥルースフレーム

【数108】
を現在フレームxとして使用することができる。ダウンサンプリングされたフレームx2,4,...,のうち、グラウンドトゥルースフレーム

【数109】
に隣接するフレームを参照フレーム

【数110】
として使用することができる。そして、

【数111】


【数112】
との間のL-ノルム(MSE)を

【数113】
として使用することができる。
【0075】
圧縮損失Lcompress(r)と品質損失

【数114】
は、次のように組み合わせることができる。
【0076】

【数115】
【0077】
また、図1に示すように、2D変形可能な畳み込みが予測フレーム生成モジュール(301)によって使用される場合、アライメント損失のセット

【数116】
は、以下のように上記ジョイント損失に(図1の破線でマークされているオプションとして)加算することができる。
【0078】

【数117】
【0079】
次いで、ジョイント損失Ljoint(式4又は式5)の勾配を算出し、バックプロパゲーションモジュール(306)を介してバックプロパゲーションして、予測フレーム生成モジュール(301)内のDNNモデルパラメータ(例えば、重み係数、オフセットなど)を更新することができる。例えば、モデルパラメータは、図1の例のDNN(111~115)又は図2の例のDNN(211~213)におけるモデルパラメータであり得る。
【0080】
一実施形態では、残差rを、残差エンコードモジュール(302)によってエンコードして、圧縮表現

【数118】
を生成する。

【数119】
に基づいて、残差デコードモジュール(303)は、新しい再構成されたフレーム

【数120】
を算出するために加算モジュール(312)で予測フレーム

【数121】
に再度加算される、デコードされた残差

【数122】
を算出する。次に、一例では、予測フレーム

【数123】
及び/又は再構成されたフレーム

【数124】
を加算して、以前に構成されたフレームセット

【数125】
を更新する。例えば、現在フレームから遠い最も古いフレームをセットから除去することができる。その後、システムは、tからt+1までの次のエンコードサイクル(トレーニングサイクル又は反復)に入る。
【0081】
V.時間的変形可能な畳み込みによる予測フレーム生成を備えたコーディングシステム
【0082】
図4は、本開示の一実施形態によるビデオエンコーダ(400)を示す。ビデオエンコーダ(400)は、時間的変形可能な畳み込みを行って、現在フレームxをエンコードするための予測フレーム

【数126】
を生成するように構成される予測フレーム生成モジュール(401)を含むことができる。また、ビデオエンコーダ(400)は、残差エンコードモジュール(402)、残差デコードモジュール(403)、第1加算モジュール(411)、及び第2加算モジュール(412)をさらに含むことができる。それらの要素は、図4に示すように、互いにカップリングされる。
【0083】
n個の以前に再構成されたフレームのセット

【数127】
(例えば、参照フレームバッファに記憶されている)を入力として、予測フレーム生成モジュール(401)は、図1に示されたフレームワーク(2D変形可能な畳み込みに基づく)又は図2に示されたフレームワーク(3D変形可能な畳み込みに基づく)を用いることで予測フレーム

【数128】
を生成することができる。次に、第1加算モジュール(411)を用いて、元フレームxと予測フレーム

【数129】
との間の残差rを算出することができる。残差rを、残差エンコードモジュール(402)によってエンコードして、圧縮表現

【数130】
を生成することができる。
【0084】
圧縮表現

【数131】
に基づいて、残差デコードモジュール(403)は、デコードされた残差

【数132】
を算出する。デコードされた残差

【数133】
を、第2加算モジュール(412)で予測フレーム

【数134】
に再度加算して、新しい再構成されたフレーム

【数135】
を算出する。
【0085】
圧縮表現

【数136】
(エントロピーコーディング後)を、例えばビットストリームで伝送して、デコーダ側に送ることができる。その後、再構成された

【数137】
及び/又は生成された予測フレーム

【数138】
を加算して、フレームのセット

【数139】
を更新することができる。エンコードシステム(400)は、tからt+1までの次のエンコードサイクルに入る。
【0086】
図5は、本開示の一実施形態によるビデオデコーダ(500)を示す。ビデオデコーダ(500)は、時間的変形可能な畳み込みを行って、現在フレームxを再構成するための予測フレーム

【数140】
を生成するように構成される予測フレーム生成モジュール(501)を含むことができる。また、ビデオデコーダ(500)は、残差デコードモジュール(502)、及び加算モジュール(511)をさらに含むことができる。それらの要素は、図5に示すように、互いにカップリングされる。
【0087】
示されているように、例えば、ビデオエンコーダ(400)から生成されたビットストリームから、圧縮表現

【数141】
を受け付けた後、残差デコードモジュール(502)はデコードされた残差

【数142】
を算出する。以前に再構成されたフレームのセット

【数143】
が与えられると、予測フレーム生成モジュール(501)は予測フレーム

【数144】
を算出する。次に、加算モジュール(511)で予測フレーム

【数145】
と残差

【数146】
を一緒に加算して、現在フレームxに対応する再構成されたフレーム

【数147】
を取得する。
【0088】
再構成された

【数148】
及び/又は生成された予測フレーム

【数149】
を加算して、参照フレームのセット

【数150】
を更新することができる。デコードシステム(500)は、tからt+1までの次のデコードサイクルに入る。
【0089】
ビデオエンコーダ(400)又はデコーダ(500)における残差エンコードモジュール及び残差デコードモジュールが使用するエンコード方法及びデコード方法の種類には制限がないことに留意されたい。例えば、残差処理モジュール(402)、(403)、及び(502)には、HEVC又はVVCコーディング規格における残差信号処理方法、又は他の非規格化された方法が採用されることができる。
【0090】
VI.時間的変形可能な畳み込みによる予測フレーム生成に基づくビデオコーディングプロセス
【0091】
図6は、本開示の一実施形態によるビデオコーディングプロセス(600)を示す。プロセス(600)は、ビデオエンコーダ又はビデオデコーダで行われて、予測フレームを生成することができる。プロセス(600)は、(S601)から開始し、(S610)へ進むことができる。
【0092】
(S610)では、変形可能な畳み込みDNNを介して変形可能な畳み込みを行って、1つ又は複数の以前に再構成された参照フレームのセットに基づいて1つ又は複数の第1特徴マップを生成することができる。
【0093】
例えば、特徴抽出DNNに基づいて、1つ又は複数の以前に再構成された参照フレームに対応する1つ又は複数の第2特徴マップのセットを生成することができる。オフセット生成DNNを用いて、1つ又は複数の第2特徴マップにそれぞれ対応する1つ又は複数のオフセットマップを生成することができる。例えば、各オフセットマップは、生成されるオフセットマップに対応する第2特徴マップ、及び、1つ又は複数の以前に再構成された参照フレームのうちの1つであるターゲットフレームに対応する第2特徴マップ、とのオフセット生成DNNへの入力に基づいて生成されることができる。1つ又は複数のオフセットマップは、同一のターゲットフレームを有することができる。
【0094】
一例では、ターゲットフレームは、1つ又は複数の再構成された参照フレームのうちのいずれか1つであることができる。一例では、現在フレームと1つ又は複数の以前に再構成された参照フレームとが表示順に配置される場合、ターゲットフレームは現在フレームに隣接する。一例では、現在フレームがPフレームである場合、ターゲットフレームは、1つ又は複数の以前に再構成された参照フレームの最後のフレームであることができる。現在フレームがBフレームである場合、ターゲットフレームは、1つ又は複数の以前に再構成された参照フレームのうち、表示順で現在フレームより前にあるフレームの最後のフレームであることができる。
【0095】
一例では、変形可能な畳み込みDNNは、1つ又は複数の第2特徴マップを入力として受け付け、1つ又は複数の第2特徴マップにそれぞれ対応する1つ又は複数の第1特徴マップを生成することができる。例えば、変形可能な畳み込みDNNは、各々が変形可能な畳み込みカーネルに関連付けられる1つ又は複数の変形可能な畳み込み層を含むことができる。1つ又は複数の変形可能な畳み込み層の1つで、各第2特徴マップに対応して、それぞれの変形可能な畳み込みカーネルとそれぞれの第2特徴マップのオフセットマップとに基づいて変形可能な畳み込みが行われる。
【0096】
(S620)では、1つ又は複数の第1特徴マップに基づいて予測フレームを生成することができる。例えば、1つ又は複数の第1特徴マップと1つ又は複数の以前に再構成された参照フレームとに基づいて、フレーム再構成DNNを用いて1つ又は複数のアライメントフレームを再構成することができる。1つ又は複数のアライメントフレームに基づいて、フレーム合成DNNを用いて予測フレームを生成することができる。
【0097】
(S630)では、予測フレームに基づいて現在フレームを再構成することができる。例えば、デコーダ側では、予測フレームを再構成された残差フレーム(又は信号)と組み合わせて、再構成された現在フレームを生成することができる。次いで、再構成された現在フレームを、次の現在フレームをデコードするための参照フレームとして使用することができる。
【0098】
いくつかの例では、現在フレームの再構成は、ブロックベースであることができる。例えば、処理中の現在ブロック(前記現在ブロックから分割された)に対して、対応する予測ブロックを予測フレームから分割し、現在ブロックの残差信号と組み合わせて現在ブロックを再構成することができる。
【0099】
エンコーダ側では、現在フレームと予測フレームとの間で残差信号を生成することができる。そして、残差信号を圧縮表現にエンコードし、ビットストリームで伝送することができる。その後、圧縮表現をデコードして、再構成された残差信号を生成することができる。次いで、再構成された信号を予測フレームと組み合わせて、再構成された現在フレームを生成することができる。再構成された現在フレームを、次の現在フレームのコーディングのための参照フレームとして使用することができる。プロセス(600)は、(S699)に進むことができ、(S699)で終了することができる。
【0100】
図7は、本開示の一実施形態によるニューラルネットワークトレーニングプロセス(700)を示す。プロセス(700)は、(S701)から開始し、(S710)に進むことができる。
【0101】
(S710)では、参照フレームのセットを予測フレーム生成モジュールに入力して、予測フレームを生成する。予測フレーム生成モジュールは、最適化されるべきパラメータを有するニューラルネットワークを含むことができる。ニューラルネットワークは、変形可能な畳み込みディープニューラルネットワーク(DNN)を含むことができる。一例では、参照フレームは、時間的ダウンサンプリング操作に基づいて、ビデオ内のフレームのシーケンスから選択される。フレームのシーケンス内の、ダウンサンプリング操作によって選択されないフレームは、グラウンドトゥルースフレームとして使用される。
【0102】
(S720)では、損失関数の損失を決定することができる。損失関数は、予測フレームとグラウンドトゥルースフレームとの差に基づいて推定されたビットレートを示す圧縮損失と、グラウンドトゥルースフレームに対する予測フレームの品質を示す再構成品質損失とを含むことができる。
【0103】
一例では、損失関数は、アライメント誤差を示すアライメント損失をさらに含むことができる。アライメント損失を以下のように決定することができる。予測フレーム生成モジュール内の特徴抽出DNNを用いて、参照フレームに対応する第1特徴マップをそれぞれ生成することができる。予測フレーム生成モジュール内の変形可能な畳み込みDNNを用いて、第1特徴マップに対応する第2特徴マップをそれぞれ生成することができる。第2特徴マップの1つと、グラウンドトゥルースフレームと参照フレームとが表示順に配置される場合、グラウンドトゥルースフレームに隣接する参照フレームに対応する第1特徴マップとの間の差を決定する。グラウンドトゥルースフレームに隣接する参照フレームに対応する第1特徴マップに対して、第2特徴マップごとに、差を決定することができる。この差は、アライメント損失に含まれることができる。
【0104】
(S730)では、損失及び損失関数に基づいてバックプロパゲーションを行って、予測フレーム生成モジュール内のニューラルネットワークのパラメータを更新することができる。プロセス(700)は、(S799)に進み、(S799)で終了することができる。
【0105】
VII.コンピュータシステム
【0106】
本明細書に開示された技法(例えば、様々な実施形態又は例における機能、モジュール、要素、方法、プロセス、操作)は、処理回路(例えば、1つ又は複数のプロセッサ又は1つ又は複数の集積回路)によって実装されることができる。いくつかの例では、本技法は、コンピュータ読取可能な命令を使用するコンピュータソフトウェアとして実装され、1つ又は複数のコンピュータ読取可能な媒体に物理的に記憶されることができる。
【0107】
コンピュータソフトウェアは、1つ又は複数のコンピュータ中央処理装置(CPU)、グラフィックス処理装置(GPU)などによって直接、又は解釈、マイクロコード実行などを通じて実行され得る命令を含むコードを作成するために、アセンブリ、コンパイル、リンク、又は同様のメカニズムに従うことができる任意の適切な機械コード又はコンピュータ言語を用いて符号化されることができる。
【0108】
命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム装置、モノのインターネット装置などを含む、様々なタイプのコンピュータ又はそのコンポーネント上で実行されることができる。
【0109】
図8は、開示された主題のいくつかの実施形態を実装するのに適したコンピュータシステム(800)を示す。コンピュータシステム(800)の図8に示されたコンポーネントは、本質的に例示的なものであり、本開示の実施形態を実装するコンピュータソフトウェアの使用範囲又は機能性に関するいかなる限定も示唆することを意図していない。また、コンポーネントの構成は、コンピュータシステム(800)の例示的な実施形態では示されたコンポーネントの任意の1つ又は組み合わせに関連する任意の依存又は要件を有すると解釈されるべきではない。
【0110】
コンピュータシステム(800)は、特定のヒューマンインタフェース入力装置を含むことができる。このようなヒューマンインタフェース入力装置は、例えば、触覚入力(キーストローク、スワイプ、データグローブの動きなど)、オーディオ入力(声、拍手など)、視覚入力(ジェスチャなど)、嗅覚入力(示されていない)を介して1又は複数の人間ユーザによる入力に応答してもよい。ヒューマンインタフェース装置は、また、オーディオ(音声、音楽、環境音など)、画像(スキャン画像、静止画カメラから取得した写真画像など)、ビデオ(2次元ビデオ、立体ビデオを含む3次元ビデオなど)など、必ずしも人間の意識的入力に直接関係しないメディアをキャプチャするために使用されることができる。
【0111】
入力ヒューマンインタフェース装置は、キーボード(801)、マウス(802)、トラックパッド(803)、タッチスクリーン(810)、データグローブ(図示せず)、ジョイスティック(805)、マイク(806)、スキャナ(807)、及びカメラ(808)のうちの1つ又は複数(それぞれ1つのみ示されている)を含むことができる。
【0112】
コンピュータシステム(800)は、また、特定のヒューマンインタフェース出力装置を含むことができる。このようなヒューマンインタフェース出力装置は、例えば、触覚出力、音、光、及び匂い/味を通じて1又は複数の人間ユーザの感覚を刺激するものであってもよい。このようなヒューマンインタフェース出力装置は、触覚出力装置(例えば、タッチスクリーン(810)、データグローブ(図示せず)、又はジョイスティック(805)による触覚フィードバックなどであるが、入力装置として機能しない触覚フィードバック装置も存在し得る)、オーディオ出力装置(スピーカー(809)、ヘッドフォン(示されていない)など)、視覚出力装置(CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含むスクリーン(810)(それぞれタッチスクリーン入力能力を有するか有しないか、それぞれ触覚フィードバック能力を有するか有しないか)(そのうちのいくつかは、ステレオグラフィックス出力などの手段によって二次元視覚出力又は三次元を超えた出力を出力することができる)、仮想現実メガネ(示されていない)、ホログラムディスプレイ及びスモークタンク(示されていない)など)、ならびにプリンタ(示されていない)を含むことができる。
【0113】
コンピュータシステム(800)は、また、CD/DVD付きのCD/DVD ROM/RW(820)又は類似したメディア(821)、サムドライブ(822)、リムーバブルハードドライブ又はリッドステートドライブ(823)、テープ及びフロッピーディスク等のレガシ磁気メディア(図示せず)、セキュリティドングル等の専用ROM/ASIC/PLDベースの装置(図示せず)などを含む光学メディアなど、人間がアクセス可能な記憶装置及びそれらに関連するメディアを含むことができる。
【0114】
当業者は、また、現在開示されている主題に関連して使用される「コンピュータ読取可能な媒体」という用語は、伝送媒体、搬送波、又は他の一時的な信号を包含しないことを理解すべきである。
【0115】
コンピュータシステム(800)は、また、1つ又は複数の通信ネットワーク(855)へのインタフェース(854)を含むことができる。1つ又は複数のネットワーク(855)は、例えば、無線、有線、光であり得る。1つ又は複数のネットワーク(855)は、さらに、ローカル、広域、メトロポリタン、車両及び産業、リアルタイム、遅延耐性等であり得る。1つ又は複数のネットワーク(855)の例は、イーサネット、無線LAN、GSM、3G、4G、5G、LTEなどを含むセルラーネットワークなどのローカルエリアネットワーク、ケーブルテレビ、衛星テレビ、地上波放送テレビなどを含むテレビ有線又は無線広域デジタルネットワーク、CANBusなどを含む車両及び産業用を含む。特定のネットワークは、一般に、特定の汎用データポート又は周辺バス(849)(例えば、コンピュータシステム(800)のUSBポートなど)に取り付けられた外部ネットワークインタフェースアダプタを必要とし、他のものは、後述するようにシステムバス(例えば、PCコンピュータシステムへのイーサネットインタフェース又はスマートコンピュータシステムへのセルラーネットワークインタフェースなど)への取り付けによってコンピュータシステム(800)のコアに一般に統合される。これらのネットワークのいずれかを使用して、コンピュータシステム(800)は、他のエンティティと通信することができる。このような通信は、単方向、受信のみ(例えば、放送テレビ)、単方向送信のみ(例えば、特定のCANbus装置へのCANbus)、又は双方向、例えば、ローカル又は広域デジタルネットワークを使用して他のコンピュータシステムへ、であることができる。特定のプロトコル及びプロトコルスタックは、上述したように、それらのネットワーク及びネットワークインタフェースの各々で使用されることができる。
【0116】
前述のヒューマンインタフェース装置、人間がアクセス可能な記憶装置、及びネットワークインタフェースは、コンピュータシステム(800)のコア(840)に取り付けられることができる。
【0117】
コア(840)は、1つ又は複数の中央処理装置(CPU)(841)、グラフィックス処理装置(GPU)(842)、フィールドプログラマブルゲートエリア(FPGA)(843)の形態の専用プログラマブル処理装置、特定のタスク用のハードウェアアクセラレータ(844)、グラフィックスアダプタ(850)など、を含むことができる。これらの装置は、リードオンリーメモリ(ROM)(845)、ランダムアクセスメモリ(846)、ユーザがアクセスできない内部ハードディスク、SSDなどの内部マスストレージ(847)と共に、システムバス(848)を介して接続されてもよい。いくつかのコンピュータシステムでは、システムバス(848)は、1つ又は複数の物理的なプラグの形態でアクセス可能であって、追加のCPU、GPUなどによる拡張を可能にすることができる。周辺機器は、コアのシステムバス(848)に直接、又は周辺バス(849)を介して取り付けられることができる。一例として、スクリーン(810)は、グラフィックスアダプタ(850)に接続されることができる。周辺バスのアーキテクチャは、PCI、USBなどを含む。
【0118】
CPU(841)、GPU(842)、FPGA(843)、及びアクセラレータ(844)は、組み合わせで前述のコンピュータコードを構成することができる特定の命令を実行することができる。そのコンピュータコードは、ROM(845)又はRAM(846)に記憶されることができる。過渡的なデータもRAM(846)に記憶されることができ、一方、永久的なデータは、例えば、内部大容量ストレージ(847)に記憶されることができる。1つ又は複数のCPU(841)、GPU(842)、大容量ストレージ(847)、ROM(845)、RAM(846)などに密に関連付けられることができるキャッシュメモリの使用によって、いずれかのメモリ装置への高速な記憶及び検索を可能にすることができる。
【0119】
コンピュータ読取可能な媒体は、様々なコンピュータ実装操作を実行するためのコンピュータコードをその上に持つことができる。媒体及びコンピュータコードは、本開示の目的のために特別に設計及び構築されたものであり得るか、又はコンピュータソフトウェア分野の技術を持つ者によく知られ利用可能な種類のものであり得る。
【0120】
一例として、限定ではなく、アーキテクチャを有するコンピュータシステム(800)、特にコア(840)は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が1つ又は複数の有形のコンピュータ読取可能な媒体で具現化されたソフトウェアを実行する結果として、機能性を提供することができる。このようなコンピュータ読取可能な媒体は、上記で紹介したようなユーザがアクセス可能な大容量ストレージに関連付けられる媒体、ならびにコア内部大容量ストレージ(847)又はROM(845)などの非一時的な性質を有するコア(840)の特定のストレージであることができる。本開示の様々な実施形態を実装するソフトウェアは、このような装置に記憶され、コア(840)によって実行されることができる。コンピュータ読取可能な媒体は、特別な必要性に応じて、1つ又は複数のメモリ装置又はチップを含むことができる。ソフトウェアは、コア(840)、特にその中のプロセッサ(CPU、GPU、FPGAなどを含む)に、RAM(846)に記憶されたデータ構造の定義、及びソフトウェアによって定義されたプロセスに従ってこのようなデータ構造の変更を含む、本明細書に記載された特別なプロセス又は特別なプロセスの特別な部分を実行させることができる。加えて、又は代替として、コンピュータシステムは、ソフトウェアの代わりに又はソフトウェアと共に動作して、本明細書に記載された特別なプロセス又は特別なプロセスの特別な部分を実行することができる回路(例えば、アクセラレータ(844))にハードワイヤード又はその他の方法で具現化されたロジックの結果として機能性を提供できる。ソフトウェアへの言及は、適切な場合、ロジックを包含することができ、その逆もまた同様である。コンピュータ読取可能な媒体への言及は、適切な場合、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のためのロジックを具現化する回路、又はその両方を包含することができる。本開示は、ハードウェアとソフトウェアの任意の適切な組み合わせを包含する。
【0121】
本開示は、いくつかの例示的な実施形態を説明したが、本開示の範囲内に入る変更、置換、及び様々な代替の等価物が存在する。したがって、当業者は、本明細書で明示的に示されていないか又は説明されていないが、本開示の原理を具現化し、ゆえにその精神及び範囲内にある多数のシステム及び方法を考案することができることが理解されるであろう。
【符号の説明】
【0122】
848 システムバス
850 グラフィックスアダプタ
854 ネットワークインタフェース
図1
図2
図3
図4
図5
図6
図7
図8