EP4595446A1 - Uniform vector quantization for end-to-end image/video compression - Google Patents
Uniform vector quantization for end-to-end image/video compressionInfo
- Publication number
- EP4595446A1 EP4595446A1 EP23769297.5A EP23769297A EP4595446A1 EP 4595446 A1 EP4595446 A1 EP 4595446A1 EP 23769297 A EP23769297 A EP 23769297A EP 4595446 A1 EP4595446 A1 EP 4595446A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- quantization
- latents
- uniform
- image data
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/94—Vector quantisation
Definitions
- End-to-end compression is a compression technique where all components of the processes are learned from given data. End-to-end means that everything is learned from one end (given data) to another end (compressed bitstream).
- a method of video encoding comprising: obtaining latents associated with image data using a neural network; performing uniform vector quantization on said latents to obtain respective codewords; and performing lossless encoding on indices of said respective codewords based on a probability distribution of said latents.
- a method of video decoding comprising: performing lossless decoding to obtain codeword indices based on a probability distribution of latents representing image data; performing uniform vector de-quantization based on said codeword indices to reconstruct latents associated with said image data; and decoding said image data from said reconstructed latents using a neural network.
- an apparatus for video encoding comprising one or more processors and at least one memory coupled to said one or more processors, wherein said one or more processors are configured to: obtain latents associated with image data using a neural network; perform uniform vector quantization on said latents to obtain respective codewords; and perform lossless encoding on indices of said respective codewords based on a probability distribution of said latents.
- an apparatus for video decoding comprising one or more processors and at least one memory coupled to said one or more processors, wherein said one or more processors are configured to: perform lossless decoding to obtain codeword indices based on a probability distribution of latents representing image data; perform uniform vector de-quantization based on said codeword indices to reconstruct latents associated with said image data; and decode said image data from said reconstructed latents using a neural network.
- One or more embodiments also provide a computer program comprising instructions which when executed by one or more processors cause the one or more processors to perform the encoding method or decoding method according to any of the embodiments described herein.
- FIG. 1 illustrates a block diagram of a system within which aspects of the present embodiments may be implemented.
- FIG.2 illustrates a training loop of an end-to-end image compression model.
- FIG.3 illustrates an encoding process of an end-to-end image compression model.
- FIG.4 illustrates a decoding process of an end-to-end image compression model.
- FIG. 5 illustrates how the current end-to-end image compression model applies quantization, dequantization, encoding and decoding with the given latents and probability in the test phase.
- FIG.6 illustrates sample unit grids in 2D space and some properties.
- FIG.7 illustrates a quantization grid for pseudo 2D latents in the default model (uniform SQ) and in our proposal (uniform VQ).
- FIG. 8 illustrates how our proposal applies quantization, dequantization, encoding and decoding with the given latents and probability in the test phase, according to an embodiment.
- FIG.9A illustrates the quantization error for the 2D hexagonal grid, where latents can be anywhere inside the grid;
- FIG.9B illustrates a latent and the distribution of continuous relaxation of its hexagonal grid quantization.
- FIG.10 illustrates a post-training loop of a deep decoder network for VQ grids, according to an embodiment.
- FIG. 11 illustrates a post-training loop of a full model for VQ grids, according to an embodiment.
- FIG.12 illustrates BD-rate gains on the Kodak test set for different quality.
- FIG.1 illustrates a block diagram of an example of a system in which various aspects and embodiments can be implemented.
- System 100 may be embodied as a device including the various components described below and is configured to perform one or more of the aspects described in this application. Examples of such devices, include, but are not limited to, various electronic devices such as personal computers, laptop computers, smartphones, tablet computers, digital multimedia set top boxes, digital television receivers, personal video recording systems, connected home appliances, and servers. Elements of system 100, singly or in combination, may be embodied in a single integrated circuit, multiple ICs, and/or discrete components. For example, in at least one embodiment, the processing and encoder/decoder elements of system 100 are distributed across multiple ICs and/or discrete components.
- the system 100 is communicatively coupled to other systems, or to other electronic devices, via, for example, a communications bus or through dedicated input and/or output ports. In various embodiments, the system 100 is configured to implement one or more of the aspects described in this application. [22]
- the system 100 includes at least one processor 110 configured to execute instructions loaded therein for implementing, for example, the various aspects described in this application. Processor 110 may include embedded memory, input output interface, and various other circuitries as known in the art.
- the system 100 includes at least one memory 120 (e.g., a volatile memory device, and/or a non-volatile memory device).
- System 100 includes a storage device 140, which may include non-volatile memory and/or volatile memory, including, but not limited to, EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic disk drive, and/or optical disk drive.
- the storage device 140 may include an internal storage device, an attached storage device, and/or a network accessible storage device, as non-limiting examples.
- System 100 includes an encoder/decoder module 130 configured, for example, to process data to provide an encoded video or decoded video, and the encoder/decoder module 130 may include its own processor and memory.
- the encoder/decoder module 130 represents module(s) that may be included in a device to perform the encoding and/or decoding functions.
- a device may include one or both of the encoding and decoding modules. Additionally, encoder/decoder module 130 may be implemented as a separate element of system 100 or may be incorporated within processor 110 as a combination of hardware and software as known to those skilled in the art. [24] Program code to be loaded onto processor 110 or encoder/decoder 130 to perform the various aspects described in this application may be stored in storage device 140 and subsequently loaded onto memory 120 for execution by processor 110. In accordance with various embodiments, one or more of processor 110, memory 120, storage device 140, and encoder/decoder module 130 may store one or more of various items during the performance of the processes described in this application.
- Such stored items may include, but are not limited to, the input video, the decoded video or portions of the decoded video, the bitstream, matrices, variables, and intermediate or final results from the processing of equations, formulas, operations, and operational logic.
- memory inside of the processor 110 and/or the encoder/decoder module 130 is used to store instructions and to provide working memory for processing that is needed during encoding or decoding.
- a memory external to the processing device for example, the processing device may be either the processor 110 or the encoder/decoder module 130) is used for one or more of these functions.
- the external memory may be the memory 120 and/or the storage device 140, for example, a dynamic volatile memory and/or a non-volatile flash memory.
- an external non-volatile flash memory is used to store the operating system of a television.
- a fast external dynamic volatile memory such as a RAM is used as working memory for video coding and decoding operations, such as for MPEG-2, MPEG-4, HEVC, or VVC.
- the input to the elements of system 100 may be provided through various input devices as indicated in block 105.
- Such input devices include, but are not limited to, (i) an RF portion that receives an RF signal transmitted, for example, over the air by a broadcaster, (ii) a Composite input terminal, (iii) a USB input terminal, and/or (iv) an HDMI input terminal.
- the input devices of block 105 have associated respective input processing elements as known in the art.
- the RF portion may be associated with elements suitable for (i) selecting a desired frequency (also referred to as selecting a signal, or band-limiting a signal to a band of frequencies), (ii) down converting the selected signal, (iii) band- limiting again to a narrower band of frequencies to select (for example) a signal frequency band which may be referred to as a channel in certain embodiments, (iv) demodulating the down converted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select the desired stream of data packets.
- a desired frequency also referred to as selecting a signal, or band-limiting a signal to a band of frequencies
- down converting the selected signal for example
- band- limiting again to a narrower band of frequencies to select (for example) a signal frequency band which may be referred to as a channel in certain embodiments
- demodulating the down converted and band-limited signal (v) performing error correction, and (vi) demultiplexing to select the desired stream of data
- the RF portion of various embodiments includes one or more elements to perform these functions, for example, frequency selectors, signal selectors, band- limiters, channel selectors, filters, downconverters, demodulators, error correctors, and demultiplexers.
- the RF portion may include a tuner that performs various of these functions, including, for example, down converting the received signal to a lower frequency (for example, an intermediate frequency or a near-baseband frequency) or to baseband.
- the RF portion and its associated input processing element receives an RF signal transmitted over a wired (for example, cable) medium, and performs frequency selection by filtering, down converting, and filtering again to a desired frequency band.
- USB and/or HDMI terminals may include respective interface processors for connecting system 100 to other electronic devices across USB and/or HDMI connections.
- input processing for example, Reed-Solomon error correction
- aspects of USB or HDMI interface processing may be implemented within separate interface ICs or within processor 110 as necessary.
- the demodulated, error corrected, and demultiplexed stream is provided to various processing elements, including, for example, processor 110, and encoder/decoder 130 operating in combination with the memory and storage elements to process the datastream as necessary for presentation on an output device.
- Various elements of system 100 may be provided within an integrated housing. Within the integrated housing, the various elements may be interconnected and transmit data therebetween using suitable connection arrangement 115, for example, an internal bus as known in the art, including the I2C bus, wiring, and printed circuit boards.
- the system 100 includes communication interface 150 that enables communication with other devices via communication channel 190.
- the communication interface 150 may include, but is not limited to, a transceiver configured to transmit and to receive data over communication channel 190.
- the communication interface 150 may include, but is not limited to, a modem or network card and the communication channel 190 may be implemented, for example, within a wired and/or a wireless medium.
- Data is streamed to the system 100, in various embodiments, using a Wi-Fi network such as IEEE 802. 11.
- the Wi-Fi signal of these embodiments is received over the communications channel 190 and the communications interface 150 which are adapted for Wi-Fi communications.
- the communications channel 190 of these embodiments is typically connected to an access point or router that provides access to outside networks including the Internet for allowing streaming applications and other over-the-top communications.
- Other embodiments provide streamed data to the system 100 using a set-top box that delivers the data over the HDMI connection of the input block 105.
- the system 100 may provide an output signal to various output devices, including a display 165, speakers 175, and other peripheral devices 185.
- the other peripheral devices 185 include, in various examples of embodiments, one or more of a stand-alone DVR, a disk player, a stereo system, a lighting system, and other devices that provide a function based on the output of the system 100.
- control signals are communicated between the system 100 and the display 165, speakers 175, or other peripheral devices 185 using signaling such as AV. Link, CEC, or other communications protocols that enable device-to-device control with or without user intervention.
- the output devices may be communicatively coupled to system 100 via dedicated connections through respective interfaces 160, 170, and 180. Alternatively, the output devices may be connected to system 100 using the communications channel 190 via the communications interface 150.
- the display 165 and speakers 175 may be integrated in a single unit with the other components of system 100 in an electronic device, for example, a television.
- the display interface 160 includes a display driver, for example, a timing controller (T Con) chip.
- T Con timing controller
- the display 165 and speaker 175 may alternatively be separate from one or more of the other components, for example, if the RF portion of input 105 is part of a separate set-top box.
- FIG.2 illustrates the training phase of a modern end-to-end compression system.
- An input image to be compressed, ⁇ ⁇ ⁇ ⁇ ⁇ is first processed by a deep encoder (210) with ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ , where ⁇ is a trainable parameter of function ⁇ ⁇ to be optimized during the training phase. of the encoder, ⁇ ⁇ ⁇ ⁇ , is called the main embedding (or main latents) of the image.
- the image is square ( ⁇ ⁇ ⁇ ) and the main embedding is also square ( ⁇ ⁇ ⁇ ). However, they do not need to be square and can be in any shape.
- the input image can be fed to the encoder at the image level or be partitioned into image regions with the individual image region as input to the encoder. [36] Then ⁇ goes to the quantizer (260) as ⁇ ⁇ ⁇ ⁇ to obtain main codes of the image, followed by dequantization block ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ (265) to obtain reconstructed main latents ⁇ .
- State of the art neural models use the hyperprior entropy model.
- the side embedding (or side latents) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ is learned by another deep neural network (220) by ⁇ ⁇ h ⁇ ⁇ ⁇ ; ⁇ , where ⁇ is a trainable parameters of function h ⁇ to be optimized during the training phase, and the side embedding is quantized (270) by ⁇ ⁇ ⁇ ⁇ to obtain side codes ⁇ , followed by dequantization ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ (275) to obtain reconstructed side latents ⁇ .
- ⁇ is used to learn the probability model of ⁇ .
- ⁇ can be modelled by Gaussian distribution where the parameters are obtained by another deep network (240) such as [ ⁇ , ⁇ ⁇ h ⁇ ⁇ ⁇ ; ⁇ .
- the decompressed image ⁇ ⁇ ⁇ ⁇ is obtained by a deep decoder (230) with ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; ⁇ ⁇ .
- the values of ⁇ and k depend on the defined architecture, and m usually is 1/16 of the image’s spatial resolution, and k is usually 1/8 of the embedding’s size.
- the value of o is fixed at 128 for instance in most common architectures.
- the lower bound of bitlength of side codes ⁇ is calculated by the factorized entropy model (250).
- PDF probability density function
- PMF probability mass function
- the model calculates the probability mass function (PMF) of each code under a certain quantization method. PMF values are enough to calculate the lower bound of the bitlength of side codes.
- the lower bound of the bitlength of main codes ⁇ is calculated by the hyperprior entropy model. This model is usually implemented by Gaussian distribution.
- each reconstructed main latent ( ⁇ ⁇ ) in ⁇ is supposed to follow Gaussian distribution where the parameters ( ⁇ ⁇ , ⁇ ⁇ ) are obtained by side information in the previous step.
- these Gaussian’s PMF under the determined quantization method is enough to calculate the lower bound of the bitlength of main codes.
- ⁇ are composed of multiple neural layers, such as convolutional layers.
- Each neural layer can be described as a function that first multiplies the input by a tensor, adds a vector called the bias and then applies a nonlinear function on the resulting values.
- the shape (and other characteristics) of the tensor and the type of non-linear functions are called the architecture of the network.
- the weights and, if applicable, the parameters of the non-linear functions are called the parameters.
- the architecture and the parameters define a “model”. As described above, we denote their parameters by ⁇ , ⁇ , ⁇ , ⁇ and ⁇ . [40] Many end-to-end architectures have been proposed recently.
- a model must be trained on massive databases D of images to learn the weights of the encoder, decoder and entropy models. Typically, the weights are optimized to minimize a training loss: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ log ⁇ ⁇ ⁇ ⁇ ⁇
- ⁇ (215) is a measure of the distortion between the original and the reconstructed image (for example the mean square error).
- the rate term (255, 245) is the sum of the lower bound of the bitlength of side information ( ⁇ log ⁇ ⁇ ⁇ ⁇ ⁇
- Hyperparameter ⁇ controls the trade-off between the rate (r) and distortion (d) terms. Note here the rate is based on the lower bound of the bitlength of main information and side information, but other methods can be used to estimate the rates.
- the encoding device converts the side codes into a bitstream by a lossless encoder, for example, an arithmetic encoder AE (390) driven by the learned PMF tables provided by the factorized entropy model (350).
- Side codes obtained from quantization (370) are dequantized (375) and reconstructed side latents are obtained in the next step.
- a hyperprior entropy decoder (340) decodes reconstructed side latents in order to find the distribution of main codes.
- main codes obtained from quantization (360) are converted into bitstream by a lossless encoder, for example, an arithmetic encoder AE (380) using these distributions. Finally, these two bitstreams are concatenated with some pointer in between.
- the process starts with decoding of side codes from the bitstream, which can be done by a lossless decoder, for example, an arithmetic decoder AD (470) by using the learned PMF tables provided by the factorized entropy model (460).
- the side codes are dequantized (450) and reconstructed side latents are obtained in the next step.
- a hyperprior entropy decoder (440) accepts reconstructed side latents as input in order to find the distribution of the main codes. These distributions inform the AD (430) how to read the main codes from the bitstream.
- Dequantization (420) is then applied on the main codes to reconstruct the main latents.
- the decoding device can get the reconstructed image by feeding the deep decoder (410) with the reconstructed main latents.
- Quantization [47] The quantization step denoted as ⁇ . ⁇ and its counterpart dequantization step ⁇ ⁇ ⁇ . ⁇ , need to be applied to obtain the reconstructed main and side latents. For the simplicity, we provide explanation on main latents. The same quantization and dequantization can be applied to the side latents as well. [48] In the end-to-end compression literature, quantization was applied in two different classes of approaches either by Scalar Quantization (SQ) or Vector Quantization (VQ).
- SQ Scalar Quantization
- VQ Vector Quantization
- SQ assigns a code for each scalar ( ⁇ ⁇ , ⁇ , ⁇ ) in the embedding tensor ( ⁇ ) separately while VQ first constructs v- dimensional ⁇ ⁇ ⁇ ⁇ . ⁇ . ⁇ ⁇ from ⁇ ⁇ ⁇ ⁇ and assigns a code for each v- dimensional latent ⁇ ⁇ ⁇ number of codes in VQ is ⁇ times less than the number of codes in SQ.
- the number of distinct values in the codebook (dictionary length) of VQ should be higher than SQ, thus the probability of each code in VQ will be much lower than the probability of codes in SQ.
- the quantization border is the boundary between the quantization grids (partition regions) of the quantization map. For example, for scalar quantization, if the number in range [1.5, 2.5] is quantized into 2, then this quantization bin's borders are 1.5 and 2.5. In the VQ case, the data has higher dimension. [49] However, VQ may not apply the same quantization border for each dimension. It may find a better quantization grid on the higher dimensional space, thus increasing the rate distortion performance.
- the quantization step is not directly usable in gradient-based training since the quantization has non-informative gradients (zero almost everywhere, infinity on quantization border).
- One approach is to use continuous relaxation of uniform SQ.
- quantization is simulated by ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , where ⁇ is a random sample from uniform noise with 1-bin width around the zero point such as ⁇ ⁇ ⁇ ⁇ ⁇ 0.5, 0.5 ⁇ in the training phase, where ⁇ 0.5, 0.5 ⁇ represents uniform distribution that generates random number between -0.5 to 0.5. But in the test phase, the deterministic hard quantization is applied.
- each v-dimensional embedding should be assigned to the index of the closest quantization center as ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ argmin ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ and return the quantization center ⁇ ⁇ coordinate for the the argmin operator applies hard assignment (assign the closest quantization center’s index), it is not differentiable.
- soft assignment was used. Soft assignment assigns all M codes in the dictionary to ⁇ ⁇ with different probabilities according to their distances.
- VQ quantization is unstable in the end-to-end manner, and it is hard to learn a better quantization map (a collection of quantization grids that fill the space without a gap) than SQ.
- VQ learns non-uniform quantization maps and it is not clear if we need non-uniform quantization maps because the deep encoder can learn any non-linear transformation that transform a non-uniform quantization map into a uniform quantization map.
- uniform quantization grids may be enough, and they can be learned more robustly. So far, most current end-to-end image compression methods use the uniform SQ quantizer and do not use the theoretical advantage of VQ.
- This embodiment does not need any re-training phase, instead it takes any pre- trained model that is optimized for uniform SQ on the latents and changes its quantization map with the theoretically known optimal VQ grid on higher dimension.
- One of the drawbacks of this approach is that, even though our average quantization error is lower than the default one, some latent’s individual quantization error may be higher than the maximum expected quantization error in SQ. Thus, the decoder may not be robust for this individual latent’s quantization error. In average the proposed method never makes the rate distortion performance worse than the default model, but the proposal becomes clearly sub-optimal.
- we propose the second and third embodiments which take the existing model and finetune a part of the model or the full model with respect to the new fixed optimal VQ map.
- the decoder becomes more stable for these high individual quantization errors. Since the encoder may be trained based on SQ and the deployment is based on VQ, we also refer to our method as a hybrid SQ/VQ method. According to our test, we improved the BD-rate of the state-of-the-art end-to-end compression algorithm by more than 2%. [56] Most recent end-to-end image/video compression models encode two kinds of information, namely, main codes ( ⁇ ) and side codes ( ⁇ ) into the bitstream. According to our analysis, the vast majority of the bitstream is used by the main codes (around 95-99%) and a fraction of the bitstream is used by the side codes. That is why the improvement on main codes encoding is much more important than side codes.
- ⁇ ⁇ shows the latent’s indices whose corresponding PDF is ⁇ ⁇ .
- the total number of indices in each set must be equal to the total number of latents in ⁇ , i.e., ⁇ . ⁇ . ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- Each ⁇ ⁇ can be seen as a subset of embedding ⁇ that makes ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ... ⁇ ⁇ ⁇ .
- side information which latent uses which PDF is determined by index of the embeddings (feature band refers corresponding PDF) that shows the position out of f positions. For example, if z has a 4x4x128 dimension, then z(2,1,46) shows a scalar in the 2 nd row, 1 st column and 46 th feature band and the last index is 46.
- this information is obtained by the entropy model using side information.
- the expected bitlength would be ⁇
- This process should be repeated for all ⁇ ⁇ 1 ... ⁇ .
- the final expected (rate) would be ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- the PMF table ⁇ ⁇ . ⁇ is also used by AD (530). Since the (540) of nearest integer quantization is an identity function, the dequantized latents are the same with codes as it is ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ .
- uniform VQ is optimal. If the v-dimensional space is filled without any blank area and without overlapping with a repetition of a single v- dimensional shape that has minimum surface/volume ratio (minimum energy), the optimal VQ solution is equivalent to this uniform v-dimensional shape partitioning.
- the square grid can fill the space well.
- a unit area square grid is 4.
- a circle that has unit area has the minimum energy with 2 ⁇ ⁇ ⁇ 3.54, but it cannot fill the 2D space without blank and overlapping.
- a hexagonal grid can fill the space well and has energy approximately 3.72 which is better than a square grid.
- a hexagonal grid is known as the optimal uniform quantization grid in 2D space.
- 2D VQ we can tile the space with M hexagonal grids whose centers are initially calculated as ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ 1.. ⁇ .
- the truncated octahedron is to be known as the best candidate for the uniform quantization grid.
- the best selection would be M truncated octahedron that tiles the 3D space where their centers are ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ 1.. ⁇ .
- Our methods are not limited to 2D and 3D optimal uniform quantization centers.
- FIG. 8 illustrates a method to be applied in the test phase, according to an embodiment.
- each column vector of reshaped latents is a point in the v-dimensional space as ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ and there are
- these pseudo 2-dimensional latents can be seen in FIG. 7 with the quantizing unit square grid as in the default SQ model and the hexagonal grid for a special case, where ⁇ ⁇ 2.
- the quantization step (820) we find the index of the closest quantization center for each ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ 1 ...
- This step can be obtained by ⁇ ⁇ ⁇ argmin ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ .
- ⁇ codes ⁇ ⁇ ⁇ ⁇
- ⁇ iterates all quantization centers ⁇ ⁇ 1 ... ⁇ , where ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ represents the j-th quantization grid centered on ⁇ ⁇ .
- This integral can be calculated analytically.
- Monte-Carlo simulations can be useful.
- AE can encode ⁇ ⁇ by using ⁇ ⁇ ⁇ ⁇ . ⁇ .
- the decoder device also needs initially calculated ⁇ ⁇ ⁇ ⁇ . ⁇ to obtain codes ⁇ ⁇ by an arithmetic decoder AD (840) from the bitstream. This step should be followed by the de-quantization step (850) which returns the quantization center of the corresponding quantization grid shown by reconstructed codes ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ . Then, we need to cancel out the reshaping process at the beginning of the by reshaping (860) ⁇ ⁇ ⁇ ⁇ ⁇
- Step1 Define ⁇ , ⁇ ⁇ ⁇ ⁇ and optimal uniform quantization centers ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ 1.. ⁇ .
- Step3 For all ⁇ ⁇ 1 ... ⁇ Calculate the PMF of quantization centers ⁇ ⁇ ⁇ ⁇ ⁇ . ⁇ , by using default PDF ⁇ ⁇ . ⁇ . Step3. Share ⁇ , ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ 1.. ⁇ , and ⁇ ⁇ ⁇ ⁇ . ⁇ ⁇ 1 ... ⁇ with both encoding and decoding [75] Steps to be done in the encoding device: Step1. Input image ⁇ ⁇ ⁇ ⁇ . Step2. Obtain embeddings ⁇ ⁇ ⁇ ⁇ by the deep encoder network. Step3.
- Step3.1 Obtain embeddings ⁇ ⁇ ⁇ ⁇ by the deep encoder network by ⁇ ⁇ h ⁇ ⁇ ⁇ ; ⁇ ⁇ .
- Step3.2 Obtain reconstructed side latent codes ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ .
- Step3.3 Obtain the distribution parameter of main latents [ ⁇ , ⁇ ⁇ h ⁇ ⁇ ⁇ ; ⁇ , where ⁇ , ⁇ ⁇ ⁇ ⁇ .
- Step3.4 Classify each scalar y ijk with its corresponding scalar ⁇ ⁇ into s group. If the ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , yijk is classified in the b-th group. There are s+1 predefined classes each y ijk is assigned a group out of s. Step3.5 Create a set ⁇ ⁇ that keeps the indices of yijk which is assigned to the c-th group. Step4. Divide latents into subsets ⁇ ⁇ ⁇ ⁇
- Step5.1 Reshape ⁇ ⁇ ⁇ ⁇
- Step5.2 Apply VQ by ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ argmin ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ for ⁇ ⁇ 1 ...
- Steps to be done in the decoding device Step1. Input the bitstream. Step2.
- Step2. For all ⁇ ⁇ 1 ... ⁇ Step2.1 Read codes ⁇ ⁇ from the bitstream by AD using ⁇ ⁇ ⁇ ⁇ .
- Step2.2 Dequantize codes by ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ; Step2.3 Reshape ⁇ ⁇ ⁇ ⁇
- Step4. Unite subsets of latents ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ where ⁇ ⁇ ⁇ ⁇ .
- Step5. Obtain reconstructed [77]
- One of the drawbacks of the first embodiment is the higher individual maximum quantization error in VQ than SQ.
- ⁇ ⁇ is a uniform distribution in the v-dimensional space defined by: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ 1, ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ where ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ 1, ⁇ ⁇ grid centered at zero point.
- Step3.5 Reshape ⁇ ⁇ ⁇ ⁇ ⁇
- Step3.6 (if step3.1) Take back the random permutation on ⁇ ⁇ .
- Step4. Unite subsets of latents ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ , where ⁇ ⁇ ⁇ ⁇ (1060).
- Step5. Obtain reconstructed .
- the parameter of the deep decoder network can be finetuned starting from pre-trained parameters by minimizing following loss.
- the v-dimensional PDF can be obtained by simply multiplication of the ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ as for 2D PDF: ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ ⁇ ⁇ . ⁇ ⁇ ⁇ .
- each latent follows its own distribution during the training phase. They are grouped into s distributions in the test phase. Thus, each pseudo v-dimensional latent should have its own distribution.
- latents in the same v- dimensional vector can follow different distributions. If we know each latent’s distribution, we can create the pseudo v-dimensional PDF by simply multiplying each dimension’s PDFs.
- these PDFs are outputs of a neural network.
- FIG. 11 illustrates the post-training loop of a full model for VQ grids, according to an embodiment.
- Forward pass steps for full model post training Step1. Input image ⁇ ⁇ ⁇ ⁇ ⁇ , unit volume v-dimensional grid ⁇ ⁇ ⁇ ⁇ , and distribution ⁇ ⁇ . Step2. Obtain embeddings ⁇ ⁇ ⁇ ⁇ by the deep encoder network (1110). Step3.
- the hexagonal grid can improve the performance more than 1% for lower quality, and on average 0.95%.
- the second embodiment on top of first one improves the average gain by up to 1.5% while the third embodiment on top of the first one gets 2% BD-rate gain which is significant in compression literature.
- our methods are not limited to a specific neural network architecture, for example, the one shown in FIG.5 know as a hyperprior model.
- our methods can be used in other neural network architectures, for example, fully factorized neural image/video model, implicit neural image/video compression model, recurrent network based neural image/video compression model or Generative Model based image/video compressing methods.
- Various numeric values are used in the present application. The specific values are for example purposes and the aspects described are not limited to these specific values.
- Various methods are described herein, and each of the methods comprises one or more steps or actions for achieving the described method. Unless a specific order of steps or actions is required for proper operation of the method, the order and/or use of specific steps and/or actions may be modified or combined. Additionally, terms such as “first”, “second”, etc.
- Decoding may be used in various embodiments to modify an element, component, step, operation, etc., such as, for example, a “first decoding” and a “second decoding”. Use of such terms does not imply an ordering to the modified operations unless specifically required. So, in this example, the first decoding need not be performed before the second decoding, and may occur, for example, before, during, or in an overlapping time period with the second decoding.
- Various implementations involve decoding. “Decoding,” as used in this application, may encompass all or part of the processes performed, for example, on a received encoded sequence in order to produce a final output suitable for display.
- such processes include one or more of the processes typically performed by a decoder, for example, entropy decoding, inverse quantization, and inverse transformation.
- a decoder for example, entropy decoding, inverse quantization, and inverse transformation.
- encoding process is intended to refer specifically to a subset of operations or generally to the broader decoding process will be clear based on the context of the specific descriptions and is believed to be well understood by those skilled in the art.
- Various implementations involve encoding.
- “encoding” as used in this application may encompass all or part of the processes performed, for example, on an input video sequence in order to produce an encoded bitstream.
- the implementations and aspects described herein may be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation of features discussed may also be implemented in other forms (for example, an apparatus or program).
- An apparatus may be implemented in, for example, appropriate hardware, software, and firmware.
- the methods may be implemented in, for example, an apparatus, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device.
- Processors also include communication devices, for example, computers, cell phones, portable/personal digital assistants (“PDAs”), and other devices that facilitate communication of information between end-users.
- PDAs portable/personal digital assistants
- the appearances of the phrase “in one embodiment” or “in an embodiment” or “in one implementation” or “in an implementation”, as well any other variations, appearing in various places throughout this application are not necessarily all referring to the same embodiment.
- this application may refer to “determining” various pieces of information.
- Determining the information may include one or more of, for example, estimating the information, calculating the information, predicting the information, or retrieving the information from memory.
- this application may refer to “accessing” various pieces of information. Accessing the information may include one or more of, for example, receiving the information, retrieving the information (for example, from memory), storing the information, moving the information, copying the information, calculating the information, determining the information, predicting the information, or estimating the information.
- this application may refer to “receiving” various pieces of information. Receiving is, as with “accessing”, intended to be a broad term. Receiving the information may include one or more of, for example, accessing the information, or retrieving the information (for example, from memory).
- “receiving” is typically involved, in one way or another, during operations, for example, storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.
- “/”, “and/or”, and “at least one of”, for example, in the cases of “A/B”, “A and/or B” and “at least one of A and B” is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of both options (A and B).
- such phrasing is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of the third listed option (C) only, or the selection of the first and the second listed options (A and B) only, or the selection of the first and third listed options (A and C) only, or the selection of the second and third listed options (B and C) only, or the selection of all three options (A and B and C).
- This may be extended, as is clear to one of ordinary skill in this and related arts, for as many items as are listed.
- implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted.
- the information may include, for example, instructions for performing a method, or data produced by one of the described implementations.
- a signal may be formatted to carry the bitstream of a described embodiment.
- Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal.
- the formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream.
- the information that the signal carries may be, for example, analog or digital information.
- the signal may be transmitted over a variety of different wired or wireless links, as is known.
- the signal may be stored on a processor-readable medium.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
In end-to-end compression, a deep neural network based encoder can be used to encode an image. The embeddings output from the encoder are quantized and encoded with a lossless encoder. In one implementation, we propose to apply uniform VQ (Vector Quantization) to the embeddings which were trained/optimized for uniform SQ (Scalar Quantization). In addition, we propose to take the existing model and finetune a part of the model or the full model with respect to the new fixed optimal VQ map. In this way, the decoder becomes more stable for high individual quantization errors. Since the encoder may be trained based on SQ and the deployment is based on VQ, we also refer to our method as a hybrid SQ/VQ method.
Description
UNIFORM VECTOR QUANTIZATION FOR END-TO-END IMAGE/VIDEO COMPRESSION TECHNICAL FIELD [1] The present embodiments generally relate to a method and an apparatus for end-to-end neural compression of images and videos. BACKGROUND [2] End-to-end compression is a compression technique where all components of the processes are learned from given data. End-to-end means that everything is learned from one end (given data) to another end (compressed bitstream). Once the architecture is defined for end-to-end compression, there is no manual engineering work on designing the steps. End-to-end neural compression methods are not standardized yet. Currently MPEG is exploring these technologies. SUMMARY [3] According to an embodiment, a method of video encoding is presented, comprising: obtaining latents associated with image data using a neural network; performing uniform vector quantization on said latents to obtain respective codewords; and performing lossless encoding on indices of said respective codewords based on a probability distribution of said latents. [4] According to another embodiment, a method of video decoding is presented, comprising: performing lossless decoding to obtain codeword indices based on a probability distribution of latents representing image data; performing uniform vector de-quantization based on said codeword indices to reconstruct latents associated with said image data; and decoding said image data from said reconstructed latents using a neural network. [5] According to another embodiment, an apparatus for video encoding is provided, comprising one or more processors and at least one memory coupled to said one or more processors, wherein said one or more processors are configured to: obtain latents associated with image data using a neural network; perform uniform vector quantization on said latents to obtain respective codewords; and perform lossless encoding on indices of said respective codewords based on a probability distribution of said latents.
[6] According to another embodiment, an apparatus for video decoding is provided, comprising one or more processors and at least one memory coupled to said one or more processors, wherein said one or more processors are configured to: perform lossless decoding to obtain codeword indices based on a probability distribution of latents representing image data; perform uniform vector de-quantization based on said codeword indices to reconstruct latents associated with said image data; and decode said image data from said reconstructed latents using a neural network. [7] One or more embodiments also provide a computer program comprising instructions which when executed by one or more processors cause the one or more processors to perform the encoding method or decoding method according to any of the embodiments described herein. One or more of the present embodiments also provide a computer readable storage medium having stored thereon instructions for video encoding or decoding according to the methods described herein. [8] One or more embodiments also provide a computer readable storage medium having stored thereon video data generated according to the methods described above. One or more embodiments also provide a method and apparatus for transmitting or receiving the video data generated according to the methods described herein. BRIEF DESCRIPTION OF THE DRAWINGS [9] FIG. 1 illustrates a block diagram of a system within which aspects of the present embodiments may be implemented. [10] FIG.2 illustrates a training loop of an end-to-end image compression model. [11] FIG.3 illustrates an encoding process of an end-to-end image compression model. [12] FIG.4 illustrates a decoding process of an end-to-end image compression model. [13] FIG. 5 illustrates how the current end-to-end image compression model applies quantization, dequantization, encoding and decoding with the given latents and probability in the test phase. [14] FIG.6 illustrates sample unit grids in 2D space and some properties. [15] FIG.7 illustrates a quantization grid for pseudo 2D latents in the default model (uniform
SQ) and in our proposal (uniform VQ). [16] FIG. 8 illustrates how our proposal applies quantization, dequantization, encoding and decoding with the given latents and probability in the test phase, according to an embodiment. [17] FIG.9A illustrates the quantization error for the 2D hexagonal grid, where latents can be anywhere inside the grid; FIG.9B illustrates a latent and the distribution of continuous relaxation of its hexagonal grid quantization. [18] FIG.10 illustrates a post-training loop of a deep decoder network for VQ grids, according to an embodiment. [19] FIG. 11 illustrates a post-training loop of a full model for VQ grids, according to an embodiment. [20] FIG.12 illustrates BD-rate gains on the Kodak test set for different quality. DETAILED DESCRIPTION [21] FIG.1 illustrates a block diagram of an example of a system in which various aspects and embodiments can be implemented. System 100 may be embodied as a device including the various components described below and is configured to perform one or more of the aspects described in this application. Examples of such devices, include, but are not limited to, various electronic devices such as personal computers, laptop computers, smartphones, tablet computers, digital multimedia set top boxes, digital television receivers, personal video recording systems, connected home appliances, and servers. Elements of system 100, singly or in combination, may be embodied in a single integrated circuit, multiple ICs, and/or discrete components. For example, in at least one embodiment, the processing and encoder/decoder elements of system 100 are distributed across multiple ICs and/or discrete components. In various embodiments, the system 100 is communicatively coupled to other systems, or to other electronic devices, via, for example, a communications bus or through dedicated input and/or output ports. In various embodiments, the system 100 is configured to implement one or more of the aspects described in this application. [22] The system 100 includes at least one processor 110 configured to execute instructions loaded therein for implementing, for example, the various aspects described in this application. Processor 110 may include embedded memory, input output interface, and various other circuitries as known in the art. The system 100 includes at least one memory 120 (e.g., a volatile memory
device, and/or a non-volatile memory device). System 100 includes a storage device 140, which may include non-volatile memory and/or volatile memory, including, but not limited to, EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic disk drive, and/or optical disk drive. The storage device 140 may include an internal storage device, an attached storage device, and/or a network accessible storage device, as non-limiting examples. [23] System 100 includes an encoder/decoder module 130 configured, for example, to process data to provide an encoded video or decoded video, and the encoder/decoder module 130 may include its own processor and memory. The encoder/decoder module 130 represents module(s) that may be included in a device to perform the encoding and/or decoding functions. As is known, a device may include one or both of the encoding and decoding modules. Additionally, encoder/decoder module 130 may be implemented as a separate element of system 100 or may be incorporated within processor 110 as a combination of hardware and software as known to those skilled in the art. [24] Program code to be loaded onto processor 110 or encoder/decoder 130 to perform the various aspects described in this application may be stored in storage device 140 and subsequently loaded onto memory 120 for execution by processor 110. In accordance with various embodiments, one or more of processor 110, memory 120, storage device 140, and encoder/decoder module 130 may store one or more of various items during the performance of the processes described in this application. Such stored items may include, but are not limited to, the input video, the decoded video or portions of the decoded video, the bitstream, matrices, variables, and intermediate or final results from the processing of equations, formulas, operations, and operational logic. [25] In several embodiments, memory inside of the processor 110 and/or the encoder/decoder module 130 is used to store instructions and to provide working memory for processing that is needed during encoding or decoding. In other embodiments, however, a memory external to the processing device (for example, the processing device may be either the processor 110 or the encoder/decoder module 130) is used for one or more of these functions. The external memory may be the memory 120 and/or the storage device 140, for example, a dynamic volatile memory and/or a non-volatile flash memory. In several embodiments, an external non-volatile flash memory is used to store the operating system of a television. In at least one embodiment, a fast external dynamic volatile memory such as a RAM is used as working memory for video coding
and decoding operations, such as for MPEG-2, MPEG-4, HEVC, or VVC. [26] The input to the elements of system 100 may be provided through various input devices as indicated in block 105. Such input devices include, but are not limited to, (i) an RF portion that receives an RF signal transmitted, for example, over the air by a broadcaster, (ii) a Composite input terminal, (iii) a USB input terminal, and/or (iv) an HDMI input terminal. [27] In various embodiments, the input devices of block 105 have associated respective input processing elements as known in the art. For example, the RF portion may be associated with elements suitable for (i) selecting a desired frequency (also referred to as selecting a signal, or band-limiting a signal to a band of frequencies), (ii) down converting the selected signal, (iii) band- limiting again to a narrower band of frequencies to select (for example) a signal frequency band which may be referred to as a channel in certain embodiments, (iv) demodulating the down converted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select the desired stream of data packets. The RF portion of various embodiments includes one or more elements to perform these functions, for example, frequency selectors, signal selectors, band- limiters, channel selectors, filters, downconverters, demodulators, error correctors, and demultiplexers. The RF portion may include a tuner that performs various of these functions, including, for example, down converting the received signal to a lower frequency (for example, an intermediate frequency or a near-baseband frequency) or to baseband. In one set-top box embodiment, the RF portion and its associated input processing element receives an RF signal transmitted over a wired (for example, cable) medium, and performs frequency selection by filtering, down converting, and filtering again to a desired frequency band. Various embodiments rearrange the order of the above-described (and other) elements, remove some of these elements, and/or add other elements performing similar or different functions. Adding elements may include inserting elements in between existing elements, for example, inserting amplifiers and an analog- to-digital converter. In various embodiments, the RF portion includes an antenna. [28] Additionally, the USB and/or HDMI terminals may include respective interface processors for connecting system 100 to other electronic devices across USB and/or HDMI connections. It is to be understood that various aspects of input processing, for example, Reed-Solomon error correction, may be implemented, for example, within a separate input processing IC or within processor 110 as necessary. Similarly, aspects of USB or HDMI interface processing may be
implemented within separate interface ICs or within processor 110 as necessary. The demodulated, error corrected, and demultiplexed stream is provided to various processing elements, including, for example, processor 110, and encoder/decoder 130 operating in combination with the memory and storage elements to process the datastream as necessary for presentation on an output device. [29] Various elements of system 100 may be provided within an integrated housing. Within the integrated housing, the various elements may be interconnected and transmit data therebetween using suitable connection arrangement 115, for example, an internal bus as known in the art, including the I2C bus, wiring, and printed circuit boards. [30] The system 100 includes communication interface 150 that enables communication with other devices via communication channel 190. The communication interface 150 may include, but is not limited to, a transceiver configured to transmit and to receive data over communication channel 190. The communication interface 150 may include, but is not limited to, a modem or network card and the communication channel 190 may be implemented, for example, within a wired and/or a wireless medium. [31] Data is streamed to the system 100, in various embodiments, using a Wi-Fi network such as IEEE 802. 11. The Wi-Fi signal of these embodiments is received over the communications channel 190 and the communications interface 150 which are adapted for Wi-Fi communications. The communications channel 190 of these embodiments is typically connected to an access point or router that provides access to outside networks including the Internet for allowing streaming applications and other over-the-top communications. Other embodiments provide streamed data to the system 100 using a set-top box that delivers the data over the HDMI connection of the input block 105. Still other embodiments provide streamed data to the system 100 using the RF connection of the input block 105. [32] The system 100 may provide an output signal to various output devices, including a display 165, speakers 175, and other peripheral devices 185. The other peripheral devices 185 include, in various examples of embodiments, one or more of a stand-alone DVR, a disk player, a stereo system, a lighting system, and other devices that provide a function based on the output of the system 100. In various embodiments, control signals are communicated between the system 100 and the display 165, speakers 175, or other peripheral devices 185 using signaling such as AV. Link, CEC, or other communications protocols that enable device-to-device control with or
without user intervention. The output devices may be communicatively coupled to system 100 via dedicated connections through respective interfaces 160, 170, and 180. Alternatively, the output devices may be connected to system 100 using the communications channel 190 via the communications interface 150. The display 165 and speakers 175 may be integrated in a single unit with the other components of system 100 in an electronic device, for example, a television. In various embodiments, the display interface 160 includes a display driver, for example, a timing controller (T Con) chip. [33] The display 165 and speaker 175 may alternatively be separate from one or more of the other components, for example, if the RF portion of input 105 is part of a separate set-top box. In various embodiments in which the display 165 and speakers 175 are external components, the output signal may be provided via dedicated output connections, including, for example, HDMI ports, USB ports, or COMP outputs. [34] Training Phase [35] FIG.2 illustrates the training phase of a modern end-to-end compression system. An input image to be compressed, ^^ ∈ ^^^ൈ^ൈଷ , is first processed by a deep encoder (210) with ^^ ൌ ^^^^ ^^;ϕ^, where ϕ is a trainable parameter of function ^^^ to be optimized during the training phase. of the encoder, ^^ ∈ ^^^ൈ^ൈ୭ , is called the main embedding (or main latents) of the image. Here without loss of generality, we assume the image is square ( ^^ ൈ ^^) and the main embedding is also square ( ^^ ൈ ^^). However, they do not need to be square and can be in any shape. The input image can be fed to the encoder at the image level or be partitioned into image regions with the individual image region as input to the encoder. [36] Then ^^ goes to the quantizer (260) as ^^^ ൌ ^^^ ^^^ to obtain main codes of the image, followed by dequantization block ^^^ ൌ ^^ି^^ ^^^^ (265) to obtain reconstructed main latents ^^^. State of the art neural models use the hyperprior entropy model. In particular, the side embedding (or side latents) ^^ ∈ ^^^ൈ ^ൈ^ is learned by another deep neural network (220) by ^^ ൌ ℎ^^ ^^;Φ^, where Φ is a trainable parameters of function ℎ^ to be optimized during the training phase, and the side embedding is quantized (270) by ^^̃ ൌ ^^^ ^^^ to obtain side codes ^^̃ , followed by dequantization ^^̂ ൌ ^^ି^^ ^^̃^ (275) to obtain reconstructed side latents ^^̂. These ^^̂ are used to learn the probability model of ^^^. Typically, ^^^ can be modelled by Gaussian distribution where the
parameters are obtained by another deep network (240) such as [ μ, ^^^ ൌ ℎ^^ ^^̂;Θ^ . The decompressed image ^^^ ∈ ^^^ൈ^ൈଷ is obtained by a deep decoder (230) with ^^^ ൌ ^^^ ^ ^^^; θ^. [37] The values of ^^ and k depend on the defined architecture, and m usually is 1/16 of the image’s spatial resolution, and k is usually 1/8 of the embedding’s size. The value of o is fixed at 128 for instance in most common architectures. In one example, if the image size is 256x256x3, usually y will be 16x16x128 and ^^ will be 2x2x128. [38] In this model, the lower bound of bitlength of side codes ^^̃ is calculated by the factorized entropy model (250). This model accepts ^^̂ as input and learns the probability density function (PDF) of the side codes ^^̃. Using this PDF, the model calculates the probability mass function (PMF) of each code under a certain quantization method. PMF values are enough to calculate the lower bound of the bitlength of side codes. On the other hand, the lower bound of the bitlength of main codes ^^^ is calculated by the hyperprior entropy model. This model is usually implemented by Gaussian distribution. Basically, each reconstructed main latent ( ^^^^) in ^^^ is supposed to follow Gaussian distribution where the parameters (μ^ , ^^^) are obtained by side information in the previous step. Thus, these Gaussian’s PMF under the determined quantization method is enough to calculate the lower bound of the bitlength of main codes. [39] In this setting, the deep encoder ( ^^^ ^ . ;ϕ ^ ), deep decoder ( ^^^ ^ . ; θ ^ ), deep hyperprior encoder (ℎ^ ^ . ;Φ ^ ), deep hyperprior decoder (ℎ^ ^ . ;Θ ^ ) and factorized entropy model ^^^^. ; ^^^ are composed of multiple neural layers, such as convolutional layers. Each neural layer can be described as a function that first multiplies the input by a tensor, adds a vector called the bias and then applies a nonlinear function on the resulting values. The shape (and other characteristics) of the tensor and the type of non-linear functions are called the architecture of the network. We will denote the values of the tensor and the bias by the term “weights”. The weights and, if applicable, the parameters of the non-linear functions, are called the parameters. The architecture and the parameters define a “model”. As described above, we denote their parameters by ϕ, θ,Φ,Θ and ^^. [40] Many end-to-end architectures have been proposed recently. Typically, they are more complex than what is illustrated in FIG.2, but they all retain the deep encoder and decoder. State of the art models can compete with traditional codecs in terms of rate distortion tradeoffs.
[41] A model must be trained on massive databases D of images to learn the weights of the encoder, decoder and entropy models. Typically, the weights are optimized to minimize a training loss: ^^ ^^ ^^ ^^ ൌ ^^௫∼^^െ log ^ ^^^^ ^^̂| ^^^^ െ log൫ ^^^^ ^^^| ^^̂,Θ^൯ ^ ^^ ^^^ ^^, ^^^^^, (1) where ^^^. , . ^ (215) is a measure of the distortion between the original and the reconstructed image (for example the mean square error). The rate term (255, 245) is the sum of the lower bound of the bitlength of side information (െ log ^ ^^^ ^ ^^̂| ^^^^) and the lower bound of the bitlength of main information (െ log൫ ^^^^ ^^^| ^^̂,Θ^൯). Hyperparameter ^^ controls the trade-off between the rate (r) and distortion (d) terms. Note here the rate is based on the lower bound of the bitlength of main information and side information, but other methods can be used to estimate the rates. [42] Deployment (Test) Phase [43] When this model is trained and the optimal parameters (ϕ, θ, ^^,Φ,Θ) are obtained, we can deploy the model in encoding and decoding devices as illustrated in FIG. 3 and in FIG. 4, respectively. This phase is usually called test phase. In the test phase, both encoding and decoding devices need PMF tables. Besides the PMF table, encoding and decoding devices must agree on which quantization method is used as well. [44] As illustrated in FIG. 3, in the encoding device, main codes and side codes are obtained (310, 320) from a given image by the same way as in the training phase. Later, the encoding device converts the side codes into a bitstream by a lossless encoder, for example, an arithmetic encoder AE (390) driven by the learned PMF tables provided by the factorized entropy model (350). Side codes obtained from quantization (370) are dequantized (375) and reconstructed side latents are obtained in the next step. A hyperprior entropy decoder (340) decodes reconstructed side latents in order to find the distribution of main codes. Finally main codes obtained from quantization (360) are converted into bitstream by a lossless encoder, for example, an arithmetic encoder AE (380) using these distributions. Finally, these two bitstreams are concatenated with some pointer in between. [45] As illustrated in FIG. 4, in the decoding device, the process starts with decoding of side codes from the bitstream, which can be done by a lossless decoder, for example, an arithmetic decoder AD (470) by using the learned PMF tables provided by the factorized entropy model (460).
The side codes are dequantized (450) and reconstructed side latents are obtained in the next step. A hyperprior entropy decoder (440) accepts reconstructed side latents as input in order to find the distribution of the main codes. These distributions inform the AD (430) how to read the main codes from the bitstream. Dequantization (420) is then applied on the main codes to reconstruct the main latents. The decoding device can get the reconstructed image by feeding the deep decoder (410) with the reconstructed main latents. [46] Quantization [47] The quantization step denoted as ^^^. ^ and its counterpart dequantization step ^^ି^^. ^, need to be applied to obtain the reconstructed main and side latents. For the simplicity, we provide explanation on main latents. The same quantization and dequantization can be applied to the side latents as well. [48] In the end-to-end compression literature, quantization was applied in two different classes of approaches either by Scalar Quantization (SQ) or Vector Quantization (VQ). SQ assigns a code for each scalar ( ^^^,^,^ ) in the embedding tensor ( ^^ ) separately while VQ first constructs v- dimensional
^^^ ∈ ^^௩ൈ^^.^.^ ౬^ from ^^ ∈ ^^^ൈ ^ൈ୭ and assigns a code for each v- dimensional latent ^^^^ ∈
number of codes in VQ is ^^ times less than the number of codes in SQ. However, the number of distinct values in the codebook (dictionary length) of VQ should be higher than SQ, thus the probability of each code in VQ will be much lower than the probability of codes in SQ. It results in the same rate and distortion performance if the SQ’s quantization border is used in all VQ’s dimensions. The quantization border is the boundary between the quantization grids (partition regions) of the quantization map. For example, for scalar quantization, if the number in range [1.5, 2.5] is quantized into 2, then this quantization bin's borders are 1.5 and 2.5. In the VQ case, the data has higher dimension. [49] However, VQ may not apply the same quantization border for each dimension. It may find a better quantization grid on the higher dimensional space, thus increasing the rate distortion performance. [50] Regardless of the selected quantization technique, the quantization step is not directly usable in gradient-based training since the quantization has non-informative gradients (zero almost everywhere, infinity on quantization border). One approach is to use continuous relaxation of
uniform SQ. In this solution, quantization is simulated by ^^^ ^^^ ൌ ^^ ^ ^, where ^^ is a random sample from uniform noise with 1-bin width around the zero point such as ^^ ∼ ^^^െ0.5, 0.5^ in the training phase, where ^^^െ0.5, 0.5^ represents uniform distribution that generates random number between -0.5 to 0.5. But in the test phase, the deterministic hard quantization is applied. For instance, in the case of 1-bin width uniform SQ, it applies nearest integer rounding as ^^^ ^^^ ൌ ^^ ^^ ^^ ^^ ^^^ ^^^ in the test phase. In this approach, there are no trainable parameters in the quantization step and dequantization step is the identity function as ^^ି^^ ^^^ ൌ ^^. Since the encoder network can apply non-linear transformation, it is expressive enough to shrink and/or expand the embedding values, thus, optimizing the model with uniform fixed bin-width quantization (1 bin width) seems reasonable. [51] In the VQ case, the codewords (quantization centers) of the predefined number of quantization grids ( ^^^ ∈ ^^௩ , ^^ ൌ 1.. ^^ ) usually are learned jointly with the rest of the parameters of the model. In this document, we use the terms “codeword” and “quantization center” interchangeably, both referring to the representative point of a quantization grid in vector quantization. In the test phase, each v-dimensional embedding should be assigned to the index of the closest quantization center as ^^^ ^^^^ ^ ൌ argmin ฮ ^^^^ െ ^^^ฮଶ and return the quantization center ^ ∈ coordinate for the
the argmin operator applies hard assignment (assign the closest quantization center’s index), it is not differentiable. In the training phase, soft assignment was used. Soft assignment assigns all M codes in the dictionary to ^^^^ with different probabilities according to their distances. Thus, its dequantization is the weighted sum of all quantization centers where the weights are calculated by probabilities according to their distances. [52] Suboptimality of Quantization [53] Both quantization approaches have some advantages and disadvantages. On one hand, SQ is quite consistent in the training phase and has low computational complexity. But it is provable that SQ is not an optimal quantizer, even though the embeddings are supposed to be independent and identical distributed values (i.i.d., no correlations between codes). SQ is not optimal among even uniform quantization as well. It is theoretically known that, when we use infinitely high dimensional VQ, we can reach the theoretical limit of rate-distortion performance. On the other
hand, learning VQ quantization is unstable in the end-to-end manner, and it is hard to learn a better quantization map (a collection of quantization grids that fill the space without a gap) than SQ. Besides, VQ learns non-uniform quantization maps and it is not clear if we need non-uniform quantization maps because the deep encoder can learn any non-linear transformation that transform a non-uniform quantization map into a uniform quantization map. Thus, uniform quantization grids may be enough, and they can be learned more robustly. So far, most current end-to-end image compression methods use the uniform SQ quantizer and do not use the theoretical advantage of VQ. [54] Although VQ is theoretically better than SQ, the current modern end-to-end compression method does not use this advantage. Optimizing the model with uniform SQ is reported to be the most empirical solution so far in the literature. It may be because of difficulties in optimizing the quantization center in the higher dimension jointly with the rest of the model parameters and double necessity of finding the non-uniform quantization grid as it is default in VQ. In this document, we apply the theoretically powerful VQ method to the model optimized using uniform SQ. [55] As will be described in detail below, in the first embodiment, we take advantage of both SQ and VQ by proposing to apply uniform VQ to the embeddings which were trained/optimized for uniform SQ. This embodiment does not need any re-training phase, instead it takes any pre- trained model that is optimized for uniform SQ on the latents and changes its quantization map with the theoretically known optimal VQ grid on higher dimension. One of the drawbacks of this approach is that, even though our average quantization error is lower than the default one, some latent’s individual quantization error may be higher than the maximum expected quantization error in SQ. Thus, the decoder may not be robust for this individual latent’s quantization error. In average the proposed method never makes the rate distortion performance worse than the default model, but the proposal becomes clearly sub-optimal. To this end, we propose the second and third embodiments which take the existing model and finetune a part of the model or the full model with respect to the new fixed optimal VQ map. In this way, the decoder becomes more stable for these high individual quantization errors. Since the encoder may be trained based on SQ and the deployment is based on VQ, we also refer to our method as a hybrid SQ/VQ method. According to our test, we improved the BD-rate of the state-of-the-art end-to-end compression algorithm by
more than 2%. [56] Most recent end-to-end image/video compression models encode two kinds of information, namely, main codes ( ^^^) and side codes ( ^^̃) into the bitstream. According to our analysis, the vast majority of the bitstream is used by the main codes (around 95-99%) and a fraction of the bitstream is used by the side codes. That is why the improvement on main codes encoding is much more important than side codes. However, our methods can be applied to both types of codes. [57] Definitions [58] Without loss of generality, we assume there is one kind of latents named ^^ ∈ ^^^ൈ^ൈ୭ and we have ^^ PDF ^^^^^: ^^ → ^^, ^^ ൌ 1 … ^^ , learned by an entropy model under fixed bin width uniform SQ. For simplicity, we can assume quantization bin-width is 1. We also know which latent in ^^ ൈ ^^ ൈ o sized tensor corresponds to which PDF out of ^^ . We can refer to this information by ^^ sets ^^^ , ^^ ൌ 1 … ^^, each set shows the indices of ^^ ൈ ^^ ൈ o sized tensor. For instance, ^^^ shows the latent’s indices whose corresponding PDF is ^^^^^. Thus, the total number of indices in each set must be equal to the total number of latents in ^^, i.e., ^^. ^^. ^^ ൌ ∑^ ^ୀ^ | ^^^| (the number of total elements in c-th set is | ^^^|). We can define a new vector by ^^^^^ ∈ ^^| ^^^| ∶ ^ ^^^ | ^^ ∈ ^^^^்which shows the latents that correspond to the same PDF ^^^^^. Each ^^^^^ can be seen as a subset of embedding ^^ that makes ^^ ൌ ^^^^^ ∪ ^^^ଶ^ ∪ …∪ ^^^^^. For side information, which latent uses which PDF is determined by
index of the embeddings (feature band refers corresponding PDF) that shows the position out of f positions. For example, if z has a 4x4x128 dimension, then z(2,1,46) shows a scalar in the 2nd row, 1st column and 46th feature band and the last index is 46. For main codes, this information is obtained by the entropy model using side information. [59] State of The Art Methodology [60] Currently, as shown in FIG.5, most end-to-end compression methods take ( ^^^^^ ∈ ^^| ^^^|, ^^^^^: ^^ → ^^) pairs as input and quantize (510) the latent according to 1 bin-width uniform SQ as ^^^^^^ ൌ ^^ ^^ ^^ ^^ ^^^ ^^^^^^ in the deployment phase. The PMF table is also calculated (550) for the ^^ (intege ^^^^ ^ ௫ା^.ହ ^^^^ ^ ^^^
r center) by ^^ ^^ ൌ ^௫ି^.ହ ^^ ^^ ^^ ^^ . Later, codes ^^^ can be converted to the bitstream by AE (520) with PMF
^. In this way, the expected bitlength
would be ∑| ^^^| ^ୀ^ log^ ^^^^^^ ^^^^^^ ^ ^^ . This process should be repeated for all ^^ ൌ 1 … ^^. Thus, the final expected (rate) would be ^^ ൌ ∑^ ^ୀ^ ∑| ^^^| ^^^ ^^^ ^^^ ^ୀ^ log^ ^^ ^ ^^^^ ^^ . The PMF table ^^ ^. ^ is also used by AD (530). Since the
(540) of nearest integer quantization is an identity function, the dequantized latents are the same with codes as it is ^^^^^^ ൌ ^^^^^^. Because quantization is not invertible function, there is some error between given
^^^^^ and reconstructed latent ^^^^^^ that defines quantization error ^^ ൌ ∑^ ฮ ^ ^^^ ^^^ ଶ ^ୀ^ ^ െ ^^^ ฮ . This error can be seen as an approximation of error of reconstructed image.
[61] Proposed Methods [62] Even though the given latents in the vector ^^^^^ are i.i.d. and there is no known redundancy between latents, theoretically VQ can reach better
distortion performance than SQ. In our methods, we prevent VQ from learning a non-uniform quantization grid but stick with a uniform quantization grid. We select the uniform quantization grid because of the doubt on the necessity of a non-uniform quantization map in end-to-end compression. We believe that the encoder network is expressive enough to produce necessary transformation. The encoder network can expand or shrink necessary latent values before quantization. Thus, quantization can be applied by the uniform quantization grid. Another reason is that in our first embodiment, we do not re- train the model which is pre-trained for the uniform quantization grid. To avoid mismatches, we stay with the uniform quantization grid. Since the encoder will have the ability to scale the latent (e.g., multiply them with a scalar), learning the quantization bin-width for a certain rate-distortion tradeoff (certain ^^ in the loss function) will be meaningless as well. Thus, selection of the quantization bin-width is arbitrary, and we can use the selection in the literature, for example, 1. Our main motivation is to decrease the quantization error of latent by applying VQ with the optimal uniform quantization grid while keeping the rate in the same level (or almost in the same level) as that of the trained scalar quantization. [63] We believe our methods have at least the following novelties. ^ Limiting the VQ to apply a uniform quantization map is new. So far in the literature, VQ based end-to-end compression models learn the quantization grid jointly with model parameters and all find non-uniform quantization grids which we believe, are not necessary and hurt the
optimization. Since the optimal uniform VQ quantization grids for a certain bin-width are known theoretically, we do not need to learn these quantization centers. ^ Decreasing the quantization error of the uniform SQ based trained model by re-arranging the quantization centers and PMF tables with the optimal uniform VQ grid is new. This is our first embodiment and can be seen as post processing upon any uniform SQ based trained model. ^ Finetuning the SQ based model to be able to adapt the optimal uniform VQ quantization grid as in our second and third embodiments are new as well. These embodiments can be seen as post finetuning upon our first embodiment. [64] First Embodiment - Optimal Uniform VQ as Post Processing [65] It is known that we can approach the theoretical rate-distortion limit when VQ is applied for an increasing dimension. Thus, we can reach the limit when VQ is applied for an infinite dimension. But in practice a small dimensional VQ already provides stronger result than SQ. Since the latents to be quantized in the end-to-end compression model are learned for uniform quantization grids because of the advantages mentioned above, we need to determine optimal centers under the constraint that the quantization grid should be uniform. As explained in the following, this constraint helps us get rid of applying the time-consuming iterative Lloyd algorithm or the non-stable quantization center learning process jointly with the rest of the model parameters. [66] Among the uniform quantizer in v-dimension, uniform VQ is optimal. If the v-dimensional space is filled without any blank area and without overlapping with a repetition of a single v- dimensional shape that has minimum surface/volume ratio (minimum energy), the optimal VQ solution is equivalent to this uniform v-dimensional shape partitioning. [67] In 2D space, the square grid can fill the space well. However, a unit area square grid’s energy (circumference/area) is 4. A circle that has unit area has the minimum energy with 2√ ^^ ^ 3.54, but it cannot fill the 2D space without blank and overlapping. However, a hexagonal grid can fill the space well and has energy approximately 3.72 which is better than a square grid. These examples can be seen in FIG.6. A hexagonal grid is known as the optimal uniform quantization grid in 2D space. Thus, in 2D VQ, we can tile the space with M hexagonal grids whose centers are initially calculated as ^^^ ∈ ^^ଶ, ^^ ൌ 1.. ^^. [68] In the 3D space, the truncated octahedron is to be known as the best candidate for the
uniform quantization grid. For 3D VQ, the best selection would be M truncated octahedron that tiles the 3D space where their centers are ^^^ ∈ ^^ଷ, ^^ ൌ 1.. ^^. Our methods are not limited to 2D and 3D optimal uniform quantization centers. Besides, it can accept any initially calculated v- dimensional quantization center ^^^ ∈ ^^௩ , ^^ ൌ 1.. ^^. Since we can see SQ as a special kind of VQ where it applies square grids in all dimensions, any initial calculated uniform grid that has less energy than the square grid will improve the quantization error of the latents. [69] FIG. 8 illustrates a method to be applied in the test phase, according to an embodiment. The encoder can decide the value of ^^. For example, the encoder may take a fixed value, ^^ = 2 or 3. The encoder can also test different values, for instance ^^ = 2, 3, 4, 5, then uses the best option and writes the value of ^^ into the bitstream as extra information. After determining ^^, the uniform grid located on zero reference point ^^ ^^ ^^ ^^ and all grids’ centers ^^^ ∈ ^^௩, ^^ ൌ 1.. ^^, we need to create pseudo v-dimensional vectors from ^^^^^ ∈ ^^| ^^^|. Since all scalars in ^^^^^ are i.i.d., we can reshape (810) ^^^^^ in any order, even a random order. Since this order should be known by the decoder device, we select to reshape the vector, for example, in a raster order, into ^^^^^^ ∈ ^^௩ൈ^| ^^^|/௩^ . If the length of the vector cannot be partitioned into ^^ group, we can use zero padding to fill the missing part. Now each column vector of reshaped latents is a point in the v-dimensional space as ^^^^^^ ^ ∈ ^^௩ and there are | ^^^|/ ^^ v-dimensional points to be assigned respective codes. As an example, these pseudo 2-dimensional latents can be seen in FIG. 7 with the quantizing unit square grid as in the default SQ model and the hexagonal grid for a special case, where ^^ ൌ 2. [70] In the quantization step (820), we find the index of the closest quantization center for each ^^^^^^ ଶ ^ , ^^ ൌ 1 … | ^^ ^^^ ^^^ ^|/ ^^ . This step can be obtained by ^^^^ ൌ argmin ^ ^^^ െ ^^^^ . Now we have ^ ∈ |ெ| ^ codes ^^^^^^ ∈ ^^| ^^^|/௩ that represents the indices of quantization centers. [71] To encode these codes into the bitstream, AE (830) needs the PMF of each distinct code where the default PMF shows probability of each integer scalar. In order to obtain necessary PMF values, first we create a v-dimensional PDF (825) by using the PDF (815) provided by entropy model ^^^^^: ^^ → ^^. Since both axes follow the same PDF ^^^^^^. ^, we obtain PDF by ^^^^^ ^ ^ ^^^ ൌ ∏௩ ^ୀ^ ^^^^^^ ^^^^ , where ^^ ∈ ^^௩. Later, we can discretize ^^^^^ ^ ^ ^^^ for quantization centers by integrating (870) all probabilities inside the quantization grids as ^^^^^ ^^^ ^ ^ ^^^ ൌ ^^ೕା^^^ௗ ^^^ ^ ^^^ ^^ ^^ in
order to have the PMF of grids ^^^^^ ^ : ^ ^^^ → ^^. Here ^^ iterates all quantization centers ^^ ൌ 1 … ^^, where ^^^ ^ ^^ ^^ ^^ ^^ represents the j-th quantization grid centered on ^^^ . In the 2D case it is the hexagonal grid. This integral can be calculated analytically. However, for more complex grids, Monte-Carlo simulations can be useful. We can generate millions of v-dimensional data points where the dimensions are i.i.d. and each follows ^^^^^^. ^. Then we can count how many points fall in each grid and have the frequency of each grid. The normalized frequencies will give quite a good approximate PMF of grids. AE can encode ^^^^^^ by using ^^^^^ ^ ^. ^. [72] As also illustrated in FIG.8, the decoder device also needs initially calculated ^^^^^ ^ ^. ^ to obtain codes ^^^^^^ by an arithmetic decoder AD (840) from the bitstream. This step should be followed by the de-quantization step (850) which returns the quantization center of the corresponding quantization grid shown by reconstructed codes ^ത^^^^ ^ ൌ ^^௬^^^^ ^ . Then, we need to cancel out the reshaping process at the beginning of the
by reshaping (860) ^ത^^^^ ∈ ^^௩ൈ^| ^^^|/௩^ into ^^^^^^ ∈ ^^| ^^^|.
show the step-by-step processes in three-folds, first the steps that should be executed offline (before deployment), later the steps that should be done after deployment in the encoding device and last the steps that should be done after deployment in the decoding device. [74] Steps to be done before deployment: Step1. Define ^^ , ^^ ^^ ^^ ^^ and optimal uniform quantization centers ^^^ ∈ ^^௩, ^^ ൌ 1.. ^^ . As described above, in our embodiment, the quantization centers for the uniform VQ are known (e.g., for v = 2 or 3, the quantization center of a grid is the geometric center of the corresponding grid). Step2. For all ^^ ൌ 1 … ^^ Calculate the PMF of quantization centers ^^^^^ ^^^ ^ ^. ^, by using default PDF ^^ ^. ^. Step3. Share ^^ , ^^ ^^ ^^ ^^ , ^^^ ∈ ^^௩, ^^ ൌ 1.. ^^ , and ^^^^^ ^ ^. ^ ^^ ൌ 1 … ^^ with both encoding and decoding
[75] Steps to be done in the encoding device: Step1. Input image ^^ ∈ ^^^ൈ^ൈଷ.
Step2. Obtain embeddings ^^ ∈ ^^^ൈ^ൈ^ by the deep encoder network. Step3. Obtain PMF correspondence set ^^^ , ^^ ൌ 1 … ^^ ( ^^^ is fixed for side information, and can be obtained from side information for main information with following Steps 3.1 - 3.5). Step3.1 Obtain embeddings ^^ ∈ ^^^ൈ^ൈ^ by the deep encoder network by ^^ ൌ ℎ^ ^ ^^;Φ^. Step3.2 Obtain reconstructed side latent codes ^^̂ ൌ ^^ି^^ ^^^ ^^^^. Step3.3 Obtain the distribution parameter of main latents [μ, ^^^ ൌ ℎ^^ ^^̂;Θ^, where μ, ^^ ∈ ^^^ൈ^ൈ^. Step3.4 Classify each scalar yijk with its corresponding scalar ^^^^^ into s group. If the ^^^^ି^^ ^ ^^^^^ ^ ^^^^^ , yijk is classified in the b-th group. There are s+1 predefined classes
each yijk is assigned a group out of s. Step3.5 Create a set ^^^ that keeps the indices of yijk which is assigned to the c-th group. Step4. Divide latents into subsets ^^^^^ ∈ ^^| ^^^| ∶ ^ ^^^ | ^^ ∈ ^^^^், ^^ ൌ 1 … ^^ w.r.t. corresponding PMF correspondence.
Step5. For all ^^ ൌ 1 … ^^ Step5.1 Reshape ^^^^^ ∈ ^^| ^^^| into ^^^^^^ ∈ ^^௩ൈ^| ^^^|/௩^ ; Step5.2 Apply VQ by ^^^^^^ ^^^ ଶ ^ ൌ argmin ^ ^^^^ െ ^^^^ for ^^ ൌ 1 … | ^^^|/ ^^; ^ Step5.3
Step6. Return the bitstream. [76] Steps to be done in the decoding device: Step1. Input the bitstream. Step2. For all ^^ ൌ 1 … ^^ Step2.1 Read codes ^^^^^^ from the bitstream by AD using ^^^^^ ^ ^. ^; Step2.2 Dequantize codes by ^ത^^^^ ^ ൌ ^^௬^^^^ ^ ; Step2.3 Reshape ^ത^^^^ ∈ ^^^ | ^^^|
^^^ ∈ ^^ .
Step3. Obtain PMF correspondence set ^^^ , ^^ ൌ 1 … ^^ ( ^^^ is fixed for side information and can be obtained from side information for main information). Step4. Unite subsets of latents ^^^ ൌ ⋃ ^ ^ୀ^ ^ ^^^^^^, ^^^^ where ^^^ ∈ ^^^ൈ^ൈ^. Step5. Obtain reconstructed
[77] Post training for new quantization grids [78] One of the drawbacks of the first embodiment is the higher individual maximum quantization error in VQ than SQ. This issue is shown in FIG. 6 for 2D case. Even though the average quantization error in a hexagonal grid (the optimal uniform VQ in 2D) is less than SQ, the maximum absolute quantization error in one dimension can be larger than the SQ case. As shown in FIG.6, the maximum distance from a single latent (on one dimension) to the quantization center is 0.5 for the square grid (SQ). However, in a hexagonal grid (optimal uniform VQ) this distance can be approximately 0.62. In the training phase, quantization is simulated by adding uniform noise sampled between -0.5 to 0.5 as ^^ ∼ ^^^െ0.5, 0.5^. That means, after training, the deep decoder network would be robust enough if any latent differ in range of [-0.5, 0.5] after quantization which is expected quantization error in SQ. In the following, we describe how we can simulate the new grid’s quantization error in the training phase. [79] Since any v-dimensional point inside the v-dimensional ^^ ^^ ^^ ^^^ should be quantized at the center of the grid and we do not have any prior information where the coming latent points are highly likely, in average the best prior is to assume that latents can be anywhere inside the ^^ ^^ ^^ ^^^ with equal probability (uniform distributed). This point is illustrated in FIG. 9A for the case of optimal 2D uniform VQ (hexagonal grid). Thus, the quantization error should follow the distribution ^^^^^ௗ, where the probability is 1 inside the grid that is centered at a reference point, but 0 otherwise. [80] Definition: ^^^^^ௗ is a uniform distribution in the v-dimensional space defined by: ^^ ^^^ௗ ^ ^^^ ൌ ^1, ^^ ^^ ^^ ^^ ^^ ^^ ⊃ ^^ ^^ ^^ ^^ ^^ where ^ ^^^^^ௗ^ ^^^ ^^ ^^ ൌ 1, ^^ ∈
grid centered at zero point. [81] We can see that ^^^^^ௗ ൌ ^^^െ0.5,0.5^ for scalar quantization with 1 bin-width (e.g., nearest integer rounding). We can see scalar 1 bin-width quantization in the v-dimensional space
as applying a unitary v-dimensional cube grid. In that case ^^^^^ௗ ൌ ^^^െ0.5,0.5^௩. For the case of 2D VQ, since the optimal grid is a unit volume hexagonal grid, any random sample from ^^^^^ௗ will be anywhere inside the unit volume hexagonal grid with equal probability. This yields to write continuous relaxation of VQ where ^^ ^^ ^^ ^^ is a fixed uniform grid in the v-dimensional space. ^^^^^^ ^^^ ^ ൌ ^^^^ ^ ^^, ^^ ∼ ^^^^^ௗ. [82] This relaxation of
index to the code, but just some uniform noise onto the latents. Thus, during training, we do not need to make hard assignments to the codes and its de-quantization step is an identity function as it is the same with SQ by ^ത^^^^ ^ ൌ ^^^^^^ ^ . Continuous relaxation of hexagonal grid quantization is illustrated in FIG.9B. [83] Second Embodiment – Deep Decoder Post Training for VQ grid [84] To adapt the deep decoder network to the new quantization grid, here we propose to finetune the deep decoder with continuous relaxation of these new quantization grids. Since the decoder network has nothing to do with entropy (bitlength), we can optimize the decoder network for the distortion loss alone. To this end, we encode the images in the dataset first and create a new dataset which consists of image ^^ ∈ ^^^ൈ^ൈଷ , their embeddings ^^ ∈ ^^^ൈ^ൈ^ , PMF correspondence sets ^^^ , ^^ ൌ 1 … ^^, and the distribution of the new grid’s quantization error ^^^^^ௗ. It can be done without PMF correspondence sets. But in this way, all scalars in pseudo v- dimensional latent can follow different distributions. We found creating a v-dimensional latent with the latents that come from the same probability is a better choice. However, it can be done by skipping division of latent into subsets and execute the reshaping operation on whole latents as well. [85] The steps of forward pass calculation of the training loop can be found below, as is also illustrated in FIG.10. We can also apply random permutation on latents (not shown in FIG.10) to make the position of the latent not important to create a pseudo v-dimensional vector in Step3.1. If it is the case, we should take this random permutation back in Step3.6. [86] Forward pass steps for deep decoder post training: Step1. Input image ^^ ∈ ^^^ൈ^ൈଷ , embeddings ^^ ∈ ^^^ൈ^ൈ^ , PMF correspondence sets ^^^ , ^^ ൌ 1 … ^^, and distribution ^^^^^ௗ.
Step2. Divide latents into subsets ^^^^^ ∈ ^^| ^^^| ∶ ^ ^^^ | ^^ ∈ ^^^^், ^^ ൌ 1 … ^^ w.r.t. corresponding PMF correspondence (1010). Step3. For all ^^ ൌ 1 … ^^ Step3.1 (Optional) Randomly permutate the order latents of ^^^^^. Step3.2 Reshape ^^^^^ ∈ ^^| ^^^| into ^^^^^^ ∈ ^^௩ൈ^| ^^^|/௩^
Step3.3 Apply ^^^
^^^^ ^ ^^, ^^ ∼ ^^^^^ௗ (1030). Step3.4 Apply dummy de-quantization ^ത^^^^ ^^^ ^ ൌ ^^^^ (1040). Step3.5 Reshape ^ത^^^^ ∈ ^^௩ൈ^| ^^^|/௩^ into ^^^^^^ ∈ ^^| ^^^| (1050). Step3.6 (if step3.1) Take back the random permutation on ^^^^^^. Step4. Unite subsets of latents ^^^ ൌ ⋃^ ^ୀ^ ^ ^^^^^^, ^^^^ , where ^^^ ∈ ^^^ൈ^ൈ^ (1060). Step5. Obtain reconstructed
. [87] The parameter of the deep decoder network can be finetuned starting from pre-trained parameters by minimizing following loss. ^^ ^^ ^^ ^^ ൌ ௫,௬, ^^^∼^ E,ఢ∼ ^^^^^ ^ ^^ ^ ^^, ^^^ ^^ , The finetuned deep decoder
than the first embodiment than the first embodiment alone and default model. [88] Third Embodiment – Full Model Post Training for VQ grid [89] Even though the decoder adapts to the new quantization grids in the second embodiment, still the bitlength (rate) was optimized for uniform SQ. In this third embodiment, we propose to optimize everything jointly for the new VQ grids. [90] For the side information, which latent belongs to which PDF is predefined and fixed. Therefore, we can create pseudo v-dimensional latents by using the latents that follow the same PDF ^^^^^^. ^. In this way, the v-dimensional PDF can be obtained by simply multiplication of the ^^^^ ^ ^^^ ^^^
as for 2D PDF: ^^^ ^^, ^^ ൌ ^^ ^ ^^^. ^^ ^ ^^^. However, in main information, each latent follows its own distribution during the training phase. They are grouped into s distributions in the test phase. Thus, each pseudo v-dimensional latent should have its own distribution. However, in the training phase, we do not need to create the pseudo v-dimensional
latent whose all dimensions have the same distribution. Basically, latents in the same v- dimensional vector can follow different distributions. If we know each latent’s distribution, we can create the pseudo v-dimensional PDF by simply multiplying each dimension’s PDFs. [91] In our design, we start with reshaping embeddings of the image ^^ ∈ ^^^ൈ^ൈ^ into a pseudo al embedding ^^^ ∈ ^^௩ൈ^^.^ ^ v-dimension .౬^ and apply continuous relaxation of newly designed v- dimensional grid as ^^^ ൌ ^^^ ^^ ൌ 1, ୭ ^ ^
.. . , ^^. ^^.^ followed by dequantization ^^^ ൌ antized codes ^^^ ∈ ^^௩ൈ ^ ^^^. Dequ ^^.^.౬^ are processed by entropy model in the same way as in the default model and it
single scalar in ^^^ . These PDFs are Gaussian with parameters being calculated by entropy model and side information for main codes. For side information, these PDFs are outputs of a neural network. Without loss of generality, we can refer to PDF of each scalar ^^^^,^ ∈ ^^ by ^^௬^^,ೕ: ^^ → ^^. Later, we can create PDF of pseudo v-dimensional vector ^^^^ ∈ ^^௩ by ^^௬^^
^^௬^^,ೕ^ ^^^^ , where ^^ ∈ ^^௩ refers to any point in the v- dimensional space. We can refer ^^௬^^: ^^௩ → ^^ as the v-dimensional PDF. To obtain the PMF on ^^^^ point from the PDF, we need to integrate the PDF inside the grid which is located on ^^^^. It can be shown by ^^ ^ ^^^^ ^ ൌ ^௬^^ା^^^ௗ ^^௬^^ ^ ^^ ^ ^^ ^^ again ^^ ∈ ^^ ௩ refers to any point in the v-dimensional space. done for all ^^^ , ^^ ൌ 1, .. , ^^. ^^.୭ , thus, we wil ୭
^ ^ l have ^^. ^^.^ number of probability value ^^^ ^^^^^. The mentioned integral should be calculated analytically because we cannot do Monte Carlo simulations in the training phase. Thus, if there is no analytical solution of integral inside the ^^ ^^ ^^ ^^, some approximations (simpler version of ^^ ^^ ^^ ^^ which has an analytical solution of integral) can be used. The expected bitlength can be found by the sum of negative log-likelihood by െ ^. ^ ∑ ^.౬ ^ୀ^ ^^ ^^ ^^^ ^^^ ^^^^^^ as our rate term in the loss function for main information. [92] FIG. 11 illustrates the post-training loop of a full model for VQ grids, according to an embodiment. [93] Forward pass steps for full model post training: Step1. Input image ^^ ∈ ^^^ൈ^ൈଷ, unit volume v-dimensional grid ^^ ^^ ^^ ^^, and distribution ^^^^^ௗ. Step2. Obtain embeddings ^^ ∈ ^^^ൈ^ൈ^ by the deep encoder network (1110).
Step3. Reshape embeddings into pseudo v-dimensional embeddings ^^^ ∈ ^^௩ൈ^^.^.^ ౬^ (1120). Step4. Apply continuous relaxation of ^^ ^^ ^^ ^^ as ^^^^ ൌ ^^^^ ^ ^^, ^^ ∼ ^^^^^ௗ, ^^^^ ൌ ^^^^ , ^^ ൌ 1, .. . , ^^. ^^.୭ ^ (1130).
the PDF of each scalar ^^^^,^ ∈ ^^ of quantized latents ^^௬^^,ೕ: ^^ → ^^ from the entropy model (1160). Step6. Calculate the pseudo v-dimensional PDF (1175) by ^^௬^^ ^ ^^ ^ ൌ ∏௩ ^ୀ^ ^^௬^^,ೕ^ ^^^^ (1170) where ^^ ∈ ^^௩ . Step7. Calculate the PMF on ^^^^ point for ^^ ^^ ^^ ^^ by ^^^ ^^^^^ ൌ ^௬^^ା^^^ௗ ^^௬^^^ ^^^ ^^ ^^ (1185). ^. ^ Step8. Calculate the rate term by the sum of negative log-likelihood ^^ ൌ െ∑ ^.౬ ^ୀ^ ^^ ^^ ^^^ ^^^ ^^^^^^ (1180).
ep9. Reshape back ^^^ ∈ ^^௩ൈ^^.^ ^ St .౬^ into ^^^ ∈ ^^^ൈ^ൈ^ (1140). Step10. Obtain the reconstructed image with the deep decoder network ^^^ ൌ ^^^ ^ ^^^; θ^ (1150). Step11. Calculate the distortion term by ^^ ൌ ^^ ^ ^^, ^^^ ^ (1155). [94] The parameters of the full model can be finetuned by starting from pre-trained parameters as initial parameters by minimizing the following loss with tradeoff parameter ^^ in the default model. ^^ ^^ ^^ ^^ ൌ ௫∼^,ఢ E∼ ^ ^ ^^ ^ ^^ ^^^. ^^^^ [95] The finetuned full
than the first embodiment than the first embodiment alone and default model. [96] Results [97] We used an already trained model in CompressAI library named mbt2018_mean proposed in an article by D. Minnen, et al., entitled “Joint autoregressive and hierarchical priors for learned image compression,” In Proceedings of the 32nd International Conference on Neural Information Processing Systems, pages 10794-10803, 2018. We implemented our first embodiment for 2D (hexagonal grid) and 3D (truncated octahedron grid) and showed the results in FIG. 12 over the
Kodak test dataset for different models optimized for different rate-distortion tradeoffs. Our gains over quality are consistent. According to the results, the hexagonal grid can improve the performance more than 1% for lower quality, and on average 0.95%. With 3D VQ, we can improve the result more than 1.5% for lower quality, and more than 1% in general. These results are consistent with the theoretical background of VQ over SQ. The second embodiment on top of first one improves the average gain by up to 1.5% while the third embodiment on top of the first one gets 2% BD-rate gain which is significant in compression literature. [98] It should be noted that our methods are not limited to a specific neural network architecture, for example, the one shown in FIG.5 know as a hyperprior model. Instead, our methods can be used in other neural network architectures, for example, fully factorized neural image/video model, implicit neural image/video compression model, recurrent network based neural image/video compression model or Generative Model based image/video compressing methods. [99] Various numeric values are used in the present application. The specific values are for example purposes and the aspects described are not limited to these specific values. [100] Various methods are described herein, and each of the methods comprises one or more steps or actions for achieving the described method. Unless a specific order of steps or actions is required for proper operation of the method, the order and/or use of specific steps and/or actions may be modified or combined. Additionally, terms such as “first”, “second”, etc. may be used in various embodiments to modify an element, component, step, operation, etc., such as, for example, a “first decoding” and a “second decoding”. Use of such terms does not imply an ordering to the modified operations unless specifically required. So, in this example, the first decoding need not be performed before the second decoding, and may occur, for example, before, during, or in an overlapping time period with the second decoding. [101] Various implementations involve decoding. “Decoding,” as used in this application, may encompass all or part of the processes performed, for example, on a received encoded sequence in order to produce a final output suitable for display. In various embodiments, such processes include one or more of the processes typically performed by a decoder, for example, entropy decoding, inverse quantization, and inverse transformation. Whether the phrase “decoding process” is intended to refer specifically to a subset of operations or generally to the broader decoding process will be clear based on the context of the specific descriptions and is believed to be well
understood by those skilled in the art. [102] Various implementations involve encoding. In an analogous way to the above discussion about “decoding”, “encoding” as used in this application may encompass all or part of the processes performed, for example, on an input video sequence in order to produce an encoded bitstream. [103] The implementations and aspects described herein may be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation of features discussed may also be implemented in other forms (for example, an apparatus or program). An apparatus may be implemented in, for example, appropriate hardware, software, and firmware. The methods may be implemented in, for example, an apparatus, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, for example, computers, cell phones, portable/personal digital assistants (“PDAs”), and other devices that facilitate communication of information between end-users. [104] Reference to “one embodiment” or “an embodiment” or “one implementation” or “an implementation”, as well as other variations thereof, means that a particular feature, structure, characteristic, and so forth described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrase “in one embodiment” or “in an embodiment” or “in one implementation” or “in an implementation”, as well any other variations, appearing in various places throughout this application are not necessarily all referring to the same embodiment. [105] Additionally, this application may refer to “determining” various pieces of information. Determining the information may include one or more of, for example, estimating the information, calculating the information, predicting the information, or retrieving the information from memory. [106] Further, this application may refer to “accessing” various pieces of information. Accessing the information may include one or more of, for example, receiving the information, retrieving the information (for example, from memory), storing the information, moving the information, copying the information, calculating the information, determining the information, predicting the
information, or estimating the information. [107] Additionally, this application may refer to “receiving” various pieces of information. Receiving is, as with “accessing”, intended to be a broad term. Receiving the information may include one or more of, for example, accessing the information, or retrieving the information (for example, from memory). Further, “receiving” is typically involved, in one way or another, during operations, for example, storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information. [108] It is to be appreciated that the use of any of the following “/”, “and/or”, and “at least one of”, for example, in the cases of “A/B”, “A and/or B” and “at least one of A and B”, is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of both options (A and B). As a further example, in the cases of “A, B, and/or C” and “at least one of A, B, and C”, such phrasing is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of the third listed option (C) only, or the selection of the first and the second listed options (A and B) only, or the selection of the first and third listed options (A and C) only, or the selection of the second and third listed options (B and C) only, or the selection of all three options (A and B and C). This may be extended, as is clear to one of ordinary skill in this and related arts, for as many items as are listed. [109] As will be evident to one of ordinary skill in the art, implementations may produce a variety of signals formatted to carry information that may be, for example, stored or transmitted. The information may include, for example, instructions for performing a method, or data produced by one of the described implementations. For example, a signal may be formatted to carry the bitstream of a described embodiment. Such a signal may be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal. The formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information that the signal carries may be, for example, analog or digital information. The signal may be transmitted over a variety of different wired or wireless links, as is known. The signal may be stored on a processor-readable medium.
Claims
CLAIMS 1. A method of video encoding, comprising: obtaining latents associated with image data using a neural network; performing uniform vector quantization on said latents to obtain respective codewords; and performing lossless encoding on indices of said respective codewords based on a probability distribution of said latents.
2. An apparatus, comprising one or more processors and at least one memory coupled to said one or more processors, wherein said one or more processors are configured to: obtain latents associated with image data using a neural network; perform uniform vector quantization on said latents to obtain respective codewords; and perform lossless encoding on indices of said respective codewords based on a probability distribution of said latents..
3. The method of claim 1, or the apparatus of claim 2, wherein a codeword used to represent a partition region in said uniform vector quantization is fixed at a center of said partition region.
4. The method of claim 1 or 3, or the apparatus of claim 2 or 3, wherein a dimension of said partition region is encoded.
5. The method of any one of claims 1, 3 and 4, or the apparatus of any one of claims 2-4, wherein said latents correspond to main information or side information.
6. The method of any one of claims 1 and 3-5, or the apparatus of any one of claims 2-5, wherein said latents are reshaped before said uniform vector quantization.
7. The method of any one of claims 1 and 3-6, or the apparatus of any one of claims 2-6, wherein parameters of said neural network are trained based on uniform scalar quantization.
8. The method of claim 7, or the apparatus of claim 7, wherein continuous relaxation of quantization is applied during said uniform scalar quantization.
9. The method of claim 8, or the apparatus of claim 8, wherein a rate term is estimated in said training.
10. A method of video decoding, comprising: performing lossless decoding to obtain codeword indices based on a probability distribution of latents representing image data; performing uniform vector de-quantization based on said codeword indices to reconstruct latents associated with said image data; and decoding said image data from said reconstructed latents using a neural network.
11. An apparatus, comprising one or more processors and at least one memory coupled to said one or more processors, wherein said one or more processors are configured to: perform lossless decoding to obtain codeword indices based on a probability distribution of latents representing image data; perform uniform vector de-quantization based on said codeword indices to reconstruct latents associated with said image data; and decode said image data from said reconstructed latents using a neural network.
12. The method of claim 10, or the apparatus of claim 11, wherein a codeword used to reconstruct a partition region in said uniform vector de-quantization is fixed at a center of said partition region.
13. The method of claim 10 or 12, or the apparatus of claim 11 or 12, wherein a dimension of said partition region is decoded.
14. The method of any one of claims 10, 12 and 13, or the apparatus of any one of claims 11-13, wherein said latents correspond to main information or side information.
15. The method of any one of claims 10 and 12-14, or the apparatus of any one of claims 11-14, wherein codewords de-quantized from said uniform vector de-quantization are reshaped to obtain said reconstructed latents.
16. A signal comprising video data, formed by performing the method of any one of
claims 1 and 3-9.
17. A computer readable storage medium having stored thereon instructions for encoding or decoding a video according to the method of any one of claims 1, 3-10 and 12-15.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP22306427 | 2022-09-27 | ||
| PCT/EP2023/075835 WO2024068368A1 (en) | 2022-09-27 | 2023-09-19 | Uniform vector quantization for end-to-end image/video compression |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4595446A1 true EP4595446A1 (en) | 2025-08-06 |
Family
ID=83689562
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23769297.5A Pending EP4595446A1 (en) | 2022-09-27 | 2023-09-19 | Uniform vector quantization for end-to-end image/video compression |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP4595446A1 (en) |
| KR (1) | KR20250072621A (en) |
| CN (1) | CN119999216A (en) |
| WO (1) | WO2024068368A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120050425B (en) * | 2025-04-25 | 2025-08-08 | 湖南大学 | Compression and decompression method and device for underwater netting operation robot image |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12190231B2 (en) * | 2016-10-19 | 2025-01-07 | Samsung Electronics Co., Ltd | Method and apparatus for neural network quantization |
| JP7583338B2 (en) * | 2021-11-24 | 2024-11-14 | 日本電信電話株式会社 | Learning device, autoencoding device, learning method, autoencoding method, and program |
| JP7583337B2 (en) * | 2021-11-24 | 2024-11-14 | 日本電信電話株式会社 | Learning device, autoencoding device, learning method, autoencoding method, and program |
-
2023
- 2023-09-19 KR KR1020257010063A patent/KR20250072621A/en active Pending
- 2023-09-19 CN CN202380069575.6A patent/CN119999216A/en active Pending
- 2023-09-19 EP EP23769297.5A patent/EP4595446A1/en active Pending
- 2023-09-19 WO PCT/EP2023/075835 patent/WO2024068368A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| KR20250072621A (en) | 2025-05-23 |
| WO2024068368A1 (en) | 2024-04-04 |
| CN119999216A (en) | 2025-05-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR20230027152A (en) | Systems and methods for encoding/decoding a deep neural network | |
| US20260075202A1 (en) | Latent coding for end-to-end image/video compression | |
| JP2023530471A (en) | Systems and methods for encoding/decoding deep neural networks | |
| CN114127746A (en) | Compression of convolutional neural networks | |
| WO2024184044A1 (en) | Coding unit based implicit neural representation (inr) | |
| EP4595446A1 (en) | Uniform vector quantization for end-to-end image/video compression | |
| WO2024074373A1 (en) | Quantization of weights in a neural network based compression scheme | |
| US20250150626A1 (en) | Block-based compression and latent space intra prediction | |
| WO2021063559A1 (en) | Systems and methods for encoding a deep neural network | |
| US20260067479A1 (en) | Fine-tuning a limited set of parameters in a deep coding system for images | |
| WO2024156660A1 (en) | Methods and apparatuses for film grain analysis and synthesis | |
| EP4621646A1 (en) | Fine-tuning a selected set of subnetworks in a deep coding system for images | |
| US20260112068A1 (en) | Deep neural network based image compression using a latent shift based on gradient of latents entropy | |
| EP4675498A1 (en) | Video specific dictionary learning for implicit neural compression | |
| EP4716216A1 (en) | Gaussian pyramid based decomposition for hybrid inr network | |
| EP4651481A1 (en) | Shifting the parameters of a neural network based compression in decoding time | |
| WO2024081223A1 (en) | Training method of an end-to-end neural network based compression system | |
| WO2025011935A1 (en) | Approximating implicit neural representation through learnt dictionary atoms | |
| WO2025140843A1 (en) | Multiple frequency fourier mapping for implicit neural representation based compression | |
| WO2025056421A1 (en) | Dictionary-driven implicit neural representation for image and video compression | |
| WO2025026725A1 (en) | Adaptive network architecture for implicit neural representation | |
| CN120153659A (en) | Entropy Adaptation for Deep Feature Compression Using Flexible Networks | |
| WO2026041528A1 (en) | Spatiotemporal context for hybrid inr network | |
| WO2025051661A1 (en) | Warping layer format for implicit neural representation | |
| WO2024163481A1 (en) | A method and an apparatus for encoding/decoding at least one part of an image using multi-level context model |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250407 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |