Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7676578B2 - Method, apparatus and computer program for content-adaptive online training for end-to-end (E2E) neural image compression (NIC) using neural networks - Google Patents
[go: Go Back, main page]

JP7676578B2 - Method, apparatus and computer program for content-adaptive online training for end-to-end (E2E) neural image compression (NIC) using neural networks - Google Patents

Method, apparatus and computer program for content-adaptive online training for end-to-end (E2E) neural image compression (NIC) using neural networks Download PDF

Info

Publication number
JP7676578B2
JP7676578B2 JP2023561073A JP2023561073A JP7676578B2 JP 7676578 B2 JP7676578 B2 JP 7676578B2 JP 2023561073 A JP2023561073 A JP 2023561073A JP 2023561073 A JP2023561073 A JP 2023561073A JP 7676578 B2 JP7676578 B2 JP 7676578B2
Authority
JP
Japan
Prior art keywords
blocks
nic
framework
update parameters
image
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
JP2023561073A
Other languages
Japanese (ja)
Other versions
JP2024513432A (en
Inventor
ディン・ディン
ウェイ・ワン
シャン・リュウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 Tencent America LLC filed Critical Tencent America LLC
Publication of JP2024513432A publication Critical patent/JP2024513432A/en
Application granted granted Critical
Publication of JP7676578B2 publication Critical patent/JP7676578B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

関連出願の相互参照
本出願は、2021年12月13日に出願された米国仮特許出願第63/289,044号および2022年10月19日に出願された米国特許出願第17/969,242号に基づいており、それらの優先権を主張し、それらの開示はその全体が参照により本明細書に組み込まれる。
CROSS-REFERENCE TO RELATED APPLICATIONS This application is based on and claims priority to U.S. Provisional Patent Application No. 63/289,044, filed December 13, 2021, and U.S. Patent Application No. 17/969,242, filed October 19, 2022, the disclosures of which are incorporated by reference in their entireties herein.

ハイブリッドビデオコーデックは、全体として最適化することが困難な場合がある。単一のモジュールの改善は、全体的な性能における符号化利得をもたらさない場合がある。近年、標準的なグループおよび企業は、将来のビデオ符号化技術の標準化に対する潜在的な需要を積極的に調査してきた。これらの標準的なグループおよび企業は、ディープニューラルネットワーク(DNN)を使用したAIベースのエンドツーエンドのニューラル画像圧縮に焦点を当てたJPEG-AIグループを確立している。また、中国のオーディオ・ビデオ・コーディング(AVS)規格では、AVS-AI特別グループも結成し、ニューラル画像およびビデオ圧縮技術に取り組んでいる。最近の手法の成功は、高度なニューラル画像およびビデオ圧縮方法論に対するますます多くの産業上の関心をもたらしている。 Hybrid video codecs can be difficult to optimize as a whole. Improvements in a single module may not result in coding gains in overall performance. In recent years, standards groups and companies have been actively investigating the potential demand for standardization of future video coding technologies. These standards groups and companies have established the JPEG-AI group, which focuses on AI-based end-to-end neural image compression using deep neural networks (DNNs). And the Chinese Audio-Video Coding (AVS) standard has also formed an AVS-AI special group to work on neural image and video compression technologies. The success of recent methods has led to more and more industrial interest in advanced neural image and video compression methodologies.

しかしながら、従来技術では、ニューラルネットワークベースのビデオまたは画像コーディングフレームワークは、特定のタイプの圧縮フレームワークに限定されている。様々なタイプのフレームワークに対応するために、従来のシステムは、コンピューティングメモリ/コストの増加、およびレート歪み損失の増加を必要とする場合があり、画像またはビデオフレームワーク/プロセス全体の性能の低下につながる。 However, in the prior art, neural network-based video or image coding frameworks are limited to a specific type of compression framework. To accommodate various types of frameworks, the prior art systems may require increased computing memory/cost and increased rate-distortion loss, leading to a decrease in performance of the entire image or video framework/process.

したがって、コーディングフレームワークを最適化し、かつ全体的な性能を向上させる方法が必要とされている。 Therefore, there is a need for a way to optimize the coding framework and improve overall performance.

実施形態によれば、ニューラル画像圧縮における、複数のブロック用のコンテンツ適応型オンライン訓練の方法が提供される。 According to an embodiment, a method for content-adaptive online training for multiple blocks in neural image compression is provided.

本開示の態様によれば、少なくとも1つのプロセッサによって実行される、ニューラルネットワークを使用するいくつかのパターンに基づく、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)用のコンテンツ適応型オンライン訓練の方法が提供される。本方法は、E2E NICフレームワークへの入力画像を受信するステップと、入力画像を複数のブロックに分割するステップと、複数のブロックからブロックのサブセットを選択するステップであって、ブロックのサブセットは同じパターンを共有する、ステップと、E2E NICフレームワークのニューラルネットワークを前処理するステップであって、前処理されたニューラルネットワークが、選択されたブロックのサブセットに適用される、ステップと、前処理されたニューラルネットワークを使用して、更新パラメータを計算するステップと、更新パラメータに基づいて、更新されたE2E NICフレームワークを生成するステップとを含む。 According to an aspect of the present disclosure, a method for content-adaptive online training for end-to-end (E2E) neural image compression (NIC) based on several patterns using a neural network, executed by at least one processor, is provided. The method includes receiving an input image to an E2E NIC framework, dividing the input image into a number of blocks, selecting a subset of blocks from the number of blocks, the subset of blocks sharing the same pattern, preprocessing a neural network of the E2E NIC framework, the preprocessed neural network being applied to the selected subset of blocks, calculating update parameters using the preprocessed neural network, and generating an updated E2E NIC framework based on the update parameters.

本方法は、複数のブロックの圧縮表現、および更新パラメータの圧縮表現を生成するために、複数のブロックおよび更新パラメータを符号化するステップと、復号された更新パラメータを生成するために、更新パラメータの圧縮表現を復号するステップと、復号された更新パラメータに基づいて、E2E NICフレームワークを更新するステップと、再構築画像を生成するために、更新されたE2E NICフレームワークに基づいて、複数のブロックの圧縮表現を復号するステップとをさらに含み得る。 The method may further include encoding the plurality of blocks and the update parameters to generate a compressed representation of the plurality of blocks and a compressed representation of the update parameters, decoding the compressed representation of the update parameters to generate decoded update parameters, updating the E2E NIC framework based on the decoded update parameters, and decoding the compressed representation of the plurality of blocks based on the updated E2E NIC framework to generate a reconstructed image.

本方法は、複数のブロックおよび更新パラメータの圧縮表現の消費量、トレードオフハイパーパラメータ、ならびに複数のブロックの圧縮表現のブロック残差と、複数のブロックの復号された圧縮表現のブロック残差との間の歪みに基づいて、再構築画像の歪み損失を判断するステップをさらに含み得る。 The method may further include determining a distortion loss of the reconstructed image based on the consumption of the compressed representations of the plurality of blocks and the update parameters, the trade-off hyperparameter, and the distortion between the block residuals of the compressed representations of the plurality of blocks and the block residuals of the decoded compressed representations of the plurality of blocks.

いくつかの実施形態では、同じパターンは、複数のブロックのRGB分散、または複数のブロックのYUV分散に基づいて判断される。 In some embodiments, the same pattern is determined based on the RGB variance of multiple blocks, or the YUV variance of multiple blocks.

いくつかの実施形態では、更新パラメータは、学習率およびステップの数を含み、学習率およびステップの数は、入力画像の特性に基づいて選択される。 In some embodiments, the update parameters include a learning rate and a number of steps, where the learning rate and the number of steps are selected based on characteristics of the input image.

いくつかの実施形態では、入力画像の特性は、入力画像のRGB分散および入力画像のRD性能のうちの一方である。 In some embodiments, the characteristic of the input image is one of the RGB variance of the input image and the RD performance of the input image.

本方法は、ニューラルネットワークを前処理するときに、ニューラルネットワークが複数のブロックを使用して微調整されることをさらに含み得る。 The method may further include, when preprocessing the neural network, fine-tuning the neural network using a plurality of blocks.

本開示の別の態様によれば、コンピュータプログラムコードを記憶するように構成された少なくとも1つのメモリと、コンピュータプログラムコードを読み出し、コンピュータプログラムコードによって命令された通りに動作するように構成された少なくとも1つのプロセッサとを備える、ニューラルネットワークを使用する、いくつかのパターンに基づく、コンテンツE2E NIC用の装置が提供される。コンピュータプログラムコードは、少なくとも1つのプロセッサに、E2E NICフレームワークへの入力画像を受信させるように構成された、受信コードと、少なくとも1つのプロセッサに、入力画像を複数のブロックに分割させるように構成された、分割コードと、少なくとも1つのプロセッサに、複数のブロックからブロックのサブセットを選択させるように構成され、ブロックのサブセットは同じパターンを共有する、選択コードと、少なくとも1つのプロセッサに、E2E NICフレームワークのニューラルネットワークを前処理させるように構成された前処理コードであって、前処理されたニューラルネットワークが、選択したブロックのサブセットに適用される、前処理コードと、少なくとも1つのプロセッサに、前処理されたニューラルネットワークを使用して、更新パラメータを計算させるように構成された、コンピューティングコードと、少なくとも1つのプロセッサに、更新パラメータに基づいて、更新されたE2E NICフレームワークを生成させるように構成された、生成コードとを含む。 According to another aspect of the present disclosure, there is provided an apparatus for a pattern-based content E2E NIC using a neural network, comprising at least one memory configured to store computer program code and at least one processor configured to read the computer program code and act as instructed by the computer program code. The computer program code includes a receiving code configured to cause at least one processor to receive an input image to the E2E NIC framework; a dividing code configured to cause the at least one processor to divide the input image into a plurality of blocks; a selection code configured to cause the at least one processor to select a subset of blocks from the plurality of blocks, the subset of blocks sharing a same pattern; a preprocessing code configured to cause the at least one processor to preprocess a neural network of the E2E NIC framework, the preprocessed neural network being applied to the selected subset of blocks; a computing code configured to cause the at least one processor to calculate update parameters using the preprocessed neural network; and a generating code configured to cause the at least one processor to generate an updated E2E NIC framework based on the update parameters.

当該装置は、複数のブロックの圧縮表現、および更新パラメータの圧縮表現を生成するために、少なくとも1つのプロセッサに、複数のブロックおよび更新パラメータを符号化させるように構成された、符号化コードと、復号された更新パラメータを生成するために、少なくとも1つのプロセッサに、更新パラメータの圧縮表現を復号させるように構成された、第1の復号コードと、少なくとも1つのプロセッサに、復号された更新パラメータに基づいてE2E NICフレームワークを更新させるように構成された、更新コードと、再構築画像を生成するために、少なくとも1つのプロセッサに、更新されたE2E NICフレームワークに基づいて、複数のブロックの圧縮表現を復号させるように構成された、第2の復号コードとをさらに含み得る。 The apparatus may further include an encoding code configured to cause the at least one processor to encode the plurality of blocks and the update parameters to generate a compressed representation of the plurality of blocks and a compressed representation of the update parameters; a first decoding code configured to cause the at least one processor to decode the compressed representation of the update parameters to generate decoded update parameters; an update code configured to cause the at least one processor to update the E2E NIC framework based on the decoded update parameters; and a second decoding code configured to cause the at least one processor to decode the compressed representation of the plurality of blocks based on the updated E2E NIC framework to generate a reconstructed image.

当該装置は、少なくとも1つのプロセッサに、複数のブロックおよび更新パラメータの圧縮表現の消費量、トレードオフハイパーパラメータ、ならびに複数のブロックの圧縮表現のブロック残差と、複数のブロックの復号された圧縮表現のブロック残差との間の歪みに基づいて、再構築画像の歪み損失を判断させる、歪み損失判断コードをさらに含み得る。 The apparatus may further include distortion loss determination code that causes at least one processor to determine a distortion loss of the reconstructed image based on the consumption of the compressed representations of the plurality of blocks and update parameters, the trade-off hyperparameters, and the distortion between the block residuals of the compressed representations of the plurality of blocks and the block residuals of the decoded compressed representations of the plurality of blocks.

本開示の別の態様によれば、ニューラルネットワークを使用する、いくつかのパターンに基づく、E2E NIC用のコンテンツ適応型オンライン訓練のための装置の、少なくとも1つのプロセッサによって実行される命令を記憶する、非一時的コンピュータ可読媒体が提供される。命令は、少なくとも1つのプロセッサに、E2E NICフレームワークへの入力画像を受信させ、入力画像を複数のブロックに分割させ、複数のブロックからブロックのサブセットを選択させ、ブロックのサブセットは同じパターンを共有し、E2E NICフレームワークのニューラルネットワークを前処理させ、前処理されたニューラルネットワークが、選択されたブロックのサブセットに適用され、前処理されたニューラルネットワークを使用して更新パラメータを計算させ、かつ更新パラメータに基づいて、更新されたE2E NICフレームワークを生成させる。 According to another aspect of the present disclosure, a non-transitory computer-readable medium is provided that stores instructions executed by at least one processor of an apparatus for content-adaptive online training for E2E NICs based on a number of patterns using a neural network. The instructions cause the at least one processor to receive an input image to an E2E NIC framework, divide the input image into a number of blocks, select a subset of the blocks from the number of blocks, the subset of blocks sharing the same pattern, preprocess a neural network of the E2E NIC framework, apply the preprocessed neural network to the selected subset of blocks, calculate update parameters using the preprocessed neural network, and generate an updated E2E NIC framework based on the update parameters.

非一時的コンピュータ可読媒体は、さらに少なくとも1つのプロセッサに、複数のブロックの圧縮表現、および更新パラメータの圧縮表現を生成するために、複数のブロックおよび更新パラメータを符号化させ、復号された更新パラメータを生成するために、更新パラメータの圧縮表現を復号させ、復号された更新パラメータに基づいて、E2E NICフレームワークを更新させ、再構築画像を生成するために、更新されたE2E NICフレームワークに基づいて、複数のブロックの圧縮表現を復号させる、命令をさらに含み得る。 The non-transitory computer-readable medium may further include instructions to cause at least one processor to encode the plurality of blocks and the update parameters to generate a compressed representation of the plurality of blocks and a compressed representation of the update parameters, decode the compressed representation of the update parameters to generate decoded update parameters, update the E2E NIC framework based on the decoded update parameters, and decode the compressed representation of the plurality of blocks based on the updated E2E NIC framework to generate a reconstructed image.

非一時的コンピュータ可読媒体は、さらに少なくとも1つのプロセッサに、複数のブロックおよび更新パラメータの圧縮表現の消費量、トレードオフハイパーパラメータ、ならびに複数のブロックの圧縮表現のブロック残差と、複数のブロックの復号された圧縮表現のブロック残差との間の歪みに基づいて、前記再構築画像の歪み損失を判断させる、命令をさらに含み得る。 The non-transitory computer-readable medium may further include instructions for causing at least one processor to determine a distortion loss of the reconstructed image based on consumption of the compressed representations of the plurality of blocks and update parameters, trade-off hyperparameters, and distortion between block residuals of the compressed representations of the plurality of blocks and block residuals of the decoded compressed representations of the plurality of blocks.

追加の実施形態は、以下の説明に記載され、部分的には、説明から明らかになり、および/または本開示の提示された実施形態の実施によって理解することができる。 Additional embodiments are set forth in the description that follows and, in part, will be apparent from the description and/or may be learned by practice of the presented embodiments of the present disclosure.

実施形態による、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)用のコンテンツ適応型オンライン訓練プロセスの概要のフローチャートである。1 is a flowchart of an overview of a content-adaptive online training process for end-to-end (E2E) neural image compression (NIC), according to an embodiment. 実施形態による、本明細書に記載された方法、装置、およびシステムが実装され得る環境を示す図である。FIG. 1 illustrates an environment in which the methods, apparatus, and systems described herein may be implemented, according to an embodiment. 図2の1つ以上のデバイスの例示的な構成要素を示すブロック図である。3 is a block diagram illustrating example components of one or more devices of FIG. 2. ブロック単位の画像コーディングの一例を示す図である。FIG. 2 is a diagram showing an example of block-based image coding. いくつかのパターンに基づく、複数のブロックのコンテンツ適応型オンライン訓練を示す例である。1 is an example showing content-adaptive online training of multiple blocks based on several patterns. 実施形態による、コーディングプロセスの例のフローチャートである。1 is a flowchart of an example coding process, according to an embodiment. 実施形態による、コンテンツ適応型オンライン訓練を使用する、エンドツーエンド(E2E)のニューラル画像圧縮(NIC)フレームワークを示す例示的なブロック図を示す。FIG. 1 illustrates an exemplary block diagram illustrating an end-to-end (E2E) neural image compression (NIC) framework with content-adaptive online training, according to an embodiment. 実施形態による、ニューラルネットワークを使用するいくつかのパターンに基づく、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)用のコンテンツ適応型オンライン訓練の方法を示すフローチャートである。1 is a flow chart illustrating a method for content-adaptive online training for end-to-end (E2E) neural image compression (NIC) based on several patterns using neural networks, according to an embodiment. 実施形態による、ニューラルネットワークを使用する、いくつかのパターンに基づく、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)用のコンテンツ適応型オンライン訓練のための、コンピュータコードの一例のブロック図である。FIG. 1 is a block diagram of an example of computer code for content-adaptive online training for end-to-end (E2E) neural image compression (NIC) based on several patterns using neural networks, according to an embodiment.

例示的な実施形態の以下の詳細な説明は、添付の図面を参照する。異なる図面内の同じ参照番号は、同じまたは類似の要素を識別し得る。 The following detailed description of the exemplary embodiments refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.

前述の開示は、例示および説明を提供しているが、網羅的であることも、実装形態を厳密に開示の形態に限定することも意図されていない。修正形態および変形形態が上記の開示に照らして可能であり、または実装形態の実践から取得されてもよい。さらに、1つの実施形態の1つ以上の特性または構成要素が、別の実施形態(または別の実施形態の1つ以上の特性)に組み込まれたり組み合わされたりしてもよい。加えて、以下で提示される動作のフローチャートおよび説明において、1つ以上の動作が省略されてもよく、1つ以上の動作が追加されてもよく、1つ以上の動作が(少なくとも部分的に)同時に実行されてもよく、かつ1つ以上の動作の順序が入れ替わってもよいことが理解されよう。 The foregoing disclosure provides illustrations and descriptions, but is not intended to be exhaustive or to limit the implementation to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations. Moreover, one or more features or components of one embodiment may be incorporated or combined with another embodiment (or one or more features of another embodiment). In addition, it will be understood that in the flowcharts and descriptions of operations presented below, one or more operations may be omitted, one or more operations may be added, one or more operations may be performed (at least partially) simultaneously, and the order of one or more operations may be changed.

本明細書に記載のシステムおよび/または方法は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせの異なる形態で実装されてもよいことは明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の専用の制御ハードウェアまたはソフトウェアコードは、実装形態を限定するものではない。したがって、システムおよび/または方法の動作ならびに挙動は、特定のソフトウェアコードを参照することなく本明細書で説明された。ソフトウェアおよびハードウェアは、本明細書の説明に基づいてシステムおよび/または方法を実施するように設計され得ることを理解されたい。 It will be apparent that the systems and/or methods described herein may be implemented in different forms of hardware, software, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and/or methods is not intended to limit the implementation. Thus, the operation and behavior of the systems and/or methods have been described herein without reference to any specific software code. It should be understood that software and hardware may be designed to implement the systems and/or methods based on the description herein.

特定の特徴の組み合わせが、特許請求の範囲に記載され、かつ/または本明細書に開示されていても、これらの組み合わせは、可能な実装形態の開示を限定することを意図されたものではない。実際、これらの特徴の多くは、特許請求の範囲に具体的に記載されておらず、かつ/または本明細書に開示されていない方法で組み合わされ得る。以下に列挙される各従属請求項は1つの請求項にのみ直接従属してもよいが、実施可能な実装形態の開示は、各従属請求項を請求項セット内のあらゆる他の請求項と組み合わせて含む。 Although certain combinations of features are recited in the claims and/or disclosed herein, these combinations are not intended to limit the disclosure of possible implementations. Indeed, many of these features may be combined in ways not specifically recited in the claims and/or disclosed herein. Although each dependent claim listed below may depend directly on only one claim, the disclosure of possible implementations includes each dependent claim in combination with every other claim in the claim set.

以下で説明される提案された機能は、別々に使用されるか、または任意の順序で組み合わされてもよい。さらに、実施形態は、処理回路(例えば、1つもしくは複数のプロセッサまたは1つもしくは複数の集積回路)によって実施されてもよい。一例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。 The proposed features described below may be used separately or combined in any order. Furthermore, the embodiments may be implemented by processing circuitry (e.g., one or more processors or one or more integrated circuits). In one example, one or more processors execute a program stored on a non-transitory computer-readable medium.

本明細書で使用される要素、動作、または命令は、そのようなものとして明示的に記載されていない限り、重要または必須であると解釈されてはならない。また、本明細書で使用される場合、冠詞「a」および「an」は、1つまたは複数の項目を含むことを意図されており、「1つまたは複数」と交換可能に使用されてもよい。1つの項目のみが対象とされる場合、「1つ」という用語または同様の言葉が使用される。また、本明細書で使用される場合、用語「有する(has)」、「有する(have)」、「有している(having)」、「含む(include)」、「含んでいる(including)」などは、オープンエンドの用語であることが意図されている。さらに、「に基づいて」という語句は、特に明記されない限り、「に少なくとも部分的に基づいて」を意味することが意図されている。さらに、「[A]および[B]のうちの少なくとも1つ」、あるいは「[A]または[B]のうちの少なくとも1つ」などの表現は、Aのみ、Bのみ、またはAおよびBの両方を含むものとして理解されたい。 No element, act, or instruction used herein should be construed as critical or essential unless expressly described as such. Also, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." When only one item is intended, the term "one" or similar words are used. Also, as used herein, the terms "has," "have," "having," "include," "including," and the like are intended to be open-ended terms. Furthermore, the phrase "based on" is intended to mean "based at least in part on," unless otherwise specified. Furthermore, phrases such as "at least one of [A] and [B]," or "at least one of [A] or [B]," should be understood to include only A, only B, or both A and B.

本開示の例示的な実施形態は、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)の最適化されたネットワークにおける、複数のブロックのコンテンツ適応型オンライン訓練のための方法および装置を提供する。E2E最適化ネットワークは、例えば、人工ニューラルネットワーク(ANN)ベースの画像コーディングフレームワークであってもよい。ANNベースのビデオコーディングフレームワークでは、機械学習プロセスを実行することによって、最終目的(例えば、レート歪み性能)を改善するために入力から出力まで異なるモジュールを一緒に最適化することができ、E2E最適化NICが得られる。 Exemplary embodiments of the present disclosure provide a method and apparatus for content-adaptive online training of multiple blocks in an optimized network of end-to-end (E2E) neural image compression (NIC). The E2E optimized network may be, for example, an artificial neural network (ANN)-based image coding framework. In the ANN-based video coding framework, different modules can be jointly optimized from input to output to improve the final objective (e.g., rate-distortion performance) by performing a machine learning process, resulting in an E2E optimized NIC.

図1は、実施形態による、コンテンツ適応型オンライン訓練NICフレームワーク、コンテンツ適応型オンライン訓練システムなどによって実行される、E2E NIC用のコンテンツ適応型オンライン訓練プロセスの概要のフローチャートである。 Figure 1 is a flowchart of an overview of a content-adaptive online training process for an E2E NIC, as performed by a content-adaptive online training NIC framework, a content-adaptive online training system, etc., according to an embodiment.

まず、入力画像(またはビデオシーケンス)が受信される(S110)。次に、S120において、画像が複数のブロックに分割される。ブロックを圧縮するために、分割ブロックに対して、ブロック単位の画像コーディングが実行されてもよい。S130において、複数のブロックからブロックのセットが選択される。選択は、複数のブロックに存在すると判断されたパターンに基づいて行われる。S140において、コンテンツ適応型オンライン訓練NICフレームワークの前処理が実行され、選択されたブロックのセットに適用されて、ネットワークを微調整する。S150において、前処理された(すなわち微調整された)ネットワークに基づいて更新パラメータが生成される。更新パラメータは、これに限定されないが、例えば、ステップサイズ(すなわち学習率)およびステップの数を含んでもよい。ブロックおよび生成された更新パラメータは、次に、DNNエンコーダなどによって符号化され、その後、DNNデコーダなどによって復号される(S160)。復号された更新パラメータは、NICフレームワークを更新するために使用される(S170)。最後に、更新されたNICフレームワークのデコーダが、最終画像を復号し生成するために使用される。つまり、S180において、更新されたNICフレームワークに基づいて再構築画像が生成される。 First, an input image (or video sequence) is received (S110). Next, in S120, the image is divided into a number of blocks. Block-wise image coding may be performed on the divided blocks to compress the blocks. In S130, a set of blocks is selected from the number of blocks. The selection is made based on a pattern determined to be present in the number of blocks. In S140, pre-processing of the content-adaptive online training NIC framework is performed and applied to the selected set of blocks to fine-tune the network. In S150, update parameters are generated based on the pre-processed (i.e., fine-tuned) network. The update parameters may include, for example, but are not limited to, a step size (i.e., learning rate) and a number of steps. The blocks and the generated update parameters are then encoded, such as by a DNN encoder, and then decoded, such as by a DNN decoder (S160). The decoded update parameters are used to update the NIC framework (S170). Finally, the decoder of the updated NIC framework is used to decode and generate a final image. That is, in S180, a reconstructed image is generated based on the updated NIC framework.

図2は、実施形態による、本明細書に記載された方法、装置、およびシステムが実装され得る環境200の図である。 FIG. 2 is a diagram of an environment 200 in which the methods, apparatus, and systems described herein may be implemented, according to an embodiment.

図2に示されるように、環境200は、ユーザデバイス210と、プラットフォーム220と、ネットワーク230とを含み得る。環境200のデバイスは、有線接続、無線接続、または有線接続と無線接続の組み合わせを介して相互接続され得る。 As shown in FIG. 2, environment 200 may include user devices 210, platform 220, and network 230. The devices of environment 200 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.

ユーザデバイス210は、プラットフォーム220に関連付けられた情報を受信、生成、記憶、処理、および/または提供することが可能な1つ以上のデバイスを含む。例えば、ユーザデバイス210は、コンピューティングデバイス(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカ、サーバなど)、携帯電話(例えば、スマートフォン、無線電話など)、ウェアラブルデバイス(例えば、スマートグラスもしくはスマートウォッチ)、または同様のデバイスを含んでもよい。いくつかの実装形態では、ユーザデバイス210は、プラットフォーム220から情報を受信し、かつ/またはプラットフォーム220に情報を送信することができる。 User device 210 includes one or more devices capable of receiving, generating, storing, processing, and/or providing information associated with platform 220. For example, user device 210 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile phone (e.g., a smartphone, a wireless phone, etc.), a wearable device (e.g., smart glasses or a smart watch), or a similar device. In some implementations, user device 210 can receive information from and/or transmit information to platform 220.

プラットフォーム220は、本明細書の他の箇所に記載されるような1つ以上のデバイスを含む。いくつかの実装形態では、プラットフォーム220は、クラウドサーバまたはクラウドサーバ群を含んでもよい。いくつかの実装形態では、プラットフォーム220は、ソフトウェアコンポーネントがスワップインまたはスワップアウトされ得るようにモジュール式に設計されてもよい。したがって、プラットフォーム220は、異なる用途のために容易にかつ/または迅速に再構成されてもよい。 Platform 220 includes one or more devices as described elsewhere herein. In some implementations, platform 220 may include a cloud server or a collection of cloud servers. In some implementations, platform 220 may be designed to be modular such that software components may be swapped in or out. Thus, platform 220 may be easily and/or quickly reconfigured for different uses.

いくつかの実装形態では、図示のように、プラットフォーム220は、クラウドコンピューティング環境222内でホストされてもよい。特に、本明細書に記載された実装形態はクラウドコンピューティング環境222内でホストされるものとしてプラットフォーム220を記載するが、いくつかの実装形態では、プラットフォーム220は、クラウドベースでなくてもよく(すなわち、クラウドコンピューティング環境の外部に実装されてもよい)、または部分的にクラウドベースであってもよい。 In some implementations, as shown, platform 220 may be hosted within cloud computing environment 222. Notably, although the implementations described herein describe platform 220 as being hosted within cloud computing environment 222, in some implementations platform 220 may not be cloud-based (i.e., may be implemented outside of a cloud computing environment) or may be partially cloud-based.

クラウドコンピューティング環境222は、プラットフォーム220をホストする環境を含む。クラウドコンピューティング環境222は、プラットフォーム220をホスティングによって提供する1つ以上のシステムおよび/または1つ以上のデバイスの物理的な位置および構成についてのエンドユーザ(例えばユーザデバイス210)による認識を必要としない計算サービス、ソフトウェアサービス、データアクセスサービス、記憶サービスなどを提供してもよい。図示されたように、クラウドコンピューティング環境222は、(「コンピューティングリソース224」と総称され、個別に「コンピューティングリソース224」と呼ばれる)コンピューティングリソース224のグループを含んでもよい。 Cloud computing environment 222 includes an environment that hosts platform 220. Cloud computing environment 222 may provide computational services, software services, data access services, storage services, and the like that do not require awareness by an end user (e.g., user device 210) of the physical location and configuration of one or more systems and/or one or more devices that host platform 220. As illustrated, cloud computing environment 222 may include a group of computing resources 224 (collectively referred to as "computing resources 224" and individually referred to as "computing resource 224").

コンピューティングリソース224は、1つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または他の種類の計算および/または通信デバイスを含む。いくつかの実装形態では、コンピューティングリソース224は、プラットフォーム220をホストすることができる。クラウドリソースは、コンピューティングリソース224内で実行される計算インスタンス、コンピューティングリソース224内で提供されるストレージデバイス、コンピューティングリソース224によって提供されるデータ転送デバイスなどを含んでもよい。いくつかの実装形態では、コンピューティングリソース224は、有線接続、無線接続、または有線接続と無線接続との組み合わせを介して他のコンピューティングリソース224と通信してもよい。 Computing resources 224 include one or more personal computers, workstation computers, server devices, or other types of computing and/or communication devices. In some implementations, computing resources 224 may host platform 220. Cloud resources may include compute instances running within computing resources 224, storage devices provided within computing resources 224, data transfer devices provided by computing resources 224, and the like. In some implementations, computing resources 224 may communicate with other computing resources 224 via wired connections, wireless connections, or a combination of wired and wireless connections.

図2にさらに示されるように、コンピューティングリソース224は、1つ以上のアプリケーション(「APP」)224-1、1つ以上の仮想マシン(「VM」)224-2、1つ以上の仮想化ストレージ(「VS」)224-3、あるいは1つ以上のハイパーバイザ(「HYP」)224-4などのクラウドリソースのグループを含む。 As further shown in FIG. 2, computing resources 224 may include a group of cloud resources, such as one or more applications ("APPs") 224-1, one or more virtual machines ("VMs") 224-2, one or more virtualized storage ("VS") 224-3, or one or more hypervisors ("HYPs") 224-4.

アプリケーション224-1は、ユーザデバイス210および/もしくはプラットフォーム220に提供することができる、またはユーザデバイス210および/もしくはプラットフォーム220によってアクセスすることができる1つ以上のソフトウェアアプリケーションを含む。アプリケーション224-1は、ユーザデバイス210にソフトウェアアプリケーションをインストールして実行する必要性を排除してもよい。例えば、アプリケーション224-1は、プラットフォーム220に関連付けられたソフトウェア、および/またはクラウドコンピューティング環境222を介して提供することができる他の任意のソフトウェアを含んでもよい。いくつかの実装形態では、1つのアプリケーション224-1は、仮想マシン224-2を介して、1つ以上の他のアプリケーション224-1との間で情報を送受信してもよい。 Application 224-1 includes one or more software applications that can be provided to or accessed by user device 210 and/or platform 220. Application 224-1 may eliminate the need to install and run software applications on user device 210. For example, application 224-1 may include software associated with platform 220 and/or any other software that can be provided via cloud computing environment 222. In some implementations, one application 224-1 may send and receive information to one or more other applications 224-1 via virtual machine 224-2.

仮想マシン224-2は、物理マシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装形態を含む。仮想マシン224-2は、仮想マシン224-2による用途および任意の実マシンに対するその対応度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかであってもよい。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供することができる。プロセス仮想マシンは、単一のプログラムを実行し、単一の処理をサポートしてもよい。いくつかの実装形態では、仮想マシン224-2は、ユーザ(例えば、ユーザデバイス210)の代わりに実行してもよく、データ管理、同期、または長時間のデータ転送など、クラウドコンピューティング環境222のインフラストラクチャを管理してもよい。 Virtual machine 224-2 includes a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machine 224-2 may be either a system virtual machine or a process virtual machine, depending on the use by virtual machine 224-2 and its correspondence to any real machine. A system virtual machine can provide a complete system platform that supports the execution of a complete operating system ("OS"). A process virtual machine may execute a single program and support a single process. In some implementations, virtual machine 224-2 may run on behalf of a user (e.g., user device 210) and manage the infrastructure of cloud computing environment 222, such as data management, synchronization, or long-term data transfer.

仮想化ストレージ224-3は、コンピューティングリソース224のストレージシステムまたはデバイス内で仮想化技術を使用する1つもしくは複数のストレージシステムおよび/または1つもしくは複数のデバイスを含む。いくつかの実装形態では、ストレージシステムのコンテキスト内で、仮想化のタイプは、ブロック仮想化およびファイル仮想化を含んでもよい。ブロック仮想化は、物理ストレージまたは異種構造に関係なくストレージシステムがアクセスされ得るように、物理ストレージからの論理ストレージの抽象化(または分離)を指すことができる。分離は、ストレージシステムの管理者がエンドユーザのためにストレージを管理する方法における柔軟性を可能にし得る。ファイル仮想化は、ファイルレベルでアクセスされるデータとファイルが物理的に記憶されている場所との間の依存関係を排除し得る。これにより、ストレージ使用の最適化、サーバ統合、および/または非破壊的なファイル移行の実行が可能になり得る。 Virtualized storage 224-3 includes one or more storage systems and/or one or more devices that use virtualization techniques within the storage systems or devices of computing resources 224. In some implementations, within the context of a storage system, types of virtualization may include block virtualization and file virtualization. Block virtualization may refer to the abstraction (or separation) of logical storage from physical storage such that the storage system may be accessed without regard to the physical storage or heterogeneous structure. The separation may allow flexibility in how storage system administrators manage storage for end users. File virtualization may eliminate dependencies between data accessed at the file level and where the file is physically stored. This may enable optimization of storage usage, server consolidation, and/or performing non-disruptive file migrations.

ハイパーバイザ224-4は、複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)をコンピューティングリソース224などのホストコンピュータ上で同時に実行することを可能にするハードウェア仮想化技術を提供し得る。ハイパーバイザ224-4は、仮想オペレーティングプラットフォームをゲストオペレーティングシステムに提示し得、ゲストオペレーティングシステムの実行を管理し得る。様々なオペレーティングシステムの複数のインスタンスは、仮想化ハードウェアリソースを共有し得る。 Hypervisor 224-4 may provide hardware virtualization technology that allows multiple operating systems (e.g., "guest operating systems") to run simultaneously on a host computer, such as computing resource 224. Hypervisor 224-4 may present a virtual operating platform to the guest operating systems and may manage the execution of the guest operating systems. Multiple instances of various operating systems may share virtualized hardware resources.

ネットワーク230は、1つ以上の有線および/または無線のネットワークを含む。例えば、ネットワーク230は、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、公衆陸上移動網(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話網(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバベースのネットワークなど、および/またはこれらもしくは他のタイプのネットワークの組み合わせを含み得る。 Network 230 may include one or more wired and/or wireless networks. For example, network 230 may include a cellular network (e.g., a fifth generation (5G) network, a long term evolution (LTE) network, a third generation (3G) network, a code division multiple access (CDMA) network, etc.), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., a public switched telephone network (PSTN)), a private network, an ad-hoc network, an intranet, the Internet, an optical fiber-based network, etc., and/or a combination of these or other types of networks.

図2に示すデバイスおよびネットワークの数および配置は、一例として提供されている。実際には、図2に示すものに比べて、追加のデバイスおよび/もしくはネットワーク、少ないデバイスおよび/もしくはネットワーク、異なるデバイスおよび/もしくはネットワーク、または異なる配置のデバイスおよび/もしくはネットワークがあってもよい。さらに、図2に示す2つ以上のデバイスは、単一のデバイス内に実装されてもよく、または図2に示す単一のデバイスは、複数の分散型デバイスとして実装されてもよい。追加的または代替的に、環境200のデバイスのセット(例えば、1つ以上のデバイス)は、環境200の別のデバイスのセットによって実行されるものとして記載された1つ以上の機能を実行してもよい。 The number and arrangement of devices and networks shown in FIG. 2 are provided as an example. In practice, there may be additional devices and/or networks, fewer devices and/or networks, different devices and/or networks, or different arrangements of devices and/or networks than those shown in FIG. 2. Furthermore, two or more devices shown in FIG. 2 may be implemented within a single device, or a single device shown in FIG. 2 may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) of environment 200 may perform one or more functions described as being performed by another set of devices of environment 200.

図3は、図2の1つ以上のデバイスの例示的な構成要素を示すブロック図である。 Figure 3 is a block diagram illustrating example components of one or more devices of Figure 2.

デバイス300は、ユーザデバイス210および/またはプラットフォーム220に対応してもよい。図3に示されたように、デバイス300は、バス310と、プロセッサ320と、メモリ330と、記憶構成要素340と、入力構成要素350と、出力構成要素360と、通信インターフェース370とを含んでもよい。 The device 300 may correspond to the user device 210 and/or the platform 220. As shown in FIG. 3, the device 300 may include a bus 310, a processor 320, a memory 330, a storage component 340, an input component 350, an output component 360, and a communication interface 370.

バス310は、デバイス300の構成要素間の通信を可能にする構成要素を含む。プロセッサ320は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせで実装される。プロセッサ320は、中央処理装置(CPU)、グラフィック処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または別のタイプの処理構成要素である。いくつかの実装形態では、プロセッサ320は、機能を実行するようにプログラムされることが可能な1つまたは複数のプロセッサを含む。メモリ330は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、および/またはプロセッサ320が使用する情報および/または命令を記憶する別のタイプの動的または静的ストレージデバイス(例えば、フラッシュメモリ、磁気メモリ、および/または光メモリ)を含む。 The bus 310 includes components that enable communication between the components of the device 300. The processor 320 is implemented in hardware, software, or a combination of hardware and software. The processor 320 is a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or another type of processing component. In some implementations, the processor 320 includes one or more processors that can be programmed to perform functions. The memory 330 includes random access memory (RAM), read only memory (ROM), and/or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and/or optical memory) that stores information and/or instructions used by the processor 320.

記憶構成要素340は、デバイス300の動作および使用に関連する情報および/またはソフトウェアを記憶する。例えば、記憶構成要素340は、対応するドライブと共に、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、および/またはソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的コンピュータ可読媒体を含んでもよい。 Storage component 340 stores information and/or software related to the operation and use of device 300. For example, storage component 340 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and/or a solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cartridge, a magnetic tape, and/or another type of non-transitory computer-readable medium along with a corresponding drive.

入力構成要素350は、デバイス300がユーザ入力などを介して情報を受け取ることを可能にする構成要素(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)を含む。追加的または代替的に、入力構成要素350は、情報を感知するためのセンサ(例えば、全地球測位システム(GPS)構成要素、加速度計、ジャイロスコープ、および/またはアクチュエータ)を含んでもよい。出力構成要素360は、デバイス300からの出力情報を提供する構成要素(例えば、ディスプレイ、スピーカ、および/または1つもしくは複数の発光ダイオードオード(LED))を含む。 The input components 350 include components (e.g., a touch screen display, a keyboard, a keypad, a mouse, buttons, switches, and/or a microphone) that enable the device 300 to receive information, such as through user input. Additionally or alternatively, the input components 350 may include sensors for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and/or an actuator). The output components 360 include components (e.g., a display, a speaker, and/or one or more light emitting diodes (LEDs)) that provide output information from the device 300.

通信インターフェース370は、デバイス300が有線接続、無線接続、または有線接続と無線接続との組み合わせなどを介して他のデバイスと通信することを可能にする、送受信機様の構成要素(例えば、送受信機ならびに/または別個の受信機および送信機)を含む。通信インターフェース370は、デバイス300が別のデバイスから情報を受信し、かつ/または別のデバイスに情報を提供することを可能にし得る。例えば、通信インターフェース370は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、Wi-Fiインターフェース、セルラーネットワークインターフェースなどを含んでもよい。 The communication interface 370 includes transceiver-like components (e.g., a transceiver and/or a separate receiver and transmitter) that enable the device 300 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface 370 may enable the device 300 to receive information from another device and/or provide information to another device. For example, the communication interface 370 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.

デバイス300は、本明細書に記載された1つ以上のプロセスを実行し得る。デバイス300は、プロセッサ320がメモリ330および/または記憶構成要素340などの非一時的コンピュータ可読媒体によって記憶されたソフトウェア命令を実行したことに応答して、これらのプロセスを実行し得る。コンピュータ可読媒体は、本明細書では非一時的メモリデバイスとして定義される。メモリデバイスは、単一の物理記憶デバイス内のメモリ空間、または複数の物理記憶デバイスにわたって散在するメモリ空間を含む。 Device 300 may perform one or more of the processes described herein. Device 300 may perform these processes in response to processor 320 executing software instructions stored by a non-transitory computer-readable medium, such as memory 330 and/or storage component 340. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space scattered across multiple physical storage devices.

ソフトウェア命令は、別のコンピュータ可読媒体から、または通信インターフェース370を介して別のデバイスからメモリ330および/または記憶構成要素340に読み込まれてもよい。メモリ330および/または記憶構成要素340に記憶されたソフトウェア命令は、実行されると、本明細書に記載された1つまたは複数のプロセスをプロセッサ320に実行させ得る。追加的または代替的に、本明細書に記載された1つまたは複数のプロセスを実行するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤード回路が使用されてもよい。よって、本明細書に記載される実施態様は、ハードウェア回路とソフトウェアとのどんな特定の組み合わせにも限定されない。 Software instructions may be loaded into memory 330 and/or storage component 340 from another computer-readable medium or from another device via communication interface 370. The software instructions stored in memory 330 and/or storage component 340, when executed, may cause processor 320 to perform one or more processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, the implementations described herein are not limited to any particular combination of hardware circuitry and software.

図3に示す構成要素の数および配置は、一例として提供されている。実際には、デバイス300は、図3に示された構成要素に比べて、追加の構成要素、少ない構成要素、異なる構成要素、または異なる配置の構成要素を含んでもよい。追加的または代替的に、デバイス300の構成要素のセット(例えば、1つ以上の構成要素)は、デバイス300の構成要素の別のセットによって実施されるものとして記載された1つ以上の機能を実行してもよい。 The number and arrangement of components shown in FIG. 3 are provided as an example. In practice, device 300 may include additional, fewer, different, or differently arranged components than those shown in FIG. 3. Additionally or alternatively, a set of components (e.g., one or more components) of device 300 may perform one or more functions described as being performed by another set of components of device 300.

実施形態では、図4から図9の動作またはプロセスのいずれか1つが、図2および図3に示されている要素のいずれか1つによって、またはこれを使用して実装され得る。 In an embodiment, any one of the operations or processes of Figures 4 through 9 may be implemented by or using any one of the elements shown in Figures 2 and 3.

いくつかの実施形態によれば、ニューラルネットワークベースの画像圧縮の一般的なプロセスは、以下の通りであってもよい。画像またはビデオシーケンスxが与えられた場合、NICの目標は、記憶および伝送の目的用にコンパクトである圧縮表現
を計算するために、画像xをDNNエンコーダへの入力として使用することである。続いて、圧縮表現
をDNNデコーダへの入力として使用して、画像
を再構築する。いくつかのNIC方法は、変分オートエンコーダ(VAE)構造を取ることができ、DNNエンコーダは、画像x全体をその入力として直接使用し、これは、ブラックボックスのように機能するネットワーク層のセットを通過し、出力表現(すなわち、圧縮表現
)を計算する。これに対応して、DNNデコーダは、圧縮表現
全体をその入力として取り、これは、別のブラックボックスのように機能するネットワーク層の別のセットを通過し、再構築画像
を計算する。レート歪み(R-D)損失は、以下の目標損失関数Lを使用してトレードオフハイパーパラメータλを用いて、再構築画像
の歪み損失
と圧縮表現
のビット消費量Rとの間のトレードオフを達成するように最適化される。
According to some embodiments, the general process of neural network based image compression may be as follows: Given an image or video sequence x, the goal of the NIC is to generate a compressed representation x that is compact for storage and transmission purposes.
The solution is to use the image x as input to a DNN encoder to compute the compressed representation
is used as the input to the DNN decoder to generate the image
Some NIC methods can take a variational autoencoder (VAE) structure, where a DNN encoder directly uses the entire image x as its input, which is passed through a set of network layers that act like a black box, to produce an output representation (i.e., a compressed representation
Correspondingly, the DNN decoder computes the compressed representation
It takes the whole as its input, which goes through another set of network layers that act like another black box, reconstructing the image
The rate-distortion (RD) loss is calculated by using the following objective loss function L with a trade-off hyperparameter λ to compute the reconstructed image
Distortion loss
and compressed representation
The bit consumption R of the BER is optimized to achieve a trade-off between the bit consumption R of the BER.

実施形態は、複数のブロック用のコンテンツ適応型E2Eオンライン訓練NICフレームワークに関する。コンテンツ適応型オンライン訓練では、複数のブロックを訓練するために、まず入力画像xが複数のブロックに分割される。例えば、サイズが2048×2048の画像は、サイズが512×512の16個のブロックに分割されてもよい。より詳細な説明は、図4および図5を参照して提供される。入力画像を分割することによって、コンピューティングメモリを節約し、並列コンピューティングを可能にする。各ブロックは、次に、レート歪み圧縮法(説明した一般的なNICプロセスなど)によって、個別に圧縮される。特に、分割入力画像は、入力画像xの圧縮表現
を計算するために、エンコーダ(例えば、DNNエンコーダ)に入力される。圧縮表現
は、次に、出力(すなわち再構築画像
)を生成するために、デコーダ(例えば、DNNデコーダ)に入力される。ニューラルネットワークベースの、事前訓練された(または事前訓練されていない)ネットワークが、ポスト拡張ネットワークとして使用される。このポスト拡張ネットワークのオンライン訓練は、複数のブロックに基づく。オンライン訓練中に、ポスト拡張ネットワークの部分(または全体)パラメータが更新されてもよい。更新された部分(または全体)パラメータは、符号化された複数のブロックと共に、ビットストリームに符号化される。これらの更新パラメータ(1つまたは複数の画像によって微調整された)を使用して、DNNデコーダは符号化されたブロックを復号し、良好な圧縮性能を実現し得る。この微調整プロセスは、任意の事前訓練されたE2E NIC圧縮方法の圧縮性能を高めるための、コンテンツ適応型オンライン訓練NICフレームワークにおける前処理ステップとして使用される。いくつかの実施形態では、この方法は、コンテンツ適応型オンライン訓練NICフレームワーク自身によって訓練された、E2E NICフレームワークでも使用され得る。
The embodiment relates to a content-adaptive E2E online training NIC framework for multiple blocks. In content-adaptive online training, to train multiple blocks, an input image x is first split into multiple blocks. For example, an image of size 2048x2048 may be split into 16 blocks of size 512x512. A more detailed description is provided with reference to Figs. 4 and 5. Splitting the input image saves computing memory and enables parallel computing. Each block is then compressed individually by a rate-distortion compression method (such as the general NIC process described). In particular, the split input image is converted into a compressed representation of the input image x,
The compressed representation
Then the output (i.e. the reconstructed image
) is input to a decoder (e.g., a DNN decoder) to generate a post-augmented network. A neural network-based pre-trained (or not pre-trained) network is used as the post-augmented network. The online training of this post-augmented network is based on multiple blocks. During the online training, partial (or overall) parameters of the post-augmented network may be updated. The updated partial (or overall) parameters are encoded into a bitstream together with the encoded multiple blocks. Using these updated parameters (fine-tuned by one or more images), the DNN decoder may decode the encoded blocks and achieve good compression performance. This fine-tuning process is used as a pre-processing step in the content-adaptive online training NIC framework to enhance the compression performance of any pre-trained E2E NIC compression method. In some embodiments, this method may also be used in the E2E NIC framework, trained by the content-adaptive online training NIC framework itself.

1つ以上の実施形態による、コンテンツ適応型オンライン訓練NICフレームワークの前処理についての詳細な説明をここに記載する。 A detailed description of pre-processing of the content-adaptive online training NIC framework in accordance with one or more embodiments is provided herein.

前述したように、事前訓練されたポスト拡張ネットワークは、入力として複数のブロックを受信する。次に、ポスト拡張ネットワークは、入力された複数のブロックに基づいて微調整される。更新パラメータを取得するために、微調整されたポスト拡張ネットワークが使用され、更新パラメータによってNICフレームワークが更新される。このようにして、ポスト拡張ネットワークが目標画像コンテンツに適用され得る。ポスト拡張ネットワークを微調整しているときは、ネットワークパラメータの1つ以上が更新され得る。 As described above, the pre-trained post-augmentation network receives a number of blocks as input. The post-augmentation network is then fine-tuned based on the input number of blocks. The fine-tuned post-augmentation network is used to obtain update parameters, which update the NIC framework. In this manner, the post-augmentation network can be applied to the target image content. When fine-tuning the post-augmentation network, one or more of the network parameters can be updated.

いくつかの実施形態では、パラメータは全体的または部分的に更新されてもよい。例えば、パラメータは、ポスト拡張ネットワークの一部のみ(畳み込みニューラルネットワークの最後の層など)が更新される。別の例として、パラメータは、ポスト拡張ネットワークの複数または全てのモジュールで更新されてもよい。 In some embodiments, the parameters may be updated in whole or in part. For example, the parameters may be updated in only a portion of the post-augmentation network (such as the last layer of a convolutional neural network). As another example, the parameters may be updated in multiple or all modules of the post-augmentation network.

いくつかの実施形態では、バイアス項のみが最適化され更新される。別の例示的な実施形態では、係数(重み)項が最適化される。あるいは、例えば、全てのパラメータが最適化されてもよい。 In some embodiments, only the bias terms are optimized and updated. In another exemplary embodiment, the coefficient (weight) terms are optimized. Alternatively, for example, all parameters may be optimized.

いくつかの実施形態では、ポスト拡張ネットワークは微調整され、大きいブロック/画像を形成する複数のブロックに基づいて更新されたNICフレームワークを生成する。いくつかの実施形態では、ポスト拡張ネットワークは微調整され、微調整されたポスト拡張ネットワークは、互いに隣接し得ないブロックのセットに基づいて、更新されたフレームワークを生成する。例えば、ブロックのセットは、入力された複数のブロックからランダムに選択されてもよい。 In some embodiments, the post-augmentation network is fine-tuned to generate an updated NIC framework based on a number of blocks that form a large block/image. In some embodiments, the post-augmentation network is fine-tuned and the fine-tuned post-augmentation network generates an updated framework based on a set of blocks that may not be adjacent to each other. For example, the set of blocks may be randomly selected from the input number of blocks.

微調整プロセスは、この反復オンライン訓練プロセスでパラメータが更新される、複数のエポックを含む。訓練損失(例えば、式1における目標損失関数に基づいて判断した)が平坦化したとき、または平坦化しそうなときは、微調整は停止される。コンテンツ適応型オンライン訓練NICフレームワークには2つのキーとなるハイパーパラメータがあり、それはステップサイズおよびステップの数である。ステップサイズは、オンライン訓練NICフレームワークの「学習率」を示す。異なる形式のコンテンツを有する画像は、最良の最適化結果を得るために、異なるステップサイズに対応してもよい。ステップ数は、操作された更新の数を示す。目標損失関数(式1)と共に、ハイパーパラメータがオンライン学習プロセスに使用される。例えば、ステップサイズは、学習プロセスで実行される勾配降下アルゴリズムまたは逆伝播計算で使用され得る。反復回数は、学習プロセスが終了されてもよい時点を制御するための、最大反復回数の閾値として使用され得る。いくつかの実施形態では、反復オンライン訓練プロセス中に、スケジューラによって各ステップで学習率(すなわちステップサイズ)が変更されてもよい。スケジューラは学習率値を決定し、これはいくつかの間隔で増加するか、減少するか、または同一に保たれ得る。異なる入力画像に対して、単一のスケジューラまたは複数の(異なる)スケジューラがあってもよい。複数の更新パラメータが、複数の学習率スケジューラに基づいて生成されてもよく、更新パラメータのそれぞれに対して圧縮性能が良好なスケジューラが選択され得る。微調整プロセスの最後に、更新パラメータが計算される。いくつかの実施形態では、更新パラメータは、次に、微調整プロセスの最後に圧縮される。例えば、更新パラメータを圧縮するために、(LZMA2などの)圧縮アルゴリズムが使用されてもよい。別の例示的な実施形態では、更新パラメータの圧縮は実行されない。 The fine-tuning process involves multiple epochs during which parameters are updated in this iterative online training process. When the training loss (e.g., as determined based on the target loss function in Equation 1) flattens or is about to flatten, the fine-tuning is stopped. There are two key hyperparameters in the content-adaptive online training NIC framework: step size and number of steps. The step size indicates the "learning rate" of the online training NIC framework. Images with different types of content may correspond to different step sizes to obtain the best optimization results. The number of steps indicates the number of updates manipulated. Along with the target loss function (Equation 1), the hyperparameters are used in the online learning process. For example, the step size may be used in the gradient descent algorithm or backpropagation calculations performed in the learning process. The number of iterations may be used as a threshold for the maximum number of iterations to control when the learning process may be terminated. In some embodiments, the learning rate (i.e., step size) may be changed at each step by a scheduler during the iterative online training process. The scheduler determines the learning rate value, which may increase, decrease, or remain the same for several intervals. There may be a single scheduler or multiple (different) schedulers for different input images. Multiple update parameters may be generated based on multiple learning rate schedulers, and a scheduler with good compression performance may be selected for each of the update parameters. At the end of the fine-tuning process, the update parameters are calculated. In some embodiments, the update parameters are then compressed at the end of the fine-tuning process. For example, a compression algorithm (such as LZMA2) may be used to compress the update parameters. In another exemplary embodiment, no compression of the update parameters is performed.

いくつかの実施形態では、更新パラメータは、微調整されたパラメータと事前訓練されたパラメータとの差として計算される。いくつかの実施形態では、更新パラメータは、微調整されたパラメータである。別の例示的な実施形態では、更新パラメータは、微調整されたパラメータのいくつかの変換である。 In some embodiments, the update parameters are calculated as the difference between the fine-tuned parameters and the pre-trained parameters. In some embodiments, the update parameters are the fine-tuned parameters. In another exemplary embodiment, the update parameters are some transform of the fine-tuned parameters.

図4は、ブロック単位の画像コーディングの一例を示す図である。実施形態による、コンテンツ適応型オンライン訓練NICフレームワークでは、入力画像全体を直接符号化するのではなく、画像フレームを圧縮するために、ブロックベースのコーディング機構が使用される。ブロックベースのコーディング機構を使用すると、入力画像全体が同じ(または様々な)サイズのブロックにまず分割され、ブロックは個別に圧縮される。 Figure 4 illustrates an example of block-based image coding. In an embodiment of the content-adaptive online training NIC framework, a block-based coding scheme is used to compress image frames instead of directly encoding the entire input image. With a block-based coding scheme, the entire input image is first divided into blocks of equal (or different) sizes, and the blocks are compressed separately.

図4に示すように、画像400は、最初にブロックに分割されてもよく(図4に破線で示す)、分割されたブロックは、画像400自体の代わりに圧縮されてもよい。図4では、圧縮済みブロックに斜線を付し、圧縮対象ブロックに斜線を付していない。分割されたブロックは、等しいサイズまたは等しくないサイズであってもよい。ブロックごとのステップサイズは異なっていてもよい。この目的のために、より良好な圧縮結果を達成するために、画像400に異なるステップサイズを割り当てることができる。ブロック410は、高さhおよび幅wを有する分割されたブロックのうちの1つの例である。ブロックは、ブロック単位の画像符号化プロセスを通過して、符号化された情報のビットストリームを生成する。 As shown in FIG. 4, the image 400 may first be divided into blocks (indicated by dashed lines in FIG. 4) and the divided blocks may be compressed instead of the image 400 itself. In FIG. 4, the compressed blocks are shaded and the blocks to be compressed are not shaded. The divided blocks may be of equal or unequal size. The step size per block may be different. To this end, different step sizes may be assigned to the image 400 to achieve better compression results. Block 410 is an example of one of the divided blocks having height h and width w. The blocks go through a block-wise image coding process to generate a bitstream of coded information.

図5は、実施形態による、複数のブロックのコンテンツ適応型オンライン訓練を示す例である。図5に示すように、入力画像xは、ブロックに分割されてもよい。ブロックのサイズおよびコンテンツ適応型領域は異なっていてもよく、図5の例示によって限定されない。例えば、ブロックは、サイズが同じであっても異なっていてもよい。次に、各ブロックのパターンが判断される。同じパターンを有する(1つ以上のブロックを含む)ブロックのサブセットが選択され得る。NICフレームワークを訓練するために、単一の画像内でブロックの1つ以上のセットが選択されて使用されてもよい。いくつかの実施形態では、1つ以上の入力画像またはシーケンスビデオから、ブロックの1つ以上のセットが選択される。選択されたブロックのサブセットは、次に、再構築画像
を生成するために、コンテンツ適応型オンライン訓練NICフレームワークで処理される。
FIG. 5 is an example illustrating content-adaptive online training of multiple blocks according to an embodiment. As shown in FIG. 5, an input image x may be divided into blocks. The size of the blocks and the content-adaptive regions may be different and are not limited by the example of FIG. 5. For example, the blocks may be the same or different sizes. Then, the pattern of each block is determined. A subset of blocks (including one or more blocks) having the same pattern may be selected. One or more sets of blocks may be selected and used within a single image to train the NIC framework. In some embodiments, one or more sets of blocks are selected from one or more input images or sequence videos. The selected subset of blocks is then used to generate a reconstructed image
The training data are processed in the content-adaptive online training NIC framework to generate

図5に示すように、ブロックのサブセット510は、同じパターンを有していることに基づいて選択され、NICフレームワークの訓練に使用される。ブロックのサブセット510に基づいて訓練されたNICフレームワークは、次に、再構築画像
を生成するために使用される。別のブロックのサブセット520は、同じパターンを有していることに基づいて選択され、次に、再構築画像
を生成するために処理される。再構築画像
および再構築画像
は、フィルタリングプロセスの前または後に出力された画像であってもよい。
As shown in FIG. 5, a subset of blocks 510 is selected based on having the same pattern and used to train the NIC framework. The NIC framework trained based on the subset of blocks 510 is then used to train the reconstructed image
Another subset of blocks 520 is selected based on having the same pattern, and then used to generate the reconstructed image
The reconstructed image is then processed to produce
and reconstructed image
may be the output image before or after the filtering process.

パターン(またはパターンタイプ)は、実施形態によって限定されない。ブロックを分類し得る様々な属性は、コンテンツ適応型訓練プロセス用に選択された同じパターンのブロックに使用されるパターンであってもよい。 The patterns (or pattern types) are not limited by the embodiment. The various attributes that may classify a block may be the patterns used for blocks of the same pattern selected for the content-adaptive training process.

いくつかの実施形態では、パターンはブロックの赤-緑-青(RGB)分散に基づく。別の例示的な実施形態では、パターンはブロックのルマ、赤色投影、および青色投影モデル(すなわちYUVモデル)分散に基づく。さらに別の例示的な実施形態では、パターンは、1つ以上のブロックに存在する支配的な色に基づく。 In some embodiments, the pattern is based on the red-green-blue (RGB) distribution of the blocks. In another exemplary embodiment, the pattern is based on the luma, red projection, and blue projection model (i.e., YUV model) distribution of the blocks. In yet another exemplary embodiment, the pattern is based on the dominant colors present in one or more blocks.

ステップサイズ(すなわちコンテンツ適応型オンライン訓練NICフレームワークの学習率)は、画像(またはブロック)の特性に基づいて選択されてもよい。例えば、画像の特性は、画像のRGBカラーモデル、およびRGB分散に基づいていてもよい。さらに、いくつかの実施形態では、ステップサイズは、画像(またはブロック)のRD性能に基づいて選択されてもよい。したがって、その実施形態によれば、異なるステップサイズに基づいて複数の更新パラメータを生成でき、各更新パラメータに対して、圧縮性能が良好なステップサイズが選択され得る。 The step size (i.e., the learning rate of the content-adaptive online training NIC framework) may be selected based on image (or block) characteristics. For example, the image characteristics may be based on the RGB color model and RGB variance of the image. Furthermore, in some embodiments, the step size may be selected based on the RD performance of the image (or block). Thus, according to the embodiment, multiple update parameters may be generated based on different step sizes, and for each update parameter, a step size with good compression performance may be selected.

より良好な圧縮結果を達成するために、複数の学習率スケジュールが、異なるブロックに割り当てられてもよい。いくつかの実施形態では、全てのブロックが同じ学習率スケジュールを共有する。学習率スケジューラの選択は、ブロックのRGB分散またはブロックのRD性能などの、ブロックの特性に基づいてもよい。 To achieve better compression results, multiple learning rate schedules may be assigned to different blocks. In some embodiments, all blocks share the same learning rate schedule. The selection of the learning rate scheduler may be based on characteristics of the block, such as the RGB variance of the block or the RD performance of the block.

異なるブロックは、異なるモジュール内の(例えば、コンテキストモジュールまたはハイパーデコーダ内の)異なるパラメータ、あるいは実施形態によるコンテンツ適応型オンライン訓練NICフレームワークの、異なるタイプのパラメータ(バイアスまたは重み)を更新し得る。いくつかの実施形態では、全てのブロックが同じ更新パラメータを共有する。(更新される)パラメータは、ブロックのRGB分散またはブロックのRD性能などの、ブロックの特性に基づいて選択されてもよい。 Different blocks may update different parameters in different modules (e.g., in the context module or the hyperdecoder) or different types of parameters (biases or weights) of the content-adaptive online training NIC framework according to the embodiment. In some embodiments, all blocks share the same update parameters. The (updated) parameters may be selected based on characteristics of the block, such as the RGB variance of the block or the RD performance of the block.

異なるブロックは、更新パラメータを変換する異なる方法を選択してもよい。例えば、いくつかの実施形態では、1つのブロックは、微調整されたパラメータと事前訓練されたパラメータとの差に基づいてパラメータを更新することを選択してもよい。別のブロックは、パラメータを直接更新することを選択してもよい。いくつかの実施形態では、全てのブロックが同じ方法でパラメータを更新した。更新パラメータを変換する方法は、ブロックのRGB分散またはブロックのRD性能などの、ブロックの特性に基づいて選択されてもよい。 Different blocks may choose different ways to transform the update parameters. For example, in some embodiments, one block may choose to update parameters based on the difference between fine-tuned parameters and pre-trained parameters. Another block may choose to update parameters directly. In some embodiments, all blocks updated parameters in the same way. The method of transforming the update parameters may be selected based on characteristics of the block, such as the RGB variance of the block or the RD performance of the block.

異なるブロックは、更新パラメータを圧縮する異なる方法を選択してもよい。例えば、1つのブロックは、更新パラメータを圧縮するために、LZMA2アルゴリズムを使用してもよい。別のブロックは、更新パラメータを圧縮するために、bzip2アルゴリズムを使用してもよい。実施形態はこれに限定されず、パラメータを圧縮するのに適した任意の圧縮アルゴリズムを使用してもよい。いくつかの実施形態では、全てのブロックが、更新パラメータを圧縮する(または圧縮しない)ために同じ方法を使用する。圧縮方法は、ブロックのRGB分散またはブロックのRD性能などの、ブロックの特性に基づいて選択されてもよい。 Different blocks may select different methods to compress the update parameters. For example, one block may use the LZMA2 algorithm to compress the update parameters. Another block may use the bzip2 algorithm to compress the update parameters. The embodiments are not limited in this respect and may use any suitable compression algorithm to compress the parameters. In some embodiments, all blocks use the same method to compress (or not compress) the update parameters. The compression method may be selected based on characteristics of the block, such as the RGB variance of the block or the RD performance of the block.

再構築画像を生成するためにブロックに適用される、コンテンツ適応型オンライン訓練NICフレームワークのコーディングプロセスが、図6を参照して説明される。図6は、実施形態による、コーディングプロセスの例のフローチャートである。 The coding process of the content-adaptive online training NIC framework that is applied to the blocks to generate a reconstructed image is described with reference to FIG. 6, which is a flow chart of an example of the coding process, according to an embodiment.

まず、S610において、NICフレームワークは、入力画像および更新パラメータを符号化する。続いて、符号化された入力および更新パラメータが復号される(S620)。更新パラメータが圧縮されていた場合(S630が「はい」の場合)は、オンライン訓練プロセスから取得された更新パラメータは、まず解凍される(S640)。更新パラメータが圧縮されていなかった場合(S630が「いいえ」の場合)は、プロセスはS650に進む。S650において、S620からの復号済み更新パラメータ、またはS640からの解凍された復号済み更新パラメータを使用して、デコーダ側でNICフレームワークが更新される。最後に、S660において、(再構築画像
を生成するために)更新されたNICフレームワークデコーダが、画像復号に使用される。パラメータがどのように変換されたかに基づいて、更新パラメータ値は、元の(事前訓練された)バイアス項を更新する。
First, in S610, the NIC framework encodes the input image and update parameters. Then, the encoded input and update parameters are decoded (S620). If the update parameters have been compressed (S630 is "yes"), the update parameters obtained from the online training process are first decompressed (S640). If the update parameters have not been compressed (S630 is "no"), the process proceeds to S650. In S650, the NIC framework is updated on the decoder side using the decoded update parameters from S620 or the decompressed decoded update parameters from S640. Finally, in S660, the (reconstructed image
The updated NIC framework decoder (to generate {overscore (x)}) is used for image decoding. Based on how the parameters were transformed, the updated parameter values update the original (pre-trained) bias terms.

実施形態は、例えば、ニューラルエンコーダ、エンコーダ、デコーダ、およびニューラルデコーダに使用される方法に対していかなる制限も課さない。実施形態による、コンテンツ適応型オンライン訓練方法は、異なるタイプのNICフレームワークに適応し得る。例えば、プロセスは、異なるタイプの符号化および復号DNNを使用して実行されてもよい。 The embodiments do not impose any limitations on the methods used for, for example, the neural encoder, the encoder, the decoder, and the neural decoder. The content-adaptive online training method according to the embodiments may be adapted to different types of NIC frameworks. For example, the process may be performed using different types of encoding and decoding DNNs.

図7は、実施形態による、コンテンツ適応型オンライン訓練を使用する、E2E NICフレームワークの例示的なブロック図700である。 Figure 7 is an example block diagram 700 of an E2E NIC framework using content-adaptive online training, according to an embodiment.

図7に示すように、E2E NICフレームワークは、主エンコーダ710と、主デコーダ720と、ハイパーエンコーダ730と、ハイパーデコーダ740と、コンテキストモデル750とを含む。E2E NICフレームワークは、1つまたは複数のこのようなモジュールを含んでもよい。E2E NICフレームワークは、量子化器760/761と、算術コーダ770/771と、算術デコーダ780/781とをさらに含む。同じまたは類似のモジュールは、同じ参照番号で表される。E2E NICフレームワークは、図7に図示されていない1つ以上のモジュールを含んでもよい。 As shown in FIG. 7, the E2E NIC framework includes a primary encoder 710, a primary decoder 720, a hyperencoder 730, a hyperdecoder 740, and a context model 750. The E2E NIC framework may include one or more such modules. The E2E NIC framework further includes a quantizer 760/761, an arithmetic coder 770/771, and an arithmetic decoder 780/781. The same or similar modules are represented by the same reference numbers. The E2E NIC framework may include one or more modules not shown in FIG. 7.

E2E NICフレームワークは、スケールハイパープライア・エンコーダ-デコーダ・フレームワーク(またはガウス混合尤度フレームワーク)およびその変形、RNNベースの再帰的圧縮方法およびその変形などの、任意のDNNベースの画像圧縮方法を使用してもよい。 The E2E NIC framework may use any DNN-based image compression method, such as the scaled hyperprior encoder-decoder framework (or Gaussian mixture likelihood framework) and its variants, RNN-based recursive compression methods and their variants.

本開示の実施形態によれば、E2E NICフレームワークは、以下のようにブロック図700を利用することができる。入力画像またはビデオシーケンスxが与えられると、主エンコーダ710は、入力画像xと比較したときに、記憶および伝送の目的用にコンパクトである圧縮表現
を計算し得る。圧縮表現
は、量子化器760を使用して、離散値量子化表現
に量子化することができる。この離散値量子化表現
は、算術コーディング(可逆圧縮または不可逆圧縮)を使用する算術コーダ770を使用して、ビットストリームにエントロピー符号化されてもよい。デコーダ側では、離散値量子化表現
を復元するために、算術デコーダ780を使用して、ビットストリームが可逆圧縮または非可逆圧縮でのエントロピー復号を経ることができる。次に、この離散値量子化表現
を主デコーダ720に入力して、入力画像またはビデオシーケンス
を復元かつ/または再構築することができる。主エンコーダ710および主デコーダ720は、ニューラルネットワークベースのエンコーダおよびデコーダ(例えば、DNNベースのコーダ)であってもよい。
According to an embodiment of the present disclosure, the E2E NIC framework may utilize block diagram 700 as follows: Given an input image or video sequence x, a primary encoder 710 generates a compressed representation x that is compact for storage and transmission purposes when compared to the input image x.
We can compute the compressed representation
is converted to a discrete value quantized representation using a quantizer 760.
This discrete value quantization representation
may be entropy coded into a bitstream using an arithmetic coder 770 using arithmetic coding (lossless or lossy). At the decoder side, the discrete-value quantized representation
Using an arithmetic decoder 780, the bitstream can undergo entropy decoding with lossless or lossy compression to recover this discrete-value quantized representation
to the main decoder 720 to generate the input image or video sequence
can be restored and/or reconstructed. The primary encoder 710 and the primary decoder 720 may be neural network-based encoders and decoders (e.g., DNN-based coders).

いくつかの実施形態によれば、E2E NICフレームワークは、オンライン訓練フェーズ中に、圧縮性能をさらに向上させるために、ハイパープライアモデルおよびコンテキストモデルを含むことができる。ハイパープライアモデルを使用して、ニューラルネットワークの層間で生成される潜在表現の空間的依存性を捉えることができる。いくつかの実施形態によれば、サイド情報は、ハイパープライアモデルによって使用されてもよく、サイド情報は、一般に、デコーダ側で隣接する参照フレームの動き補償時間補間によって生成される。このサイド情報は、E2E NICフレームワークを訓練および推論するために使用され得る。ハイパーエンコーダ730は、ハイパープライア・ニューラルネットワークベースのエンコーダを使用して、圧縮表現
を符号化することができる。次いで、量子化器761および算術コーダ771を使用して、ハイパー符号化された圧縮表現のハイパー圧縮表現を生成することができる。算術デコーダ781は、ハイパー圧縮表現を復号し得る。次に、ハイパープライア・ニューラルネットワークベースのハイパーデコーダ740を使用して、ハイパー再構築画像x’が生成され得る。ニューラルネットワークベースのコンテキストモデル750は、ハイパー再構築画像、および量子化器760からの量子化表現を使用して訓練することができる。算術コーダ770と算術デコーダ780とは、符号化および復号をそれぞれ行うために、コンテキストモデル750を使用してもよい。
According to some embodiments, the E2E NIC framework can include a hyper-prior model and a context model during the online training phase to further improve the compression performance. The hyper-prior model can be used to capture spatial dependencies in the latent representations generated between layers of the neural network. According to some embodiments, side information may be used by the hyper-prior model, which is typically generated by motion-compensated temporal interpolation of neighboring reference frames at the decoder side. This side information can be used to train and infer the E2E NIC framework. The hyper-encoder 730 uses a hyper-prior neural network-based encoder to generate the compressed representations.
may be encoded as x′. A quantizer 761 and an arithmetic coder 771 may then be used to generate a hyper-compressed representation of the hyper-encoded compressed representation. An arithmetic decoder 781 may decode the hyper-compressed representation. A hyper-prior neural network based hyper-decoder 740 may then be used to generate a hyper-reconstructed image x′. A neural network based context model 750 may be trained using the hyper-reconstructed image and the quantized representation from the quantizer 760. The arithmetic coder 770 and the arithmetic decoder 780 may use the context model 750 to perform encoding and decoding, respectively.

いくつかの実施形態によれば、E2E NICフレームワークは、自己訓練されてもよい。訓練プロセスの目標は、DNN符号化およびDNN復号(すなわち主エンコーダ710および主デコーダ720)を学習することである。訓練プロセスでは、例えば、事前訓練された対応するDNNモデルを使用して、またはそれらを乱数に設定することによって、DNN(すなわち主エンコーダ710および主デコーダ720)の重み係数がまず初期化される。次に、入力訓練画像xを与えると、入力訓練画像xは、ビットストリームに符号化された情報を生成するために、図4で説明した符号化プロセスを通過し、次に、計算して画像
を再構築するために、図5で説明した復号プロセスを通過する。(図7に示すような)E2E NICフレームワークでは、より良好な再構築品質と、より少ないビット消費という2つの競合する目標が達成される。品質損失関数
が、再構築品質(歪み損失とも呼ばれる)を測定するために使用され、これは、ピーク信号対雑音比(PSNR)、マルチスケール構造類似性(MS-SSIM)、または両方の重み付き組み合わせなどである。圧縮表現のビット消費を測定するために、レート損失
が計算される。したがって、以下の式に従って、トレードオフハイパーパラメータλが、ジョイントレート歪み(R-D)損失を最適化するために使用される。
According to some embodiments, the E2E NIC framework may be self-trained. The goal of the training process is to learn DNN encoding and DNN decoding (i.e., the primary encoder 710 and the primary decoder 720). In the training process, the weight coefficients of the DNN (i.e., the primary encoder 710 and the primary decoder 720) are first initialized, for example, using a pre-trained corresponding DNN model or by setting them to random values. Then, given an input training image x, the input training image x goes through the encoding process described in FIG. 4 to generate information encoded into a bitstream, and then computes the image
To reconstruct , we go through the decoding process described in Fig. 5. In the E2E NIC framework (as shown in Fig. 7), two competing goals are achieved: better reconstruction quality and lower bit consumption. The quality loss function
is used to measure the reconstruction quality (also called distortion loss), which may be Peak Signal-to-Noise Ratio (PSNR), Multi-Scale Structural Similarity (MS-SSIM), or a weighted combination of both. To measure the bit consumption of the compressed representation, rate loss
Therefore, a trade-off hyperparameter λ is used to optimize the joint rate-distortion (RD) loss according to the following equation:

ここでEは、残差符号化/復号DNNおよび符号化/復号DNNについての正則化損失として作用する、符号化前の元のブロック残差と比較した復号済みブロック残差の歪みを測定する。βは、正則化損失の重要性をバランスさせるハイパーパラメータである。 Here, E measures the distortion of the decoded block residual compared to the original block residual before encoding, which acts as a regularization loss for the residual encoding/decoding DNN and encoding/decoding DNN. β is a hyperparameter that balances the importance of the regularization loss.

いくつかの実施形態では、符号化DNNおよび復号DNNは、E2Eフレームワークにおける逆伝播勾配に基づいて、一緒に更新され得る。 In some embodiments, the encoding DNN and the decoding DNN can be updated together based on backpropagated gradients in the E2E framework.

図8は、実施形態による、ニューラルネットワークを使用する、いくつかのパターンに基づく、E2E NICのコンテンツ適応型オンライン訓練の方法800を示すフローチャートである。 Figure 8 is a flow chart illustrating a method 800 for content-adaptive online training of an E2E NIC based on several patterns using a neural network, according to an embodiment.

いくつかの実装形態では、図8の1つまたは複数のプロセスブロックは、プラットフォーム220によって実行されてもよい。いくつかの実装形態では、図8の1つまたは複数のプロセスブロックは、ユーザデバイス210などの、プラットフォーム220とは別個の、またはプラットフォーム220を含む別のデバイスまたはデバイスのグループによって実行されてもよい。 In some implementations, one or more process blocks of FIG. 8 may be performed by platform 220. In some implementations, one or more process blocks of FIG. 8 may be performed by another device or group of devices that are separate from or include platform 220, such as user device 210.

図8に示すように、動作810において、方法800は、E2E NICフレームワークへの入力画像を受信するステップを含み得る。 As shown in FIG. 8, at operation 810, the method 800 may include receiving an input image to the E2E NIC framework.

動作820において、方法800は、入力画像を複数のブロックに分割するステップを含み得る。 At operation 820, the method 800 may include dividing the input image into a number of blocks.

動作830において、方法800は、複数のブロックからブロックのサブセットを選択するステップを含み得る。ブロックのサブセットは、同じパターンを共有している。同じパターンは、複数のブロックのRGB分散、または複数のブロックのYUV分散に基づいて判断され得る。 At operation 830, the method 800 may include selecting a subset of blocks from the plurality of blocks, the subset of blocks sharing a same pattern. The same pattern may be determined based on an RGB variance of the plurality of blocks, or a YUV variance of the plurality of blocks.

動作840において、方法800は、E2E NICフレームワークのニューラルネットワークを前処理するステップを含み得る。前処理されたNNは、フレームワークを微調整するために、選択したブロックのサブセットに適用されてもよい。 At operation 840, the method 800 may include preprocessing the neural network of the E2E NIC framework. The preprocessed NN may be applied to a selected subset of blocks to fine-tune the framework.

動作850において、方法800は、前処理されたニューラルネットワークを使用して更新パラメータを計算するステップを含み得る。更新パラメータは、学習率およびステップの数を含んでもよく、学習率およびステップの数は、入力画像の特性に基づいて選択される。入力画像の特性は、入力画像のRGB分散および入力画像のRD性能のうちの一方であってもよい。 At operation 850, the method 800 may include calculating update parameters using the preprocessed neural network. The update parameters may include a learning rate and a number of steps, where the learning rate and the number of steps are selected based on characteristics of the input image. The characteristics of the input image may be one of the RGB variance of the input image and the RD performance of the input image.

動作860において、方法800は、更新パラメータに基づいて、更新されたE2E NICフレームワークを生成するステップを含み得る。いくつかの実施形態では、本方法は、複数のブロックの圧縮表現、および更新パラメータの圧縮表現を生成するために、複数のブロックおよび更新パラメータを符号化するステップと、復号された更新パラメータを生成するために、更新パラメータの圧縮表現を復号するステップと、復号された更新パラメータに基づいて、E2E NICフレームワークを更新するステップと、再構築画像を生成するために、更新されたE2E NICフレームワークに基づいて、複数のブロックの圧縮表現を復号するステップとをさらに含む。再構築画像の歪み損失は、複数のブロックおよび更新パラメータの圧縮表現の消費量、トレードオフハイパーパラメータ、ならびに複数のブロックの圧縮表現のブロック残差と、複数のブロックの復号された圧縮表現のブロック残差との間の歪みに基づいて判断されてもよい。 At operation 860, the method 800 may include generating an updated E2E NIC framework based on the update parameters. In some embodiments, the method further includes encoding the plurality of blocks and the update parameters to generate a compressed representation of the plurality of blocks and a compressed representation of the update parameters, decoding the compressed representation of the update parameters to generate decoded update parameters, updating the E2E NIC framework based on the decoded update parameters, and decoding the compressed representation of the plurality of blocks based on the updated E2E NIC framework to generate a reconstructed image. The distortion loss of the reconstructed image may be determined based on the consumption of the compressed representation of the plurality of blocks and the update parameters, the trade-off hyper-parameter, and the distortion between the block residual of the compressed representation of the plurality of blocks and the block residual of the decoded compressed representation of the plurality of blocks.

図8は方法の例示的なブロックを示すが、いくつかの実装形態では、方法は、図8に描写されたブロックに比べて、さらなるブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含んでもよい。追加または代替として、方法のブロックのうちの2つ以上が並行して実行されてもよい。 Although FIG. 8 illustrates example blocks of a method, in some implementations, the method may include additional, fewer, different, or differently arranged blocks than the blocks depicted in FIG. 8. Additionally or alternatively, two or more of the blocks of the method may be performed in parallel.

図9は、実施形態による、ニューラルネットワークを使用する、いくつかのパターンに基づく、E2E NICのコンテンツ適応型オンライン訓練のための、コンピュータコード900の一例のブロック図である。実施形態では、コンピュータコードは、例えば、プログラムコードまたはコンピュータプログラムコードであってもよい。本開示の実施形態によれば、コンピュータプログラムコードを記憶するメモリを有する、少なくとも1つのプロセッサを含む装置/デバイスが提供され得る。コンピュータプログラムコードは、少なくとも1つのプロセッサによって実行されると、本開示の任意の数の態様を実行するように構成されてもよい。 FIG. 9 is a block diagram of an example of computer code 900 for content-adaptive online training of an E2E NIC based on several patterns using a neural network, according to an embodiment. In an embodiment, the computer code may be, for example, program code or computer program code. According to an embodiment of the present disclosure, an apparatus/device may be provided that includes at least one processor having a memory that stores the computer program code. The computer program code, when executed by the at least one processor, may be configured to perform any number of aspects of the present disclosure.

図9に示すように、コンピュータコード900は、受信コード910と、分割コード920と、選択コード930と、前処理コード940と、コンピューティングコード950と、生成コード960とを含む。 As shown in FIG. 9, computer code 900 includes receiving code 910, dividing code 920, selecting code 930, preprocessing code 940, computing code 950, and generating code 960.

受信コード910は、少なくとも1つのプロセッサに、E2E NICフレームワークへの入力画像を受信させるように構成される。 The receiving code 910 is configured to cause at least one processor to receive an input image into the E2E NIC framework.

分割コード920は、少なくとも1つのプロセッサに、入力画像を複数のブロックに分割させるように構成される。 The partitioning code 920 is configured to cause at least one processor to partition the input image into multiple blocks.

選択コード930は、少なくとも1つのプロセッサに、複数のブロックからブロックのサブセットを選択させるように構成される。ブロックのサブセットは、同じパターンを共有している。同じパターンは、複数のブロックのRGB分散、または複数のブロックのYUV分散に基づいて判断され得る。 The selection code 930 is configured to cause the at least one processor to select a subset of blocks from the plurality of blocks, the subset of blocks sharing a same pattern. The same pattern may be determined based on an RGB variance of the plurality of blocks or a YUV variance of the plurality of blocks.

前処理コード940は、少なくとも1つのプロセッサに、E2E NICフレームワークのニューラルネットワークを前処理させるように構成され、前処理されたNNは、フレームワークを微調整するために、選択されたブロックのサブセットに適用される。 The preprocessing code 940 is configured to cause at least one processor to preprocess a neural network of the E2E NIC framework, and the preprocessed NN is applied to a selected subset of blocks to fine-tune the framework.

コンピューティングコード950は、少なくとも1つのプロセッサに、前処理されたニューラルネットワークを使用して更新パラメータを計算させるように構成される。更新パラメータは、学習率およびステップの数を含んでもよく、学習率およびステップの数は、入力画像の特性に基づいて選択される。入力画像の特性は、入力画像のRGB分散および入力画像のRD性能のうちの一方であってもよい。 The computing code 950 is configured to cause the at least one processor to calculate update parameters using the preprocessed neural network. The update parameters may include a learning rate and a number of steps, the learning rate and the number of steps being selected based on characteristics of the input image. The characteristics of the input image may be one of the RGB variance of the input image and the RD performance of the input image.

生成コード960は、少なくとも1つのプロセッサに、更新パラメータに基づいて、更新されたE2E NICフレームワークを生成させるように構成される。コンピュータコード900は、複数のブロックの圧縮表現、および更新パラメータの圧縮表現を生成するために、少なくとも1つのプロセッサに、複数のブロックおよび更新パラメータを符号化させるように構成されたコードと、復号された更新パラメータを生成するために、少なくとも1つのプロセッサに、更新パラメータの圧縮表現を復号させるように構成されたコードと、少なくとも1つのプロセッサに、復号された更新パラメータに基づいてE2E NICフレームワークを更新させるように構成されたコードと、再構築画像を生成するために、少なくとも1つのプロセッサに、更新されたE2E NICフレームワークに基づいて、複数のブロックの圧縮表現を復号させるように構成されたコードとをさらに含み得る。 The generating code 960 is configured to cause the at least one processor to generate an updated E2E NIC framework based on the update parameters. The computer code 900 may further include code configured to cause the at least one processor to encode the plurality of blocks and the update parameters to generate a compressed representation of the plurality of blocks and a compressed representation of the update parameters, code configured to cause the at least one processor to decode the compressed representation of the update parameters to generate decoded update parameters, code configured to cause the at least one processor to update the E2E NIC framework based on the decoded update parameters, and code configured to cause the at least one processor to decode the compressed representation of the plurality of blocks based on the updated E2E NIC framework to generate a reconstructed image.

図9はコードの例示的なブロックを示しているが、いくつかの実装形態では、装置/デバイスは、図9に示されているブロックに対して、追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含んでもよい。追加または代替として、装置のブロックのうちの2つ以上が並行して実行されてもよい。言い換えると、図9は別個のコードのブロックを示しているが、様々なコード命令は別個のものである必要はなく、混在されてもよい。 Although FIG. 9 shows example blocks of code, in some implementations an apparatus/device may include additional, fewer, different, or differently arranged blocks relative to those shown in FIG. 9. Additionally or alternatively, two or more of the blocks of an apparatus may be executed in parallel. In other words, although FIG. 9 shows separate blocks of code, the various code instructions need not be separate and may be intermixed.

本開示で説明されるいくつかのパターンに基づく、E2E NICフレームワークのコンテンツ適応型オンライン訓練の方法およびプロセスは、適応型オンライン訓練機構に柔軟性をもたらしてNICコーディング効率を高め、DNNベースの、または従来モデルベースの方法を含む、異なるタイプの学習に基づいた量子化方法を支援する。記載している方法は、異なるDNNアーキテクチャおよび複数の品質基準に対応する柔軟で汎用的なフレームワークをさらに提供する。 The content-adaptive online training method and process of the E2E NIC framework based on several patterns described in this disclosure provides flexibility to the adaptive online training mechanism to improve NIC coding efficiency and support different types of learning-based quantization methods, including DNN-based or traditional model-based methods. The described method further provides a flexible and generic framework that accommodates different DNN architectures and multiple quality criteria.

前述した技術は、コンピュータ可読命令を使用し、1つ以上のコンピュータ可読媒体に物理的に記憶されたコンピュータソフトウェアとして、または具体的に構成される1つ以上のハードウェアプロセッサによって実装され得る。例えば、図2は、様々な実施形態を実施するのに適した環境200を示す。一例では、1つ以上のプロセッサは、非一時的コンピュータ可読媒体に記憶されたプログラムを実行する。 The techniques described above may be implemented using computer-readable instructions, as computer software physically stored on one or more computer-readable media, or by one or more tangibly configured hardware processors. For example, FIG. 2 illustrates an environment 200 suitable for implementing various embodiments. In one example, one or more processors execute a program stored on a non-transitory computer-readable medium.

本明細書で使用される場合、構成要素という用語は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせとして広く解釈されることを意図している。 As used herein, the term component is intended to be broadly interpreted as hardware, software, or a combination of hardware and software.

本明細書に記載のシステムおよび/または方法は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせの異なる形態で実装されてもよいことは明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の専用の制御ハードウェアまたはソフトウェアコードは、実装形態を限定するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されており、ソフトウェアおよびハードウェアは、本明細書の記載に基づいてシステムおよび/または方法を実装するように設計され得ることが理解される。 It will be apparent that the systems and/or methods described herein may be implemented in different forms of hardware, software, or a combination of hardware and software. The actual dedicated control hardware or software code used to implement these systems and/or methods is not intended to limit the implementation. Thus, the operation and behavior of the systems and/or methods are described herein without reference to specific software code, and it will be understood that software and hardware may be designed to implement the systems and/or methods based on the description herein.

コンピュータソフトウェアは、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって、直接に、または解釈、マイクロコードの実行などを介して実行できる命令を含むコードを作成するために、アセンブリ、コンパイル、リンクなどの機構の適用を受け得る、任意の適切な機械コードまたはコンピュータ言語を使用して符号化されることができる。 Computer software can be encoded using any suitable machine code or computer language that can be subjected to mechanisms such as assembly, compilation, linking, etc. to create code containing instructions that can be executed by a computer central processing unit (CPU), graphics processing unit (GPU), etc., directly or through interpretation, microcode execution, etc.

命令は、例えば、パーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機、モノのインターネットデバイスなどを含む様々なタイプのコンピュータまたはコンピュータの構成要素上で実行することができる。 The instructions may be executed on various types of computers or computer components, including, for example, personal computers, tablet computers, servers, smartphones, gaming consoles, Internet of Things devices, etc.

本開示はいくつかの例示的な実施形態を記載しているが、本開示の範囲内に入る変更、置換、および様々な代替の均等物が存在する。したがって、当業者は、本明細書に明示的に示されていないかまたは記載されていないが、本開示の原理を具現化し、したがって本開示の趣旨および範囲内にある多数のシステムおよび方法を考案することができることが理解されよう。 While this disclosure describes some exemplary embodiments, there are modifications, substitutions, and various alternative equivalents that fall within the scope of this disclosure. Thus, it will be appreciated that those skilled in the art can devise numerous systems and methods not explicitly shown or described herein that embody the principles of this disclosure and thus are within the spirit and scope of this disclosure.

200 環境
210 ユーザデバイス
220 プラットフォーム
222 クラウドコンピューティング環境
224 コンピューティングリソース
224-1 アプリケーション(APP)
224-2 仮想マシン(VM)
224-3 仮想化ストレージ(VS)
224-4 ハイパーバイザ(HYP)
230 ネットワーク
300 デバイス
310 バス
320 プロセッサ
330 メモリ
340 記憶構成要素
350 入力構成要素
360 出力構成要素
370 通信インターフェース
400 画像
410 ブロック
510 サブセット
520 サブセット
700 E2E NICフレームワーク
710 主エンコーダ
720 主デコーダ
730 ハイパーエンコーダ
740 ハイパーデコーダ
750 コンテキストモデル
760 量子化器
761 量子化器
770 算術コーダ
771 算術コーダ
780 算術デコーダ
781 算術デコーダ
800 E2E NICのコンテンツ適応型オンライン訓練の方法
810~860 動作
900 コンピュータコード
910 受信コード
920 分割コード
930 選択コード
940 前処理コード
950 コンピューティングコード
960 生成コード
200 Environment 210 User Device 220 Platform 222 Cloud Computing Environment 224 Computing Resources 224-1 Application (APP)
224-2 Virtual Machine (VM)
224-3 Virtualized Storage (VS)
224-4 Hypervisor (HYP)
230 network 300 device 310 bus 320 processor 330 memory 340 storage component 350 input component 360 output component 370 communication interface 400 image 410 block 510 subset 520 subset 700 E2E NIC framework 710 primary encoder 720 primary decoder 730 hyperencoder 740 hyperdecoder 750 context model 760 quantizer 761 quantizer 770 arithmetic coder 771 arithmetic coder 780 arithmetic decoder 781 arithmetic decoder 800 method for content adaptive online training of E2E NIC 810-860 operation 900 computer code 910 receiving code 920 splitting code 930 selection code 940 preprocessing code 950 Computing Code 960 Generated Code

Claims (7)

少なくとも1つのプロセッサによって実行される、ニューラルネットワークを使用する、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)用のコンテンツ適応型オンライン訓練の方法であって、前記方法が、
E2E NICフレームワークへの入力画像を受信するステップと、
前記入力画像を複数のブロックに分割するステップと、
前記複数のブロックからブロックのサブセットを選択するステップであって、前記ブロックのサブセットは同じパターンを共有する、ステップと、
前記E2E NICフレームワークのニューラルネットワークを前処理、前記前処理されたニューラルネットワーク、前記選択されたブロックのサブセットに適用するステップと、
前記前処理されたニューラルネットワークを使用して、更新パラメータを計算するステップと、
前記更新パラメータに基づいて、更新されたE2E NICフレームワークを生成するステップと
前記複数のブロックの圧縮表現、および前記更新パラメータの圧縮表現を生成するために、前記複数のブロックおよび前記更新パラメータを符号化するステップと、
復号された更新パラメータを生成するために、前記更新パラメータの前記圧縮表現を復号するステップと、
前記復号された更新パラメータに基づいて、前記E2E NICフレームワークを更新するステップと、
再構築画像を生成するために、前記更新されたE2E NICフレームワークに基づいて、前記複数のブロックの前記圧縮表現を復号するステップと、
前記複数のブロックおよび前記更新パラメータの前記圧縮表現の消費量、トレードオフハイパーパラメータ、ならびに前記複数のブロックの前記圧縮表現のブロック残差と、前記複数のブロックの前記復号された圧縮表現のブロック残差との間の歪みに基づいて、前記再構築画像の歪み損失を判断するステップと
を含む、方法。
1. A method of content-adaptive online training for end-to-end (E2E) neural image compression (NIC) using a neural network, executed by at least one processor, the method comprising:
receiving an input image to an E2E NIC framework;
Dividing the input image into a number of blocks;
selecting a subset of blocks from the plurality of blocks, the subset of blocks sharing a same pattern;
preprocessing a neural network of the E2E NIC framework and applying the preprocessed neural network to the selected subset of blocks ;
calculating update parameters using the preprocessed neural network;
generating an updated E2E NIC framework based on the updated parameters ;
encoding the plurality of blocks and the update parameters to generate a compressed representation of the plurality of blocks and a compressed representation of the update parameters;
decoding the compressed representation of the update parameters to generate decoded update parameters;
updating the E2E NIC framework based on the decoded update parameters;
decoding the compressed representation of the plurality of blocks based on the updated E2E NIC framework to generate a reconstructed image;
determining a distortion loss of the reconstructed image based on consumption of the compressed representations of the blocks and the update parameters, a trade-off hyper-parameter, and a distortion between block residuals of the compressed representations of the blocks and block residuals of the decoded compressed representations of the blocks;
A method comprising:
前記同じパターンが、前記複数のブロックのRGB分散、または前記複数のブロックのYUV分散に基づいて判断される、請求項1に記載の方法。 The method of claim 1, wherein the same pattern is determined based on an RGB variance of the plurality of blocks or a YUV variance of the plurality of blocks. 前記更新パラメータが、学習率およびステップの数を含み、前記学習率および前記ステップの数は、前記入力画像の特性に基づいて選択される、請求項1に記載の方法。 The method of claim 1, wherein the update parameters include a learning rate and a number of steps, the learning rate and the number of steps being selected based on characteristics of the input image. 前記入力画像の前記特性が、前記入力画像のRGB分散および前記入力画像のRD性能
のうちの一方である、請求項に記載の方法。
The method of claim 3 , wherein the characteristic of the input image is one of an RGB variance of the input image and an RD performance of the input image.
前記ニューラルネットワークを前処理するときに、前記ニューラルネットワークが前記複数のブロックを使用して微調整される、請求項1に記載の方法。 The method of claim 1, wherein when preprocessing the neural network, the neural network is fine-tuned using the plurality of blocks. 請求項1からのいずれか一項に記載の方法を実行する、ニューラルネットワークを使用する、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)用のコンテンツ適応型オンライン訓練のための装置。 An apparatus for content-adaptive online training for end-to-end (E2E) neural image compression (NIC) using neural networks, the apparatus executing the method according to any one of claims 1 to 5 . ニューラルネットワークを使用する、エンドツーエンド(E2E)ニューラル画像圧縮(NIC)コンテンツ適応型オンライン訓練のための装置の少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、請求項1からのいずれか一項に記載の方法を実行させる命令を含む、コンピュータプログラム。 6. A computer program comprising instructions, when executed by at least one processor of an apparatus for end-to-end (E2E) neural image compression (NIC) content-adaptive online training using neural networks, that cause the at least one processor to perform the method of any one of claims 1 to 5 .
JP2023561073A 2021-12-13 2022-11-02 Method, apparatus and computer program for content-adaptive online training for end-to-end (E2E) neural image compression (NIC) using neural networks Active JP7676578B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163289044P 2021-12-13 2021-12-13
US63/289,044 2021-12-13
US17/969,242 US12518432B2 (en) 2021-12-13 2022-10-19 System, method, and computer program for content adaptive online training for multiple blocks based on certain patterns
US17/969,242 2022-10-19
PCT/US2022/048656 WO2023113928A1 (en) 2021-12-13 2022-11-02 System, method, and computer program for content adaptive online training for multiple blocks based on certain patterns

Publications (2)

Publication Number Publication Date
JP2024513432A JP2024513432A (en) 2024-03-25
JP7676578B2 true JP7676578B2 (en) 2025-05-14

Family

ID=86694691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023561073A Active JP7676578B2 (en) 2021-12-13 2022-11-02 Method, apparatus and computer program for content-adaptive online training for end-to-end (E2E) neural image compression (NIC) using neural networks

Country Status (6)

Country Link
US (1) US12518432B2 (en)
EP (1) EP4449359A4 (en)
JP (1) JP7676578B2 (en)
KR (1) KR102900060B1 (en)
CN (1) CN116897372A (en)
WO (1) WO2023113928A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12518432B2 (en) * 2021-12-13 2026-01-06 Tencent America LLC System, method, and computer program for content adaptive online training for multiple blocks based on certain patterns

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020008104A1 (en) 2018-07-02 2020-01-09 Nokia Technologies Oy A method, an apparatus and a computer program product for image compression
JP2021090135A (en) 2019-12-03 2021-06-10 キヤノン株式会社 Signal processing device and signal processing method, system, learning method, and program
JP2023501563A (en) 2020-05-12 2023-01-18 テンセント・アメリカ・エルエルシー Alternative end-to-end video coding

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60134561D1 (en) * 2001-12-28 2008-08-07 Texas Instruments France Method for compressing images of a video telephone system
US8204128B2 (en) * 2007-08-01 2012-06-19 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry, Through The Communications Research Centre Canada Learning filters for enhancing the quality of block coded still and video images
EP2357730A4 (en) * 2008-11-13 2016-01-20 Nagato Oya METHOD FOR PROCESSING DATA IN ARBORESCENT FORM AND DEVICE FOR PROCESSING DATA
WO2016156864A1 (en) * 2015-03-31 2016-10-06 Magic Pony Technology Limited Training end-to-end video processes
US11074671B2 (en) * 2017-12-18 2021-07-27 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
CA3113901A1 (en) * 2018-09-28 2020-04-02 Pavel SINHA Machine learning using structurally regularized convolutional neural network architecture
KR20220088888A (en) * 2019-11-07 2022-06-28 인터디지털 브이씨 홀딩스 프랑스 에스에이에스 Iterative training of neural networks for intra prediction
US12087024B2 (en) 2019-11-13 2024-09-10 Disney Enterprises, Inc. Image compression using normalizing flows
US11238593B2 (en) * 2020-02-12 2022-02-01 Adobe Inc. Multi-object image parsing using neural network pipeline
US11924445B2 (en) * 2020-09-25 2024-03-05 Qualcomm Incorporated Instance-adaptive image and video compression using machine learning systems
US12062150B2 (en) * 2020-09-30 2024-08-13 Tencent America LLC Method and apparatus for block-wise neural image compression with post filtering
US11810331B2 (en) * 2021-01-04 2023-11-07 Tencent America LLC Neural image compression with latent feature-domain intra-prediction
US12294720B2 (en) * 2021-04-16 2025-05-06 Tencent America LLC Method and apparatus for dynamic learning rates of substitution in neural image compression
US12283075B2 (en) * 2021-04-16 2025-04-22 Tencent America LLC Method and apparatus for multi-learning rates of substitution in neural image compression
US11979565B2 (en) * 2021-05-27 2024-05-07 Tencent America LLC Content-adaptive online training method and apparatus for post-filtering
US12423878B2 (en) * 2021-06-16 2025-09-23 Tencent America LLC Content-adaptive online training method and apparatus for deblocking in block-wise image compression
CN115841522A (en) * 2021-09-18 2023-03-24 华为技术有限公司 Method, apparatus, storage medium, and program product for determining image loss value
KR20240116704A (en) * 2021-09-20 2024-07-30 어플라이드 브레인 리서치 인크. Method and system for implicit attention with sub-quadratic complexity in artificial neural networks
US20230186081A1 (en) * 2021-12-13 2023-06-15 Tencent America LLC System, method, and computer program for iterative content adaptive online training in neural image compression
US12347149B2 (en) * 2021-12-13 2025-07-01 Tencent America LLC System, method, and computer program for content adaptive online training for multiple blocks in neural image compression
US12518432B2 (en) * 2021-12-13 2026-01-06 Tencent America LLC System, method, and computer program for content adaptive online training for multiple blocks based on certain patterns

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020008104A1 (en) 2018-07-02 2020-01-09 Nokia Technologies Oy A method, an apparatus and a computer program product for image compression
JP2021090135A (en) 2019-12-03 2021-06-10 キヤノン株式会社 Signal processing device and signal processing method, system, learning method, and program
JP2023501563A (en) 2020-05-12 2023-01-18 テンセント・アメリカ・エルエルシー Alternative end-to-end video coding

Also Published As

Publication number Publication date
WO2023113928A1 (en) 2023-06-22
KR20230142767A (en) 2023-10-11
US12518432B2 (en) 2026-01-06
EP4449359A1 (en) 2024-10-23
US20230186526A1 (en) 2023-06-15
JP2024513432A (en) 2024-03-25
KR102900060B1 (en) 2025-12-16
CN116897372A (en) 2023-10-17
EP4449359A4 (en) 2025-04-02

Similar Documents

Publication Publication Date Title
JP7483030B2 (en) Neural Image Compression by Intra Prediction in Latent Feature Domain
KR102917200B1 (en) Method and device for multi-scale neural image compression using intra-prediction residuals
KR102840825B1 (en) Nonlinear quantization using substitution in neural image compression
KR102899660B1 (en) A quality-adaptive neural network-based loop filter with seamless quality control via meta-learning.
KR102749918B1 (en) Learning substitution quality factors for quality-adaptive neural network-based loop filters
JP7411113B2 (en) Model sharing with masked neural networks for loop filters with quality inputs
JP2024519246A (en) Learning surrogate quality factors in latent space for neural image compression
JP7697033B2 (en) Systems, methods, and computer programs for iterative, content-adaptive, online training in neural image compression
EP4028958A1 (en) Method and apparatus for substitutional neural residual compression
JP7676578B2 (en) Method, apparatus and computer program for content-adaptive online training for end-to-end (E2E) neural image compression (NIC) using neural networks
CN115500089B (en) Adaptive neural network image compression method, device, storage medium and equipment
JP7652925B2 (en) System, method, and computer program for content-adaptive online training for multiple blocks in neural image compression - Patents.com
US11652994B2 (en) Neural image compression with adaptive intra-prediction
KR20220166844A (en) Multi-Task Neural Networks with Microstructured Parameter Sharing for Multi-Quality Loop Filters
JP7493617B2 (en) Method and apparatus for multiple learning rates of permutations in neural image compression
HK40080097A (en) Adaptive neural network image compression method, device, storage medium and apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231003

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20241017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241028

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20241126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20241205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250123

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: 20250408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250430

R150 Certificate of patent or registration of utility model

Ref document number: 7676578

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150