(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-15
(45)【発行日】2024-01-23
(54)【発明の名称】敵対的生成器を用いたレート適応ニューラル画像圧縮のための方法及び装置
(51)【国際特許分類】
G06N 3/094 20230101AFI20240116BHJP
G06N 3/045 20230101ALI20240116BHJP
【FI】
G06N3/094
G06N3/045
(21)【出願番号】P 2022530201
(86)(22)【出願日】2021-07-20
(86)【国際出願番号】 US2021042292
(87)【国際公開番号】W WO2022020297
(87)【国際公開日】2022-01-27
【審査請求日】2022-05-24
(32)【優先日】2020-07-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-07-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-07-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-06-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】シュ,カイディ
(72)【発明者】
【氏名】ワン,ウエイ
(72)【発明者】
【氏名】ジャン,ウェイ
(72)【発明者】
【氏名】リィウ,シャン
【審査官】佐藤 実
(56)【参考文献】
【文献】Tong Chen et al.,Neural Image Compression via Non-Local Attention Optimization and Improved Context Modeling,arxiv.org,2019年10月11日,https://arxiv.org/abs/1910.06244
【文献】Fei Yang et al.,Variable Rate Deep Image Compression With Modulated Autoencoder,IEEE SIGNAL PROCESSING LETTERS,IEEE,2020年01月31日,VOL. 27,pp. 331-335,https://ieeexplore.ieee.org/document/8977394
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 - 3/126
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行される、敵対的生成器を用いたレート適応ニューラル画像圧縮の方法であって、
前記敵対的生成器の第1ニューラルネットワークの第1部分を使用して、入力画像の第1特徴を取得するステップと、
前記敵対的生成器の第2ニューラルネットワークを使用して、取得された前記第1特徴に基づいて第1代理特徴を生成するステップと、
前記敵対的生成器の前記第1ニューラルネットワークの第2部分を使用して、生成された前記第1代理特徴をエンコードし、第1エンコード表現を生成する、ステップと、
生成された前記第1エンコード表現を圧縮するステップと、
圧縮された前記第1エンコード表現を解凍するステップと、
第3ニューラルネットワークを使用して、解凍された前記第1エンコード表現をデコードし、第1出力画像を再構成する、ステップと、
を含み、
前記第2ニューラルネットワークは、敵対的生成ネットワーク訓練フレームワークを使用して、圧縮された前記第1エンコード表現のレート損失、及び、前記入力画像と再構成された前記第1出力画像との間で決定された歪み損失に基づいて訓練される、方法。
【請求項2】
前記第2ニューラルネットワークは、
前記第1ニューラルネットワークの第3部分を使用して、取得された前記第1特徴をエンコードし、第2エンコード表現を生成する、ステップと、
第4ニューラルネットワークを使用して、生成された前記第1エンコード表現と、生成された前記第2エンコード表現と、の間の表現識別損失を決定するステップと、
第5ニューラルネットワークを使用して、生成された前記第1代理特徴と、取得された前記第1特徴と、の間の特徴識別損失を決定するステップと、
決定された前記表現識別損失及び決定された前記特徴識別損失を使用して、前記第2ニューラルネットワーク、前記第4ニューラルネットワーク及び前記第5ニューラルネットワークの重みづけ係数を更新し、
前記レート損失、
前記歪み損失、
前記表現識別損失及び
前記特徴識別損失を最適化する、ステップと、
によって訓練される、
請求項1記載の方法。
【請求項3】
前記方法はさらに、
前記第1ニューラルネットワークを使用して、前記入力画像をエンコードし、前記第1エンコード表現を生成する、ステップと、
前記第3ニューラルネットワークの第1部分を使用して、解凍された前記第1エンコード表現から第2特徴を取得するステップと、
第4ニューラルネットワークを使用して、取得された前記第2特徴に基づいて第2代理特徴を生成するステップと、
前記第3ニューラルネットワークの第2部分を使用して、生成された前記第2代理特徴をデコードし、前記第1出力画像を再構成する、ステップと、を含む、
請求項1記載の方法。
【請求項4】
前記第4ニューラルネットワークは、
前記第3ニューラルネットワークの第3部分を使用して、取得された前記第2特徴をデコードし、第2出力画像と再構成する、ステップと、
第5ニューラルネットワークを使用して、再構成された前記第1出力画像と、再構成された前記第2出力画像と、の間の表現識別損失を決定するステップと、
第6ニューラルネットワークを使用して、生成された前記第2代理特徴と、取得された前記第2特徴と、の間の特徴識別損失を決定するステップと、
決定された前記表現識別損失及び決定された前記特徴識別損失を使用して、前記第4ニューラルネットワーク、前記第5ニューラルネットワーク及び前記第6ニューラルネットワークの重みづけ係数を更新し、
前記レート損失、
前記歪み損失、
前記表現識別損失及び
前記特徴識別損失を最適化する、ステップと、
によって訓練される、
請求項3記載の方法。
【請求項5】
前記第1ニューラルネットワークを使用して、前記入力画像の第3特徴を取得するステップと、
取得された前記第3特徴に基づくアテンションマップを生成するステップと、
をさらに含み、
前記第2代理特徴を生成するステップは、前記第4ニューラルネットワークを使用して、取得された前記第2特徴及び生成された前記アテンションマップに基づいて前記第2代理特徴を生成するステップを含む、
請求項3記載の方法。
【請求項6】
前記第3ニューラルネットワークの第1部分を使用して、解凍された前記第1エンコード表現から第3特徴を取得するステップと、
取得された前記第3特徴に基づいて、アテンションマップを生成するステップと、
をさらに含み、
前記第2代理特徴を生成するステップは、前記第4ニューラルネットワークを使用して、取得された前記第2特徴及び生成された前記アテンションマップに基づいて、前記第2代理特徴を生成するステップを含む、
請求項3記載の方法。
【請求項7】
前記第1ニューラルネットワークの前記第1部分を使用して、前記入力画像の第2特徴を取得するステップと、
取得された前記第2特徴に基づいて、アテンションマップを生成するステップと、
前記第1代理特徴を生成するステップは、前記第2ニューラルネットワークを使用して、取得された前記第1特徴及び生成された前記アテンションマップに基づいて、前記第1代理特徴を生成するステップを含む、
請求項1記載の方法。
【請求項8】
敵対的生成器を用いたレート適応ニューラル画像圧縮のための装置であって、
プログラムコードを格納するように構成された少なくとも1つのメモリと、
前記プログラムコードを読み込んで、前記プログラムコードによって指示されるように作動するように構成された少なくとも1つのプロセッサと、を備え、
前記プログラムコードは、請求項1乃至7いずれか1項記載の方法を前記少なくとも1つのプロセッサに実行させるように構成されている、装置。
【請求項9】
敵対的生成器を用いたレート適応ニューラル画像圧縮のために、少なくとも1つのプロセッサに請求項1乃至7いずれか1項記載の方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、米国特許商標庁に、2020年7月21日に出願された米国特許仮出願第63/054,648号、2020年7月21日に出願された米国特許仮出願第63/054,662号、2020年7月21日に出願された米国特許仮出願第63/054,665号、及び2021年6月24日に出願された米国特許出願第17/356,722号、に基づき、これらを基礎とする優先権を主張しており、それらの開示の全体が参照により本明細書に組み込まれている。
【背景技術】
【0002】
ISO/IEC MPEG (JTC 1/SC 29/WG 11)は、将来のビデオコーディング技術の標準化の潜在的ニーズを積極的に探求している。ISO/IEC JPEGは、ディープニューラルネットワーク(DNN)を用いたAIベースのエンドツーエンドニューラル画像圧縮に焦点を当てたJPEG‐AIグループを確立した。最近のアプローチの成功により、高度なニューラル画像及びビデオ圧縮方法論に産業上の関心がますます高まっている。
【0003】
柔軟なビットレート制御は、以前のニューラル画像圧縮(NIC)法では依然として困難な課題である。従来、所望のレート歪み(R‐D)ごとに、レートと歪みと(圧縮画像の品質)の間のトレードオフを個別に対象とする複数のモデルインスタンスのトレーニングが必要となり得る。これらの複数のモデルインスタンスは全て、異なるビットレートからの画像を再構成するために、デコーダ側に記憶され、配置される必要があり得る。これは、限られたストレージ及びコンピューティングリソースを有する多くのアプリケーションにとって、法外に高価であり得る。
【発明の概要】
【0004】
実施形態によれば、少なくとも1つのプロセッサによって実行される、敵対的生成器を用いたレート適応ニューラル画像圧縮の方法であって、第1ニューラルネットワークの第1部分を使用して、入力画像の第1特徴を取得するステップと、第2ニューラルネットワークを使用して、取得された第1特徴に基づいて第1代理特徴を生成するステップと、第1ニューラルネットワークの第2部分を使用して、生成された第1代理特徴をエンコードし、第1エンコード表現を生成する、ステップと、を含む。方法はさらに、生成された第1エンコード表現を圧縮するステップと、圧縮された表現を解凍するステップと、第3ニューラルネットワークを使用して、解凍された表現をデコードし、第1出力画像を再構成する、ステップと、を含む。
【0005】
実施形態によれば、敵対的生成器を用いたレート適応ニューラル画像圧縮のための装置であって、プログラムコードを格納するように構成された少なくとも1つのメモリと、プログラムコードを読み込んで、プログラムコードによって指示されるように作動するように構成された少なくとも1つのプロセッサと、を備える。プログラムコードは、少なくとも1つのプロセッサに、第1ニューラルネットワークの第1部分を使用して、入力画像の第1特徴を取得させるように構成された第1取得コードと、少なくとも1つのプロセッサに、第2ニューラルネットワークの第1部分を使用して、取得された第1特徴に基づいて第1代理特徴を生成させるように構成された第1生成コードと、少なくとも1つのプロセッサに、第1ニューラルネットワークの第2部分を使用して、生成された第1代理特徴をエンコードし、第1エンコード表現を生成させるように構成された第1エンコードコードと、を含む。プログラムコードはさらに、少なくとも1つのプロセッサに、生成された第1エンコードされた表現を圧縮させるように構成された圧縮コードと、少なくとも1つのプロセッサに、圧縮された表現を解凍させるように構成された解凍コードと、少なくとも1つのプロセッサに、第3ニューラルネットワークを使用して、解凍された表現をデコードさせ、第1出力画像を再構成させる、ように構成された第1デコードコードと、を含む。
【0006】
実施形態によれば、命令を格納する非一時的コンピュータ可読媒体であって、命令は、敵対的生成器を用いたレート適応ニューラル画像圧縮のために、少なくとも1つのプロセッサによって実行されるときに、前記少なくとも1つのプロセッサに、第1ニューラルネットワークの第1部分を使用して、入力画像の第1特徴を取得させ、第2ニューラルネットワークを使用して、取得された第1特徴に基づいて第1代理特徴を生成させ、第1ニューラルネットワークの第2部分を使用して、生成された第1代理特徴をエンコードし、第1エンコード表現を生成させる。命令は、少なくとも1つのプロセッサによって実行されるときに、少なくとも1つのプロセッサにさらに、生成された第1エンコード表現を圧縮させ、圧縮された表現を解凍させ、第3のニューラルネットワークを使用して、解凍された表現をデコードし、第1出力画像を再構成させる。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態による、本明細書に記載される方法、装置及びシステムが実施され得る環境の図である。
【0008】
【
図2】
図2は、
図1の1つ以上のデバイスの例示的な構成要素のブロック図である。
【0009】
【
図3】
図3は、実施形態による、エンコーダ側敵対的生成器を用いたレート適応ニューラル画像圧縮のためのテスト装置のブロック図である。
【0010】
【
図4】
図4は、実施形態による、エンコーダ側敵対的生成器を用いたレート適応ニューラル画像圧縮のための訓練装置のブロック図である。
【0011】
【
図5】
図5は、実施形態による、デコーダ側敵対的生成器を用いたレート適応ニューラル画像圧縮のためのテスト装置のブロック図である。
【0012】
【
図6】
図6は、実施形態による、デコーダ側の敵対的生成器によるレート適応ニューラル画像圧縮のための訓練装置のブロック図である。
【0013】
【
図7A】
図7Aは、実施形態による、アテンションベースの敵対的生成器を用いたレート適応ニューラル画像圧縮のためのテスト装置のブロック図である。
【
図7B】
図7Bは、実施形態による、アテンションベースの敵対的生成器を用いたレート適応ニューラル画像圧縮のためのテスト装置のブロック図である。
【
図7C】
図7Cは、実施形態による、アテンションベースの敵対的生成器を用いたレート適応ニューラル画像圧縮のためのテスト装置のブロック図である。
【0014】
【
図8A】
図8Cは、実施形態による、アテンションベースの敵対的生成器を用いたレート適応ニューラル画像圧縮のための訓練装置のブロック図である。
【
図8B】
図8Bは、実施形態による、アテンションベースの敵対的生成器を用いたレート適応ニューラル画像圧縮のための訓練装置のブロック図である。
【
図8C】
図8Cは、実施形態による、アテンションベースの敵対的生成器を用いたレート適応ニューラル画像圧縮のための訓練装置のブロック図である。
【0015】
【
図9】
図9は、実施形態による、敵対的生成器を用いたレート適応ニューラル画像圧縮の方法のフローチャートである。
【0016】
【
図10】
図10は、実施形態による、敵対的生成器を用いたレート適応ニューラル画像圧縮のための装置のブロック図である。
【発明を実施するための形態】
【0017】
本開示は、適応圧縮レートを有するNICフレームワークによって入力画像を圧縮するための方法及び装置を記載する。アンカー圧縮レートのために訓練されたモデルインスタンスは少数であり、アンカーモデルインスタンスを適応させることによって中間圧縮レートを達成するためにコンパクトな敵対的生成器が使用されている。さらに、アンカーモデルインスタンスを適応させることによって中間圧縮レートを達成するために、アテンションベースの敵対的生成器がエンコーダ側又はデコーダ側のいずれかで使用される。
【0018】
図1は、実施形態による、本明細書に記載される方法、装置及びシステムが実施され得る環境100の図である。
【0019】
図1に示すように、環境100は、ユーザ装置110、プラットフォーム120、及びネットワーク130を含むことができる。環境100のデバイスは、有線接続、無線接続、又は有線接続及び無線接続の組み合わせを介して相互接続することができる。
【0020】
ユーザデバイス110は、プラットフォーム120に関連する情報を受信、生成、記憶、処理、及び/又は提供することが可能な1つ以上のデバイスを含む。例えば、ユーザデバイス110は、コンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバ等)、携帯電話(例えば、スマートフォン、無線電話等)、ウェアラブルデバイス(例えば、スマート眼鏡又はスマートウオッチ)、又は類似のデバイスを含み得る。いくつかの実装形態では、ユーザデバイス110は、プラットフォーム120から情報を受信及び/又は送信することができる。
【0021】
プラットフォーム120は、本明細書の他の場所で記載されるように、1つ以上のデバイスを含む。いくつかの実装では、プラットフォーム120は、クラウドサーバ又はクラウドサーバのグループを含み得る。いくつかの実装では、プラットフォーム120は、ソフトウェアコンポーネントがスワップイン又はスワップアウトされ得るように、モジュール式に設計し得る。そのようなものとして、プラットフォーム120は、異なる使用のために、容易に及び/又は迅速に再構成され得る。
【0022】
いくつかの実装では、図示のように、プラットフォーム120は、クラウドコンピューティング環境122でホストすることができる。特に、本明細書に記載される実装は、プラットフォーム120をクラウドコンピューティング環境122でホストされるものとして記述されるが、一部の実装では、プラットフォーム120は、クラウドベースではなく(すなわち、クラウドコンピューティング環境の外部で実装され得る)、又は部分的にクラウドベースであってもよい。
【0023】
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含む。クラウドコンピューティング環境122は、プラットフォーム120をホストする、(1つ以上の)システム及び/又は(1つ以上の)デバイスの物理的なロケーション及び構成に関するエンドユーザー(例えばユーザデバイス110)の知識を必要としない計算、ソフトウェア、データアクセス、ストレージ等のサービスを提供することができる。図示のように、クラウドコンピューティング環境122は、コンピューティングリソース124のグループ(まとめて、「複数のコンピューティングリソース124」と称し、個別に「コンピューティングリソース124」と称する)を含み得る。
【0024】
コンピューティングリソース124は、1つ以上の、パーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、又は他の種類の計算及び/又は通信デバイスを含む。いくつかの実装では、コンピューティングリソース124はプラットフォーム120をホストすることができる。クラウドリソースは、コンピューティングリソース124において実行されるコンピューティングインスタンス、コンピューティングリソース124において提供される記憶デバイス、コンピューティングリソース124によって提供されるデータ転送デバイスなどを含み得る。いくつかの実装では、コンピューティングリソース124は、有線接続、無線接続、又は有線及び無線接続の組み合わせを介して、他のコンピューティングリソース124と通信することができる。
【0025】
図1にさらに示すように、コンピューティングリソース124は、1つ以上のアプリケーション(「APP」)124-1、1つ以上の仮想マシン(「VM」)124-2、仮想記憶デバイス(「VS」)124-3、1つ以上のハイパーバイザ(「HYP」)124-4等のクラウドリソースのグループを含む。
【0026】
アプリケーション124-1は、ユーザデバイス110及び/又はセンサデバイス120によって提供され又はアクセスされることができる1つ以上のソフトウェアアプリケーションを含む。アプリケーション124-1は、ユーザデバイス110上にソフトウェアアプリケーションをインストールし実行する必要をなくすことができる。例えば、アプリケーション124-1は、プラットフォーム120に関連するソフトウェア、及び/又はクラウドコンピューティング環境122を介して提供可能な他の任意のソフトウェアを含んでもよい。いくつかの実装では、1つのアプリケーション124-1は、仮想マシン124-2を介して、1つ以上の他のアプリケーション124-1との間で情報を送受信することができる。
【0027】
仮想マシン124-2は、物理マシンのようなプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装を含む。仮想マシン124-2は、仮想マシン124-2による実際のマシンへの使用及び対応の程度に応じて、システム仮想マシン又はプロセス仮想マシンのいずれであってもよい。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供することができる。プロセス仮想マシンは、単一のプログラムを実行し、単一のプロセスをサポートし得る。いくつかの実装では、仮想マシン124-2は、ユーザ(例えば、ユーザ装置110)に代わって実行することができ、データ管理、同期化、又は長時間データ転送などのクラウドコンピューティング環境122のインフラストラクチャを管理することができる。
【0028】
仮想ストレージ124-3は、ストレージシステム又はコンピューティングリソース124の内で仮想化技術を使用する1つ以上の記憶システム及び/又は1つ以上のデバイスを含む。いくつかの実装では、記憶システムのコンテキスト内で、仮想化のタイプは、ブロック仮想化及びファイル仮想化を含み得る。ブロック仮想化は、物理ストレージ又は異種ストラクチャ(heterogeneous structure)に関係なくストレージシステムにアクセスできるように、物理ストレージから論理ストレージを抽象化(又は分離)することを称し得る。この分離により、ストレージシステムの管理者は、エンドユーザに対してストレージを管理する方法に柔軟性を持たせることができる。ファイルの仮想化により、ファイルレベルでアクセスされるデータと、ファイルが物理的に保存されるロケーションとの間の依存関係が排除され得る。これにより、ストレージの使用、サーバの統合、及び/又は非破壊ファイル移行のパフォーマンスの最適化が可能になり得る。
【0029】
ハイパーバイザ124-4は、複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)が、コンピューティングリソース124などのホストコンピュータ上で同時に実行されることを可能にするハードウェア仮想化技術を提供することができる。ハイパーバイザ124-4は、仮想オペレーティングプラットフォームをゲストオペレーティングシステムに提示することができ、ゲストオペレーティングシステムの実行を管理することができる。様々なオペレーティングシステムの複数の例は、仮想化されたハードウェアリソースを共有することができる。
【0030】
ネットワーク130は、1つ以上の有線及び/又は無線ネットワークを含む。例えば、ネットワーク130は、セルラネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、コード分割多重アクセス(CDMA)ネットワーク等)、公衆陸上モバイルネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話ネットワーク(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバーベースのネットワークなど、及び/又はこれら又は他のタイプのネットワークの組み合わせを含み得る。
【0031】
図1に示すデバイス及びネットワークの数及び配置は、一例として提供される。実際には、
図1に示すものよりも、追加のデバイス及び/又はネットワーク、より少ないデバイス及び/又はネットワーク、異なるデバイス及び/又はネットワーク、又は異なる配置のデバイス及び/又はネットワークが存在し得る。さらに、
図1に示す2つ以上のデバイスは、単一のデバイス内に実装されてもよく、又は
図1に示す単一のデバイスは、複数の分散デバイスとして実装されてもよい。さらに又はあるいは、環境100のデバイスのセット(例えば、1つ以上のデバイス)は、環境100の別のデバイスセットによって実行されるものとして説明される1つ以上の機能を実行することができる。
【0032】
図2は、
図1の1つ以上のデバイスの例示的な構成要素のブロック図である。
【0033】
デバイス200は、ユーザデバイス110及び/又はプラットフォーム120に対応し得る。
図2に示すように、デバイス200は、バス210、プロセッサ220、メモリ230、ストレージ240、入力インタフェース250、出力インタフェース260、及び通信インタフェース270を含み得る。
【0034】
バス210は、デバイス200のコンポーネント間の通信を可能にする構成要素を含む。プロセッサ220は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせで実装される。プロセッサ220は、中央演算処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、加速処理ユニット(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は、他のタイプの処理コンポーネント、である。いくつかの実装形態では、プロセッサ220は、機能を実行するようにプログラムされることができる1つ以上のプロセッサを含む。メモリ230は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、及び/又は、プロセッサ220が使用するための情報及び/又は命令を格納する別のタイプの動的又は静的ストレージデバイス(例えば、フラッシュメモリ、磁気メモリ及び/又は光学メモリ)を含む。
【0035】
ストレージコンポーネント240は、デバイス200の操作及び使用に関連する情報及び/又はソフトウェアを格納する。例えば、ストレージ240は、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク及び/又は固体ディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、及び/又は対応するドライブとともに、別のタイプの非一時的コンピュータ読取可能媒体を含み得る。
【0036】
入力インタフェース250は、デバイス200が、例えば、ユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、及び/又はマイクロフォン)を介して情報を受信することを可能にするコンポーネントを含む。
さらに又はあるいは、入力インタフェース250は、情報を感知するためのセンサ(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、及び/又はアクチュエータ)を含み得る。出力インタフェース260は、デバイス200(例えば、ディスプレイ、スピーカ、及び/又は1つ以上の発光ダイオード(LED))からの出力情報を提供するコンポーネントを含む。
【0037】
通信インタフェース270は、デバイス200が、有線接続、無線接続、又は有線接続と無線接続の組み合わせなどを介して、他のデバイスと通信することを可能にする送受信器のようなコンポーネント(例えば、送受信器及び/又は別個の受信器及び送信器)を含む。通信インタフェース270によって、デバイス200は他のデバイスから情報を受信し、及び/又は他のデバイスに情報を提供することができることができる。例えば、通信インタフェース270は、イーサネット(登録商標)インタフェース、光インタフェース、同軸インタフェース、赤外線インタフェース、無線周波数(RF)インタフェース、汎用シリアルバス(USB)インタフェース、Wi-Fiインタフェース、セルラネットワークインタフェース等を含み得る。
【0038】
デバイス200は、本明細書において記載されている1つ以上のプロセスを実行し得る。デバイス200は、非一時的コンピュータ可読媒体、例えばメモリ230及び/又はストレージコンポーネント240、によって格納されるソフトウェア命令を実行するプロセッサ220に応答して、これらのプロセスを実行し得る。コンピュータ可読媒体は、固定メモリデバイスとして本明細書において定義されている。メモリデバイスには、単一の物理ストレージデバイス内のメモリスペース、又は複数の物理ストレージデバイスにまたがるメモリスペースが含まれる。
【0039】
ソフトウェア命令は、別のコンピュータ可読媒体から、又は通信インタフェース270を介して別のデバイスから、メモリ230及び/又はストレージ240に読み込まれることができる。実行される場合、メモリ230及び/又はストレージ240に格納されたソフトウェア命令は、プロセッサ220に、本明細書に記載の1つ以上のプロセスを実行させることができる。さらに又はあるいは、物理的に組み込まれた回路(hardwired circuitry)を、ソフトウェア命令の代わりに又はソフトウェア命令と組み合わせて使用されることができ、本明細書に記載の1つ以上のプロセスを実行することができる。したがって、本明細書で説明される実装は、ハードウェア回路とソフトウェアの特定の組み合わせに限定されない。
【0040】
図2に示すコンポーネントの数及び配置は、例として提供されてている。実際には、デバイス200は、
図2に示されるものよりも追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、又は異なる配置のコンポーネントを含み得る。さらに又はあるいは、デバイス200のコンポーネントのセット(例えば、1つ以上のコンポーネント)は、デバイス200の別のコンポーネントのセットによって実行されると記載される1つ以上の機能を実行することができる。
【0041】
以下、敵対的生成器を用いたレート適応ニューラル画像圧縮のための方法及び装置の詳細について説明する。
【0042】
本明細書に記載される実施形態は、マルチレートNICフレームワークを含み、そこでは、数個のNICモデルインスタンスのみが数個のアンカー圧縮レートをターゲットとして学習され、展開され、他方、他の中間圧縮レートは、アンカーモデルインスタンスを適合させるためにコンパクトな敵対的生成器を使用するか、又は、アテンションベースの敵対的生成器を使用することによって達成され、エンコーダ側又はデコーダ側のいずれかでアンカーモデルインスタンスを適合させる。生成器はコンパクトなDNNであり、基礎となる(underlying)NICモデル(例えば、NICモデルの2つの層の前又は間)に追加されるプラグインコンポーネントとして使用されることができ、生成器は、元のNICモデルの特徴(例えば、NICモデルの前に配置された場合は入力画像、2つの層の間に配置された場合は中間特徴マップ)から、特徴の代理を生成することを目的とする。従って、新たに生成された代理は、所望の圧縮レートを取得することができる。
【0043】
入力画像xが与えられた場合、NICワークフローのテストステージのターゲットは、以下のように記述される。圧縮表現
(外1)
(以下同様の記号を、y ̄等と表す場合もある)は、格納のためにコンパクトであり、伝送が計算される。その後、圧縮表現y ̄に基づいて、出力画像x ̄が再構成され、再構成された出力画像x ̄は、元の入力画像xと類似し得る。圧縮表現y ̄を計算するプロセスは2つの部分に分割され得る:DNNエンコード表現yを計算するためにテストDNNエンコーダを使用するDNNエンコードプロセスと、その後、テストエンコーダを通してyがエンコードされ、圧縮表現y ̄を生成する、エンコードプロセスである。したがって、デコードプロセスは、2つの部分に分割される:圧縮表現y ̄が、テストデコーダによってデコードされ(典型的にはデコード及び脱量子化又は逆量子化(dequantization)を含む)、復元されたy’ ̄を生成する、デコードプロセスと、その後、復元された表現y’ ̄が、テストDNNデコーダによって使用され、イメージx ̄を再構成する、DNNデコードプロセスである。本開示においては、DNNエンコードに使用されるテストDNNエンコーダのネットワーク構造、又は、DNNデコードに使用されるテストDNNデコーダのネットワーク構造に制限はない。エンコード又はデコードのどちらにも使用される方法(量子化方法及びエントロピーコーディング方法)には制約がない。
【0044】
NICモデルを学習するために、2つの競合するターゲットが取り扱われる:より良い再構成品質対より少ないビット消費である。損失関数D(x,x ̄)が再構成誤差を測定するために使用され、これは、ピーク信号対雑音比(PSNR)及び/又は構造的類似性指数測度(SSIM)等の、歪み損失と称される。レート損失R(y ̄)は、圧縮表現y ̄のビット消費を測定するために計算される。したがって、トレードオフハイパーパラメータλは、同時R‐D損失を最適化するために使用される:
【数1】
【0045】
大きなハイパーパラメータλを用いた訓練は、より小さな歪みを有するがビット消費がより多い圧縮モデルをもたらし、逆もまた同様である。伝統的に、各所定のハイパーパラメータλに対して、NICモデルインスタンスが訓練され、これは、ハイパーパラメータλの他の値に対してはうまく機能しない。したがって、圧縮ストリームの複数のビットレートを達成するために、1つの所望のハイパーパラメータλを1つにターゲットする(one targeting one desired hyperparameter λ)、複数のモデルインスタンスを訓練及び格納する必要があり得る。
【0046】
本開示において、レート適応NICフレームワークは、エンコーダ側又はデコーダ側のいずれかでアドオンコンパクトな敵対的生成器を使用し、1つのアンカーR‐Dトレードオフハイパーパラメータλ0値について訓練されたモデルインスタンスを、別の中間ハイパーパラメータλt値に適合させる。その結果、マルチレートNICを実現するために、ごく少数のアンカーモデル員スタンツは、ターゲットアンカーR‐Dトレードオフ値に対して訓練し、展開されることができ、一方、関心のある残りの中間R‐Dトレードオフ値は、敵対的生成器によって生成できる。敵対的生成器はコンパクトなDNNであり、ストレージと計算の両方の点ではるかに小さいため、このフレームワークは、関心のあるすべてのハイパーパラメータλに対してすべてのモデルインスタンスを訓練及び展開する従来のアプローチよりも、マルチレートNICに対してはるかに効率的である。
【0047】
図3は、実施形態による、エンコーダ側敵対的生成器を用いたレート適応ニューラル画像圧縮のためのテスト装置300のブロック図である。
【0048】
図3に示すように、テスト装置300は、テストDNNエンコーダ310、代理生成器320、テストDNNエンコーダ330、テストエンコーダ340、テストデコーダ350、及びテストDNNデコーダ360を含む。
【0049】
代理生成器320は、既存のNICモデルにプラグイン可能なアドオンコンポーネントである敵対的生成器である。一般性を損なうことなく、NIC DNNからのテストDNNデコーダとテストDNNエンコーダがあり、モデルインスタンスM0は、ターゲットアンカーλ0値に対して訓練される。このモデルインスタンスMoは、生成器Gλ0→λtを使用することによって適応され、ターゲットλt値に対して訓練された可能性がある仮想NICモデルインスタンスMtの圧縮効果を達成する。また、生成器Gλ0→λtが、i番目のレイヤと(i+1)番目のレイヤとの間でテストDNNエンコーダにプラグインされると想定する。(i+1)番目のレイヤの入力(i番目のレイヤの出力)は、特徴fである。従って、元のNICモデルの元のDNNエンコードプロセスは、2つの部分に分離することができ、そこでは、入力画像xは、DNNエンコード部分1モジュールを通過し、テストDNNエンコーダ310部分1を使用して特徴fを計算し、次に、fは、テストDNNエンコーダ330部分2を使用してDNNエンコード表現yを計算するDNNエンコード部分2モジュールを通過する。
【0050】
生成器が全体のテストDNNエンコーダ(すなわち、i=0)の前に置かれる場合、特徴fは入力画像xであり、テストDNNエンコーダ330部分2は全体の元のテストDNNエンコーダを含む。
【0051】
プラグインされた敵対的生成器G
λ0→λtを用いて、特徴fは代理生成器320を通過し、代理特徴
(外2)
(以下同様の記号を、f^等と表す場合もある)(異なる又は拡張された特徴)が計算され、f^は(fに代えて)、テストDNNエンコーダ330部分2を通過し、代理特徴f^のDNNエンコード表現y^を計算する。y^に基づいて、エンコードモジュールは、テストエンコーダ340を使用して、圧縮表現y ̄を計算する。その後、デコーダ側で、y ̄(復元表現)に基づいて、復元表現y’ ̄は、テストデコーダ350を使用してデコードプロセスを通して計算されることができる。その後、DNNデコードモジュールは、テストDNNデコーダ360を使用して、y’ ̄に基づいて、再構成された出力画像x ̄を計算する。圧縮表現y ̄及び再構成された出力画像x ̄は、ターゲットのλ
t値で式(1)のほぼ最適なR‐D損失(すなわち、R‐D損失をλ
tで最適化することによって訓練された可能性がある仮想モデルM
tに類似したR‐D損失)を有する。
【0052】
本開示では、代理生成器320のDNNネットワーク構造には何ら制限がない。これは基礎となるNICモデルよりもはるかに小さい可能性がある。
【0053】
実施形態において、所与のターゲットλt値に対して、ターゲットλtに適応するためのアンカーλ0のアンカーモデルインスタンスが、λtに最も近いλ0を有するものとして(as the one with λ0 closest to λt)選択される。また、本開示の実施形態は、1つのアンカーλ0値にわたって(over)訓練された1つのモデルインスタンスのみを有し、他のすべての中間R‐Dトレードオフ値は、各中間λtに1つずつ、さまざまなコンパクト生成器を介してシミュレートされる。
【0054】
図4は、実施形態による、エンコーダ側の敵対的生成器を用いたレート適応ニューラル画像圧縮のための訓練装置400のブロック図である。
【0055】
図4に示すように、訓練装置400は、訓練DNNエンコーダ405、代理生成器410、訓練DNNエンコーダ415、訓練エンコーダ420、レート損失生成器425、訓練復号器430、訓練DNN復号器435、歪み損失生成器440、訓練DNNエンコーダ445、表現識別損失生成器450、特徴識別損失生成器455、及び重み付け更新部分460を含む。
【0056】
NICモデルは、ターゲットλ0を用いて式(1)のR‐D損失を最適化するために、モデルインスタンスM0として予め訓練される。生成器Gλ0→λtは、基礎となるNICモデルを再訓練することなく、別の関心のあるλtにM0モデルを適合させることを学習した。テストステージと同様に、対応する訓練DNNエンコーダは、2つの部分に分割される:訓練DNNエンコーダ405部分1と訓練DNNエンコーダ415部分2である。
【0057】
トレーニングデータセットS(x∈S)からの入力訓練画像xは、先ずDNNエンコード部分1モジュールを通過し、モデルインスタンスM0からの事前訓練された訓練DNNエンコーダ405部分1を使用して特徴fを計算する。その後代理生成器410は、現在の生成器Gλ0→λtを使用し、代理特徴f^を計算する(所望の圧縮レートを取得するために別の又は拡張された特徴が使用される)。再び、代理生成器410はDNNであり、実施形態では、入力fに基づいて代理摂動δ(f)を計算し、代理特徴f^はf^=f+δ(f)として計算される。代理f^はその後、DNNエンコード部分2モジュールを通過して、予め訓練されたモデルインスタンスMoからの訓練DNNエンコーダ415部分2を使用することによって、DNNエンコード化表現y^を計算する。次に、エンコードプロセスは、トレーニングエンコーダ420を使用して、圧縮表現y ̄を計算する。y ̄を使用すると、レート損失生成器425はレート損失R(y ̄)を計算する。次に、デコードモジュールは、訓練デコーダ430を使用することによって、y’ ̄に基づいて解凍された表現を計算し、DNNデコードプロセスは、訓練DNNデコーダ435を使用することによって、再構成された出力画像x ̄をさらに生成する。歪み損失生成器440は、再構成された「x」と元の入力画像xとの間の歪み損失D(x,x ̄)を計算する。レート損失R(y ̄)は、エンコード表現y ̄のビットレートに関連し、実施形態では、エントロピー推定アプローチが、レート損失R(y ̄)を計算するためにレート損失生成器として使用される。関心のあるターゲットλtを使用して、式(1)のR‐D損失はL(x,x ̄,y ̄)=D(x,x ̄)+λtR(y ̄)として計算できる。
【0058】
同時に、元の特徴fを使用して、DNNエンコード部分2モジュールは、訓練DNNエンコーダ445を使用して、DNNエンコード表現yを生成することもできる。y^及びyの両方に基づいて、表現識別損失生成器450は、計算表現識別損失処理を介して、表現識別損失Dr(y^,y)を計算する。実施形態において、表現識別損失生成器450は、代理特徴f^に基づいて生成される表現y^から、元の特徴fに基づいて生成されるエンコード特徴表現yを識別するDNNである。例えば、表現識別損失生成器450は、元の特徴から生成された表現を1つのクラスとして識別し、代理特徴から生成された表現を別のクラスとして識別することができる。また、元の特徴f及び置換特徴f^に基づいて、特徴識別損失生成器455は、特徴識別損失処理を通して特徴識別損失D
f(f^,f)を計算することができる。実施形態において、特徴識別損失生成器455は、代理特徴f^から元の特徴fを識別するDNNである。例えば、特徴識別損失生成器455は、元の特徴を1つのクラスとして、代理特徴を別のクラスとして識別するバイナリDNN分類器であり得る。特徴識別損失D
f(f^,f)及び表現識別損失D
r(y^,y)に基づいて、重み付け更新部分460は、(αをハイパーパラメータとして)敵対的損失A(f^,f,y^,y)を式(2)として計算する:
【数2】
【0059】
L(x,x ̄,y ̄)及びA(f^,f,y^,y)に基づいて、重み付け更新部分460は、バックプロパゲーション最適化を通して勾配を使用するDNNモデルの訓練可能な部分の重み付け係数を更新する。
【0060】
実施形態において、モデルインスタンスM0(訓練DNNエンコーダ405、415又は445、訓練エンコーダ420、訓練デコーダ430及び訓練DNNデコーダ435を含む)の重み付け係数は、上記した訓練ステージの間、固定又は修正(fixed)される。また、レート損失生成器425も予め決定され、固定又は修正される。代理生成器410、特徴識別損失生成器455、及び表現識別損失生成器450の重み付け係数は、上述した訓練ステージを通して、敵対的生成ネットワーク(GAN)訓練フレームワークによって訓練可能であり、更新される。例えば、実施形態では、R‐D損失L(x,x ̄,y ̄)の勾配が、代理生成器410の重み付け係数を更新するために使用され、敵対的損失A(f^,f,y^,y)の勾配が、特徴識別損失生成器455及び表現識別損失生成器450の重み付け係数を更新するために使用される。
【0061】
本開示では、モデルインスタンスM0及びレート損失生成器425が決定される事前訓練プロセスに制限はない。一例として、実施形態では、訓練画像Spreのセットは、訓練データセットSと同一又は異なり得る、事前訓練プロセスで使用される。各画像x∈Spreについて、DNNエンコード、エンコード、デコード、DNNデコードを介して同じ前向き推論計算が実行され、エンコードされた表現y ̄及び再構成されたx ̄が計算される。その後、歪み損失D(x,x ̄)とレート損失R(y ̄)を計算した。その後、事前訓練ハイパーパラメータλpreが与えられた場合、全体R‐D損失L(x,x ̄,y ̄)は、式(1)に基づいて計算することができ、その勾配は、バックプロパゲーションを介して、訓練DNNエンコーダ405、415又は445、訓練エンコーダ420、訓練デコーダ430、訓練DNNデコーダ435、及びレート損失生成器425の重み付けを更新するために使用される。
【0062】
また、実施形態において、訓練DNNエンコーダ405部分1、訓練DNNエンコーダ415部分2、及び訓練DNNデコーダ435は、対応するテストDNNエンコーダ310部分1、テストDNNエンコーダ330部分2、及びテストDNNデコーダ360と同じであることにも言及する価値がある。一方、訓練エンコーダ420及び訓練デコーダ430は、対応するテストエンコーダ340及びテストデコーダ350とは異なる。例えば、テストエンコーダ340及びテストデコーダ350は、それぞれ、汎用テスト量子化器及びテストエントロピーエンコーダ、並びに、汎用テストエントロピーデコーダ及びテスト逆量子化器(dequantizer)を含む。訓練エンコーダ420及び訓練デコーダ430の各々は、テスト量子化器及びテスト逆量子化器のそれぞれの効果を近似する統計サンプラを使用する。エントロピーエンコーダ及びデコーダは、訓練ステージではスキップされる。
【0063】
図5は、実施形態による、デコーダ側敵対的生成器を用いたレート適応ニューラル画像圧縮のためのテスト装置500のブロック図である。
【0064】
図5に示すように、テスト装置500は、テストDNNエンコーダ510、テストエンコーダ520、テストデコーダ530、テストDNNデコーダ540、代理生成器550、及びテストDNNデコーダ560を含む。
【0065】
代理生成器550は、既存のNICモデルにプラグイン可能なアドオンコンポーネントである敵対的生成器である。一般性を損なうことなく、テストDNNエンコーダとNIC DNNからのテストDNNデコーダがあり、モデルインスタンスM0はターゲットアンカーλ0値に対して訓練される。このモデルインスタンスM0は、生成器Gλ0→λtを使用することによって適応され、ターゲットλt値に対して訓練された可能性がある仮想NICモデルインスタンスMtの圧縮効果を達成する。また、生成器Gλ0→λtが、i番目のレイヤと(i+1)番目のレイヤとの間でテストDNNデコーダにプラグインされると想定する。(i+1)番目のレイヤの入力(i番目のレイヤの出力)は、特徴fである。従って、元のNICモデルの元のDNNデコードプロセスは、2つの部分に分離することができ、そこでは、入力復元表現y’ ̄は、DNNデコード部分1モジュールを通過し、テストDNNデコーダ540部分1を使用して特徴fを計算し、その後、fはDNNデコード部分2モジュールを通過し、テストDNNデコーダ560部分2を使用して再構成されたx ̄を計算する。
【0066】
生成器がテストDNNデコーダ全体の前に配置される(つまり、i=0)場合、特徴fは入力復元表現y’ ̄であり、テストDNNデコーダ560部分2は元のテストDNNデコーダ全体を含む。
【0067】
したがって、入力画像xが与えられると、DNNエンコードプロセスは、テストDNNエンコーダ510を使用して、エンコードプロセスにおいてテストエンコーダ520を通してさらにエンコードされるDNNエンコード表現yを計算する。その後デコーダ側では、圧縮表現y ̄がテストデコーダ530によってデコードされて、デコードモジュールにおいて復元された表現y’ ̄が生成される。その後、DNNデコード部分1モジュールは、テストDNNデコーダ540部分1を使用して、y’ ̄に基づいて特徴fを計算する。プラグインされた敵対的生成器Gλ0→λtを用いて、特徴fは代理生成器550を通過し、代理特徴f^を計算し、f^は(fの代わりに)、DNNデコード部分2モジュールを通過して、テストDNNデコーダ560部分2によって再構成された出力画像x ̄を計算する。圧縮表現y ̄及び再構成された出力画像x ̄は、ターゲットのλt値で式(1)のほぼ最適なR‐D損失(すなわち、R‐D損失をλtで最適化することによって訓練された仮想モデルMtに類似したR‐D損失)を有する。
【0068】
本開示では、生成器のDNNネットワーク構造には何ら制限がない。これは基礎となるNICモデルよりもはるかに小さい可能性がある。
【0069】
実施形態において、所与のターゲットλt値に対して、ターゲットλtに適応するためのアンカーλ0のアンカーモデルインスタンスが、λ0がλtに最も近いものとして選択される。また、本開示の実施形態は、1つのアンカーλ0値にわたって訓練された1つのモデルインスタンスのみを有し、他のすべての中間R‐Dトレードオフ値は、各中間λtに1つずつ、さまざまなコンパクト生成器を介してシミュレートされる。
【0070】
図6は、実施形態による、デコーダ側の敵対的生成器を用いたレート適応ニューラル画像圧縮のための訓練装置600のブロック図である。
【0071】
図6に示すとおり、訓練装置600は、訓練DNNエンコーダ605、訓練エンコーダ610、レート損失生成器615、訓練復号器620、訓練DNN復号器625、代理生成器630、訓練DNN復号器635、歪み損失生成器640、訓練DNN復号器645、再構成識別損失生成器650、特徴識別損失生成器655、及び重み付け更新部分660、を含む。
【0072】
NICモデルは、ターゲットλ0を用いて式(1)のR‐D損失を最適化するために、モデルインスタンスM0として予め訓練される。生成器Gλ0→λtは、NICモデルを再訓練することなく、別の関心のあるλtにM0モデルを適合させることを学習した。テストステージと同様に、対応する訓練DNNエンコーダは、2つの部分に分割される:訓練DNNエンコーダ625部分1と訓練DNNエンコーダ635部分2である。
【0073】
訓練データセットS(x∈S)からの入力訓練イメージxは、まず、DNNエンコードモジュールを通過して、訓練DNNエンコーダ605に基づいてDNNエンコード表現y^を計算する。その後、エンコードプロセスは、トレーニングエンコーダ610を使用して、圧縮表現y ̄を計算する。y ̄に基づいて、レート損失生成器615はレート損失R(y ̄)を計算する。その後デコーダ側で、デコードモジュールは、訓練デコーダ620を使用することによって、y ̄に基づいて解凍された表現y’ ̄を計算する。次に、解凍されたy’ ̄は、DNNデコード部分1モジュールを通過して、モデルインスタンスM0から事前訓練されたDNNデコーダ625部1を使用して特徴fを計算する。その後、代理生成器630は、現在の生成器Gλ0→λtを使用して、代理特徴f^を計算する。再び、代理生成器630はDNNであり、実施形態では、入力fに基づいて代理摂動δ(f)を計算し、代理特徴f^はf^=f+δ(f)として計算される。代理f^はその後、DNNデコード部分2モジュールを通過して、予め訓練されたモデルインスタンスM0からの訓練DNNデコーダ635部分2を使用することによって、再構成された出力画像x ̄を計算する。歪み損失生成器640は、再構成されたx ̄と元の入力画像xとの間の歪み損失D(x,x ̄)を計算する。レート損失R(y ̄)は、エンコード表現y ̄のビットレートに関連し、実施形態では、エントロピー推定アプローチが、レート損失R(y ̄)を計算するためにレート損失生成器615として使用される。関心のあるターゲットλtを使用して、式(1)のR‐D損失はL(x,x ̄,y ̄)=D(x,x ̄)+λtR(y ̄)として計算できる。
【0074】
同時に、元の特徴fを使用して、訓練DNNデコーダ645部分2モジュールは、再構成された出力画像x^も計算することができる。x^及びx ̄の両方に基づいて、再構成識別損失生成器650は、再構成識別損失プロセスを計算することによって、再構成識別損失L
r(x^,x ̄)を計算する。実施形態において、再構成識別損失生成器650は、代理特徴f^に基づいて生成される再構成された出力画像x ̄から、元の特徴fに基づいて生成される再構成された出力画像x^を識別するDNNである。例えば、再構成識別損失生成器650は、元の特徴から生成された再構成出力画像を1つのクラスとして識別し、代理特徴から生成された再構成出力画像を別のクラスとして識別するバイナリDNN分類器であり得る。また、元の特徴f及び代理特徴f^に基づいて、特徴識別損失生成器655は、特徴識別損失プロセスの計算によって特徴識別損失L
f(f^,f)を計算することができる。実施形態において、特徴識別損失生成器655は、代理特徴f^から元の特徴fを識別するDNNである。例えば、特徴識別損失生成器655は、元の特徴を1つのクラスとして、代理特徴を別のクラスとして識別するバイナリDNN分類器であり得る。特徴識別損失L
f(f^,f)及び再構成識別損失L
r(x^,x ̄)に基づいて、重み付け更新部660は、(αをハイパーパラメータとして)敵対的損失A(f^,f,x^,x ̄)を式(3)として計算する:
【数3】
【0075】
L(x,x ̄,y ̄)及びA(f^,f,x^,x ̄)に基づいて、重み付け更新部660は、バックプロパゲーション最適化を通して勾配を使用するDNNモデルの訓練可能な部分の重み付け係数を更新する。
【0076】
実施形態において、モデルインスタンスM0(訓練DNNエンコーダ605、訓練エンコーダ610、訓練デコーダ620及び訓練DNNデコーダ625,635又は645を含む)の重み付け係数は、上記した訓練ステージの間、固定又は修正(fixed)される。また、レート損失生成器615も予め決定され、固定又は修正される。代理生成器630、特徴識別損失生成器655、及び再構成識別損失生成器650の重み付け係数は、上述した訓練ステージを通して、GAN訓練フレームワークによって、訓練可能であり、更新される。例えば、実施形態では、R‐D損失L(x,x ̄,y ̄)の勾配が、代理生成器630の重み付け係数を更新するために使用され、敵対的損失A(f^,f,y^,y)の勾配が、特徴識別損失生成器655及び再構成識別損失生成器650の重み付け係数を更新するために使用される。
【0077】
本開示では、モデルインスタンスM0及びレート損失生成器615が決定される事前訓練プロセスに制限はない。一例として、実施形態では、訓練画像Spreのセットは、訓練データセットSと同一又は異なり得る、事前訓練プロセスで使用される。各画像x∈Spreについて、DNNエンコード、エンコード、デコード、DNNデコードを介して同じ前向き推論計算が実行され、エンコードされた表現y ̄及び再構成されたx ̄が計算される。その後、歪み損失D(x,x ̄)とレート損失R(y ̄)を計算した。その後、事前訓練ハイパーパラメータλpreが与えられた場合、全体R‐D損失L(x,x ̄,y ̄)は、式(1)に基づいて計算することができ、その勾配は、バックプロパゲーションを介して、訓練DNNエンコーダ605、訓練エンコーダ610、訓練デコーダ620、訓練DNNデコーダ625、635又は645、及びレート損失生成器615の重み付けを更新するために使用される。
【0078】
また、実施形態では、訓練DNNエンコーダ605、訓練DNNデコーダ625パート1、及び訓練DNNデコーダ635パート2は、対応するテストDNNエンコーダ510、テストDNNデコーダ540部分1、及びテストDNNデコーダ560部分2と同一であることに言及する価値がある。一方、訓練エンコーダ610及び訓練デコーダ620は、対応するテストエンコーダ520及びテストデコーダ530とは異なる。例えば、テストエンコーダ520及びテストデコーダ530は、それぞれ、汎用テスト量子化器及びテストエントロピーエンコーダ、並びに、汎用テストエントロピーデコーダ及びテスト逆量子化器を含む。訓練エンコーダ610及び訓練デコーダ620の各々は、テスト量子化器及びテスト逆量子化器のそれぞれの効果を近似する統計サンプラを使用する。
エントロピーエンコーダ及びデコーダは、訓練ステージではスキップされる。
【0079】
図7A、7B及び7Cは、実施形態による、アテンションベースの敵対的生成器を用いたレート適応ニューラル画像圧縮のためのテスト装置700A、700B及び700Cのブロック図である。
【0080】
アテンションベースの敵対的生成器は、エンコーダ側(
図7A)又はデコーダ側(
図7B及び7C)のいずれかの、既存のNICモデルにプラグインすることができるアドオンコンポーネントであり、R‐Dトレードオフ適応の間、アテンションモデルによって生成されたアテンションマップを使用して、重要情報に自動的に焦点を合わせる。アテンションベースの敵対的生成器がアテンションモデルの出力を使用するので、アテンションモデルは、エンコーダ側(
図7A及び7B)又はデコーダ側(
図7C)のいずれかで、生成器の前に配置される必要がある。
【0081】
一般性を損なうことなく、NIC DNNからのテストDNNデコーダ及びテストDNNエンコーダがあり、モデルインスタンスM0はターゲットアンカーλ0値に対して訓練される。このモデルインスタンスM0は、生成器Gλ0→λtを使用することによって適応され、ターゲットλt値に対して訓練された仮想NICモデルインスタンスMtの圧縮効果を達成する。また、生成器Gλ0→λtが、i番目のレイヤと(i+1)番目のレイヤとの間のテストDNNエンコーダ、又はi番目のレイヤと(i+1)番目のレイヤとの間のテストDNNデコーダにプラグインされると仮定する。(i+1)番目のレイヤの入力(i番目のレイヤの出力)は、特徴fである。
【0082】
図7Aに示すように、テスト装置700Aは、テストDNNエンコーダ705、代理生成器710、テストDNNエンコーダ715、テストエンコーダ720、テストデコーダ725、テストDNNデコーダ730、及びアテンション生成器735を含む。
【0083】
代理生成器710がエンコーダ側に配置されると、元のNICモデルの元のDNNエンコードプロセスは、2つの部分に分離することができ、そこで、入力画像xは、DNNエンコード部分1モジュールを通過し、テストDNNエンコーダ705 part 1を使用して特徴fを計算し、その後、fは、DNNエンコード部分2モジュールを通過し、テストDNNエンコーダ715部分2を使用してDNNエンコード表現yを計算する。代理生成器710が全テストDNNエンコーダ(すなわち、i=0)の前に置かれると、特徴fは入力画像xであり、テストDNNエンコーダ715部分2は、元の全テストDNNエンコーダを含む。
【0084】
図7B及び7Cに示すように、テスト装置700B又は700Cは、テストDNNエンコーダ740、テストエンコーダ745、テストデコーダ750、テストDNNデコーダ755、代理生成器760、及びテストDNNデコーダ765を含む。
図7Bのテスト装置700Bは、アテンション生成器770を含み、
図7Cのテスト装置700Cは、アテンション生成器775を含む。
【0085】
代理生成器760がデコーダ側に配置されると、元のNICモデルの元のDNNデコードプロセスは、2つの部分に分離することができ、そこでは、入力復元表現y’ ̄は、DNNデコード部分1モジュールを通過し、テストDNNデコーダ755部分1を使用して特徴fを計算し、その後、fはDNNデコード部分2モジュールを通過し、テストDNNデコーダ765部分2を使用して再構成されたx ̄を計算する。代理生成器760が全テストDNNデコーダ(すなわち、i=0)の前に置かれると、特徴fは入力復元表現y’ ̄であり、テストDNNエンコーダ765部分2は、元の全テストDNNエンコーダを含む。
【0086】
図7A~
図7Cを参照すると、一般性を損なうことなく、DNNであって、j番目のレイヤと(j+1)番目のレイヤとの間のテストDNNエンコーダ、又はj番目のレイヤと(j+1)番目のレイヤとの間のテストDNNデコーダにプラグインされるアテンションモデルがあり、j≦i。(j+1)番目のレイヤの入力(j番目のレイヤの出力)は、特徴aであり、アテンション生成器は、aに基づいてアテンションマップa ̄を生成する。したがって、アテンションモデルを全テストDNNエンコーダの前に置くと(すなわち、j=0)、特徴aは入力画像xである。アテンションモデルを全テストDNNデコーダの前に置くと、特徴aは入力復元表現y’ ̄である。
【0087】
図7Aを参照すると、入力画像xが与えられれば、生成器G
λ0→λtがエンコーダ側に配置される構成に対して、xは、DNNエンコード部分1モジュールを通過し、テストDNNエンコーダ705部分1を用いて特徴fを計算する。また、特徴aは、テストDNNエンコーダ705部分1のj番目のレイヤの出力及び(j+1)番目のレイヤの入力として、アテンション生成器735を通過し、アテンションモデルを用いて、アテンションマップa ̄を生成する。その後、特徴f及びアテンションマップa ̄は、代理生成器710を通過し、代理特徴f^を計算し、f^は(fに代えて)、DNNエンコード部分2モジュールを通過し、テストDNNエンコーダ715部分2によってDNNエンコード表現y^を計算する。y^に基づいて、エンコードモジュールは、テストエンコーダ720を使用して、圧縮代表y ̄を計算する。その後、デコーダ側で、y ̄に基づいて、復元表現y’ ̄は、テストデコーダ725を使用してデコードプロセスを介して計算されることができる。その後、DNNデコードモジュールは、テストDNNデコーダ730を使用して、y’ ̄に基づいて、再構成された出力画像 ̄xを計算する。圧縮表現y ̄及び再構成された出力画像x ̄は、ターゲットのλ
t値で式(1)のほぼ最適なR‐D損失(すなわち、R‐D損失をλ
tで最適化することによって訓練された仮想モデルM
tに類似したR‐D損失)を有する。
【0088】
図7B及び7Cを参照すると、生成器G
λ0→λtがエンコーダ側に配置される構成に対して、入力画像xで、DNNエンコードプロセスはテストDNNエンコーダを使用し、DNNエンコード表現yを計算し、それはさらに、テストエンコーダ745を介してエンコードプロセスにおいてエンコードされて、圧縮表現y ̄を生成する。その後、デコーダ側で、圧縮表現y ̄は、テストデコーダ750によってデコードされ、デコードモジュール内で復元されたy′ ̄を生成する。その後、DNN復デコード部分1モジュールは、テストDNNデコーダ755部1を用いて、y’ ̄に基づいて特徴fを計算する。
【0089】
図7Bに表した構成では、特徴aは、テストDNNエンコーダ740のj番目のレイヤの出力及び(j+1)番目のレイヤの入力として、アテンション生成器770を通過し、アテンションモデルを用いて、アテンションマップa ̄を生成する。
【0090】
図7Cに表した構成では、特徴aは、テストDNNエンコーダ755部分1のj番目のレイヤの出力及び(j+1)番目のレイヤの入力として、アテンション生成器755を通過し、アテンションモデルを用いて、アテンションマップa ̄を生成する。
【0091】
プラグインされた敵対的生成器Gλ0→λtを用いて、特徴f及びアテンションマップa ̄は、代理生成器760を通過し、代理特徴f^を計算し、f^は(fに代えて)、DNNデコード部分2モジュールを通過し、テストDNNデコーダ765部分2によって再構成された出力画像x ̄を計算する。圧縮表現y ̄及び再構成された出力画像x ̄は、ターゲットのλt値で式(1)のほぼ最適なR‐D損失(すなわち、R‐D損失をλtで最適化することによって訓練された仮想モデルMtに類似したR‐D損失)を有する。
【0092】
本開示では、アテンションモデルのDNNネットワーク構造に制限はない。実施形態において、アテンションマップa ̄は、特徴fと同じ形状を有し、アテンションマップの大きな値は、fの対応する特徴がより重要であることを意味し、その逆もまた同様である。
【0093】
本開示では、代理生成器710又は760のDNNネットワーク構造には何ら制限がない。実施形態では、代理生成器710又は760は、基礎となるNICモデルよりもはるかに小さく、入力特徴f及び入力アテンションマップaは、例えば、要素ごとの乗算によって組み合わされ、アテンションマスクされた入力を生成して生成器DNNを通過する。
【0094】
実施形態において、所与のターゲットλt値に対して、ターゲットλtに適応するためのアンカーλ0のアンカーモデルインスタンスが、λtに最も近いλ0を有するものとして選択される。また、本開示の実施形態は、1つのアンカーλ0値にわたって訓練された1つのモデルインスタンスのみを有し、他のすべての中間R‐Dトレードオフ値は、各中間λtに1つずつ、さまざまなコンパクト生成器を介してシミュレートされる。
【0095】
図8A、8B、及び8Cは、実施形態による、アテンションベースの敵対的生成器によるレート適応ニューラル画像圧縮のための訓練装置800A、800B、及び800Cのブロック図である。
【0096】
NICモデルは、ターゲットλ
0を用いて式(1)のR‐D損失を最適化するために、モデルインスタンスM
0として予め訓練される。生成器G
λ0→λtは、基礎となるNICモデルを再訓練することなく、別の関心のあるλ
tにM
0モデルを適合させることを学習した。対応するテストステージと同様に、生成器がエンコーダ側に配置されたときのワークフローを示し、対応する訓練DNNエンコーダは、2つの部分に分割されており:訓練DNNエンコーダ802部分1と訓練DNNエンコーダ806部分2である。
図8B及び8Cは、ジェネレータが生成器側に配置されたときのワークフローを示し、対応する訓練DNNエンコーダは、2つの部分に分割されており:訓練DNNデコーダ834部分1と訓練DNNデコーダ838部分2である。
【0097】
図8Aに示すとおり、訓練装置800Aは、訓練DNNエンコーダ802、代理生成器804、訓練DNNエンコーダ806、訓練エンコーダ808、訓練デコーダ810、訓練DNNデコーダ812、アテンション生成器814、レート損失生成器816、歪み損失生成器818、特徴識別損失生成器820、訓練DNNエンコーダ822、代表識別損失生成器824及び重み付け更新部分826を含む。
【0098】
生成器がエンコーダ側に配置されると、訓練データセットS(x∈S)から入力訓練画像xが与えられ、まず、DNNエンコード部分1モジュールを通過して、モデルインスタンスM0から事前訓練された訓練DNNエンコーダ802部分11を使用して特徴fが計算される。また、訓練DNNエンコーダ802のj番目のレイヤの出力及び(j+1)レイヤの入力として特徴aはアテンション生成器814を通過して、アテンションモデルを用いて、アテンションマップa ̄を生成する。その後、特徴f及びアテンションマップa ̄は、代理生成器804を通過し、現在の生成器Gλ0→λtを使用して代理特徴f^を計算する。実施形態では、アテンションマップa ̄及び特徴fは、同じ形状を有し、これらは、例えば、要素ごとの乗算によって組み合わされて、アテンションマスクされた入力f ̄を生成し、代理生成器804を通過させ、アテンションマスクされた入力に基づいて代理摂動δ(f ̄)を計算する。代理特徴f^はf^=f+δ(f)として計算される。代理f^はその後、DNNエンコード部分2モジュールを通過して、予め訓練されたモデルインスタンスMoからの訓練DNNエンコーダ806部分2を使用することによって、DNNエンコード表現y^を計算する。次に、エンコードプロセスは、訓練エンコーダ808を使用して、圧縮表現y ̄を計算する。y ̄を使用すると、レート損失生成器816はレート損失R(y ̄)を計算する。その後、デコードモジュールは、訓練デコーダ810を使用することによって、y’ ̄に基づいて解凍された表現を計算し、DNNデコードプロセスは、訓練DNNデコーダ812を使用することによって、再構成されたx ̄をさらに生成する。歪み損失生成器818は、再構成されたx ̄と元の入力画像xとの間の歪み損失D(x,x ̄)を計算する。レート損失R(y ̄)は、エンコードされた表現のビットレートy ̄に関係し、実施形態では、エントロピー推定アプローチは、レート損失R(y ̄)を計算するためにレート損失生成器816によって使用される。関心のあるターゲットλtを使用して、式(1)のR‐D損失はL(x,x ̄,y ̄)=D(x,x ̄)+λtR(y ̄)として計算できる。
【0099】
図8B及び
図8Cに示すように、訓練装置800B又は800Cは、訓練DNNエンコーダ828、訓練エンコーダ830、訓練デコーダ832、訓練DNNデコーダ834、代理生成器836、訓練DNNデコーダ838、レート損失生成器842、歪み損失生成器844、特徴識別損失生成器846、訓練DNNデコーダ848、再構成識別損失生成器850、及び重み付け更新部分852を含む。
図8Bの訓練装置800Bは、アテンション生成器840を含み、
図8Cの訓練装置800Cは、アテンション生成器854を含む。
【0100】
図8B及び8Cを参照すると、生成器がデコーダ側に配置されたときに、訓練データセットS(x∈S)からの入力訓練イメージxは、まず、DNNエンコードモジュールを通過して、訓練DNNエンコーダ828に基づいてDNNエンコード表現yを計算する。その後、エンコードプロセスは、トレーニングエンコーダ830を使用して、圧縮表現y ̄を計算する。y ̄に基づいて、レート損失生成器842はレート損失R(y ̄)を計算する。その後、復号器側では、復号モジュールは、訓練復号器832を使用して、yに基づいて解凍されたy′を計算する。次に、解凍されたy’ ̄は、DNNデコード部分1モジュールを通過して、モデルインスタンスM
0から事前訓練されたDNNデコーダ834部1を使用して特徴fを計算する。
【0101】
図8Bに表した構成では、特徴aは、訓練DNNエンコーダ828のj番目のレイヤの出力及び(j+1)番目のレイヤの入力として、アテンション生成器840を通過し、アテンションモデルを用いて、アテンションマップa ̄を生成する。プラグインされた敵対的生成器G
λ0→λtを用いて、特徴f及びアテンションマップa ̄は、代理生成器836を通過し、代理特徴f^を計算する。
図8Aと同様に、実施形態では、アテンションマップa ̄及び特徴fは、同じ形状を有し、これらは、例えば、要素ごとの乗算によって組み合わされて、アテンションマスクされた入力f ̄を生成し、代理生成器836を通過させ、アテンションマスクされた入力に基づいて代理摂動δ(f ̄)を計算する。代理特徴f^はf^=f+δ(f)として計算される。代理f^はその後、DNNデコード部分2モジュールを通過して、予め訓練されたモデルインスタンスM
0から、訓練DNNデコーダ838部分2を使用することによって、再構成された出力画像x ̄を計算する。歪み損失生成器844は、再構成されたx ̄と元の入力画像xとの間の歪み損失D(x,x ̄)を計算する。レート損失R(y ̄)は、エンコード表現y ̄のビットレートに関連し、実施形態では、エントロピー推定アプローチが、レート損失R(y ̄)を計算するためにレート損失生成器842として使用される。関心のあるターゲットλ
tを使用して、式(1)のR‐D損失はL(x,x ̄,y ̄)=D(x,x ̄)+λ
tR(y ̄)として計算できる。
【0102】
図8Cに表した構成では、特徴aは、訓練DNNデコーダ834部分1のj番目のレイヤの出力及び(j+1)番目のレイヤの入力として、アテンション生成器を通過し、アテンションモデルを用いて、アテンションマップa ̄を生成する。
図8Bの上記のケースと同様に、特徴f及びアテンションマップa ̄は、代理生成器836を通過し、代理特徴f^を計算し、実施形態では、アテンションマップa ̄及び特徴fは、同じ形状を有し、それらは、例えば、要素ごとの乗算によって組み合わされ、アテンションマスクされた入力f^を生成して、代理生成器836を通過する。代理生成気836は、アテンションマスクされた入力に基づいて代理摂動(substitutional perturbation)を計算し、代理特徴f^はf^=f+δ(f)として計算される。代理f^はその後、DNNデコード部分2モジュールを通過して、予め訓練されたモデルインスタンスM
0から、訓練DNNデコーダ838部分2を使用することによって、再構成された出力画像x ̄を計算する。歪み損失生成器844は、再構成されたx ̄と元の入力画像xとの間の歪み損失D(x,x ̄)を計算する。レート損失R(y ̄)は、エンコード表現y ̄のビットレートに関連し、実施形態では、エントロピー推定アプローチが、レート損失R(y ̄)を計算するためにレート損失生成器842として使用される。関心のあるターゲットλ
tを使用して、式(1)のR‐D損失はL(x,x ̄,y ̄)=D(x,x ̄)+λ
tR(y ̄)として計算できる。
【0103】
図8A~
図8Cを同時に参照すると、元の特徴及び置換特徴rに基づいて、特徴識別損失生成器820又は846は、特徴識別損失処理によって特徴識別損失L
f(f^,f)を計算することができる。実施形態において、特徴識別損失生成器820又は846は、代理特徴f^から元の特徴fを識別するDNNである。例えば、特徴識別損失生成器820又は846は、元のアテンションマスクされた特徴を1つのクラスとして、代理特徴を別のクラスとして識別するバイナリDNN分類器であることができる。
【0104】
また、
図8Aのように生成器がエンコーダ側にある場合、元の特徴fを使用して、訓練DNNエンコーダ822部分2は、DNNエンコード表現yも生成することができる。y^及びyの両方に基づいて、表現識別損失生成器824は、計算表現識別損失プロセスを介して、表現識別損失L
r(y^,y)を計算する。実施形態において、表現識別損失生成器824は、代理特徴f^に基づいて生成される表現y^から、元の特徴fに基づいて生成されるエンコード特徴表現yを識別するDNNである。例えば、表現識別損失生成器824は、元の特徴から生成された表現を1つのクラスとして識別し、代理特徴から生成された表現を別のクラスとして識別することができる。
【0105】
図8b及び8Cのように、生成器がデコーダ側にある場合、元の特徴fを使用して、訓練DNNデコーダ848部分2は、再構成された出力画像x^も計算することができる。x^及びx ̄の両方に基づいて、再構成識別損失生成器850は、再構成識別損失プロセスを計算することによって、再構成識別損失L
r(x^,x ̄)を計算する。実施形態において、表現識別損失生成器850は、代理特徴f^に基づいて生成される再構成された出力画像x ̄から、元の特徴fに基づいて生成される再構成された出力画像x^を識別するDNNである。例えば、再構成識別損失生成器850は、元の特徴から生成された再構成出力画像を1つのクラスとして識別し、代理特徴から生成された再構成出力画像を別のクラスとして識別するバイナリDNN分類器であり得る。
【0106】
図8Aに示すように、生成器がエンコーダ側にあるときに、特徴識別損失L
f(f^,f)及び再構成識別損失L
r(x^,x ̄)に基づいて、重み付け更新部826は、(αをハイパーパラメータとして)敵対的損失A(f^,f,x^,x ̄)を式(4)として計算する:
【数4】
【0107】
L(x,x ̄,y ̄)及びA(f^,f,y^,y,)を使用して、重み付け更新部826は、バックプロパゲーション最適化を通して勾配を使用するDNNモデルの訓練可能な部分の重み付け係数を更新する。実施形態において、モデルインスタンスM0(訓練DNNエンコーダ802部分1、訓練DNNエンコーダ806部分2、訓練エンコーダ808、訓練デコーダ810及び訓練DNNデコーダ812を含む)の重み付け係数は、上記した訓練ステージの間、固定又は修正(fixed)される。また、レート損失生成器816も予め決定され、固定又は修正される。代理生成器804、特徴識別損失生成器820、及び表現識別介して、GAN訓練フレームワークによって、訓練可能であり、更新される。例えば、実施形態では、R‐D損失L(x,x ̄,y ̄)の勾配が、代理生成器804の重み付け係数を更新するために使用され、敵対的損失A(f^,f,y^,y)の勾配が、特徴識別損失生成器820及び表現識別損失生成器824の重み付け係数を更新するために使用される。
【0108】
図8B及び8Cに示すように、生成器がデコーダ側にあるときに、特徴識別損失L
f(f^,f)及び再構成識別損失L
r(x^,x ̄)に基づいて、重み付け更新部852は、(αをハイパーパラメータとして)敵対的損失A(f^,f,x^,x ̄)を式(5)として計算する:
【数5】
【0109】
L(x,x ̄,y ̄)及びA(f^,f,x^,x ̄)に基づいて、重み付け更新部852は、バックプロパゲーション最適化を通して勾配を使用するDNNモデルの訓練可能な部分の重み付け係数を更新する。実施形態において、モデルインスタンスM0(訓練DNNエンコーダ828、訓練エンコーダ830、訓練デコーダ832、訓練DNNデコーダ834部分1及び訓練DNNデコーダ838部分2を含む)の重み付け係数は、上記した訓練ステージの間、固定又は修正(fixed)される。また、レート損失生成器842も予め決定され、固定又は修正される。代理生成器836、特徴識別損失生成器846、及び表現識別損失生成器850の重み付け係数は、上述した訓練ステージを通して、GAN訓練フレームワークによって訓練可能であり、更新される。例えば、実施形態では、R‐D損失L(x,x ̄,y ̄)の勾配が、代理生成器836の重み付け係数を更新するために使用され、敵対的損失A(f^,f,y^,y)の勾配が、特徴識別損失生成器846及び再構成識別損失生成器850の重み付け係数を更新するために使用される。
【0110】
本開示では、モデルインスタンスM0及びレート損失生成器425が決定される事前訓練プロセスに制限はない。一例として、実施形態では、訓練画像Spreのセットは、訓練データセットSと同一又は異なり得る、事前訓練プロセスで使用される。各画像x∈Spreについて、DNNエンコード、エンコード、デコード、DNNデコードを介して同じ前向き推論計算が実行され、エンコードされた表現y ̄及び再構成されたx ̄が計算される。その後、歪み損失D(x,x ̄)とレート損失R(y ̄)を計算することができる。その後、事前訓練ハイパーパラメータλpreが与えられた場合、全体R‐D損失L(x,x ̄,y ̄)は、式(1)に基づいて計算することができ、その勾配は、バックプロパゲーションを介して、訓練DNNエンコーダ802、806又は828、訓練エンコーダ808又は830、訓練デコーダ810又は832、訓練DNNデコーダ812、834又は838、及びレート損失生成器816又は843の重み付けを更新するために使用される。
【0111】
それは、実施形態において、
図8Aのエンコーダ側の代理生成器804ケースについて、訓練DNNエンコーダ802部分1、訓練DNNエンコーダ806部分2、及び訓練DNNデコーダ812は、対応するテストDNNエンコーダ705部分1、テストDNNエンコーダ715部分2、及びテストDNNデコーダ730と同じであることにも言及する価値がある。同様に、
図8B及び8Cにおけるデコーダ側の代理生成器836について、訓練DNNエンコーダ828、訓練DNNデコーダ834部分1及び訓練DNNデコーダ838部分2は、、対応するテストDNNエンコーダ740、テストDNNデコーダ755部分1及びテストDNNデコーダ765と同じである。一方では、訓練エンコーダ808又は830及び訓練デコーダ810又は832は、対応するテストエンコーダ720又は745及びテストデコーダ725又は750と異なる。例えば、テストエンコーダ720又は745及びテストデコーダ725又は750は、それぞれ、汎用テスト量子化器及びテストエントロピーエンコーダ、並びに、汎用テストエントロピーデコーダ及びテスト逆量子化器(dequantizer)を含む。訓練エンコーダ808又は830及び訓練デコーダ810又は832の各々は、統計サンプラを使用して、テスト量子化器及びテスト逆量子化器のそれぞれの効果を近似する。エントロピーエンコーダ及びデコーダは、訓練ステージではスキップされる。
【0112】
図9は、実施形態による、敵対的生成器を用いたレート適応ニューラル画像圧縮の方法900のフローチャートである。
【0113】
いくつかの実装形態では、
図491つ以上のプロセスブロックは、プラットフォーム120によって実行され得る。いくつかの実装において、
図9の1つ以上のプロセスブロックは、ユーザデバイス110などのプラットフォーム110から分離されているか又はプラットフォーム120を含む、別のデバイス又はデバイスの群によって実行され得る。
【0114】
図9に示すとおり、動作910において、方法900は、第1ニューラルネットワークの第1部分を使用して、入力画像の第1特徴を取得するステップを含む。
【0115】
動作920において、方法900は、第2ニューラルネットワークを使用して、取得された第1特徴に基づいて第1代理特徴を生成するステップを含む。
【0116】
動作930において、方法900は、第1ニューラルネットワークの第2部分を使用して、生成された第1代理特徴をエンコードし、第1エンコード表現を生成する、ステップを含む。
【0117】
動作940において、方法900は、生成された第1エンコード表現を圧縮するステップを含む。
【0118】
動作950において、方法900は、圧縮された表現を解凍するステップを含む。
【0119】
動作960において、方法900は、第3ニューラルネットワークを使用して、解凍された表現をデコードし、第1出力画像を再構成する、ステップと、を含む。
【0120】
第2ニューラルネットワークは、圧縮された表現のレート損失を決定するステップと、入力画像と、再構成された第1出力画像と、の間の歪み損失を決定するステップと、第1ニューラルネットワークの第3部分を使用して、取得された第1特徴をエンコードし、第2エンコード表現を生成する、ステップと、第4ニューラルネットワークを使用して、生成された第1エンコード表現と、生成された第2エンコード表現との間の表現歪み損失を決定するステップと、第5ニューラルネットワークを使用して、生成された第1代理特徴と、取得された第1特徴と、の間の特徴識別損失を決定するステップと、第2ニューラルネットワーク、第4ニューラルネットワーク及び第5ニューラルネットワークの重みづけ係数を更新し、決定されるレート損失、決定される歪み損失、決定される表現識別損失及び決定される特徴識別損失を最適化する、ステップと、
によって訓練され得る。
【0121】
方法900は、さらに、前記第1ニューラルネットワークを使用して、入力画像をエンコードし、第1エンコード表現を生成する、ステップと、第3ニューラルネットワークの第1部分を使用して、解凍された表現から第2特徴を取得するステップと、第4ニューラルネットワークを使用して、取得された第2特徴に基づいて第2代理特徴を生成するステップと;第3ニューラルネットワークの第2部分を使用して、生成された第2代理特徴をデコードし、第1出力画像を再構成する、ステップと、を含む。
【0122】
第4のニューラルネットワークは、圧縮された表現のレート損失を決定するステップと、入力画像と、再構成された第1出力画像と、の間の歪み損失を決定するステップと、第3ニューラルネットワークの第3部分を使用して、取得された第2特徴をデコードし、第2出力画像を再構成する、ステップと、第5ニューラルネットワークを使用して、再構成された第1出力画像と、再構成された第2出力画像と、の間の表現識別損失を決定するステップと、と第6ニューラルネットワークを使用して、生成された第2代理特徴と、取得された第2特徴と、の間の特徴識別損失を決定するステップと、第4ニューラルネットワーク、第5ニューラルネットワーク及び第6ニューラルネットワークの重みづけ係数を更新し、決定されたレート損失、決定された歪み損失、決定された表現識別損失及び決定された特徴識別損失を最適化する、ステップと、によって訓練されることができる。
【0123】
方法900は、さらに、第1ニューラルネットワークを使用して、入力画像の第3特徴を取得するステップと、取得された第3特徴に基づいて、アテンションマップを生成するステップと、第2代理特徴を生成するステップは、第4ニューラルネットワークを使用して、取得された第2特徴及び生成されたアテンションマップに基づいて、第2代理特徴を生成するステップを含む。
【0124】
方法900は、さらに、
第3ニューラルネットワークの第1部分を使用して、解凍された表現から第3特徴を取得するステップと、取得された第3特徴に基づいて、アテンションマップを生成するステップと、を含む。第2代理特徴を生成するステップは、第4ニューラルネットワークを使用して、取得された第2特徴及び生成されたアテンションマップに基づいて、第2代理特徴を生成する、ステップを含むことができる。
【0125】
方法900は、さらに、
第1ニューラルネットワークの第1部分を使用して、入力画像の第2特徴を取得するステップと、取得された前記第2特徴に基づいて、アテンションマップを生成するステップと、を含む固代ができる。第1代理特徴を生成するステップは、第2ニューラルネットワークを使用して、取得された第1特徴及び生成されたアテンションマップに基づいて、第1代理特徴を生成するステップと、を含むことができる。
【0126】
図9は、方法900のブロック例を示しているが、いくつかの実装において、方法900は、
図9に示されたものよりも、追加のブロック、より少ないブロック、異なるブロック、又は異なって配置のブロックを含み得る。さらに又はあるいは、方法900のブロックのうちの2つ以上は、並行して実施され得る。
【0127】
図10は、実施形態による、敵対的生成器を用いたレート適応ニューラル画像圧縮のための装置1000のブロック図である。
【0128】
図10に示すとおり、装置1000は、第1取得コード1010と、第1生成コード1020と、第1エンコードコード1030と、圧縮コード1040と、解凍コード1050と、第1デコードコード1060と、を含む。
【0129】
第1取得コード1010は、少なくとも1つのプロセッサに、第1ニューラルネットワークの第1部分を使用して、入力画像の第1特徴を取得させるように構成されている。
【0130】
第1生成コード1020は、少なくとも1つのプロセッサに、第2ニューラルネットワークを使用して、取得された第1特徴に基づいて第1代理特徴を生成させるように構成されている。
【0131】
第1エンコードコード1030は、少なくとも1つのプロセッサに、第1ニューラルネットワークの第2部分を使用して、生成された第1代理特徴をエンコードし、第1エンコード表現を生成させるように構成されている。
【0132】
圧縮コード1040は、少なくとも1つのプロセッサに、生成された第1エンコード第1表現を圧縮させるように構成されている。
【0133】
解凍コード1050は、少なくとも1つのプロセッサに、圧縮された表現を解凍させるように構成されている。
【0134】
第1デコードコード1060は、少なくとも1つのプロセッサに、第3ニューラルネットワークを使用して、解凍された表現をデコードさせ、第1出力画像を再構成させる、ように構成されている。
【0135】
第2ニューラルネットワークは、圧縮された表現のレート損失を決定するステップと、入力画像と、再構成された第1出力画像と、の間の歪み損失を決定するステップと、第1ニューラルネットワークの第3部分を使用して、取得された第1特徴をエンコードし、第2エンコード表現を生成する、ステップと、第4ニューラルネットワークを使用して、生成された第1エンコード表現と、生成された第2エンコード表現との間の表現識別損失を決定するステップと、第5ニューラルネットワークを使用して、生成された第1代理特徴と、取得された第1特徴と、の間の特徴識別損失を決定するステップと、第2ニューラルネットワーク、第4ニューラルネットワーク及び第5ニューラルネットワークの重みづけ係数を更新し、決定されるレート損失、決定される歪み損失、決定される表現識別損失及び決定される特徴識別損失を最適化する、ステップと、によって訓練されることができる。
【0136】
装置1000はさらに、少なくとも1つのプロセッサに、第1ニューラルネットワークを使用して、入力画像をエンコードし、第1エンコード表現を生成させるように構成された第2エンコードコードと、少なくとも1つのプロセッサに、第3ニューラルネットワークの第1部分を使用して、解凍された表現から第2特徴を取得させるように構成された第2取得コードと、少なくとも1つのプロセッサに、第4ニューラルネットワークを使用して、取得された第2特徴に基づいて第2代理特徴を生成させるように構成された第2生成コードと、少なくとも1つのプロセッサに、第3ニューラルネットワークの第2部分を使用して、生成された第2代理特徴をデコードさせ、第1出力画像を再構成させる、ように構成された第2デコードコードとを含むことができる。
【0137】
第4のニューラルネットワークは、圧縮された表現のレート損失を決定するステップと、入力画像と、再構成された第1出力画像と、の間の歪み損失を決定するステップと、第3ニューラルネットワークの第3部分を使用して、取得された第2特徴をデコードし、第2出力画像と再構成する、ステップと、第5ニューラルネットワークを使用して、再構成された第1出力画像と、再構成された第2出力画像と、の間の表現識別損失を決定するステップと、第6ニューラルネットワークを使用して、生成された第2代理特徴と、取得された第2特徴と、の間の特徴識別損失を決定するステップと、第4ニューラルネットワーク、第5ニューラルネットワーク及び第6ニューラルネットワークの重みづけ係数を更新し、決定されたレート損失、決定された歪み損失、決定された表現識別損失及び決定された特徴識別損失を最適化する、ステップと、によって訓練されることができる。
【0138】
装置1000は、さらに、少なくとも1つのプロセッサに、第1ニューラルネットワークを使用して、入力画像の第3特徴を取得させるように構成された第3取得コードと、少なくとも1つのプロセッサに、取得された第3特徴に基づいて、アテンションマップを生成させるように構成された第3生成コードと、を含むことができる。第2生成コードはさらに、少なくとも1つのプロセッサに、第4ニューラルネットワークを使用して、取得された第2特徴及び生成されたアテンションマップに基づいて、第2代理特徴を生成させる、ように構成されている。
【0139】
装置1000はさらに、少なくとも1つのプロセッサに、第3ニューラルネットワークの第1部分を使用して、解凍された表現から第3特徴を取得させるように構成された第3取得コードと、少なくとも1つのプロセッサに、取得された第3特徴に基づいて、アテンションマップを生成させるように構成された第3生成コードと、を含むことができる。第2生成コードはさらに、前記少なくとも1つのプロセッサに、第2代理特徴を生成させ、第4ニューラルネットワークを使用して、取得された第2特徴及び生成されたアテンションマップに基づいて、第2代理特徴を生成させるステップを含むように構成されている。
【0140】
装置1000は、さらに、少なくとも1つのプロセッサに、第1ニューラルネットワークの第1部分を使用して、入力画像の第2特徴を取得させるように構成された第2取得コードと、少なくとも1つのプロセッサに、取得された第2特徴に基づいて、アテンションマップを生成するように構成された第2生成コードと、を含む。第1生成コード1020は、さらに、少なくとも1つのプロセッサに、第2ニューラルネットワークを使用して、取得された第1特徴及び生成されたアテンションマップに基づいて、第1代理特徴を生成させる、ように構成されている。
【0141】
従来のエンドツーエンド(E2E)画像圧縮方法と比較して、記載された実施形態は、以下の新しい特徴を有する。コンパクトな敵対的生成器は、アンカーR‐Dトレードオフλ0値について訓練されたNICモデルインスタンスを適応し、中間R‐Dトレードオフλt値の圧縮効果をシミュレートする。共通生成器は、データ不可知的な方法でNICモデルインスタンスを適応させるためにオフラインで訓練され、従って、適応のためにオンライン学習又はフィードバックが必要とされない。
【0142】
従来のE2E画像圧縮方法と比較して、記載された実施形態は、以下のような利点を有する:マルチレート圧縮を達成するための、大幅に低減された展開ストレージ、及び、様々なタイプのNICモデルを収容する柔軟なフレームワーク。さらに、アテンションベースの生成器は、モデル適応のための顕著な情報に焦点を当てることができる。
【0143】
方法は、別々に又は任意の順序で組み合わせて用いられることができる。さらに、方法(又は実施形態)、エンコーダ、及びデコーダの各々は、処理回路(例えば、1つ以上のプロセッサ、又は1つ以上の集積回路)によって実装され得る。一実施例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に格納されたプログラムを実行する。
【0144】
前述の開示は、図示及び解説を提供するが、網羅的であることを意図するものではなく、また、実施形態を開示された正確な形態に限定することを意図するものでもない。変更及び変形は、上記の教示に照らして可能であるか、又は実施形態の実施から取得することができる。
【0145】
本明細書で使用される場合、用語「構成要素」は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組み合わせとして広く解釈されることを意図している。
【0146】
本明細書に記載したシステム及び/又は方法は、ハードウェア、ファームウェア、又はハードウェアとソフトウェアの組み合わせの異なる形態で実施することができることは明らかであろう。これらのシステム及び/又は方法を実施するために使用される実際の特殊化された制御ハードウェア又はソフトウェアコードは、実施を制限するものではない。したがって、システム及び/又は方法の動作及び挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェア及びハードウェアは、本明細書の記載に基づいてシステム及び/又は方法を実施するように設計され得ることが理解される。
【0147】
特徴の組み合わせが特許請求の範囲に記載され、及び/又は、明細書に開示されているとしても、これらの組み合わせは、可能な実施の開示を制限するものではない。実際、これらの特徴の多くは、請求項に具体的に記載されていない、及び/又は明細書に開示されていない方法で組み合わせることができる。以下に列挙される各従属クレームは、1つの請求項のみに直接従属し得るが、可能な実装の開示には、特許請求の範囲内の他のすべての請求項と組み合わされた各従属請求項が含まれる。
【0148】
本明細書中で使用される要素、作用、又は命令は、明示的に記述されない限り、重要又は必須と解釈されない。また、本明細書で使用される「1つ(”a” and ”an”)」という用語は、1つ以上のアイテムを含むことを意図し、「1つ以上(”one or more.”)」と互換的に使用することができる。さらに、本明細書で使用される「セット(”set”)」という用語は、1つ以上のアイテム(例えば、関連アイテム、非関連アイテム、関連アイテムと非関連アイテムとの組み合わせ等を含むことを意図し、「1つ以上」と互換的に使用することができる。1つのアイテムのみが意図される場合、用語「1つ(”one”)」又は類似の言語が使用される。また、本明細書で使用される場合、「有する、備える、持つ(”has,” ”have,” ”having”)」などの用語は、自由形式の用語(open-ended terms)であることが意図されている。さらに、「に基づく(”based on”)」という句は、特に明記しない限り、「少なくとも部分的に、に基づく(”based, at least in part, on”)」を意味することを意図している。