(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-11
(45)【発行日】2024-01-19
(54)【発明の名称】スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための方法および装置
(51)【国際特許分類】
G06N 3/0455 20230101AFI20240112BHJP
【FI】
G06N3/0455
(21)【出願番号】P 2022527965
(86)(22)【出願日】2021-06-22
(86)【国際出願番号】 US2021038476
(87)【国際公開番号】W WO2022005817
(87)【国際公開日】2022-01-06
【審査請求日】2022-05-13
(32)【優先日】2020-06-29
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-06-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジアン,ウエイ
(72)【発明者】
【氏名】ワン,ウエイ
(72)【発明者】
【氏名】リィウ,シャン
【審査官】佐藤 実
(56)【参考文献】
【文献】特開2018-190396(JP,A)
【文献】Chuanmin Jia et al.,Layered Image Compression using Scalable Auto-encoder,2019 IEEE Conference on Multimedia Information Processing and Retrieval (MIPR),IEEE,2019年03月28日,pp.431-436,https://ieeexplore.ieee.org/document/8695403
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/045
(57)【特許請求の範囲】
【請求項1】
スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための方法であって、
前記方法は、少なくとも1つのプロセッサによって実行され、かつ、
前記方法は、
先行ハイパーパラメータに対応する第1ニューラルネットワークの重み付けに係る第1先行セットにおいて、
既に学習された重み付けを固定し、次のハイパーパラメータをターゲットとして、レート歪み損失を使用して、新たに追加された重み付けを更新し、現在ハイパーパラメータに対応する第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセットを反復してスタックするステップであり、
前記ハイパーパラメータは、レート歪み損失を最適化するように使用され、前記第1ニューラルネットワークの重み付けに係る前記第1先行セットは変化しないままである、ステップと、
前記第1複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセットがスタックされている、前記第1ニューラルネットワークの重み付けに係る前記第1先行セットを使用して、符号化表現を獲得するために、入力画像をエンコーディングするステップと、
圧縮表現を決定するために、前記獲得された符号化表現をエンコーディングするステップと、
を含む、方法。
【請求項2】
前記方法は、さらに、
前記先行ハイパーパラメータに対応する第2ニューラルネットワークの重み付けに係る第2先行セットにおいて、前記現在ハイパーパラメータに対応する第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットを反復してスタックするステップであり、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットは変化しないままである、ステップと、
回復表現を決定するために、前記決定された圧縮表現をデコーディングするステップと、
前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第2複数のセットがスタックされている、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットを使用して、出力画像を再構成するために、前記決定された回復表現をデコーディングするステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記入力画像、前記出力画像、および前記圧縮表現に基づいて決定されるレート歪み損失を最適化するように、前記第1ニューラルネットワークの重み付けに係る第1初期セットおよび前記第2ニューラルネットワークの重み付けに係る第2初期セットを更新することによって訓練される、
請求項2に記載の方法。
【請求項4】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記第1ニューラルネットワークの重み付けに係る前記第1先行セットにおいて、前記現在ハイパーパラメータに対応する前記第1複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセットを反復してスタックすることによって、さらに訓練され、
前記第1ニューラルネットワークの重み付けに係る前記第1先行セットは変化しないままである、
請求項3に記載の方法。
【請求項5】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記第2ニューラルネットワークの重み付けに係る前記第2先行セットにおいて、前記現在ハイパーパラメータに対応する前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第2複数のセットを反復してスタックすることによって、さらに訓練され、
前記第2ニューラルネットワークの重み付けに係る前記第2先行セットは変化しないままである、
請求項4に記載の方法。
【請求項6】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記スタックされた前記第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセット、および、前記スタックされた前記第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットを更新することによって、前記レート歪み損失を最適化するように、さらに訓練される、
請求項5に記載の方法。
【請求項7】
前記第1複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセット、および、前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセットは、前記現在ハイパーパラメータに対応していない、
請求項2に記載の方法。
【請求項8】
スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための装置であって、前記装置は、
プログラムコードを保管する、ように構成された少なくとも1つのメモリと、
前記プログラムコードを読み取り、かつ、前記プログラムコードによって指示されるように動作する、ように構成された少なくとも1つのプロセッサと、
を含み、
前記プログラムコードは、
第1スタッキングコードであり、
前記少なくとも1つのプロセッサに、先行ハイパーパラメータに対応する第1ニューラルネットワークの重み付けに係る第1先行セットにおいて、
既に学習された重み付けを固定し、次のハイパーパラメータをターゲットとして、レート歪み損失を使用して、新たに追加された重み付けを更新し、現在ハイパーパラメータに対応する第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセットを反復してスタックさせる、ように構成されており、
前記ハイパーパラメータは、レート歪み損失を最適化するように使用され、前記第1ニューラルネットワークの重み付けに係る前記第1先行セットは変化しないままである、第1スタッキングコードと、
第1エンコーディングコードであり、
前記少なくとも1つのプロセッサに、前記第1複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセットがスタックされている、前記第1ニューラルネットワークの重み付けに係る前記第1先行セットを使用して、符号化表現を獲得するために、入力画像をエンコーディングさせる、ように構成されている、第1エンコーディングコードと、
第2エンコーディングコードであり、
前記少なくとも1つのプロセッサに、圧縮表現を決定するために、前記獲得された符号化表現をエンコーディングさせる、ように構成されている、第2エンコーディングコードと、
を含む、装置。
【請求項9】
前記プログラムコードは、さらに、
第2スタッキングコードであり、
前記少なくとも1つのプロセッサに、前記先行ハイパーパラメータに対応する第2ニューラルネットワークの重み付けに係る第2先行セットにおいて、前記現在ハイパーパラメータに対応する第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットを反復してスタックさせる、ように構成されており、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットは変化しないままである、第2スタッキングコードと、
第1デコーディングコードであり、
前記少なくとも1つのプロセッサに、回復表現を決定するために、前記決定された圧縮表現をデコーディングさせる、ように構成されている、第1デコーディングコードと、
第2デコーディングコードであり、
前記少なくとも1つのプロセッサに、前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第2複数のセットがスタックされている、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットを使用して、出力画像を再構成するために、前記決定された回復表現をデコーディングさせる、ように構成されている、第2デコーディングコードと、
を含む、請求項8に記載の装置。
【請求項10】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記入力画像、前記出力画像、および前記圧縮表現に基づいて決定されるレート歪み損失を最適化するように、前記第1ニューラルネットワークの重み付けに係る第1初期セットおよび前記第2ニューラルネットワークの重み付けに係る第2初期セットを更新することによって訓練される、
請求項9に記載の装置。
【請求項11】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記第1ニューラルネットワークの重み付けに係る前記第1先行セットにおいて、前記現在ハイパーパラメータに対応する前記第1複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセットを反復してスタックすることによって、さらに訓練され、
前記第1ニューラルネットワークの重み付けに係る前記第1先行セットは変化しないままである、
請求項10に記載の装置。
【請求項12】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記第2ニューラルネットワークの重み付けに係る前記第2先行セットにおいて、前記現在ハイパーパラメータに対応する前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第2複数のセットを反復してスタックすることによって、さらに訓練され、
前記第2ニューラルネットワークの重み付けに係る前記第2先行セットは変化しないままである、
請求項11に記載の装置。
【請求項13】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記スタックされた前記第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセット、および、前記スタックされた前記第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットを更新することによって、前記レート歪み損失を最適化するように、さらに訓練される、
請求項12に記載の装置。
【請求項14】
前記第1複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセット、および、前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセットは、前記現在ハイパーパラメータに対応していない、
請求項9に記載の装置。
【請求項15】
1つ以上のコンピュータで実行可能な命令を含むコンピュータプログラムあって、前記命令が、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための少なくとも1つのプロセッサによって実行されると、
前記少なくとも1つのプロセッサに、
先行ハイパーパラメータに対応する第1ニューラルネットワークの重み付けに係る第1先行セットにおいて、
既に学習された重み付けを固定し、次のハイパーパラメータをターゲットとして、レート歪み損失を使用して、新たに追加された重み付けを更新し、現在ハイパーパラメータに対応する第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセットを反復してスタックさせ、
前記ハイパーパラメータは、レート歪み損失を最適化するように使用され、前記第1ニューラルネットワークの重み付けに係る前記第1先行セットは変化しないままであり、
前記第1複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセットがスタックされている、前記第1ニューラルネットワークの重み付けに係る前記第1先行セットを使用して、符号化表現を獲得するために、入力画像をエンコーディングさせ、かつ、
圧縮表現を決定するために、前記獲得された符号化表現をエンコーディングさせる、
コンピュータプログラム。
【請求項16】
前記命令が、前記少なくとも1つのプロセッサによって実行されると、さらに、
前記少なくとも1つのプロセッサに、
前記先行ハイパーパラメータに対応する第2ニューラルネットワークの重み付けに係る第2先行セットにおいて、前記現在ハイパーパラメータに対応する第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットを反復してスタックさせ、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットは変化しないままであり、
回復表現を決定するために、前記決定された圧縮表現をデコーディングさせ、かつ、
前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第2複数のセットがスタックされている、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットを使用して、出力画像を再構成するために、前記決定された回復表現をデコーディングさせる、
請求項15に記載のコンピュータプログラム。
【請求項17】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記入力画像、前記出力画像、および前記圧縮表現に基づいて決定されるレート歪み損失を最適化するように、前記第1ニューラルネットワークの重み付けに係る第1初期セットおよび前記第2ニューラルネットワークの重み付けに係る第2初期セットを更新することによって訓練される、
請求項16に記載のコンピュータプログラム。
【請求項18】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記第1ニューラルネットワークの重み付けに係る前記第1先行セットにおいて、前記現在ハイパーパラメータに対応する前記第1複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセットを反復してスタックすることによって、さらに訓練され、
前記第1ニューラルネットワークの重み付けに係る前記第1先行セットは変化しないままである、
請求項17に記載のコンピュータプログラム。
【請求項19】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記第2ニューラルネットワークの重み付けに係る前記第2先行セットにおいて、前記現在ハイパーパラメータに対応する前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第2複数のセットを反復してスタックすることによって、さらに訓練され、
前記第2ニューラルネットワークの重み付けに係る前記第2先行セットは変化しないままである、
請求項18に記載のコンピュータプログラム。
【請求項20】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、
前記スタックされた前記第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセット、および、前記スタックされた前記第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットを更新することによって、前記レート歪み損失を最適化するように、さらに訓練される、
請求項19に記載のコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
標準化団体および企業は、将来のビデオコーディング技術の標準化のための潜在的なニーズを積極的に模索している。これらの標準化団体および企業は、ディープニューラルネットワーク(DNN)を使用した、人工知能(AI)ベースのエンドツーエンド・ニューラルイメージ圧縮(NIC)に焦点を当ててきた。このアプローチの成功は、高度なニューラルイメージおよびビデオ圧縮法において、ますます産業的な興味をもたらしてきた。
【0002】
フレキシブルなビットレート制御は、以前のNIC法について依然として困難な課題である。従来、これは、レートと歪みとの間の各所望のトレードオフ(圧縮画像の品質)を個別に目標とする複数モデルインスタンスのトレーニング(training)を含み得る。これら全ての複数モデルインスタンスは、異なるビットレートからの画像を再構成するために、デコーダ側において保管され、かつ、展開される必要があり得る。これは、限られたストレージおよびコンピューティングリソースを有する多くのアプリケーションにとって、法外に高価なものであり得る。
【0003】
関連出願の相互参照
本出願は、2020年6月29日に出願された米国仮特許出願第63/045,342号、および2021年6月16日に出願された米国特許出願第17/348,894号に基づいて、優先権を主張するものであり、それらの開示の全体が、ここにおいて参照により組み込まれている。
【発明の概要】
【0004】
実施形態によれば、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラル画像圧縮のための方法は、少なくとも1つのプロセッサによって実行され、従来のハイパーパラメータに対応する第1ニューラルネットワークの重み付けの第1事前セット上で、現在ハイパーパラメータに対応する第1複数のスタック可能・ニューラルネットワークの重み付けの第1事前セットの重み付けの第1複数のセットを反復的にスタックするステップを含み、第1ニューラルネットワークの重み付けの第1セットは変化しないままであり、符号化された表現を得るために入力画像を符号化し、第1複数のスタック可能・ニューラルネットワークの重み付けの第1複数のセットがスタックされた第1事前セットの重み付けを使用し、得られた符号化表現を符号化して圧縮表現を決定する。
【0005】
実施形態によれば、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮装置は、プログラムコードを保管するように構成された少なくとも1つのメモリと、プログラムコードを読み出し、プログラムコードによって指示されるように動作するように構成された少なくとも1つのプロセッサとを含む。プログラムコードは、少なくとも1つのプロセッサに、先行するハイパーパラメータに対応する第1ニューラルネットワークの重み付けの第1先行セット上に、現在のハイパーパラメータに対応する第1複数の積み重み付けの第1複数セットの重み付けの第1複数セットを反復的にスタックさせるように構成された第1積み重み付けコードと、第1複数の積み重み付けの第1複数セットの重み付けの第1先行セットを使用して、少なくとも1つのプロセッサに入力画像を符号化させて符号化表現を得るように構成された第1符号化コードと、少なくとも1つのプロセッサに、得られた符号化表現を符号化させて圧縮表現を決定させるように構成された第2符号コードと、を含む。
【0006】
実施形態によれば、非一時的コンピュータ読取可能媒体は、スタック可能ネストモデル構造を用いたマルチレート・ニューラルイメージ圧縮のための少なくとも1つのプロセッサによって実行されたときに、少なくとも1つのプロセッサに、現在のハイパーパラメータに対応する第1ニューラルネットワークの重み付けの第1事前セットの重み付けの第1複数セットの重み付けを、従来のハイパーパラメータに対応する第1ニューラルネットワークの重み付けの第1事前セットに反復的に積層させる命令を記憶し、前記第1ニューラルネットワークの重み付けの第1セットは変化しないままであり、前記第1複数のスタック可能ニューラルネットワークの重み付けの第1複数セットが積層された前記第1複数セットの重み付けの前記第1事前セットを使用して、符号化された表現を得るために入力画像を符号化し、符号化された表現を得るために、前記得られた符号化表現を符号化して圧縮表現を決定する。
【図面の簡単な説明】
【0007】
【
図1】
図1は、一つの実施形態に従った、ここに説明される方法、装置、およびシステムが実施され得る環境のダイアグラムである。
【
図2】
図2は、
図1の1つ以上のデバイスの例示的なコンポーネントのブロック図である。
【
図3】
図3は、一つの実施形態に従った、テスト段階の最中の、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のためのテスト装置のブロック図である。
【
図4】
図4は、一つの実施形態に従った、トレーニング段階の最中の、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のためのトレーニング装置のブロック図である。
【
図5】
図5は、一つの実施形態に従った、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための方法に係るフローチャートである。
【
図6】
図6は、一つの実施形態に従った、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための装置に係るブロック図である。
【
図7】
図7は、一つの実施形態に従った、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ解凍(decompression)のための方法に係るフローチャートである。
【
図8】
図8は、一つの実施形態に従った、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ解凍のための装置に係るブロック図である。
【発明を実施するための形態】
【0008】
本開示は、スタック可能ネスト化モデル構造(stackable nested model structure)を用いたマルチレートNICモデルによって入力画像を圧縮するための方法および装置を説明する。複数のビットレートでの画像圧縮を達成するために、1つだけのNICモデルインスタンスが使用される。
【0009】
図1は、一つの実施形態に従った、ここに説明される方法、装置、およびシステムが実施され得る環境100のダイアグラムである。
【0010】
図1に示されるように、環境100は、ユーザ装置110、プラットフォーム120、およびネットワーク130を含み得る。環境100の装置は、有線接続、無線接続、または、有線接続と無線接続の組み合わせを介して、相互接続することができる。
【0011】
ユーザ装置110は、プラットフォーム120に関連する情報を受信し、生成し、保管し、処理し、かつ/あるいは、提供することが可能な1つ以上の装置を含む。例えば、ユーザ装置110は、計算装置(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバ、等)、移動電話(例えば、スマートフォン、無線電話、等)、ウェアラブルデバイス(例えば、スマート眼鏡、またはスマートウオッチ)、もしくは、類似の装置を含んでよい。いくつかの実装において、ユーザ装置110は、プラットフォーム120から情報を受信し、かつ/あるいは、送信することができる。
【0012】
プラットフォーム120は、ここにおける他の場所で説明されるように、1つ以上のデバイスを含んでいる。いくつかの実装において、プラットフォーム120は、クラウドサーバまたはクラウドサーバのグループを含んでよい。いくつかの実装において、プラットフォーム120は、ソフトウェアコンポーネントがスワップインまたはスワップアウトされ得るように、モジュール化されるよう設計することができる。かくして、プラットフォーム120は、異なる使用について、容易に、かつ/あるいは、迅速に再構成することができる。
【0013】
いくつかの実装において、示されるように、プラットフォーム120は、クラウドコンピューティング環境122においてホストされ得る。特に、ここにおいて記載される実装は、クラウドコンピューティング環境122でホストされるものとしてプラットフォーム120を説明するが、いくつかの実装において、プラットフォーム120は、クラウドベースでなくてよく(すなわち、クラウドコンピューティング環境の外部で実装され得る)、もしくは、部分的にクラウドベースであってよい。
【0014】
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含んでいる。クラウドコンピューティング環境122は、プラットフォーム120をホストするシステム及び/又は装置の物理的な位置および構成に関する知識をエンドユーザ(例えば、ユーザ装置110)が必要としない、計算、ソフトウェア、データアクセス、ストレージ、等のサービスを提供することができる。図示のように、クラウドコンピューティング環境122は、コンピューティングリソース124のグループを含み得る(「コンピューティングリソース(“computing resources”)124」として総称され、かつ、個別に「コンピューティングリソース124」として称される)。
【0015】
計算リソース124は、1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバ装置、または、他の種類の計算及び/又は通信装置を含んでいる。いくつかの実装において、計算リソース124は、プラットフォーム120をホストすることができる。クラウドリソースは、計算リソース124において実行される計算インスタンス、計算リソース124において提供されるストレージ装置、計算リソース124によって提供されるデータ転送装置、等を含み得る。いくつかの実装において、計算リソース124は、有線接続、無線接続、または、有線接続と無線接続の組み合わせを介して、他の計算リソース124と通信することができる。
【0016】
図1にさらに示されるように、計算リソース124は、1つ以上のアプリケーション(「APP」)124-1、1つ以上の仮想マシン(「VM」)124-2、仮想化ストレージ装置(「VS」)124-3、1つ以上のハイパーバイザ(「HYP」)124-4といった、クラウドリソースのグループを含む。
【0017】
アプリケーション124-1は、ユーザ装置110及び/又はプラットフォーム120に提供またはアクセスすることができる1つ以上のソフトウェアアプリケーションを含んでいる。アプリケーション124-1は、ユーザ装置110においてソフトウェアアプリケーションをインストールし、かつ、実行する必要を排除することができる。例えば、アプリケーション124-1は、プラットフォーム120に関連するソフトウェア、及び/又は、クラウドコンピューティング環境122を介して提供が可能な他の任意のソフトウェアを含み得る。いくつかの実装において、1つのアプリケーション124-1は、仮想マシン124-2を介して、1つ以上の他のアプリケーション124-1に/から情報を送信/受信することができる。
【0018】
仮想マシン124-2は、物理マシンといったプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装を含む。仮想マシン124-2は、仮想マシン124-2による任意の現実マシンへの使用および対応の程度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかであり得る。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供することができる。プロセス仮想マシンは、単一のプログラムを実行し、かつ、単一のプロセスをサポートすることができる。いくつかの実装において、仮想マシン124-2は、データ管理、同期化、または長時間データ転送といった、クラウドコンピューティング環境122のインフラストラクチャを、ユーザ(例えば、ユーザ装置110)に代わって実行し、かつ、管理することができる。
【0019】
仮想化ストレージ装置124-3は、計算リソース124のストレージシステムまたは装置の中で仮想化技術を使用する1つ以上のストレージシステム及び/又は1つ以上の装置を含んでいる。いくつかの実装において、ストレージシステムのコンテキスト内で、仮想化のタイプは、ブロック仮想化およびファイル仮想化を含んでよい。ブロック仮想化は、物理的ストレージまたは異種の(heterogeneous)構造に関係なくストレージシステムがアクセスされ得るように、物理的ストレージからの論理的ストレージの抽象化(または、分離)を参照し得る。本分離により、ストレージシステムの管理者(administrator)は、エンドユーザのためにどのようにストレージを管理するかにフレキシビリティを持たせることができる。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に保管される場所との間の依存関係を排除することができる。このことは、ストレージの使用、サーバの統合、及び/又は、無停止の(non-disruptive)ファイル移行(migration)のパフォーマンスの最適化を可能にし得る。
【0020】
ハイパーバイザ124-4は、複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム(“guest operating system”)」)が、計算リソース124といった、のホストコンピュータ上で同時に実行することを可能にする、ハードウェア仮想化技術を提供することができる。ハイパーバイザ124-4は、ゲストオペレーティングシステムに対して仮想オペレーティングプラットフォームを提示し、そして、ゲストオペレーティングシステムの実行を管理することができる。様々なオペレーティングシステムの複数のインスタンスは、仮想化されたハードウェアリソースを共有し得る。
【0021】
ネットワーク130は、1つ以上の有線及び/又は無線ネットワークを含んでいる。例えば、ネットワーク130は、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワーク、等)、公衆陸上モバイルネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワーク、等、及び/又は、これら又は他のタイプのネットワークの組み合わせ、を含み得る。
【0022】
図1に示される装置およびネットワークの数および配置は、一つの例として提供されている。実際には、
図1に示されたものよりも、追加の装置及び/又はネットワーク、より少ない装置及び/又はネットワーク、異なる装置及び/又はネットワーク、もしくは、異なって配置された装置及び/又はネットワークが存在し得る。さらに、
図1に示される2つ以上の装置が、単一の装置の中に実装されてよく、または、
図1に示される単一の装置が、複数の分散デバイスとして実装されてよい。追加的、または代替的に、環境100の装置のセット(例えば、1つ以上の装置)は、環境100の装置の別のセットによって実行されるものとして説明される1つ以上の機能を実行することができる。
【0023】
図2は、
図1の1つ以上のデバイスの例示的なコンポーネントのブロック図である。
【0024】
装置200は、ユーザ装置110及び/又はプラットフォーム120に対応し得る。
図2に示されるように、装置200は、バス210、プロセッサ220、メモリ230、ストレージコンポーネント240、入力コンポーネント250、出力コンポーネント260、および、通信インターフェイス270を含み得る。
【0025】
バス210は、装置200のコンポーネント間の通信を可能にするコンポーネントを含んでいる。プロセッサ220は、ハードウェア、ファームウェア、または、ハードウェアとソフトウェアの組み合わせで実装される。プロセッサ220は、中央処理装置(CPU)、グラフィックス処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または、別のタイプの処理コンポーネントである。いくつかの実装において、プロセッサ220は、機能を実行するようにプログラムされることが可能な1つ以上のプロセッサを含む。メモリ230は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、及び/又は、プロセッサ220による使用のための情報及び/又は命令を保管する、別のタイプの動的または静的なストレージ装置(例えば、フラッシュメモリ、磁気メモリ、及び/又は、光メモリ)を含む。
【0026】
ストレージコンポーネント240は、装置200の操作および使用に関連する情報及び/又はソフトウェアを保管している。例えば、ストレージコンポーネント240は、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、及び/又は、ソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、カートリッジ、磁気テープ、及び/又は、別のタイプの非一時的コンピュータ読取り可能媒体を、対応するドライブと共に含んでよい。
【0027】
入力コンポーネント250は、ユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、及び/又は、マイクロホン)を介するといった、装置200が情報を受信することを可能にするコンポーネントを含んでいる。追加的、または代替的に、入力コンポーネント250は、情報を検知する(sensing)ためのセンサ(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、及び/又は、アクチュエータ)を含んでよい。出力コンポーネント260は、装置200からの出力情報を提供するコンポーネント(例えば、ディスプレイ、スピーカ、及び/又、は1つ以上の発光ダイオード(LED))を含んでいる。
【0028】
通信インターフェイス270は、装置200が有線接続、無線接続、または、有線接続と無線接続の組み合わせを介するといった、他の装置と通信することを可能にするトランシーバのようなコンポーネント(例えば、トランシーバ、及び/又は、別個の受信機および送信機)を含んでいる。通信インターフェイス270は、装置200が、他のデバイスから情報を受信し、かつ/あるいは、他のデバイスに情報を提供することを可能にする。例えば、通信インターフェイス270は、イーサネットインターフェイス、光インターフェイス、同軸インターフェイス、赤外線インターフェイス、無線周波数(RF)インターフェイス、ユニバーサルシリアルバス(USB)インターフェイス、Wi-Fi(登録商標)インターフェイス、セルラーネットワークインターフェイス、などを含んでよい。
【0029】
装置200は、ここにおいて説明される1つ以上のプロセスを実行することができる。装置200は、メモリ230及び/又はストレージコンポーネント240といった、非一時的コンピュータ読取可能媒体によって保管されたソフトウェア命令を実行するプロセッサ220に応答して、これらのプロセスを実行することができる。コンピュータ読取可能媒体は、ここにおいて、非一時的メモリデバイスとして定義される。メモリデバイスは、単一の物理的ストレージデバイス内のメモリスペース、または、複数の物理的ストレージデバイスにわたり分散されたメモリスペースを含んでいる。
【0030】
ソフトウェア命令は、別のコンピュータ読取可能媒体から、または、通信インターフェイス270を介して別の装置から、メモリ230及び/又はストレージコンポーネント240へと読み込まれ得る。実行されると、メモリ230及び/又はストレージコンポーネント240に保管されたソフトウェア命令は、プロセッサ220に、ここにおいて説明される1つ以上のプロセスを実行するようにさせ得る。追加的、または代替的に、ハードワイヤード回路は、ここにおいて説明される1つ以上のプロセスを実行するために、ソフトウェア命令の代わりに、または、それと組み合わせて使用され得る。従って、ここにおいて説明される実施形態
は、ハードウェア回路とソフトウェアのあらゆる特定の組み合わせに限定されるものではない。
【0031】
図2に示すコンポーネントの数および配置は、一つの例として提供されている。実際には、装置200は、
図2に示されるものよりも、追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または、異なった配置コンポーネントを含んでよい。追加的、または代替的に、装置200のコンポーネントのセット(例えば、1つ以上のコンポーネント)は、装置200のコンポーネントの別のセットによって実行されるものとして説明される1つ以上の機能を実行することができる。
【0032】
スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための方法および装置が、これから詳細に説明される。
【0033】
この開示は、マルチレート画像圧縮をサポートする1つのNICモデルインスタンスのみを学習し、そして、展開するためのマルチレートNICフレームワークを説明する。エンコーダおよびデコーダの両方のためのスタック可能ネスト化モデル構造が説明される。そこでは、より高いビットレート圧縮結果を達成するためにエンコーディングモジュールまたはデコーディングモジュールが漸進的(progressivelyに)スタックされる。
【0034】
図3は、一つの実施形態に従った、テスト段階の最中の、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のためのテスト装置300のブロック図である。
【0035】
図3に示されるように、テスト装置300は、テストDNNエンコーダ310、テストエンコーダ320、テストデコーダ330、テストDNNデコーダ340、テストDNNエンコーダ350、および、テストDNNデコーダ360を含んでいる。テストDNNエンコーダ350は、スタック可能DNNエンコーダ350A、350B、...、および350Nを含み、そして、テストDNNデコーダ360は、スタック可能DNNデコーダ360A、360B、...、および360Nを含んでいる。
【0036】
サイズ(h,w,c)の入力画像xを考える。ここで、h,w,cは、それぞれに、高さ、幅、および、チャネルの数である。NICワークフローのテストステージのターゲットは、以下のように記述される。保管および伝送のためにコンパクトである、圧縮表現(compressed representation)
【数1】
(以下、「y
-」と記載)
が計算される。次いで、圧縮表現y
-に基づいて、画像
【数2】
(以下、「x
-」と記載)
が再構成され、そして、再構成画像x
-は、元の入力画像xと同様であるべきである。
【0037】
圧縮表現y-を計算するプロセスは、2つの部分に分けられる。1つには、DNNエンコーディングプロセスが、テストDNNエンコーダ310を使用して、入力画像xをDNN符号化表現yへとエンコーディングする。2つには、エンコーディングプロセスは、テストエンコーダ320を使用して、DNN符号化表現yを圧縮表現y-へとエンコーディングする(量子化およびエントロピー符号化の実行)。
【0038】
それに応じて、デコーディングプロセスは、2つの部分に分けられる。1つには、デコーディングプロセスが、テストデコーダ330を使用して、圧縮表現y-を回復表現(recovered representation)y-’へとデコーディングする。2つには、DNNデコーディングプロセスは、テストDNNデコーダ340を使用して、回復表現y-’を再構成画像x-へとデコーディング化する。本開示においては、DNNエンコーディングに使用されるテストDNNエンコーダ310、または、DNNデコーディングに使用されるテストDNNデコーダ340のネットワーク構造について制限は存在しない。エンコーディングまたはデコーディングのどちらに使用される方法にも制限は存在しない(量子化方法およびエントロピー符号化方法)。
【0039】
NICモデルを学習するために、2つの競合する要望が扱われる。より良い再構成品質に対する、より少ないビット消費である。損失関数D(x,x-)は、画像xとx-の間の、ピーク信号対雑音比(peak signal-to-noise-ratio、PSNR)及び/又は構造類似性指数(structural similarity index measure、SSIM)といった、歪み損失と呼ばれる、再構成誤差を測定するために使用される。レート損失R(y-)は、圧縮表現y-のビット消費を測定するために計算される。従って、トレードオフのハイパーパラメータλは、結合(joint)レート歪み(rate-distortion、R-D)損失を最適化するために使用される。
【0040】
L(x,x-,y-)=D(x,x-)+λR(y-) (1)
【0041】
大きなハイパーパラメータλを用いたトレーニングは、より小さな歪みを有するが、ビット消費がより多い圧縮モデルを結果として生じ、逆もまた同様である。事前に定義された各ハイパーパラメータλについて、NICモデルインスタンスが訓練される。これは、ハイパーパラメータλの他の値については良好に動作しない。従って、圧縮ストリームの複数のビットレートを達成するために、従来の方法は、複数モデルインスタンスの訓練および保管を必要とし得る。
【0042】
この開示においては、NICネットワークの1つの単一の訓練されたモデルインスタンスが使用され、スタック可能ネスト化モデル構造を用いた、マルチレートNICを達成する。NICネットワークは、複数のスタック可能ネスト化モデル構造を含み、それぞれが、ハイパーパラメータλの異なる値をターゲットにするために漸進的にスタックされている。特に、λ1、...、λNは、減少する歪み(増加する品質)、および、増加するレート損失(減少するビットレート)を伴う圧縮表現に対応して、降順にランク付けされたN個のハイパーパラメータを示すものとする。y-
iおよびx-
iを、それぞれに、ハイパーパラメータλiに対応する圧縮表現および再構成画像を示すものとする。φe(λi)を、ハイパーパラメータλiをターゲットとする、テストDNNエンコーダ310の重み付け係数のセットを示すものとする。NICモデルについて、φe(λi)={φe(λi-1),{Wij
e}}である。同様に、φd(λi)を、ハイパーパラメータλiをターゲットとする、テストDNNデコーダ340の重み付け係数のセットを示すものとする。φd(λi)={φd(λi-1),{Wij
d}}である。{Wij
e}は、ハイパーパラメータλi-1に対するテストDNNエンコーダ310の上部にスタックされる、ハイパーパラメータλiについてのスタック可能DNNエンコーダ350A、350B、...、または350Nの重み付け係数のセットである。{Wij
d}は、ハイパーパラメータλi-1に対するテストDNNデコーダ340の上部にスタックされる、ハイパーパラメータλiについてのスタック可能DNNデコーダ360A、360B、...、または360Nの重み付け係数のセットである。各Wij
e(Wij
d)は、テストDNNエンコーダ310(テストDNNデコーダ360)に対するスタック可能DNNエンコーダ350A、350B、...、または350N(スタック可能DNNデコーダ360A、360B、...、または360N)のj番目の層(layer)の重み付け係数である。また、スタック可能DNNエンコーダ350A、350B、...、および350N、並びに、ハイパーパラメータλiの各値に対するスタック可能DNNデコーダ360A、360B、...、および360Nは、異なるDNN構造を有することができる。本開示においては、根底にある(underlying)DNNエンコーダ/デコーダネットワークモデルについて、あらゆる制限が存在しない。
【0043】
図3は、本方法のテスト段階の全体的なワークフローを示している。入力画像xが与えられ、かつ、ターゲットハイパーパラメータλ
iが与えられると、テストDNNエンコーダ310は、重み付け係数のセットφ
e(λ
i)を使用して、DNN符号化表現yを計算する。次いで、圧縮表現y
-が、エンコーディングプロセスにおいてテストエンコーダ320によって計算される。圧縮表現y
-に基づいて、回復表現y
-’が、テストデコーダ330を使用して、DNNデコーディングプロセスを通して計算され得る。ハイパーパラメータλ
iを使用して、テストDNNデコーダ340は、重み付け係数のセットφ
d(λ
i)を使用して、回復表現y
-’に基づいて再構成画像x
-を計算する。
【0044】
図4は、一つの実施形態に従った、トレーニング段階の最中の、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のためのトレーニング装置400のブロック図である。
【0045】
図4に示されるように、トレーニング装置400は、重み付け更新モジュール410、トレーニングDNNエンコーダ420、トレーニングDNNデコーダ430、追加スタック可能モジュール440、および、重み付け更新モジュール450を含んでいる。トレーニングDNNエンコーダ420は、スタック可能DNNエンコーダ420A、420B、...、および420Nを含み、そして、トレーニングDNNデコーダ430は、スタック可能DNNデコーダ430A、430B、...、および430Nを含んでいる。
【0046】
図4は、本方法のトレーニング段階の全体的なワークフローを示している。ゴールは、ネスト化された重み付けを学習することである。
φ
e(λ
N)={φ
e(λ
N-1),{W
Nj
e}}={φ
e(λ
N-2),{W
N-1j
e},{W
Nj
e}}=...
={{W
1j
e},...,{W
Nj
e}},φ
d(λ
N)={φ
d(λ
N-1),{W
Nj
d}}
={φ
e(λ
N-2),{W
N-1j
d},{W
Nj
d}}=...={{W
1j
d},...,{W
Nj
d}}
漸進的な多段階トレーニングのフレームワークは、このゴールを達成することができる。
【0047】
初期重み付け係数のセット、{W1j
e(0)},...,{WNj
e(0)}および{W1j
d(0)},...,{WNj
d(0)}が存在すると仮定する。これらの初期重み付け係数は、ある分布に従ってランダムに初期化することができる。それらは、また、ある事前トレーニングデータセットを使用して、事前にトレーニングを行うこともできる。一つの実施形態において、重み付け更新モジュール410は、ハイパーパラメータλNをターゲットとして、式(1)のR-D損失を最適化することによって、トレーニングデータセットStrを使用する、規則的な逆伝搬(back-propagation)を使用する、重み付け更新プロセスを介して、モデル重み付けのセット{W~
1j
e},...,{W~
Nj
e)}および{W~
1j
d},...,{W~
Nj
d}を学習する。別の実施形態において、この重み付け更新プロセスはスキップすることができ、そして、{W~
1j
e},...,{W~
Nj
e)}および{W~
1j
d},...,{W~
Nj
d}は、初期値{W1j
e(0)},...,{WNj
e(0)}および{W1j
d(0)},...,{WNj
d(0)}がであるように直接的に設定される。
【0048】
ここで、重み付け係数φe(λi-1)およびφd(λi-1)を有する現在のモデルインスタンスが既にトレーニングされており、そして、ハイパーパラメータλiについて追加の重み付け{Wij
e}および{Wij
d}をトレーニングすることがゴールであると仮定する。追加スタック可能モジュール440は、スタック可能DNNエンコーダ420A、420B、...、および420N{Wij
e}、並びに、スタック可能DNNデコーダ430A、430B、...、および430N{Wij
d}を、スタック可能モジュールプロセスにおいてスタックする。ここで、{Wij
e}および{Wij
d}は、{W~
ij
e}および{W~
ij
d}として初期化される。次いで、重み付け更新プロセスにおいて、重み付け更新モジュール450は、既に学習された重み付けφe(λi-1)およびφd(λi-1)を固定し、そして、ハイパーパラメータλiをターゲットとして、式(1)のR-D損失を使用して、規則的な逆伝搬を通じて、新たに追加された{Wij
e}および{Wij
d}を更新する。典型的に、複数のエポック(epoch)反復が、この重み付け更新プロセスにいてR-D損失を最適化するために、例えば、最大反復数に達するまで、または、損失が収束するまで、採用される。
【0049】
以前のエンドツーエンド(E2E)画像圧縮方法と比較して、
図3および
図4の実施形態は、スタック可能ネスト化モデル構造を用いたマルチレート圧縮効果を達成するための1つだけモデルインスタンス、および、モデルインスタンスを学習するためのトレーニングフレームワークを含み得る。従って、実施形態は、マルチレート圧縮を達成するための大幅に低減された展開ストレージ、および、種々のタイプのNICモデルを収容するフレキシブルなフレームワークを含み得る。さらに、より高いビットレート圧縮を実行するネストされたネットワーク構造からの共有計算は、より低いビットレート圧縮の計算を再利用することによって達成することができ、マルチレート圧縮における計算を節約する。
【0050】
図5は、一つの実施形態に従った、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための方法500に係るフローチャートである。
【0051】
いくつかの実装において、
図5の1つ以上のプロセスブロックは、プラットフォーム120によって実行され得る。いくつかの実装において、
図5の1つ以上のプロセスブロックは、ユーザ装置110といった、プラットフォーム120から分離され、または、プラットフォームを含む、別の装置または装置グループによって実行されてよい。
【0052】
図5に示されるように、オペレーション510において、方法500は、先行ハイパーパラメータに対応する第1ニューラルネットワークの重み付けに係る第1先行セットにおいて、現在ハイパーパラメータに対応する第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセットを反復してスタックすること、を含む。第1ニューラルネットワークの重み付けに係る第1先行セットは変化しないままである。
【0053】
オペレーション520において、方法500は、第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセットがスタックされている、第1ニューラルネットワークの重み付けに係る第1先行セットを使用して、符号化表現を獲得するために、入力画像をエンコーディングすること、を含む。
【0054】
オペレーション530において、方法500は、圧縮表現を決定するために、獲得された符号化表現をエンコーディングすること、を含む。
【0055】
図5は、方法500の例示的なブロックを示しているが、いくつかの実装において、方法500は、
図5に示されているものよりも、追加のブロック、より少ないブロック、異なるブロック、または、異なった配置のブロックを含んでよい。追加的、または代替的に、方法500のブロックのうちの2つ以上が、並行して実施されてよい。
【0056】
図6は、一つの実施形態に従った、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための装置600に係るブロック図である。
【0057】
図6に示されるように、装置600は、第1スタッキングコード610、第1エンコーディングコード620、および、第2エンコーディングコード630を含んでいる。
【0058】
第1スタッキングコード610は、少なくとも1つのプロセッサに、先行ハイパーパラメータに対応する第1ニューラルネットワークの重み付けに係る第1先行セットにおいて、現在ハイパーパラメータに対応する第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセットを反復してスタックさせる、ように構成されている。ここで、第1ニューラルネットワークの重み付けに係る第1先行セットは変化しないままである。
【0059】
第1エンコーディングコード620は、少なくとも1つのプロセッサに、第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセットがスタックされている、第1ニューラルネットワークの重み付けに係る第1先行セットを使用して、符号化表現を獲得するために、入力画像をエンコーディングさせる、ように構成されている。
【0060】
第2エンコーディングコード630は、少なくとも1つのプロセッサに、圧縮表現を決定するために、獲得された符号化表現をエンコーディングさせる、ように構成されている。
【0061】
図7は、一つの実施形態に従った、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ解凍のための方法700に係るフローチャートである。
【0062】
いくつかの実施において、
図7の1つ以上のプロセスブロックは、プラットフォーム120によって実行されてよい。いくつかの実装において、
図7の1つ以上のプロセスブロックは、ユーザ装置110といった、プラットフォーム120から分離され、または、プラットフォームを含む、別の装置または装置グループによって実行されてよい。
【0063】
図7に示されるように、オペレーション710において、方法700は、先行ハイパーパラメータに対応する第2ニューラルネットワークの重み付けに係る第2先行セットにおいて、現在ハイパーパラメータに対応する第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットを反復してスタックすること、を含む。第2ニューラルネットワークの重み付けに係る第2先行セットは変化しないままである。
【0064】
オペレーション720において、方法700は、回復表現を決定するために、決定された圧縮表現をデコーディングすること、を含む。
【0065】
オペレーション730において、方法700は、第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットがスタックされている、第2ニューラルネットワークの重み付けに係る前記第2先行セットを使用して、出力画像を再構成するために、決定された回復表現をデコーディングすること、を含む。
【0066】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、前記入力画像、前記出力画像、および前記圧縮表現に基づいて決定されるレート歪み損失を最適化するように、前記第1ニューラルネットワークの重み付けに係る第1初期セットおよび前記第2ニューラルネットワークの重み付けに係る第2初期セットを更新することによって訓練され、前記第1ニューラルネットワークの重み付けに係る前記第1先行セットにおいて、前記現在ハイパーパラメータに対応する前記第1複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセットを反復してスタックすることによって訓練され、前記第1ニューラルネットワークの重み付けに係る前記第1先行セットは変化しないままであり、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットにおいて、前記現在ハイパーパラメータに対応する前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第2複数のセットを反復してスタックすることによって訓練され、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットは変化しないままであり、そして、前記スタックされた前記第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセット、および、前記スタックされた前記第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットを更新することによって、前記レート歪み損失を最適化するように訓練される。追加のニューラルネットワークが、同じ方法で反復的にスタックされ得る。前記第1ニューラルネットワークの重み付けに係る前記第1先行セットは、反復スタッキングプロセスの全体を通して変化しないままである。
【0067】
前記第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセット、および、前記スタックされた前記第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットのうち1つ以上は、現在ハイパーパラメータに対応しないことがある。
【0068】
図7は、方法700の例示的なブロックを示しているが、いくつかの実装において、方法700は、
図7に示されているものよりも、追加のブロック、より少ないブロック、異なるブロック、または、異なった配置のブロックを含んでよい。追加的、または代替的に、方法700のブロックのうちの2つ以上が、並行して実施されてよい。
【0069】
図8は、一つの実施形態に従った、スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ解凍のための装置800に係るブロック図である。
【0070】
図8に示されるように、装置800は、第2スタッキングコード810、第1デコーディングコード820、および、第2デコーディングコード830を含んでいる。
【0071】
第2スタッキングコード810は、前記少なくとも1つのプロセッサに、前記先行ハイパーパラメータに対応する第2ニューラルネットワークの重み付けに係る第2先行セットにおいて、前記現在ハイパーパラメータに対応する第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットを反復してスタックさせるように構成されており、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットは変化しないままである。
【0072】
第1デコーディングコード820は、前記少なくとも1つのプロセッサに、回復表現を決定するために、前記決定された圧縮表現をデコーディングさせる、ように構成されている。
【0073】
第2デコーディングコード830は、前記少なくとも1つのプロセッサに、前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第2複数のセットがスタックされている、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットを使用して、出力画像を再構成するために、前記決定された回復表現をデコーディングさせるように構成されている。
【0074】
前記第1ニューラルネットワークおよび前記第2ニューラルネットワークは、前記入力画像、前記出力画像、および前記圧縮表現に基づいて決定されるレート歪み損失を最適化するように、前記第1ニューラルネットワークの重み付けに係る第1初期セットおよび前記第2ニューラルネットワークの重み付けに係る第2初期セットを更新することによって訓練され、前記第1ニューラルネットワークの重み付けに係る前記第1先行セットにおいて、前記現在ハイパーパラメータに対応する前記第1複数のスタック可能ニューラルネットワークの重み付けに係る前記第1複数のセットを反復してスタックすることによって訓練され、前記第1ニューラルネットワークの重み付けに係る前記第1先行セットは変化しないままであり、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットにおいて、前記現在ハイパーパラメータに対応する前記第2複数のスタック可能ニューラルネットワークの重み付けに係る前記第2複数のセットを反復してスタックすることによって訓練され、前記第2ニューラルネットワークの重み付けに係る前記第2先行セットは変化しないままであり、そして、前記スタックされた前記第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセット、および、前記スタックされた前記第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットを更新することによって、前記レート歪み損失を最適化するように訓練される。
【0075】
前記第1複数のスタック可能ニューラルネットワークの重み付けに係る第1複数のセット、および、前記スタックされた前記第2複数のスタック可能ニューラルネットワークの重み付けに係る第2複数のセットのうち1つ以上は、現在ハイパーパラメータに対応しないことがある。
【0076】
本方法は、別々に、または、任意の順序で組み合わせて使用され得る。さらに、方法(または、実施形態)、エンコーダ、および、デコーダそれぞれは、処理回路(例えば、1つ以上のプロセッサ、または、1つ以上の集積回路)によって実装され得る。一つの例において、1つ以上のプロセッサは、非一時的コンピュータ読取り可能な媒体に保管されたプログラムを実行する。
【0077】
前述の開示は、説明および解説を提供するが、網羅的であることを意図されたものではなく、また、実施形態を開示された正確な形態に限定するように意図されたものでもない。修正および変形が、上記の開示に照らして可能であり、または、実装形態の実施から取得され得る。
【0078】
ここにおいてように、用語「コンポーネント(component)」は、ハードウェア、ファームウェア、または、ハードウェアとソフトウェアの組み合わせとして広く解釈されるように意図されている。
【0079】
ここにおいて説明される、システム及び/又は方法は、ハードウェア、ファームウェア、または、ハードウェアとソフトウェアの組み合わせの異なる形態で実装され得ることが明らかだろう。これらのシステム及び/又は方法を実施するために使用される実際の特殊化された制御ハードウェアまたはソフトウェアコードは、実施を制限するものではない。従って、システム及び/又は方法の動作および挙動は、特定のソフトウェアコードを参照することなく、ここにおいて記載されている。-ソフトウェアおよびハードウェアは、ここにおける説明に基づいてシステム及び/又は方法を実施するように設計され得ることが理解されている。
【0080】
特徴の組み合わせが、請求項に記載され、かつ/あるいは、明細書に開示されているとしても、これらの組み合わせは、可能な実施の開示を制限するように意図されたものではない。実際に、これらの特徴の多くが、具体的には、請求項に記載されていない、かつ/あるいは、明細書に開示されていない方法で組み合わされてよい。以下に列挙される各従属請求項は、1つだけの請求項に直接的に依存し得るが、可能な実装の開示は、クレームセットにおける他の全ての請求項と組み合わせて各従属請求項を含んでいる。
【0081】
ここにおいて使用される要素、行為、または命令は、そのように明示的に記述されない限り、重要であり、または、必須であるものとは解釈されない。また、ここにおいて使用されるように、冠詞「一つの(“a”および“an”)」は、1つ以上の項目を含むように意図されており、そして、「1つ以上(“one or more”)」と互換的に使用することができる。さらに、ここにおいて使用されるように、用語「セット(“set”)」は、1つ以上の項目(例えば、関連項目、非関連項目、関連項目と非関連項目の組み合わせ、等)を含むように意図されており、そして、「1つ以上」と互換的に使用することができる。1つだけの項目が意図される場合には、用語「1つ(“one”)」などが使用される。また、ここにおいて使用されるように、用語「有する(“has”、“have”、“having”、など)」は、オープンエンドの用語であるように意図されている。さらに、フレーズ「基づいて(“based on”)」は、明示的に別段の記載がない限り、「少なくとも部分的に基づいて(“based,at least in part,on”)」を意味するように意図されている。