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

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

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

特許7471733滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化
<>
  • 特許-滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化 図1
  • 特許-滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化 図2
  • 特許-滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化 図3A
  • 特許-滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化 図3B
  • 特許-滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化 図4A
  • 特許-滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化 図4B
  • 特許-滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化 図4C
  • 特許-滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化 図4D
  • 特許-滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化 図5
  • 特許-滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-12
(45)【発行日】2024-04-22
(54)【発明の名称】滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化
(51)【国際特許分類】
   H04N 19/90 20140101AFI20240415BHJP
   H04N 19/115 20140101ALI20240415BHJP
   H04N 19/147 20140101ALI20240415BHJP
   H04N 19/172 20140101ALI20240415BHJP
【FI】
H04N19/90
H04N19/115
H04N19/147
H04N19/172
【請求項の数】 10
(21)【出願番号】P 2022564456
(86)(22)【出願日】2022-03-25
(65)【公表番号】
(43)【公表日】2023-06-21
(86)【国際出願番号】 US2022021962
(87)【国際公開番号】W WO2022225646
(87)【国際公開日】2022-10-27
【審査請求日】2022-10-21
(31)【優先権主張番号】63/176,745
(32)【優先日】2021-04-19
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/702,177
(32)【優先日】2022-03-23
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】ウェイ・ジアン
(72)【発明者】
【氏名】ウェイ・ワン
(72)【発明者】
【氏名】シャオジョン・シュ
(72)【発明者】
【氏名】シャン・リュウ
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2020/100435(WO,A1)
【文献】Yoojin Choi, Mostafa El-Khamy, and Jungwon Lee,Variable Rate Deep Image CompressionWith a Conditional Autoencoder,2019 IEEE/CVF International Conference on Computer Vision (ICCV),IEEE,2019年,pp.3146-3154
【文献】Fei Yang, et al.,Variable Rate Deep Image Compression With Modulated Autoencoder,IEEE SIGNAL PROCESSING LETTERS,IEEE,2020年,VOL. 27,pp.331-335
【文献】Xiao Wang, et al.,Substitutional Neural Image Compression,arXiv,arXiv,2021年05月16日,arXiv:2105.07512v1,pp.1-8
【文献】Wei Jiang, Wei Wang, Songnan Li, and Shan Liu,Online Meta Adaptation for Variable-Rate Learned Image Compression,arXiv,arXiv,2021年11月16日,arXiv:2111.08256v1,pp.1-9
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
メタ学習による適応ニューラル画像圧縮の方法であって、前記方法は少なくとも1つのプロセッサによって実行され、前記方法は、
元の入力画像および目標品質制御パラメータを使用して代替入力画像および代替目標品質制御パラメータを生成するステップであって、
前記代替入力画像は前記元の入力画像の修正バージョンであり、前記代替目標品質制御パラメータは前記目標品質制御パラメータの修正バージョンであ
複数の反復の各々について、
前記目標品質制御パラメータを使用して全体的なレート歪み損失を計算するステップと、
逆伝播を使用して前記全体的なレート歪み損失の勾配を計算するステップと、
前記全体的なレート歪み損失の前記勾配に基づいて、前記代替入力画像および前記代替目標品質制御パラメータを更新するステップと
を含む、前記代替入力画像および前記代替目標品質制御パラメータを生成するステップと、
符号化ニューラルネットワークを使用して、前記代替入力画像および前記代替目標品質制御パラメータに基づいて前記代替入力画像を符号化して、前記代替入力画像の圧縮表現を生成するステップと
を含む、方法。
【請求項2】
前記複数の反復の回数が、第1の予め設定された閾値より小さい前記代替入力画像への更新に基づく、請求項1に記載の方法。
【請求項3】
前記複数の反復の回数が、第2の閾値より小さい前記代替目標品質制御パラメータの更新に基づく、請求項1に記載の方法。
【請求項4】
前記複数の反復から第1の反復を実行するステップが、前記代替入力画像を前記元の入力画像として初期化し、前記代替目標品質制御パラメータを前記目標品質制御パラメータとして初期化するステップを含む、請求項1に記載の方法。
【請求項5】
量子化およびエントロピー符号化を使用して、前記代替入力画像の前記圧縮表現に基づいて圧縮ビットストリームを生成するステップをさらに含む、請求項1に記載の方法。
【請求項6】
復元された圧縮ビットストリームおよび前記代替目標品質制御パラメータを受信するステップと、
前記復元された圧縮ビットストリームおよび前記受信された代替目標品質制御パラメータに基づいて、逆量子化およびエントロピー復号を使用して、復元された圧縮表現を生成するステップと、
復号ニューラルネットワークを使用して、前記受信された代替目標品質制御パラメータに基づいて、前記生成された復元された圧縮表現を復号して、出力画像を再構成するステップと
をさらに含む、請求項1に記載の方法。
【請求項7】
メタ学習による適応ニューラル画像圧縮の方法であって、前記方法は少なくとも1つのプロセッサによって実行され、前記方法は、
元の入力画像および目標品質制御パラメータを使用して代替入力画像および代替目標品質制御パラメータを生成するステップであって、前記代替入力画像は前記元の入力画像の修正バージョンであり、前記代替目標品質制御パラメータは前記目標品質制御パラメータの修正バージョンである、ステップと
符号化ニューラルネットワークを使用して、前記代替入力画像および前記代替目標品質制御パラメータに基づいて前記代替入力画像を符号化して、前記代替入力画像の圧縮表現を生成するステップであって、
第1の共有符号化パラメータを使用して前記代替入力画像に対して実行される第1の共有符号化と、第1の適応符号化パラメータを使用して前記代替入力画像に対して実行される第1の適応符号化との第1の組み合わせに基づいて第1の合成出力を生成するステップと、
第2の共有符号化パラメータを使用して前記第1の合成出力に対して実行される第2の共有符号化と、第2の適応符号化パラメータを使用して前記第1の合成出力に対して実行される第2の適応符号化との第2の組み合わせに基づいて第2の合成出力を生成するステップと
を含む、前記代替入力画像を符号化して、前記代替入力画像の圧縮表現を生成するステップと
を含む、方法。
【請求項8】
前記第1の合成出力を生成するステップが、
前記代替入力画像と前記第1の共有符号化パラメータとに基づいて共有特徴を生成するステップと、
予測ニューラルネットワークを使用して、前記代替入力画像、前記代替目標品質制御パラメータ、前記第1の適応符号化パラメータ、および前記生成された共有特徴に基づいて推定された第1の適応符号化パラメータを生成するステップと、
前記生成された共有特徴および前記生成された推定された第1の適応符号化パラメータに基づいて前記第1の合成出力を生成するステップと
を含む、請求項7に記載の方法。
【請求項9】
請求項1から8のいずれか一項に記載の方法を実行するように構成された装置。
【請求項10】
少なくとも1つのプロセッサに請求項1から8のいずれか一項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2021年4月19日に出願された米国仮特許出願第63/176,745号に基づいており、これに対する優先権を主張し、その開示内容は、その全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
ISO/IEC MPEG(JTC 1/SC 29/WG 11)は、将来のビデオコーディング技術の標準化に対する潜在的なニーズを積極的に探ってきた。ISO/IEC JPEGは、ニューラルネットワーク(NN)を使用したAIベースのエンドツーエンドのニューラル画像圧縮(NIC)に焦点を当てたJPEG-AIグループを確立している。最近の取り組みの成功は、高度なニューラル画像およびビデオ圧縮方法論に対するますます多くの産業上の関心をもたらしている。
【0003】
いくつかの手法は有望な性能を示しているが、柔軟なビットレート制御は、従来のNIC方法にとって依然として大きな問題である。例えば、いくつかの手法は、レートと歪み(圧縮画像の品質)との間の各所望のトレードオフを目標とする複数のモデルインスタンスを個別に訓練することを必要とする場合がある。これらの複数のモデルインスタンスはすべて、異なるビットレートから画像を再構成するために、復号器側で記憶および展開され得る。また、可能な目標ビットレートごとに無限数のモデルインスタンスを訓練し、および記憶することが困難であるため、これらのモデルインスタンスは、任意の滑らかなビットレート制御を与えることができない。いくつかの手法は、1つのモデルインスタンスが複数の所定のビットレートの圧縮を達成するように訓練されるマルチレートNICを研究してきた。しかしながら、任意の滑らかなビットレート制御は、未調査の未解決の問題である。
【0004】
さらに、柔軟な目標品質メトリック制御は、各目標品質メトリック(例えば、ピーク信号対雑音比(PSNR)、構造類似度指標尺度(SSIM)、PSNRとSSIMの組み合わせなど)に対して個々のモデルインスタンスを訓練する必要があるため、以前のNIC方法では困難である。円滑な品質メトリック制御(例えば、任意の重要度重みを有するPSNRとSSIMとの重み付き組み合わせ)は依然として未解決の問題である。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の実施形態によれば、メタ学習による適応ニューラル画像圧縮の方法が実行され、本方法は少なくとも1つのプロセッサによって実行され、本方法は、元の入力画像および目標品質制御パラメータを使用して代替入力画像および代替目標品質制御パラメータを生成するステップを含み、代替入力画像は元の入力画像の修正バージョンであり、代替目標品質制御パラメータは目標品質制御パラメータの修正バージョンである。本方法は、符号化ニューラルネットワークを使用して、代替入力画像および代替目標品質制御パラメータに基づいて代替入力画像を符号化して、代替入力画像の圧縮表現を生成するステップをさらに含む。いくつかの実施形態では、本方法は、量子化およびエントロピー符号化を使用して、代替入力画像の圧縮表現に基づいて圧縮ビットストリームを生成するステップをさらに含む。本方法はまた、復元された圧縮ビットストリームおよび代替目標品質制御パラメータを受信するステップと、次に、復元された圧縮ビットストリームおよび受信された代替目標品質制御パラメータに基づいて、逆量子化およびエントロピー復号を使用して、復元された圧縮表現を生成するステップと、復号ニューラルネットワークを使用して、受信された代替目標品質制御パラメータに基づいて、生成された復元された圧縮表現を復号して、出力画像を再構成するステップとを含み得る。
【0006】
本開示の実施形態によれば、メタ学習による適応ニューラル画像圧縮のための装置は、コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、コンピュータプログラムコードにアクセスし、コンピュータプログラムコードによって命令されるように動作するように構成された少なくとも1つのプロセッサと、を含む。プログラムコードは、少なくとも1つのプロセッサに、元の入力画像および目標品質制御パラメータを使用して代替入力画像および代替目標品質制御パラメータを生成させるように構成された第1の生成コードであって、代替入力画像は元の入力画像の修正バージョンであり、代替目標品質制御パラメータは目標品質制御パラメータの修正バージョンである、第1の生成コードと、少なくとも1つのプロセッサに、符号化ニューラルネットワークを使用して、代替入力画像および代替目標品質制御パラメータに基づいて代替入力画像を符号化させて、代替入力画像の圧縮表現を生成させるように構成された符号化コードと、を含む。
【0007】
本開示の実施形態によれば、記憶命令を記憶する非一時的コンピュータ可読媒体は、メタ学習による適応ニューラル画像圧縮のためのデバイスの1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、元の入力画像および目標品質制御パラメータを使用して代替入力画像および代替目標品質制御パラメータを生成させ、代替入力画像は元の入力画像の修正バージョンであり、代替目標品質制御パラメータは目標品質制御パラメータの修正バージョンであり、代替入力画像および代替目標品質制御パラメータに基づいて、符号化ニューラルネットワークを使用して代替入力画像を符号化させて、代替入力画像の圧縮表現を生成させる、命令を含む。
【図面の簡単な説明】
【0008】
図1】実施形態による、本明細書に記載された方法、装置、およびシステムがその中で実現され得る環境の図である。
図2図1の1つまたは複数のデバイスの例示的なコンポーネントのブロック図である。
図3A】実施形態による、滑らかな品質制御を伴う適応ニューラル画像圧縮のためのメタNICアーキテクチャのブロック図である。
図3B】実施形態による、滑らかな品質制御を伴う適応ニューラル画像圧縮のためのメタNICアーキテクチャの別のブロック図である。
図4A】実施形態による、滑らかな品質制御を伴う適応ニューラル画像圧縮のための装置のブロック図である。
図4B】実施形態による、図4Aに示す装置のメタNIC符号化器のブロック図である。
図4C】実施形態による、図4Aに示す装置のメタNIC復号器のブロック図である。
図4D】実施形態による、滑らかな品質制御を伴う適応ニューラル画像圧縮を使用して符号化された画像を復号するための装置である。
図5】実施形態による、訓練段階中の滑らかな品質制御を伴う適応ニューラル画像圧縮のための訓練装置のブロック図である。
図6】実施形態による、滑らかな品質制御を伴う適応ニューラル画像圧縮の方法のフローチャートである。
【発明を実施するための形態】
【0009】
本開示は、Meta Neural Image Compression(Meta-NIC)フレームワークにおける最適な代替入力画像および最適な代替品質制御パラメータを生成するために、各画像に対する代替の入力画像および代替の目標品質制御パラメータを適応的に発見および/または生成するための方法および装置を記載する。
【0010】
Meta-NICシステムは、現在の代替の入力画像および目標圧縮品質に基づいて基礎となるNeural Image Compression(NIC)モデルの品質適応重みパラメータを適応的に計算することができ、その結果、単一のMeta-NICモデルインスタンスは、滑らかなビットレート制御、滑らかな品質メトリック制御などを含む任意の滑らかな目標品質制御を伴う画像圧縮を達成することができる。
【0011】
Meta-NICシステムで使用される生成された代替の入力画像は、元の入力画像の優れた変更であり、より良好な圧縮を可能にする。さらに、生成された代替の目標品質制御パラメータは、計算された品質適応重みパラメータを改善して、目標圧縮品質に対して生成された代替の入力画像をより良好に圧縮する。復号器は、学習された代替の目標品質パラメータを使用して、符号化ビットストリームから元の入力画像を再構成する。
【0012】
図1は、実施形態による、本明細書に記載された方法、装置、およびシステムがその中で実現され得る環境100の図である。
【0013】
図1に示されるように、環境100は、ユーザデバイス110と、プラットフォーム120と、ネットワーク130とを含んでもよい。環境100のデバイスはそれぞれ、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して相互接続してもよい。
【0014】
ユーザデバイス110は、プラットフォーム120に関連付けられた情報を受信し、生成し、記憶し、処理し、かつ/または提供することができる、1つまたは複数のデバイスを含む。例えば、ユーザデバイス110は、コンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話(例えば、スマートフォン、無線電話など)、ウェアラブルデバイス(例えば、スマートグラスもしくはスマートウォッチ)、または同様のデバイスを含んでもよい。いくつかの実装形態では、ユーザデバイス110は、プラットフォーム120から情報を受信し、かつ/またはプラットフォーム120に情報を送信してもよい。
【0015】
プラットフォーム120は、本明細書の他の箇所に記載されているような、1つまたは複数のデバイスを含む。いくつかの実装形態では、プラットフォーム120は、クラウドサーバまたはクラウドサーバのグループを含んでもよい。いくつかの実装形態では、プラットフォーム120は、ソフトウェアコンポーネントがスワップインまたはスワップアウトされ得るようにモジュール式に設計されてもよい。したがって、プラットフォーム120は、異なる用途向けに、容易にかつ/または迅速に再構成されてもよい。
【0016】
いくつかの実装形態では、図示のように、プラットフォーム120は、クラウドコンピューティング環境122下でホストされてもよい。とりわけ、本明細書に記載の実装形態では、プラットフォーム120がクラウドコンピューティング環境122下でホストされるものとして記載しているが、いくつかの実装形態では、プラットフォーム120はクラウドベースでなくてもよく(すなわち、クラウドコンピューティング環境の外部で実装されてもよい)、あるいは部分的にクラウドベースであってもよい。
【0017】
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含む。クラウドコンピューティング環境122は、プラットフォーム120をホストする(1つまたは複数の)システムおよび/または(1つまたは複数の)デバイスの物理的位置および構成に関するエンドユーザ(例えば、ユーザデバイス110)の知識を必要としない、計算、ソフトウェア、データアクセス、ストレージなどのサービスを提供し得る。図示のように、クラウドコンピューティング環境122は、コンピューティングリソース124のグループ(「コンピューティングリソース124」と総称され、なおかつ個別に「コンピューティングリソース124」と呼ばれている)を含んでもよい。
【0018】
コンピューティングリソース124は、1つまたは複数のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または他のタイプの計算デバイスおよび/もしくは通信デバイスを含む。いくつかの実装形態では、コンピューティングリソース124は、プラットフォーム120をホストしてもよい。クラウドリソースは、コンピューティングリソース124内で実行されるコンピューティングインスタンス、コンピューティングリソース124内に設けられるストレージデバイス、コンピューティングリソース124によって提供されるデータ転送デバイスなどを含んでもよい。いくつかの実装形態では、コンピューティングリソース124は、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して他のコンピューティングリソース124と通信してもよい。
【0019】
図1にさらに示されているように、コンピューティングリソース124は、1つまたは複数のアプリケーション(「APP」)124-1、1つまたは複数の仮想マシン(「VM」)124-2、仮想化ストレージ(「VS」)124-3、1つまたは複数のハイパーバイザ(「HYP」)124-4など、クラウドリソースのグループを含む。
【0020】
アプリケーション124-1は、ユーザデバイス110および/もしくはプラットフォーム120に提供されるか、またはアクセスされてもよい1つまたは複数のソフトウェアアプリケーションを含む。アプリケーション124-1は、ユーザデバイス110にソフトウェアアプリケーションをインストールして実行する必要性を排除してもよい。例えば、アプリケーション124-1は、プラットフォーム120に関連付けられたソフトウェアおよび/またはクラウドコンピューティング環境122を介して提供され得る他の任意のソフトウェアを含んでもよい。いくつかの実装形態では、ある1つのアプリケーション124-1が仮想マシン124-2を通じて1つまたは複数の他のアプリケーション124-1との間で情報を送受信してもよい。
【0021】
仮想マシン124-2は、物理マシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装形態を含む。仮想マシン124-2は、仮想マシン124-2による用途および任意の実マシンとの対応関係の程度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供し得る。プロセス仮想マシンは、単一のプログラムを実行してもよく、また単一のプロセスをサポートしてもよい。いくつかの実装形態では、仮想マシン124-2は、ユーザ(例えば、ユーザデバイス110)に代わって動作してもよく、データ管理、同期、または長期間にわたるデータ転送などのクラウドコンピューティング環境122の基盤を管理してもよい。
【0022】
仮想化ストレージ124-3は、コンピューティングリソース124のストレージシステムまたはデバイス内で仮想化技術を使用する1つもしくは複数のストレージシステムおよび/または1つもしくは複数のデバイスを含む。いくつかの実装形態では、ストレージシステムのコンテキスト内で、仮想化のタイプは、ブロック仮想化およびファイル仮想化を含んでもよい。ブロック仮想化は、当該ストレージシステムが物理ストレージであるか異種構造であるかに関係なくアクセスされ得るように、物理ストレージから論理ストレージを抽出する(または分離する)ことを指してもよい。これらを分離することにより、ストレージシステムの管理者がエンドユーザのストレージを管理する方法に柔軟性がもたらされ得る。ファイル仮想化は、ファイルレベルでアクセスされるデータとファイルが物理的に記憶されている場所との間の依存関係を排除し得る。これにより、ストレージ使用が最適化され、サーバが統合され、かつ/または中断なくファイルが移行されるようになり得る。
【0023】
ハイパーバイザ124-4は、複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)をコンピューティングリソース124などのホストコンピュータ上で同時に実行できるハードウェア仮想化技術を提供し得る。ハイパーバイザ124-4は、仮想オペレーティングプラットフォームをゲストオペレーティングシステムに提示し得、ゲストオペレーティングシステムの実行を管理し得る。様々なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有してもよい。
【0024】
ネットワーク130は、1つまたは複数の有線ネットワークおよび/または無線ネットワークを含む。例えば、ネットワーク130は、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公衆陸上移動体通信網(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワークなど、および/またはそれらもしくは他のタイプのネットワークの組み合わせを含んでもよい。
【0025】
図1に示すデバイスおよびネットワークの数および配置は、一例として提供されている。実際には、図1に示すものに比べて、さらなるデバイスおよび/もしくはネットワーク、少ないデバイスおよび/もしくはネットワーク、異なるデバイスおよび/もしくはネットワーク、または異なる配置のデバイスおよび/もしくはネットワークが存在してもよい。さらに、図1に示された2つ以上のデバイスは、単一のデバイス内に実装されてもよく、または図1に示された単一のデバイスは、複数の分散型デバイスとして実装されてもよい。追加または代替として、環境100のデバイスのセット(例えば、1つまたは複数のデバイス)は、環境100のデバイスの別のセットによって実行されるものとして記載された1つまたは複数の機能を実行してもよい。
【0026】
図2は、図1の1つまたは複数のデバイスの例示的なコンポーネントを示すブロック図である。
【0027】
デバイス200は、ユーザデバイス110および/またはプラットフォーム120に対応してもよい。図2に示されるように、デバイス200は、バス210と、プロセッサ220と、メモリ230と、ストレージコンポーネント240と、入力コンポーネント250と、出力コンポーネント260と、通信インターフェース270とを備えてもよい。
【0028】
バス210は、デバイス200のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ220は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせに実装される。プロセッサ220は、中央処理装置(central processing unit:CPU)、グラフィック処理装置(graphics processing unit:GPU)、加速処理装置(accelerated processing unit:APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(digital signal processor:DSP)、フィールド・プログラマブル・ゲート・アレイ(field-programmable gate array:FPGA)、特定用途向け集積回路(application-specific integrated circuit:ASIC)、または別のタイプの処理コンポーネントである。いくつかの実装形態では、プロセッサ220は、機能を実行するようにプログラムされることが可能な1つまたは複数のプロセッサを含む。メモリ230は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ならびに/またはプロセッサ220が使用するための情報および/もしくは命令を記憶する別のタイプの動的もしくは静的なストレージデバイス(例えば、フラッシュメモリ、磁気メモリ、および/もしくは光メモリ)を含む。
【0029】
ストレージコンポーネント240は、デバイス200の操作および使用に関連する情報および/またはソフトウェアを記憶する。例えば、ストレージコンポーネント240は、対応するドライブと共に、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、および/またはソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的コンピュータ可読媒体を含んでもよい。
【0030】
入力コンポーネント250は、デバイス200がユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)などを介して情報を受信できるようにするコンポーネントを含む。追加または代替として、入力コンポーネント250は、情報を検知するためのセンサ(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含んでもよい。出力コンポーネント260は、デバイス200(例えば、ディスプレイ、スピーカ、および/または1つもしくは複数の発光ダイオード(LED))からの出力情報を提供するコンポーネントを含む。
【0031】
通信インターフェース270は、有線接続、無線接続、または有線接続と無線接続との組み合わせなどを介してデバイス200が他のデバイスと通信できるようにする、トランシーバのようなコンポーネント(例えば、トランシーバならびに/または別個の受信機および送信機)を含む。通信インターフェース270は、デバイス200が別のデバイスから情報を受信し、かつ/または別のデバイスに情報を提供できるようにしてもよい。例えば、通信インターフェース270は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、Wi-Fiインターフェース、またはセルラーネットワークインターフェースなどを含んでもよい。
【0032】
デバイス200は、本明細書で説明されている1つまたは複数のプロセスを実行してもよい。デバイス200は、プロセッサ220がメモリ230および/またはストレージコンポーネント240などの非一時的コンピュータ可読媒体によって記憶されたソフトウェア命令を実行したことに応答して、これらのプロセスを実行してもよい。コンピュータ可読媒体は、本明細書では非一時的メモリデバイスと定義されている。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間、または複数の物理ストレージデバイスにわたって広がるメモリ空間を含む。
【0033】
ソフトウェア命令は、別のコンピュータ可読媒体から、または通信インターフェース270を介して別のデバイスから、メモリ230および/またはストレージコンポーネント240に読み込まれてもよい。メモリ230および/またはストレージコンポーネント240に記憶されたソフトウェア命令は、実行されると、本明細書に記載された1つまたは複数のプロセスをプロセッサ220に実行させてもよい。追加または代替として、本明細書に記載された1つまたは複数のプロセスを実行するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせてハードワイヤード回路が使用されてもよい。したがって、本明細書に記載の実装形態は、ハードウェア回路とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【0034】
図2に示されるコンポーネントの数および配置は、一例として提供されている。実際には、デバイス200は、図2に示されるコンポーネントに対して、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なる配置のコンポーネントを含んでもよい。追加または代替として、デバイス200のコンポーネントのセット(例えば、1つまたは複数のコンポーネント)は、デバイス200の別のコンポーネントのセットによって実行されるものとして記載された、1つまたは複数の機能を実行してもよい。
【0035】
次に、メタ学習による滑らかな品質制御を伴う適応ニューラル画像圧縮のための方法および装置について詳細に説明する。
【0036】
本開示の実施形態は、一方では、(ビットレート制御、品質メトリック制御などを含む)任意の滑らかな品質制御をサポートし、同時に、各入力画像に対する最適な代替入力画像および最適な代替品質制御パラメータを適応的に見つける、代替のMeta-NICフレームワークのための方法および装置を記載する。
【0037】
Meta-NICシステムは、現在の代替の入力画像および目標圧縮品質に基づいて基礎となるNICモデルの品質適応重みパラメータを適応的に計算することができ、その結果、単一のMeta-NICモデルインスタンスは、滑らかなビットレート制御、滑らかな品質メトリック制御などを含む任意の滑らかな目標品質制御で画像圧縮を達成することができる。
【0038】
サイズ(h、w、c)の入力画像xが与えられ、h、w、cはそれぞれ高さ、幅、およびチャネル数であるとすると、NICワークフローを以下のように記述することができる。入力画像xは、正規画像フレーム(t=1)、2つ以上の画像フレーム(t>1)を含む4次元ビデオシーケンスなどであってもよい。各画像フレームは、カラー画像(c=3)、グレースケール画像(c=1)、rgb+深度画像(c=4)などであってもよい。記憶および伝送のためにコンパクトな圧縮表現
【数1】
が計算される。次に、圧縮表現
【数2】
に基づいて、出力画像
【数3】
が再構成され、そして、再構成された出力画像
【数4】
は、元の入力画像xと同様であり得る。歪み損失
【数5】
は、ピーク信号対雑音比(PSNR)、または構造的類似性指数尺度(SSIM)などの再構成誤差を測定するために使用される。圧縮表現
【数6】
のビット消費を測定するために、レート損失
【数7】
が計算される。したがって、トレードオフハイパーパラメータλが、ジョイントレート歪み(R-D)損失を形成するために使用される。
【数8】
【0039】
大きいハイパーパラメータλを用いた訓練では、歪みは小さいがビット消費の多い圧縮モデルとなり、その逆もまた同様である。従来、所定のハイパーパラメータλの各値について、NICモデルインスタンスは訓練されるが、これはハイパーパラメータλの他の値ではうまく機能しない。したがって、圧縮ストリームの複数のビットレートを達成するために、従来の方法は、複数のモデルインスタンスを訓練して記憶することを必要とする場合がある。また、実際にはハイパーパラメータλの可能な値ごとにモデルを訓練することは困難であるため、従来の方法は、滑らかなビットレート制御などの任意の滑らかな品質制御を達成することができない。同様に、従来の方法は、歪みメトリックまたは他のメトリックごとに複数のモデルインスタンスを訓練して記憶することを必要とする場合があり、これにより、滑らかな品質メトリック制御を達成することが困難になる場合がある。
【0040】
図3Aおよび図3Bは、実施形態による、メタ学習によるレート制御を用いた適応ニューラル画像圧縮のためのメタNICアーキテクチャ300Aおよび300Bのブロック図である。
【0041】
図3Aに示すように、メタNICアーキテクチャ300Aは、共有符号化NN305、適応符号化NN310、共有復号NN315、および適応復号NN320を含み得る。
【0042】
図3Bに示すように、メタNICアーキテクチャ300Bは、共有符号化レイヤ325および330と、適応符号化レイヤ335および340と、共有復号レイヤ345および350と、適応復号レイヤ355および360と、を含み得る。
【0043】
本開示の実施形態では、基礎となるNIC符号化器および基礎となるNIC復号器のモデルパラメータは、4つの部分
【数9】
に分離されてもよく、それぞれ、共有符号化パラメータ(SEP)、適応符号化パラメータ(AEP)、共有復号パラメータ(SDP)、および適応復号パラメータ(ADP)を示す。図3Aおよび図3Bは、NICネットワークアーキテクチャの2つの実施形態を示している。
【0044】
図3Aでは、SEP、SDP、AEP、およびADPは、個々のNNモジュールに分離され、これらの個々のモジュールは、ネットワーク前進計算のために順次互いに接続される。ここで、図3Aは、これらの個々のNNモジュールを接続する順番を示している。他の順番が本明細書で使用されてもよい。
【0045】
図3Bでは、パラメータ分割は、NNレイヤ内で行われ得る。
【数10】
は、NIC符号化器の第i番目のレイヤおよびNIC復号器の第j番目のレイヤに関するSEP、AEP、SDP、およびADPを、それぞれ表すものとする。NICは、それぞれSEPおよびAEP(またはSDPおよびADP)の対応する入力に基づいて、推論出力を計算してもよく、これらの出力は、結合され(例えば、加算、連結、乗算などによって)、次いで次のレイヤに送られてもよい。
【0046】
図3Aの実施形態は、図3Bの事例として見ることができ、ここで、
【数11】
は共有符号化NN305内のレイヤに対して空であってもよく、
【数12】
は適応符号化NN310内のレイヤに対して空であってもよく、
【数13】
は共有復号NN315内のレイヤに対して空であってもよく、
【数14】
は適応復号NN320内のレイヤに対して空であってもよい。したがって、他の実施形態では、図3Aおよび図3Bのネットワーク構造を組み合わせることができ、NICアーキテクチャは、純粋な共有符号化/復号レイヤおよび/または純粋な適応符号化/復号レイヤと、部分的な共有符号化/復号パラメータおよび部分的な適応符号化/復号パラメータを有する混合レイヤとの両方を含む。
【0047】
図4Aに示すように、装置400Aは、メタNIC符号化器410と、メタNIC復号器420と、損失生成器405と、逆伝播生成器415と、量子化およびエントロピー符号化器425と、量子化およびレート推定器430と、を含む。
【0048】
図4Aは、メタNICフレームワークのテスト段階の全体的なワークフローを示している。
【数15】
および
【数16】
は、メタNIC符号化器410の第i番目のレイヤのSEPおよびAEPを、それぞれ表すものとする。いくつかの実施形態によれば、完全に共有されるレイヤについて、
【数17】
は空であるため、これらは例示的な表記である。また、完全に適応的なレイヤの場合、
【数18】
は空である。同様に、メタNIC復号器420の第j番目のレイヤのSDPとADPを、それぞれ
【数19】

【数20】
とする。いくつかの実施形態によれば、完全に共有されるレイヤについて、
【数21】
は空であるため、これらの表記は例示的である。また、完全に適応的なレイヤの場合、
【数22】
は空である。いくつかの実施形態では、これらの表記は、図3Aおよび図3Bの両方の実施形態に使用され得る。
【0049】
代替入力画像x’および代替目標品質制御パラメータΛ’が与えられると、メタNIC符号化器410は圧縮表現
【数23】
を計算する。いくつかの実施形態では、代替入力画像x’は、元の入力画像xの変更されたバージョンであってもよい。代替目標品質制御パラメータΛ’は、目標品質メトリック、目標ビットレートなどを含む目標圧縮品質を示す元の目標品質制御パラメータΛの変更されたバージョンであってもよい。代替入力画像x’および代替目標品質制御パラメータΛ’の両方は、元の入力画像xおよび元の目標品質制御パラメータΛに基づいて反復オンライン学習プロセスによって取得されてもよい。
【0050】
目標品質制御パラメータΛについて、qを品質メトリック
【数24】
(例えば、PSNR、SSIMなど)の数とすると、全体的な品質メトリックは一般に、品質メトリックの数の重み付けされた組み合わせとして表される:
【0051】
【数25】
【0052】
ここで、重みwi≧0である。いくつかの実施形態では、目標品質制御パラメータΛは、すべての重みwiおよび目標トレードオフハイパーパラメータλを含む単一のベクトルであってもよい:Λ=[w1,...wq,λ]。単一の品質メトリック
【数26】
のみが使用されている場合、任意のi≠jに対して、wi=1およびwj=0である。上記が真である実施形態では、Λは、目標トレードオフハイパーパラメータλのみを含むように低減され得る:Λ=λ。
【0053】
図4Bは、図4Aに示された装置400AのメタNIC符号化器410のブロック図である。
【0054】
図4Bに示すように、メタNIC符号化器410は、SEP推論部412、AEP予測部414、およびAEP推論部416を含む。
【0055】
図4Bは、第i番目のレイヤ用のメタNIC符号化器410の推論ワークフローの例示的な実施形態を示している。メタNIC符号化器410では、代替入力画像x’がメタNIC符号化NNを通過する。f(i)およびf(i+1)は、第i番目のレイヤの入力テンソルおよび出力テンソルを表すものとする。SEP推論部412は、現在の入力f(i)(代替入力画像に基づく)と
【数27】
とに基づいて、第i番目のレイヤのSEPを用いた順方向計算によってモデル化され得る共有推論関数
【数28】
に基づいて、1つまたは複数の共有特徴g(i)を計算する。現在の入力f(i)、共有特徴g(i)、
【数29】
および代替目標品質制御パラメータΛ’に基づいて、AEP予測部414は、第i番目のレイヤの推定
【数30】
を計算する。AEP予測部414は、例えば、元の
【数31】
、現在の入力f(i)、および代替目標品質制御パラメータΛ’に基づいて更新され推定された
【数32】
を予測する畳み込みレイヤおよび完全接続レイヤを含むNNであってもよい。いくつかの実施形態では、現在の入力f(i)は、AEP予測部414への入力として使用されてもよい。いくつかの他の実施形態では、現在の入力f(i)の代わりに、共有特徴g(i)が使用されてもよい。他の実施形態では、SEP損失は、共有特徴g(i)に基づいて計算されてもよく、損失の勾配が、AEP予測部414への入力として使用されてもよい。推定された
【数33】
および共有特徴g(i)に基づいて、AEP推論部416は、第i番目のレイヤにおいて推定AEPを用いた前進計算によってモデル化されたAEP推論関数
【数34】
に基づいて、出力テンソルf(i+1)を計算する。
【0056】
なお、図4Bで説明したワークフローは例示的な表記である。AEPと完全に共有されるレイヤの場合、
【数35】
は空であってもよく、AEP関連モジュールおよびf(i+1)=g(i)は省略されてもよい。SEPと完全に適応的であるレイヤの場合、
【数36】
は空であってもよく、SEP関連モジュールおよびg(i)=f(i)は省略されてもよい。
【0057】
メタNIC符号化器410に合計N個のレイヤがある実施形態では、最後のレイヤの出力は圧縮表現
【数37】
である。圧縮表現
【数38】
は、メタNIC復号器420に送信されてもよい。いくつかの実施形態では、圧縮表現
【数39】
は、量子化およびエントロピー符号化器425によってコンパクトなビットストリームzにさらに圧縮された後、メタNIC復号器420に送信されてもよい。
【0058】
再び図4Aを参照すると、復号器側で、
【数40】
および
【数41】
は、それぞれメタNIC復号器420の第j番目のレイヤのSDPおよびADPを示す。メタNIC符号化器410と同様に、完全に共有されるレイヤについて、
【数42】
は空であり、完全に適応性のあるレイヤについて、
【数43】
は空であるため、これは例示的な表記である。
【0059】
復号器側では、復元された圧縮表現
【数44】
が、逆量子化およびエントロピー復号を使用してメタNIC符号化器410から送信されたビットストリームzから取得され得る。いくつかの実施形態では、圧縮表現
【数45】
は、復元された圧縮表現
【数46】
を生成するために量子化およびレート推定器430を通過し得る。
【0060】
復元された圧縮表現
【数47】
および代替目標品質制御パラメータΛ’に基づいて、メタNIC復号器420は、再構成された出力画像
【数48】
を計算する。メタNIC復号器420では、復元された圧縮表現
【数49】
は、メタNIC復号NNを通過する。f(j)およびf(j+1)は、第j番目のレイヤの入力テンソルおよび出力テンソルを表すものとする。
【0061】
図4Cは、図4Aに示された装置400AのメタNIC復号器420のブロック図である。
【0062】
図4Cに示すように、メタNIC復号器420は、SDP推論部422と、ADP予測部424と、ADP推論部426と、を含む。
【0063】
図4Cは、第j番目のレイヤのためのメタNIC復号器420の推論ワークフローの例示的な実施形態を示している。現在の入力f(j)(いくつかの実施形態では、復元された圧縮表現に基づく)および
【数50】
に基づいて、SDP推論部422は、第j番目のレイヤのSDPを使用したネットワーク順方向計算によってモデル化された共有推論関数
【数51】
に基づいて、1つまたは複数の共有特徴g(j)を計算する。現在の入力f(j)、共有特徴g(j)、
【数52】
および代替目標品質制御パラメータΛ’に基づいて、ADP予測部424は、第j番目のレイヤの推定された
【数53】
を計算する。ADP予測部424は、例えば、元の
【数54】
、現在の入力f(j)、および代替目標品質制御パラメータΛ’に基づいて、更新され推定された
【数55】
を予測する畳み込みレイヤおよび完全接続レイヤを有するNNであってもよい。いくつかの実施形態では、現在の入力f(j)は、ADP予測部424への入力として使用されてもよい。いくつかの他の実施形態では、共有特徴g(j)が、現在の入力f(j)の代わりに使用されてもよい。他の実施形態では、SDP損失が、共有特徴量g(j)に基づいて計算されてもよく、損失の勾配が、ADP予測部424への入力として使用されてもよい。推定された
【数56】
および共有特徴g(j)に基づいて、ADP推論部426は、第j番目のレイヤの推定されたADPを用いたネットワーク前進計算によってモデル化されたADP推論関数
【数57】
に基づいて、出力テンソルf(j+1)を計算する。
【0064】
なお、図4Cで説明したワークフローは、例示的な表記である。ADPと完全に共有されるレイヤの場合、
【数58】
は空であってもよく、ADP関連モジュールおよびf(j+1)=g(j)は省略されてもよい。SDPと完全に適応的であるレイヤの場合、
【数59】
は空であってもよく、SDP関連モジュールおよびg(j)=f(j)は省略されてもよい。
【0065】
メタNIC復号器420に合計M個のレイヤがある実施形態では、最後のレイヤの出力は再構成画像出力
【数60】
である。
【0066】
上記の実施形態で提供されるメタNICフレームワークは、任意の目標品質制御パラメータΛおよび/または代替目標品質制御パラメータΛ’を可能にし、処理ワークフローは、目標品質制御パラメータΛに適合するように圧縮表現および再構成出力画像を計算する。
【0067】
いくつかの実施形態では、目標品質制御パラメータΛおよび/または代替目標品質制御パラメータΛ’は、符号化器および復号器について同じである。いくつかの他の実施形態では、目標品質制御パラメータΛおよび/または代替目標品質制御パラメータΛ’は、メタNIC符号化器410およびメタNIC復号器420について異なっていてもよい。メタNIC符号化器410とメタNIC復号器420との間で目標品質制御パラメータΛおよび/または代替目標品質制御パラメータΛ’に差がある実施形態では、メタNIC復号器420は、圧縮表現を元の符号化目標品質とは異なる目標品質に適合させようと試みる。
【0068】
本開示の実施形態によれば、AEP予測部414およびADP予測部424が、入力f(i)またはf(j)を考慮して/考慮せずに、トレードオフハイパーパラメータの所定のセットにわたって予測を実施するだけであるとき、メタNICモデルは、複数の所定のビットレートの圧縮効果に対応するために、1つのモデルインスタンスを使用するマルチレートNICモデルに縮小される。
【0069】
図4Aに戻って参照すると、量子化およびレート推定器430は、微分可能統計量サンプラを使用することによって真の量子化およびエントロピー符号化/復号プロセスをシミュレートすることができる。いくつかの実施形態では、量子化およびレート推定器430は、基礎となるNICフレームワーク/アーキテクチャの一部であってもよい。言い換えれば、基礎となるNICアーキテクチャが量子化およびレート推定器を含む場合、量子化およびレート推定器430は、基礎となるNICアーキテクチャの量子化およびレート推定器に対応し得る。量子化およびレート推定器430は、復元された圧縮表現
【数61】
および推定レート損失
【数62】
を決定するために使用されてもよい。
【0070】
再構成画像
【数63】
および元の入力画像xに基づいて、損失生成器405は、式(2)に基づいて歪み損失
【数64】
を計算してもよく、これをレート損失
【数65】
と組み合わせて、元の目標品質制御パラメータΛを使用して式(1)から全体的なレート歪み損失
【数66】
を決定してもよい。本開示の実施形態によれば、損失生成器405は、再構成画像
【数67】
または圧縮表現
【数68】
に対する任意の追加の正則化項などの他の敵対的損失または正則化損失を使用してもよく、または考慮に入れてもよい。
【0071】
全体的なレート歪み損失
【数69】
は、損失
【数70】
の勾配を計算することができる逆伝播モジュール415を通過し得る。そして、損失の勾配
【数71】
を逆伝播させて、代替入力画像x’および代替目標品質制御パラメータΛ’を更新する。損失
【数72】
を計算し、損失
【数73】
の勾配を逆伝播するこのプロセスは、複数のオンライン学習反復の次の回のために繰り返される。いくつかの実施形態では、代替入力画像x’は元の入力画像xとして初期化されてもよく、代替目標品質制御パラメータΛ’は元の目標品質制御パラメータΛ’として初期化されてもよい。代替入力画像x’および代替目標品質制御パラメータΛ’は、その後、オンライン反復によって更新される。
【0072】
最終代替入力画像x’および最終代替目標品質制御パラメータΛ’を得るために、合計T回の反復後にオンライン学習プロセスが完了する。いくつかの実施形態では、T回の反復は、最大反復回数を指すことができる。いくつかの実施形態では、オンライン学習プロセスは、代替入力画像x’および代替目標品質制御パラメータΛ’への変更が予め設定された閾値よりも小さいときに完了し得る。最終代替入力画像x’および最終代替目標品質制御パラメータΛ’は、その後、Meta-NIC符号化器410を通過して圧縮表現
【数74】
を生成する。圧縮表現
【数75】
は、量子化およびエントロピー符号化器425を通過して、圧縮ビットストリームzを生成し得る。量子化およびエントロピー符号化器425は、圧縮表現
【数76】
に対して真の量子化およびエントロピー符号化を実行し得る。
【0073】
いくつかの実施形態では、圧縮ビットストリームzおよび最終代替目標品質制御パラメータΛ’は、Meta-NIC復号器420に送信されてもよい。さらに、いくつかの実施形態では、最終代替目標品質制御パラメータΛ’は、伝送前に無損失方法でさらに符号化されてもよい。
【0074】
図4Dは、図4Aに示された装置400Aの実施形態による、滑らかな品質制御を伴う適応ニューラル画像圧縮を使用して符号化された画像を復号するための装置の部分図である。
【0075】
図4Dに示すように、いくつかの実施形態によれば、滑らかな品質制御を伴う適応ニューラル画像圧縮を使用して符号化された画像を復号することは、メタNIC復号器420と、逆量子化およびエントロピー復号器428とを含む。
【0076】
図4Dは、メタNICフレームワークの復号ワークフローの例示的な実施形態を示している。復号器側では、圧縮ビットストリームzおよび最終代替目標品質制御パラメータΛ’または代替目標品質制御パラメータΛ’の可逆圧縮バージョンを受信し得る。逆量子化およびエントロピー復号器428は、圧縮ビットストリームzを使用して復元された圧縮表現
【数77】
を生成する。一実施形態では、代替目標品質制御パラメータΛ’の可逆圧縮バージョンが受信されると、逆量子化およびエントロピー復号器428は、代替目標品質制御パラメータΛ’を復元し得る。次に、メタNIC復号器420は、復元された圧縮表現
【数78】
、代替目標品質制御パラメータ
【数79】
に基づく再構成画像
【数80】
を計算する。
【0077】
本開示の実施形態によれば、AEP予測部424およびADP予測部424が、入力f(i)またはf(j)を考慮して/考慮せずに、予め定義されたトレードオフハイパーパラメータのセットにわたって予測を実行するのみであるとき、予め定義された結合重みのセットについて(例えば、i≠jの場合にwi=1およびwj=0でのみ歪みメトリック
【数81】
を目標とする)、メタNICモデルは、複数の予め定義されたビットレートの圧縮効果に対応するために1つのモデルインスタンスを使用する歪みメトリック
【数82】
のマルチレートNICモデルに減少する。
【0078】
本開示のいくつかの実施形態によれば、モデルパラメータ、すなわち、メタNIC符号化器410についての
【数83】
、メタNIC復号器420についての
【数84】
、AEP予測NN(Φeとして示されるモデルパラメータ)、およびADP予測NN(Φdとして示されるモデルパラメータ)は、図4A図4Dに記載されるように、符号化および復号中に事前訓練され、固定され得る。
【0079】
図5は、実施形態による、訓練段階中のメタ学習による滑らかな品質制御を用いた適応ニューラル画像圧縮のための訓練装置500のブロック図である。
【0080】
図5に示すように、訓練装置500は、タスクサンプラ510と、内側ループ損失生成器520と、内側ループ更新部530と、メタ損失生成器540と、メタ更新部550と、重み更新部560と、を含む。
【0081】
訓練プロセスは、図4AのメタNIC符号化器410についての
【数85】
、ならびに図4AのメタNIC復号器420についての
【数86】
、ならびにAEP予測NN(Φeとして示されるモデルパラメータ)およびADP予測NN(Φdとして示されるモデルパラメータ)を、学習することを目的とする。
【0082】
実施形態では、訓練目的のために、モデル非依存型メタ学習(MAML,Model-Agnostic Meta-Learning)メカニズムが使用される。図5は、メタ訓練フレームワークの例示的なワークフローを示している。他のメタ訓練アルゴリズムを、ここで使用することができる。
【0083】
訓練のために、訓練データのセット
【数87】
があり、ここで各
【数88】
は、訓練トレードオフハイパーパラメータΛiに対応し、合計でK個の訓練品質制御パラメータ(したがって、K個の訓練データセット)がある。訓練のために、重みの組み合わせの有限のセットが存在し得る。各重みの組み合わせw1=a1,...wq=aqについて、k個のトレードオフハイパーパラメータλiのセットが存在してもよく、品質制御パラメータΛiは、品質制御パラメータΛの項目の値を指定し、w1=a1,...wq=aq,λ=λiである。また、検証データのセット
【数89】
があり、ここで各
【数90】
は検証品質制御パラメータΛjに対応し、合計でP個の検証品質制御パラメータΛjがある。検証品質制御パラメータは、訓練セットとは異なる値を含んでもよい。また、検証品質制御パラメータは、訓練セットからの値と同じ値を有してもよい。
【0084】
全体的な訓練目標は、メタNICモデルを学習することであり、これにより、幅広い滑らかな範囲の目標圧縮品質に対応する、品質制御パラメータのすべての値(訓練および将来の見えな値を含む)に広く適用することができる。目標品質制御パラメータを有するNICタスクがタスク分布P(Λ)から引き出されると仮定する。上述の訓練目標を達成するために、メタNICモデルを学習するための損失は、すべての訓練品質制御パラメータにわたってすべての訓練データセットにわたって最小化される。
【0085】
【数91】
は、SEPおよびSDPにおけるすべての共有パラメータを含むものとし、
【数92】
は、AEPおよびADPにおけるすべての適応パラメータを含むものとする。MAML訓練プロセスは、勾配ベースのパラメータ更新のために、外側ループおよび内側ループを有し得る。各外側ループ反復について、タスクサンプラ510は、最初にK’個の訓練品質制御パラメータのセットをサンプリングする(K’≦K)。次いで、各サンプリングされた訓練品質制御パラメータΛiについて、タスクサンプラ510は、訓練データのセット
【数93】
から訓練データのセット
【数94】
をサンプリングする。また、タスクサンプラ510は、P’(P’≦P)個の検証品質制御パラメータのセットをサンプリングし、サンプリングされた各検証品質制御パラメータΛjについて、検証データのセット
【数95】
から検証データのセット
【数96】
をサンプリングする。次に、サンプリングされた各データ
【数97】
について、メタNIC前進計算が、現在のパラメータΘs、Θa、Φe、およびΦdに基づいて実行され、次いで、内側ループ損失生成器520は、累積内側ループ損失
【数98】
を計算する。
【数99】
【0086】
損失関数L(x、Θs、Θa、Φe、Φd、Λi)は、式(1)のR-D損失と、別の正則化損失(例えば、異なる品質制御パラメータを対象とする中間ネットワーク出力を区別する補助損失)と、を含み得る。次に、内側ループ損失
【数100】
に基づいて、Λiの品質制御パラメータ/ハイパーパラメータとしてのステップサイズαsiおよびαaiが与えられると、内側ループ更新部530は、更新されたタスク固有パラメータ更新を計算する。
【数101】
、および
【数102】
【0087】
累積内側ループ損失
【数103】
の勾配
【数104】
および勾配
【数105】
はそれぞれ、適応パラメータ
【数106】
および
【数107】
の更新バージョンを計算するために使用され得る。
【0088】
次に、メタ損失生成器540は、すべてのサンプリングされた検証品質制御パラメータにわたって外側メタ目的または損失を計算する。
【数108】
、および
【数109】
ここで、
【数110】
は、パラメータ
【数111】
を使用してメタNIC前方計算に基づいて入力xに対して計算された損失である。Λjのハイパーパラメータとしてステップサイズβajおよびβsjが与えられると、メタ更新部550は、モデルパラメータを以下のように更新する。
【数112】
、および
【数113】
【0089】
いくつかの実施形態では、Θsは、内側ループ内で更新されない場合がある、すなわち、
【数114】
である。更新されないことは、訓練プロセスを安定させるのに役立つ。
【0090】
AEP予測NNおよびADP予測NNのパラメータΦe、Φdについては、重み更新部560が定期的な訓練により更新する。すなわち、訓練および検証データ
【数115】
によれば、現在のパラメータΘs、Θa、Φe、Φdに基づいて、すべてのサンプル
【数116】
についての損失L(x、Θs、Θa、Φe、Φd、Λi)およびすべてのサンプル
【数117】
についての損失L(x、Θs、Θa、Φe、Φd、Λj)が計算される。これらすべての損失の勾配は、逆伝播によって、Φe、Φdに対してパラメータ更新を実施するために、累積(例えば、合計)され得る。
【0091】
本開示の実施形態は、これらのモデルパラメータを更新するための上述の最適化アルゴリズムまたは損失関数に限定されない。当技術分野で知られているこれらのモデルパラメータを更新するための任意の最適化アルゴリズムまたは損失関数が使用されてもよい。
【0092】
図4BのAEP予測部414およびメタNICモデルのADP予測部424が予め定義された訓練品質制御パラメータのセットおよび/または予め定義されたメトリック結合重みのセットにわたってのみ予測を実行する場合、検証品質制御パラメータは訓練パラメータと同じであってもよい。同じMAML訓練手順を使用して、上述の縮小されたメタNICモデル(すなわち、複数の所定のビットレートの圧縮効果に対応するために、1つのモデルインスタンスを使用するマルチレートNICモデル)を訓練してもよい。
【0093】
本開示の実施形態は、各入力データの圧縮性能を適応的に改善するために、元の入力画像の変更バージョンである優れた代替入力画像および優れた代替目標品質制御パラメータを使用することを可能にする。本明細書に記載の実施形態は、メタ学習を使用して任意の滑らかな品質制御で画像圧縮を達成するために、ただ1つのメタNICモデルインスタンスを使用することを可能にする。本方法および装置は、単一のモデルによるマルチレート圧縮と、滑らかなビットレート制御との両方に使用されてもよい。本明細書に記載の実施形態は、単一のモデル、滑らかなビットレート制御、および滑らかな品質メトリック制御によるマルチメトリックおよびマルチレート圧縮の両方に使用されてもよい。実施形態は、様々な基礎となるNICモデルおよびメタ学習方法に対応する柔軟なフレームワークを提供する。
【0094】
図6は、実施形態による、メタ学習によるレート制御を用いた適応ニューラル画像圧縮の方法のフローチャートである。
【0095】
いくつかの実装形態では、図6の1つまたは複数のプロセスブロックは、プラットフォーム120によって実施されてもよい。いくつかの実装形態では、図6の1つまたは複数のプロセスブロックは、ユーザデバイス110などのプラットフォーム120とは別個である、またはプラットフォーム120を含む別のデバイスもしくはデバイスのグループによって実施されてもよい。
【0096】
図6に示すように、動作610において、方法600は、入力画像および目標品質制御パラメータを受信するステップを含む。
【0097】
動作620において、方法600は、元の入力画像および目標品質制御パラメータを使用して代替入力画像および代替目標品質制御パラメータを生成するステップを含む。代替入力画像は入力画像の修正バージョンであり、代替目標品質制御パラメータは目標品質制御パラメータの修正バージョンである。
【0098】
代替入力画像の生成は、複数の反復を実行することを含み、各反復は、目標品質制御パラメータを使用して全体的なレート歪み損失を計算するステップと、逆伝播を使用して全体的なレート歪み損失の勾配を計算するステップと、全体的なレート歪み損失の勾配に基づいて、代替入力画像および代替目標品質制御パラメータを更新するステップと、を含む。いくつかの実施形態では、複数の反復から第1の反復を実行するステップは、代替入力画像を入力画像として初期化し、代替目標品質制御パラメータを目標品質制御パラメータとして初期化するステップを含み得る。
【0099】
複数の反復の回数は、第1の予め設定された閾値より小さい代替入力画像への更新に基づいてもよい。いくつかの実施形態では、反復回数は、第2の閾値より小さい代替目標品質制御パラメータの更新に基づいてもよい。いくつかの実施形態では、反復回数は、予め設定されたまたは予め定義された数であってもよい。
【0100】
動作630において、方法600は、符号化ニューラルネットワークを使用して、代替目標品質制御パラメータに基づいて代替入力画像を符号化して、圧縮表現を生成するステップを含む。いくつかの実施形態では、動作630において、代替入力画像の圧縮表現は、符号化ニューラルネットワークを使用して代替入力画像および代替目標品質制御パラメータに基づいて生成され得る。圧縮表現の生成は、符号化ニューラルネットワークを使用して代替入力画像を符号化するステップを含む。符号化は、第1の共有符号化パラメータを使用して代替入力画像に対して実行される第1の共有符号化と、第1の適応符号化パラメータを使用して代替入力画像に対して実行される第1の適応符号化との組み合わせに基づいて第1の合成出力を生成するステップを含み得る。符号化は、第2の共有符号化パラメータを使用して第1の合成出力に対して実行される第2の共有符号化と、第2の適応符号化パラメータを使用して第1の合成出力に対して実行される第2の適応符号化との組み合わせに基づいて第2の合成出力を生成するステップをさらに含み得る。
【0101】
いくつかの実施形態では、符号化するステップは、第1の共有符号化パラメータを有する第1の共有符号化レイヤを使用して、代替入力画像に対して第1の共有符号化を実行するステップと、第1の適応符号化パラメータを有する第1の適応符号化レイヤを使用して、代替入力画像に対して第1の適応符号化を実行するステップと、第1の共有符号化した入力画像と第1の適応符号化した入力画像とを結合して、第1の合成出力を生成するステップと、第2の共有符号化パラメータを有する第2の共有符号化レイヤを使用して、第1の合成出力に対して第2の共有符号化を実行するステップと、を含み得る。符号化するステップは、第2の適応符号化パラメータを有する第2の適応符号化レイヤを使用して、第1の合成出力に対して第2の適応符号化を実行するステップをさらに含み得る。
【0102】
第1の合成出力の生成は、代替入力画像および第1の共有符号化パラメータに基づいて共有特徴を生成するステップと、予測ニューラルネットワークを使用して、代替入力画像、代替目標品質制御パラメータ、第1の適応符号化パラメータ、および生成された共有特徴に基づいて推定された第1の適応符号化パラメータを生成するステップと、を含み得る。次いで、第1の合成出力は、生成された共有特徴および生成された推定された第1の適応符号化パラメータに基づいて生成され得る。
【0103】
いくつかの実施形態では、予測ニューラルネットワークは、代替目標品質制御パラメータ、第1の共有符号化パラメータ、第1の適応符号化パラメータ、第1の共有復号パラメータ、第1の適応復号パラメータ、および予測ニューラルネットワークの予測パラメータに基づいて、代替目標品質制御パラメータに対応する訓練データのための第1の損失、および代替目標品質制御パラメータに対応する検証データのための第2の損失を生成することによって訓練され得る。予測ニューラルネットワークの訓練は、生成された第1の損失および生成された第2の損失の勾配に基づいて予測パラメータを更新するステップをさらに含み得る。
【0104】
動作630において、方法600は、量子化およびエントロピー符号化を使用して、代替入力画像の圧縮表現に基づいて圧縮ビットストリームを生成するステップをさらに含み得る。
【0105】
図6に示すように、動作640において、方法600は、復号ニューラルネットワークを使用して、受信された代替目標品質制御パラメータに基づいて、復元された圧縮表現を復号して、出力画像を再構成するステップをさらに含み得る。いくつかの実施形態では、復号の前に、復元された圧縮ビットストリームおよび代替目標品質制御パラメータを受信するステップを含む受信動作が行われてもよい。復元された圧縮ビットストリームおよび代替目標品質制御パラメータが受信されると、方法600は、復元された圧縮ビットストリームおよび受信された代替目標品質制御パラメータに基づいて、逆量子化およびエントロピー復号を使用して復元された圧縮表現を生成するステップを含み得る。
【0106】
復元された圧縮表現の復号は、復号ニューラルネットワークを使用して復元された圧縮表現を復号するステップを含み得る。復号するステップは、第1の共有復号パラメータを使用して復元された圧縮表現に対して実行される第1の共有復号と、第1の適応復号パラメータを使用して復元された圧縮表現に対して実行される第1の適応復号との組み合わせに基づいて第1の合成出力を生成するステップを含み得る。復号するステップは、第2の共有復号パラメータを使用して第1の合成出力に対して実行される第2の共有復号と、第2の適応復号パラメータを使用して第1の合成出力に対して実行される第2の適応復号との組み合わせに基づいて第2の合成出力を生成するステップをさらに含み得る。
【0107】
いくつかの実施形態では、復号するステップは、第1の共有復号パラメータを有する第1の共有復号レイヤを使用して、復元された圧縮表現に対して第1の共有復号を実行するステップと、第1の適応復号パラメータを有する第1の適応復号レイヤを使用して、復元された圧縮表現に対して第1の適応復号を実行するステップと、第1の共有復号された入力画像と第1の適応復号された復元された圧縮表現とを合成して、第1の合成出力を生成するステップと、第2の共有復号パラメータを有する第2の共有復号レイヤを使用して、第1の合成出力に対して第2の共有復号を実行するステップと、を含み得る。復号するステップは、第2の適応復号パラメータを有する第2の適応復号レイヤを使用して、第1の合成出力に対して第2の適応復号を実行するステップをさらに含み得る。
【0108】
第1の合成出力の生成は、復元された圧縮表現および第1の共有復号パラメータに基づいて共有特徴を生成するステップと、予測ニューラルネットワークを使用して、復元された圧縮表現、受信された代替目標品質制御パラメータ、第1の適応復号パラメータ、および生成された共有特徴に基づいて推定された第1の適応復号パラメータを生成するステップとを含み得る。次いで、第1の合成出力は、生成された共有特徴および生成された推定された第1の適応復号パラメータに基づいて生成され得る。
【0109】
符号化ニューラルネットワークおよび復号ニューラルネットワークは、代替目標品質制御パラメータ、第1の共有符号化パラメータ、第1の適応符号化パラメータ、第1の共有復号パラメータ、および第1の適応復号パラメータに基づいて、代替目標品質制御パラメータに対応する訓練データのための内側ループ損失を生成することによって訓練され得る。訓練は、生成された内側ループ損失の勾配に基づいて、第1の共有符号化パラメータ、第1の適応符号化パラメータ、第1の共有復号パラメータ、および第1の適応復号パラメータを最初に更新するステップをさらに含み得る。次いで、訓練は、代替目標品質制御パラメータ、最初に更新された第1の共有符号化パラメータ、最初に更新された第1の適応符号化パラメータ、最初に更新された第1の共有復号パラメータ、および最初に更新された第1の適応復号パラメータに基づいて、代替目標品質制御パラメータに対応する検証データのためのメタ損失を生成するステップを含み得る。いくつかの実施形態では、訓練は、生成されたメタ損失の勾配に基づいて、最初に更新された第1の共有符号化パラメータ、最初に更新された第1の適応符号化パラメータ、最初に更新された第1の共有復号パラメータ、および最初に更新された第1の適応復号パラメータを2番目に更新するステップをさらに含み得る。
【0110】
図6は方法600の例示的なブロックを示すが、いくつかの実装形態では、方法600は、図6に描写されたブロックに比べて、更なるブロック、少ないブロック、異なるブロック、または異なる配置のブロックを含んでもよい。追加または代替として、方法600のブロックのうちの2つ以上は、並行して実施されてもよい。
【0111】
提案された方法は、別々に使用されてもよく、任意の順序で組み合わされてもよい。さらに、方法(または実施形態)、符号化器、および復号器の各々は、処理回路(例えば、1つもしくは複数のプロセッサまたは1つもしくは複数の集積回路)によって実装されてもよい。一例では、1つまたは複数のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。
【0112】
前述の開示は例示および説明を提供しているが、網羅的なものではなく、開示されたまさにその形態に実装形態を限定するものではない。上記の開示内容に照らして修正形態および変形形態が実現可能であり、または実装形態の実施により取得されてもよい。
【0113】
本明細書で使用される場合、コンポーネントという用語は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせとして広く解釈されることを意図している。
【0114】
本明細書に記載のシステムおよび/または方法は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとの組み合わせの異なる形態で実装されてもよいことは明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の専用の制御ハードウェアまたはソフトウェアコードは、実装形態を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェアおよびハードウェアは、本明細書の記載に基づいてシステムおよび/または方法を実装するように設計され得ることが理解される。
【0115】
特徴の組み合わせが特許請求の範囲に記載され、および/または本明細書に開示されているが、これらの組み合わせは、可能な実装形態の開示を限定することを意図されていない。実際には、これらの特徴の多くは、特許請求の範囲に具体的に列挙されていない、および/または本明細書に開示されていない方法で組み合わされてもよい。以下に列挙されている各従属請求項は1つの請求項のみに直接従属し得るが、可能な実装形態の開示は、請求項セット内の他のすべての請求項との組み合わせにおいて各従属請求項を含む。
【0116】
本明細書で使用される要素、行為、または指示は、明示的にそのように記載されていない限り、重要または必須であると解釈されなくてもよい。また、本明細書で使用される冠詞「a」および「an」は、1つまたは複数の項目を含むものであり、「1つまたは複数」と同じ意味で使用されてもよい。さらに、本明細書で使用される「セット」という用語は、1つまたは複数の項目(例えば、関連項目、非関連項目、関連項目と非関連項目の組み合わせなど)を含むものであり、「1つまたは複数」と同じ意味で使用されてもよい。1つの項目のみが対象とされる場合、「1つ」という用語または同様の言葉が使用される。また、本明細書で使用される「有する(has)」、「有する(have)」、「有する(having)」などの用語は、オープンエンド用語であることが意図される。さらに、「に基づいて」という語句は、特に明記されない限り、「に少なくとも部分的に基づいて」を意味するものである。
【符号の説明】
【0117】
100 環境
110 ユーザデバイス
120 プラットフォーム
122 クラウドコンピューティング環境
124 コンピューティングリソース
124-1 アプリケーション
124-2 仮想マシン
124-3 仮想化ストレージ
124-4 ハイパーバイザ
130 ネットワーク
200 デバイス
210 バス
220 プロセッサ
230 メモリ
240 ストレージコンポーネント
250 入力コンポーネント
260 出力コンポーネント
270 通信インターフェース
300A メタNICアーキテクチャ
300B メタNICアーキテクチャ
305 共有符号化NN
310 適応符号化NN
315 共有復号NN
320 適応復号NN
325 共有符号化レイヤi
330 共有符号化レイヤi+1
335 適応符号化レイヤi
340 適応符号化レイヤi+1
345 共有復号レイヤj
350 共有復号レイヤj+1
355 適応復号レイヤj
360 適応復号レイヤj+1
400A 装置
405 損失生成器
410 メタNIC符号化器
412 SEP推論部
414 AEP予測部
415 逆伝播モジュール
416 AEP推論部
420 メタNIC復号器
422 SDP推論部
424 ADP予測部
425 量子化およびエントロピー符号化器
426 ADP推論部
428 逆量子化およびエントロピー復号器
430 量子化およびレート推定器
500 訓練装置
510 タスクサンプラ
520 内側ループ損失生成器
530 内側ループ更新部
540 メタ損失生成器
550 メタ更新部
560 重み更新部
600 方法
図1
図2
図3A
図3B
図4A
図4B
図4C
図4D
図5
図6