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

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

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

特許7438611品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習
<>
  • 特許-品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習 図1
  • 特許-品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習 図2
  • 特許-品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習 図3A
  • 特許-品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習 図3B
  • 特許-品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習 図4
  • 特許-品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習 図5
  • 特許-品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習 図6
  • 特許-品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習 図7
  • 特許-品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-16
(45)【発行日】2024-02-27
(54)【発明の名称】品質適応型ニューラル・ネットワーク・ベースのループフィルタのための代替品質ファクター学習
(51)【国際特許分類】
   H04N 19/82 20140101AFI20240219BHJP
   H04N 19/46 20140101ALI20240219BHJP
【FI】
H04N19/82
H04N19/46
【請求項の数】 10
(21)【出願番号】P 2022569614
(86)(22)【出願日】2022-05-13
(65)【公表番号】
(43)【公表日】2023-07-13
(86)【国際出願番号】 US2022029122
(87)【国際公開番号】W WO2022245640
(87)【国際公開日】2022-11-24
【審査請求日】2022-11-15
(31)【優先権主張番号】63/190,109
(32)【優先日】2021-05-18
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/741,703
(32)【優先日】2022-05-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ウェイ・ジアン
(72)【発明者】
【氏名】ウェイ・ワン
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】岩井 健二
(56)【参考文献】
【文献】特開2019-201255(JP,A)
【文献】特開2019-201332(JP,A)
【文献】米国特許出願公開第2019/0230354(US,A1)
【文献】国際公開第2019/031410(WO,A1)
【文献】Fatemeh Nasiri, et al.,Prediction-Aware Quality Enhancement of VVC Using CNN,Proceedings of the 2020 IEEE International Conference on Visual Communications and Image Processing (VCIP),IEEE,2020年12月,pp.310-313
【文献】Zhijie Huang, et al.,An Efficient QP Variable Convolutional Neural Network Based In-loop Filter for Intra Coding,2021 Data Compression Conference (DCC),IEEE,2021年03月,pp.33-42
【文献】Hongtao Wang, Jianle Chen, Anand Meher Kotra, and Marta Karczewicz,AHG11: Neural Network-based In-Loop Filter Performance with No Deblocking Filtering stage,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29,JVET-U0115-v2,21st Meeting, by teleconference,2021年01月,pp.1-5
【文献】Yue Li, Li Zhang, and Kai Zhang,AHG11: Deep In-Loop Filter with Adaptive Model Selection,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29,JVET-V0100-v2,22nd Meeting, by teleconference,2021年04月,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
メタ学習を用いたニューラル・ネットワーク・ベースのループフィルタリングに基づくビデオエンハンスメントの方法であって、前記方法は、少なくとも1つのプロセッサによって実行され、前記方法は、
入力ビデオデータおよび1つまたは複数の元の品質ファクターを受信するステップと、
前記1つまたは複数の元の品質ファクターを用いて複数の反復によって1つまたは複数の代替品質ファクターを生成するステップであって、前記1つまたは複数の代替品質ファクターは、前記1つまたは複数の元の品質ファクターの変更されたバージョンである、ステップと、
ニューラル・ネットワーク・ベースのループ・フィルタ・パラメータおよび複数の層を備えるニューラル・ネットワーク・ベースのループフィルタを決定するステップであって、前記ニューラル・ネットワーク・ベースのループ・フィルタ・パラメータは、共有パラメータおよび適応パラメータを含む、ステップと、
前記ニューラル・ネットワーク・ベースのループフィルタを用いて、前記1つまたは複数の代替品質ファクターおよび前記入力ビデオデータに基づいて、エンハンスされたビデオデータを生成するステップと
を含む、方法。
【請求項2】
前記1つまたは複数の代替品質ファクターを生成するステップは、
前記複数の反復ごとに、
前記エンハンスされたビデオデータおよび前記入力ビデオデータに基づいて、目標損失を計算するステップと、
バックプロパゲーションを用いて前記目標損失の勾配を計算するステップと、
前記目標損失の前記勾配に基づいて、前記1つまたは複数の代替品質ファクターを更新するステップと
を含む、請求項1に記載の方法。
【請求項3】
前記1つまたは複数の代替品質ファクターを生成するステップの最初の反復は、前記目標損失を計算する前記ステップの前に、前記1つまたは複数の代替品質ファクターを、前記1つまたは複数の元の品質ファクターとして初期化するステップを含む、請求項2に記載の方法。
【請求項4】
前記複数の反復における反復回数は、所定の最大反復回数に基づく、請求項1に記載の方法。
【請求項5】
前記複数の反復における反復回数は、前記受信されたビデオデータおよび前記ニューラル・ネットワーク・ベースのループフィルタに適応的に基づく、請求項1に記載の方法。
【請求項6】
前記複数の反復における反復回数は、所定の閾値未満である前記1つまたは複数の代替品質ファクターを更新する前記ステップに基づく、請求項2に記載の方法。
【請求項7】
前記1つまたは複数の代替品質ファクターを生成するステップの最後の反復は、前記1つまたは複数の代替品質ファクターを1つまたは複数の最終的な代替品質ファクターに更新するステップを含む、請求項2に記載の方法。
【請求項8】
前記エンハンスされたビデオデータを生成する前記ステップは、
前記ニューラル・ネットワーク・ベースのループフィルタ内の前記複数の層の各層について、
第1の共有パラメータを有する第1の共有ニューラル・ネットワーク・ループ・フィルタを用いて、前の層からの出力に基づいて、共有特徴を生成するステップと、
予測ニューラルネットワークを用いて、前記前の層からの前記出力、前記共有特徴、第1の適応ニューラル・ネットワーク・ループ・フィルタからの第1の適応パラメータ、および前記1つまたは複数の代替品質ファクターに基づいて、推定適応パラメータを計算するステップと、
前記共有特徴および前記推定適応パラメータに基づいて、現在の層の出力を生成するステップと、
前記ニューラル・ネットワーク・ベースのループフィルタの最後の層の出力に基づいて、前記エンハンスされたビデオデータを生成するステップと
を含む、請求項1に記載の方法。
【請求項9】
プログラムコードを記憶するように構成される少なくとも1つのメモリと、
前記プログラムコードを読み取り、前記プログラムコードによって命令されて動作するように構成される少なくとも1つのプロセッサと
を備える装置であって、前記プログラムコードは、請求項1~8のうちいずれか一項に記載の方法を実行させるように構成された、装置。
【請求項10】
コンピュータに、請求項1~8のうちいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年5月18日に出願された米国仮特許出願第63/190,109号に基づいており、これに対する優先権を主張し、その開示内容は、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
H.264/アドバンスト・ビデオ・コーディング(H.264/AVC)、高効率ビデオコーディング(HEVC)、および多用途ビデオコーディング(VVC)のようなビデオコーディング規格は、類似した(再帰的な)ブロックベースのハイブリッド予測および/または変換フレームワークを共有する。そのような規格では、全体的な効率を最適化するために、イントラ/インター予測、整数変換、およびコンテキスト適応型エントロピー・コーディングのような個々のコーディング・ツールが、集中的にハンドクラフトされる。これらの個々のコーディング・ツールは、その後の変換、量子化、およびエントロピー・コーディングのための対応する残差を得るために、予測信号構成のための時空間画素近傍を活用する。一方、ニューラルネットワークは、隣接画素の受容野からの時空間情報を分析することによって異なるレベルの時空間刺激を抽出し、高度に非線形性で非局所的な時空間相関を本質的に探索する。高度に非線形で非局所的な時空間相関を用いて改善された圧縮品質を探索する必要がある。
【0003】
非可逆ビデオ圧縮の方法は、多くの場合、体感品質(QoE)を著しく低下させるアーチファクトを有する圧縮ビデオに悩まされる。許容される歪み量は、用途に依存することが多いが、一般に圧縮率が高いほど歪みが大きくなる。圧縮品質は、多くの要因によって影響を受ける可能性がある。例えば、量子化パラメータ(quantization parameter:QP)は、量子化ステップサイズを決定し、QP値が大きいほど、量子化ステップサイズが大きく、歪みが大きい。ユーザの異なる要求に対応するために、ビデオコーディング方法は、異なる圧縮品質でビデオを圧縮する能力を必要とする。
【0004】
ディープ・ニューラル・ネットワーク(deep neural network:DNN)を含むこれまでの手法は、圧縮されたビデオのビデオ品質を向上させることによって有望な性能を示してきたが、ニューラル・ネットワーク・ベース(NN)の品質向上法では、異なるQP設定に対応することが課題である。一例として、これまでの手法では、各QP値は、個々のタスクとして扱われ、1つのNNモデルインスタンスは、QP値ごとに訓練され展開される。実際には、異なる入力チャネルは、異なるQP値、例えば、異なるQP値を有する彩度および輝度成分を有する。そのような状況では、これまでの手法は、NNモデルインスタンスの組合せの数が必要となる。より多くの異なるタイプの品質設定が追加されると、組合せのNNモデルの数はとてつもなく多くなる。さらに、品質ファクター(quality factor:QF)の特定の設定について訓練されたモデルインスタンスは、一般に、他の設定については良好に機能しない。ビデオシーケンス全体は、最良のエンハンスメント効果を達成するために、通常、いくつかのQFパラメータに対して同じ設定を有するが、異なるフレームが異なるQFパラメータを必要とする場合がある。したがって、QFパラメータの任意の滑らかな設定で、柔軟な品質制御をもたらす方法、システム、および装置が必要とされる。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の実施形態によれば、メタ学習を用いたニューラル・ネットワーク・ベースのループフィルタリングに基づくビデオエンハンスメントの方法が提供され得る。本方法は、少なくとも1つのプロセッサによって実行され、入力ビデオデータおよび1つまたは複数の元の品質制御ファクターを受信するステップと、1つまたは複数の元の品質ファクターを用いて複数の反復によって1つまたは複数の代替品質ファクターを生成するステップであって、1つまたは複数の代替品質ファクターは、1つまたは複数の元の品質ファクターの変更されたバージョンである、ステップと、ニューラル・ネットワーク・ベースのループ・フィルタ・パラメータおよび複数の層を備えるニューラル・ネットワーク・ベースのループフィルタを決定するステップであって、ニューラル・ネットワーク・ベースのループ・フィルタ・パラメータは、共有パラメータおよび適応パラメータを含む、ステップと、ニューラル・ネットワーク・ベースのループフィルタを用いて、1つまたは複数の代替品質ファクターおよび入力ビデオデータに基づいて、エンハンスされたビデオデータを生成するステップと、を含み得る。
【0006】
本開示の実施形態によれば、プログラムコードを記憶するように構成された少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードによって命令されて動作するように構成された少なくとも1つのプロセッサと、を含む装置が提供され得る。プログラムコードは、少なくとも1つのプロセッサに、入力ビデオデータおよび1つまたは複数の元の品質制御ファクターを受信させるように構成された受信コードと、少なくとも1つのプロセッサに、1つまたは複数の元の品質ファクターを用いて複数の反復によって1つまたは複数の代替品質ファクターを生成させるように構成された第1の生成コードであって、1つまたは複数の代替品質ファクターは、1つまたは複数の元の品質ファクターの変更されたバージョンである、第1の生成コードと、少なくとも1つのプロセッサに、ニューラル・ネットワーク・ベースのループ・フィルタ・パラメータおよび複数の層を備えるニューラル・ネットワーク・ベースのループフィルタを決定させるように構成された第1の決定コードであって、ニューラル・ネットワーク・ベースのループ・フィルタ・パラメータは、共有パラメータおよび適応パラメータを含む、第1の決定コードと、少なくとも1つのプロセッサに、ニューラル・ネットワーク・ベースのループフィルタを用いて、1つまたは複数の代替品質ファクターおよび入力ビデオデータに基づいて、エンハンスされたビデオデータを生成させるように構成された第2の生成コードと、を含み得る。
【0007】
本開示の実施形態によれば、記憶命令を記憶する非一時的コンピュータ可読媒体が提供され得る。命令は、デバイスの1つまたは複数のプロセッサによって実行されると、入力ビデオデータおよび1つまたは複数の元の品質制御ファクターを受信することと、1つまたは複数の元の品質ファクターを用いて複数の反復によって1つまたは複数の代替品質ファクターを生成することであって、1つまたは複数の代替品質ファクターは、1つまたは複数の元の品質ファクターの変更されたバージョンである、生成することと、ニューラル・ネットワーク・ベースのループ・フィルタ・パラメータおよび複数の層を備えるニューラル・ネットワーク・ベースのループフィルタを決定することであって、ニューラル・ネットワーク・ベースのループ・フィルタ・パラメータは、共有パラメータおよび適応パラメータを含む、決定することと、ニューラル・ネットワーク・ベースのループフィルタを用いて、1つまたは複数の代替品質ファクターおよび入力ビデオデータに基づいて、エンハンスされたビデオデータを生成することと、を実施する命令を含み得る。
【図面の簡単な説明】
【0008】
図1】実施形態による、本明細書に記載された方法、装置、およびシステムがその中で実現され得る環境の図である。
図2図1の1つまたは複数のデバイスの例示的な構成要素のブロック図である。
図3A】実施形態による、メタ学習を用いたビデオエンハンスメントのためのメタ・ニューラル・ネットワーク・ループ・フィルタ(Meta-NNLF)・アーキテクチャのブロック図である。
図3B】実施形態による、メタ学習を用いたビデオエンハンスメントのためのメタ・ニューラル・ネットワーク・ループ・フィルタ(Meta-NNLF)・アーキテクチャのブロック図である。
図4】実施形態による、メタ学習を用いたビデオエンハンスメントのためのメタNNLFモデルに関する装置のブロック図である。
図5】実施形態による、メタ学習を用いたビデオエンハンスメントのためのメタNNLFに関する訓練装置のブロック図である。
図6】実施形態による、メタNNLFを用いたビデオエンハンスメントのためのプロセスを示す例示的なフローチャート図である。
図7】実施形態による、メタ学習を用いたビデオエンハンスメントのためのメタNNLFモデルに関する装置のブロック図である。
図8】実施形態による、メタ学習を用いたビデオエンハンスメントのためのメタNNLFモデルに関する装置のブロック図である。
【発明を実施するための形態】
【0009】
本開示の実施形態は、ノイズ、ぼやけ、ブロック効果などのアーチファクトの1つまたは複数のタイプを低減するために、ビデオを処理する品質適応型ニューラル・ネットワーク・ベースのループフィルタリング(quality-adaptive neural network-based loop filtering:QANNLF)に関する方法、システム、および装置に関する。実施形態では、メタ・ニューラル・ネットワーク・ベースのループフィルタリング(Meta-NNLF)方法および/またはプロセスは、現在のデコードされたビデオと、コーディング・ツリー・ユニット(CTU)パーティション、QP、デブロッキングフィルタ境界強度、CUイントラ予測モードなどのデコードされたビデオのQFとに基づいて、基礎をなすニューラル・ネットワーク・ベースのループ・フィルタリング(NNLF)・モデルの品質適応型重みパラメータを適応的に計算し得る。本開示の実施形態によれば、1つのメタNNLFモデルインスタンスのみが、訓練プロセスで見られる設定、および実際の用途で見られない設定を含む、任意の滑らかなQF設定で、デコードされたビデオよりも効果的なアーチファクト低減を達成し得る。本出願の実施形態によれば、1つまたは複数の代替品質制御パラメータは、エンコーダ側で、入力画像ごとに、適応的に学習されて、計算された品質適応型重みパラメータを改善して、目標画像の良好な回復を導き得る。学習された1つまたは複数の代替品質制御パラメータは、目標ビデオを再構成するためにデコーダ側に送信され得る。
【0010】
図1は、実施形態による、本明細書に記載された方法、装置、およびシステムがその中で実現され得る環境100の図である。
【0011】
図1に示されたように、環境100は、ユーザデバイス110と、プラットフォーム120と、ネットワーク130と、を含み得る。環境100のデバイスは、有線接続、無線接続、または有線接続と無線接続との組合せを介して相互接続してもよい。
【0012】
ユーザデバイス110は、プラットフォーム120に関連付けられた情報を受信、生成、記憶、処理、および/または提供することが可能な1つまたは複数のデバイスを含む。例えば、ユーザデバイス110は、コンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話(例えば、スマートフォン、無線電話など)、ウェアラブルデバイス(例えば、スマートグラスもしくはスマートウォッチなど)、または同様のデバイスを含んでもよい。いくつかの実装形態では、ユーザデバイス110は、プラットフォーム120から情報を受信し、かつ/または情報をプラットフォームに送信してもよい。
【0013】
プラットフォーム120は、本明細書の他の箇所に記載されるような1つまたは複数のデバイスを含む。いくつかの実装形態では、プラットフォーム120は、クラウドサーバ、またはクラウドサーバのグループを含んでもよい。いくつかの実装形態では、プラットフォーム120は、ソフトウェア構成要素がスワップインまたはスワップアウトされ得るようにモジュール式に設計されてもよい。そのため、プラットフォーム120は、異なる用途向けに、容易に、および/または迅速に再構成され得る。
【0014】
いくつかの実装形態では、図示されたように、プラットフォーム120は、クラウドコンピューティング環境122内でホストされてもよい。特に、本明細書に記載された実装形態は、クラウドコンピューティング環境122内でホストされるものとしてプラットフォーム120を記載するが、いくつかの実装形態では、プラットフォーム120は、クラウドベースでなくてもよく(すなわち、クラウドコンピューティング環境の外部に実装されてもよい)、または部分的にクラウドベースであってもよい。
【0015】
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含む。クラウドコンピューティング環境122は、プラットフォーム120をホストする(1つまたは複数の)システムおよび/または(1つまたは複数の)デバイスの物理的位置および構成に関するエンドユーザ(例えば、ユーザデバイス110)の知識を必要としない、計算、ソフトウェア、データアクセス、ストレージなどのサービスを提供し得る。図示のように、クラウドコンピューティング環境122は、コンピューティングリソース124のグループ(「コンピューティングリソース124」と総称され、なおかつ個別に「コンピューティングリソース124」と呼ばれる)を含んでもよい。
【0016】
コンピューティングリソース124は、1つまたは複数のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または他のタイプの計算デバイスおよび/もしくは通信デバイスを含む。いくつかの実装形態では、コンピューティングリソース124は、プラットフォーム120をホストしてもよい。クラウドリソースは、コンピューティングリソース124内で実行される計算インスタンス、コンピューティングリソース124内で提供されるストレージデバイス、コンピューティングリソース124によって提供されるデータ転送デバイスなどを含んでもよい。いくつかの実装形態では、コンピューティングリソース124は、有線接続、無線接続、または有線接続と無線接続との組合せを介して他のコンピューティングリソース124と通信してもよい。
【0017】
図1にさらに示されたように、コンピューティングリソース124は、1つまたは複数のアプリケーション(「APP」)124-1、1つまたは複数の仮想マシン(「VM」)124-2、仮想化ストレージ(「VS」)124-3、1つまたは複数のハイパーバイザ(「HYP」)124-4などのクラウドリソースのグループを含む。
【0018】
アプリケーション124-1は、ユーザデバイス110および/もしくはプラットフォーム120に提供され得る、またはユーザデバイス110および/もしくはプラットフォーム120によってアクセスされ得る1つまたは複数のソフトウェアアプリケーションを含む。アプリケーション124-1は、ユーザデバイス110にソフトウェアアプリケーションをインストールして実行する必要性を排除し得る。例えば、アプリケーション124-1は、プラットフォーム120に関連付けられたソフトウェア、および/またはクラウドコンピューティング環境122を介して提供され得る他の任意のソフトウェアを含んでもよい。いくつかの実装形態では、1つのアプリケーション124-1は、仮想マシン124-2を介して、1つまたは複数の他のアプリケーション124-1との間で情報を送受信してもよい。
【0019】
仮想マシン124-2は、物理マシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装形態を含む。仮想マシン124-2は、仮想マシン124-2による用途および任意の実マシンとの対応関係の程度に応じて、システム仮想マシンまたは処理仮想マシンのいずれかであり得る。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供し得る。処理仮想マシンは、単一のプログラムを実行し、単一の処理をサポートし得る。いくつかの実装形態では、仮想マシン124-2は、ユーザ(例えば、ユーザデバイス110)の代わりに実行し、さらにデータ管理、同期、または長期データ転送などのクラウドコンピューティング環境122の基盤を管理してもよい。
【0020】
仮想化ストレージ124-3は、コンピューティングリソース124のストレージシステムまたはデバイス内で仮想化技法を用いる1つもしくは複数のストレージシステムおよび/または1つもしくは複数のデバイスを含む。いくつかの実装形態では、ストレージシステムを背景に、仮想化のタイプは、ブロックの仮想化およびファイルの仮想化を含んでもよい。ブロックの仮想化は、当該ストレージシステムが物理ストレージであるか異種構造であるかに関係なくアクセスされ得るように、物理ストレージから論理ストレージを抽出する(または分離する)ことを指し得る。これらを分離することにより、ストレージシステムの管理者がエンドユーザのストレージを管理する方法に柔軟性がもたらされ得る。ファイルの仮想化は、ファイルレベルでアクセスされるデータとファイルが物理的に記憶されている場所との間の依存関係を排除し得る。これにより、ストレージ使用の最適化、サーバ統合、および/またはスムーズなファイル移行の実行が可能になり得る。
【0021】
ハイパーバイザ124-4は、複数のオペレーティングシステム(例えば、「ゲスト・オペレーティング・システム」)をコンピューティングリソース124などのホストコンピュータ上で同時に実行することを可能にするハードウェア仮想化技法を提供し得る。ハイパーバイザ124-4は、仮想オペレーティングプラットフォームをゲスト・オペレーティング・システムに提示し、さらにゲスト・オペレーティング・システムの実行を管理し得る。様々なオペレーティングシステムの複数のインスタンスが、仮想化されたハードウェアリソースを共有し得る。
【0022】
ネットワーク130は、1つまたは複数の有線および/または無線のネットワークを含む。例えば、ネットワーク130は、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングターム・エボリューション(LTE)・ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公的地域モバイルネットワーク(PLMN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アド・ホック・ネットワーク、イントラネット、インターネット、光ファイバベースのネットワークなど、および/またはそれらもしくは他のタイプのネットワークの組合せを含んでもよい。
【0023】
図1に示されたデバイスおよびネットワークの数および配置は、一例として提供されている。実際には、図1に示すものに比べて、さらなるデバイスおよび/もしくはネットワーク、少ないデバイスおよび/もしくはネットワーク、異なるデバイスおよび/もしくはネットワーク、または異なる配置のデバイスおよび/もしくはネットワークがあってもよい。さらに、図1に示された2つ以上のデバイスは、単一のデバイス内に実装されてもよく、または図1に示された単一のデバイスは、複数の分散型デバイスとして実装されてもよい。追加または代替として、環境100のデバイスのセット(例えば、1つまたは複数のデバイス)は、環境100のデバイスの別のセットによって実施されるものとして記載された1つまたは複数の機能を実施してもよい。
【0024】
図2は、図1の1つまたは複数のデバイスの例示的な構成要素のブロック図である。
【0025】
デバイス200は、ユーザデバイス110および/またはプラットフォーム120に対応し得る。図2に示されたように、デバイス200は、バス210と、プロセッサ220と、メモリ230と、記憶構成要素240と、入力構成要素250と、出力構成要素260と、通信インターフェース270と、を含み得る。
【0026】
バス210は、デバイス200の構成要素間の通信を可能にする構成要素を含む。プロセッサ220は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組合せに実装される。プロセッサ220は、中央処理装置(CPU)、グラフィック処理装置(GPU)、加速処理装置(accelerated processing unit:APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、または別のタイプの処理構成要素である。いくつかの実装形態では、プロセッサ220は、機能を実施するようにプログラムされ得る1つまたは複数のプロセッサを含む。メモリ230は、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、ならびに/またはプロセッサ220が使用するための情報および/もしくは命令を記憶する別のタイプの動的もしくは静的なストレージデバイス(例えば、フラッシュメモリ、磁気メモリ、および/もしくは光メモリ)を含む。
【0027】
記憶構成要素240は、デバイス200の動作および使用に関連する情報および/またはソフトウェアを記憶する。例えば、記憶構成要素240は、対応するドライブとともに、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、および/もしくはソリッド・ステート・ディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、ならびに/または別のタイプの非一時的コンピュータ可読媒体を含んでもよい。
【0028】
入力構成要素250は、デバイス200がユーザ入力(例えば、タッチ・スクリーン・ディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)などを介して情報を受信することを可能にする構成要素を含む。追加または代替として、入力構成要素250は、情報を検知するためのセンサ(例えば、全地球測位システム(GPS)構成要素、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含んでもよい。出力構成要素260は、デバイス200(例えば、ディスプレイ、スピーカ、および/または1つもしくは複数の発光ダイオード(LED))からの出力情報を提供する構成要素を含む。
【0029】
通信インターフェース270は、デバイス200が有線接続、無線接続、または有線接続と無線接続の組合せなどを介して他のデバイスと通信することを可能にする、トランシーバのような構成要素(例えば、トランシーバならびに/または別個の受信器および送信器)を含む。通信インターフェース270は、デバイス200が別のデバイスから情報を受信し、かつ/または別のデバイスに情報を提供できるようにしてもよい。例えば、通信インターフェース270は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF)インターフェース、ユニバーサル・シリアル・バス(USB)・インターフェース、Wi-Fiインターフェース、セルラー・ネットワーク・インターフェースなどを含んでもよい。
【0030】
デバイス200は、本明細書に記載された1つまたは複数のプロセスを実施し得る。デバイス200は、プロセッサ220がメモリ230および/または記憶構成要素240などの非一時的コンピュータ可読媒体によって記憶されたソフトウェア命令を実行したことに応答して、これらのプロセスを実施し得る。コンピュータ可読媒体は、本明細書では非一時的メモリデバイスと定義されている。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間、または複数の物理ストレージデバイスにわたって広がるメモリ空間を含む。
【0031】
ソフトウェア命令は、別のコンピュータ可読媒体から、または通信インターフェース270を介して別のデバイスから、メモリ230および/または記憶構成要素240に読み込まれてもよい。メモリ230および/または記憶構成要素240に記憶されたソフトウェア命令は、実行されると、本明細書に記載された1つまたは複数のプロセスをプロセッサ220に実施させ得る。追加または代替として、本明細書に記載された1つまたは複数のプロセスを実施するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤード回路が使用されてもよい。このように、本明細書に記載された実装形態は、ハードウェア回路とソフトウェアのいかなる特定の組合せにも限定されない。
【0032】
図2に示された構成要素の数および配置は、一例として提供されている。実際には、デバイス200は、図2に示された構成要素に対して、追加の構成要素、少ない構成要素、異なる構成要素、または異なる配置の構成要素を備えてもよい。追加または代替として、デバイス200の構成要素のセット(例えば、1つまたは複数の構成要素)は、デバイス200の構成要素の別のセットによって実施されるものとして記載された1つまたは複数の機能を実施してもよい。
【0033】
次に、メタ学習を用いたニューラル・ネットワーク・ベースのループフィルタリングに基づくビデオエンハンスメントの方法および装置について、詳細に説明する。
【0034】
本開示は、メタNNLFフレームワークにおいて1つまたは複数の代替品質制御パラメータを見つけることによる、QANNLFの方法を提案する。実施形態によれば、メタ学習メカニズムは、現在のデコードされたビデオおよびQFパラメータに基づいて、基礎となるNNLFモデルの品質適応型重みパラメータを適応的に計算するために使用され得、単一のメタNNLFモデルインスタンスが代替品質制御パラメータで、デコードされたビデオをエンハンスすることを可能にする。
【0035】
本開示の実施形態は、訓練プロセスで見られる設定、および実際の用途で見られない設定を含む、任意の滑らかなQF設定で、デコードされたビデオよりも効果的なアーチファクト低減を達成するために、デコードされたビデオをエンハンスすることに関する。
【0036】
一般に、ビデオ圧縮フレームワークは、以下のように説明され得る。各入力画像xtがサイズ(h、w、c)であり得る複数の画像入力x1、...xTを含む入力ビデオが与えられた場合、h、w、cがそれぞれ、高さ、幅、およびチャネル数である、CTUなどの画像フレーム内のフレーム全体またはマイクロブロックであり得る。各画像フレームは、カラー画像(c=3)、グレースケール画像(c=1)、rgb+深度画像(c=4)などであり得る。ビデオデータをエンコードするために、第1の動き推定ステップでは、(1つまたは複数の)入力画像は、空間ブロックにさらに分割され得、各ブロックは、小さいブロックに反復的に分割され、各ブロックについて、現在の入力xiと前の再構成された入力の集合
【数1】
との間の動きベクトルmtの集合が計算される。下付き文字tは、現在のt番目のエンコーディング・サイクルを示し、これは画像入力のタイムスタンプと一致しない場合があり得る。さらに、
【数2】
の中の入力間の時間差が任意に変化し得るように、
【数3】
は、複数の前のエンコーディング・サイクルからの再構成された入力を含み得る。次に、第2の動き補償ステップにおいて、動きベクトルmtに基づいて、前の
【数4】
の対応する画素を複製することによって、予測入力
【数5】
が取得され得る。次いで、元の入力xtと予測入力
【数6】
との間の残差rtが取得され得る。次に、残差rtが量子化され得る量子化ステップが行われ得る。実施形態によれば、rtのDCT係数が量子化されるDCTなどの変換は、残差rtを量子化する前に行われる。量子化の結果は、量子化された
【数7】
であり得る。次に、動きベクトルmt、および量子化された
【数8】
の両方が、エントロピー・コーディングを用いてビットストリームへとエンコードされ、デコーダに送信される。デコーダ側では、量子化された
【数9】
が逆量子化されて、残差rtを取得し、これは次に、予測入力
【数10】
に加算して戻され、再構成された入力
【数11】
を取得し得る。限定なしに、逆量子化された係数でのIDCTのような逆変換といった、任意の方法またはプロセスが逆量子化に用いられてもよい。さらに、限定なしに、任意のビデオ圧縮方法またはコーディング規格が用いられてもよい。
【0037】
これまでの手法では、再構成された入力
【数12】
の視覚的品質を向上するために、デブロッキングフィルタ(DF)、サンプル適応型オフセット(SAO)、適応ループフィルタ(ALF)、クロスコンポーネント適応ループフィルタ(CCALF)などを含む1つまたは複数のエンハンスメントモジュールが、再構成された
【数13】
処理するために、選択され得る。
【0038】
本開示の実施形態は、再構成された入力
【数14】
の視覚的品質をさらに改善することを目的とする。本開示の実施形態によれば、ビデオ・コーディング・システムの再構成された入力
【数15】
の視覚的品質を向上させるために、QANNLFメカニズムが提供され得る。目標は、
【数16】
の中のノイズ、ぼやけ、ブロック効果などのアーチファクトを低減し、高品質の
【数17】
をもたらすことである。より具体的には、メタNNLF法は、複数の任意の滑らかなQF設定に対応し得る、ただ1つのモデルインスタンスで
【数18】
を計算するために使用され得る。
【0039】
図3Aおよび図3Bは、実施形態による、メタ学習を用いたビデオエンハンスメントのためのメタNNLFアーキテクチャ300Aおよび300Bのブロック図である。
【0040】
図3Aに示すように、メタNNLFアーキテクチャ300Aは、共有NNLF NN 305、適応NNLF NN 310を含み得る。
【0041】
図3Bに示すように、メタNNLFアーキテクチャ300Bは、共有NNLF層325および330と、適応NNLF層335および340と、を含み得る。
【0042】
本開示では、基礎となるNNLFモデルのモデルパラメータは、2つの部分θs、θaに分離され、共有NNLFパラメータ(SNNLFP)および適応NNLFパラメータ(ANNLFP)をそれぞれ示し得る。図3Aおよび図3Bは、NNLFネットワークアーキテクチャの2つの実施形態を示す。
【0043】
図3Aにおいて、SNNLFPθsを有する共有NNLF NN、およびANNLFPθaを有する適応NNLF NNは、個々のNNモジュールに分離され、これらの個々のモジュールは、ネットワークフォワード計算のために順次互いに接続され得る。ここで、図3Aは、これらの個々のNNモジュールを接続する順番を示す。他の順番が、ここで使用されてもよい。
【0044】
図3Bでは、パラメータは、NN層内で分割され得る。θs(i)、θa(i)はそれぞれ、NNLFモデルの第i層のSNNLFPおよびANNLFPを示すものとする。ネットワークは、SNNLFPおよびANNLFPのそれぞれについて、対応する入力に基づいて、推論出力を計算し、これらの出力は、(例えば、加算、連結、乗算などによって)結合され、次いで、次の層に送信し得る。
【0045】
図3Aの実施形態は、共有NNLF NN 325θs(i)内の層が空であり、適応NNLF NN 340θa(i)内の層が空である、図3Bの一つの場合として見られ得る。したがって、他の実施形態では、図3Aおよび図3Bのネットワーク構造は、組み合わせられてもよい。
【0046】
図4は、実施形態による、テスト段階中の、メタ学習を用いたビデオエンハンスメントのためのメタNNLFの装置400のブロック図である。
【0047】
4は、メタNNLFのテスト段階または推論段階の全体的なワークフローを示す。
【0048】
サイズ(h、w、c、d)の再構成された入力
【数19】
がメタNNLFシステムの入力を示し、ここで、h、w、c、dはそれぞれ、高さ、幅、チャネル数、およびフレーム数であるとする。したがって、
【数20】
のd-1(d-1≧0)個の隣接フレームが、
【数21】
と共に入力
【数22】
として用いられ、エンハンスされた
【数23】
の生成に役立ちうる。これらの複数の隣接するフレームは通常、前のフレームの集合
【数24】
、ここで、各
【数25】
は、時間lにおける、デコードされたフレーム
【数26】
、またはエンハンスされたフレーム
【数27】
であり得る。Λtは、QF設定を示し、各λlは、対応するQF情報を提供するために各
【数28】
に関連付けられるとし、λtは、現在のデコードされたフレーム
【数29】
のQF設定であり得る。QF設定は、QP値、CUイントラ予測モード、CTUパーティション、デブロッキングフィルタ境界強度、CU動きベクトルなどの様々なタイプの品質制御ファクターを含みうる。
【0049】
θs(i)およびθa(i)はそれぞれ、メタNNLFモデル400の第i層のSNNLFPおよびANNLFPを示すとする。完全に共有され得る層についてはθa(i)が空であるため、これは、一般的な表記である。完全に適応的であり得る層の場合、θs(i)は、空であり得る。言い換えれば、この表記は、図3Aおよび図3Bの両方の実施形態に用いられ得る。
【0050】
第i層についてのメタNNLFモデル400の推論ワークフローの例示的な実施形態が提供される。
【0051】
再構成された入力
【数30】
が与えられ、QF設定Λtが与えられた場合、メタNNLF法は、エンハンスされた
【数31】
を計算し得る。f(i)およびf(i+1)は、メタNNLFモデル400の第i層の入力および出力テンソルを示すものとする。現在の入力f(i)およびθs(i)に基づいて、SNNLFP推論部412は、第i層のSEPを用いたフォワード計算によってモデル化され得る共有推論関数Gi(f(i)、θs(i))に基づいて、共有特徴g(i)を計算し得る。f(i)、g(i)、θa(i)およびΛtに基づいて、ANNLFP予測部414は、第i層についての推定ANNLFP
【数32】
を計算し得る。ANNLFP予測部414は、例えば、元のANNLFPθa(i)、現在の入力、およびQF設定Λtに基づいて、更新
【数33】
を予測し得る、例えば、畳み込み層および全結合層を含むNNであり得る。いくつかの実施形態では、現在の入力f(i)は、ANNLFP予測部414への入力として使用されてもよい。いくつかの他の実施形態では、現在の入力f(i)の代わりに、共有特徴g(i)が使用されてもよい。他の実施形態では、SNNLFP損失が、共有特徴g(i)に基づいて計算され、損失の勾配が、ANNLFP予測部414への入力として使用されてもよい。推定ANNLFP
【数34】
および共有特徴g(i)に基づいて、ANNLFP推論部416は、第i層において推定AEPを用いたフォワード計算によってモデル化され得るANNLFP推論関数
【数35】
基づいて、出力テンソルf(i+1)を計算し得る。
【0052】
なお、図4で説明されたワークフローは、例示的な表記である。θa(i)が空であり完全に共有され得る層について、ANNLFP関連モジュール、およびf(i+1)=g(i)は、省略され得る。θs(i)が空であり完全に適応可能であり得る層について、SNNLFP関連モジュール、およびg(i)=f(i)は、省略され得る。
【0053】
メタNNLFモデル400に対して合計N個の層があると仮定すると、最後の層の出力は、エンハンスされた
【数36】
であり得る。
【0054】
メタNNLFフレームワークは、柔軟な品質制御のために任意の滑らかなQF設定を可能にすることに留意されたい。言い換えれば、上述の処理ワークフローは、訓練段階に含まれても含まれなくてもよい任意の滑らかなQF設定で、デコードされたフレームの品質を向上し得るであろう。
【0055】
ANNLFP予測部414が、入力f(i)を考慮して/考慮せずに、QF設定の予め定義されたセットに対して予測のみを実施するときの実施形態では、メタNNLFモデルは、複数の予め定義されたQF設定のエンハンスメントに対応するために、1つのNNLFモデルインスタンスを用いたマルチQF NNLFモデルに縮小し得る。他の縮小された特別なケースは、ここで確実にカバーされ得る。
【0056】
図5は、実施形態による、訓練段階中の、メタ学習を用いたビデオエンハンスメントのためのメタNNLFの訓練装置500のブロック図である。
【0057】
図5に示すように、訓練装置500は、タスクサンプラ510と、内側ループ損失生成器520と、内側ループ更新部530と、メタ損失生成器540と、メタ更新部550と、重み更新部560と、を含み得る。
【0058】
訓練プロセスは、メタNNLFモデル400についてのSNNLFPθs(i)およびANNLFPθa(i)、i=1、・・・、N、ならびにANNLFP予測NN(Φとして示されるモデルパラメータ)を学習することを目的とする。
【0059】
実施形態では、訓練目的のために、モデル非依存型メタ学習(MAML)メカニズムが使用され得る。図5は、メタ訓練フレームワークの例示的なワークフローを与えている。他のメタ訓練アルゴリズムが、ここで使用されてもよい。
【0060】
訓練の場合、訓練データ
【数37】
のセット、i=1、・・・、Kがあってもよく、各
【数38】
は、訓練QF設定に対応し、合計でK個の訓練QF設定(したがって、K個の訓練データセット)がある。訓練のために、qqp個の異なる訓練用QP値、qCTU個の異なる訓練用CTUパーティションなどがあってもよく、有限数のK=qqp×qCTU×・・・の異なる訓練用QF設定があってもよい。したがって、各訓練データセット
【数39】
は、これらのQF設定の各々に関連付けられ得る。さらに、検証データ
【数40】
のセットがあってもよく、各
【数41】
は、検証QF設定に対応し、合計でP個の検証QF設定がある。検証QF設定は、訓練セットとは異なる値を含み得る。検証QF設定はまた、訓練セットからのものと同じ値を有し得る。
【0061】
全体的な訓練目標は、QF設定のすべての(訓練および将来の見たことのないものを含む)値に広く適用され得るように、メタNNLFモデルを学習することであり得る。QF設定を有するNNLFタスクがタスク分布P(Λ)から引き出され得るという仮定である。上述の訓練目標を達成するために、メタNNLFモデルを学習するための損失は、すべての訓練QF設定にわたり、すべての訓練データセットにわたり最小化され得る。
【0062】
MAML訓練プロセスは、勾配ベースのパラメータ更新のために、外側ループおよび内側ループを有し得る。外側ループ反復ごとに、タスクサンプラ510は、まずK’個の訓練QF設定(K’≦K)のセットをサンプリングする。次いで、サンプリングされた訓練QF設定Λiごとに、タスクサンプラ510は、訓練データ
【数42】
のセットから、訓練データ
【数43】
のセットをサンプリングする。また、タスクサンプラ510は、P’(P’≦P)個の検証QF設定のセットをサンプリングし、サンプリングされた検証QF設定Λjごとに、検証データ
【数44】
のセットから、検証データ
【数45】
のセットをサンプリングする。次いで、サンプリングされたデータ
【数46】
ごとに、メタNNLFフォワード計算が、現在のパラメータΘs、Θa、およびΦに基づいて、実行され、次いで、内側ループ損失生成器520は、累積内側ループ損失
【数47】
を計算し得る。
【数48】
【0063】
損失関数
【数49】
は、グランドトゥルース画像
【数50】
とエンハンスされた出力
【数51】
との間の歪み損失
【数52】
、および何らかの他の正則化損失(例えば、異なるQFファクターを目標とする中間ネットワーク出力を区別する補助損失)を含み得る。任意の歪みメトリックが用いられ、例えば、MSE、MAE、SSIMなどが、
【数53】
として使用され得る。
【0064】
次に、内側ループ損失
【数54】
に基づき、Λiの品質制御パラメータ/ハイパーパラメータとして、ステップサイズαsiおよびαaiが与えられた場合、内側ループ更新部530は、以下の更新されたタスク固有パラメータ更新を計算し得る。
【数55】
【数56】
【0065】
累積内側ループ損失
【数57】
の勾配
【数58】
および勾配
【数59】
が、適応パラメータ
【数60】
および
【数61】
の更新バージョンをそれぞれ計算するために使用され得る。
【0066】
次に、メタ損失生成器540は、すべてのサンプリングされた検証品質制御パラメータにわたって外側メタ目標または損失を計算し得る。
【数62】
【数63】
ここで、
【数64】
は、QF設定Λjで、パラメータ
【数65】

【数66】
、Φを用いたメタNNLFフォワード計算に基づいて、デコードされたフレーム
【数67】
について計算された損失であり得る。Λjのハイパーパラメータとしてステップサイズβajおよびβsjを与えられた場合、メタ更新部550は、モデルパラメータを以下のように更新する。
【数68】
【数69】
【0067】
いくつかの実施形態では、Θsは、内側ループ内で更新されない場合があり、すなわち、αsi=0、
【数70】
である。更新されないことは、訓練プロセスの安定に役立つ。
【0068】
ANNLFP予測NNのパラメータΦに関して、重み更新部560は、通常の訓練方法で、それらを更新する。すなわち、訓練および検証データ
【数71】

【数72】
に従って、現在のθs、θa、Φに基づいて、すべてのサンプル
【数73】
の損失
【数74】
、およびすべてのサンプル
【数75】

【数76】
を計算し得る。これらすべての損失の勾配は、通常のバックプロパゲーションによって、Φにわたってパラメータ更新を実施するために、累積(例えば、合計)され得る。
【0069】
本開示の実施形態は、これらのモデルパラメータを更新するための上述の最適化アルゴリズム、または損失関数に限定されない。当技術分野で知られているこれらのモデルパラメータを更新するための任意の最適化アルゴリズムまたは損失関数が使用され得る。
【0070】
メタNNLFモデルのANNLFP予測部414が、予め定義された訓練QF設定のセットにわたってのみ予測を行うとき、検証QF設定は、訓練QF設定と同じであり得る。同じMAML訓練手順は、上述の縮小メタNNLFモデル(すなわち、複数の予め定義されたビットレートの圧縮効果に対応するために1つのモデルインスタンスを用いたマルチQF設定NNLFモデル)を訓練するために、使用され得る。
【0071】
本開示の実施形態は、メタ学習を用いることによって、複数のQF設定に対応するために、1つのQANNLFモデルインスタンスのみを用いることを可能にする。さらに、本開示の実施形態は、異なるタイプの入力(例えば、フレームレベルまたはブロックレベル、単一画像または複数画像、単一チャネルまたは複数チャネル)、および異なるタイプのQFパラメータ(例えば、異なる入力チャネル、CTUパーティション、デブロッキングフィルタ境界強度などのQP値の任意の組合せ)に対応するために、メタNNLFモデルの1つのインスタンスのみを用いることを可能にする。
【0072】
図6は、実施形態による、メタ学習を用いたニューラル・ネットワーク・ベースのループフィルタリングに基づく、ビデオエンハンスメントの方法600のフローチャートである。
【0073】
6に示すように、方法600は、動作610において、再構成されたビデオデータに関連付けられた1つまたは複数の品質ファクターを受けるビデオデータを受信することを含み得る。
【0074】
いくつかの実施形態では、ビデオデータ(いくつかの実施形態では再構成されたビデオデータとも呼ばれる)は、複数の再構成された入力フレームを含み、さらに本明細書に記載の方法は、複数の再構成された入力フレームの現在のフレームに適用され得る。いくつかの実施形態では、再構成された入力フレームは、さらに分解され、メタNNLFモデルへの入力として使用されてもよい。
【0075】
いくつかの実施形態では、再構成されたビデオデータに関連付けられた1つまたは複数の品質ファクターは、コーディング・ツリー・ユニット・パーティション、量子化パラメータ、デブロッキングフィルタ境界強度、コーディングユニット動きベクトル、およびコーディングユニット予測モードのうちの少なくとも1つを含んでもよい。
【0076】
いくつかの実施形態では、再構成されたビデオデータは、デコードされた量子化ビデオデータおよび動きベクトルデータを含むビットストリームから生成されてもよい。一例として、再構成されたビデオデータを生成することは、量子化ビデオデータおよび動きベクトルデータを含むビデオデータのストリームを受信することを含んでもよい。次に、再構成されたビデオデータを生成することは、回復された残差を取得するために、逆変換を用いて、量子化データのストリームを逆量子化することと、回復された残差および動きベクトルデータに基づいて再構成されたビデオデータを生成することと、を含み得る。
【0077】
動作615において、1つまたは複数の代替品質ファクターは、1つまたは複数の元の品質ファクターを用いて、複数の反復によって生成され得、1つまたは複数の代替品質ファクターは、1つまたは複数の元の品質ファクターの変更されたバージョンである。
【0078】
本開示の実施形態によれば、複数の反復の最初の反復において、1つまたは複数の代替品質ファクターは、目標損失の計算の前に、1つまたは複数の元の品質制御ファクターとして初期化され得る。後続の反復ごとに、目標損失が、エンハンスされたビデオデータおよび入力ビデオデータに基づいて、計算され得る。目標損失の勾配も計算され、モデル/システムを介してバックプロパゲーションされ得る。目標損失の勾配に基づいて、1つまたは複数の代替品質ファクターが、更新され得る。最終的な反復または最後の反復では、1つまたは複数の代替品質ファクターは、1つまたは複数の最終的な代替品質制御ファクターに更新され得る。
【0079】
本開示の実施形態によれば、複数の反復における反復回数は、所定の最大反復回数に基づき得る。本開示のいくつかの実施形態によれば、複数の反復における反復回数は、受信されたビデオデータおよびニューラル・ネットワーク・ベースのループフィルタに適応的に基づいてもよい。本開示のいくつかの実施形態によれば、複数の反復における反復回数は、所定の閾値未満である1つまたは複数の代替品質ファクターの更新に基づく。
【0080】
動作620において、ニューラル・ネットワーク・ベースのループ・フィルタ・パラメータおよび複数の層を含むニューラル・ネットワーク・ベースのループフィルタが、決定され得る。実施形態では、ニューラル・ネットワーク・ベースのループ・フィルタ・パラメータは、共有パラメータおよび適応パラメータを含み得る。
【0081】
動作625において、エンハンスされたビデオデータを生成することは、ニューラル・ネットワーク・ベースのループフィルタを用いて、1つまたは複数の代替品質ファクターおよび入力ビデオデータに基づいて、生成され得る。いくつかの実施形態によれば、エンハンスされたビデオデータを生成することは、第1の共有パラメータを有する第1の共有ニューラル・ネットワーク・ループ・フィルタを用いて、前の層からの出力に基づいて、共有特徴を生成することを含んでもよい。次に、予測ニューラルネットワークを用いて、前の層からの出力、共有特徴、第1の適応ニューラル・ネットワーク・ループ・フィルタからの第1の適応パラメータ、および1つまたは複数の代替品質ファクターに基づいて、推定適応パラメータが、計算され得る。現在の層の出力は、共有特徴および推定適応パラメータに基づいて生成され得る。ニューラル・ネットワーク・ベースのループフィルタの最後の層の出力は、エンハンスされたビデオデータであり得る。
【0082】
いくつかの実施形態によれば、ニューラル・ネットワーク・ベースのループフィルタは、以下のように訓練されてもよい。1つまたは複数の品質ファクターに対応する訓練データのための内側ループ損失は、1つまたは複数の品質ファクター、第1の共有パラメータ、および第1の適応パラメータに基づいて、生成され得る。そして、生成された内側ループ損失の勾配に基づいて、第1の共有パラメータおよび第1の適応パラメータは、更新され得る。1つまたは複数の品質ファクター、第1の更新された第1の共有パラメータ、および第1の更新された第1の適応パラメータに基づいて、1つまたは複数の品質ファクターに対応する検証データのメタ損失が、生成され得る。第1の更新された第1の共有パラメータおよび第1の更新された第1の適応パラメータは、生成されたメタ損失の勾配に基づいて、再び更新され得る。
【0083】
いくつかの実施形態によれば、予測ニューラルネットワークを訓練することは、1つまたは複数の品質ファクターに対応するデータを訓練するための第1の損失を生成することと、1つまたは複数の品質ファクター、第1の共有パラメータ、第1の適応パラメータ、および予測ニューラルネットワークの予測パラメータに基づいて、1つまたは複数の品質ファクターに対応する検証データのための第2の損失を生成することと、次いで、生成された第1の損失および生成された第2の損失の勾配に基づいて、予測パラメータを更新することと、を含んでもよい。
【0084】
本開示の実施形態によれば、ビデオデータに関連付けられた1つまたは複数の品質ファクターは、コーディング・ツリー・ユニット・パーティション、量子化パラメータ、デブロッキングフィルタ境界強度、コーディングユニット動きベクトル、およびコーディングユニット予測モードのうちの少なくとも1つを含み得る。いくつかの実施形態では、ポストエンハンスメントまたはプレエンハンスメント処理が実施されてもよく、さらにデブロッキングフィルタ、適応ループフィルタ、サンプル適応オフセット、およびクロスコンポーネント適応ループフィルタのうちの少なくとも1つを、エンハンスされたビデオデータに適用することを含んでもよい。
【0085】
次に、メタ学習を用いたニューラル・ネットワーク・ベースのループフィルタリングに基づく代替QF設定を用いたビデオエンハンスメントの方法および装置が、詳細に説明される。
【0086】
本開示の一実施形態によれば、入力または再構成された入力
【数77】
が与えられ、代替QF設定Λ’tが与えられた場合、提案された代替メタNNLF方法は、QF設定Λtの代わりに代替QF設定Λ’tを用いることによって、メタNNLFモデルについてのSNNLFPθs(i)およびANNLFPθa(i)、i=1、・・・、N、ならびにANNLFP予測NN(モデルパラメータΦを有する)に基づいて、本明細書に記載される処理ワークフローを用いて、エンハンスされた
【数78】
を計算してもよい。
【0087】
代替QF設定Λ’tは、例示的な実施形態による反復オンライン学習によって取得され得る。代替QF設定Λ’tは、元のQF設定Λtとして初期化され得る。各オンライン学習反復では、計算されたエンハンスされた
【数79】
、および元の入力
【数80】
に基づいて、目標損失
【数81】
が、計算され得る。目標損失は、歪み損失
【数82】
、および何らかの他の正則化損失(例えば、エンハンスされた
【数83】
の自然な視覚的品質を保証するための補助損失)を含み得る。例えば、MSE、MAE、SSIMなどの任意の歪み測定メトリックは、
【数84】
として使用されてもよい。目標損失
【数85】
の勾配は、代替QF設定Λ’tを更新するために、計算され、バックプロパゲーションされ得る。このプロセスは、反復ごとに繰り返され得る。J回の反復後(例えば、最大反復回数に達したとき、または勾配更新が停止基準を満たすとき)。システムにおける目標損失の勾配および反復回数に対する更新は、事前に決定されてもよく、または入力データに基づいて適応的に変化してもよい。
【0088】
J回の反復の完了後、システムは、入力
【数86】
および最終的な代替QF設定Λ’tに基づいて、計算された最終的な代替QF設定Λ’tおよび最終的なエンハンスされた
【数87】
を出力し得る。最終的な代替QF設定Λ’tは、デコーダ側に送信され得る。いくつかの実施形態では、最終的な代替QF設定Λ’tは、量子化およびエントロピー・エンコーディングによってさらに圧縮されてもよい。
【0089】
代替メタNNLF方法のデコーダは、本明細書、例えば図4に記載されたデコーディングフレームワークと同様のプロセスを実施し、違いの1つは、元のQF設定Λtの代わりに、代替QF設定Λ’tが使用され得ることである。いくつかの実施形態では、最終的な代替QF設定Λ’tは、量子化およびエントロピー・エンコーディングによってさらに圧縮され、デコーダに送信されてもよい。デコーダは、エントロピー・デコーディングおよび逆量子化を介してビットストリームから最終的な代替QF設定Λ’tを回復し得る。
【0090】
図7は、実施形態による、テスト段階中の、メタ学習を用いたビデオエンハンスメントのためのメタNNLFの装置700のブロック図である。
【0091】
図7は、メタNNLFのエンコード段階の全体的なワークフローを示す。
【0092】
本開示の一実施形態によれば、
【数88】
およびΛ’tはそれぞれ、入力データ(ビデオデータ)および1つまたは複数の元のQF設定とする。装置700は、QF設定Λtの代わりに、代替QF設定Λ’tを用いることによって、メタNNLFモデルについてのSNNLFPθs(i)およびANNLFPθa(i)、i=1、・・・、N、ならびにANNLFP予測NN(モデルパラメータΦを有する)に基づいて、本明細書、例えば図4に記載された処理ワークフローを用いて、エンハンスされた
【数89】
を計算し得る。
【0093】
代替QF設定Λ’tは、例示的な実施形態による反復オンライン学習によって取得され得る。代替QF設定Λ’tは、元のQF設定Λtとして初期化され得る。各オンライン学習反復では、計算されたエンハンスされた
【数90】
、および元の入力
【数91】
に基づいて、目標損失
【数92】
が、目標損失生成器720によって計算され得る。目標損失は、歪み損失
【数93】
、および何らかの他の正則化損失(例えば、エンハンスされた
【数94】
の自然な視覚的品質を保証するための補助損失)を含み得る。例えば、MSE、MAE、SSIMなどの任意の歪み測定メトリックは、
【数95】
として使用されてもよい。目標損失
【数96】
の勾配は、代替QF設定Λ’tを更新するために、バックプロパゲーションモジュール725によって計算され、バックプロパゲーションされ得る。このプロセスは、反復ごとに繰り返され得る。J回の反復後(例えば、最大反復回数に達したとき、または勾配更新が停止基準を満たすとき)。システムにおける目標損失の勾配および反復回数に対する更新は、事前に決定されてもよく、または入力データに基づいて適応的に変化してもよい。
【0094】
J回の反復の完了後、システムは、入力
【数97】
および最終的な代替QF設定Λ’tに基づいて計算された、最終的な代替QF設定Λ’tよび最終的なエンハンスされた
【数98】
を出力し得る。最終的な代替QF設定Λ’tは、デコーダ側に送信され得る。いくつかの実施形態では、最終的な代替QF設定Λ’tは、量子化およびエントロピー・エンコーディングによってさらに圧縮されてもよい。
【0095】
図8は、実施形態による、テスト段階中の、メタ学習を用いたビデオエンハンスメントのためのメタNNLFの装置800のブロック図である。
【0096】
図8は、メタNNLFのデコード段階の全体的なワークフローを示す。
【0097】
代替メタNNLF方法のデコードプロセス800は、本明細書、例えば図4に記載されたデコーディングフレームワークと同様であってもよく、違いの1つは、元のQF設定Λ’tの代わりに、代替QF設定Λ’tが使用され得ることである。いくつかの実施形態では、最終的な代替QF設定Λ’tは、量子化およびエントロピー・エンコーディングによってさらに圧縮され、デコーダに送信されてもよい。デコーダは、エントロピーデコードおよび逆量子化を介してビットストリームから最終的な代替QF設定Λ’tを回復し得る。
【0098】
提案された方法は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、方法(または実施形態)、エンコーダ、およびデコーダの各々は、処理回路(例えば、1つもしくは複数のプロセッサまたは1つもしくは複数の集積回路)によって実装されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0099】
いくつかの実装形態では、図6の1つまたは複数のプロセスブロックは、プラットフォーム120によって実施されてもよい。いくつかの実装形態では、図6の1つまたは複数のプロセスブロックは、ユーザデバイス110などのプラットフォーム120とは別個である、またはプラットフォーム120を含む別のデバイスもしくはデバイスのグループによって実施されてもよい。
【0100】
前述の開示は例示および説明を提供しているが、網羅的なものではなく、開示されたまさにその形態に実装形態を限定するものではない。上記の開示内容に照らして修正形態および変形形態が実現可能であり、または実装形態の実施により取得されてもよい。
【0101】
本明細書で使用される場合、構成要素という用語は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組合せとして広く解釈されることを意図している。
【0102】
本明細書に記載のシステムおよび/または方法は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組合せの異なる形態で実装されてもよいことは明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の専用の制御ハードウェアまたはソフトウェアコードは、実装形態を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェアおよびハードウェアは、本明細書の記載に基づいてシステムおよび/または方法を実装するように設計され得ることが理解される。
【0103】
特徴の組合せが特許請求の範囲に記載され、および/または本明細書に開示されているが、これらの組合せは、可能な実装形態の開示を限定することを意図されていない。実際には、これらの特徴の多くは、特許請求の範囲に具体的に列挙されていない、および/または本明細書に開示されていない方法で組み合わされてもよい。以下に列挙されている各従属請求項は1つの請求項のみに直接従属し得るが、可能な実装形態の開示は、請求項セット内の他のすべての請求項との組合せにおいて各従属請求項を含み得る。
【0104】
本明細書で使用される要素、行為、または指示は、明示的にそのように記載されていない限り、重要または必須であると解釈されなくてもよい。また、本明細書で使用される冠詞「a」および「an」は、1つまたは複数の項目を含むものであり、「1つまたは複数」と同じ意味で使用されてもよい。さらに、本明細書で使用される「セット」という用語は、1つまたは複数の項目(例えば、関連項目、非関連項目、関連項目と非関連項目の組合せなど)を含むものであり、「1つまたは複数」と同じ意味で使用されてもよい。1つの項目のみが対象とされる場合、「1つ」という用語または同様の言葉が使用される。また、本明細書で使用される「有する(has)」、「有する(have)」、「有する(having)」などの用語は、オープンエンド用語であることが意図される。さらに、「に基づいて」という語句は、特に明記されない限り、「に少なくとも部分的に基づいて」を意味するものである。
【符号の説明】
【0105】
100 環境
110 ユーザデバイス
120 プラットフォーム
122 クラウドコンピューティング環境
124 コンピューティングリソース
124-1 アプリケーション
124-2 1つまたは複数の仮想マシン
124-3 仮想化ストレージ
124-4 1つまたは複数のハイパーバイザ
130 ネットワーク
200 デバイス
210 バス
220 プロセッサ
230 メモリ
240 記憶構成要素
250 入力構成要素
260 出力構成要素
270 通信インターフェース
300A、300B メタNNLFアーキテクチャ
305 共有NNLF NN
310 適応NNLF NN
325、330 共有NNLF層
335、340 適応NNLF層
400 装置、メタNNLFモデル
412 SNNLFP推論部
414 ANNLFP予測部
416 ANNLFP推論部
500 訓練装置
510 タスクサンプラ
520 内側ループ損失生成器
530 内側ループ更新部
540 メタ損失生成器
550 メタ更新部
560 重み更新部
700 装置
720 目標損失生成器
725 バックプロパゲーションモジュール
800 装置、デコードプロセス
図1
図2
図3A
図3B
図4
図5
図6
図7
図8