JP2023063166A - Compression apparatus, decompression apparatus, and method of generating model - Google Patents

Compression apparatus, decompression apparatus, and method of generating model Download PDF

Info

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
Application number
JP2021173511A
Other languages
Japanese (ja)
Inventor
大輔 岡野原
Daisuke Okanohara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Preferred Networks Inc
Original Assignee
Preferred Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Preferred Networks Inc filed Critical Preferred Networks Inc
Priority to JP2021173511A priority Critical patent/JP2023063166A/en
Publication of JP2023063166A publication Critical patent/JP2023063166A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

To improve accuracy and efficiency in compression of high-dimensional data.SOLUTION: A compression apparatus includes a memory storing parameters of a first model, a second model, and a third model, and a processor configured to form the first model, the second model, and the third model on the basis of the parameters stored in the memory. The processor divides a first image and a second image one unit time before into tiles, the tiles of the first and second images into the first model, acquires information on discretized latent variables of the tiles of the first and second images, inputs the information on the discretized latent variables of the tiles of the second image into the third model, acquires a probability distribution of the discretized latent variables with respect to the latent variables of the tiles of the first image, encodes the discretized latent variables of the tiles of the first image on the basis of the probability distribution, and stores encoding information in the memory in association with time information of the first image.SELECTED DRAWING: Figure 1

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.

J. Liu, et. al., “Conditional Entropy Coding for Efficient Video Compression,” arXiv:2008.09180, 20 August 2020, https://arxiv.org/abs/2008.09180v1J. Liu, et. al., “Conditional Entropy Coding for Efficient Video Compression,” arXiv:2008.09180, 20 August 2020, https://arxiv.org/abs/2008.09180v1 I. Mehta, et. al., “Modulated Periodic Activations for Generalizable Local Functional Representations,” arXiv:2104.03960, 8 April 2021, https://arxiv.org/abs/2104.03960v1I. Mehta, et. al., “Modulated Periodic Activations for Generalizable Local Functional Representations,” arXiv:2104.03960, 8 April 2021, https://arxiv.org/abs/2104.03960v1

本開示においては、高次元データの圧縮の精度及び効率を向上するデータ圧縮技術を提供する。 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.

一実施形態に係る圧縮装置の一例を示すブロック図。The block diagram which shows an example of the compression apparatus which concerns on one Embodiment. 一実施形態に係る圧縮装置の処理を示すフローチャート。4 is a flowchart showing processing of a compression device according to one embodiment; 一実施形態に係るタイル分割の様子を模式的に示す図。FIG. 4 is a diagram schematically showing how tiles are divided according to one embodiment; 一実施形態に係る潜在変数を表すインデクスの一例を模式的に示す図。FIG. 4 is a diagram schematically showing an example of an index representing latent variables according to one embodiment; 一実施形態に係る符号化における確率分布に対する変数の範囲について示す図。FIG. 4 is a diagram showing the range of variables for probability distributions in encoding according to an embodiment; 一実施形態に係る復元装置の一例を示すブロック図。1 is a block diagram showing an example of a restoration device according to one embodiment; FIG. 一実施形態に係る復元装置の処理を示すフローチャート。4 is a flowchart showing processing of the restoration device according to one embodiment. 一実施形態に係る訓練装置の一例を示すブロック図。1 is a block diagram showing an example of a training device according to one embodiment; FIG. 一実施形態に係る訓練装置の処理を示すフローチャート。4 is a flow chart showing processing of the training device according to one embodiment. 一実施形態に係る情報処理装置のハードウェア実装例を示す図。1 is a diagram showing a hardware implementation example of an information processing apparatus according to an embodiment; FIG.

以下、図面を参照して本発明の実施形態について説明する。図面及び実施形態の説明は一例として示すものであり、本発明を限定するものではない。本開示における実施形態では、動画データの圧縮、圧縮されたデータの復元、及び、圧縮及び復元に用いるモデルの訓練に関する情報処理装置について説明する。 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 compression device 1 includes an input unit 100, a storage unit 102, an output unit 104, a division unit 106, a feature amount acquisition unit 108, a hyperprior acquisition unit 110, a probability distribution acquisition unit 112, and an encoding unit 114. And prepare. The compression device 1 is a device that uses several trained models to generate and output compressed video data. The operation of the trained model is described in detail in the description of the training device, and the input/output data is described in the description of the compression device 1. FIG.

後述にて詳しく説明するが、圧縮装置1は、フレームごとの画像に関して、データ圧縮の対象である現在のフレーム画像を用いて、又は、現在のフレーム画像と1時刻以上前のフレーム画像とを用いて、データを圧縮する。以下においては、現在の時刻tのフレーム画像It単体、又は、現在のフレーム画像Itと1単位時間前の時刻t - 1のフレーム画像(以下、前フレーム画像It-1と記載する。)を用いてデータを圧縮する場合について説明するが、1時刻前のフレーム画像は、2時刻以上前のフレーム画像と読み替えてもよいし、1時刻以上前の複数のフレーム画像と読み替えてもよい。 As will be described later in detail, the compression device 1 uses the current frame image, which is the object of data compression, for each frame image, or uses the current frame image and a frame image one time or more before. to compress the data. In the following, the frame image I t alone at the current time t, or the current frame image I t and the frame image at the time t - 1 one unit time earlier (hereinafter referred to as the previous frame image I t -1) . ), the frame image one time ago may be read as a frame image two hours ago or more, or may be read as a plurality of frame images one time or more ago. .

入力部100は、入力インタフェースを備える。圧縮装置1は、この入力部100を介してデータ、例えば、圧縮対象である動画データの入力を受け付ける。 The input unit 100 has an input interface. The compression device 1 receives input of data, for example, video data to be compressed, through the input unit 100 .

記憶部102は、圧縮装置1の動作に用いるモデルのパラメータ等のデータ、データ圧縮の対象となるデータ及び中間で入出力されるデータ等必要なデータを格納する。以下の説明において、各構成要素が処理したデータは、適切なタイミングにおいて記憶部102に格納されてもよい。格納されたデータは、適切なタイミングにおいて、利用する構成要素により読み出して用いられる。 The storage unit 102 stores necessary data such as data such as model parameters used for the operation of the compression device 1, data to be subjected to data compression, and intermediate input/output data. In the following description, data processed by each component may be stored in storage unit 102 at appropriate timing. The stored data is read and used by the utilizing component at appropriate timing.

出力部104は、圧縮された動画データを出力する。なお、圧縮装置1は、圧縮された動画データを記憶部102に格納してもよい。 The output unit 104 outputs the compressed moving image data. Note that the compression device 1 may store the compressed moving image data in the storage unit 102. FIG.

分割部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 unit 106 divides the frame images I in the moving image data into predetermined sizes. For example, the dividing unit 106 divides the frame image I into tiles T(m, n) of a predetermined size. (m, n) indicates the position of the tile. For example, the dividing unit 106 divides the frame image I into M×N tiles of a predetermined size T(0, 0), T(1, 0), . , T(M - 1, N - 1). When compressing the current frame image I t , the dividing unit 106 divides the current frame image I t or the current frame image It and the previous frame image I t-1 into tiles. For example, the current frame image I t is divided into tiles T t ( 0, 0), . 1 (0, 0), ..., T t-1 (M - 1, N - 1).

特徴量取得部108は、分割部106により分割されたタイルT(m, n)から、タイルT(m, n)の潜在変数(特徴量)を取得する。特徴量取得部108は、タイルT(m, n)を訓練済みの第1モデルM1に入力し、第1モデルM1からの出力結果に基づいてタイルT(m, n)の潜在変数z(m, n)を取得する。 The feature quantity acquiring unit 108 acquires the latent variables (feature quantities) of the tile T(m, n) divided by the dividing unit 106 from the tile T(m, n). The feature acquisition unit 108 inputs the tile T(m, n) to the trained first model M1, and calculates the latent variable z(m , n).

潜在変数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 quantity acquisition unit 108 acquires the probability π k of the vector e k (k ∈ {1, K}) via the first model M1, samples the vector e i having the maximum probability π i , and Let it be a latent variable. The vector e k is, for example, a D-dimensional vector. The output layer of the first model M1 has, for example, K output nodes, and each vector e k (k ∈ {1, K}) is the latent variable z(m, n) of the tile T(m, n). Output the probability of being selected as

このように離散化された埋め込みベクトルを用いて潜在変数を確率的に求める場合、ベクトル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 prior acquisition unit 110 acquires a hyper prior distribution (hyper prior) of the prior distribution, with the probability distribution for the previous frame image I t−1 as the prior distribution and the posterior probability for the current frame image I t as the posterior distribution. The hyperprior acquisition unit 110 inputs the previous frame image I t-1 and the current frame image I t to the trained second model M2 to acquire the hyperprior code u t . The second model M2 may be a neural network model that outputs a hyperpliance code u t when two temporally consecutive frame images I t and I t-1 are input.

ハイパープライアコード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 distribution acquisition unit 112 uses latent variable z t -1 of each tile T t-1 acquired by feature amount acquisition unit 108 and hyper-prior code u t acquired by hyper-prior acquisition unit 110 to determine the current time Estimate the probability distribution P(z t | z t-1 , u t ) of the latent variable z t in tile T t . The probability distribution acquisition unit 112 can output the probability distribution P as discrete values or continuous values.

離散値で出力する場合、確率分布取得部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 distribution acquisition unit 112 converts the tile T t-1 (m, n) in the previous frame and the hyperprior u t that characterizes the distribution at the current time from the distribution at the previous time into the trained 3 Input to the model M3, the probability distribution P(e k | z t-1 (m, n), u t ) of the latent variable z t (m, n) of a certain tile T t (m, n) at the current time , k ∈ {1, K}.

第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 distribution acquisition section 112 obtains probability distribution P (e k | z t -1 , u t ), k ∈ {1, K}.

確率分布取得部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 distribution acquisition section 112 obtains P ( ek | z t -1 (0, 0), u t ). Alternatively, the probability distribution P(e k | z t-1 (m0, n0), u t ). As yet another example, if sufficient time can be secured for encoding and decoding, probability distributions may be obtained from multiple tiles, and the probability distribution P may be obtained as a statistical value such as the average of the probability distributions. .

連続値で出力する場合、確率分布取得部112は、例えば、第3モデルM3を介して混合ガウス分布のパラメータ(重みw、平均u、分散σ)を取得し、確率分布P(zt | zt-1, ut)をこれらのパラメータに基づいて計算する。 When outputting as continuous values, the probability distribution acquisition unit 112 acquires the parameters of the Gaussian mixture distribution (weight w, mean u, variance σ) via the third model M3, for example, and obtains the probability distribution P(z t | z t-1 , u t ) are calculated based on these parameters.

符号化部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 encoding unit 114 acquires a binary string encoded code for the frame image I t based on the latent variable z output by the feature amount acquisition unit 108 and the probability distribution P acquired by the probability distribution acquisition unit 112. . The encoding unit 114 calculates the latent variable z(m , n) Convert (m ∈ {0, M − 1}, n ∈ {0, N − 1}) into entropy code (code) to obtain entropy code C t .

用いる符号化方法は、ハフマン符号、算術符号、レンジコーダ等の任意のエントロピー符号化方法であってもよい。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 encoding unit 114 can encode latent variables (that is, latent variable sequences) obtained from each of a plurality of tiles, and may encode every predetermined number of tiles. For example, when using a range coder, the encoding unit 114 may reset the range every predetermined number of tiles, or may reset the range when the range becomes smaller than a predetermined value. These encoding units or parameters related to entropy encoding such as range changes may be changed at any timing as long as they are similarly defined in the compression device 1 and the decompression device described later.

圧縮装置1は、符号化部114が出力した時刻tにおけるベクトルekの確率分布に基づいてエントロピー符号化されたそれぞれのタイルTt(m, n)の潜在変数zt(m, n) (m ∈ {0, M - 1}, n ∈ {0, N - 1})、ハイパープライアコードut、及び、キーフレームに指定された時刻tにおけるタイルTtの潜在変数ztを圧縮したデータとして生成する。 The compression device 1 entropy-encodes the latent variable z t ( m, n) ( m ∈ {0, M − 1}, n ∈ {0, N − 1}), the hyperpliance code u t , and the latent variable z t of the tile Tt at the time t specified in the keyframe as compressed data Generate.

キーフレームは、基準となるフレームであり、例えば、最初のフレームをキーフレームとし、所定数のフレームごとにキーフレームを設定してもよい。また、動画のシーンの変化を検知するシーン検知部をさらに備え、シーンの変化を検知したタイミングでキーフレームを設定してもよい。 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 encoding unit 114 determines the range of variables in a range coder or the like for each tile, and finally may output the entropy code Ct . For example, the probability distribution acquisition unit 112 acquires the probability distribution P of the latent variables of the tile at time t from the latent variables of the tile at the same position at time t - 1, and executes entropy encoding according to this probability distribution P. do.

より具体的には、確率分布取得部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 distribution acquisition section 112 obtains probability distribution P( ek | z t -1 (0, 0), u t ), k ∈ { 1, K} is obtained from the hyperplier code u t and the latent variables of the tile T t-1 (0, 0) one time ago using the third model M3. Similarly, the probability distribution acquisition unit 112 obtains each of the tiles T t (1, 0), ..., T t (M - 1, 0), ..., T t (M - 1, N - 1) , the probability distribution P(e k | z t-1 (m, n), u t ) of vector e k is estimated, and encoding section 114 uses the estimated probability distribution P for each tile T. encode the latent variable z for each tile T.

このように符号化することで、タイルごとに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 compression device 1 and the decompression device. When compressing data in the compression device 1, the compression efficiency in encoding can be improved as the granularity of tiles, which is the reference for calculating the probability distribution, is finer, but the calculation cost in the decompression device increases. For this reason, the user may select a compression mode in consideration of the calculation cost in decompression, and the compression device 1 may change the method of calculating the probability distribution of the vector e k according to the mode specified by the user.

圧縮装置1は、これらのデータの他、復号に必要となるパラメータ等を合わせて出力してもよい。例えば、ベクトルekの値、各ニューラルネットワークモデルのパラメータ等を適宜圧縮して、動画データに付与してもよい。これらは、ユーザが圧縮データの圧縮モードとして選択できるものであってもよい。例えば、圧縮装置1は、データ圧縮の際に、あらかじめ設定されているパラメータ、ベクトル等を用いて圧縮をしてもよい。あらかじめ設定されているモードが上述したように複数であってもよい。 In addition to these data, the compression device 1 may output parameters required for decoding together. For example, the value of the vector e k , the parameters of each neural network model, and the like may be appropriately compressed and added to the moving image data. These may be those that the user can select as compression modes for compressed data. For example, the compression device 1 may compress data using preset parameters, vectors, and the like. A plurality of preset modes may be used as described above.

別の例として、圧縮装置1は、データ圧縮の際に、パラメータ、ベクトル等を簡易な訓練をすることにより最適化して動画の復元の精度を高めるモードを有していてもよい。ユーザが、これらのモードを望むように切り替えて、このモードに基づいて、圧縮装置1は、適切に処理を実現するものであってもよい。後者の場合には、上述したように、パラメータ、ベクトル等を変数として動画の圧縮データに付与しておき、後述する復元装置において、これらのパラメータ等を展開することで動画の復元処理を実行してもよい。 As another example, the compression device 1 may have a mode in which parameters, vectors, and the like are optimized by simple training during data compression to increase the accuracy of moving image restoration. The user may switch between these modes as desired, and based on this mode, the compressor 1 may implement processing appropriately. In the latter case, as described above, parameters, vectors, and the like are assigned to the compressed data of the moving image as variables, and the decompressing device, which will be described later, expands these parameters and the like to execute the decompressing process of the moving image. may

図2は、圧縮装置1の処理を示すフローチャートである。
まず、圧縮装置1は、入力部100を介して、圧縮の対象となるデータ(ここでは動画データで説明する)の入力を受け付ける(S100)。動画データは、記憶部102に記憶されてもよい。なお、動画データの形式は特に問わない。例えば、動画データは、適切にフレームごとの画像が取得できる形式であればよい。圧縮装置1は、時刻ごとにフレームに画像Iを抽出して、動画の圧縮を実行する。
FIG. 2 is a flow chart showing the processing of the compression device 1. As shown in FIG.
First, the compression device 1 receives input of data to be compressed (moving image data will be described here) via the input unit 100 (S100). The moving image data may be stored in the storage unit 102. FIG. Note that the format of the moving image data is not particularly limited. For example, the moving image data may be in a format in which an image for each frame can be acquired appropriately. The compression device 1 extracts the image I into a frame at each time and compresses the moving image.

分割部106は、処理対象となる時刻tにおけるフレーム画像It、及び、1単位時刻前のフレーム画像It-1を、所定サイズのタイルTに分割する(S102)。 The dividing unit 106 divides the frame image I t at time t to be processed and the frame image I t-1 one unit time earlier into tiles T of a predetermined size (S102).

図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 unit 106 according to one embodiment.
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 unit 106 also divides the frame image I t-1 at time t −1 into tiles T t-1 in the same manner as at time t. Note that the dividing unit 106 may divide the frame image so that the tiles do not overlap each other, or may divide the frame image so that the tiles partially overlap each other.

分割は、図示するように明示的に分割してそれぞれに記憶部102に記憶させるのではなく、分割した領域に対する配列のインデクスをそれぞれのタイルの情報として格納する構成であってもよいし、潜在変数を取得する際にインデクスを計算して第1モデルM1に入力する配列の要素を取得する構成であってもよい。 Instead of explicitly dividing and storing each area in the storage unit 102 as shown in the drawing, the division may be configured such that the array index for the divided area is stored as information of each tile. An index may be calculated to obtain the elements of the array to be input to the first model M1 when obtaining the variables.

分割部106は、画像の境界の領域において、端数がある場合には、例えば、画像領域外を適切な値でパディングして所定サイズのタイルとしてもよい。例えば、所定サイズを32 × 32画素とする場合に、1920 × 1080画素の動画をタイルに分割する場合には、縦方向における最後のタイルを32 × 24画素の画像データと、ゼロパディングした32 × 8画素のデータとを結合してタイルとしてもよい。端数が出る場合の処理は、これに限定されるものではなく、任意の適切な手法を採用することができる。 If there is a fraction in the boundary area of the image, the dividing unit 106 may, for example, pad the area outside the image area with an appropriate value to form tiles of a predetermined size. For example, if the predetermined size is 32 × 32 pixels, and a video of 1920 × 1080 pixels is divided into tiles, the last tile in the vertical direction is composed of 32 × 24 pixel image data and zero-padded 32 × Data of 8 pixels may be combined to form a tile. The processing when there is a fraction is not limited to this, and any appropriate method can be adopted.

また、逆に、所定タイル数となるようにタイルの大きさを決定してもよい。例えば、フル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 unit 106 may thus divide the frame image into tiles of a predetermined size, or may divide the frame image into a predetermined number of tiles. The predetermined size or predetermined number may be determined by compression rate or restoration accuracy. This determination may be made in advance by the information processing apparatus, or may be made by the user at the timing of data compression. Such additional information may be stored, for example, as header information of the compressed file, and appropriate processing may be implemented by referring to this header information upon decompression.

図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 quantity acquisition unit 108 acquires latent variables of tiles T t and T t- 1 at time t and time t - 1 (S104). The feature amount acquisition unit 108 acquires latent variables for each tile by, for example, inputting color information of pixels for each tile into the first model M1. As described above, the latent variable may be a continuous value, or may be output as a coordinate value indicating one point in a discretely given latent space. The feature quantity acquiring unit 108 acquires, for example, the selection probability π k of the vector e k output from the first model M1, and acquires the vector e with the maximum π as a latent variable.

なお、処理対象フレームがキーフレームである場合には、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 quantity acquisition unit 108 may output the index of the vector e k output by the Softmax function for each tile, as shown in FIG. For example, the latent variable z t (0, 0) of tile T t (0, 0) is e 7037 and the latent variable z t (1, 0) of T t (1, 0) is e 6898 . . This latent variable is a quantity that characterizes the color value for each tile. For example, K=8192, and in this case there are 8192 types of embedding vectors that can be selected as latent variables.

図2に戻り、次に、圧縮装置1は、処理中のフレームがキーフレームであるか否かを判定する(S106)。 Returning to FIG. 2, next, the compression device 1 determines whether or not the frame being processed is a key frame (S106).

キーフレームである場合(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 storage unit 102 in a non-reversible-compressed state, or may be stored in the storage unit 102 in a reversible-compressed state. The information corresponding to the frame number may be, for example, a sequential number uniquely assigned from the first frame to the last frame of the moving image, or information according to this.

上述したように、キーフレームは、例えば、所定数のフレームごとに設定されるものであってもよいし、シーン検出等の処理により設定されるものであってもよい。また、動画の最初のフレームは、キーフレームとして判定して処理を実行してもよい。 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-prior acquisition unit 110 inputs the frame images I t and I t-1 to the second model M2 and acquires the hyper-prior code u t between time t and time t - 1 (S110). .

次に、確率分布取得部112は、ハイパープライアコードutと、時刻t - 1におけるタイルTt-1の潜在変数ztとを第3モデルM3に入力し、ベクトルekの確率分布を推定して取得する(S112)。 Next, the probability distribution acquisition unit 112 inputs the hyperpliance code u t and the latent variable z t of the tile T t- 1 at the time t - 1 to the third model M3, and estimates the probability distribution of the vector e k . (S112).

次に、符号化部114は、確率分布取得部112が取得した確率分布に基づいた範囲にしたがって、S104で取得されたタイルTtの潜在変数ztを符号化してエントロピー符号Ctを取得する(S114)。なお、複数の潜在変数(すなわち潜在変数列)に対して1つのエントロピー符号Ctを割り当てるか、1つの潜在変数に対して1つのエントロピー符号Ctを割り当てるか、はエントロピー符号化の種類による。 Next, the encoding unit 114 encodes the latent variable zt of the tile Tt acquired in S104 according to the range based on the probability distribution acquired by the probability distribution acquisition unit 112 to acquire the entropy code Ct . (S114). Whether one entropy code Ct is assigned to a plurality of latent variables (that is, a latent variable string) or one entropy code Ct to one latent variable depends on the type of entropy encoding.

図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 distribution acquisition unit 112 are estimated as shown in the middle column for the vectors shown on the left end. In this case, encoding section 114 defines the range of numerical values corresponding to variables to be encoded according to this probability distribution as shown in the right column. Based on this range, the encoding unit 114 acquires an entropy code C by encoding one or more indices of e selected as latent variables for each tile acquired by the feature amount acquisition unit 108 .

この範囲は、前フレーム画像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 compression device 1 stores the compressed data of the frame image It in the non-key frame in the storage unit 102 (S116). In a frame that is not a key frame, the compression device 1 stores at least information corresponding to the frame number, the hyperpliance code u t and the entropy code C t of the encoded latent variable. If necessary, other information such as tile position information used when estimating the probability distribution is also stored. In addition, a flag indicating that the frame is not a key frame may be stored.

圧縮装置1は、全てのフレームについて処理が終了したか否かを判定し(S118)、まだフレームが残っている場合(S118: NO)には、S102からの処理を続行し、全てのフレームについて処理が終了している場合(S118: YES)には、処理を終了する。 The compression device 1 determines whether or not processing has been completed for all frames (S118), and if there are still frames left (S118: NO), continues the processing from S102, and processes all frames. If the processing has ended (S118: YES), the processing ends.

圧縮装置1は、以上のように、キーフレームにおいて、フレーム画像のタイルごとの潜在変数を離散化された埋め込みベクトルとして表して、それを圧縮データとし、キーフレーム以外において、フレーム画像のタイルごとの潜在変数を埋め込みベクトルの確率分布を用いてエントロピー符号化して表して、それを圧縮データとする。 As described above, the compression device 1 expresses the latent variable for each tile of the frame image as a discretized embedded vector in the key frame, and uses it as compressed data. The latent variable is entropy-encoded using the probability distribution of the embedding vector and expressed as compressed data.

(データ復元)
次に、上記の圧縮装置1で圧縮された動画データの復元について説明する。以下に説明する復元装置においては、原則的に圧縮装置1における各構成要素と同様の処理、又は、逆の処理を実行することにより動画データの復元を実行する。すなわち、モデルに入力するデータ等は、原則的に圧縮装置1と同様のデータである。
(data recovery)
Next, restoration of moving image data compressed by the compression device 1 will be described. In principle, the restoration device described below restores moving image data by performing the same processing as that of each component in the compression device 1 or the reverse processing. That is, the data and the like to be input to the model are basically the same data as in the compression device 1 .

例えば、圧縮装置1において複数のモードをユーザが指定することができる場合には、圧縮に用いたモードによるモデルへのデータの入力と同じ処理により、復元処理を実行する。より具体的な例では、圧縮装置1における埋め込みベクトルの確率分布の算出手法と、以下に説明する復元装置における埋め込みベクトルの確率分布の算出手法におけるタイルの選択方法は、同じ方法を用いる。これらの処理の分岐に関する情報は、圧縮データのヘッダ等に付与されてるデータであってもよい。 For example, if the user can specify a plurality of modes in the compression device 1, the restoration process is executed by the same process as the data input to the model in the mode used for compression. In a more specific example, the method of calculating the probability distribution of embedding vectors in the compression device 1 and the method of selecting tiles in the method of calculating the probability distribution of embedding vectors in the restoration device described below use the same method. Information about branching of these processes may be data attached to a header of compressed data or the like.

図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 input unit 200, a storage unit 202, an output unit 204, a probability distribution acquisition unit 206, a decoding unit 208, and a color information acquisition unit 210. The decompression device 2 is a device that decompresses and outputs compressed video data using several trained models. The operation of the trained model will be described in detail in the description of the training device, and the input/output data will be described in the description of the reconstruction device 2.

入力部200は、入力インタフェースを備える。復元装置2は、この入力部200を介してデータ、例えば、復元対象である圧縮動画データの入力を受け付ける。 The input unit 200 has an input interface. The decompression device 2 receives input of data, for example, compressed video data to be decompressed, through the input unit 200 .

記憶部202は、復元装置2の動作に用いるモデルのパラメータ等のデータ、データ復元の対象となるデータ及び中間で入出力されるデータ等必要なデータを格納する。以下の説明において、各構成要素が処理したデータは、適切なタイミングにおいて記憶部202に格納されてもよい。格納されたデータは、適切なタイミングにおいて、利用する構成要素により読み出して用いられる。 The storage unit 202 stores necessary data such as data such as model parameters used in the operation of the restoration device 2, data to be restored, and data input/output in the middle. In the following description, data processed by each component may be stored in the storage unit 202 at appropriate timing. The stored data is read and used by the utilizing component at appropriate timing.

出力部204は、復元された動画データを出力する。例えば、出力部204は、出力インタフェースとしてディスプレイを備えていてもよく、復元装置2において復元された動画データをディスプレイに表示可能なフォーマットに変換して表示させてもよい。また、出力部204は、動画の表示に合わせて音声データを出力してもよく、この場合、スピーカ等の出力インタフェースを備えていてもよい。 The output unit 204 outputs the restored moving image data. For example, the output unit 204 may have a display as an output interface, and may convert the video data restored by the restoration device 2 into a displayable format and display it. Also, the output unit 204 may output audio data in accordance with the display of the moving image, and in this case, may be provided with an output interface such as a speaker.

確率分布取得部206は、タイルTの潜在変数zと、ハイパープライアコードuとを訓練済みの第3モデルM3に入力し、タイルTの潜在変数zの確率分布Pを推定する。確率分布取得部206は、離散値又は連続値として確率分布Pを出力することができる。復元装置2における第3モデルM3は、動画データの圧縮に用いた圧縮装置1における第3モデルM3と共通するモデルである。動作については、圧縮装置1の確率分布取得部112と同様であるため、詳細な説明は省略する。 The probability distribution acquisition unit 206 inputs the latent variable z of the tile T and the hyperpliance code u to the trained third model M3, and estimates the probability distribution P of the latent variable z of the tile T. The probability distribution acquisition unit 206 can output the probability distribution P as discrete values or continuous values. The third model M3 in the decompression device 2 is a model common to the third model M3 in the compression device 1 used for compressing the moving image data. Since the operation is the same as that of the probability distribution acquisition unit 112 of the compression device 1, detailed description will be omitted.

復号部208は、確率分布取得部206が取得したベクトルekの確率分布Pに基づいて、符号化された潜在変数のエントロピー符号Cを復号する。復号部208は、エントロピー符号Cを復号することで、1又は複数のタイルTの潜在変数zを取得する。 The decoding unit 208 decodes the encoded latent variable entropy code C based on the probability distribution P of the vector e k acquired by the probability distribution acquisition unit 206 . The decoding unit 208 obtains the latent variable z of one or more tiles T by decoding the entropy code C. FIG.

色情報取得部210は、タイルTごとの潜在変数zに基づいて、タイルTに含まれる画素の色値Fを取得する。色情報取得部210は、潜在変数zを訓練済みの第4モデルM4に入力し、タイルT内の画素(x, y)の色値を推論する。色値Fは、例えば、[0, 255]の整数値を3原色のそれぞれについて有する量であってもよい。この他、[0, 1]の連続値で示される値であってもよく、出力時に、出力部204において適切にこれらの値が変換されて表示されるものであってもよい。 The color information acquisition unit 210 acquires the color value F of the pixels included in the tile T based on the latent variable z for each tile T. FIG. The color information acquisition unit 210 inputs the latent variable z to the trained fourth model M4 to infer the color value of the pixel (x, y) in the tile T. The color value F may be, for example, a quantity having an integer value of [0, 255] for each of the three primary colors. In addition, it may be a value represented by a continuous value of [0, 1], and at the time of output, these values may be appropriately converted in the output unit 204 and displayed.

第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は、次のように定義されてもよい。

Figure 2023063166000002
Figure 2023063166000003
Figure 2023063166000004
ここで、wは、各層を接続する重み行列、bは、各層に入力されるバイアス、○の中に・を記載した記号(odot)は、アダマール積(要素同士の積)、Tは、転置を示す。なお、上記において、ReLU、sin等の関数又は演算子は、成分ごとに文脈により、行列、ベクトルの成分ごとに演算するものと読む。以下においても同様の記載があれば同様に適宜スカラーに対する演算又はベクトル若しくは行列等の要素それぞれに対する演算であると理解されたい。 Note that the outputs h' 0 , h' i+1 , α i+1 related to the first MLP, and the output h i +1 related to the second MLP may be defined as follows.
Figure 2023063166000002
Figure 2023063166000003
Figure 2023063166000004
Here, w is the weight matrix that connects each layer, b is the bias input to each layer, the symbol (odot) written in the circle is the Hadamard product (the product of the elements), and T is the transposition. indicates In the above description, functions or operators such as ReLU and sin are read as operating for each component of a matrix or vector depending on the context for each component. If there is a similar description below, it should be understood that it is an operation on a scalar or an operation on each element of a vector, matrix, or the like, as appropriate.

また、別の例として、第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 size 32 × 32 by entering x, y ∈ {0, 1/31, 2/31, …, 1} as position p. It is possible to infer the color value F(p, z).

色情報取得部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に入力してもよい。なお、係数及び重み付け方法は、以下の式に限定されるものではない。

Figure 2023063166000005
When inferring the restored image of the tile T(m, n), the color information acquisition unit 210 obtains not only the latent variable z(m, n) but also the latent variables 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) may be input to the fourth model M4. For tiles on the edge of the image, the above latent variables may be appropriately reduced to change the mixing ratio. For example, the latent variable z(m, n) may be updated based on the following formula and input to the fourth model M4. Note that the coefficients and weighting method are not limited to the following formulas.
Figure 2023063166000005

また、別の例として、タイル内の位置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 information acquisition unit 210, and outputs it from the output unit 204 (for example, displays). Further, the restoration device 2 may convert the restored color values into a format suitable for the output interface and output (display) them in a signal processing unit (not shown). As described above, when displaying, the audio information may be output together, or the vibration information may be output via the vibration module.

図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 storage unit 202 . The decompression device 2 extracts data for each frame from the compressed data and executes processing.

復元装置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 information acquisition unit 210 obtains the color value of each pixel of the tile T t to restore the frame image I t (S208). Note that if the latent variable zt is reversibly compressed, it is decoded and used.

処理対象となる時刻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 distribution acquisition unit 206 acquires the probability distribution of the vector e k (S204). The probability distribution acquisition unit 206 extracts the hyperpliance code u t corresponding to the frame at time t from the compressed data, and acquires the latent variable z t-1 used to restore the frame image I t-1 at time t -1. do. For this latent variable z t-1 , for example, a value obtained at the timing of restoring the frame image I t-1 at time t - 1 may be used. The probability distribution acquisition unit 206 inputs the hyperpliance code u t and the latent variable z t−1 to the third model M3, and acquires the probability distribution of the vector e k with respect to the latent variable z t at time t. Since this obtained probability distribution is used for decoding entropy code C in the next step S206, it is the same as the one used in entropy coding when obtaining entropy code C to be decoded.

次に、復号部208は、ベクトルekの確率分布に基づいて、エントロピー符号Ctを復号する(S206)。この復号処理により、時刻tにおける各タイルTtの潜在変数ztを取得することができる。1つのエントロピー符号Cが複数のタイル分の潜在変数から得られたものであれば、復号処理は、このエントロピー符号を複数のタイル分の潜在変数に復号する。 Next, decoding section 208 decodes entropy code Ct based on the probability distribution of vector e k (S206). Through this decoding process, the latent variable zt of each tile Tt at time t can be obtained. If one entropy code C is obtained from multiple tiles worth of latent variables, the decoding process decodes this entropy code into multiple tiles worth of latent variables.

そして、色情報取得部210は、取得した潜在変数ztを用いて、キーフレームではないフレームにおけるフレーム画像Itを復元する(S208)。 Then, the color information acquiring unit 210 uses the acquired latent variable zt to restore the frame image I t in the non-key frame (S208).

すなわち、復元装置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 compression device 1 appropriately.

上記の説明においては、復元装置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 compression device 1 and the decompression device 2 will be described.

図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 training device 3 includes an input unit 300, a storage unit 302, an output unit 304, a division unit 306, an encoding unit 308, a decoding unit 310, a feature acquisition unit 312, a hyperprior acquisition unit 314, A probability distribution acquisition unit 316, a color information acquisition unit 318, and an update unit 320 are provided. The training device 3 trains at least one of the first model M1, the second model M2, the third model M3, or the fourth model M4 used in the compression device 1 or the decompression device 2 by machine learning techniques. It is a device.

第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 input unit 300 has an input interface. The training device 3 receives input of data via the input unit 300, for example, video data, which is teacher data necessary for training a model.

記憶部302は、訓練装置3の動作に用いる各種パラメータ、訓練対象であるモデルのパラメータ、訓練における中間データ(例えば、符号化データ、復元データ、潜在変数、確率分布)等の必要なデータを格納する。以下の説明において、各構成要素が処理したデータは、適切なタイミングにおいて記憶部302に格納されてもよい。格納されたデータは、適切なタイミングにおいて、利用する構成要素により読み出して用いられる。 The storage unit 302 stores necessary data such as various parameters used for the operation of the training device 3, parameters of the model to be trained, and intermediate data in training (eg, encoded data, restored data, latent variables, probability distributions). do. In the following description, data processed by each component may be stored in the storage unit 302 at appropriate timing. The stored data is read and used by the utilizing component at appropriate timing.

出力部304は、訓練により最適化されたモデルのパラメータを出力する。この出力は、記憶部302に格納することを包含する概念であってもよい。すなわち、出力部304は、記憶部302にパラメータを格納することを外部への出力処理と代替してもよい。 The output unit 304 outputs parameters of the model optimized by training. This output may be a concept including storing in the storage unit 302 . In other words, the output unit 304 may replace the storage of parameters in the storage unit 302 with output processing to the outside.

分割部306は、動画データにおけるフレーム画像Iを所定サイズごとに分割する。この分割部306は、圧縮装置1における分割部106と同様の処理を実行するので詳細については省略する。 A dividing unit 306 divides the frame image I in the moving image data into predetermined sizes. The dividing unit 306 performs the same processing as the dividing unit 106 in the compression device 1, so the details are omitted.

符号化部308は、特徴量取得部312が出力した潜在変数z及び確率分布取得部316が出力した確率分布Pに基づいて、フレーム画像Itについて、符号化されたコードを取得する。この符号化部308は、圧縮装置1における符号化部114と同様の処理を実行するので詳細については省略する。 The encoding unit 308 acquires an encoded code for the frame image I t based on the latent variable z output by the feature amount acquisition unit 312 and the probability distribution P output by the probability distribution acquisition unit 316 . Since this encoding unit 308 executes the same processing as the encoding unit 114 in the compression device 1, details thereof will be omitted.

復号部310は、確率分布取得部316が取得した時刻tにおけるベクトルekの確率ぷん婦Pに基づいて、符号化された潜在変数のエントロピー符号Ctを復号する。この復号部310は、復元装置2における復号部208と同様の処理を実行するので詳細については省略する。 The decoding unit 310 decodes the encoded latent variable entropy code C t based on the probability P of the vector e k at the time t acquired by the probability distribution acquisition unit 316 . The decoding unit 310 performs the same processing as the decoding unit 208 in the decompression device 2, so the details are omitted.

特徴量取得部312は、分割部306により分割されたタイルTから、タイルTの潜在変数(特徴量)を取得する。特徴量取得部108は、タイルTを訓練対象となる第1モデルM1に入力し、タイルTの潜在変数zを取得する。 The feature amount acquisition unit 312 acquires latent variables (feature amounts) of the tile T from the tile T divided by the division unit 306 . The feature acquisition unit 108 inputs the tile T to the first model M1 to be trained, and acquires the latent variable z of the tile T.

特徴量取得部312は、圧縮装置1における特徴量取得部108とは異なる構成を有していてもよい。特徴量取得部312は、第1モデルM1に分割部306が分割したタイルTを入力し、ベクトルekの選択確率を取得する。特徴量取得部312は、限定されない一例として、第1モデルM1の出力した確率に基づいて、Gumbel Softmaxの手法を用いて潜在変数を取得する。例えば、特徴量取得部312は、以下の式に基づいて、タイルTに対する潜在変数zを取得する。

Figure 2023063166000006
Figure 2023063166000007
Figure 2023063166000008
The feature quantity acquisition unit 312 may have a configuration different from that of the feature quantity acquisition unit 108 in the compression device 1 . The feature quantity obtaining unit 312 inputs the tile T divided by the dividing unit 306 into the first model M1, and obtains the selection probability of the vector e k . As a non-limiting example, the feature quantity acquisition unit 312 acquires latent variables using the Gumbel Softmax technique based on the probabilities output by the first model M1. For example, the feature quantity acquisition unit 312 acquires the latent variable z for the tile T based on the following formula.
Figure 2023063166000006
Figure 2023063166000007
Figure 2023063166000008

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)の代わりに、以下の式を用いてもよい。

Figure 2023063166000009
Figure 2023063166000010
Figure 2023063166000011
ここで、τは、温度を表すパラメータであり、訓練における順伝播、すなわち、特徴量取得部312の処理においては、十分小さい値、例えば、τ = 0.01等と設定してもよい。τを十分に小さい値とすることで、第1モデルM1の出力にSoftmax関数を通した出力と略一致させることができる。すなわち、圧縮装置1における潜在変数zの選択と略一致させることができる。 The feature quantity acquisition unit 312 may use the following formula instead of formula (7).
Figure 2023063166000009
Figure 2023063166000010
Figure 2023063166000011
Here, τ is a parameter representing temperature, and may be set to a sufficiently small value, for example, τ = 0.01, in forward propagation in training, that is, in the processing of the feature quantity acquisition unit 312 . By setting τ to a sufficiently small value, the output of the first model M1 can be approximately matched with the output obtained by passing the Softmax function. That is, it can be substantially matched with the selection of the latent variable z in the compression device 1. FIG.

式(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 prior acquisition unit 314 acquires a hyper-prior distribution of the prior distribution, with the probability distribution for the frame image I t-1 at time t −1 as the prior distribution and the posterior probability for the frame image I t at time t as the posterior distribution. do. The processing of the hyper-prior acquisition unit 314 is the same as that of the hyper-prior acquisition unit 110 of the compression device 1, so detailed description thereof will be omitted.

確率分布取得部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 feature acquisition unit 312 and the hyper prior code u acquired by the hyper prior acquisition unit 314. Estimate the probability distribution P. The processing of the probability distribution acquisition unit 316 is the same processing as that of the probability distribution acquisition unit 112 of the compression device 1, so detailed description is omitted.

色情報取得部318は、それぞれのタイルTにおいて、複数の画素をサンプリングし、当該サンプリングされた画素の座標値(位置p)と、タイルの潜在変数zとに基づいてサンプリングされた画素の色値Fを取得する。タイル内の全ての画素をサンプリングしてもよい。色情報取得部318の処理は、復元装置2の色情報取得部210と略同様であるので、詳細な説明は省略する。 The color information acquisition unit 318 samples a plurality of pixels in each tile T, and calculates the color value of the sampled pixel based on the coordinate value (position p) of the sampled pixel and the latent variable z of the tile. get an F. All pixels in a tile may be sampled. The processing of the color information acquisition unit 318 is substantially the same as that of the color information acquisition unit 210 of the restoration device 2, so detailed description is omitted.

更新部320は、色情報取得部318が出力した色値と、入力された動画データの色値と、を比較して誤差を算出し、当該誤差を逆伝播することにより、それぞれのモデルのパラメータを更新する。さらに、圧縮率を高める訓練をするために、圧縮率、すなわち、エントロピー符号Cの生成に関する指標を誤差として考慮してもよい。例えば、時刻tにおけるフレーム画像Itについて、目的関数を以下のように定義する。

Figure 2023063166000012
The update unit 320 calculates an error by comparing the color value output by the color information acquisition unit 318 and the color value of the input video data, and back-propagates the error to obtain the parameters of each model. to update. Furthermore, in order to train for increasing the compression rate, the compression rate, ie, an index for generation of the entropy code C, may be considered as an error. For example, for the frame image I t at time t, the objective function is defined as follows.
Figure 2023063166000012

ここで、Ltは、フレーム画像Itの再構成誤差に対応する評価であり、以下の式で表されてもよい。

Figure 2023063166000013
ここで、Dist()は、距離関数を表し、例えば、L1ノルム(マンハッタン距離)、L2ノルム(ユークリッド距離)であってもよいし、他の距離関数であってもよい。Nは、色情報取得部318においてサンプリングされた画素の数であり、c(pt)は、サンプリングされた画素の元の画像における画素の色(正解値)である。 Here, L t is an evaluation corresponding to the reconstruction error of the frame image I t and may be expressed by the following equation.
Figure 2023063166000013
Here, Dist( ) represents a distance function, and may be, for example, L1 norm (Manhattan distance), L2 norm (Euclidean distance), or other distance functions. N is the number of pixels sampled in the color information acquisition unit 318, and c(p t ) is the pixel color (correct value) in the original image of the sampled pixels.

また、Rtは、フレーム画像Itの圧縮率に対応する評価であり、以下の式で表されてもよい。

Figure 2023063166000014
第1項は、確率分布取得部316が取得した確率分布から求めることが可能であり、第2項のP()は、例えば、正規分布等の所与の確率分布が用いられる。なお、λは、復元精度と圧縮率とに基づいて、適切に設定されればよい。例えば、精度よりも圧縮率を高めるモデルを訓練する場合には、λをより大きくし、圧縮率よりも精度を高めるモデルを訓練する場合には、λをより小さく設定して訓練を実行してもよい。 Also, R t is an evaluation corresponding to the compression ratio of the frame image I t and may be expressed by the following formula.
Figure 2023063166000014
The first term can be obtained from the probability distribution acquired by the probability distribution acquisition unit 316, and P( ) of the second term uses, for example, a given probability distribution such as a normal distribution. Note that λ may be appropriately set based on the restoration accuracy and compression rate. For example, if you want to train a model that gives more compression than accuracy, set λ higher, and if you want to train a model that gives more accuracy than compression, set λ smaller. good too.

更新部320は、限定されない一例として式(11)により目的関数を算出し、この目的関数を小さくするように、各モデルのパラメータを更新する。この更新には、誤差逆伝播を用いることができる。第1モデルM1の逆伝播においては、上述したようにargmaxを用いるのではなく、Gumbel Softmaxを用いることで、適切に勾配情報を取得することができる。 As a non-limiting example, the updating unit 320 calculates the objective function by Equation (11), and updates the parameters of each model so as to reduce the objective function. Error backpropagation can be used for this update. In the backpropagation of the first model M1, gradient information can be obtained appropriately by using Gumbel Softmax instead of using argmax as described above.

図9は、訓練装置3の処理の一例を示すフローチャートである。
訓練装置3は、まず、入力部300を介して訓練データ(動画データ)を取得する(S300)。この動画データは、少なくとも連続した2時刻のフレーム画像が含まれる動画であればよい。精度の高い訓練をするために、多くのフレーム画像が含まれる動画であってもよい。
FIG. 9 is a flow chart showing an example of processing of the training device 3. As shown in FIG.
The training device 3 first acquires training data (video data) via the input unit 300 (S300). This moving image data may be a moving image including at least two consecutive frame images. A moving image including many frame images may be used for highly accurate training.

訓練装置3は、連続した時刻t - 1、tの2フレームを抽出して処理を開始する。まず、圧縮装置1で説明した処理と同様に、時刻tのフレーム画像ItをタイルTtごとに圧縮する(S302)。 The training device 3 extracts two frames at consecutive times t - 1 and t and starts processing. First, the frame image I t at time t is compressed for each tile T t (S302), in the same manner as the processing described for the compression device 1.

色情報取得部318は、複数の画素をサンプリングして第4モデルM4を用いて色値Fを取得し、フレーム画像Itの一部又は全部を復元する(S304)。 The color information acquisition unit 318 samples a plurality of pixels, acquires the color value F using the fourth model M4, and restores part or all of the frame image It (S304).

更新部320は、式(11)の目的関数が小さくなるように、各モデルのパラメータを逆伝播処理により更新する(S308)。上述したように、タイルごとの離散化した潜在変数を取得する処理においては、勾配を算出可能な関数を用いて処理を実行する。 The updating unit 320 updates the parameters of each model by backpropagation so that the objective function of Equation (11) becomes smaller (S308). As described above, in the process of acquiring the discretized latent variables for each tile, the process is executed using a function capable of calculating the gradient.

訓練装置3は、終了条件を満たしているか否かを判断し(S308)、適切な終了条件を満たすまで、訓練を繰り返す。すなわち、終了条件を満たしていない場合(S308: NO)、訓練の処理(S302~S306)を繰り返し、終了条件を満たしている場合(S310)、パラメータを出力(S310)して処理を終了する。 The training device 3 determines whether or not the termination condition is satisfied (S308), and repeats the training until an appropriate termination condition is satisfied. That is, if the end condition is not satisfied (S308: NO), the training process (S302-S306) is repeated, and if the end condition is satisfied (S310), the parameters are output (S310) and the process ends.

訓練の処理は、各パラメータの更新が収束するまで、アキュラシーが所定値を下回るまで、又は、所定のエポック数が終了するまで等の適切な終了条件まで続行される。訓練の処理は、例えば、バッチ処理で実行されてもよく、バッチ処理において計算された勾配平均に基づいて、各モデルのパラメータを更新してもよい。 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 training device 3 makes it possible to optimize the models used in the compression device 1 and the decompression device 2. FIG. By using these models, the compression device 1 can achieve compression of moving image data that achieves both high accuracy and high compression rate. Similarly, by using these models, the decompression device 2 can decompress the video data generated by the compression device 1 appropriately.

一例として、埋め込みベクトル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 compression device 1, the decompression device 2, or the training device 3) may be changed as long as there is no contradiction in data dependency. Similarly, a plurality of processes of the information processing device may be executed in parallel (for example, by SIMD instructions or MIMD instructions) as long as there is no contradiction in data dependency. For example, in compression or decoding, the information processing device sequentially compresses or decodes key frames, but can also compress or decode multiple key frames in parallel.

なお、時刻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 compression device 1, decompression device 2, and training device 3 may each be configured as an independent information processing device, or at least two of them may be configured as the same information processing device.

上記の全ての訓練済モデルは、例えば、説明したように訓練した上で、さらに、一般的な手法により蒸留されたモデルを含む概念であってもよい。 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: compression device 1, decompression device 2 or training device 3; hereinafter the same) in the above-described embodiment may be configured by hardware, or may be implemented by a CPU (Central Processing Unit) or GPU (Graphics Processing Unit) or the like may be configured by information processing of software (program) executed. In the case of software information processing, software that realizes at least part of the functions of each device in the above-described embodiments can be stored in CD-ROM (Compact Disc-Read Only Memory), USB (Universal Serial Bus) memory. The information processing of the software may be executed by storing it in a non-temporary storage medium (non-temporary computer-readable medium) such as the above and reading it into a computer. Alternatively, the software may be downloaded via a communication network. Furthermore, by implementing all or part of the software processing in a circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array), the information processing by the software may be executed by hardware. .

ソフトウェアを収納する記憶媒体は、光ディスク等の着脱可能なものでもよいし、ハードディスク又はメモリ等の固定型の記憶媒体であってもよい。また、記憶媒体は、コンピュータ内部に備えられてもよいし (主記憶装置または補助記憶装置等) 、コンピュータ外部に備えられてもよい。 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 processor 71, a main storage device 72 (memory), an auxiliary storage device 73 (memory), a network interface 74, and a device interface 75, which are connected via a bus 76. may be implemented as a computer 7 integrated with the

図10のコンピュータ7は、各構成要素を一つ備えているが、同じ構成要素を複数備えていてもよい。また、図10では、1台のコンピュータ7が示されているが、ソフトウェアが複数台のコンピュータにインストールされて、当該複数台のコンピュータそれぞれがソフトウェアの同一の又は異なる一部の処理を実行してもよい。この場合、コンピュータそれぞれがネットワークインタフェース74等を介して通信して処理を実行する分散コンピューティングの形態であってもよい。つまり、前述した実施形態における各装置 (情報処理装置) は、1又は複数の記憶装置に記憶された命令を1台又は複数台のコンピュータが実行することで機能を実現するシステムとして構成されてもよい。また、端末から送信された情報をクラウド上に設けられた1台又は複数台のコンピュータで処理し、この処理結果を端末に送信するような構成であってもよい。 The computer 7 in FIG. 10 has one component, but may have a plurality of the same components. Also, in FIG. 10, one computer 7 is shown. good too. In this case, it may be in the form of distributed computing in which each computer communicates via the network interface 74 or the like to execute processing. In other words, each device (information processing device) in the above-described embodiments may be configured as a system in which functions are realized by one or more computers executing instructions stored in one or more storage devices. good. Alternatively, the information transmitted from the terminal may be processed by one or more computers provided on the cloud, and the processing result may be transmitted to the terminal.

前述した実施形態における各装置 (情報処理装置) の各種演算は、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 computer 7 via a network. Thus, each device in the above-described embodiments may be in the form of parallel computing by one or more computers.

プロセッサ71は、少なくともコンピュータの制御又は演算のいずれかを行う電子回路 (処理回路、 Processing circuit 、 Processing circuitry 、 CPU 、 GPU 、 FPGA 、 ASIC 等) であってもよい。また、プロセッサ71は、汎用プロセッサ、特定の演算を実行するために設計された専用の処理回路又は汎用プロセッサと専用の処理回路との両方を含む半導体装置等のいずれであってもよい。また、プロセッサ71は、光回路を含むものであってもよいし、量子コンピューティングに基づく演算機能を含むものであってもよい。 Processor 71 may be at least electronic circuitry (processing circuitry, processing circuitry, CPU, GPU, FPGA, ASIC, etc.) that either controls or performs computations on a computer. Also, processor 71 may be a general-purpose processor, a dedicated processing circuit designed to perform a specific operation, or a semiconductor device including both a general-purpose processor and dedicated processing circuit, or the like. Also, the processor 71 may include an optical circuit, or may include an arithmetic function based on quantum computing.

プロセッサ71は、コンピュータ7の内部構成の各装置等から入力されたデータやソフトウェアに基づいて演算処理を行ってもよく、演算結果や制御信号を各装置等に出力してもよい。プロセッサ71は、コンピュータ7の OS (Operating System) や、アプリケーション等を実行することにより、コンピュータ7を構成する各構成要素を制御してもよい。 The processor 71 may perform arithmetic processing based on data and software input from each device or the like of the internal configuration of the computer 7, and may output the arithmetic result or control signal to each device or the like. The processor 71 may control each component of the computer 7 by executing the OS (Operating System) of the computer 7, applications, and the like.

前述した実施形態における各装置 (情報処理装置) は、1又は複数のプロセッサ71により実現されてもよい。ここで、プロセッサ71は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいは2つ以上のデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。 Each device (information processing device) in the above-described embodiments may be implemented by one or more processors 71 . Here, the processor 71 may refer to one or more electronic circuits arranged on one chip, or may refer to one or more electronic circuits arranged on two or more chips or two or more devices. You can point When multiple electronic circuits are used, each electronic circuit may communicate by wire or wirelessly.

主記憶装置72は、プロセッサ71が実行する命令及び各種データ等を記憶してもよく、主記憶装置72に記憶された情報がプロセッサ71により読み出されてもよい。補助記憶装置73は、主記憶装置72以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ又は不揮発性メモリのいずれでもよい。前述した実施形態における各装置 (情報処理装置) において各種データ等を保存するための記憶装置は、主記憶装置72又は補助記憶装置73により実現されてもよく、プロセッサ71に内蔵される内蔵メモリにより実現されてもよい。例えば、前述した実施形態における記憶部102は、主記憶装置72又は補助記憶装置73により実現されてもよい。 The main memory device 72 may store instructions and various data executed by the processor 71 , and the information stored in the main memory device 72 may be read by the processor 71 . Auxiliary storage device 73 is a storage device other than main storage device 72 . These storage devices mean any electronic components capable of storing electronic information, and may be semiconductor memories. Semiconductor memory may be either volatile memory or non-volatile memory. A storage device for storing various data in each device (information processing device) in the above-described embodiments may be realized by the main storage device 72 or the auxiliary storage device 73, and may be realized by the built-in memory built into the processor 71. may be implemented. For example, the storage unit 102 in the above-described embodiment may be realized by the main storage device 72 or the auxiliary storage device 73.

前述した実施形態における各装置 (情報処理装置) が、少なくとも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, storage device 1 At least one processor may be connected to one. At least one storage device may be connected to one processor. Also, a configuration may be included in which at least one processor among the plurality of processors is connected to at least one storage device among the plurality of storage devices. This configuration may also be implemented by storage devices and processors included in multiple computers. Furthermore, a configuration in which a storage device is integrated with a processor (for example, a cache memory including an L1 cache and an L2 cache) may be included.

ネットワークインタフェース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 network interface 74 is an interface for connecting to the communication network 8 wirelessly or by wire. As for the network interface 74, an appropriate interface such as one conforming to existing communication standards may be used. The network interface 74 may exchange information with the external device 9A connected via the communication network 8. FIG. Note that the communication network 8 may be any one of WAN (Wide Area Network), LAN (Local Area Network), PAN (Personal Area Network), etc., or a combination thereof, and is used to connect the computer 7 and the external device 9A. It is sufficient if information can be exchanged between them. Examples of WAN include the Internet, examples of LAN include IEEE 802.11 and Ethernet (registered trademark), and examples of PAN include Bluetooth (registered trademark) and NFC (Near Field Communication).

デバイスインタフェース75は、外部装置9Bと直接接続する USB 等のインタフェースである。 The device interface 75 is an interface such as USB for direct connection with the external device 9B.

外部装置9Aは、コンピュータ7とネットワークを介して接続されている装置である。外部装置9Bは、コンピュータ7と直接接続されている装置である。 The external device 9A is a device connected to the computer 7 via a network. External device 9B is a device that is directly connected to computer 7 .

外部装置9A又は外部装置9Bは、一例として、入力装置であってもよい。入力装置は、例えば、カメラ、マイクロフォン、モーションキャプチャ、各種センサ等、キーボード、マウス又はタッチパネル等のデバイスであり、取得した情報をコンピュータ7に与える。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の入力部とメモリとプロセッサを備えるデバイスであってもよい。 As an example, the external device 9A or the external device 9B may be an input device. The input device is, for example, a device such as a camera, microphone, motion capture, various sensors, keyboard, mouse or touch panel, and provides the computer 7 with acquired information. Alternatively, a device such as a personal computer, a tablet terminal, or a smartphone including an input unit, a memory, and a processor may be used.

また、外部装置9A又は外部装置9Bは、一例として、出力装置でもよい。出力装置は、例えば、 LCD (Liquid Crystal Display) 、有機 EL (Electro Luminescence) パネル等の表示装置であってもよいし、音声等を出力するスピーカ等であってもよい。また、パーソナルコンピュータ、タブレット端末又はスマートフォン等の出力部とメモリとプロセッサを備えるデバイスであってもよい。 Also, the external device 9A or the external device 9B may be an output device as an example. The output device may be, for example, a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro Luminescence) panel, or a speaker or the like for outputting sound. Alternatively, a device such as a personal computer, a tablet terminal, or a smartphone including an output unit, a memory, and a processor may be used.

また、外部装置9A又は外部装置9Bは、記憶装置 (メモリ) であってもよい。例えば、外部装置9Aは、ネットワークストレージ等であってもよく、外部装置9Bは、 HDD 等のストレージであってもよい。 Also, the external device 9A or the external device 9B may be a storage device (memory). For example, the external device 9A may be a network storage or the like, and the external device 9B may be a storage such as an HDD.

また、外部装置9A又は外部装置9Bは、前述した実施形態における各装置 (情報処理装置) の構成要素の一部の機能を有する装置でもよい。つまり、コンピュータ7は、外部装置9A又は外部装置9Bに処理結果の一部又は全部を送信してもよいし、外部装置9A又は外部装置9Bから処理結果の一部又は全部を受信してもよい。 Also, the external device 9A or the external device 9B may be a device having a part of the functions of the constituent elements of each device (information processing device) in the above-described embodiments. That is, the computer 7 may transmit part or all of the processing result to the external device 9A or the external device 9B, or may receive part or all of the processing result from the external device 9A or the external device 9B. .

本明細書 (請求項を含む) において、「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モデル、第2モデル、第3モデルのパラメータを格納した、1又は複数のメモリと、
前記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又は複数のプロセッサは、
前記第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画像及び前記第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画像のタイルの前記離散化された潜在変数をエントロピー符号化により符号化する、
請求項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.
訓練済みの訓練装置により訓練された第3モデル及び第4モデルのパラメータを格納した、1又は複数のメモリと、
前記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.
前記1又は複数のプロセッサは、
すでに取得されている、前記第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画像がキーフレームである場合に、前記1又は複数のプロセッサは、
圧縮データから前記圧縮された第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又は複数のプロセッサは、
前記確率分布を用いて、エントロピー符号化により符号化された前記第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画像の1単位時間前の第2画像について、タイルに分割し、
前記タイルの離散化された潜在変数を、第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.
前記色値と、前記正解の色値との差に基づいた復元精度に関する評価、及び、前記第2モデルを用いて推定される前記確率分布にしたがって前記第3モデルを用いて取得する前記確率分布と、前記第2モデルを用いて推定される前記ハイパープライアコードの確率とに基づいた圧縮率に関する評価、に基づいて、前記第1モデルと、前記第2モデルと、前記第3モデルと、前記第4モデルと、を訓練する、
請求項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.
前記第1モデルは、前記タイルの潜在変数に対して、あらかじめ定義された複数の埋め込みベクトルについての確率分布を推定するモデルである、
請求項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.
前記第2モデルは、前記第1画像を事後分布とし、事前分布である前記第2画像からの変化に関するベクトルである前記ハイパープライアコードを推定するモデルである、
請求項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.
前記第3モデルは、前記ハイパープライアコードと、前記第2画像のタイルの前記潜在変数と、に基づいて、前記第2画像のタイルから前記第1画像のタイルへの変化から前記第1画像における前記潜在変数を、前記第2画像における前記潜在変数の確率と分布として推定する、
請求項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.
前記第4モデルは、前記潜在変数から、タイルの任意の位置の画素の色値を取得するモデルである、
請求項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.
JP2021173511A 2021-10-22 2021-10-22 Compression apparatus, decompression apparatus, and method of generating model Pending JP2023063166A (en)

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)

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