JP7425870B2 - 積み重ね可能な入れ子モデル構造及びマイクロ構造化された重み統一によるマルチレートニューラル画像圧縮のための方法及び装置 - Google Patents

積み重ね可能な入れ子モデル構造及びマイクロ構造化された重み統一によるマルチレートニューラル画像圧縮のための方法及び装置 Download PDF

Info

Publication number
JP7425870B2
JP7425870B2 JP2022531362A JP2022531362A JP7425870B2 JP 7425870 B2 JP7425870 B2 JP 7425870B2 JP 2022531362 A JP2022531362 A JP 2022531362A JP 2022531362 A JP2022531362 A JP 2022531362A JP 7425870 B2 JP7425870 B2 JP 7425870B2
Authority
JP
Japan
Prior art keywords
weights
stackable
neural network
neural
neural networks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022531362A
Other languages
English (en)
Other versions
JP2023509829A (ja
Inventor
ジャン,ウェイ
ワン,ウェイ
リィウ,シャン
Original Assignee
テンセント・アメリカ・エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テンセント・アメリカ・エルエルシー filed Critical テンセント・アメリカ・エルエルシー
Publication of JP2023509829A publication Critical patent/JP2023509829A/ja
Application granted granted Critical
Publication of JP7425870B2 publication Critical patent/JP7425870B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

標準化団体及び企業は、将来のビデオコーディング技術の標準化のための潜在的なニーズを積極的に探っている。これらの標準化団体及び企業は、ディープニューラルネットワーク(DNN)を使用した人工知能(AI)ベースのエンドツーエンドニューラル画像圧縮(NIC)に焦点を当ててきた。このアプローチの成功により、高度なニューラル画像及びビデオ圧縮方法論に対する産業上の関心がますます高まっている。
柔軟なビットレート制御は、以前のNIC方法にとって依然として挑戦的な課題である。従来技術は、レートと歪み(圧縮画像の品質)との間の各所望のトレードオフを個々にターゲットとする、複数のモデルインスタンスをトレーニングすることを含み得る。また、異なるビットレートから画像を再構築するために、これらの複数のモデルインスタンスをすべてデコーダ側に記憶し展開することを要する場合がある。これは、記憶と計算リソースが限られている多くのアプリケーションにとって、非常に高価となる可能性がある。
関連出願の相互参照
本願は、2020年8月14日に出願された米国仮特許出願第63/065,602号、及び2021年7月1日に出願された米国特許出願第17/365,304号に基づき、それらの優先権を主張し、かつ、それらの開示内容を全て参照により本明細書に組み込むものとする。
実施形態によれば、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像圧縮の方法は、少なくとも1つのプロセッサによって実行され、第1のニューラルネットワークの第1の重みのセット上に、現在のハイパーパラメータに対応する第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセットを反復して積み重ねるステップであって、前記第1のニューラルネットワークの前記第1の重みのセットは変わらないままである、ステップと、エンコード表現を取得するために、前記第1の複数の積み重ね可能なニューラルネットワークの前記第1の複数の重みのセットが積み重ねられる前記第1のニューラルネットワークの前記第1の重みのセットを使用して、入力画像をエンコードするステップと、圧縮表現を決定するために、取得された前記エンコード表現をエンコードするステップと、を含む。
実施形態によれば、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像圧縮のための装置は、プログラムコードを記憶するように構成される少なくとも1つのメモリと、前記プログラムコードを読み取り、前記プログラムコードの指示通りに動作するように構成される少なくとも1つのプロセッサと、を備える。前記プログラムコードは、前記少なくとも1つのプロセッサに、第1のニューラルネットワークの第1の重みのセット上に、現在のハイパーパラメータに対応する第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセットを反復して積み重ねさせるように構成される第1の積み重ねコードであって、前記第1のニューラルネットワークの前記第1の重みのセットは変わらないままである、第1の積み重ねコードと、前記少なくとも1つのプロセッサに、エンコード表現を取得するために、前記第1の複数の積み重ね可能なニューラルネットワークの前記第1の複数の重みのセットが積み重ねられる前記第1のニューラルネットワークの前記第1の重みのセットを使用して、入力画像をエンコードさせるように構成される第1のエンコードコードと、前記少なくとも1つのプロセッサに、圧縮表現を決定するために、取得された前記エンコード表現をエンコードさせるように構成される第2のエンコードコードと、を含む。
実施形態によれば、非一時的なコンピュータ読取可能な媒体は、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像圧縮のための少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、第1のニューラルネットワークの第1の重みのセット上に、現在のハイパーパラメータに対応する第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセットを反復して積み重ねるステップであって、前記第1のニューラルネットワークの前記第1の重みのセットは変わらないままである、ステップと、エンコード表現を取得するために、前記第1の複数の積み重ね可能なニューラルネットワークの前記第1の複数の重みのセットが積み重ねられる前記第1のニューラルネットワークの前記第1の重みのセットを使用して、入力画像をエンコードするステップと、圧縮表現を決定するために、取得された前記エンコード表現をエンコードするステップと、を行わせる命令を記憶する。
実施形態による、本明細書に記載された方法、装置、及びシステムが実装され得る環境の図である。 図1における1つ又は複数のデバイスの例示的なコンポーネントのブロック図である。 実施形態による、テスト段階中の、積み重ね可能な入れ子モデル構造及びマイクロ構造化された重み統一によるマルチレートニューラル画像圧縮のためのテスト装置のブロック図である。 実施形態による、トレーニング段階中の、積み重ね可能な入れ子モデル構造及びマイクロ構造化された重み統一によるマルチレートニューラル画像圧縮のためのトレーニング装置のブロック図である。 実施形態による、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像圧縮の方法のフローチャートである。 実施形態による、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像圧縮のための装置のブロック図である。 実施形態による、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像解凍の方法のフローチャートである。 実施形態による、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像解凍のための装置のブロック図である。
本開示は、積み重ね可能な入れ子モデル構造を有するマルチレートNICモデルによって入力画像を圧縮するための方法及び装置について説明する。1つのみのNICモデルインスタンスが複数のビットレートでの画像圧縮を実現するために使用され、モデルインスタンスの重み係数は、推論計算を減らすためにマイクロ構造的に統一されている。
図1は、実施形態による、本明細書に記載された方法、装置、及びシステムが実装され得る環境100の図である。
図1に示されるように、環境100は、ユーザデバイス110、プラットフォーム120、及びネットワーク130を含んでもよい。環境100のデバイスは、有線接続、無線接続、又は、有線接続と無線接続との組み合わせを介して相互接続してもよい。
ユーザデバイス110は、プラットフォーム120に関連する情報を受信、生成、記憶、処理、及び/又は、提供することができる1つ又は複数のデバイスを含む。例えば、ユーザデバイス110は、コンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカー、サーバなど)、携帯電話(例えば、スマートフォン、無線電話など)、ウェアラブルデバイス(例えば、スマート眼鏡又はスマートウォッチ)、又は、類似のデバイスを含んでもよい。いくつかの実装では、ユーザデバイス110は、プラットフォーム120から情報を受信し、かつ/あるいは、プラットフォーム120に情報を送信してもよい。
プラットフォーム120は、本明細書の他の箇所で説明されるような1つ又は複数のデバイスを含む。いくつかの実装では、プラットフォーム120は、クラウドサーバ又はクラウドサーバ群を含んでもよい。いくつかの実装では、プラットフォーム120は、ソフトウェアコンポーネントがスワップイン又はスワップアウトされ得るように、モジュール式に設計されてもよい。このように、プラットフォーム120は、異なる用途のために容易に、かつ/あるいは、迅速に再構成されてもよい。
いくつかの実装では、示されるように、プラットフォーム120は、クラウドコンピューティング環境122でホストされてもよい。なお、本明細書に記載された実装は、プラットフォーム120がクラウドコンピューティング環境122でホストされているものと説明するが、いくつかの実装では、プラットフォーム120は、クラウドベースでなくてもよく(すなわち、クラウドコンピューティング環境の外で実装されてもよい)、又は、部分的にクラウドベースであってもよい。
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含む。クラウドコンピューティング環境122は、プラットフォーム120をホストするシステム及び/又はデバイスの物理的な位置及び構成についてエンドユーザ(例えば、ユーザデバイス110)の知識を必要としない、計算、ソフトウェア、データアクセス、記憶などのサービスを提供し得る。示されるように、クラウドコンピューティング環境122は、計算リソース124のグループ(総括的に「計算リソース124(computing resources124)」と称し、個別に「計算リソース124」と称する)を含んでもよい。
計算リソース124は、1つ又は複数のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、又は、他のタイプの計算及び/又は通信デバイスを含む。いくつかの実装では、計算リソース124は、プラットフォーム120をホストしてもよい。クラウドリソースは、計算リソース124で実行する計算インスタンス、計算リソース124で提供される記憶デバイス、計算リソース124によって提供されるデータ転送デバイス、等を含んでもよい。いくつかの実装では、計算リソース124は、有線接続、無線接続、又は、有線接続と無線接続との組み合わせを介して、他の計算リソース124と通信してもよい。
図1に、さらに示されるように、計算リソース124は、1つ又は複数のアプリケーション(「APP」)124-1、1つ又は複数の仮想マシン(「VM」)124-2、仮想化ストレージ(「VS」)124-3、1つ又は複数のハイパーバイザー(「HYP」)124-4、などのクラウドリソースのグループを含む。
アプリケーション124-1は、ユーザデバイス110及び/又はプラットフォーム120に提供され得る、又は、それによってアクセスされ得る、1つ又は複数のソフトウェアアプリケーションを含む。アプリケーション124-1は、ユーザデバイス110にソフトウェアアプリケーションをインストールし、実行する必要性を排除することができる。例えば、アプリケーション124-1は、プラットフォーム120に関連するソフトウェア、及び/又は、クラウドコンピューティング環境122を介して提供されることが可能な他の任意のソフトウェアを含んでもよい。いくつかの実装では、1つのアプリケーション124-1は、仮想マシン124-2を介して、1つ又は複数の他のアプリケーション124-1との間で情報を送受信することができる。
仮想マシン124-2は、物理マシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装を含む。仮想マシン124-2は、仮想マシン124-2による任意の実マシンへの使用及び対応の程度に応じて、システム仮想マシン又はプロセス仮想マシンのいずれであってもよい。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供し得る。プロセス仮想マシンは、単一のプログラムを実行し、単一のプロセスをサポートし得る。いくつかの実装では、仮想マシン124-2は、ユーザ(例えば、ユーザデバイス110)に代わって実行してもよく、データ管理、同期、又は長期間データ転送などのクラウドコンピューティング環境122のインフラストラクチャを管理することができる。
仮想化ストレージ124-3は、計算リソース124の記憶システム又はデバイス内で仮想化技術を使用する、1つ又は複数の記憶システム、及び/又は、1つ又は複数のデバイスを含む。いくつかの実装では、記憶システムのコンテキスト内で、仮想化のタイプは、ブロック仮想化及びファイル仮想化を含み得る。ブロック仮想化とは、記憶システムが物理的ストレージ又は異種構造に関係なくアクセスされ得るように、物理的ストレージから論理的ストレージを抽象化(又は分離)することを指してよい。この分離により、記憶システムの管理者は、エンドユーザのストレージをどのように管理するかについて柔軟性を確保することができる。ファイル仮想化により、ファイルレベルでアクセスされるデータと、ファイルが物理的に記憶される位置との間の依存関係が解消され得る。これにより、ストレージ使用、サーバ統合、及び/又は、無停止ファイル移行のパフォーマンスの最適化が可能になる場合がある。
ハイパーバイザー124-4は、計算リソース124などのホストコンピュータ上で複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)を同時に実行することを可能にするハードウェア仮想化技術を提供し得る。ハイパーバイザー124-4は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提示してもよく、ゲストオペレーティングシステムの実行を管理してもよい。様々なオペレーティングシステムの複数のインスタンスは、仮想化されたハードウェアリソースを共有してもよい。
ネットワーク130は、1つ又は複数の有線及び/又は無線ネットワークを含む。例えば、ネットワーク130は、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームレボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多重アクセス(CDMA)ネットワークなど)、公衆陸上移動ネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバーベースのネットワークなど、及び/又は、これらや他のタイプのネットワークの組み合わせを含み得る。
図1に示されるデバイス及びネットワークの数及び配置は、一例として提供されている。実際には、図1に示されたものよりも追加のデバイス及び/又はネットワーク、より少ないデバイス及び/又はネットワーク、異なるデバイス及び/又はネットワーク、あるいは、異なる配置のデバイス及び/又はネットワークが存在してもよい。さらに、図1に示される2つ又は複数のデバイスが単一のデバイス内に実装されてもよく、又は、図1に示される単一のデバイスが複数の分散デバイスとして実装されてもよい。加えて、又は、任意選択で、環境100のデバイスのセット(例えば、1つ又は複数のデバイス)は、環境100の別のデバイスのセットによって実行されるものとして説明される1つ又は複数の機能を実行してもよい。
図2は、図1における、1つ又は複数のデバイスの例示的なコンポーネントのブロック図である。
デバイス200は、ユーザデバイス110及び/又はプラットフォーム120に対応し得る。図2に示されるように、デバイス200は、バス210、プロセッサ220、メモリ230、記憶コンポーネント240、入力コンポーネント250、出力コンポーネント260、及び通信インターフェース270を含んでもよい。
バス210は、デバイス200のコンポーネント間の通信を許可するコンポーネントを含む。プロセッサ220は、ハードウェア、ファームウェア、又は、ハードウェアとソフトウェアとの組み合わせで実装される。プロセッサ220は、中央処理装置(CPU)、グラフィック処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、又は、他のタイプの処理コンポーネントである。いくつかの実装では、プロセッサ220は、機能を実行するようにプログラムされることが可能な1つ又は複数のプロセッサを含む。メモリ230は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、及び/又は、プロセッサ220によって使用される情報及び/又は命令を記憶する別のタイプの動的又は静的記憶デバイス(例えば、フラッシュメモリ、磁気メモリ、及び/又は、光学メモリ)を含む。
記憶コンポーネント240は、デバイス200の操作及び使用に関連する情報及び/又はソフトウェアを記憶する。例えば、記憶コンポーネント240は、対応するドライブと共に、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、及び/又は、ソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、カートリッジ、磁気テープ、及び/又は、他のタイプの非一時的なコンピュータ読取可能な媒体を含んでもよい。
入力コンポーネント250は、ユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、及び/又、はマイク)などを介して、デバイス200による情報の受信を可能にするコンポーネントを含む。加えて、又は、任意選択で、入力コンポーネント250は、情報をセンシングするためのセンサ(例えば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、及び/又は、アクチュエータ)を含んでもよい。出力コンポーネント260は、デバイス200からの出力情報を提供するコンポーネント(例えば、ディスプレイ、スピーカー、及び/又は、1つ又は複数の発光ダイオード(LED))を含む。
通信インターフェース270は、有線接続、無線接続、又は、有線接続と無線接続との組み合わせなどを介して、デバイス200が他のデバイスと通信することを可能にするトランシーバのようなコンポーネント(例えば、トランシーバ、及び/又は、別個の受信機と送信機)を含む。通信インターフェース270は、デバイス200が、他のデバイスから情報を受信すること、及び/又は、他のデバイスに情報を提供することを可能にすることができる。例えば、通信インターフェース270は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、Wi-Fiインターフェース、セルラーネットワークインターフェースなどを含んでもよい。
デバイス200は、本明細書に記載された1つ又は複数のプロセスを行ってもよい。デバイス200は、プロセッサ220が、メモリ230及び/又は記憶コンポーネント240などの非一時的なコンピュータ読取可能な媒体に記憶されたソフトウェア命令を実行することに応答して、これらのプロセスを行うことができる。コンピュータ読取可能な媒体は、本明細書では、非一時的なメモリデバイスとして定義されている。メモリデバイスは、単一の物理的記憶デバイス内のメモリ空間、又は、複数の物理的記憶デバイスに分散されたメモリ空間を含む。
ソフトウェア命令は、通信インターフェース270を介して、別のコンピュータ読取可能な媒体から、又は、別のデバイスから、メモリ230及び/又は記憶コンポーネント240に読み込まれてもよい。実行されると、メモリ230及び/又は記憶コンポーネント240に記憶されたソフトウェア命令は、プロセッサ220に、本明細書に記載された1つ又は複数のプロセスを行わせることができる。加えて、又は、任意選択で、ハードワイヤード回路は、本明細書に記載された1つ又は複数のプロセスを行うために、ソフトウェア命令の代わりに、又は、ソフトウェア命令と組み合わせて使用されてもよい。したがって、本明細書に記載された実装は、ハードウェア回路とソフトウェアとの任意の特定の組み合わせに限定されるものではない。
図2に示されるコンポーネントの数及び配置は、一例として提供されている。実際には、デバイス200は、図2に示されるものよりも追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、又は、異なる配置のコンポーネントを含んでもよい。加えて、又は、任意選択で、デバイス200のコンポーネントのセット(例えば、1つ又は複数のコンポーネント)は、デバイス200の別のコンポーネントのセットによって実行されるものとして説明される1つ又は複数の機能を実行してもよい。
次に、積み重ね可能な入れ子モデル構造及びマイクロ構造化された重み統一によるマルチレートニューラル画像圧縮のための方法及び装置について、詳細に説明する。
本開示では、マルチレート画像圧縮をサポートする1つのみのNICモデルインスタンスを学習し展開するためのマルチレートNIC枠組みを説明する。エンコード又はデコードモジュールがより高いビットレート圧縮結果を達成するために漸進的に積み重ねられる、エンコーダとデコーダの両方のための積み重ね可能な入れ子モデル構造が説明される。
図3は、実施形態による、テスト段階中の、積み重ね可能な入れ子モデル構造及びマイクロ構造化された重み統一によるマルチレートニューラル画像圧縮のためのテスト装置300のブロック図である。
図3に示されるように、テスト装置300は、テストDNNエンコーダ310、テストエンコーダ320、テストデコーダ330、テストDNNデコーダ340、テストDNNエンコーダ350、及びテストDNNデコーダ360を含む。テストDNNエンコーダ350は、積み重ね可能なDNNエンコーダ350A、350B、・・・、及び350Nを含み、テストDNNデコーダ360は、積み重ね可能なDNNデコーダ360A、360B、・・・、及び360Nを含む。
サイズ(h,w,c)の入力画像xが与えられた場合(h、w、cがそれぞれ高さ、幅、チャンネル数)、NICワークフローのテスト段階のターゲットは次のように説明される。記憶と伝送のためにコンパクトな圧縮表現
Figure 0007425870000001

(以降、「y」)を計算する。そして、圧縮表現yに基づいて、画像
Figure 0007425870000002

(以降、「x」)を再構築し、再構築された画像xは、元の入力画像xxと類似している必要がある。
圧縮表現yを計算するプロセスは、2つの部分に分けられる。一つ目は、DNNエンコードプロセスで、テストDNNエンコーダ310を使用して、入力画像xをDNNエンコード表現yにエンコードすることである。二つ目は、エンコードプロセスで、テストエンコーダ320を使用して、DNNエンコード表現yを圧縮表現yにエンコードする(それに対して量子化及びエントロピーコーディングを行う)ことである。
従って、デコードプロセスは、2つの部分に分けられる。一つ目は、デコードプロセスで、テストデコーダ330を使用して、圧縮表現yを復元表現
Figure 0007425870000003

(以降、「y′」)にデコードする(それに対してデコード及び非量子化を行う)ことである。二つ目は、DNNデコードプロセスで、テストDNNデコーダ340を使用して、復元表現y′を再構築された画像xにデコードすることである。本開示では、DNNデコードに使用されるテストDNNエンコーダ310又はDNNデコードに使用されるテストDNNデコーダ340のネットワーク構造には、いかなる制限もない。また、エンコード又はデコードに使用される方法(量子化法及びエントロピーコーディング法)にも、いかなる制限もない。
NICモデルを学習するために、より良い再構築品質とより少ないビット消費量という2つの競合する要望が扱われる。損失関数
Figure 0007425870000004

を使用して、画像xとxの間の、ピーク信号対雑音比(PSNR)及び/又は構造類似度指標測定(SSIM)などの、歪み損失と呼ばれる再構築誤差を測定する。レート損失
Figure 0007425870000005

を計算して、圧縮表現yのビット消費量を測定する。したがって、トレードオフハイパーパラメータλを使用して、結合されたレート歪み(R-D)損失を最適化する。
Figure 0007425870000006
大きいハイパーパラメータλを用いたトレーニングは、歪みは小さくなるがビット消費量が多くなる圧縮モデルをもたらし、その逆もまた同様である。事前定義されたハイパーパラメータλごとに、ハイパーパラメータλの他の値ではうまく機能しないNICモデルインスタンスがトレーニングされる。したがって、圧縮ストリームの複数のビットレートを実現するために、従来の方法では、複数のモデルインスタンスのトレーニングと記憶が必要となる場合がある。
本開示では、NICネットワークの単一のトレーニング済みモデルインスタンスを使用して、積み重ね可能な入れ子モデル構造によって、マルチレートNICを実現する。NICネットワークは、ハイパーパラメータλの異なる値をターゲットとするために、それぞれが漸進的に積み重ねられる複数の積み重ね可能な入れ子モデル構造を含む。具体的には、λ、・・・、λが、降順でランク付けされ、歪みが減少し(品質が増加し)、レート損失が増加する(ビットレートが減少する)圧縮表現に対応するN個のハイパーパラメータを表すものとする。
Figure 0007425870000007
(以降、「y 」)及び
Figure 0007425870000008
(以降、「x 」)が、それぞれハイパーパラメータλに対応する圧縮表現及び再構築された画像を表すとする。また、
Figure 0007425870000009
(以降、「φ)」)がハイパーパラメータλをターゲットとするテストDNNエンコーダ310の重み係数のセットを表すとする。NICモデルについては、
φ)={φi-1),{W ij}}とする。同様に、
Figure 0007425870000010
(以降、「φ)」)が、ハイパーパラメータλをターゲットとするテストDNNデコーダ340の重み係数のセットを表すとする。
φ)={φi-1),{W ij}}とする。{W ij}は、ハイパーパラメータλi-1に対するテストDNNエンコーダ310のトップに積み重ねられる、ハイパーパラメータλに対する積み重ね可能なDNNエンコーダ350A、350B、・・・、又は350Nの重み係数のセットである。{W ij}は、ハイパーパラメータλi-1に対するテストDNNデコーダ340のトップに積み重ねられる、ハイパーパラメータλに対する積み重ね可能なDNNデコーダ360A、360B、・・・、又は360Nの重み係数のセットである。各W ij(W ij)は、テストDNNエンコーダ310(テストDNNデコーダ360)に対する積み重ね可能なDNNエンコーダ350A、350B、・・・、又は350N(積み重ね可能なDNNデコーダ360A、360B、・・・、又は360N)のj番目の層の重み係数である。また、ハイパーパラメータλの値ごとの積み重ね可能なDNNエンコーダ350A、350B、・・・、及び350Nと積み重ね可能なDNNデコーダ360A、360B、・・・、及び360Nは、異なるDNN構造を有することが可能である。本開示では、基礎となるDNNエンコーダ/デコーダのネットワークモデルには、いかなる制限もない。
図3は、本方法のテスト段階の全体的なワークフローを示す。入力画像xが与えられ、ターゲットハイパーパラメータλが与えられた場合、テストDNNエンコーダ310は、重み係数のセットφ)を使用して、DNNエンコード表現yを計算する。そして、エンコードプロセスにおいて、テストエンコーダ320によって圧縮表現yが計算される。圧縮表現yに基づいて、テストデコーダ330を使用するDNNデコードプロセスを通じて、復元表現y′を計算することができる。ハイパーパラメータλを使用して、テストDNNデコーダ340は、重み係数のセットφ)を用いて、復元表現y′に基づいて、再構築された画像xを計算する。
実施形態では、テストDNNエンコーダは、ハイパーパラメータλに依存しない係数
Figure 0007425870000011
(以降、「φ 」)を有する共通のエンコードネットワーク層のセットを含み得、その後に、積み重ね可能なDNNエンコーダ350A、350B、・・・、及び350Nのセットが続く。
実施形態では、テストDNNデコーダ340は、ハイパーパラメータλに依存しない係数
Figure 0007425870000012
(以降、「φ 0」)を有する共通のデコードネットワーク層のセットを含み得る。その後に、積み重ね可能なDNNデコーダ360A、360B、・・・、及び360Nのセットが続く。
ij(W ij)が、テストDNNエンコーダ310(テストDNNデコーダ340)の共通のネットワーク層のj番目の層の重み係数を表すとする。これらの重み係数
ij(W ij)、i=0,・・・,N(共通のものと積み重ね可能なものとの両方を含む)の各々は、サイズ(c,k,k,k,c)の一般的な5次元(5D)テンソルである。層の入力は、サイズ(h,w,d,c)の4次元(4D)テンソルAであり、層の出力はサイズ(h,w,d,c)の4次元テンソルBである。サイズc,k,k,k,c,h,w,d,h,w,dは、1以上の整数である。サイズc,k,k,k,c,h,w,d,h,w,dのいずれかが数1を取るとき、対応するテンソルは低次元化される。各テンソルにおける各アイテムは浮動小数点数である。パラメータh,w,及びd(h,w,及びd)は、入力テンソルA(出力テンソルB)の高さ、重さ、及び深さである。パラメータc(c)は、入力(出力)チャンネルの数である。パラメータk,k,及びkは、それぞれ高さ、重み、深さの軸に対応する畳み込みカーネルのサイズである。M ij(M ij)が、W ij(W ij)と同じ形状のバイナリマスクを表すとする。出力Bは、入力A、M ij(M ij)及びW ij(W ij)に基づく畳み込み演算
Figure 0007425870000013
を通じて計算され得る。つまり、出力Bは、マスクされた重み
e′ ij=W ・M ij(Wd′ ij=W ・M ij)(ただし、・は要素ごとの乗算)で畳み込む入力Aとして計算される。
重みM ij(M ij)の形状は、同じ出力を得るために、リシェイプされた入力とリシェイプされた重みの畳み込みに対応して変更され得る。実施形態では、2つの構成が取られる。一つ目は、5D重みテンソルをサイズ(c′,c′,k)の3Dテンソルにリシェイプすることであり、ただし、c′×c′×k=c×c×k×k×kである。例えば、c′=c、c′=c、k=k×k×kという構成がある。二つ目は、5D重みテンソルをサイズ(c′,c′)の2D行列にリシェイプすることであり、ただし、c′×c′=c×c×k×k×kである。例えば、c′=c、c′=c×k×k×k、または、c′=c、c′=c×k×k×k、k=k×k×kという構成がある。
マスクM ij(M ij)は、マスクされた重み係数を使用する推論計算を加速できるように、畳み込み演算がどのように実装されるかの基礎となるGEMM行列乗算プロセスと整列するために所望のマイクロ構造を取る。一実施形態では、3Dリシェイプされた重みテンソル又は2Dリシェイプされた重み行列における各層のマスク(マスクされた重み係数)のためのブロック単位のマイクロ構造が使用される。具体的には、リシェイプされた3D重みテンソルの場合はサイズ(g,g,g)のブロックに分割され、リシェイプされた2D重み行列の場合はサイズ(g,g)のブロックに分割される。マスクのブロックにおけるすべてのアイテムは、同じバイナリ値1(刈り込まれていないものとして)又は0(刈り込まれたものとして)を持つことになる。つまり、重み係数はブロック単位のマイクロ構造化された方式でマスクされる。
ij(W ij)における残りの重み係数(マスクM ij及びM ijにおける対応する要素が値1を取る)については、さらにマイクロ構造化された方式で統一される。ここでも、リシェイプされた3D重みテンソルの場合はサイズ(p,p,p)のブロックに分割され、リシェイプされた2D重み行列の場合はサイズ(p,p)のブロックに分割される。統一操作はブロック内で行われる。例えば、一実施形態では、重みがブロックB内で統一される場合、ブロック内の重みは、同じ絶対値(ブロックにおける元の重みの絶対値の平均値)を有するように設定され、元の符号を維持する。この統一操作による誤差を測定することで、統一損失L(B)を計算することができる。一実施形態では、ブロックにおける元の重みの絶対値の標準偏差を使用して、L(B)を計算する。マイクロ構造的に統一された重みを使用する主な利点は、推論計算における乗算の回数を節約することである。統一ブロックBは、刈り込みブロックと異なる形状を持つことができる。
図4は、実施形態による、トレーニング段階中の、積み重ね可能な入れ子モデル構造及びマイクロ構造化された重み統一によるマルチレートニューラル画像圧縮のためのトレーニング装置400のブロック図である。
図4に示されるように、トレーニング装置400は、重み更新モジュール410、追加積み重ね可能なモジュール415、トレーニングDNNエンコーダ420、トレーニングDNNデコーダ425、重み更新モジュール430、刈り込みモジュール435、重み更新モジュール440、統一モジュール445、及び重み更新モジュール450を含む。トレーニングDNNエンコーダ420は、積み重ね可能なDNNエンコーダ420A、420B、・・・、及び420Nを含み、トレーニングDNNデコーダ425は、積み重ね可能なDNNデコーダ425A、425B、・・・、及び425Nを含む。
図4は、本方法のトレーニング段階の全体的なワークフローを示す。目標は、入れ子された重み
φN)={φN-1),{W Nj}}={φN-2),{W N-1j},{W Nj}}
=・・・={{W 1j},・・・,{W Nj}}φN)={φN-1),{W Nj}}
={φN-2),{W N-1j},{W Nj}}=・・・
={{W 1j},・・・,{W Nj}}
を学習することである。漸進的な多段階トレーニング枠組みはこの目標を達成し得る。
初期重み係数のセット{W 1j(0)},・・・,{W Nj(0)}及び
{W 1j(0)},・・・,{W Nj(0)}が存在すると想定される。これらの初期重み係数は、ある分布に従ってランダムに初期化され得る。また、何らかの事前トレーニングデータセットを用いて事前トレーニングされてもよい。一実施形態では、重み更新モジュール410は、ハイパーパラメータλをターゲットとする式(1)のR-D損失を最適化することにより、トレーニングデータセットStrを使用する通常のバックプロパゲーションを使用した重み更新プロセスを通じて、モデル重みのセット
Figure 0007425870000014
(以降、{W~e 1j},・・・,{W~e Nj})及び
Figure 0007425870000015
(以降、{W~d 1j},・・・,{W~d Nj})を学習する。別の実施形態では、この重み更新プロセスをスキップすることができ、{W~e 1j},・・・,{W~e Nj}及び{W~d 1j},・・・,{W~d Nj}を直接、初期値{W 1j(0)},・・・,{W Nj(0)}及び
{W 1j(0)},・・・,{W Nj(0)}に設定する。
重み係数φi-1)及びφi-1)を有する現在のモデルインスタンスはすでにトレーニングされており、現在の目標はハイパーパラメータλに対する追加の重み{W ij}及び{W ij}をトレーニングすることであると想定される。追加積み重ね可能なモジュール415は、追加積み重ね可能なモジュールのプロセスにおいて、重み{W ij}に対する積み重ね可能なDNNエンコーダ420A、420B、・・・、及び420Nと重み{W ij}に対する積み重ね可能なDNNデコーダ425A、425B、・・・、及び425Nを積み重ね、ここで、初期モジュール重みが{W ij(0)}及び{W ij(0)}である。
そして、重み更新プロセスでは、重み更新モジュール430は、すでに学習された重みφi-1及びφi-1)を固定し、ハイパーパラメータλをターゲットとする式(1)のR-D損失を使用する通常のバックプロパゲーションを通じて、新たに追加された重み{W ij(0)}及び{W ij(0)}を更新し、その結果、重み
Figure 0007425870000016
(以降、{W^e 1j})及び
Figure 0007425870000017
(以降、{W^d 1j})が更新される。この重み更新プロセスにおいて、R-D損失を最適化するために、例えば最大反復回数に達するまで、又は、損失が収束するまで、複数のエポック反復が行われる。
その後、マイクロ構造化された重み刈り込みプロセスが実行される。このプロセスでは、新たに追加された積み重ね可能な重み{W^e ij}及び{W^d ij}に対して、刈り込みモジュール435は、前述のように、各マイクロ構造化された刈り込みブロックB(3Dリシェイプされた重みテンソルに対する3Dブロック又は2Dリシェイプされた重み行列に対する2Dブロック)ごとに刈り込み損失L(B)(例えば、ブロックにおける重みのL又はLノルム)を計算する。刈り込みモジュール435は、これらのマイクロ構造化されたブロックを昇順でランク付けし、停止基準に達するまで、ランク付けされたリストからこれらのブロックをトップダウンで(すなわち、刈り込まれたブロックにおける対応する重みを0とすることにより)刈り込む。例えば、検証データセットSvalが与えられた場合、重みφi-1)とφi-1)及び{W^e ij}と{W^d ij}を有する現在のNICモデルは歪み損失を生成する。ますます多くのマイクロブロックが刈り込まれるにつれて、この歪み損失は次第に大きくなる。停止基準は、歪み損失が増加することが許容される許容パーセント閾値とすることができる。停止基準は、また、刈り込まれるマイクロ構造刈り込みブロックの事前設定されたパーセントとすることもできる(例えば、上位にランク付けされた刈り込みブロックの80%が刈り込まれる)。刈り込みモジュール435は、バイナリ刈り込みマスク{P ij}及び{P ij}のセットを生成し、ここで、マスクP ij又はP ijのエントリが0であることは、{W^e ij}及び{W^d ij}における対応する重みが刈り込まれることを意味する。
次に、重み更新モジュール440は、{P ij}及び{P ij}によってマスクされた刈り込まれた重みを固定し、ハイパーパラメータλをターゲットとする式(1)の全体的なR-D損失を最適化するために、バックプロパゲーションにより{W^e ij}及び{W^d ij}における残りの重みを更新する。この重み更新プロセスにおいて、R-D損失を最適化するために、例えば最大反復回数に達するまで、又は損失が収束するまで、複数のエポック反復が行われる。このマイクロ構造化された重み刈り込みプロセスにより、更新された重み{W-e ij}及び{W-d ij}が出力される。
その後、マイクロ構造化された重み統一プロセスを行って、マイクロ構造的に統一された重み{W ij}及び{W ij}を生成する。このプロセスでは、刈り込まれた{P ij}及び{P ij}によってマスクされていない{W-e ij}及び{W-d ij}における重み係数について、統一モジュール445は、まず、前述のように、各マイクロ構造化された統一ブロックB(3Dリシェイプされた重みテンソルに対する3Dブロック又は2Dリシェイプされた重み行列に対する2Dブロック)ごとに統一損失L(B)を計算する。そして、統一モジュール445は、これらのマイクロ構造化された統一ブロックを統一損失に従って昇順でランク付けし、停止基準に達するまで、ランク付けされたリストからブロックをトップダウンで統一する。停止基準は、歪み損失が増加することが許容される許容パーセント閾値とすることができる。停止基準はまた、統一されるマイクロ構造統一ブロックの事前設定されたパーセントとすることもできる(例えば、上位にランク付けされたブロックの50%が統一される)。統一モジュール445は、バイナリ統一マスク{U ij}及び{U ij}のセットを生成し、ここで、マスクU ij及びU ijのエントリが0であることは、対応する重みが統一されることを意味する。
その後、重み更新モジュール450は、統一されたマスクU ij及びU ijによってマスクされる{W-e ij}及び{W-d ij}におけるこれらの統一された重みを固定し、刈り込まれた{P ij}及び{P ij}によってマスクされる{W-e ij}及び{W-d ij}における重みを固定する。そして、重み更新モジュール450は、ハイパーパラメータλをターゲットとする式(1)の全体的なR-D損失を最適化するために、重み更新プロセスにおいて、バックプロパゲーションにより{W-e ij}及び{W-d ij}における残りの重みを更新する。この重み更新プロセスにおいて、R-D損失を最適化するために、例えば最大反復回数に達するまで、又は損失が収束するまで、複数のエポック反復が行われる。このマイクロ構造化された重み統一プロセスにより、最終的に統一された重み{W ij}及び{W ij}が出力される。
マイクロ構造化された重み刈り込みプロセスは、選択されたブロックにおける重みが統一値0に設定される、マイクロ構造化された重み統一プロセスの特殊なケースと見なすことができる。マイクロ構造化された重み刈り込みプロセス、マイクロ構造化された重み統一プロセスのいずれか、又は、両方のプロセスがスキップされ得る、トレーニング枠組みの異なる実施形態が存在し得る。
以前のE2E画像圧縮方法と比較して、図3及び図4の実施形態は、マルチレート圧縮を達成するために大きく減少した展開ストレージを含み、重み係数のマイクロ構造化された刈り込み及び/又は統一を用いることによって、推論時間が大幅に削減され、種々のタイプのNICモデルを収容する柔軟な枠組みを含むことができる。さらに、より高いビットレート圧縮を行う入れ子ネットワーク構造からの共有計算は、より低いビットレート圧縮の計算を再利用することによって達成され、これは、マルチレート圧縮における計算を節約する。実施形態は、任意の所望のマイクロ構造に対応するために柔軟であってもよい。
図5は、実施形態による、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像圧縮の方法500のフローチャートである。
いくつかの実装では、図5の1つ又は複数のプロセスブロックは、プラットフォーム120によって実行され得る。いくつかの実装では、図5の1つ又は複数のプロセスブロックは、ユーザデバイス110などの、プラットフォーム120とは別の、又は、プラットフォーム120を含むデバイス又はデバイスのグループによって実行され得る。
図5に示されるように、操作510では、方法500は、第1のニューラルネットワークの第1の重みのセット上に、現在のハイパーパラメータに対応する第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセットを反復して積み重ねるステップであり、第1のニューラルネットワークの第1の重みのセットは変わらないままである、ステップを含む。
操作520では、方法500は、エンコード表現を取得するために、第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセットが積み重ねられる第1のニューラルネットワークの第1の重みのセットを使用して、入力画像をエンコードするステップを含む。
操作530では、方法500は、圧縮表現を決定するために、取得されたエンコード表現をエンコードするステップを含む。
図5は、方法500の例示的なブロックを示しているが、いくつかの実装では、方法500は、図5に示されたブロックよりも追加のブロック、より少ないブロック、異なるブロック、又は、異なる配置のブロックを含んでもよい。加えて、又は、任意選択で、方法500のブロックのうちの2つ又は複数が、並行して実行され得る。
図6は、実施形態による、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像圧縮のための装置600のブロック図である。
図6に示されるように、装置600は、第1の積み重ねコード610、第1のエンコードコード620、及び、第2のエンコードコード630を含む。
第1の積み重ねコード610は、少なくとも1つのプロセッサに、第1のニューラルネットワークの第1の重みのセット上に、現在のハイパーパラメータに対応する第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセットを反復して積み重ねさせるように構成されており、第1のニューラルネットワークの第1の重みのセットは変わらないままである。
第1のエンコードコード620は、少なくとも1つのプロセッサに、エンコード表現を取得するために、第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセットが積み重ねられる第1のニューラルネットワークの第1の重みのセットを使用して、入力画像をエンコードさせるように構成されている。
第2のエンコードコード630は、少なくとも1つのプロセッサに、圧縮表現を決定するために、取得されたエンコード表現をエンコードさせるように構成されている。
図7は、実施形態による、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像解凍の方法700のフローチャートである。
いくつかの実装では、図7の1つ又は複数のプロセスブロックは、プラットフォーム120によって実行され得る。いくつかの実装では、図7の1つ又は複数のプロセスブロックは、ユーザデバイス110などの、プラットフォーム120とは別の、又は、プラットフォーム120を含む、デバイス又はデバイスのグループによって実行され得る。
図7に示されるように、操作710では、方法700は、第2のニューラルネットワークの第2の重みのセット上に、現在のハイパーパラメータに対応する第2の複数の積み重ね可能なニューラルネットワークの第2の複数の重みのセットを反復して積み重ねるステップであり、第2のニューラルネットワークの第2の重みのセットは変わらないままである、ステップを含む。
操作720では、方法700は、復元表現を決定するために、決定された圧縮表現をデコードするステップを含む。
操作730では、方法700は、出力画像を再構築するために、第2の複数の積み重ね可能なニューラルネットワークの第2の複数の重みのセットが積み重ねられる第2のニューラルネットワークの第2の重みのセットを使用して、決定された復元表現をデコードするステップを含む。
第1のニューラルネットワーク及び第2のニューラルネットワークは、入力画像、出力画像、及び圧縮表現に基づいて決定されるレート歪み損失を最適化するために、第1のニューラルネットワークの第1の初期の重みのセット及び第2のニューラルネットワークの第2の初期の重みのセットを更新するステップによって、トレーニングされてもよい。
第1のニューラルネットワーク及び第2のニューラルネットワークは、第1のニューラルネットワークの第1の重みのセット上に、現在のハイパーパラメータに対応する第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセットを反復して積み重ねるステップであり、第1のニューラルネットワークの第1の重みのセットは変わらないままである、ステップと、第2のニューラルネットワークの第2の重みのセット上に、現在のハイパーパラメータに対応する第2の複数の積み重ね可能なニューラルネットワークの第2の複数の重みのセットを反復して積み重ねるステップであり、第2のニューラルネットワークの第2の重みのセットは変わらないままである、ステップと、入力画像、出力画像、及び圧縮表現に基づいて決定されるレート歪み損失を最適化するために、第1の複数の積み重ね可能なニューラルネットワークの積み重ねられた第1の複数の重みのセット、及び、第2の複数の積み重ね可能なニューラルネットワークの積み重ねられた第2の複数の重みのセットを更新するステップと、によってトレーニングされてもよい。
第1のニューラルネットワーク及び第2のニューラルネットワークは、さらに、更新された第1の複数の重みのセットの各々が刈り込まれるか否かを示す第1の刈り込みマスク、及び、更新された第2の複数の重みのセットの各々が刈り込まれるか否かを示す第2の刈り込みマスクを決定するために、第1の複数の積み重ね可能なニューラルネットワークの更新された第1の複数の重みのセット、及び、第2の複数の積み重ね可能なニューラルネットワークの更新された第2の複数の重みのセットを刈り込むステップと、レート歪み損失を最適化するために、決定された第1の刈り込みマスク及び決定された第2の刈り込みマスクに基づいて、刈り込まれた第1の複数の重みのセット及び刈り込まれた第2の複数の重みのセットに対して第2の更新を行うステップと、によってトレーニングされてもよい。
第1のニューラルネットワーク及び第2のニューラルネットワークは、さらに、第2の更新が行われた第1の複数の重みのセットの各々が統一されるか否かを示す第1の統一マスク、及び、第2の更新が行われた第2の複数の重みのセットの各々が統一されるか否かを示す第2の統一マスクを決定するために、第1の複数の積み重ね可能なニューラルネットワークの第2の更新が行われた第1の複数の重みのセット、及び、第2の複数の積み重ね可能なニューラルネットワークの第2の更新が行われた第2の複数の重みのセットを統一するステップと、レート歪み損失を最適化するために、決定された第1の統一マスク及び決定された第2の統一マスクに基づいて、第1の複数の重みのセット及び第2の複数の重みのセットのうち統一されていない残りのものに対して第3の更新を行うステップと、によってトレーニングされてもよい。
第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセット及び第2の複数の積み重ね可能なニューラルネットワークの第2の複数の重みのセットのうちの1つ又は複数が、現在のハイパーパラメータに対応しなくてもよい。
図7は、方法700の例示的なブロックを示しているが、いくつかの実装では、方法700は、図7に示されたブロックよりも追加のブロック、より少ないブロック、異なるブロック、又は異なる配置のブロックを含んでもよい。加えて、又は、任意選択で、方法700のブロックのうちの2つ又は複数が、並行して実行され得る。
図8は、実施形態による、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像解凍のための装置800のブロック図である。
図8に示されるように、装置800は、第2の積み重ねコード810、第1のデコードコード820、及び、第2のデコードコード830を含む。
第2の積み重ねコード810は、少なくとも1つのプロセッサに、第2のニューラルネットワークの第2の重みのセット上に、現在のハイパーパラメータに対応する第2の複数の積み重ね可能なニューラルネットワークの第2の複数の重みのセットを反復して積み重ねさせるように構成され、第2のニューラルネットワークの第2の重みのセットは変わらないままである。
第1のデコードコード820は、少なくとも1つのプロセッサに、復元表現を決定するために、決定された圧縮表現をデコードさせるように構成される。
第2のデコードコード830は、少なくとも1つのプロセッサに、出力画像を再構築するために、第2の複数の積み重ね可能なニューラルネットワークの第2の複数の重みのセットが積み重ねられる第2のニューラルネットワークの第2の重みのセットを使用して、決定された復元表現をデコードさせるように構成される。
第1のニューラルネットワーク及び第2のニューラルネットワークは、入力画像、出力画像、及び圧縮表現に基づいて決定されるレート歪み損失を最適化するために、第1のニューラルネットワークの第1の初期の重みのセット及び第2のニューラルネットワークの第2の初期の重みのセットを更新することによってトレーニングされてもよい。
第1のニューラルネットワーク及び第2のニューラルネットワークは、第1のニューラルネットワークの第1の重みのセット上に、現在のハイパーパラメータに対応する第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセットを反復して積み重ねるステップであり、第1のニューラルネットワークの第1の重みのセットは変わらないままである、ステップと、第2のニューラルネットワークの第2の重みのセット上に、現在のハイパーパラメータに対応する第2の複数の積み重ね可能なニューラルネットワークの第2の複数の重みのセットを反復して積み重ねるステップであり、第2のニューラルネットワークの第2の重みのセットは変わらないままである、ステップと、入力画像、出力画像、及び圧縮表現に基づいて決定されるレート歪み損失を最適化するために、第1の複数の積み重ね可能なニューラルネットワークの積み重ねられた第1の複数の重みのセット、及び、第2の複数の積み重ね可能なニューラルネットワークの積み重ねられた第2の複数の重みのセットを更新するステップと、によってトレーニングされてもよい。
第1のニューラルネットワーク及び第2のニューラルネットワークは、さらに、更新された第1の複数の重みのセットの各々が刈り込まれるか否かを示す第1の刈り込みマスク、及び、更新された第2の複数の重みのセットの各々が刈り込まれるか否かを示す第2の刈り込みマスクを決定するために、第1の複数の積み重ね可能なニューラルネットワークの更新された第1の複数の重みのセット、及び、第2の複数の積み重ね可能なニューラルネットワークの更新された第2の複数の重みのセットを刈り込むステップと、レート歪み損失を最適化するために、決定された第1の刈り込みマスク及び決定された第2の刈り込みマスクに基づいて、刈り込まれた第1の複数の重みのセット及び刈り込まれた第2の複数の重みのセットに対して第2の更新を行うステップと、によってトレーニングされてもよい。
第1のニューラルネットワーク及び第2のニューラルネットワークは、さらに、第2の更新が行われた第1の複数の重みのセットの各々が統一されるか否かを示す第1の統一マスク、及び、第2の更新が行われた第2の複数の重みのセットの各々が統一されるか否かを示す第2の統一マスクを決定するために、第1の複数の積み重ね可能なニューラルネットワークの第2の更新が行われた第1の複数の重みのセット、及び、第2の複数の積み重ね可能なニューラルネットワークの第2の更新が行われた第2の複数の重みのセットを統一するステップと、レート歪み損失を最適化するために、決定された第1の統一マスク及び決定された第2の統一マスクに基づいて、第1の複数の重みのセット及び第2の複数の重みのセットのうち統一されていない残りのものに対して第3の更新を行うステップと、によってトレーニングされてもよい。
第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセット、及び、第2の複数の積み重ね可能なニューラルネットワークの第2の複数の重みのセットのうちの1つ又は複数が、現在のハイパーパラメータに対応しなくてもよい。
方法は、別々に使用されても任意の順序で組み合わされてもよい。さらに、方法(又は実施形態)、エンコーダ、及びデコーダの各々は、処理回路(例えば、1つ又は複数のプロセッサ、あるいは、1つ又は複数の集積回路)によって実装されてもよい。一例では、1つ又は複数のプロセッサは、非一時的なコンピュータ読取可能な媒体に記憶されているプログラムを実行する。
前述の開示は、例示及び説明を提供するが、網羅的であること、又は、実装を開示された正確な形態に限定すること、を意図するものではない。上記の開示に照らして修正及び変形が可能であるか、又は、実装の実践から獲得され得る。
本明細書で使用されるように、コンポーネントという用語は、ハードウェア、ファームウェア、又は、ハードウェアとソフトウェアとの組み合わせとして、広範に解釈されることを意図している。
本明細書に記載されたシステム及び/又は方法は、異なる形態のハードウェア、ファームウェア、又は、ハードウェアとソフトウェアとの組み合わせで実施され得ることが明らかであろう。これらのシステム及び/又は方法を実装するために使用される実際の特殊な制御ハードウェア又はソフトウェアコードは、実装を限定するものではない。したがって、システム及び/又は方法の操作及び行動は、特定のソフトウェアコードを参照することなく本明細書に記載されている。ソフトウェア及びハードウェアは、本明細書の記載に基づいて、システム及び/又は方法を実装するように設計されてもよいことが理解される。
特徴の組み合わせが特許請求の範囲に記述され、かつ/あるいは、本明細書に開示されていても、これらの組み合わせは、可能な実装の開示を限定することを意図するものではない。実際には、これらの特徴の多くは、特に、特許請求の範囲に記述されていない方法及び/又は本明細書に開示されていない方法で組み合わされ得る。以下にリストされる各従属請求項は、1つの請求項にのみ直接依存し得るが、可能な実装の開示は、請求項セット内の他のすべての請求項との組み合わせにおいて、各従属請求項を含む。
本明細書で使用されるいかなる要素、行為、又は指示も、そのように明示的に記載されない限り、重要又は必須であると解釈されることはない。また、本明細書で使用されるように、冠詞「a」及び「an」は、1つ又は複数のアイテムを含むことを意図しており、「1つ又は複数」と交換可能に使用されてもよい。さらに、本明細書で使用されるように、用語「セット」は、1つ又は複数のアイテム(例えば、関連アイテム、非関連アイテム、関連アイテムと非関連アイテムとの組み合わせ、など)を含むことを意図しており、「1つ又は複数」と交換可能に使用されてもよい。1つのみのアイテムが意図される場合、用語「1つ」又は類似の言語が使用される。また、本明細書で使用されるように、用語「有する」、「有している」などは、オープンエンドな用語であることを意図している。さらに、「・・・に基づく」という句は、特に明記しない限り、「少なくとも部分的に、・・・に基づく」を意味することを意図している。

Claims (7)

  1. 少なくとも1つのプロセッサが実行する、積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像圧縮の方法であって、
    第1のニューラルネットワークの第1の重みのセット上に、現在のハイパーパラメータに対応する第1の複数の積み重ね可能なニューラルネットワークの第1の複数の重みのセットを反復して積み重ねるステップであり、前記第1のニューラルネットワークの前記第1の重みのセットは変わらないままである、ステップと、
    エンコード表現を取得するために、前記第1の複数の積み重ね可能なニューラルネットワークの前記第1の複数の重みのセットが積み重ねられた後で前記第1のニューラルネットワークの前記第1の重みのセットを使用して、入力画像をエンコードするステップと、
    圧縮表現を決定するために、取得された前記エンコード表現をエンコードするステップと、
    含み、さらに、
    第2のニューラルネットワークの第2の重みのセット上に、前記現在のハイパーパラメータに対応する第2の複数の積み重ね可能なニューラルネットワークの第2の複数の重みのセットを反復して積み重ねるステップあり、前記第2のニューラルネットワークの前記第2の重みのセットは変わらないままである、ステップと、
    復元表現を決定するために、決定された前記圧縮表現をデコードするステップと、
    出力画像を再構築するために、前記第2の複数の積み重ね可能なニューラルネットワークの前記第2の複数の重みのセットが積み重ねられた後で前記第2のニューラルネットワークの前記第2の重みのセットを使用して、決定された前記復元表現をデコードするステップと、
    を含み、
    前記第1のニューラルネットワーク及び前記第2のニューラルネットワークは、
    前記第1のニューラルネットワークの前記第1の重みのセット上に、前記現在のハイパーパラメータに対応する前記第1の複数の積み重ね可能なニューラルネットワークの前記第1の複数の重みのセットを反復して積み重ねるステップであり、前記第1のニューラルネットワークの前記第1の重みのセットは変わらないままである、ステップと、
    前記第2のニューラルネットワークの前記第2の重みのセット上に、前記現在のハイパーパラメータに対応する前記第2の複数の積み重ね可能なニューラルネットワークの前記第2の複数の重みのセットを反復して積み重ねるステップであり、前記第2のニューラルネットワークの前記第2の重みのセットは変わらないままである、ステップと、
    前記入力画像、前記出力画像、及び前記圧縮表現に基づいて決定されるレート歪み損失を最適化するために、積み重ねられた前記第1の複数の積み重ね可能なニューラルネットワークの前記第1の複数の重みのセット、及び、積み重ねられた前記第2の複数の積み重ね可能なニューラルネットワークの前記第2の複数の重みのセットを更新するステップと、
    によってトレーニングされ、
    前記ハイパーパラメータは、前記レート歪み損失における損失関数とレート損失とのトレードオフを定めている、
    方法。
  2. 前記第1のニューラルネットワーク及び前記第2のニューラルネットワークは、前記入力画像、前記出力画像、及び前記圧縮表現に基づいて決定されるレート歪み損失を最適化するために、前記第1のニューラルネットワークの第1の初期の重みのセット及び前記第2のニューラルネットワークの第2の初期の重みのセットを更新することによってトレーニングされる、
    請求項に記載の方法。
  3. 前記第1のニューラルネットワーク及び前記第2のニューラルネットワークは、さらに、
    更新された前記第1の複数の重みのセットの各々が刈り込まれるか否かを示す第1の刈り込みマスク、及び、更新された前記第2の複数の重みのセットの各々が刈り込まれるか否かを示す第2の刈り込みマスクを決定するために、前記第1の複数の積み重ね可能なニューラルネットワークの更新された前記第1の複数の重みのセット、及び、前記第2の複数の積み重ね可能なニューラルネットワークの更新された前記第2の複数の重みのセットを刈り込むステップと、
    前記レート歪み損失を最適化するために、決定された前記第1の刈り込みマスク及び決定された前記第2の刈り込みマスクに基づいて、刈り込まれた前記第1の複数の重みのセット及び刈り込まれた前記第2の複数の重みのセットに対して第2の更新を行うステップと、
    によってトレーニングされる、
    請求項に記載の方法。
  4. 前記第1のニューラルネットワーク及び前記第2のニューラルネットワークは、さらに、
    第2の更新が行われた前記第1の複数の重みのセットの各々が統一されるか否かを示す第1の統一マスク、及び、第2の更新が行われた前記第2の複数の重みのセットの各々が統一されるか否かを示す第2の統一マスクを決定するために、前記第1の複数の積み重ね可能なニューラルネットワークの第2の更新が行われた前記第1の複数の重みのセット、及び、前記第2の複数の積み重ね可能なニューラルネットワークの第2の更新が行われた前記第2の複数の重みのセットを統一するステップと、
    前記レート歪み損失を最適化するために、決定された前記第1の統一マスク及び決定された前記第2の統一マスクに基づいて、前記第1の複数の重みのセット及び前記第2の複数の重みのセットのうち統一されていない残りのものに対して第3の更新を行うステップと、
    によってトレーニングされる、
    請求項に記載の方法。
  5. 前記第1の複数の積み重ね可能なニューラルネットワークの前記第1の複数の重みのセット及び前記第2の複数の積み重ね可能なニューラルネットワークの前記第2の複数の重みのセットのうちの1つ又は複数が、前記現在のハイパーパラメータに対応しない、
    請求項に記載の方法。
  6. 積み重ね可能な入れ子モデル構造によるマルチレートニューラル画像圧縮のための装置であって、
    プログラムコードを記憶するように構成される少なくとも1つのメモリと、
    前記プログラムコードを読み取り、前記プログラムコードの指示通りに動作するように構成される少なくとも1つのプロセッサと、を備え、
    前記プログラムコードは、前記少なくとも1つのプロセッサによって実行されると、
    前記少なくとも1つのプロセッサに、請求項1乃至のうちのいずれか1項に記載の方法を実行させる、
    装置。
  7. コンピュータに、請求項1乃至のうちのいずれか1項に記載の方法を実行させるように構成されるコンピュータプログラム。
JP2022531362A 2020-08-14 2021-07-21 積み重ね可能な入れ子モデル構造及びマイクロ構造化された重み統一によるマルチレートニューラル画像圧縮のための方法及び装置 Active JP7425870B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063065602P 2020-08-14 2020-08-14
US63/065,602 2020-08-14
US17/365,304 2021-07-01
US17/365,304 US20220051102A1 (en) 2020-08-14 2021-07-01 Method and apparatus for multi-rate neural image compression with stackable nested model structures and micro-structured weight unification
PCT/US2021/042535 WO2022035571A1 (en) 2020-08-14 2021-07-21 Method and apparatus for multi-rate neural image compression with stackable nested model structures

Publications (2)

Publication Number Publication Date
JP2023509829A JP2023509829A (ja) 2023-03-10
JP7425870B2 true JP7425870B2 (ja) 2024-01-31

Family

ID=80222965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022531362A Active JP7425870B2 (ja) 2020-08-14 2021-07-21 積み重ね可能な入れ子モデル構造及びマイクロ構造化された重み統一によるマルチレートニューラル画像圧縮のための方法及び装置

Country Status (6)

Country Link
US (1) US20220051102A1 (ja)
EP (1) EP4032310A4 (ja)
JP (1) JP7425870B2 (ja)
KR (1) KR20220084174A (ja)
CN (1) CN114667544B (ja)
WO (1) WO2022035571A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019115865A1 (en) 2017-12-13 2019-06-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
JP2019159694A (ja) 2018-03-12 2019-09-19 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016102001A1 (en) * 2014-12-23 2016-06-30 Telecom Italia S.P.A. Method and system for dynamic rate adaptation of a stream of multimedia contents in a wireless communication network
EP3398090B1 (en) * 2015-12-31 2022-11-16 Services Pétroliers Schlumberger Geological imaging and inversion using object storage
US10192327B1 (en) * 2016-02-04 2019-01-29 Google Llc Image compression with recurrent neural networks
CN106682688B (zh) * 2016-12-16 2020-07-28 华南理工大学 基于粒子群优化的堆叠降噪自编码网络轴承故障诊断方法
AU2018313841B2 (en) * 2017-08-09 2023-10-26 Allen Institute Systems, devices, and methods for image processing to generate an image having predictive tagging
US11250325B2 (en) * 2017-12-12 2022-02-15 Samsung Electronics Co., Ltd. Self-pruning neural networks for weight parameter reduction
US11423312B2 (en) * 2018-05-14 2022-08-23 Samsung Electronics Co., Ltd Method and apparatus for universal pruning and compression of deep convolutional neural networks under joint sparsity constraints
CN108805802B (zh) * 2018-06-05 2020-07-31 东北大学 一种基于约束条件的堆叠步进自编码器的正面人脸重建系统及方法
CN109086807B (zh) * 2018-07-16 2022-03-18 哈尔滨工程大学 一种基于空洞卷积堆叠网络的半监督光流学习方法
US10747956B2 (en) * 2018-08-30 2020-08-18 Dynamic Ai Inc. Artificial intelligence process automation for enterprise business communication
CN109635936A (zh) * 2018-12-29 2019-04-16 杭州国芯科技股份有限公司 一种基于重训练的神经网络剪枝量化方法
CN110443359A (zh) * 2019-07-03 2019-11-12 中国石油大学(华东) 基于自适应联合剪枝-量化的神经网络压缩算法
CN111310787B (zh) * 2020-01-15 2024-03-22 江苏大学 一种基于堆叠编码器的脑功能网络多核模糊聚类方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019115865A1 (en) 2017-12-13 2019-06-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
JP2019159694A (ja) 2018-03-12 2019-09-19 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Rige Su 他3名,Scalable Learned Image Compression Based on Recurrent Neural Networks,電子情報通信学会2020年総合大会講演論文集 情報・システム2,日本,一般社団法人電子情報通信学会,2020年03月03日,第29頁

Also Published As

Publication number Publication date
EP4032310A4 (en) 2022-12-07
US20220051102A1 (en) 2022-02-17
EP4032310A1 (en) 2022-07-27
CN114667544A (zh) 2022-06-24
WO2022035571A1 (en) 2022-02-17
JP2023509829A (ja) 2023-03-10
KR20220084174A (ko) 2022-06-21
CN114667544B (zh) 2024-09-27

Similar Documents

Publication Publication Date Title
JP7323715B2 (ja) 微細構造化マスクを用いたマルチレートニューラル画像圧縮のための方法、装置およびコンピュータプログラム
JP7374340B2 (ja) ニューラル画像圧縮のためのタスク適応型前処理のための方法、装置およびコンピュータプログラム
JP7418570B2 (ja) スタック可能ネスト化モデル構造を用いたマルチレート・ニューラルイメージ圧縮のための方法および装置
JP7420942B2 (ja) 敵対的生成器を用いたレート適応ニューラル画像圧縮のための方法及び装置
JP7425870B2 (ja) 積み重ね可能な入れ子モデル構造及びマイクロ構造化された重み統一によるマルチレートニューラル画像圧縮のための方法及び装置
JP2023526180A (ja) 滑らかな品質制御による適応ニューラル画像圧縮のための代替の入力最適化
JP7447253B2 (ja) エンドツーエンド画像圧縮のための特徴置換のための方法、装置およびコンピュータプログラム
JP7342265B2 (ja) μ構造化ネストマスク及び重み単一化によるマルチレートニューラル画像圧縮モデルを圧縮及び加速するための方法及び装置
JP7411117B2 (ja) メタ学習による柔軟なハイパー事前モデルを用いる適応画像圧縮のための方法、装置及びコンピュータプログラム
JP7434605B2 (ja) メタ学習によるスムーズな品質制御を用いた適応ニューラル画像圧縮のための方法、装置、非一時的コンピュータ可読媒体、およびコンピュータプログラム
JP7471730B2 (ja) メタ学習によるレート制御を用いた適応ニューラル画像圧縮のための方法、装置及びプログラム
JP7408835B2 (ja) マルチタスクニューラルネットワークを使用するマルチ品質ループフィルタによるビデオ処理の方法、装置及びコンピュータプログラム
JP2024512652A (ja) ニューラル画像圧縮における複数ブロック用のコンテンツ適応型オンライン訓練のためのシステム、方法、およびコンピュータプログラム
JP2024513432A (ja) ニューラルネットワークを使用する、エンドツーエンド(e2e)ニューラル画像圧縮(nic)用のコンテンツ適応型オンライン訓練の方法、装置及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240119

R150 Certificate of patent or registration of utility model

Ref document number: 7425870

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150