JP2020053820A - Quantization and encoder creation method, compressor creation method, compressor creation apparatus, and program - Google Patents
Quantization and encoder creation method, compressor creation method, compressor creation apparatus, and program Download PDFInfo
- Publication number
- JP2020053820A JP2020053820A JP2018181024A JP2018181024A JP2020053820A JP 2020053820 A JP2020053820 A JP 2020053820A JP 2018181024 A JP2018181024 A JP 2018181024A JP 2018181024 A JP2018181024 A JP 2018181024A JP 2020053820 A JP2020053820 A JP 2020053820A
- Authority
- JP
- Japan
- Prior art keywords
- data
- quantization
- neural network
- quantized
- parameters
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、量子化及び符号化器作成方法、圧縮器作成方法、圧縮器作成装置及びプログラムに関する。 The present invention relates to a quantization and encoder creation method, a compressor creation method, a compressor creation device, and a program.
データ圧縮とは、データをどれだけ短い符号長(つまり、ファイルサイズ)で保存できるかというタスクである。データ圧縮器は、元データを符号化して圧縮データに変換する符号化器と、圧縮データを復号して再構成データに変換する復号化器とからなる。可逆データ圧縮では再構成データが元データに完全に一致している必要がある一方、非可逆データ圧縮では再構成データに元のデータからの或る程度の歪み(distortion)を許容している。これにより、非可逆データ圧縮では、符号長の大幅な削減を可能にしている。ここで、歪みとは再構成データが元データからどれだけ劣化したかを表す量である。 Data compression is the task of how short a code length (ie, file size) can store data. The data compressor includes an encoder that encodes original data and converts it into compressed data, and a decoder that decodes compressed data and converts it into reconstructed data. Lossless data compression requires that the reconstructed data exactly match the original data, while irreversible data compression allows the reconstructed data to have some distortion from the original data. Thus, in the irreversible data compression, the code length can be significantly reduced. Here, the distortion is an amount indicating how much the reconstructed data has deteriorated from the original data.
多くの非可逆画像圧縮は、自己符号化器(autoencoder)の構造を拡張して、中間層の出力配列(出力配列は特徴マップ(feature map)とも称される。)の各要素を量子化・符号化することで画像の圧縮表現を生成する。State-of-the-artなDNN(Deep Neural Network)モデルを含む、これまでの多くの非可逆画像圧縮器では、この量子化を行うときに、量子化先の標本空間(sample-space)として圧縮器内部に予め用意されている標本空間を用いている。 Many lossy image compressions extend the structure of a self-encoder (autoencoder) to quantize each element of an output array in the hidden layer (the output array is also called a feature map). The encoding generates a compressed representation of the image. Many irreversible image compressors, including the state-of-the-art DNN (Deep Neural Network) model, use a quantization-destination sample space when performing this quantization. A sample space prepared in advance inside the compressor is used.
上述したように、従来技術では、中間層の出力配列の各要素の量子化を行うときに量子化先の標本空間として予め用意されている(つまり、予め決められた)標本空間を用いているため、量子化先の標本空間が必ずしも最適化されておらず、効率的な圧縮器(及びこの圧縮器に対応する復元器)が得られない場合があった。ここで、効率的な圧縮器とは、圧縮対象のデータと、復元器によって復元されたデータとの歪みが小さく、かつ、量子化・符号化されたデータの符号長が小さい圧縮器のことである。 As described above, in the related art, when quantizing each element of the output array of the intermediate layer, a sample space prepared in advance (that is, a predetermined sample space) is used as a sample space to be quantized. For this reason, the sample space at the quantization destination is not always optimized, and an efficient compressor (and a decompressor corresponding to this compressor) may not be obtained. Here, an efficient compressor is a compressor in which the distortion between the data to be compressed and the data restored by the decompressor is small, and the code length of the quantized and encoded data is small. is there.
本発明の実施の形態は、上記の点に鑑みてなされたもので、効率的な圧縮器を作成することを目的とする。 An embodiment of the present invention has been made in view of the above points, and has as its object to create an efficient compressor.
上記目的を達成するため、本発明の実施の形態は、上述した量子化の部分に着目し、復号時に既に復号が完了した部分の情報を元にして符号化で用いる確率質量関数を適応的に変化させるのに加え、量子化で用いる標本空間まで適応的に変化させる(以降では、これを「ASAP(Adaptive Sample-space & Adaptive Probability) coding」と呼ぶこととする。)。そして、このASAP codingを以下のようにして実現する。 In order to achieve the above object, embodiments of the present invention focus on the above-described quantization part, and adaptively calculate a probability mass function used in encoding based on information of a part that has already been decoded at the time of decoding. In addition to the change, the sample space is adaptively changed up to the sample space used in the quantization (hereinafter, this is referred to as "ASAP (Adaptive Sample-space & Adaptive Probability) coding"). Then, the ASAP coding is realized as follows.
非可逆圧縮によりデータを圧縮する場合における量子化及び符号化器作成方法であって、前記データの量子化及び符号化において、デコード時に既にデコード済みの情報を用いて、量子化先の標本空間を所定の関数により決定する手順、をコンピュータが実行する。 A method for creating a quantizer and an encoder when compressing data by lossy compression, wherein in the quantization and encoding of the data, a sample space to be quantized is decoded using information already decoded at the time of decoding. The computer executes a procedure determined by a predetermined function.
また、ASAP coding内の関数をニューラルネットワークにしてそれらのパラメータを再構成データの歪みと保存する圧縮データの符号長とのトレードオフ(trade off)の観点から最適化することで作られた、圧縮対象となるデータ群の特徴を踏まえて効率的に非可逆圧縮する圧縮器として、NASAP(Neural-network-based ASAP) codingを提案する。そして、このNASAP codingを以下のようにして実現する。 In addition, compression is made by optimizing the parameters in the ASAP coding from the viewpoint of trade-off between the distortion of the reconstructed data and the code length of the compressed data to be stored by converting the parameters in the neural network into neural networks. We propose NASAP (Neural-network-based ASAP) coding as a compressor that efficiently performs lossy compression based on the characteristics of the target data group. Then, this NASAP coding is realized as follows.
非可逆圧縮によりデータを圧縮する場合における量子化及び符号化器作成方法であって、前記データの量子化及び符号化において、デコード時に既にデコード済みの情報を用いて、量子化先の標本空間を所定の関数により決定する手順、をコンピュータが実行し、前記所定の関数はニューラルネットワークであり、前記ニューラルネットワークの内部パラメータを、前記非可逆圧縮における圧縮性能が高くなるように最適化することで、前記量子化先の標本空間を決定する。 A method for creating a quantizer and an encoder when compressing data by lossy compression, wherein in the quantization and encoding of the data, a sample space to be quantized is decoded using information already decoded at the time of decoding. The procedure of determining by a predetermined function, the computer executes, the predetermined function is a neural network, by optimizing the internal parameters of the neural network to increase the compression performance in the lossy compression, The sample space to be quantized is determined.
効率的な圧縮器を作成することができる。 An efficient compressor can be created.
まず、ASAP codingの具体例について説明する。 First, a specific example of ASAP coding will be described.
JPEG(Joint Photographic Experts Group)では量子化テーブルが用意されており、画像を8×8のサイズごとに区切る。そして、各区切られた部分の各色チャネル(channel)毎に、以下のような量子化・符号化の操作をする。まず、離散コサイン変換し、8×8の2次元配列を作る。そして、それを予め決められた量子化テーブルに示される量子化幅で量子化する。 In the JPEG (Joint Photographic Experts Group), a quantization table is prepared to divide an image into 8 × 8 sizes. Then, the following quantization / coding operation is performed for each color channel (channel) in each section. First, a discrete cosine transform is performed to create an 8 × 8 two-dimensional array. Then, it is quantized with a quantization width indicated in a predetermined quantization table.
上述したJPEGの量子化・符号化の部分をASAP codingに置き換えると次のようになる。ASAP codingでは予め量子化幅を決めることはなく、これをデコード(decode)時に既にデコード済の部分(以降、この部分を「コンテキスト」とも表す。)から適応的に決定する。量子化幅を適応的に決定するのは量子化に用いる標本空間を適応的に決定する方法の一つである。コンテキストから量子化幅を決定する関数はヒューリスティックに決めても良いし、機械学習を用いて決めても良い。 When the above-mentioned quantization and coding part of JPEG is replaced with ASAP coding, the following is obtained. In the ASAP coding, the quantization width is not determined in advance, but is determined adaptively from the already decoded part (hereinafter, this part is also referred to as “context”) at the time of decoding (decoding). Adaptively determining the quantization width is one of the methods for adaptively determining the sample space used for quantization. The function for determining the quantization width from the context may be determined heuristically, or may be determined using machine learning.
ここで、ASAP codingは次の点で有効である。例えば、量子化されていない配列を{z1,・・・,zN}として、この配列を量子化して可逆圧縮する場合、発生する量子化誤差と保存された符号長との間には一般にトレードオフが存在し、大きな量子化誤差を許容するほど符号長は小さくすることができる。n番目の要素znの量子化で許容できる量子化誤差の程度がコンテキスト(つまり、復号時に既に復号が完了したn−1番目までの量子化後の配列要素)に依存している場合、ASAP codingでは、コンテキストの情報を用いて、確率質量関数(PMF:probability mass function)だけでなく、標本空間まで適応的に決定する。このため、ASAP codingでは、共通の標本空間を用いる場合と比較して、同程度の歪みにおいて更に小さい符号長での保存が期待できる。 Here, ASAP coding is effective in the following points. For example, when an unquantized array is {z 1 ,..., Z N }, and this array is quantized and losslessly compressed, generally, the generated quantization error and the stored code length generally have a difference between them. There is a trade-off, and the code length can be reduced to allow a large quantization error. If the degree of quantization error allowable in the quantization of the n-th element z n depends on the context (that is, the quantized array elements up to the (n−1) -th element that has already been decoded at the time of decoding), ASAP In coding, not only a probability mass function (PMF) but also a sample space is adaptively determined using context information. For this reason, in the ASAP coding, compared to the case where a common sample space is used, storage with a smaller code length can be expected with the same degree of distortion.
次に、NASAP codingについて説明する。 Next, the NASAP coding will be described.
ASAP codingの量子化先の標本空間をコンテキストの情報を用いて適応的に決める部分の関数にニューラルネットワークを用い、その内部のパラメータを圧縮性能が向上するように(つまり、歪みが小さく、かつ、量子化・符号化されたデータの符号長が小さくなるように)最適化することによって作成する。以下、NASAP codingの具体例について説明する。 A neural network is used as a function of a part that adaptively determines a sample space to be quantized in ASAP coding using context information, and parameters in the neural network are improved so that compression performance is improved (that is, distortion is small, and It is created by optimization (so that the code length of the quantized / encoded data is reduced). Hereinafter, a specific example of the NASAP coding will be described.
本発明の実施の形態では、非可逆的にデータを圧縮する圧縮器(及びこの圧縮器に対応する復元器)を作成する変換器作成装置10について説明する。ここで、圧縮器に対応する復元器とは、圧縮器によって圧縮されたデータを復元することが可能な復元器のことである。なお、圧縮器は非可逆的にデータを圧縮するため、圧縮対象のデータ(以降、「圧縮対象データ」とも表す。)と、復元されたデータ(以降、「復元データ」とも表す。)とは完全には一致しない。
In the embodiment of the present invention, a
以降では、一例として、圧縮対象データ及び復元データは、チャネル数をC0、高さのサイズをH0、幅のサイズをW0として、C0×H0×W0のサイズの3次元配列で表される画像データであるものとする。ただし、圧縮対象データ及び復元データは、画像データに限られない。圧縮対象データ及び復元データとして、任意の形式のデータ(例えば、テキストデータや音声データ等)が用いられても良い。 Hereinafter, as an example, the data to be compressed and the decompressed data are a three-dimensional array having a size of C 0 × H 0 × W 0 where the number of channels is C 0 , the height size is H 0 , and the width size is W 0. It is assumed that the image data is represented by However, the compression target data and the decompressed data are not limited to image data. As the data to be compressed and the decompressed data, data in any format (for example, text data, audio data, etc.) may be used.
本発明の実施の形態における変換器作成装置10は、分析器(アナライザ)と、統合器(シンセサイザ)と、量子化器とを同時に最適化することで、効率的な圧縮器(及びこの圧縮器に対応する復元器)を作成する。ここで、効率的な圧縮器とは、上述したように、圧縮対象のデータと、復元されたデータとの歪みが小さく、かつ、量子化・符号化されたデータの符号長が小さい圧縮器のことである。なお、圧縮器及び復元器は、データの変換を行う変換器の一例である。
The
<変換器作成装置10の機能構成>
まず、本発明の実施の形態における変換器作成装置10の機能構成について、図1を参照しながら説明する。図1は、本発明の実施の形態における変換器作成装置10の機能構成の一例を示す図である。
<Functional configuration of
First, a functional configuration of a
図1に示すように、本発明の実施の形態における変換器作成装置10は、分析部101と、量子化部102と、統合部103と、最適化部104とを有する。
As shown in FIG. 1, the
分析部101は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)によって実現されるアナライザとして機能する。以降では、この畳み込みニューラルネットワークを「第1のCNN」とも表す。
The
分析部101は、圧縮対象データ(C0×H0×W0のサイズの3次元配列で表される画像データ)を入力して、この圧縮対象データを変換した中間データを出力する。以降では、この中間データを
The
量子化部102は、分析部101によって出力された中間データを入力して、この中間データを量子化する。そして、量子化部102は、量子化された中間データを出力する。なお、量子化部102の詳細な機能構成については後述する。
The
以降では、量子化された中間データ(以降、「量子化中間データ」とも表す。)を Hereinafter, quantized intermediate data (hereinafter, also referred to as “quantized intermediate data”) will be described.
また、量子化部102は、量子化中間データを算術符号化によって保存するのに必要な情報量を計算する。この情報量は、後述するように、
Further, the
統合部103は、畳み込みニューラルネットワークによって実現されるシンセサイザとして機能する。以降では、この畳み込みニューラルネットワークを「第2のCNN」とも表す。
The
統合部103は、量子化中間データを入力して、この量子化中間データを変換した復元データ(C0×H0×W0のサイズの3次元配列で表される画像データ)を出力する。
The
最適化部104は、分析部101と、量子化部102と、統合部103とを最適化する。すなわち、最適化部104は、圧縮対象データと復元データとの歪みができるだけ小さく、かつ、上記の数3で表される情報量Iができるだけ小さくなるように、分析部101と、量子化部102と、統合部103とのパラメータを最適化する。なお、最適化の対象となるパラメータは、第1のCNNのパラメータと、第2のCNNのパラメータと、後述する第3のCNNのパラメータと、後述する第1のパラメータ〜第3のパラメータとである。
The optimizing
これらのパラメータを最適化することで、本発明の実施の形態における変換器作成装置10は、効率的な圧縮器と、この圧縮器に対応する復元器とを作成することができる。なお、圧縮器は、例えば、最適化後の分析部101及び量子化部102で構成される変換器とすれば良い。また、復元器は、例えば、量子化部102に含まれる算術符号化部116(後述する)の逆の処理を実行する機能部と最適化後の統合部103とで構成される変換器とすれば良い。
By optimizing these parameters, the
<量子化部102の詳細な機能構成>
次に、上記の量子化部102の詳細な機能構成について、図2を参照しながら説明する。図2は、本発明の実施の形態における量子化部102の詳細な機能構成の一例を示す図である。
<Detailed functional configuration of
Next, a detailed functional configuration of the
図2に示すように、本発明の実施の形態における量子化部102には、分割部111と、CNN計算部112と、誤差計算部113と、量子化計算部114と、情報量計算部115と、算術符号化部116とが含まれる。
As shown in FIG. 2, the
分割部111は、中間データを、予め決められたK個のグループに分割する。すなわち、分割部111は、中間データの各要素xi(i=1,・・・,CHW)をK個のグループに分類する。以降では、k(k=1,・・・,K)番目のグループに属するi番目の要素を「xi (k)」と表し、同一のkに対してxi (k)を各要素とする配列で表されるデータ(このデータを「k番目の分割データ」とも表す。)を The dividing unit 111 divides the intermediate data into K groups determined in advance. That is, the dividing unit 111 classifies each element x i (i = 1,..., CHW) of the intermediate data into K groups. In the following, k (k = 1, ··· , K) th i-th element belonging to the group of the "x i (k)" represents, and the same for each element x i (k) for k (This data is also referred to as “k-th divided data”).
また、k番目の分割データが量子化されたデータ(以降、「k番目の量子化分割データ」とも表す。)を Also, data obtained by quantizing the k-th divided data (hereinafter, also referred to as “k-th quantized divided data”).
CNN計算部112は、畳み込みニューラルネットワークによって実現され、k≧2の場合に、1番目の量子化分割データ〜k−1番目の量子化分割データを入力して、k番目の予測値データと、k番目の指標値データと、k番目の量子化幅データとを計算する。以降では、この畳み込みニューラルネットワークを「第3のCNN」とも表す。
The
また、以降では、k番目の予測値データを In the following, the k-th predicted value data is
また、k番目の指標値データを Also, the k-th index value data
また、k番目の量子化幅データを Also, the k-th quantization width data is
ただし、k=1の場合は、モデル内に(つまり、圧縮器自体に)予め保存されているパラメータを用いて、1番目の予測値データと、1番目の指標値データと、1番目の量子化幅データとが作成される。 However, in the case of k = 1, the first prediction value data, the first index value data, and the first quantum value are calculated using parameters stored in the model (that is, in the compressor itself) in advance. Width data is created.
誤差計算部113は、xi (k)の量子化に用いられるk番目の誤差データを計算する。k番目の誤差データを
The
量子化計算部114は、誤差δi (k)と、量子化幅qi (k)とを用いて、xi (k)を量子化する。
The
情報量計算部115は、k番目の量子化分割データを算術符号化によって保存するのに必要な情報量(k番目の情報量)を計算する。k番目の情報量は、後述するように、
The information
算術符号化部116は、量子化中間データ(すなわち、1番目の量子化分割データ〜K番目の量子化分割データ)をそれぞれに対応する累積分布関数群と量子化幅データから計算される離散確率分布に従って算術符号化によって保存する。
The
<最適化時における量子化部102による量子化の概略>
次に、最適化時における量子化部102による量子化の概略について、図3を参照しながら説明する。図3は、最適化時における量子化部102による量子化の概略の一例を説明する図である。分割部111による中間データの分割数をKとした場合、最適化時における量子化部102による量子化は、k=1からk=Kまで順に実行される。図3では、k≧2として、k回目の量子化を実行する場合について説明する。
<Outline of quantization by
Next, an outline of quantization by the
ここで、図3において、実線矢印は誤差(予測誤差)が誤差逆伝播法によって逆伝播される「backwardあり」を示し、破線矢印は誤差(予測誤差)が逆伝播されない「backwardなし」を示す。なお、上述したように、k=1回目の量子化では、1番目の予測値データと、1番目の指標値データと、1番目の量子化幅データとが予め保存されているパラメータを用いて作成される点がk≧2の場合と異なる。 Here, in FIG. 3, the solid arrow indicates “backward” where the error (prediction error) is back-propagated by the error back propagation method, and the broken arrow indicates “no backward” where the error (prediction error) is not back-propagated. . Note that, as described above, in the k = first quantization, the first prediction value data, the first index value data, and the first quantization width data are stored using parameters stored in advance. The point created is different from the case where k ≧ 2.
図3に示すように、量子化部102による量子化では、1番目の量子化分割データ〜k−1番目の量子化分割データをCNN計算部112に入力して、k番目の予測値データと、k番目の指標値データと、k番目の量子化幅データとを計算する。
As shown in FIG. 3, in the quantization by the
次に、k番目の予測値データと、k番目の真値データ(すなわち、k番目の分割データ)とを誤差計算部113に入力して、k番目の誤差データを計算する。次に、k番目の誤差データと、k番目の量子化幅データと、k番目の真値データとを量子化計算部114に入力して、k番目の量子化分割データを計算する。なお、このk番目の量子化分割データは、k+1回目の量子化で、CNN計算部112に入力される。
Next, the k-th predicted value data and the k-th true value data (that is, the k-th divided data) are input to the
次に、k番目の量子化幅データと、k番目の量子化分割データとを情報量計算部115に入力して、k番目の累積分布関数群によりk番目の情報量I(k)を計算する。これにより、各k=1,・・・,Kに対して、k番目の情報量I(k)が得られる。この情報量I(k)をk=1,・・・,Kに対して足し合わせたものが、上記の数3に示す情報量Iである。後述するように、圧縮対象データと復元データとの歪みができるだけ小さく、かつ、この情報量Iができるだけ小さくなるように、分析部101と、量子化部102と、統合部103とが最適化される。
Next, the k-th quantized width data and the k-th quantized divided data are input to the
<最適化処理>
次に、本発明の実施の形態における変換器作成装置10の最適化処理の詳細について、図4を参照しながら説明する。図4は、最適化処理の一例を示すフローチャートである。
<Optimization processing>
Next, details of the optimization processing of the
ステップS101:分析部101は、圧縮対象データ(C0×H0×W0のサイズの3次元配列で表される画像データ)を入力して、この圧縮対象データを変換した中間データを出力する。なお、この分析部101を実現する第1のCNNのパラメータは、最適化部104による最適化の対象となるパラメータである。
Step S101: The
ステップS102:量子化部102の分割部111は、中間データをK個のグループに分割する。ここで、H=16、W=16として、空間方向(すなわち、H×W平面を基準)に中間データをK=10のグループに分割する場合について、図5を参照しながら説明する。図5は、分割方法の一例を示す図である。
Step S102: The dividing unit 111 of the
図5(a)に示すように、例えば、(H,W)=(1,1),(1,9),(9,1),(9,9)である各要素xiをk=1のグループに分類する。この場合、N(1)=C(1)H(1)W(1)=C×2×2=4Cである。k=2〜4についても同様である。 As shown in FIG. 5 (a), for example, (H, W) = (1, 1), (1, 9), the (9,1), each element x i is (9, 9) k = Classify into 1 group. In this case, N (1) = C (1) H (1) W (1) = C × 2 × 2 = 4C. The same applies to k = 2 to 4.
また、図5(b)に示すように、例えば、(H,W)=(1,3),(1,7),(1,11),(1,15),(5,3),(5,7),(5,11),(5,15),(9,3),(9,7),(9,11),(9,15),(13,3),(13,7),(13,11),(13,15),である各要素xiをk=5のグループに分類する。この場合、N(5)=C(5)H(5)W(5)=C×4×4=16Cである。k=6〜7についても同様である。なお、図5(b)中のxi (k)(k=1,2,3,4)は、このxi (k)が、図5(a)によって、k=1〜4のいずれかのグループに分類されたことを表す。 Also, as shown in FIG. 5B, for example, (H, W) = (1, 3), (1, 7), (1, 11), (1, 15), (5, 3), (5,7), (5,11), (5,15), (9,3), (9,7), (9,11), (9,15), (13,3), (13) , 7), (13, 11), (13, 15), each element x i is classified into groups of k = 5. In this case, N (5) = C (5) H (5) W (5) = C × 4 × 4 = 16C. The same applies to k = 6 to 7. Note that x i (k) (k = 1, 2, 3, 4) in FIG. 5B indicates that x i (k) is one of k = 1 to 4 according to FIG. Represents that it was classified into a group.
また、図5(c)に示すように、例えば、(H,W)=(1,2),(1,4),(1,6),(1,8),(1,10),(1,12),(1,14),(1,16),(3,2),(3,4),(3,6),(3,8),(3,10),(3,12),(3,14),(3,16),・・・,(15,2),(15,4),(15,6),(15,8),(15,10),(15,12),(15,14),(15,16)である各要素xiをk=8のグループに分類する。この場合、N(8)=C(8)H(8)W(8)=C×8×8=64Cである。k=9〜10についても同様である。なお、図5(c)中のxi (k)(k=1,2,・・・,7)は、このxi (k)が、図5(a)及び図5(b)によって、k=1〜7のいずれかのグループに分類されたことを表す。 Also, as shown in FIG. 5C, for example, (H, W) = (1, 2), (1, 4), (1, 6), (1, 8), (1, 10), (1,12), (1,14), (1,16), (3,2), (3,4), (3,6), (3,8), (3,10), (3 , 12), (3,14), (3,16), ..., (15,2), (15,4), (15,6), (15,8), (15,10), (15, 12), (15, 14) are classified into groups of k = 8 each element x i is a (15, 16). In this case, N (8) = C (8) H (8) W (8) = C × 8 × 8 = 64C. The same applies to k = 9 to 10. It should be noted that x i (k) (k = 1, 2,..., 7) in FIG. 5C indicates that x i (k) is represented by FIGS. 5A and 5B. It indicates that the group was classified into any one of k = 1 to 7.
これにより、中間データがK=10個のグループに分割される。図5では、説明の便宜上、中間データをk=1から順に分割させたが、必ずしも順に分割させる必要はない。分割部111は、中間データをk=1,・・・,Kのグループに同時に分割させることができる。 Thus, the intermediate data is divided into K = 10 groups. In FIG. 5, for convenience of explanation, the intermediate data is divided in order from k = 1, but it is not always necessary to divide the intermediate data in order. The division unit 111 can simultaneously divide the intermediate data into groups of k = 1,..., K.
なお、図5に示した分割方法は一例であって、分割部111は、この分割方法以外の種々の分割方法を用いて、中間データを分割しても良い。 Note that the division method illustrated in FIG. 5 is an example, and the division unit 111 may divide the intermediate data using various division methods other than this division method.
以降のステップS103〜ステップS106は、k=1からk=Kまで順に繰り返し実行される。 The subsequent steps S103 to S106 are repeatedly executed in order from k = 1 to k = K.
ステップS103:量子化部102は、k番目の予測値データと、k番目の指標値データと、k番目の量子化幅データとを得る。
Step S103: The
ここで、k=1の場合、量子化部102は、予め保存されているパラメータを用いて、1番目の予測値データと、1番目の指標値データと、1番目の量子化幅データとを作成することで、これらのデータを得る。
Here, when k = 1, the
具体的には、予め保存されている第1のパラメータ Specifically, the first parameter stored in advance
同様に、予め保存されている第2のパラメータ Similarly, a second parameter stored in advance
同様に、予め保存されている第3のパラメータ Similarly, a third parameter stored in advance
このように、k=1の場合、第1のパラメータ〜第3のパラメータを用いて、1番目の予測値データと、1番目の指標値データと、1番目の量子化幅データとを得る。これらの第1のパラメータ〜第3のパラメータは、上記の通り、チャネル毎に1つの値を持っている。なお、これらの第1のパラメータ〜第3のパラメータは、最適化部104による最適化の対象となるパラメータである。
As described above, when k = 1, the first prediction value data, the first index value data, and the first quantization width data are obtained using the first to third parameters. As described above, these first to third parameters have one value for each channel. Note that these first to third parameters are parameters to be optimized by the
一方で、k≧2である場合、量子化部102は、CNN計算部112により、k番目の予測値データと、k番目の指標値データと、k番目の量子化幅データとを計算することで、これらのデータを得る。
On the other hand, if k ≧ 2, the
具体的には、CNN計算部112は、1番目の量子化分割データ〜k−1番目の量子化分割データを入力して、k番目の予測値データと、k番目の指標値データと、k番目の量子化幅データとを計算する。これにより、k番目の予測値データと、k番目の指標値データと、k番目の量子化幅データとが得られる。なお、CNN計算部112を実現する第3のCNNのパラメータは、最適化部104による最適化の対象となるパラメータである。
Specifically, the
ステップS104:次に、量子化部102の誤差計算部113は、k番目の予測値データと、k番目の量子化幅データと、k番目の分割データとを用いて、k番目の誤差データを計算する。
Step S104: Next, the
具体的には、まず、誤差計算部113は、各i=1,・・・,N(k)に対して、
Specifically, first, the
次に、誤差計算部113は、各i=1,・・・,N(k)に対して、
Next, the
ステップS105:次に、量子化部102の量子化計算部114は、k番目の分割データと、k番目の誤差データと、k番目の量子化幅データとを用いて、k番目の量子化分割データを計算する。
Step S105: Next, the
具体的には、量子化部102は、各i=1,・・・,N(k)に対して、
Specifically, the
ここで、上記の数23に示す式は、 Here, the expression shown in the above Expression 23 is
ステップS106:次に、量子化部102の情報量計算部115は、k番目の量子化分割データを算術符号化によって保存するのに必要なk番目の情報量I(k)を計算する。
Step S106: Next, the information
具体的には、まず、情報量計算部115は、累積分布関数Cumi (k)を
Specifically, first, the information
ここで、 here,
また、 Also,
なお、累積分布関数Cumi (k)は、上述したように、予測値μi (k)と評価値σi (k)とによって決定される。ただし、予測値μi (k)のみによって決定されても良い。 Note that the cumulative distribution function Cum i (k) is determined by the predicted value μ i (k) and the evaluation value σ i (k) as described above. However, it may be determined only by the predicted value μ i (k) .
このとき、累積分布関数Cumi (k)は増加関数であり、 At this time, the cumulative distribution function Cum i (k) is an increasing function,
次に、情報量計算部115は、算術符号化の1つであるレンジ符号化に必要な上端(upperbound)と下端(lowerbound)とを
Next, the information
このとき、 At this time,
したがって、情報量計算部115は、k番目の情報量I(k)を
Therefore, the information
以上のステップS103〜ステップS106がk=1からk=Kまで順に繰り返し実行されることで、各k番目の量子化分割データと、各情報量I(k)とが得られる。すなわち、量子化中間データと、この量子化中間データの保存に必要な情報量I=I(1)+・・・+I(K)とが得られる。これにより、算術符号化部116は、算術符号化によって量子化中間データを情報量I(より正確には、情報量Iに近い情報量)で保存することができる。ただし、最適化時には、量子化中間データは必ずしも保存されなくても良い。
By repeating the above steps S103 to S106 in order from k = 1 to k = K, each k-th quantized divided data and each information amount I (k) are obtained. That is, the quantized intermediate data and the information amount I = I (1) +... + I (K) necessary for storing the quantized intermediate data are obtained. As a result, the
ステップS107:次に、統合部103は、量子化中間データを入力して、この量子化中間データを変換した復元データ(C0×H0×W0のサイズの3次元配列で表される画像データ)を出力する。なお、この統合部103を実現する第2のCNNのパラメータは、最適化部104による最適化の対象となるパラメータである。
Step S107: Next, the
ステップS108:最後に、最適化部104は、所定のloss関数の値が最小となるように、第1のCNNのパラメータと、第2のCNNのパラメータと、第3のCNNのパラメータと、第1のパラメータ〜第3のパラメータとを最適化する。ここで、loss関数としては、符号長が小さいほど小さい値をとり、かつ、統合部103が出力した復元データと元のデータ(つまり、圧縮対象データ)との歪みが小さいほど小さい値をとる任意の関数を用いることができる。例えば、loss関数として、以下の関数を用いることができる。
Step S108: Finally, the optimizing
また、bit_lengthは、情報量計算部115により計算された情報量Iである。MSSSIM(multi-scale structural similarity)は、圧縮対象データと、復元データとのMSSSIM値である。MSE(mean squared error)は、圧縮対象データと復元データとで互いに対応する画素値(すなわち、互いに同じ位置にある画素の値(つまり、同じ高さ、幅、チャネルの画素の値))の平均二乗誤差である。なお、上記の数35に示すloss関数の勾配値は、誤差逆伝播法によって逆伝播された誤差(予測誤差)から計算することができる。ただし、量子化の演算は微分不可能な演算であるため、このloss関数の勾配値は、量子化があることを無視して(つまり、x^の代わりにxを使用して)、近似的な計算により算出される。
In addition, bit_length is the information amount I calculated by the information
これにより、第1のCNNのパラメータと、第2のCNNのパラメータと、第3のCNNのパラメータと、第1のパラメータ〜第3のパラメータとが最適化される。このとき、上述したように、量子化誤差を小さくするように(すなわち、量子化幅qi (k)を小さくするように)パラメータを最適化する力と、算術符号化による保存に必要な情報量を小さくするように(すなわち、量子化幅qi (k)を大きくするように)パラメータを最適化する力とが働く。このように、パラメータの最適化時には、トレードオフの関係にある2つの力が働く。このトレードオフによって、適切な量子化幅qi (k)を学習することができる。つまり、量子化誤差を小さくすると共に、保存に必要な情報量を小さくするように最適化されることで、適切な量子化幅qi (k)が学習され、量子化幅データも最適化される。 Thereby, the parameters of the first CNN, the parameters of the second CNN, the parameters of the third CNN, and the first to third parameters are optimized. At this time, as described above, the power for optimizing parameters so as to reduce the quantization error (that is, to reduce the quantization width q i (k)) and the information necessary for storage by arithmetic coding The power of optimizing the parameters works to reduce the quantity (that is, to increase the quantization width q i (k)) . Thus, at the time of parameter optimization, two forces having a trade-off relationship act. With this trade-off, an appropriate quantization width q i (k) can be learned. That is, by performing optimization so as to reduce the quantization error and the amount of information necessary for storage, an appropriate quantization width q i (k) is learned, and the quantization width data is also optimized. You.
なお、loss関数として、上記の数35に示すloss関数を用いることで、ニューラルネットワークの構造の最適化に要する手間を削減することができると共に、使用時のメモリを削減することができるようになる。通常の歪みあり符号化の場合、或る符号長の制約をおくと、その符号長の制約に特化したloss関数が定義され(つまり、異なる符号長の制約毎に異なるloss関数が作成され)、それぞれのloss関数毎に最適なニューラルネットワークの構造(例えば、層の数やチャネル数、ユニット数等)が異なる。このため、通常の歪みあり符号化では、loss関数毎にニューラルネットワークの最適化を行う必要がある。これに対して、本発明の実施の形態では、上記の数35に示すloss関数を用いて、このloss関数が最小になるようにニューラルネットワークの構造を最適化することで、幅広い範囲の符号長の制約の下で高い性能(つまり、歪みが小さく、かつ、量子化・符号化されたデータの符号長が小さい)を達成することができる。また、この場合、学習後のニューラルネットワークを利用して符号化、復号化する際も符号長の制約毎に異なるニューラルネットワークを読み込む必要が無くなり、使用時に必要なメモリを削減することができる。 By using the loss function shown in Equation 35 as the loss function, it is possible to reduce the time and effort required for optimizing the structure of the neural network, and to reduce the memory at the time of use. . In the case of ordinary distortion coding, when a certain code length constraint is set, a loss function specialized for the code length constraint is defined (that is, a different loss function is created for each different code length constraint). , The optimal neural network structure (for example, the number of layers, the number of channels, the number of units, etc.) differs for each loss function. Therefore, in normal distortion coding, it is necessary to optimize the neural network for each loss function. On the other hand, in the embodiment of the present invention, by using the loss function shown in Equation 35 above, the structure of the neural network is optimized so that the loss function is minimized, so that a wide range of code lengths is obtained. High performance (that is, small distortion and small code length of quantized / encoded data) under the constraint of Further, in this case, even when performing encoding and decoding using the neural network after learning, it is not necessary to read a different neural network for each constraint on the code length, and it is possible to reduce the memory required for use.
以上により、本発明の実施の形態における変換器作成装置10は、効率的な圧縮器と、この圧縮器に対応する復元器とを作成することができる。なお、上記のステップS108の最適化は、例えば、上記のステップS101〜ステップS107を異なる複数のサンプル(圧縮対象データ)を用いて繰り返し実行した後に実行されても良い。
As described above, the
<本発明の効果>
本発明の効果について、図6を参照しながら説明する。図6は、本発明の効果の一例を示す図である。図6は、縦軸を1−MSSSIM、横軸をbpp(bits per pixel)とした場合における本発明の手法で得られた圧縮器と、従来手法で得られた圧縮器との比較結果である。1−MSSSIMはその値が低い程、歪みが小さいことを表し、bppはその値が低い程、圧縮率が高いことを表す。なお、bppは、情報量IをH×Wで除算することで得られる。
<Effect of the present invention>
The effect of the present invention will be described with reference to FIG. FIG. 6 is a diagram showing an example of the effect of the present invention. FIG. 6 shows a comparison result between the compressor obtained by the method of the present invention and the compressor obtained by the conventional method when the vertical axis is 1-MSSSIM and the horizontal axis is bpp (bits per pixel). . 1-MSSSIM indicates that the lower the value is, the smaller the distortion is, and the lower the value is, the higher the compression ratio is. Note that bpp is obtained by dividing the information amount I by H × W.
図6に示すように、本発明の手法で得られた圧縮器では、従来手法で得られた圧縮器と比較して、歪みが小さく、かつ、高い圧縮率が得られていることがわかる。なお、図6において、本発明の手法を示すグラフ中の数字は、第1のCNN及び第2のCNNのチャネル数である。 As shown in FIG. 6, it can be seen that the compressor obtained by the method of the present invention has a smaller distortion and a higher compression ratio than the compressor obtained by the conventional method. In FIG. 6, the numbers in the graph indicating the method of the present invention are the numbers of channels of the first CNN and the second CNN.
なお、図6の従来手法のうち、「Neural Multi−scale」は、「Neural Multi−scale Image Compression」のことである。また、「Johonston et al.」は、以下の参考文献1に記載されている手法のことである。
In addition, in the conventional method of FIG. 6, “Neural Multi-scale Image Compression” is “Neural Multi-scale Image Compression”. "Johstonton et al." Refers to a method described in the following
[参考文献1]
Nick Johnston, Damien Vincent, David Minnen, Michele Covell, Saurabh Singh, Troy Chinen, Sung Jin Hwang, Joel Shor, and George Toderici. Improved lossy image compression with priming and spatially adaptive bit rates for recurrent networks. arXiv preprint arXiv:1703.10114, 2017.
<変換器作成装置10のハードウェア構成>
最後に、本発明の実施の形態における変換器作成装置10のハードウェア構成について、図7を参照しながら説明する。図7は、本発明の実施の形態における変換器作成装置10のハードウェア構成の一例を示す図である。
[Reference 1]
Nick Johnston, Damien Vincent, David Minnen, Michele Covell, Saurabh Singh, Troy Chinen, Sung Jin Hwang, Joel Shor, and George Toderici. Improved lossy image compression with priming and spatially adaptive bit rates for recurrent networks. 2017.
<Hardware configuration of
Lastly, a hardware configuration of the
図7に示すように、本発明の実施の形態における変換器作成装置10は、入力装置201と、表示装置202と、外部I/F203と、通信I/F204と、RAM(Random Access Memory)205と、ROM(Read Only Memory)206と、プロセッサ207と、補助記憶装置208とを有する。これら各ハードウェアは、バス209により通信可能に接続されている。
As shown in FIG. 7, the
入力装置201は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置202は、例えばディスプレイ等であり、変換器作成装置10の各種処理結果を表示する。
The
外部I/F203は、外部装置とのインタフェースである。外部装置には、記録媒体203a等がある。変換器作成装置10は、外部I/F203を介して、記録媒体203a等の読み取りや書き込み等を行うことができる。記録媒体203aには、変換器作成装置10が有する各機能部(すなわち、分析部101、量子化部102、統合部103及び最適化部104)を実現する1以上のプログラム等が記録されていても良い。
The external I /
記録媒体203aには、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
Examples of the
通信I/F204は、変換器作成装置10を通信ネットワークに接続するためのインタフェースである。変換器作成装置10が有する各機能部を実現する1以上のプログラムは、通信I/F204を介して、所定のサーバ装置等から取得(ダウンロード)されても良い。
The communication I /
RAM205は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM206は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM206には、例えば、OS(Operating System)に関する設定や通信ネットワークに関する設定等が格納されている。
The
プロセッサ207は、例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等であり、ROM206や補助記憶装置208等からプログラムやデータをRAM205上に読み出して処理を実行する演算装置である。変換器作成装置10が有する各機能部は、例えば補助記憶装置208に格納されている1以上のプログラムがプロセッサ207に実行させる処理により実現される。なお、変換器作成装置10は、プロセッサ207として、CPUとGPUとの両方を有していても良いし、CPU又はGPUのいずれか一方のみを有していても良い。また、変換器作成装置10は、例えば、FPGA(field-programmable gate array)等の専用の半導体チップを有していても良い。
The
補助記憶装置208は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置208には、例えば、OS、各種アプリケーションソフトウェア、変換器作成装置10が有する各機能部を実現する1以上のプログラム等が格納されている。
The
本発明の実施の形態における変換器作成装置10は、図7に示すハードウェア構成を有することにより、上述した各種処理を実現することができる。なお、図7に示すハードウェア構成は一例であって、他の構成であっても良い。例えば、変換器作成装置10は、入力装置201及び表示装置202のうちの少なくとも一方を有していなくても良い。
The
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the above-described embodiments specifically disclosed, and various modifications and changes can be made without departing from the scope of the claims.
10 変換器作成装置
101 分析部
102 量子化部
103 統合部
104 最適化部
111 分割部
112 CNN計算部
113 誤差計算部
114 量子化計算部
115 情報量計算部
116 算術符号化部
DESCRIPTION OF
Claims (11)
前記データの量子化及び符号化において、デコード時に既にデコード済みの情報を用いて、量子化先の標本空間を所定の関数により決定する手順、
をコンピュータが実行することを特徴とする量子化及び符号化器作成方法。 A method for creating a quantization and encoder when compressing data by lossy compression,
In the quantization and encoding of the data, a procedure for determining a sample space to be quantized by a predetermined function using information that has already been decoded at the time of decoding,
Is performed by a computer.
前記ニューラルネットワークの内部パラメータを、前記非可逆圧縮における圧縮性能が高くなるように最適化することで、前記量子化先の標本空間を決定する、ことを特徴とする請求項1に記載の量子化及び符号化器作成方法。 The predetermined function is a neural network;
2. The quantization method according to claim 1, wherein the internal parameters of the neural network are optimized so that the compression performance in the lossy compression is improved, so that the quantization target sample space is determined. And an encoder creation method.
第2のニューラルネットワークで実現される量子化・符号化器により前記中間データの量子化先の標本空間を決定し、前記標本空間を用いて前記中間データを量子化・符号化した量子化データを作成する量子化・符号化手順と、
第3のニューラルネットワークで実現される統合器により前記量子化データを変換した復元データを作成する統合手順と、
前記圧縮対象データと前記復元データとの歪みと、前記量子化データを算術符号化によって保存する場合に必要な情報量とに基づいて、前記第1のニューラルネットワークのパラメータと、前記第2のニューラルネットワークのパラメータと、前記第3のニューラルネットワークのパラメータとを最適化する最適化手順と、
をコンピュータが実行することを特徴とする圧縮器作成方法。 An analysis procedure for creating intermediate data obtained by converting data to be compressed by an analyzer realized by a first neural network;
A quantization / encoder implemented by a second neural network determines a sample space to quantize the intermediate data, and uses the sample space to quantize / encode the intermediate data to obtain quantized data. The quantization / encoding procedure to create,
An integration procedure for creating restored data obtained by converting the quantized data by an integrator realized by a third neural network;
Parameters of the first neural network and the second neural network based on a distortion between the data to be compressed and the decompressed data and an amount of information required when the quantized data is stored by arithmetic coding. An optimization procedure for optimizing the parameters of the network and the parameters of the third neural network;
And a computer for executing the method.
前記中間データを量子化器により量子化した量子化データを作成する量子化手順と、
第2のニューラルネットワークで実現される統合器により前記量子化データを変換した復元データを作成する統合手順と、
前記圧縮対象データと前記復元データとの歪みと、前記量子化データを算術符号化によって保存する場合に必要な情報量とに基づいて、前記第1のニューラルネットワークのパラメータと、前記量子化器のパラメータと、前記第2のニューラルネットワークのパラメータとを最適化する最適化手順と、
をコンピュータが実行することを特徴とする圧縮器作成方法。 An analysis procedure for creating intermediate data obtained by converting data to be compressed by an analyzer realized by a first neural network;
A quantization procedure for creating quantized data obtained by quantizing the intermediate data with a quantizer,
An integration procedure for creating restored data obtained by converting the quantized data by an integrator realized by a second neural network;
Parameters of the first neural network, based on a distortion between the data to be compressed and the decompressed data and an amount of information required when the quantized data is stored by arithmetic coding, An optimization procedure for optimizing the parameters and the parameters of the second neural network;
And a computer for executing the method.
α、β及びγを所定の定数、前記圧縮対象データと前記復元データとで互いに対応する画素値の平均二乗誤差をMSE、前記圧縮対象データと前記復元データとのMSSSIM値をMSSSIM、前記情報量により表されるビット長を示すbit_lengthとして、
α, β, and γ are predetermined constants, the mean square error of the pixel values corresponding to each other in the data to be compressed and the decompressed data is MSE, the MSSSIM value between the data to be compressed and the decompressed data is MSSSIM, and the information amount. As bit_length indicating the bit length represented by
前記中間データの各要素をK個のグループに分割した上で、k(k=1,・・・,K)番目のグループに属する要素で構成されるk番目の中間データを用いて、該k番目の中間データに対応するk番目の量子化データと、該k番目の量子化データを算術符号化によって保存する場合に必要なk番目の情報量とをk=1からk=Kまで順に作成することで、前記k番目の情報量のk=1からk=Kまでの総和で表される前記情報量と、前記k番目の量子化データのk=1からk=Kまでの結合で表される前記量子化データとを作成する、ことを特徴とする請求項4又は5に記載の圧縮器作成方法。 The quantization procedure includes:
After dividing each element of the intermediate data into K groups, the k-th intermediate data composed of the elements belonging to the k-th (k = 1,. The k-th quantized data corresponding to the k-th intermediate data and the k-th information amount necessary for storing the k-th quantized data by arithmetic coding are sequentially created from k = 1 to k = K. By doing so, the information amount represented by the sum of the k-th information amount from k = 1 to k = K and the combination of the k-th quantized data from k = 1 to k = K are represented. The method according to claim 4, wherein the quantized data is generated.
前記量子化手順は、
前記k番目の予測値データと前記k番目の量子化幅データと前記k番目の中間データとを用いて、前記k番目の量子化データを作成し、
前記k番目の予測値データと前記k番目の指標値データとによって決定される累積分布関数と、前記k番目の量子化データと、前記k番目の量子化幅データとを用いて、前記k番目の情報量を作成する、ことを特徴とする請求項6に記載の圧縮器作成方法。 When k ≧ 2, the quantizer receives k-th to k−1th quantized data as inputs and predicts k-th predicted value data that predicts k-th intermediate data. , K-th index value data indicating the closeness between the k-th intermediate data and the k-th prediction value data, and k-th quantum indicating a quantization width when quantizing the k-th intermediate data And a third neural network for outputting the normalized width data and
The quantization procedure includes:
Using the k-th prediction value data, the k-th quantization width data, and the k-th intermediate data, creating the k-th quantization data,
Using the cumulative distribution function determined by the k-th predicted value data and the k-th index value data, the k-th quantized data, and the k-th quantized width data, 7. The method according to claim 6, wherein the information amount is created.
前記量子化器のパラメータには、前記第3のニューラルネットワークのパラメータと、前記第1のパラメータと、前記第2のパラメータと、前記第3のパラメータとが含まれる、ことを特徴とする請求項7に記載の圧縮器作成方法。 When k = 1, the k-th prediction value data, the k-th index value data, and the k-th quantization width data are a first parameter and a second parameter stored in advance. And the third parameter, respectively,
The parameter of the quantizer includes a parameter of the third neural network, the first parameter, the second parameter, and the third parameter. 8. The method for producing a compressor according to item 7.
前記k番目の情報量は、前記k番目の量子化データの各要素と、前記k番目の量子化データの各要素と、前記累積分布関数の集合の各要素とによって決定される出現確率の和である、ことを特徴とする請求項7又は8に記載の圧縮器作成方法。 Each element of the k-th quantized data is a difference between each element of the k-th predictive value data and each element of the k-th intermediate data by each element of the k-th quantization width data. Quantized,
The k-th information amount is a sum of appearance probabilities determined by each element of the k-th quantized data, each element of the k-th quantized data, and each element of the set of cumulative distribution functions. The method according to claim 7 or 8, wherein:
前記中間データを量子化器により量子化した量子化データを作成する量子化手順と、
第2のニューラルネットワークで実現される統合器により前記量子化データを変換した復元データを作成する統合手段と、
前記圧縮対象データと前記復元データとの歪みと、前記量子化データを算術符号化によって保存する場合に必要な情報量とに基づいて、前記第1のニューラルネットワークのパラメータと、前記量子化器のパラメータと、前記第2のニューラルネットワークのパラメータとを最適化する最適化手段と、
を有することを特徴とする圧縮器作成装置。 Analysis means for creating intermediate data obtained by converting data to be compressed by an analyzer realized by a first neural network;
A quantization procedure for creating quantized data obtained by quantizing the intermediate data with a quantizer,
Integrating means for generating restored data obtained by converting the quantized data by an integrator realized by a second neural network;
Parameters of the first neural network, based on a distortion between the data to be compressed and the decompressed data and an amount of information required when the quantized data is stored by arithmetic coding, Optimizing means for optimizing parameters and parameters of the second neural network;
A compressor producing device, comprising:
前記中間データを量子化器により量子化した量子化データを作成する量子化手順と、
第2のニューラルネットワークで実現される統合器により前記量子化データを変換した復元データを作成する統合手順と、
前記圧縮対象データと前記復元データとの歪みと、前記量子化データを算術符号化によって保存する場合に必要な情報量とに基づいて、前記第1のニューラルネットワークのパラメータと、前記量子化器のパラメータと、前記第2のニューラルネットワークのパラメータとを最適化する最適化手順と、
をコンピュータに実行させることを特徴とするプログラム。 An analysis procedure for creating intermediate data obtained by converting data to be compressed by an analyzer realized by a first neural network;
A quantization procedure for creating quantized data obtained by quantizing the intermediate data with a quantizer,
An integration procedure for creating restored data obtained by converting the quantized data by an integrator realized by a second neural network;
Parameters of the first neural network, based on a distortion between the data to be compressed and the decompressed data and an amount of information required when the quantized data is stored by arithmetic coding, An optimization procedure for optimizing the parameters and the parameters of the second neural network;
Which causes a computer to execute the program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018181024A JP7233875B2 (en) | 2018-09-26 | 2018-09-26 | Creation method, computer and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018181024A JP7233875B2 (en) | 2018-09-26 | 2018-09-26 | Creation method, computer and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020053820A true JP2020053820A (en) | 2020-04-02 |
JP7233875B2 JP7233875B2 (en) | 2023-03-07 |
Family
ID=69997781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018181024A Active JP7233875B2 (en) | 2018-09-26 | 2018-09-26 | Creation method, computer and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7233875B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114037071A (en) * | 2021-09-18 | 2022-02-11 | 宁波大学 | Method for obtaining neural network for image preprocessing to resist JPGE compression distortion |
KR20220084130A (en) * | 2020-05-12 | 2022-06-21 | 텐센트 아메리카 엘엘씨 | Feature substitution method and apparatus for end-to-end image compression |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0353782A (en) * | 1989-07-21 | 1991-03-07 | Matsushita Electric Ind Co Ltd | Picture coder |
JPH0879748A (en) * | 1994-07-08 | 1996-03-22 | Samsung Electron Co Ltd | Quantization step size controller using neuro-network |
JP2012104940A (en) * | 2010-11-08 | 2012-05-31 | Nippon Telegr & Teleph Corp <Ntt> | Moving image encoder, moving image encoding method and program |
JP2019140680A (en) * | 2018-02-09 | 2019-08-22 | 株式会社Preferred Networks | Auto encoder device, data processing system, data processing method and program |
-
2018
- 2018-09-26 JP JP2018181024A patent/JP7233875B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0353782A (en) * | 1989-07-21 | 1991-03-07 | Matsushita Electric Ind Co Ltd | Picture coder |
JPH0879748A (en) * | 1994-07-08 | 1996-03-22 | Samsung Electron Co Ltd | Quantization step size controller using neuro-network |
JP2012104940A (en) * | 2010-11-08 | 2012-05-31 | Nippon Telegr & Teleph Corp <Ntt> | Moving image encoder, moving image encoding method and program |
JP2019140680A (en) * | 2018-02-09 | 2019-08-22 | 株式会社Preferred Networks | Auto encoder device, data processing system, data processing method and program |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220084130A (en) * | 2020-05-12 | 2022-06-21 | 텐센트 아메리카 엘엘씨 | Feature substitution method and apparatus for end-to-end image compression |
JP2022553250A (en) * | 2020-05-12 | 2022-12-22 | テンセント・アメリカ・エルエルシー | Method, apparatus and computer program for feature replacement for end-to-end image compression |
US11790566B2 (en) | 2020-05-12 | 2023-10-17 | Tencent America LLC | Method and apparatus for feature substitution for end-to-end image compression |
KR102632258B1 (en) * | 2020-05-12 | 2024-01-31 | 텐센트 아메리카 엘엘씨 | Feature permutation method and device for end-to-end image compression |
JP7447253B2 (en) | 2020-05-12 | 2024-03-11 | テンセント・アメリカ・エルエルシー | Method, apparatus and computer program for feature replacement for end-to-end image compression |
CN114037071A (en) * | 2021-09-18 | 2022-02-11 | 宁波大学 | Method for obtaining neural network for image preprocessing to resist JPGE compression distortion |
CN114037071B (en) * | 2021-09-18 | 2023-08-08 | 宁波大学 | Method for acquiring neural network for image preprocessing to resist JPGE compression distortion |
Also Published As
Publication number | Publication date |
---|---|
JP7233875B2 (en) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902369B2 (en) | Autoencoder, data processing system, data processing method and non-transitory computer readable medium | |
US11205121B2 (en) | Efficient encoding and decoding sequences using variational autoencoders | |
TWI428837B (en) | Adaptive coding decoding of wide-range coefficients | |
US7245241B2 (en) | Image coding with scalable context quantization | |
US10382789B2 (en) | Systems and methods for digital media compression and recompression | |
JP2014525183A (en) | Method and apparatus for image compression storing encoding parameters in a 2D matrix | |
US11783511B2 (en) | Channel-wise autoregressive entropy models for image compression | |
JP2017085603A (en) | Region-based image compression | |
Liu et al. | Exploring autoencoder-based error-bounded compression for scientific data | |
US20070019876A1 (en) | Lossless image compression with tree coding of magnitude levels | |
US20180061428A1 (en) | Variable length coding of indices and bit scheduling in a pyramid vector quantizer | |
US20160156940A1 (en) | Common copy compression | |
WO2006083801A2 (en) | Optimized lossless data compression methods | |
Mahmud | An improved data compression method for general data | |
JP7233875B2 (en) | Creation method, computer and program | |
KR20090005027A (en) | Restrained vector quantization | |
US20220392117A1 (en) | Data compression and decompression system and method thereof | |
WO2021145105A1 (en) | Data compression device and data compression method | |
Gray et al. | Image compression and tree-structured vector quantization | |
WO2022130477A1 (en) | Encoding device, decoding device, encoding method, decoding method, and program | |
US7747093B2 (en) | Method and apparatus for predicting the size of a compressed signal | |
Thanki et al. | Classification in Data Compression | |
CN109698704B (en) | Comparative gene sequencing data decompression method, system and computer readable medium | |
Matos et al. | Lossy-to-lossless compression of biomedical images based on image decomposition | |
JP2022127884A (en) | Computation apparatus and compression method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210922 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230119 |
|
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: 20230207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230222 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7233875 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |