JP2023063166A - Compression apparatus, decompression apparatus, and method of generating model - Google Patents
Compression apparatus, decompression apparatus, and method of generating model Download PDFInfo
- Publication number
- JP2023063166A JP2023063166A JP2021173511A JP2021173511A JP2023063166A JP 2023063166 A JP2023063166 A JP 2023063166A JP 2021173511 A JP2021173511 A JP 2021173511A JP 2021173511 A JP2021173511 A JP 2021173511A JP 2023063166 A JP2023063166 A JP 2023063166A
- Authority
- JP
- Japan
- Prior art keywords
- image
- model
- tiles
- latent variables
- discretized
- 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.)
- Pending
Links
- 238000007906 compression Methods 0.000 title claims abstract description 93
- 230000006835 compression Effects 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims description 51
- 230000006837 decompression Effects 0.000 title description 26
- 238000009826 distribution Methods 0.000 claims abstract description 127
- 230000015654 memory Effects 0.000 claims abstract description 32
- 239000013598 vector Substances 0.000 claims description 62
- 238000012549 training Methods 0.000 claims description 36
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 60
- 238000012545 processing Methods 0.000 description 52
- 230000008569 process Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 25
- 230000010365 information processing Effects 0.000 description 20
- 230000014509 gene expression Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000013144 data compression Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 238000001994 activation Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000001143 conditioned effect Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000010923 batch production Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本開示は、圧縮装置、復元装置及びモデルを生成する方法に関する。 The present disclosure relates to compressors, decompressors and methods of generating models.
動画の圧縮技術は、通信速度が低い時代においては重要な技術であり、画像再構成の精度及び圧縮率を改善するべく発展してきた。通信速度が安定して速くなってきている現在においても、4Kモニタ、8Kモニタといった高解像度の画像が出力可能となるような半導体技術の発展により、動画圧縮は重要な技術であり、さらなる画像再生の精度及び圧縮率においての改善が望まれている。また、通信速度だけではなく、ストレージの性能についても同様のことがいえる。 Moving image compression technology is an important technology in the age of low communication speeds, and has been developed to improve the accuracy and compression rate of image reconstruction. Even today, when communication speeds are becoming more stable and faster, the development of semiconductor technology that enables the output of high-resolution images such as 4K and 8K monitors has made video compression an important technology. Improvements in the accuracy and compression ratio of . The same can be said for not only communication speed but also storage performance.
動画を圧縮する技術として、動画のフレームごとの画像を条件付きエントロピー符号化する技術がある。また、画像からエンコードされた潜在変数を用いて、元の画像における座標からその座標の画素の色を再現する技術がある。このため、通信、格納における上記のような高解像度の画像、映像の再生、データ量の問題等を回避することが現在なお必要な状態であり、さらなる動画圧縮技術の向上が望まれている。 As a technique for compressing a moving image, there is a technique for conditionally entropy-encoding an image for each frame of the moving image. There is also a technique for reproducing the color of a pixel at coordinates in the original image using latent variables encoded from the image. Therefore, it is still necessary to avoid the above-mentioned problems of reproduction of high-resolution images and videos in communication and storage, data volume, and the like, and further improvement of moving image compression technology is desired.
本開示においては、高次元データの圧縮の精度及び効率を向上するデータ圧縮技術を提供する。 This disclosure provides data compression techniques that improve the accuracy and efficiency of compression of high-dimensional data.
一実施形態によれば、圧縮装置は、訓練済みの第1モデル、第2モデル、第3モデルのパラメータを格納した、1又は複数のメモリと、前記1又は複数のメモリに格納されたパラメータに基づいて、前記第1モデル、前記第2モデル又は前記第3モデルを形成可能な1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、第1画像及び前記第1画像の1単位時間前の第2画像をタイルに分割し、前記第1画像のタイル及び前記第2画像のタイルを前記第1モデルに入力して、前記第1画像のタイル及び前記第2画像のタイルの離散化された前記潜在変数の情報を取得し、前記第2画像のタイルの離散化された前記潜在変数の情報を前記第3モデルに入力し、前記第1画像のタイルの前記潜在変数に対する離散化された潜在変数の確率分布を取得し、前記確率分布に基づいて、前記第1画像のタイルの前記離散化された潜在変数を符号化し、符号を取得し、前記符号の情報を前記1又は複数のメモリに、前記第1画像の時刻に関する情報と紐付けて格納する。 According to one embodiment, the compressor comprises one or more memories storing parameters of the trained first, second and third models, and parameters stored in the one or more memories. and one or more processors capable of forming said first model, said second model or said third model on the basis of. The one or more processors divide a first image and a second image one unit time before the first image into tiles, and divide the tiles of the first image and the tiles of the second image into the first model. input to obtain information of the discretized latent variables of the tiles of the first image and of the tiles of the second image; 3. inputting into the model, obtaining a probability distribution of the discretized latent variables for the latent variables of the tiles of the first image; obtaining the discretized latent variables of the tiles of the first image based on the probability distribution; A variable is encoded, a code is obtained, and information of the code is stored in the one or more memories in association with information regarding the time of the first image.
一実施形態によれば、復元装置は、訓練済みの訓練装置により訓練された第3モデル及び第4モデルのパラメータを格納した、1又は複数のメモリと、前記1又は複数のメモリに格納されたパラメータに基づいて、前記第3モデル又は前記第4モデルを形成可能な、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、第1画像のタイルの離散化された潜在変数が符号化された情報を含む圧縮データを受信し、すでに取得されている、前記第1画像の1単位時間前の第2画像の離散化された潜在変数を、前記第3モデルに入力し、前記第1画像のタイルの離散化された潜在変数の確率分布を取得し、前記確率分布を用いて、前記圧縮データに含まれる前記第1画像のタイルの離散化された前記潜在変数が符号化された前記情報を復号し、復号した前記潜在変数を、前記第4モデルに入力し、前記第1画像のタイルの色値を取得する。 According to one embodiment, the decompressor comprises one or more memories storing parameters of the third model and the fourth model trained by the trained training device and stored in the one or more memories and one or more processors operable to form the third model or the fourth model based on the parameters. The one or more processors receive compressed data containing encoded information about the discretized latent variables of the tiles of the first image, previously obtained one unit time before the first image. Input the discretized latent variables of the second image into the third model, obtain a probability distribution of the discretized latent variables of the tiles of the first image, and use the probability distributions to process the compressed data decoding the information in which the discretized latent variables of the tiles of the first image contained in are encoded, inputting the decoded latent variables into the fourth model, and inputting the decoded latent variables of the tiles of the first image Get the color value.
一実施形態によれば、1又は複数のメモリと、1又は複数のプロセッサと、を備える。前記1又は複数のプロセッサは、第1画像と、前記第1画像の1単位時間前の第2画像について、タイルに分割し、前記タイルの離散化された潜在変数を、第1モデルを用いて推定し、前記第1画像のタイルの画像における位置及び前記潜在変数から、当該位置に対応する画素の色値を、第4モデルを用いて推定し、前記第1画像及び前記第2画像から、前記第1画像に対応する潜在変数の確率分布に関するハイパープライアコードを、第2モデルを用いて推定し、前記ハイパープライアコードと前記第2画像のタイル画像の潜在変数とから、前記第1画像のタイル画像の潜在変数の確率分布を、第3モデルを用いて推定し、前記第4モデルを用いて推定される前記色値と、正解の前記色値と、前記第2モデルを用いて推定される前記確率分布にしたがって前記第3モデルを用いて取得する前記確率分布と、前記第2モデルを用いて推定される前記ハイパープライアコードの確率と、に基づいて、前記第1モデルと、前記第2モデルと、前記第3モデルと、前記第4モデルと、を訓練する。 According to one embodiment, it comprises one or more memories and one or more processors. The one or more processors divide a first image and a second image one unit time before the first image into tiles, and convert the discretized latent variables of the tiles into estimating, from the position in the image of the tile of the first image and the latent variable, estimating the color value of the pixel corresponding to the position using a fourth model, from the first image and the second image, estimating a hyperprior code for the probability distribution of the latent variable corresponding to the first image using a second model; A probability distribution of a latent variable of a tile image is estimated using a third model, the color value estimated using the fourth model, the correct color value estimated using the second model, and the color value estimated using the fourth model. the first model and the first 2 models, said third model and said fourth model are trained.
この訓練装置により訓練されたそれぞれのモデルが、上記の圧縮装置、復元装置に用いられてもよい。 Each model trained by this training device may be used in the compression device and decompression device described above.
以下、図面を参照して本発明の実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。本開示における実施形態では、動画データの圧縮、圧縮されたデータの復元、及び、圧縮及び復元に用いるモデルの訓練に関する情報処理装置について説明する。 Embodiments of the present invention will be described below with reference to the drawings. The drawings and description of the embodiments are given by way of example and are not intended to limit the invention. In an embodiment of the present disclosure, an information processing device relating to compression of moving image data, decompression of compressed data, and training of a model used for compression and decompression will be described.
(データ圧縮)
図1は、一実施形態に係るデータ圧縮装置の構成の一例を示す図である。
圧縮装置1は、入力部100と、記憶部102と、出力部104と、分割部106と、特徴量取得部108と、ハイパープライア取得部110と、確率分布取得部112と、符号化部114と、を備える。圧縮装置1は、いくつかの訓練済みモデルを用いて、動画を圧縮したデータを生成して出力する装置である。訓練済みモデルの動作については、訓練装置についての説明において詳しく説明し、圧縮装置1の説明においては、入出力データについて記載する。
(data compression)
FIG. 1 is a diagram showing an example of the configuration of a data compression device according to one embodiment.
The
後述にて詳しく説明するが、圧縮装置1は、フレームごとの画像に関して、データ圧縮の対象である現在のフレーム画像を用いて、又は、現在のフレーム画像と1時刻以上前のフレーム画像とを用いて、データを圧縮する。以下においては、現在の時刻tのフレーム画像It単体、又は、現在のフレーム画像Itと1単位時間前の時刻t - 1のフレーム画像(以下、前フレーム画像It-1と記載する。)を用いてデータを圧縮する場合について説明するが、1時刻前のフレーム画像は、2時刻以上前のフレーム画像と読み替えてもよいし、1時刻以上前の複数のフレーム画像と読み替えてもよい。
As will be described later in detail, the
入力部100は、入力インタフェースを備える。圧縮装置1は、この入力部100を介してデータ、例えば、圧縮対象である動画データの入力を受け付ける。
The
記憶部102は、圧縮装置1の動作に用いるモデルのパラメータ等のデータ、データ圧縮の対象となるデータ及び中間で入出力されるデータ等必要なデータを格納する。以下の説明において、各構成要素が処理したデータは、適切なタイミングにおいて記憶部102に格納されてもよい。格納されたデータは、適切なタイミングにおいて、利用する構成要素により読み出して用いられる。
The
出力部104は、圧縮された動画データを出力する。なお、圧縮装置1は、圧縮された動画データを記憶部102に格納してもよい。
The
分割部106は、動画データにおけるフレーム画像Iを所定サイズごとに分割する。例えば、分割部106は、フレーム画像Iを所定サイズのタイルT(m, n)に分割する。(m, n)は、タイルの位置を示す。分割部106は、例えば、フレーム画像IをM × N個の所定サイズのタイルT(0, 0)、T(1, 0)、・・・、T(M - 1, 0)、・・・、T(M - 1, N - 1)に分割する。分割部106は、現フレーム画像Itを圧縮する場合に、現フレーム画像It、又は、現フレーム画像Itと前フレーム画像It-1とをタイルに分割する。例えば、現フレーム画像Itは、タイルTt(0, 0)、・・・、Tt(M - 1, N - 1)に分割され、前フレーム画像It-1は、タイルTt-1(0, 0)、・・・、Tt-1(M - 1, N - 1)に分割される。
The dividing
特徴量取得部108は、分割部106により分割されたタイルT(m, n)から、タイルT(m, n)の潜在変数(特徴量)を取得する。特徴量取得部108は、タイルT(m, n)を訓練済みの第1モデルM1に入力し、第1モデルM1からの出力結果に基づいてタイルT(m, n)の潜在変数z(m, n)を取得する。
The feature
潜在変数z(m, n)は、例えば、タイルT(m, n)の特徴量を示すベクトルであり、所定サイズであるタイルT(m, n)の全画素の色情報を示す記憶容量よりも小さな記憶容量で表されるベクトルである。この潜在変数z(m, n)は、離散化して定義されているベクトルekであってもよい。例えば、タイルT(m, n)が入力された第1モデルM1は、あらかじめ定義されている所定数存在するベクトルek (k = 1,・・・, K)それぞれについて、当該ベクトルが当該タイルの潜在変数として適している確率(当該タイルの潜在変数がベクトルekである確率、又は、当該タイルの潜在変数としてベクトルekが選択される選択確率)πkを出力する。 The latent variable z(m, n) is, for example, a vector indicating the feature amount of the tile T(m, n), and the storage capacity indicates the color information of all pixels of the tile T(m, n) of a predetermined size. is also a vector represented by a small storage capacity. This latent variable z(m, n) may be a vector e k defined discretized. For example, the first model M1 to which the tile T(m, n) is input, has a predetermined number of vectors e k (k = 1, . (probability that the latent variable of the tile is vector e k or selection probability that vector e k is selected as the latent variable of the tile) π k is output.
特徴量取得部108は、例えば、第1モデルM1を介してベクトルek (k ∈ {1, K})の確率πkを取得し、最大の確率πiを有するベクトルeiをサンプリングして潜在変数とする。ベクトルekは、例えば、D次元のベクトルである。第1モデルM1の出力層は、例えば、K個の出力ノードを有し、各ベクトルek (k ∈ {1, K})がタイルT(m, n)の潜在変数z(m, n)として選択される確率を出力する。
For example, the feature
このように離散化された埋め込みベクトルを用いて潜在変数を確率的に求める場合、ベクトルekは、例えば、VQ-VAE(Vector Quantised Variational Auto-Encoder)の手法によりベクトルekの次元D及び個数Kに基づいてあらかじめ取得されたものである。 When the latent variable is obtained stochastically using the embedding vector discretized in this way, the vector e k is obtained from the dimension D and the number It was previously obtained based on K.
なお、潜在変数は、ベクトルではなく、任意の次元を有するテンソルであってもよい。 Note that the latent variable may be a tensor having any dimension instead of a vector.
別の例として、潜在変数は、あらかじめ与えられているものではなく、第1モデルM1の出力層から出力される連続値により定義されるベクトルであってもよい。この場合、第1モデルM1は、連続値として潜在変数zt(m, n)を出力する。 As another example, the latent variable may be a vector defined by continuous values output from the output layer of the first model M1 instead of being given in advance. In this case, the first model M1 outputs the latent variables z t (m, n) as continuous values.
ハイパープライア取得部110は、前フレーム画像It-1に関する確率分布を事前分布とし、現フレーム画像Itに関する事後確率を事後分布とした、事前分布の超事前分布(ハイパープライア)を取得する。ハイパープライア取得部110は、前フレーム画像It-1と、現フレーム画像Itを訓練済みの第2モデルM2に入力し、ハイパープライアコードutを取得する。第2モデルM2は、2つの時間的に連続する2つのフレーム画像It、It-1が入力されるとハイパープライアコードutを出力するニューラルネットワークモデルであってもよい。
The hyper
ハイパープライアコードutは、時刻tにおけるタイルの潜在変数ztを符号化する条件付けを示すベクトルであり、確率分布を特徴付ける変数である。このハイパープライアコードutは、時刻t - 1のタイルの潜在変数zt-1で条件付けられた時刻tのタイルの潜在変数ztの条件付け確率を適切にモデル化するために用いられるベクトルである。 The hyperplier code u t is a vector indicating the conditioning that encodes the latent variable z t of the tile at time t, the variable characterizing the probability distribution. This hyperplier code u t is the vector used to properly model the conditioned probability of the tile latent variable z t at time t conditioned on the tile latent variable z t−1 at time t − 1. .
ハイパープライアコードutの確率分布P(ut)は、ベクトルの各要素の確率分布P(utj)の積としてモデル化されると仮定してもよい。ここで、jは、utの次元を表す。要素の確率分布P(utj)は、例えば、正規分布と仮定してもよい。ハイパープライアコードutを出力する第2モデルM2の構成は、限定されない一例として、フレーム画像It、It-1それぞれを潜在変数にエンコードする画像エンコーダと、フレーム画像It、It-1の2つの潜在変数からハイパープライアコードutを推定するハイパープライアエンコーダと、を含む構成が考えられる。ハイパープライアエンコーダは、残差ブロックと、畳み込みレイヤを含むニューラルねとワークと、を備えてもよい。なお、残差ブロックは、例えば、3 × 3の畳み込みレイヤ、Leaky ReLU、3 × 3の畳み込みレイヤをつなげた1つのシーケンスのブロックであってもよい。 It may be assumed that the probability distribution P(u t ) of the hyperplier code u t is modeled as the product of the probability distributions P(u tj ) of each element of the vector. where j represents the dimension of u t . The element probability distribution P(u tj ) may, for example, be assumed to be normally distributed. As a non-limiting example, the configuration of the second model M2 that outputs the hyperpliance code u t includes an image encoder that encodes each of the frame images I t and I t-1 into latent variables, and an image encoder that encodes the frame images I t and I t-1 and a hyperprior encoder that estimates the hyperprior code u t from the two latent variables of . A hyperprior encoder may comprise a residual block and a neural network that includes convolutional layers. Note that the residual block may be, for example, a block of one sequence that concatenates a 3×3 convolutional layer, a Leaky ReLU, and a 3×3 convolutional layer.
確率分布取得部112は、特徴量取得部108が取得したそれぞれのタイルTt-1の潜在変数zt-1と、ハイパープライア取得部110が取得したハイパープライアコードutとから、現時刻におけるタイルTtの潜在変数ztの確率分布P(zt | zt-1, ut)を推定する。確率分布取得部112は、離散値又は連続値として確率分布Pを出力することができる。
Probability
離散値で出力する場合、確率分布取得部112は、前フレームにおけるタイルTt-1(m, n)と、前時刻の分布から現時刻の分布を特徴付けるハイパープライアutとを訓練済みの第3モデルM3に入力し、現時刻におけるあるタイルTt(m, n)の潜在変数zt(m, n)の確率分布P(ek | zt-1(m, n), ut), k ∈ {1, K}を取得する。
When outputting discrete values, the probability
第3モデルM3は、例えば、出力層においてK個の出力ノードを有し、各ベクトルekに対する確率分布P(ek | zt-1(m, n), ut)を出力層のノードから出力する。換言すると、第3モデルM3の出力層のノードからは、ベクトルekのソフトマックス関数の出力、すなわち、ベクトルekの出力確率が出力される。確率分布取得部112は、これらのK個の確率分布をzt-1(m, n)を事前確率とするzt(m, n)の確率分布P(ek | zt-1, ut), k ∈ {1, K}として取得する。
The third model M3 has, for example, K output nodes in the output layer, and the probability distribution P( ek | z t-1 (m, n), u t ) for each vector e k is expressed as Output from In other words, the output of the softmax function of the vector e k , that is, the output probability of the vector e k is output from the nodes of the output layer of the third model M3. Probability
確率分布取得部112は、例えば、先頭のタイルT(0, 0)について、zt(0, 0)におけるベクトルekの分布であるP(ek | zt-1(0, 0), ut)を取得する。この他にも、0 < m0 < M - 1, 0 < n0 < N - 1である所定のm0, n0の位置のタイルにおける確率分布P(ek | zt-1(m0, n0), ut)を取得してもよい。さらに別の例として、エンコード及びデコードに十分な時間が確保できるのであれば、複数のタイルから確率分布を取得し、この確率分布の平均等の統計値として、確率分布Pを取得してもよい。
For example, probability
連続値で出力する場合、確率分布取得部112は、例えば、第3モデルM3を介して混合ガウス分布のパラメータ(重みw、平均u、分散σ)を取得し、確率分布P(zt | zt-1, ut)をこれらのパラメータに基づいて計算する。
When outputting as continuous values, the probability
符号化部114は、特徴量取得部108が出力した潜在変数z及び確率分布取得部112が取得した確率分布Pに基づいて、フレーム画像Itについて、バイナリ列に符号化されたコードを取得する。符号化部114は、確率分布取得部112が取得したベクトルekの出現する確率分布Pに基づいて、特徴量取得部108が取得したタイルTt(m, n)の潜在変数z(m, n) (m ∈ {0, M - 1}, n ∈ {0, N - 1})をエントロピー符号(コード)に変換し、エントロピー符号Ctを取得する。
The
用いる符号化方法は、ハフマン符号、算術符号、レンジコーダ等の任意のエントロピー符号化方法であってもよい。1種類の記述に対する符号が確実に平均1ビットを超える変換をするハフマン符号ではなく、より圧縮効率が高い算術符号、レンジコーダ等を用いることが圧縮率の観点から望ましい。 The coding method used may be any entropy coding method such as Huffman coding, arithmetic coding, range coders, or the like. From the viewpoint of compression rate, it is desirable to use arithmetic codes, range coders, and the like, which have higher compression efficiency, than Huffman codes, which reliably convert one type of description to more than 1 bit on average.
例えば、算術符号を用いる場合、符号化部114は、複数のタイルそれぞれから得られる潜在変数(すなわち潜在変数列)を符号化でき、任意の所定数タイルごとに符号化をしてもよい。例えば、レンジコーダを用いる場合、符号化部114は、任意の所定数タイルごとに、レンジをリセットしてもよいし、レンジが所定値よりも小さくなったタイミングでレンジをリセットしてもよい。これらの符号化の単位、又は、レンジの変更等のエントロピー符号化に関するパラメータの変更は、圧縮装置1と、後述する復元装置において同じように定義されていれば、どのようなタイミングとしてもよい。
For example, when using arithmetic coding, the
圧縮装置1は、符号化部114が出力した時刻tにおけるベクトルekの確率分布に基づいてエントロピー符号化されたそれぞれのタイルTt(m, n)の潜在変数zt(m, n) (m ∈ {0, M - 1}, n ∈ {0, N - 1})、ハイパープライアコードut、及び、キーフレームに指定された時刻tにおけるタイルTtの潜在変数ztを圧縮したデータとして生成する。
The
キーフレームは、基準となるフレームであり、例えば、最初のフレームをキーフレームとし、所定数のフレームごとにキーフレームを設定してもよい。また、動画のシーンの変化を検知するシーン検知部をさらに備え、シーンの変化を検知したタイミングでキーフレームを設定してもよい。 A key frame is a reference frame. For example, the first frame may be set as a key frame, and a key frame may be set every predetermined number of frames. Also, a scene detection unit that detects a change in the scene of the moving image may be further provided, and a key frame may be set at the timing when the change in the scene is detected.
また、符号化の別の例として、タイルごとに確率分布Pを取得し、この確率分布Pに基づいて、符号化部114がタイルごとにレンジコーダ等における変数の存在する範囲を決定し、最終的にエントロピー符号Ctを出力してもよい。例えば、確率分布取得部112は、時刻t - 1の同じ位置のタイルの潜在変数から、時刻tのタイルの潜在変数の確率分布Pを取得し、この確率分布Pにしたがって、エントロピー符号化を実行する。
As another example of encoding, a probability distribution P is obtained for each tile, and based on this probability distribution P, the
より具体的には、確率分布取得部112は、タイルTt(0, 0)のベクトルekの確率分布P(ek | zt-1(0, 0), ut), k ∈ {1, K}を、ハイパープライアコードutと、1時刻前のタイルTt-1(0, 0)の潜在変数から、第3モデルM3を用いて取得する。同様に、確率分布取得部112は、タイルTt(1, 0)、・・・、Tt(M - 1, 0)、・・・、Tt(M - 1, N - 1)のそれぞれについて、ベクトルekの確率分布P(ek | zt-1(m, n), ut)を推定し、符号化部114は、これらのタイルTごとに推定された確率分布Pを用いてタイルTごとの潜在変数zを符号化する。
More specifically, probability
このように符号化することで、タイルごとに1単位時刻前の潜在変数により条件付けられる処理対象時刻の潜在変数の確率分布にしたがう符号化をすることができるので、時系列に並んでいるフレームにおいて潜在変数の変化が予測できるタイルが多い場合には、より圧縮率を高めることが可能となる。 By encoding in this way, it is possible to perform encoding according to the probability distribution of the latent variables at the time to be processed that are conditioned by the latent variables one unit time earlier for each tile. If there are many tiles for which changes in latent variables can be predicted, it is possible to further increase the compression rate.
また、さらに別の例として、フレーム画像Itを所定数ごとのタイルに分割し、この分割したタイル群ごとに代表タイルを決定し、この代表タイルについてハイパープライアコードを用いることでベクトルekの確率分布を取得してもよい。例えば、フレーム画像Itを上下、又は、左右に2分割したタイル群にそれぞれ1つずつ代表タイルを定義して確率分布を求めてもよい。さらに、上下左右2分割した4つのタイル群としてもよいし、他のタイル群の分け方をしてもよい。 As still another example, the frame image I t is divided into a predetermined number of tiles, a representative tile is determined for each divided tile group, and a hyperprior code is used for this representative tile to generate the vector e k . A probability distribution may be obtained. For example, the probability distribution may be obtained by defining one representative tile for each tile group obtained by dividing the frame image I t vertically or horizontally. Further, the tile group may be divided into four tile groups, vertically and horizontally, or another tile group may be divided.
これらの確率分布の求め方は、圧縮装置1と復元装置において共通したものとして定義される。圧縮装置1におけるデータ圧縮の際には、確率分布を求める基準となるタイルの粒度を細かくするほど符号化における圧縮効率を向上することができる一方で、復元装置における計算コストが増大する。このため、復元における計算コストを考慮に入れてユーザは、圧縮モードを選択し、圧縮装置1は、ユーザが指定したモードにしたがって、ベクトルekの確率分布の求め方を変化させてもよい。
Methods for obtaining these probability distributions are defined as those common to the
圧縮装置1は、これらのデータの他、復号に必要となるパラメータ等を合わせて出力してもよい。例えば、ベクトルekの値、各ニューラルネットワークモデルのパラメータ等を適宜圧縮して、動画データに付与してもよい。これらは、ユーザが圧縮データの圧縮モードとして選択できるものであってもよい。例えば、圧縮装置1は、データ圧縮の際に、あらかじめ設定されているパラメータ、ベクトル等を用いて圧縮をしてもよい。あらかじめ設定されているモードが上述したように複数であってもよい。
In addition to these data, the
別の例として、圧縮装置1は、データ圧縮の際に、パラメータ、ベクトル等を簡易な訓練をすることにより最適化して動画の復元の精度を高めるモードを有していてもよい。ユーザが、これらのモードを望むように切り替えて、このモードに基づいて、圧縮装置1は、適切に処理を実現するものであってもよい。後者の場合には、上述したように、パラメータ、ベクトル等を変数として動画の圧縮データに付与しておき、後述する復元装置において、これらのパラメータ等を展開することで動画の復元処理を実行してもよい。
As another example, the
図2は、圧縮装置1の処理を示すフローチャートである。
まず、圧縮装置1は、入力部100を介して、圧縮の対象となるデータ(ここでは動画データで説明する)の入力を受け付ける(S100)。動画データは、記憶部102に記憶されてもよい。なお、動画データの形式は特に問わない。例えば、動画データは、適切にフレームごとの画像が取得できる形式であればよい。圧縮装置1は、時刻ごとにフレームに画像Iを抽出して、動画の圧縮を実行する。
FIG. 2 is a flow chart showing the processing of the
First, the
分割部106は、処理対象となる時刻tにおけるフレーム画像It、及び、1単位時刻前のフレーム画像It-1を、所定サイズのタイルTに分割する(S102)。
The dividing
図3は、一実施形態に係る分割部106におけるフレーム画像ItのタイルTtへの分割の様子を模式的に示す図である。
この図に示すように、フレーム画像Itは、所定サイズごとにM × N個のタイルTtに分割される。インデクスが付与されているが、このインデクスの付与は一例であり、この付与に限定されるものではない。分割部106は、時刻tと同様に、時刻t - 1におけるフレーム画像It-1もタイルTt-1に分割する。なお、分割部106は、タイル同士が重複しないようにフレーム画像を分割してもよいし、タイル同士が部分的に重複するようにフレーム画像を分割してもよい。
FIG. 3 is a diagram schematically showing how a frame image I t is divided into tiles T t by the dividing
As shown in this figure, the frame image I t is divided into M×N tiles T t for each predetermined size. Although indexes are assigned, this index assignment is an example and is not limited to this assignment. The dividing
分割は、図示するように明示的に分割してそれぞれに記憶部102に記憶させるのではなく、分割した領域に対する配列のインデクスをそれぞれのタイルの情報として格納する構成であってもよいし、潜在変数を取得する際にインデクスを計算して第1モデルM1に入力する配列の要素を取得する構成であってもよい。
Instead of explicitly dividing and storing each area in the
分割部106は、画像の境界の領域において、端数がある場合には、例えば、画像領域外を適切な値でパディングして所定サイズのタイルとしてもよい。例えば、所定サイズを32 × 32画素とする場合に、1920 × 1080画素の動画をタイルに分割する場合には、縦方向における最後のタイルを32 × 24画素の画像データと、ゼロパディングした32 × 8画素のデータとを結合してタイルとしてもよい。端数が出る場合の処理は、これに限定されるものではなく、任意の適切な手法を採用することができる。
If there is a fraction in the boundary area of the image, the dividing
また、逆に、所定タイル数となるようにタイルの大きさを決定してもよい。例えば、フルHD(1920 × 1080)の大きさの画像を、128 × 108のタイルに分割する、としてもよい。この場合、タイルの大きさは、15 × 10画素となる。 Conversely, the size of the tiles may be determined so that the number of tiles is the predetermined number. For example, an image with a size of full HD (1920×1080) may be divided into 128×108 tiles. In this case, the tile size is 15×10 pixels.
タイル同士が画素を重複することを許容する場合には、上記のそれぞれの場合において、重複する画素分のマージンをとり、このマージン内の画素をタイルが共有する形態としてもよい。 If the tiles are allowed to overlap pixels, in each of the above cases, a margin for the overlapping pixels may be provided, and the tiles may share the pixels within this margin.
分割部106は、このように、所定サイズのタイルにフレーム画像を分割してもよいし、所定数のタイルとなるようにフレーム画像を分割してもよい。所定サイズ又は所定数は、圧縮率又は復元精度により決定されるものであってもよい。この決定は、あらかじめ情報処理装置で行ってもよいし、ユーザがデータの圧縮のタイミングで行うものであってもよい。このような付加的な情報は、例えば、圧縮ファイルのヘッダ情報として格納され、復元の際には、このヘッダ情報を参照して適切に処理が実現されてもよい。
The dividing
図2に戻り、次に、特徴量取得部108は、時刻t及び時刻t - 1のタイルTt、Tt-1の潜在変数を取得する(S104)。特徴量取得部108は、例えば、タイルごとに画素の色情報を第1モデルM1に入力することで、タイルごとの潜在変数を取得する。上述したように、潜在変数は、連続値であってもよいし、離散的に与えられた潜在空間内の1点を示す座標値として出力されてもよい。特徴量取得部108は、例えば、第1モデルM1から出力されたベクトルekの選択確率πkを取得し、最大のπとなるベクトルeを潜在変数として取得する。
Returning to FIG. 2, next, the feature
なお、処理対象フレームがキーフレームである場合には、1単位時間前の時刻t - 1のフレーム画像に対するS102、S104の処理を省略してもよい。 Note that when the frame to be processed is a key frame, the processing of S102 and S104 for the frame image at time t - 1 one unit time earlier may be omitted.
図4は、潜在変数が離散的なテンソル(ベクトルek)で表される場合における、一実施形態に係る潜在変数のインデクスの一例を模式的に示す図である。
特徴量取得部108は、この図4に示すように、タイルごとにSoftmax関数により出力されたベクトルekのインデクスを出力してもよい。例えば、タイルTt(0, 0)の潜在変数zt(0, 0)は、e7037であり、Tt(1, 0)の潜在変数zt(1, 0)は、e6898である。この潜在変数は、タイルごとの色の値を特徴付ける量である。例えば、K = 8192であり、この場合、潜在変数として選択される可能性がある埋め込みベクトルは、8192種類である。
FIG. 4 is a diagram schematically showing an example of indices of latent variables according to one embodiment when the latent variables are represented by discrete tensors (vectors e k ).
The feature
図2に戻り、次に、圧縮装置1は、処理中のフレームがキーフレームであるか否かを判定する(S106)。
Returning to FIG. 2, next, the
キーフレームである場合(S106: YES)、フレーム番号に相当する情報、キーフレームであることのフラグ、及び、タイルTの潜在変数zを記憶部102に格納して(S108)、次のフレームの処理へと移行する。潜在変数zは、可逆圧縮されていない状態で記憶部102に格納されても、可逆圧縮された状態で記憶部102に格納されてもよい。フレーム番号に相当する情報は、例えば、動画の最初のフレームから最後のフレームに一意的に付与されるシーケンシャルな番号であってもよいし、これに準ずる情報であってもよい。
If it is a key frame (S106: YES), information corresponding to the frame number, a flag indicating that it is a key frame, and the latent variable z of tile T are stored in storage unit 102 (S108), and Move on to processing. The latent variable z may be stored in the
上述したように、キーフレームは、例えば、所定数のフレームごとに設定されるものであってもよいし、シーン検出等の処理により設定されるものであってもよい。また、動画の最初のフレームは、キーフレームとして判定して処理を実行してもよい。 As described above, a key frame may be set for each predetermined number of frames, or may be set by processing such as scene detection. Also, the first frame of the moving image may be determined as a key frame and processed.
キーフレームではない場合(S106: NO)、S110からの処理が実行される。 If it is not a keyframe (S106: NO), the processing from S110 is executed.
まず、ハイパープライア取得部110は、フレーム画像It、It-1を第2モデルM2に入力して、時刻tと時刻t - 1との間のハイパープライアコードutを取得する(S110)。
First, the hyper-
次に、確率分布取得部112は、ハイパープライアコードutと、時刻t - 1におけるタイルTt-1の潜在変数ztとを第3モデルM3に入力し、ベクトルekの確率分布を推定して取得する(S112)。
Next, the probability
次に、符号化部114は、確率分布取得部112が取得した確率分布に基づいた範囲にしたがって、S104で取得されたタイルTtの潜在変数ztを符号化してエントロピー符号Ctを取得する(S114)。なお、複数の潜在変数(すなわち潜在変数列)に対して1つのエントロピー符号Ctを割り当てるか、1つの潜在変数に対して1つのエントロピー符号Ctを割り当てるか、はエントロピー符号化の種類による。
Next, the
図5は、一実施形態に係る符号化における確率分布に対する変数の範囲を示す図である。
左端に示すベクトルに対して、確率分布取得部112が取得した確率が真ん中の列に示すように推定されたとする。この場合、符号化部114は、この確率分布にしたがって、符号化する変数に対応する数値の範囲を右列に示すように定義する。符号化部114は、この範囲に基づいて、特徴量取得部108が取得したタイルごとの潜在変数として選択された1又は複数のeのインデクスを符号化してエントロピー符号Cを取得する。
FIG. 5 is a diagram showing ranges of variables for probability distributions in encoding according to an embodiment.
Assume that the probabilities acquired by the probability
この範囲は、前フレーム画像It-1と、現フレーム画像Itとの関係により推論されている確率分布にしたがう。それぞれのタイルにおける時刻tのタイル画像は、事前確率であるハイパーパラメータにより推論されるが、このハイパーパラメータは、ハイパープライアコードutにより推論することができる。例えば、前フレームから現フレームにどのような変化が起こったかを特徴付ける(条件付ける)データがハイパープライアコードutに包含されている。 This range follows the probability distribution inferred from the relationship between the previous frame image I t-1 and the current frame image I t . The tile image at time t in each tile is inferred by the prior probability hyperparameter, which can be inferred by the hyperprior code u t . For example, data characterizing (conditioning) what has changed from the previous frame to the current frame is included in the hyperpliance code u t .
このことから、各タイルにおいて、前のフレーム画像におけるタイルからどのような変化をする可能性が高いかをこのハイパープライアコードutを用いることで推論することができる。このため、このハイパープライアコードutを用いて推論されるベクトルekの確率分布を用いることで、適切な符号化に用いる範囲を設定することが可能となり、潜在変数をレンジコーダ等のエントロピー符号化を用いる場合に、圧縮効率を高めることが可能となる。 From this, it is possible to infer how each tile is likely to change from the tile in the previous frame image by using this hyperpliance code ut . Therefore, by using the probability distribution of the vector e k inferred using this hyperplier code u t , it becomes possible to set the range used for appropriate coding, and the latent variable can be converted into an entropy code such as a range coder. It is possible to increase the compression efficiency when using
第3モデルM3の出力は、例えば、Softmax関数によるものであるが、Softmax関数を用いることで、確率分布が略0となるベクトルが発生することがある。このような場合、少なくとも範囲内における1ビットをそれぞれのベクトルに割り当てるように設定してもよい。このように設定することでデータの欠損を回避することができる。 The output of the third model M3 is based on, for example, the Softmax function, and the use of the Softmax function may generate a vector with a probability distribution of approximately 0. In such cases, at least one bit in the range may be set to be assigned to each vector. By setting in this way, loss of data can be avoided.
図2に戻り、次に、圧縮装置1は、キーフレームではないフレームにおけるフレーム画像Itについて圧縮したデータを記憶部102に格納する(S116)。圧縮装置1は、キーフレームではないフレームにおいては、フレーム番号に相当する情報、ハイパープライアコードut及び符号化された潜在変数のエントロピー符号Ctを少なくとも格納する。また、必要であれば、確率分布を推定する際に用いたタイルの位置情報等の他の情報を合わせて格納する。また、この他に、キーフレームではないことを示すフラグが格納されてもよい。
Returning to FIG. 2, next, the
圧縮装置1は、全てのフレームについて処理が終了したか否かを判定し(S118)、まだフレームが残っている場合(S118: NO)には、S102からの処理を続行し、全てのフレームについて処理が終了している場合(S118: YES)には、処理を終了する。
The
圧縮装置1は、以上のように、キーフレームにおいて、フレーム画像のタイルごとの潜在変数を離散化された埋め込みベクトルとして表して、それを圧縮データとし、キーフレーム以外において、フレーム画像のタイルごとの潜在変数を埋め込みベクトルの確率分布を用いてエントロピー符号化して表して、それを圧縮データとする。
As described above, the
(データ復元)
次に、上記の圧縮装置1で圧縮された動画データの復元について説明する。以下に説明する復元装置においては、原則的に圧縮装置1における各構成要素と同様の処理、又は、逆の処理を実行することにより動画データの復元を実行する。すなわち、モデルに入力するデータ等は、原則的に圧縮装置1と同様のデータである。
(data recovery)
Next, restoration of moving image data compressed by the
例えば、圧縮装置1において複数のモードをユーザが指定することができる場合には、圧縮に用いたモードによるモデルへのデータの入力と同じ処理により、復元処理を実行する。より具体的な例では、圧縮装置1における埋め込みベクトルの確率分布の算出手法と、以下に説明する復元装置における埋め込みベクトルの確率分布の算出手法におけるタイルの選択方法は、同じ方法を用いる。これらの処理の分岐に関する情報は、圧縮データのヘッダ等に付与されてるデータであってもよい。
For example, if the user can specify a plurality of modes in the
図6は、一実施形態に係るデータ復元装置の構成の一例を示す図である。
復元装置2は、入力部200と、記憶部202と、出力部204と、確率分布取得部206と、復号部208と、色情報取得部210と、を備える。復元装置2は、いくつかの訓練済みモデルを用いて、圧縮した動画のデータを復元して出力する装置である。訓練済みモデルの動作については、訓練装置についての説明において詳しく説明し、復元装置2の説明においては、入出力データについて記載する。
FIG. 6 is a diagram showing an example of the configuration of a data restoration device according to one embodiment.
The restoration device 2 includes an
入力部200は、入力インタフェースを備える。復元装置2は、この入力部200を介してデータ、例えば、復元対象である圧縮動画データの入力を受け付ける。
The
記憶部202は、復元装置2の動作に用いるモデルのパラメータ等のデータ、データ復元の対象となるデータ及び中間で入出力されるデータ等必要なデータを格納する。以下の説明において、各構成要素が処理したデータは、適切なタイミングにおいて記憶部202に格納されてもよい。格納されたデータは、適切なタイミングにおいて、利用する構成要素により読み出して用いられる。
The
出力部204は、復元された動画データを出力する。例えば、出力部204は、出力インタフェースとしてディスプレイを備えていてもよく、復元装置2において復元された動画データをディスプレイに表示可能なフォーマットに変換して表示させてもよい。また、出力部204は、動画の表示に合わせて音声データを出力してもよく、この場合、スピーカ等の出力インタフェースを備えていてもよい。
The
確率分布取得部206は、タイルTの潜在変数zと、ハイパープライアコードuとを訓練済みの第3モデルM3に入力し、タイルTの潜在変数zの確率分布Pを推定する。確率分布取得部206は、離散値又は連続値として確率分布Pを出力することができる。復元装置2における第3モデルM3は、動画データの圧縮に用いた圧縮装置1における第3モデルM3と共通するモデルである。動作については、圧縮装置1の確率分布取得部112と同様であるため、詳細な説明は省略する。
The probability
復号部208は、確率分布取得部206が取得したベクトルekの確率分布Pに基づいて、符号化された潜在変数のエントロピー符号Cを復号する。復号部208は、エントロピー符号Cを復号することで、1又は複数のタイルTの潜在変数zを取得する。
The
色情報取得部210は、タイルTごとの潜在変数zに基づいて、タイルTに含まれる画素の色値Fを取得する。色情報取得部210は、潜在変数zを訓練済みの第4モデルM4に入力し、タイルT内の画素(x, y)の色値を推論する。色値Fは、例えば、[0, 255]の整数値を3原色のそれぞれについて有する量であってもよい。この他、[0, 1]の連続値で示される値であってもよく、出力時に、出力部204において適切にこれらの値が変換されて表示されるものであってもよい。
The color
第4モデルM4の形成には、いくつかの種類が考えられる。第4モデルM4は、例えば、タイルのサイズとタイルの潜在変数zを入力すると、タイルT内の全ての画素の色値を復元して出力するモデルとして形成されてもよい。より具体的には、第4モデルM4は、潜在変数zが入力されると変調情報αを出力する第1MLPと、座標情報pと変調情報αとが入力されて色値F(p, α(z))を出力する第2MLPと、を備える構成であってもよい。また、例えば、潜在変数zと位置pとを連結(concatenate)したベクトルが入力され、色値F(p, z)を出力するMLPを備えるモデルであってもよい。 Several types of formation of the fourth model M4 are conceivable. The fourth model M4 may be formed, for example, as a model that, given the size of the tile and the latent variable z of the tile, restores and outputs the color values of all the pixels in the tile T. More specifically, the fourth model M4 receives the first MLP that outputs the modulation information α when the latent variable z is input, and the color value F(p, α( and a second MLP that outputs z)). Alternatively, for example, a model including an MLP that receives a vector obtained by concatenating a latent variable z and a position p and outputs a color value F(p, z) may be used.
第1MLPと第2MLPを備える場合には、第1MLPは、次元数Dの潜在変数zが入力される入力層と、NL個の隠れ層h’と、出力層と、を備える。第2MLPは、位置pが入力される入力層と、NL個の隠れ層hと、色値cを出力する出力層と、を備える。第1MLPの活性化関数には、例えば、ReLUctantlyが用いられてもよく、第1MLPの入力層は、隠れ層の1層目にh’0を出力し、隠れ層の第i + 1層目は、次の層にh’i+1を出力する。また、この隠れ層の第i + 1層目は、出力h’i+1を、第2MLPの活性化関数の活性を変調するための変調情報αi+1として第2MLPの隠れ層の第i + 1層目に出力する。 When the first MLP and the second MLP are provided, the first MLP includes an input layer to which the latent variable z of the number of dimensions D is input, NL hidden layers h', and an output layer. The second MLP comprises an input layer to which position p is input, NL hidden layers h, and an output layer to output color value c. For example, ReLUctantly may be used as the activation function of the first MLP, and the input layer of the first MLP outputs h'0 to the first hidden layer, and the i + 1th hidden layer is , output h' i+1 to the next layer. In addition, the i+1-th hidden layer uses the output h′ i+1 as the modulation information α i+1 for modulating the activity of the activation function of the second MLP to the i-th hidden layer of the second MLP. + Output to the 1st layer.
第2MLPの入力層は、入力された位置pを隠れそうの第1層目にh0として出力し、第2MLPの隠れ層の第i + 1層目は、第1MLPから入力されたαi+1により活性化関数の活性を変調し、次の層にhi+1を出力する。出力層は、隠れ層の最後の層からの出力hを受けて、潜在変数zを持つタイル画像中の座標(x, y)における画素の色値F(p, z)を算出する。第2MLPの活性化関数には、周期的非線形関数、例えば、正弦関数が用いられる。 The input layer of the 2nd MLP outputs the input position p as h 0 to the 1st layer of the hidden layer, and the i + 1th layer of the hidden layer of the 2nd MLP outputs α i+ input from the 1st MLP Modulate the activity of the activation function by 1 and output h i+1 to the next layer. The output layer receives the output h from the last hidden layer and calculates the color value F(p, z) of the pixel at coordinates (x, y) in the tile image with latent variable z. A periodic nonlinear function such as a sine function is used for the activation function of the second MLP.
なお、第1MLPに係る出力h’0、h’i+1、αi+1、第2MLPに係る出力hi+1は、次のように定義されてもよい。
また、別の例として、第4モデルM4は、潜在変数ztとともに、色値を復元する画素のタイル内における位置を入力する形態であってもよい。この場合、タイルTt内の画素位置p(例えば、タイルTにおける座標)を指定することで、この画素における色値F(p, z)を復元することができる。タイルTt内の全ての画素について色値F(p, z)を復元することで、タイルTtの画像を復元することができる。 As another example, the fourth model M4 may be in the form of inputting the position in the tile of the pixel whose color value is to be restored together with the latent variable zt . In this case, by specifying a pixel position p in tile T t (eg, coordinates in tile T), the color value F(p, z) at this pixel can be restored. By restoring the color values F(p,z) for all pixels in the tile Tt , the image of the tile Tt can be restored.
上記のように画素位置pを入力する場合、第4モデルM4は、タイルの大きさを入力層で受け付ける形態としてもよいし、例えば、横方向縦方向ともに0から1の連続値で位置pの入力を受け付ける形態としてもよい。いずれの場合においても、圧縮を行った場合よりも高解像度の画像として出力することも可能である。例えば、タイルの大きさを入力層で受け付ける形態の場合には、小数値を位置pとして入力することで、圧縮を行ったタイルTの画素と画素の間の色値F(p, z)を推論することが可能である。 When the pixel position p is input as described above, the fourth model M4 may accept the size of the tile in the input layer. It may be configured to accept input. In either case, it is also possible to output an image with a higher resolution than when compression is performed. For example, if the tile size is accepted by the input layer, by inputting a decimal value as the position p, the color value F(p, z) between the pixels of the compressed tile T is It is possible to infer
0から1の連続値で入力する場合には、任意の値を入力することで、任意の位置pの色値F(p, z)を推論することが可能である。例えば、タイルの大きさが16 × 16である場合に、元のサイズと同じタイル画像を取得するためには、x, y ∈ {0, 1 / 15, 2 / 15, …, 1}の位置pを入力することで色値F(p, z)を復元することができる。これに対して、同じ潜在変数を用いて、x, y ∈ {0, 1 / 31, 2 / 31, …, 1}を位置pとして入力することで32 × 32の大きさのタイルにおける画素の色値F(p, z)を推論することが可能である。
When inputting a continuous value from 0 to 1, it is possible to infer the color value F(p, z) at an arbitrary position p by inputting an arbitrary value. For example, if the tile size is 16 × 16, to get a tile image with the same size as the original, set x, y ∈ {0, 1/15, 2/15, …, 1} You can restore the color value F(p, z) by inputting p. In contrast, using the same latent variables, we can find the number of pixels in a tile of
色情報取得部210は、タイルT(m, n)の復元画像を推論する場合に、潜在変数z(m, n)だけではなく、周囲の8連結のタイルの潜在変数z(m - 1, n - 1)、z(m, n - 1)、z(m + 1, n - 1)、z(m - 1, n)、z(m + 1, n)、z(m - 1, n + 1)、z(m, n + 1)、z(m + 1, n + 1)の重み付け平均を第4モデルM4に入力してもよい。画像の縁にあたるタイルにおいては、適切に上記の潜在変数を減らして混合割合を変化させてもよい。例えば、潜在変数z(m, n)を、以下の式に基づいて更新して、第4モデルM4に入力してもよい。なお、係数及び重み付け方法は、以下の式に限定されるものではない。
また、別の例として、タイル内の位置p( = (x, y))に基づいて、8連結におけるタイルの潜在変数の混合割合を変化させてもよい。さらに別の例として、復元装置2において潜在変数の組み合わせについてのテーブルを準備しておき、復元するタイルの潜在変数の組み合わせ、又は、復元するタイルの潜在変数に近い組み合わせについて変換される潜在変数を取得し、この取得した潜在変数に基づいて色値F(p, z)を復元してもよい。 As another example, the mixing ratio of the latent variables of the tile in 8-connection may be changed based on the position p(=(x, y)) within the tile. As yet another example, a table of combinations of latent variables is prepared in the restoration device 2, and latent variables to be transformed for combinations of latent variables of tiles to be restored or combinations close to latent variables of tiles to be restored are determined. and recover the color value F(p,z) based on the obtained latent variables.
復元装置2は、色情報取得部210で取得された色値F(p, z)の情報に基づいてフレーム画像Itを再構成して出力部204から出力(例えば、表示)する。また、復元装置2は、図示しない信号処理部において、出力インタフェースに適切なフォーマットに復元した色値を変換し、出力(表示)させてもよい。上述したように、表示する場合には、音声情報を合わせて出力してもよいし、さらには、振動モジュールを介して振動情報を出力してもよい。
The reconstruction device 2 reconstructs the frame image I t based on the information of the color value F(p, z) acquired by the color
図7は、復元装置2の処理を示すフローチャートである。
まず、復元装置2は、入力部200を介して、復元の対象となる圧縮データの入力を受け付ける(S200)。圧縮データは、記憶部202に記憶されてもよい。復元装置2は、圧縮データからフレームごとにデータを抽出して処理を実行する。
FIG. 7 is a flow chart showing the processing of the restoration device 2. As shown in FIG.
First, the decompression device 2 receives input of compressed data to be decompressed via the input unit 200 (S200). Compressed data may be stored in the
復元装置2は、処理対象となる時刻tのフレームがキーフレームか否かを判定する(S202)。復元装置2は、圧縮データ中のフレームに付与されているキーフレームフラグを参照し、処理対象のフレームがキーフレームであるか否かを判定する。 The restoration device 2 determines whether the frame at time t to be processed is a key frame (S202). The decompression device 2 refers to the key frame flag attached to the frame in the compressed data and determines whether or not the frame to be processed is a key frame.
時刻tのフレームがキーフレームである場合(S202: YES)、圧縮データからフレーム画像ItのタイルTtの潜在変数ztを抽出し、この潜在変数ztを用いて、色情報取得部210がタイルTtのそれぞれの画素の色値を取得してフレーム画像Itを復元する(S208)。なお、潜在変数ztが可逆圧縮されていれば復号されて用いられる。
If the frame at time t is a key frame (S202: YES), the latent variable zt of the tile Tt of the frame image It is extracted from the compressed data, and using this latent variable zt , the color
処理対象となる時刻tのフレームがキーフレームではない場合(S202: NO)、圧縮データには、フレーム画像Itに対応する潜在変数ztが直接含まれないので、復元装置2は、エントロピー符号Cを復号することにより、潜在変数ztを取得する。 If the frame at time t to be processed is not a key frame (S202: NO), the latent variable zt corresponding to the frame image It is not directly included in the compressed data. By decoding C, we obtain the latent variable zt .
この処理のため、確率分布取得部206は、ベクトルekの確率分布を取得する(S204)。確率分布取得部206は、圧縮データから時刻tのフレームに対応するハイパープライアコードutを抽出し、時刻t - 1のフレーム画像It-1の復元に用いた潜在変数zt-1を取得する。この潜在変数zt-1は、例えば、時刻t - 1のフレーム画像It-1を復元するタイミングで取得した値を用いればよい。確率分布取得部206は、ハイパープライアコードutと、潜在変数zt-1を第3モデルM3に入力し、時刻tにおける潜在変数ztに対するベクトルekの確率分布を取得する。この取得される確率分布は、次のステップS206においてエントロピー符号Cの復号に用いられるため、復号対象であるエントロピー符号Cを得る際のエントロピー符号化において用いられたものと同じである。
For this process, the probability
次に、復号部208は、ベクトルekの確率分布に基づいて、エントロピー符号Ctを復号する(S206)。この復号処理により、時刻tにおける各タイルTtの潜在変数ztを取得することができる。1つのエントロピー符号Cが複数のタイル分の潜在変数から得られたものであれば、復号処理は、このエントロピー符号を複数のタイル分の潜在変数に復号する。
Next, decoding
そして、色情報取得部210は、取得した潜在変数ztを用いて、キーフレームではないフレームにおけるフレーム画像Itを復元する(S208)。
Then, the color
すなわち、復元装置2は、キーフレームにおいては、圧縮データに格納されている潜在変数ztを用いてフレーム画像Itを復元する。キーフレーム以外においては、直前のフレーム処理で取得した潜在変数zt-1及び圧縮データに格納されているハイパープライアコードutから取得した現フレームにおけるベクトルekの確率分布に基づいて、圧縮データに格納されているエントロピー符号Ctから潜在変数ztを復号し、この潜在変数ztを用いてフレーム画像Itを復元する。 That is, the restoration device 2 restores the frame image I t using the latent variable z t stored in the compressed data in the key frame. Except for key frames, compressed data is calculated based on the probability distribution of the vector e k in the current frame obtained from the latent variable z t-1 obtained in the immediately preceding frame processing and the hyperprior code u t stored in the compressed data. The latent variable zt is decoded from the entropy code Ct stored in , and the frame image It is restored using this latent variable zt .
このように、復元装置2は、圧縮装置1で圧縮された動画データを適切に復元することができる。
Thus, the decompression device 2 can decompress the moving image data compressed by the
上記の説明においては、復元装置2は、動画の最初のフレームから順番に最後のフレームまでを復元するとしたが、復元装置2の動作は、これに限定されるものではない。例えば、復元装置2は、ユーザの指定等により、動画の途中部分から最後まで、又は、動画の連続した任意のフレームを復元してもよい。ユーザが復元装置2に動画の復元範囲の開始時刻と終了時刻を入力できる構成としてもよい。この場合、復元のスタートとして指定されたフレームから過去フレームに遡り、当該スタートのフレームを含み最初に検出したキーフレームから逐次的にフレーム画像の復元をしてもよい。 In the above description, the restoration device 2 restores sequentially from the first frame to the last frame of the moving image, but the operation of the restoration device 2 is not limited to this. For example, the restoration device 2 may restore from the middle part of the moving image to the end, or any continuous frame of the moving image according to the user's designation or the like. A configuration may be adopted in which the user can input the start time and end time of the restoration range of the moving image to the restoration device 2 . In this case, the frame images may be sequentially restored from the first detected key frame including the start frame by going back to the past frames from the frame designated as the start of restoration.
また、時間的な指定だけではなく、空間的な指定が可能な構成であってもよい。この場合、復元の対象となる範囲に含まれるタイルと、その周辺のタイルであって、復元に必要となるタイルの情報の範囲で、復元装置2は、動画の復元を実行してもよい。 Moreover, the configuration may be such that not only temporal designation but also spatial designation is possible. In this case, the restoration device 2 may restore the moving image within the range of information of the tiles included in the restoration target range and the surrounding tiles that are necessary for restoration.
(モデルの訓練)
次に、圧縮装置1及び復元装置2において使用されるモデルの訓練をする訓練装置について説明する。
(model training)
Next, a training device for training a model used in the
図8は、一実施形態に係るモデル訓練装置の構成の一例を示す図である。
訓練装置3は、入力部300と、記憶部302と、出力部304と、分割部306と、符号化部308と、復号部310と、特徴量取得部312と、ハイパープライア取得部314と、確率分布取得部316と、色情報取得部318と、更新部320と、を備える。訓練装置3は、圧縮装置1又は復元装置2において用いられる第1モデルM1、第2モデルM2、第3モデルM3、又は、第4モデルM4のうち、少なくとも1つのモデルを機械学習手法により訓練する装置である。
FIG. 8 is a diagram showing an example of the configuration of a model training device according to one embodiment.
The
第1モデルM1、第2モデルM2、第3モデルM3、及び、第4モデルM4は、それぞれが適切なニューラルネットワークモデルとして形成されていてもよい。例えば、これらのモデルは、少なくとも1層に畳み込み層を含むCNN(Convolutional Neural Network)により形成されていてもよいし、MLP(Multi-Layer Perceptron)により形成されていてもよいし、これら以外の適切なニューラルネットワークモデルにより形成されていてもよい。 The first model M1, the second model M2, the third model M3, and the fourth model M4 may each be formed as an appropriate neural network model. For example, these models may be formed by a CNN (Convolutional Neural Network) containing at least one convolutional layer, may be formed by an MLP (Multi-Layer Perceptron), or other suitable models. may be formed by a neural network model.
入力部300は、入力インタフェースを備える。訓練装置3は、この入力部300を介してデータ、例えば、モデルを訓練するために必要となる教師データである動画データの入力を受け付ける。
The
記憶部302は、訓練装置3の動作に用いる各種パラメータ、訓練対象であるモデルのパラメータ、訓練における中間データ(例えば、符号化データ、復元データ、潜在変数、確率分布)等の必要なデータを格納する。以下の説明において、各構成要素が処理したデータは、適切なタイミングにおいて記憶部302に格納されてもよい。格納されたデータは、適切なタイミングにおいて、利用する構成要素により読み出して用いられる。
The
出力部304は、訓練により最適化されたモデルのパラメータを出力する。この出力は、記憶部302に格納することを包含する概念であってもよい。すなわち、出力部304は、記憶部302にパラメータを格納することを外部への出力処理と代替してもよい。
The
分割部306は、動画データにおけるフレーム画像Iを所定サイズごとに分割する。この分割部306は、圧縮装置1における分割部106と同様の処理を実行するので詳細については省略する。
A dividing
符号化部308は、特徴量取得部312が出力した潜在変数z及び確率分布取得部316が出力した確率分布Pに基づいて、フレーム画像Itについて、符号化されたコードを取得する。この符号化部308は、圧縮装置1における符号化部114と同様の処理を実行するので詳細については省略する。
The
復号部310は、確率分布取得部316が取得した時刻tにおけるベクトルekの確率ぷん婦Pに基づいて、符号化された潜在変数のエントロピー符号Ctを復号する。この復号部310は、復元装置2における復号部208と同様の処理を実行するので詳細については省略する。
The
特徴量取得部312は、分割部306により分割されたタイルTから、タイルTの潜在変数(特徴量)を取得する。特徴量取得部108は、タイルTを訓練対象となる第1モデルM1に入力し、タイルTの潜在変数zを取得する。
The feature
特徴量取得部312は、圧縮装置1における特徴量取得部108とは異なる構成を有していてもよい。特徴量取得部312は、第1モデルM1に分割部306が分割したタイルTを入力し、ベクトルekの選択確率を取得する。特徴量取得部312は、限定されない一例として、第1モデルM1の出力した確率に基づいて、Gumbel Softmaxの手法を用いて潜在変数を取得する。例えば、特徴量取得部312は、以下の式に基づいて、タイルTに対する潜在変数zを取得する。
Uniform(0, 1)は、[0, 1]の一様乱数、すなわち、uは、[0, 1]の一様乱数により取得される値、gは、一様乱数により与えられるノイズ値、gkは、kごとに式(3)にしたがって取得されるノイズ値、one_hot()は、ワンホットベクトルを生成する関数、πkは、第1モデルM1から出力されるekの確率である。式(7)に示すように、πに対してノイズを与えてこの確率に基づいてワンホットベクトルを生成し、このワンホットベクトルに対応するベクトルeを取得して潜在変数とする。 Uniform(0, 1) is a uniform random number in [0, 1], i.e. u is the value obtained by the uniform random number in [0, 1], g is the noise value given by the uniform random number, g k is the noise value obtained according to equation (3) for each k, one_hot() is the function generating the one-hot vector, π k is the probability of e k output from the first model M1 . As shown in Equation (7), noise is given to π to generate a one-hot vector based on this probability, and a vector e corresponding to this one-hot vector is obtained and used as a latent variable.
特徴量取得部312は、式(7)の代わりに、以下の式を用いてもよい。
式(8)の形態を用いることで、訓練の処理において、argmax()を経由することなく逆伝播処理を実行、すなわち、第1モデルM1の勾配情報を取得することが可能となる。Gumbel Softmax分布を用いることで、上記のように、最大の確率を有する離散変数以外の離散変数もサンプリングすることで勾配推定を可能にしつつ、徐々にノイズを小さくしていくことによりSoftmax関数により確率を推定し、最大確率をとる離散変数を選択した場合と一致した結果を取得することが可能となる。 By using the form of formula (8), in the training process, it is possible to execute backpropagation without going through argmax( ), that is, to acquire the gradient information of the first model M1. By using the Gumbel Softmax distribution, as described above, it is possible to estimate the gradient by sampling discrete variables other than the discrete variable with the maximum probability, and gradually reduce the noise to reduce the probability using the Softmax function. and obtain a result consistent with the case of choosing the discrete variable that takes the maximum probability.
ハイパープライア取得部314は、時刻t - 1のフレーム画像It-1に関する確率分布を事前分布とし、時刻tのフレーム画像Itに関する事後確率を事後分布とした、事前分布の超事前分布を取得する。ハイパープライア取得部314の処理は、圧縮装置1のハイパープライア取得部110と同様の処理であるので詳細な説明は省略する。
The hyper
確率分布取得部316は、特徴量取得部312が取得したタイルTの潜在変数zと、ハイパープライア取得部314が取得したハイパープライアコードuとから、時刻tにおけるタイルTtの潜在変数ztの確率分布Pを推定する。確率分布取得部316の処理は、圧縮装置1の確率分布取得部112と同様の処理であるので詳細な説明は省略する。
The probability distribution acquisition unit 316 obtains the latent variable z t of the tile T t at the time t from the latent variable z of the tile T acquired by the
色情報取得部318は、それぞれのタイルTにおいて、複数の画素をサンプリングし、当該サンプリングされた画素の座標値(位置p)と、タイルの潜在変数zとに基づいてサンプリングされた画素の色値Fを取得する。タイル内の全ての画素をサンプリングしてもよい。色情報取得部318の処理は、復元装置2の色情報取得部210と略同様であるので、詳細な説明は省略する。
The color
更新部320は、色情報取得部318が出力した色値と、入力された動画データの色値と、を比較して誤差を算出し、当該誤差を逆伝播することにより、それぞれのモデルのパラメータを更新する。さらに、圧縮率を高める訓練をするために、圧縮率、すなわち、エントロピー符号Cの生成に関する指標を誤差として考慮してもよい。例えば、時刻tにおけるフレーム画像Itについて、目的関数を以下のように定義する。
ここで、Ltは、フレーム画像Itの再構成誤差に対応する評価であり、以下の式で表されてもよい。
また、Rtは、フレーム画像Itの圧縮率に対応する評価であり、以下の式で表されてもよい。
更新部320は、限定されない一例として式(11)により目的関数を算出し、この目的関数を小さくするように、各モデルのパラメータを更新する。この更新には、誤差逆伝播を用いることができる。第1モデルM1の逆伝播においては、上述したようにargmaxを用いるのではなく、Gumbel Softmaxを用いることで、適切に勾配情報を取得することができる。
As a non-limiting example, the updating
図9は、訓練装置3の処理の一例を示すフローチャートである。
訓練装置3は、まず、入力部300を介して訓練データ(動画データ)を取得する(S300)。この動画データは、少なくとも連続した2時刻のフレーム画像が含まれる動画であればよい。精度の高い訓練をするために、多くのフレーム画像が含まれる動画であってもよい。
FIG. 9 is a flow chart showing an example of processing of the
The
訓練装置3は、連続した時刻t - 1、tの2フレームを抽出して処理を開始する。まず、圧縮装置1で説明した処理と同様に、時刻tのフレーム画像ItをタイルTtごとに圧縮する(S302)。
The
色情報取得部318は、複数の画素をサンプリングして第4モデルM4を用いて色値Fを取得し、フレーム画像Itの一部又は全部を復元する(S304)。
The color
更新部320は、式(11)の目的関数が小さくなるように、各モデルのパラメータを逆伝播処理により更新する(S308)。上述したように、タイルごとの離散化した潜在変数を取得する処理においては、勾配を算出可能な関数を用いて処理を実行する。
The updating
訓練装置3は、終了条件を満たしているか否かを判断し(S308)、適切な終了条件を満たすまで、訓練を繰り返す。すなわち、終了条件を満たしていない場合(S308: NO)、訓練の処理(S302~S306)を繰り返し、終了条件を満たしている場合(S310)、パラメータを出力(S310)して処理を終了する。
The
訓練の処理は、各パラメータの更新が収束するまで、アキュラシーが所定値を下回るまで、又は、所定のエポック数が終了するまで等の適切な終了条件まで続行される。訓練の処理は、例えば、バッチ処理で実行されてもよく、バッチ処理において計算された勾配平均に基づいて、各モデルのパラメータを更新してもよい。 The training process continues until an appropriate termination condition, such as until each parameter update converges, until the accuracy falls below a predetermined value, or until a predetermined number of epochs are completed. The training process may, for example, be performed in a batch process and update the parameters of each model based on the gradient averages computed in the batch process.
以上のように、本実施形態によれば、訓練装置3の処理方法により、圧縮装置1及び復元装置2に用いるモデルを最適化することが可能となる。これらのモデルを用いることで、圧縮装置1では、高精度及び高圧縮率を両立する動画データの圧縮を実現することができる。同様に、これらのモデルを用いることで、復元装置2では、圧縮装置1で生成された動画データを適切に復元することができる。
As described above, according to the present embodiment, the processing method of the
一例として、埋め込みベクトルekの数が4096個(12bit)である場合、エントロピー符号化により、期待値としてこの値を1~6bit程に圧縮できることが期待できる。このことから、タイルごとに埋め込みベクトルを用いた場合と比較して、1 / 12 ~ 1 / 2程度に圧縮することができる。さらに、タイルの大きさにもよるが、タイルの大きさの画素数分の原色ごとの色情報を、離散化した潜在変数を用いて圧縮することが可能であるので、離散化する粒度で圧縮することができる。タイルの情報そのものを潜在変数(次元圧縮したタイルの情報)とすることが可能であるので、さらなる圧縮効率を図ることができる。 As an example, if the number of embedding vectors e k is 4096 (12 bits), it can be expected that this value can be compressed to about 1 to 6 bits by entropy coding. As a result, the compression can be reduced to about 1/12 to 1/2 compared to the case where embedding vectors are used for each tile. Furthermore, although it depends on the size of the tile, it is possible to compress the color information for each primary color for the number of pixels of the size of the tile using a discretized latent variable. can do. Since the tile information itself can be used as a latent variable (dimensionally compressed tile information), further compression efficiency can be achieved.
前述の各情報処理装置(圧縮装置1、復元装置2又は訓練装置3)における処理の順番は、データの依存性に矛盾が発生しない範囲で入れ替えてもよい。また、同様に、情報処理装置の複数処理を、データの依存性に矛盾が発生しない範囲で並列に実行(例えば、SIMD命令又はMIMD命令等により実行)してもよい。例えば、圧縮又は復号において、情報処理装置は、キーフレームから順番に圧縮又は復号を実行するが、複数のキーフレームからの圧縮又は復号を並行して実行することもできる。
The order of processing in each of the information processing devices described above (the
なお、時刻t - 1におけるフレーム画像は、直前の処理対象であるフレーム画像であるので、記憶容量に余裕がある場合には、前のループにおいて生成されたものを用いてもよい。例えば、リングバッファ等を構成して、1時刻前の情報(タイル、潜在変数等)を記憶しておいてもよい。これは、律速する構成に関する問題であるので、計算し直した方がメモリに1フレーム分の余分な画像を残しておくより高速であったり、計算コストが下がったりする場合には、上述したように計算し直してもよい。 Note that the frame image at time t - 1 is the frame image to be processed immediately before, so if there is sufficient storage capacity, the frame image generated in the previous loop may be used. For example, a ring buffer or the like may be configured to store information (tiles, latent variables, etc.) one time ago. This is a rate-limiting configuration issue, so if recalculation is faster or cheaper than keeping an extra frame's worth of images in memory, then the can be recalculated to
上述においては、第1モデルM1から第4モデルM4を用いるとしたが、これに限定されるものではなく、一部のモデルを用いて圧縮処理をしてもよい。例えば、第1モデルM1のみを用いて、時刻ごとのフレーム画像ItをタイルTごとに潜在変数zに変換して、これを圧縮データとしてもよい。圧縮効率は、上述の実施形態に比較してよくないものの、簡易な処理で動画の圧縮、復元を実現することができる。このため、リアルタイム性が必要となる動画復元等において、有利となる場合がある。 In the above description, the first model M1 to the fourth model M4 are used, but the present invention is not limited to this, and compression processing may be performed using some models. For example, using only the first model M1, the frame image I t for each time may be converted into the latent variable z for each tile T, and this may be used as compressed data. Although the compression efficiency is not as good as in the above-described embodiment, it is possible to compress and decompress moving images with simple processing. For this reason, it may be advantageous in moving image restoration or the like that requires real-time performance.
また、例えば、第2モデルM2と、第3モデルM4とを1つのモデルとして形成してもよい。このように、モデルの組み合わせは、適切に処理できる範囲において、適宜選択することができる。 Also, for example, the second model M2 and the third model M4 may be formed as one model. In this way, the combination of models can be selected as appropriate within the range of appropriate processing.
ベクトルek、第1モデルM1、第2モデルM2、第3モデルM3、第4モデルM4は、圧縮率(量子化率)、復元される動画の精度、又は、復元時間等の圧縮に関するパラメータのうち少なくとも1つに基づいて最適化されたものが複数準備されていてもよい。例えば、圧縮のパラメータ(モード)ごとに最適化された埋め込みベクトル及びモデルが訓練され、ユーザが選択したパラメータに基づいた圧縮及び復元がされてもよい。このように複数準備しておくことにより、ユーザが選択したパラメータに基づいた圧縮及び復元をすることができる。 The vector e k , the first model M1, the second model M2, the third model M3, and the fourth model M4 are parameters related to compression such as the compression rate (quantization rate), the accuracy of the restored moving image, or the restoration time. Multiple ones optimized based on at least one of them may be prepared. For example, an optimized embedding vector and model may be trained for each parameter (mode) of compression, and compression and decompression based on user-selected parameters. By preparing a plurality of data in this manner, compression and decompression can be performed based on parameters selected by the user.
圧縮装置1、復元装置2、及び、訓練装置3は、それぞれが独立した情報処理装置として構成されてもよいし、少なくとも2つが同じ情報処理装置として構成されていてもよい。
The
上記の全ての訓練済モデルは、例えば、説明したように訓練した上で、さらに、一般的な手法により蒸留されたモデルを含む概念であってもよい。 All of the above trained models may be concepts including, for example, models that have been trained as described and further distilled by general techniques.
前述した実施形態における各装置 (情報処理装置: 圧縮装置1、復元装置2又は訓練装置3の少なくとも1つ、以下同じ) の一部又は全部は、ハードウェアで構成されていてもよいし、 CPU (Central Processing Unit) 又は GPU (Graphics Processing Unit) 等が実行するソフトウェア (プログラム) の情報処理で構成されてもよい。ソフトウェアの情報処理で構成される場合には、前述した実施形態における各装置の少なくとも一部の機能を実現するソフトウェアを、 CD-ROM (Compact Disc-Read Only Memory) 、 USB (Universal Serial Bus) メモリ等の非一時的な記憶媒体 (非一時的なコンピュータ可読媒体) に収納し、コンピュータに読み込ませることにより、ソフトウェアの情報処理を実行してもよい。また、通信ネットワークを介して当該ソフトウェアがダウンロードされてもよい。さらに、ソフトウェアの処理の全部又は一部が ASIC (Application Specific Integrated Circuit) 又は FPGA (Field Programmable Gate Array) 等の回路に実装されることにより、当該ソフトウェアによる情報処理がハードウェアにより実行されてもよい。
A part or all of each device (information processing device:
ソフトウェアを収納する記憶媒体は、光ディスク等の着脱可能なものでもよいし、ハードディスク又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし (主記憶装置または補助記憶装置等) 、コンピュータ外部に備えられてもよい。 A storage medium for storing software may be a detachable storage medium such as an optical disk, or a fixed storage medium such as a hard disk or memory. Also, the storage medium may be provided inside the computer (main storage device, auxiliary storage device, etc.) or may be provided outside the computer.
図10は、前述した実施形態における各装置 (情報処理装置) のハードウェア構成の一例を示すブロック図である。各装置は、一例として、プロセッサ71と、主記憶装置72 (メモリ) と、補助記憶装置73 (メモリ) と、ネットワークインタフェース74と、デバイスインタフェース75と、を備え、これらがバス76を介して接続されたコンピュータ7として実現されてもよい。
FIG. 10 is a block diagram showing an example of the hardware configuration of each device (information processing device) in the embodiment described above. Each device includes, for example, a
図10のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図10では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置 (情報処理装置) は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。
The
前述した実施形態における各装置 (情報処理装置) の各種演算は、1又は複数のプロセッサを用いて、又は、ネットワークを介した複数台のコンピュータを用いて、並列処理で実行されてもよい。また、各種演算が、プロセッサ内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部又は全部は、ネットワークを介してコンピュータ7と通信可能なクラウド上に設けられたプロセッサ及び記憶装置の少なくとも一方により実現されてもよい。このように、前述した実施形態における各装置は、1台又は複数台のコンピュータによる並列コンピューティングの形態であってもよい。
Various operations of each device (information processing device) in the above-described embodiments may be executed in parallel using one or more processors or using multiple computers via a network. Also, various operations may be distributed to a plurality of operation cores in the processor and executed in parallel. Also, part or all of the processing, means, etc. of the present disclosure may be realized by at least one of a processor and a storage device provided on a cloud capable of communicating with the
プロセッサ71は、少なくともコンピュータの制御又は演算のいずれかを行う電子回路 (処理回路、 Processing circuit 、 Processing circuitry 、 CPU 、 GPU 、 FPGA 、 ASIC 等) であってもよい。また、プロセッサ71は、汎用プロセッサ、特定の演算を実行するために設計された専用の処理回路又は汎用プロセッサと専用の処理回路との両方を含む半導体装置等のいずれであってもよい。また、プロセッサ71は、光回路を含むものであってもよいし、量子コンピューティングに基づく演算機能を含むものであってもよい。
プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェアに基づいて演算処理を行ってもよく、演算結果や制御信号を各装置等に出力してもよい。プロセッサ71は、コンピュータ7の OS (Operating System) や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。
The
前述した実施形態における各装置 (情報処理装置) は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
Each device (information processing device) in the above-described embodiments may be implemented by one or
主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶してもよく、主記憶装置72に記憶された情報がプロセッサ71により読み出されてもよい。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ又は不揮発性メモリのいずれでもよい。前述した実施形態における各装置 (情報処理装置) において各種データ等を保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部102は、主記憶装置72又は補助記憶装置73により実現されてもよい。
The
前述した実施形態における各装置 (情報処理装置) が、少なくとも1つの記憶装置 (メモリ) と、この少なくとも1つの記憶装置に接続 (結合) される少なくとも1つのプロセッサで構成される場合、記憶装置1つに対して、少なくとも1つのプロセッサが接続されてもよい。また、プロセッサ1つに対して、少なくとも1つの記憶装置が接続されてもよい。また、複数のプロセッサのうち少なくとも1つのプロセッサが、複数の記憶装置のうち少なくとも1つの記憶装置に接続される構成を含んでもよい。また、複数台のコンピュータに含まれる記憶装置とプロセッサによって、この構成が実現されてもよい。さらに、記憶装置がプロセッサと一体になっている構成 (例えば、 L1 キャッシュ、 L2 キャッシュを含むキャッシュメモリ) を含んでもよい。
When each device (information processing device) in the above-described embodiments is composed of at least one storage device (memory) and at least one processor connected (coupled) to this at least one storage device,
ネットワークインタフェース74は、無線又は有線により、通信ネットワーク8に接続するためのインタフェースである。ネットワークインタフェース74は、既存の通信規格に適合したもの等、適切なインタフェースを用いればよい。ネットワークインタフェース74により、通信ネットワーク8を介して接続された外部装置9Aと情報のやり取りが行われてもよい。なお、通信ネットワーク8は、 WAN (Wide Area Network) 、 LAN (Local Area Network) 、 PAN (Personal Area Network) 等のいずれか、又は、それらの組み合わせであってよく、コンピュータ7と外部装置9Aとの間で情報のやりとりが行われるものであればよい。 WAN の一例としてインターネット等があり、 LAN の一例として IEEE 802.11 やイーサネット (登録商標) 等があり、 PAN の一例として Bluetooth (登録商標) や NFC (Near Field Communication) 等がある。
The
デバイスインタフェース75は、外部装置9Bと直接接続する USB 等のインタフェースである。
The
外部装置9Aは、コンピュータ7とネットワークを介して接続されている装置である。外部装置9Bは、コンピュータ7と直接接続されている装置である。
The
外部装置9A又は外部装置9Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ等、キーボード、マウス又はタッチパネル等のデバイスであり、取得した情報をコンピュータ7に与える。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。
As an example, the
また、外部装置9A又は外部装置9Bは、一例として、出力装置でもよい。出力装置は、例えば、 LCD (Liquid Crystal Display) 、有機 EL (Electro Luminescence) パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。
Also, the
また、外部装置9A又は外部装置9Bは、記憶装置 (メモリ) であってもよい。例えば、外部装置9Aは、ネットワークストレージ等であってもよく、外部装置9Bは、 HDD 等のストレージであってもよい。
Also, the
また、外部装置9A又は外部装置9Bは、前述した実施形態における各装置 (情報処理装置) の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ7は、外部装置9A又は外部装置9Bに処理結果の一部又は全部を送信してもよいし、外部装置9A又は外部装置9Bから処理結果の一部又は全部を受信してもよい。
Also, the
本明細書 (請求項を含む) において、「a 、b 及び c の少なくとも1つ (一方) 」又は「a 、b 又は c の少なくとも1つ (一方) 」の表現 (同様な表現を含む) が用いられる場合は、a、b、c、a - b、a - c、b - c 又は a - b - c のいずれかを含む。また、a - a、a - b - b、a - a - b - b - c - c 等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a - b - c - d のように d を有する等、列挙された要素 (a 、b 及び c) 以外の他の要素を加えることも含む。 In this specification (including claims), the expression "at least one (one) of a, b and c" or "at least one (one) of a, b or c" (including similar expressions) Where used, includes any of a, b, c, a-b, a-c, b-c or a-b-c. It may also contain multiple instances of any element, such as a - a, a - b - b, a - a - b - b - c - c. It also includes adding other elements besides the listed elements (a, b and c), such as having d such as a - b - c - d.
本明細書 (請求項を含む) において、「データを入力として/を用いて/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、データそのものを用いる場合や、データに何らかの処理を行ったもの (例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、データの中間表現等) を用いる場合を含む。また、「データを入力として/を用いて/データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合 (同様な表現を含む) 、特に断りが無い場合、当該データのみに基づいて当該結果が得られる場合や、当該データ以外の他のデータ、要因、条件及び/又は状態等にも影響を受けて当該結果が得られる場合を含む。また、「データを出力する」旨が記載されている場合 (同様な表現を含む) 、特に断りがない場合、データそのものを出力として用いる場合や、データに何らかの処理を行ったもの (例えば、ノイズ加算したもの、正規化したもの、データから抽出した特徴量、データの中間表現等) を出力として用いる場合を含む。 In the present specification (including claims), when expressions such as "using data as input/using/based on/according to/according to data" (including similar expressions) are used, If there is no data, use the data itself, or use the data that has been processed in some way (e.g., noise added, normalized, features extracted from the data, intermediate representation of the data, etc.) . In addition, if it is stated that some result can be obtained "using data as input/using/based on/according to data" (including similar expressions), unless otherwise specified, This includes cases where the results are obtained based solely on the data, and cases where the results are obtained under the influence of other data, factors, conditions and/or conditions. In addition, if it is stated that "data will be output" (including similar expressions), if there is no particular notice, if the data itself is used as output, or if the data has undergone some processing (for example, noise (addition, normalization, features extracted from data, intermediate representation of data, etc.) are used as output.
本明細書 (請求項を含む) において、「接続される (connected) 」及び「結合される (coupled) 」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的 (electrically) な接続/結合、通信的 (communicatively) な接続/結合、機能的 (operatively) な接続/結合、物理的 (physically) な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。 In this specification (including claims), when the terms "connected" and "coupled" are used, they refer to direct connection/coupling, indirect connection/coupling , electrically connected/coupled, communicatively connected/coupled, operatively connected/coupled, physically connected/coupled, etc. intended as a term. The term should be interpreted appropriately according to the context in which the term is used, but any form of connection/bonding that is not intentionally or naturally excluded is not included in the term. should be interpreted restrictively.
本明細書 (請求項を含む) において、「AがBするよう構成される (A configured to B) 」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的 (permanent) 又は一時的 (temporary) な設定 (setting / configuration) が、動作Bを実際に実行するように設定 (configured / set) されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的 (permanent) 又は一時的 (temporary) なプログラム (命令) の設定により、動作Bを実際に実行するように設定 (configured) されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造等が動作Bを実際に実行するように構築 (implemented) されていればよい。 In this specification (including claims), when the expression "A configured to B" is used, the physical structure of element A is such that it is capable of performing action B. has a configuration, including that a permanent or temporary setting / configuration of element A is configured / set to actually perform action B good. For example, if element A is a general-purpose processor, the processor has a hardware configuration that can execute operation B, and operation B can be executed by setting a permanent or temporary program (instruction). It just needs to be configured to actually run. In addition, when the element A is a dedicated processor or a dedicated arithmetic circuit, etc., regardless of whether or not control instructions and data are actually attached, the circuit structure etc. of the processor is designed to actually execute the operation B. should be implemented in .
本明細書 (請求項を含む) において、含有又は所有を意味する用語 (例えば、「含む (comprising / including) 」及び「有する (having) 」等) が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、 open-ended な用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現 (a 又は an を冠詞とする表現) である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。 In the present specification (including the claims), when terms denoting containing or possessing (e.g., "comprising / including" and "having", etc.) are used, by the object of the terms Intended as an open-ended term, including the case of containing or possessing things other than the indicated object. Where the object of these terms of inclusion or possession is an expression which does not specify a quantity or implies a singular number (expressions with the articles a or an), the expression shall be construed as not being limited to a particular number. It should be.
本明細書 (請求項を含む) において、ある箇所において「1つ又は複数 (one or more) 」又は「少なくとも1つ (at least one) 」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現 (a 又は an を冠詞とする表現) が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現 (a 又は an を冠詞とする表現) は、必ずしも特定の数に限定されないものとして解釈されるべきである。 In the specification (including the claims), expressions such as "one or more" or "at least one" are used in some places and quantities are specified in other places. Where no or singular-indicating expressions are used (with the articles a or an), the latter expressions are not intended to mean "one." In general, expressions that do not specify a quantity or imply a singular number (indicative of the articles a or an) should be construed as not necessarily being limited to a particular number.
本明細書において、ある実施形態の有する特定の構成について特定の効果 (advantage / result) が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施形態についても当該効果が得られると理解されるべきである。但し、当該効果の有無は、一般に種々の要因、条件及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件及び/又は状態等が満たされたときに実施形態に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。 In this specification, when it is stated that a particular configuration of an embodiment has a particular advantage / result, unless there is a reason to the contrary, other one or more having that configuration It should be understood that this effect can also be obtained with the embodiment of However, it should be understood that the presence or absence of the effect generally depends on various factors, conditions, and/or states, and that the configuration does not always provide the effect. The effect is only obtained by the configuration described in the embodiment when various factors, conditions and/or states are satisfied, and in the claimed invention defining the configuration or a similar configuration, The said effect is not necessarily acquired.
本明細書 (請求項を含む) において、「最大化する (maximize) /最大化 (maximization) 」等の用語が用いられる場合は、グローバルな最大値を求めること、グローバルな最大値の近似値を求めること、ローカルな最大値を求めること及びローカルな最大値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最大値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最小化する (minimize) /最小化 (minimization) 」等の用語が用いられる場合は、グローバルな最小値を求めること、グローバルな最小値の近似値を求めること、ローカルな最小値を求めること及びローカルな最小値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最小値の近似値を確率的又はヒューリスティックに求めることを含む。同様に、「最適化する (optimize) /最適化 (optimization) 」等の用語が用いられる場合は、グローバルな最適値を求めること、グローバルな最適値の近似値を求めること、ローカルな最適値を求めること、及びローカルな最適値の近似値を求めることを含み、当該用語が用いられた文脈に応じて適宜解釈されるべきである。また、これら最適値の近似値を確率的又はヒューリスティックに求めることを含む。 In this specification (including claims), when terms such as "maximize/maximization" are used, they refer to finding a global maximum, or approximating a global maximum. Including determining, determining a local maximum, and determining an approximation of a local maximum, should be interpreted appropriately depending on the context in which the term is used. It also includes probabilistically or heuristically approximating these maximum values. Similarly, when terms such as "minimize/minimization" are used, they refer to finding a global minimum, finding an approximation of a global minimum, and finding a local minimum. Including finding and finding an approximation of a local minimum, should be interpreted appropriately depending on the context in which the term is used. It also includes stochastically or heuristically approximating these minimum values. Similarly, when terms such as "optimize/optimization" are used, they refer to finding a global optimum, finding an approximation of a global optimum, and finding a local optimum. Including seeking, and finding an approximation of a local optimum, should be interpreted appropriately depending on the context in which the term is used. It also includes stochastically or heuristically approximating these optimum values.
本明細書 (請求項を含む) において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書 (請求項を含む) において、「1又は複数のハードウェアが第1処理を行い、前記1又は複数のハードウェアが第2処理を行う」等の表現 (同様な表現を含む) が用いられている場合、第1処理を行うハードウェアと第2処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1処理を行うハードウェア及び第2処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は、電子回路を含む装置等を含んでもよい。 In this specification (including claims), when a plurality of pieces of hardware perform a given process, each piece of hardware may work together to perform the given process, or a part of the hardware may perform the given process. You may do all of Also, some hardware may perform a part of the predetermined processing, and another hardware may perform the rest of the predetermined processing. In this specification (including claims), expressions such as "one or more pieces of hardware perform the first process, and the one or more pieces of hardware perform the second process" (including similar expressions) If used, the hardware that performs the first process and the hardware that performs the second process may be the same or different. In other words, the hardware that performs the first process and the hardware that performs the second process may be included in the one or more pieces of hardware. Note that hardware may include an electronic circuit or a device including an electronic circuit.
本明細書 (請求項を含む) において、複数の記憶装置 (メモリ) がデータの記憶を行う場合、複数の記憶装置のうち個々の記憶装置は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。また、複数の記憶装置のうち一部の記憶装置がデータを記憶する構成を含んでもよい。 In this specification (including claims), when a plurality of storage devices (memories) store data, each of the plurality of storage devices may store only part of the data. , may store the entire data. Further, a configuration may be included in which some of the plurality of storage devices store data.
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲において、種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した実施形態において、数値又は数式を説明に用いている場合、これらは例示的な目的で示されたものであり、本開示の範囲を限定するものではない。また、実施形態で示した各動作の順序も、例示的なものであり、本開示の範囲を限定するものではない。 Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, changes, replacements, partial deletions, etc. are possible without departing from the conceptual idea and spirit of the present disclosure derived from the content defined in the claims and equivalents thereof. For example, where numerical values or mathematical formulas are used in the descriptions of the above-described embodiments, they are provided for illustrative purposes and are not intended to limit the scope of the disclosure. Also, the order of each operation shown in the embodiment is an example and does not limit the scope of the present disclosure.
Claims (14)
前記1又は複数のメモリに格納されたパラメータに基づいて、前記第1モデル、前記第2モデル又は前記第3モデルを形成可能な1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
第1画像及び前記第1画像の1単位時間前の第2画像をタイルに分割し、
前記第1画像のタイル及び前記第2画像のタイルを前記第1モデルに入力して、前記第1画像のタイルの離散化された潜在変数及び前記第2画像のタイルの離散化された潜在変数の情報を取得し、
前記第2画像のタイルの離散化された前記潜在変数の情報を前記第3モデルに入力し、前記第1画像のタイルの前記潜在変数に対する離散化された潜在変数の確率分布を取得し、
前記確率分布に基づいて、前記第1画像のタイルの前記離散化された潜在変数を符号化し、符号を取得し、
前記符号の情報を前記1又は複数のメモリに、前記第1画像の時刻に関する情報と紐付けて格納する、
圧縮装置。 one or more memories storing parameters of trained first, second and third models;
one or more processors capable of forming the first model, the second model, or the third model based on parameters stored in the one or more memories;
with
The one or more processors are
dividing a first image and a second image one unit time before the first image into tiles;
The tiles of the first image and the tiles of the second image are input into the first model to obtain discretized latent variables of the tiles of the first image and discretized latent variables of the tiles of the second image. get information about
inputting information of the discretized latent variables of the tiles of the second image into the third model to obtain a probability distribution of the discretized latent variables for the latent variables of the tiles of the first image;
encoding the discretized latent variables of tiles of the first image based on the probability distribution to obtain a code;
storing the code information in the one or more memories in association with the time information of the first image;
Compressor.
前記第1画像及び前記第2画像を第2モデルに入力して、ハイパープライアコードを取得し、
前記ハイパープライアコード及び前記第2画像のタイルの離散化された前記潜在変数の情報を前記第3モデルに入力し、前記確率分布を取得する、
請求項1に記載の圧縮装置。 The one or more processors are
inputting the first image and the second image into a second model to obtain a hyperpliance code;
inputting the hyperpliance code and information of the discretized latent variables of the tiles of the second image into the third model to obtain the probability distribution;
Compression apparatus according to claim 1 .
前記第1画像をタイルに分割し、
前記タイルの情報を前記第1モデルに入力して当該タイルに対する離散化された潜在変数の情報を取得し、
前記潜在変数の情報を前記1又は複数のメモリに、前記第1画像の時刻に関する情報と、キーフレームであることを示すフラグと、紐付けて格納し、
前記第1画像がキーフレームではない場合に、前記1又は複数のプロセッサは、
前記第1画像及び前記第1画像の1単位時間前の第2画像をタイルに分割し、
前記第1画像及び前記第2画像を第2モデルに入力して、ハイパープライアコードを取得し、
前記第1画像のタイル及び前記第2画像のタイルを前記第1モデルに入力して、前記第1画像のタイル及び前記第2画像のタイルの離散化された前記潜在変数の情報を取得し、
前記ハイパープライアコード及び前記第2画像のタイルの離散化された前記潜在変数の情報を前記第3モデルに入力し、前記第1画像のタイルの前記潜在変数に対する離散化された潜在変数の確率分布を取得し、
前記確率分布に基づいて、前記第1画像のタイルの離散化された前記潜在変数を符号化し、符号を取得し、
前記符号の情報を前記1又は複数のメモリに、前記第1画像の時刻に関する情報と紐付けて格納する、
請求項2に記載の圧縮装置。 When the first image is a keyframe, the one or more processors
dividing the first image into tiles;
inputting information of the tile into the first model to acquire information of a discretized latent variable for the tile;
storing the information of the latent variables in the one or more memories in association with information about the time of the first image and a flag indicating a key frame;
If the first image is not a keyframe, the one or more processors
dividing the first image and a second image one unit time before the first image into tiles;
inputting the first image and the second image into a second model to obtain a hyperpliance code;
inputting the tiles of the first image and the tiles of the second image into the first model to obtain information of the discretized latent variables of the tiles of the first image and the tiles of the second image;
inputting the hyperplier code and information of the discretized latent variables of the tiles of the second image into the third model, and calculating a probability distribution of the discretized latent variables for the latent variables of the tiles of the first image; and get
encoding the discretized latent variable of a tile of the first image based on the probability distribution to obtain a code;
storing the code information in the one or more memories in association with the time information of the first image;
3. Compression apparatus according to claim 2.
前記確率分布を用いて、前記第1画像のタイルの前記離散化された潜在変数をエントロピー符号化により符号化する、
請求項1から請求項3のいずれに記載の圧縮装置。 The one or more processors are
encoding the discretized latent variables of tiles of the first image by entropy coding using the probability distribution;
A compression device according to any one of claims 1 to 3.
前記1又は複数のメモリに格納されたパラメータに基づいて、前記第3モデル又は前記第4モデルを形成可能な、1又は複数のプロセッサと、
を備え、
前記1又は複数のプロセッサは、
第1画像のタイルの離散化された潜在変数が符号化された情報を含む圧縮データを受信し、
すでに取得されている、前記第1画像の1単位時間前の第2画像の離散化された潜在変数を、前記第3モデルに入力し、前記第1画像のタイルの離散化された潜在変数の確率分布を取得し、
前記確率分布を用いて、前記圧縮データに含まれる前記第1画像のタイルの離散化された前記潜在変数が符号化された前記情報を復号し、
復号した前記潜在変数を、前記第4モデルに入力し、前記第1画像のタイルの色値を取得する、
復元装置。 one or more memories storing parameters of the third model and the fourth model trained by the trained trainer;
one or more processors capable of forming the third model or the fourth model based on parameters stored in the one or more memories;
with
The one or more processors are
receiving compressed data containing information encoded in the discretized latent variables of the tiles of the first image;
The discretized latent variables of the second image one unit time before the first image, which have already been acquired, are input to the third model, and the discretized latent variables of the tiles of the first image are input to the third model. get the probability distribution,
decoding the information encoded with the discretized latent variables of the tiles of the first image contained in the compressed data using the probability distribution;
inputting the decoded latent variables into the fourth model to obtain the color values of the tiles of the first image;
restoration device.
すでに取得されている、前記第2画像の離散化された前記潜在変数と、前記圧縮データから取得した前記第1画像のハイパープライアコードを、前記第3モデルに入力し、前記確率分布を取得する、請求項5に記載の復元装置。 The one or more processors are
Inputting the already obtained discretized latent variables of the second image and the hyperplier code of the first image obtained from the compressed data into the third model to obtain the probability distribution. 6. The restoration device according to claim 5.
圧縮データから前記圧縮された第1画像の離散化された潜在変数を取得し、
前記潜在変数を前記第4モデルに入力して、前記第1画像を復元し、
圧縮された第1画像がキーフレームではない場合に、前記1又は複数のプロセッサは、
すでに取得されている、前記第1画像の1単位時間前の第2画像の離散化された潜在変数と、前記圧縮データから取得した前記第1画像のハイパープライアコードを、前記第3モデルに入力し、前記第1画像のタイルの離散化された前記潜在変数に対する離散化された前記潜在変数の確率分布を取得し、
前記確率分布を用いて、前記圧縮データから取得した前記第1画像のタイルの離散化された前記潜在変数の符号化された情報を復号し、
復号した前記潜在変数を、前記第4モデルに入力し、前記第1画像の色値を取得する、
請求項6に記載の復元装置。 If the compressed first image is a keyframe, the one or more processors:
obtaining discretized latent variables of the compressed first image from compressed data;
inputting the latent variables into the fourth model to reconstruct the first image;
If the compressed first image is not a keyframe, the one or more processors:
The discretized latent variables of the second image one unit time before the first image, which have already been acquired, and the hyperprior code of the first image obtained from the compressed data are input to the third model. and obtaining a probability distribution of the discretized latent variables for the discretized latent variables of the tiles of the first image;
decoding encoded information of the discretized latent variables of tiles of the first image obtained from the compressed data using the probability distribution;
inputting the decoded latent variables into the fourth model to obtain the color values of the first image;
7. The restoration device according to claim 6.
前記確率分布を用いて、エントロピー符号化により符号化された前記第1画像のタイルの前記潜在変数の情報を復号する、
請求項5から請求項7のいずれに記載の復元装置。 The one or more processors are
decoding the latent variable information of the tiles of the first image encoded by entropy coding using the probability distribution;
8. The restoration device according to any one of claims 5 to 7.
前記タイルの離散化された潜在変数を、第1モデルを用いて推定し、
前記第1画像のタイルの画像における位置及び前記潜在変数から、当該位置に対応する画素の色値を、第4モデルを用いて推定し、
前記第1画像及び前記第2画像から、前記第1画像に対応する潜在変数の確率分布に関するハイパープライアコードを、第2モデルを用いて推定し、
前記ハイパープライアコードと前記第2画像のタイル画像の潜在変数とから、前記第1画像のタイル画像の潜在変数の確率分布を、第3モデルを用いて推定し、
前記第4モデルを用いて推定される前記色値と、正解の前記色値と、前記第2モデルを用いて推定される前記確率分布にしたがって前記第3モデルを用いて取得する前記確率分布と、前記第2モデルを用いて推定される前記ハイパープライアコードの確率と、に基づいて、前記第1モデルと、前記第2モデルと、前記第3モデルと、前記第4モデルと、を訓練する、
ことで、前記第1モデルと、前記第2モデルと、前記第3モデルと、前記第4モデルと、のうちの少なくとも1つのモデルを生成する方法。 dividing a first image and a second image one unit time before the first image into tiles;
estimating a discretized latent variable of the tile using a first model;
estimating the color value of the pixel corresponding to the position from the position in the image of the tile of the first image and the latent variable using a fourth model;
estimating, from the first image and the second image, a hyperprior code for the probability distribution of the latent variable corresponding to the first image using a second model;
estimating the probability distribution of the latent variables of the tile images of the first image from the hyperpliance code and the latent variables of the tile images of the second image using a third model;
the color value estimated using the fourth model, the correct color value, and the probability distribution obtained using the third model according to the probability distribution estimated using the second model; , the probability of the hyperplier code estimated using the second model, and training the first model, the second model, the third model and the fourth model. ,
Thus, a method of generating at least one model of said first model, said second model, said third model and said fourth model.
請求項9に記載の方法。 Evaluation of restoration accuracy based on the difference between the color value and the correct color value, and the probability distribution obtained using the third model according to the probability distribution estimated using the second model. and an evaluation of the compression ratio based on the probability of the hyperplier code estimated using the second model, the first model, the second model, the third model, and the train a fourth model and
10. The method of claim 9.
請求項9又は請求項10に記載の方法。 The first model is a model that estimates a probability distribution for a plurality of predefined embedding vectors for the latent variables of the tile.
11. A method according to claim 9 or claim 10.
請求項9から請求項11のいずれかに記載の方法。 The second model is a model that assumes the first image as a posterior distribution and estimates the hyperprior code, which is a vector relating to changes from the second image, which is the prior distribution.
12. A method according to any of claims 9-11.
請求項9から請求項12のいずれに記載の方法。 The third model, based on the hyperplier code and the latent variables of the tiles of the second image, converts the tiles of the second image to the tiles of the first image into the tiles of the first image. estimating the latent variable as the probability and distribution of the latent variable in the second image;
13. A method according to any of claims 9-12.
請求項9から請求項13のいずれかに記載の方法。 The fourth model is a model that obtains the color value of a pixel at an arbitrary position in the tile from the latent variable.
14. A method according to any of claims 9-13.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021173511A JP2023063166A (en) | 2021-10-22 | 2021-10-22 | Compression apparatus, decompression apparatus, and method of generating model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021173511A JP2023063166A (en) | 2021-10-22 | 2021-10-22 | Compression apparatus, decompression apparatus, and method of generating model |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023063166A true JP2023063166A (en) | 2023-05-09 |
Family
ID=86270299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021173511A Pending JP2023063166A (en) | 2021-10-22 | 2021-10-22 | Compression apparatus, decompression apparatus, and method of generating model |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023063166A (en) |
-
2021
- 2021-10-22 JP JP2021173511A patent/JP2023063166A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11276203B2 (en) | Point cloud compression using fixed-point numbers | |
US11902369B2 (en) | Autoencoder, data processing system, data processing method and non-transitory computer readable medium | |
CN111052189B (en) | System, method, and computer-readable medium for generating a compressed point cloud | |
KR20200044652A (en) | Method and apparatus for assessing subjective quality of a video | |
CN113272866A (en) | Point cloud compression using space-filling curves for detail level generation | |
JP2020173782A (en) | Image encoding method and device, and image decoding method and device | |
CN112020724A (en) | Learning compressible features | |
Pal et al. | An efficient codebook initialization approach for LBG algorithm | |
JP2023505647A (en) | Compression of neural network models | |
Han et al. | Toward variable-rate generative compression by reducing the channel redundancy | |
CN115426075A (en) | Encoding transmission method of semantic communication and related equipment | |
JP7416489B2 (en) | Method, apparatus and computer program for end-to-end task-oriented latent compression using deep reinforcement learning | |
Balasubramani et al. | Efficient image compression techniques for compressing multimodal medical images using neural network radial basis function approach | |
CN115209154A (en) | Video compression based on machine learning model | |
Nagoor et al. | MedZip: 3D medical images lossless compressor using recurrent neural network (LSTM) | |
CN116600119B (en) | Video encoding method, video decoding method, video encoding device, video decoding device, computer equipment and storage medium | |
Löhdefink et al. | Scalar and vector quantization for learned image compression: A study on the effects of MSE and GAN loss in various spaces | |
JP2018201117A (en) | Video encoder, video encoding method and program | |
JP2023063166A (en) | Compression apparatus, decompression apparatus, and method of generating model | |
CN104937938A (en) | Method and apparatus for comparing two blocks of pixels | |
JP2020053820A (en) | Quantization and encoder creation method, compressor creation method, compressor creation apparatus, and program | |
Zhao et al. | Deep multiple description coding by learning scalar quantization | |
Feng et al. | Neural subspaces for light fields | |
US20240048703A1 (en) | Encoding device, decoding device, encoding method, decoding method, and program | |
Rizvi et al. | Finite-state residual vector quantization using a tree-structured competitive neural network |