WO2025215976A1 - 映像符号化装置、映像復号装置、映像符号化方法、および映像復号方法 - Google Patents
映像符号化装置、映像復号装置、映像符号化方法、および映像復号方法Info
- Publication number
- WO2025215976A1 WO2025215976A1 PCT/JP2025/008111 JP2025008111W WO2025215976A1 WO 2025215976 A1 WO2025215976 A1 WO 2025215976A1 JP 2025008111 W JP2025008111 W JP 2025008111W WO 2025215976 A1 WO2025215976 A1 WO 2025215976A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video
- entropy
- sub
- encoding
- quantization
- 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
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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
Definitions
- This disclosure relates to a video encoding device, a video decoding device, a video encoding method, and a video decoding method.
- video encoding devices are used to generate coded representations of input video (hereinafter referred to as bitstreams), and video decoding devices are used to decode the bitstreams and generate decoded video.
- Video coding based on predictive coding in coding units Video coding standards include H.264/AVC (Advanced Video Coding), H.265/HEVC (High-Efficiency Video Coding), and H.266/VVC (Versatile Video Coding), which are standardized by ITU-T SG16 and ISO/IEC/SC29.
- H.264/AVC Advanced Video Coding
- H.265/HEVC High-Efficiency Video Coding
- H.266/VVC Very Video Coding
- video data is managed in a hierarchical structure and is coded and decoded.
- the hierarchical structure consists of, for example, pictures that make up the video data, slices (or tiles) obtained by dividing pictures, coding tree units (CTUs: Coding Tree Units) obtained by dividing slices, and coding units (CUs: Coding Units) obtained by dividing coding tree units.
- CTUs Coding Tree Units
- CUs Coding Units
- the input image of the current CU is typically predictively coded based on a predicted image generated based on a decoded image that was coded and decoded earlier than the current CU.
- the prediction error image obtained by subtracting the predicted image from the input image is coded and decoded.
- Predictive coding includes intra-frame prediction (intra-prediction), which uses a decoded image included in a picture with the same display time as the current CU, and inter-frame prediction (inter-prediction), which uses a decoded image included in a picture with a different display time than the current CU.
- prediction error images are encoded based on frequency transform, quantization, and entropy coding.
- Prediction error images are decoded based on entropy decoding, inverse quantization, and inverse frequency transform.
- the frequency transform values of the quantized prediction error images are called quantized values.
- Non-Patent Document 2 describes a new video coding technique that combines an auto-encoder, which is a type of neural network, quantization, and entropy coding.
- An autoencoder compresses input data into a low-dimensional feature vector that contains only important features.
- the autoencoder then generates reconstructed data by reconstructing the low-dimensional feature vector back to its original dimensions.
- Figure 1 is an explanatory diagram showing the autoencoder algorithm. In Figure 1, the circular parts are called nodes and the arrows are called edges.
- the process of reducing the data to a low-dimensional feature vector (first half) is called encoding.
- the process of generating reconstructed data (second half) is called decoding.
- the autoencoder is trained to minimize the reconstruction error (the difference between the input data and the reconstructed data). To obtain meaningful features, the autoencoder is designed to impose constraints on the encoding structure and add regularization terms to the network's loss function.
- Non-Patent Document 3 discloses a method (MSPSM (Multi-Scale Progressive Statistical Model) image compression) for entropy encoding hidden layers (quantized feature vectors, i.e., quantized feature vectors) using a suitable probability distribution.
- a video decoding device can also use the entropy encoding result for the previous resolution i+1.
- the small rectangles in Figure 2 correspond to elements (features) in the quantized feature vector.
- the markings inside the small rectangles make it easier to understand the correspondence between elements at different resolutions.
- the quantized feature vector of resolution r is obtained by downsampling the quantized feature vector of resolution (r-1).
- the video encoding device estimates a probability model from the quantized feature vector of y r and context information.
- the probability model p r is obtained by inputting the quantized feature vector and context information z r+1 into a convolutional neural network.
- the video encoding device entropy encodes the quantized feature vector of resolution i to be processed using a probability model p i+1 estimated from the quantized feature vector of resolution (i+1).
- Non-Patent Document 3 proposes that, in order to parallelize processing, each resolution block is divided into multiple sub-blocks and then entropy coded.
- Figure 3 is an explanatory diagram showing an example of processing on a sub-block basis.
- Figure 3 shows an example in which an 8x16 (8x16 samples (elements)) quantized feature vector is divided into sixteen 2x4 (2x4 samples) sub-blocks. Note that in Figure 3, the hatched rectangles indicate that entropy coding has already been performed for the next smaller resolution (the processing result for the resolution i+1 immediately preceding the resolution i being processed).
- video encoding devices and video decoding devices generally process quantized feature vectors of the target resolution i simply in sample (element) order from top left to bottom right. This poses the problem of processing waits when parallel processing in 2x4 subblock units.
- W_tensor(i) and H_tensor(i) indicate the width (size in the row direction) and height (size in the column direction) of the quantized values of the target resolution i.
- Processing in the order from top left to bottom right also means that each sample is processed in order row-wise, and once processing of the samples in that row is complete, each sample in the next row is processed in the same way as the previous row.
- Figure 5 is an explanatory diagram to explain the problem.
- the numbers in Figure 5 indicate the processing order of the entropy encoding process. Note that in Figure 5, hatched rectangles indicate that entropy encoding has already been performed for the next smaller resolution (the processing result for the resolution i+1 immediately preceding the resolution i to be processed: see Figure 2).
- processing of quantized feature vectors is generally performed sample by sample in order from top left to bottom right. For example, if we focus on the top left sub-block, processing of that sub-block will not be complete until processing of the top four samples in the top right sub-block is complete. Specifically, processing of the sample numbered 8 cannot begin until processing of samples numbered 4, 5, 6, and 7 has finished. In other words, despite the aim of dividing quantized feature vectors into sub-blocks to enable parallel processing for faster processing, there is a wait time until processing of the sub-blocks is completed.
- the present invention aims to provide a video encoding device, a video decoding device, a video encoding method, and a video decoding method that enable entropy coding of quantized feature vectors using multi-resolution representation to be performed in parallel with low latency.
- the video encoding device is a video encoding device equipped with a neural network, a quantization means, and an entropy encoding means, and includes a grouping means for grouping the quantized values output by the quantization means into sub-blocks.
- a video decoding device based on the present disclosure is a video decoding device equipped with a neural network, an inverse quantization means, and an entropy decoding means, and includes an inverse grouping means that inversely groups the quantized values of sub-blocks output by the entropy decoding means.
- the video coding method according to the present disclosure is a video coding method that performs neural network-based encoding, quantization, and entropy coding, and groups the quantized values created in the quantization into sub-blocks.
- the video decoding method is a video decoding method that performs neural network-based decoding, inverse quantization, and entropy decoding, and inversely groups the quantized values of sub-blocks obtained by the entropy decoding.
- the video encoding program based on this disclosure causes a computer to perform neural network-based encoding, quantization, and entropy coding, and to group the quantized values created in the quantization into sub-blocks.
- the video decoding program based on this disclosure causes a computer to perform neural network-based decoding, inverse quantization, and entropy decoding, and to inversely group the quantized values of sub-blocks obtained by the entropy decoding.
- entropy coding of quantized feature vectors using multi-resolution representation can be performed in parallel with low latency.
- FIG. 1 is an explanatory diagram showing an algorithm of an autoencoder.
- FIG. 10 is an explanatory diagram showing an example of a quantized feature vector at each resolution.
- FIG. 10 is an explanatory diagram showing an example of processing in units of sub-blocks.
- FIG. 10 is an explanatory diagram for explaining a processing order for a quantized feature vector.
- FIG. 1 is an explanatory diagram for explaining a problem. 1 is a block diagram showing a video encoder and a video decoder that encode and decode each picture constituting video data based on a neural network.
- FIG. FIG. 1 is an explanatory diagram showing an example of rearrangement in an NN video encoder and an example of reverse rearrangement in an NN video decoder.
- FIG. 10 is an explanatory diagram showing an example of a processing order in a sub-block.
- 10 is a flowchart illustrating an example of the operation of the NN video encoder.
- 10 is a flowchart illustrating an example of the operation of the NN video decoder.
- 1 is a block diagram showing an example of the configuration of an encoder and a decoder;
- FIG. 2 is a block diagram illustrating an example of the configuration of a video encoder.
- FIG. 10 is a block diagram illustrating an example configuration of a video decoder.
- FIG. 10 is an explanatory diagram showing another example of the processing order in the sub-blocks.
- FIG. 1 is a block diagram illustrating an example of the configuration of an information processing system. 1 is a block diagram showing the main parts of a video encoding device;
- FIG. 2 is a block diagram showing the main parts of a video decoding device.
- Embodiment 1. 6 is a block diagram showing a video encoder 101 and a video decoder 201 that encode and decode each picture constituting video data based on a neural network.
- the video encoder 101 will be referred to as the NN video encoder 101
- the video decoder 201 will be referred to as the NN video decoder 201.
- the NN video encoder 101 includes an encoder 1001, a quantizer 1002, a reordering unit 1003, an entropy encoder 1004, and a multiplexer 1005.
- the NN video decoder 201 includes a decoder 2001, an inverse quantizer 2002, an inverse rearrangement unit 2003, an entropy decoder 2004, and a demultiplexer 2005.
- the encoder 1001 extracts features from the image of the input picture. Specifically, the encoder 1001 obtains a feature vector from the image of the input picture.
- the quantizer 1002 quantizes each element of the feature vector supplied from the encoder 1001 to obtain a quantized value (each element of the quantized feature vector).
- the sorting unit 1003 sorts the quantized values supplied from the quantizer 1002.
- FIG. 7 is an explanatory diagram showing an example of rearrangement in the NN video encoder 101 and reverse rearrangement in the NN video decoder 201.
- the rearrangement unit 1003 rearranges the elements (samples) of a quantized feature vector having a width of W_tensor(i) and a height of H_tensor(i) into 2x4 sub-blocks.
- each sample in the quantized feature vector is assigned in subblock units, from top left to bottom right.
- each sample in the quantized feature vector is rearranged in subblock units, from top left to bottom right. Note that the meaning of the expression "top left to bottom right" is as described above.
- Figure 8 is an explanatory diagram showing an example of the processing order for sub-blocks.
- the numbers in Figure 8 indicate the processing order of the entropy encoding process. Note that in Figure 8, hatched rectangles indicate that entropy encoding has already been performed for the next smaller resolution (the processing result for the resolution i+1 immediately preceding the resolution i being processed: see Figure 2).
- the entropy encoder 1004 first performs entropy encoding on the top left sub-block of the four sub-blocks. Next, it performs entropy encoding on the top right sub-block. Next, it performs entropy encoding on the bottom left sub-block. Finally, it performs entropy encoding on the bottom right sub-block.
- the entropy encoder 1004 performs entropy encoding of samples for each block, from top left to bottom right.
- the sorting unit 1003 temporarily stores the quantized feature vector input from the quantizer 1002, i.e., a series of quantized values (see the left side of Figure 7), in, for example, a buffer memory (not shown). Then, it supplies the quantized values to the entropy encoder 1004 according to the processing order illustrated in Figure 8.
- the rearrangement unit 1003 essentially rearranges each sample in the feature vector by subblock. Note that when the rearrangement unit 1003 rearranges each sample by subblock, it can also be said that the rearrangement unit 1003 groups each sample by subblock, or groups each sample into subblocks (divides each sample into multiple subblocks).
- the sorting unit 1003 groups the feature vectors into sub-blocks and controls the entropy coding to be performed on each sub-block. Quantized values are supplied to the entropy encoder 1004 according to the processing order illustrated in FIG. 8, so that quantized values are supplied to the entropy encoder 1004 for each sub-block.
- the samples within the sub-block are rearranged from the upper left to the lower right. This is because the quantized values are supplied to the entropy encoder 1004 in accordance with the processing order illustrated in FIG. 8, and entropy encoding processing is performed in each sub-block from the upper left to the lower right. Note that, as will be described later, the processing order within a sub-block is not limited to the processing order illustrated in FIG. 8.
- the entropy encoder 1004 entropy encodes the sorted quantized values supplied from the sorting unit 1003 for each subblock, thereby obtaining entropy-coded data.
- the entropy encoder 1004 has been described as performing entropy encoding on each block in a cascaded manner, but the entropy encoder 1004 can also perform entropy encoding on multiple blocks in parallel.
- the multiplexer 1005 outputs the entropy-encoded data supplied from the entropy encoder 1004 as a bit stream (called an NN bit stream).
- Figure 9 is a flowchart showing an example of the operation of the NN video encoder 101.
- the encoder 1001 extracts features from the input picture and generates a feature vector (step S101).
- the quantizer 1002 quantizes the feature vector to generate a quantized value (step S102).
- the sorting unit 1003 sorts the quantized values supplied from the quantizer 1002 on a sub-block basis using the processing described above (step S103).
- the entropy encoder 1004 entropy encodes the sorted quantized values to generate entropy-encoded data (step S104).
- the multiplexer 1005 outputs the entropy-encoded data as an NN bit stream (step S105).
- a demultiplexer 2005 demultiplexes the NN bitstream to obtain entropy coded data.
- the entropy decoder 2004 entropy decodes the entropy-encoded data supplied from the demultiplexer 2005 to obtain quantized values.
- the inverse rearrangement unit 2003 rearranges the quantized values in sub-block units supplied from the entropy decoder 2004 in sample units. That is, the inverse rearrangement unit 2003 inversely groups the quantized values of the sub-blocks output by the entropy decoder 2004. Specifically, as shown in FIG. 7, the inverse rearrangement unit 2003 restores the order of the quantized values rearranged by the rearrangement unit 1003 in the NN video encoder 101 (see the left side of FIG. 7). That is, the inverse rearrangement unit 2003 can restore the order of the quantized values in the sub-blocks by performing the inverse process of the rearrangement performed by the rearrangement unit 1003.
- the inverse rearrangement unit 2003 rearranges the quantized values input in the order illustrated in Figure 8 into the order illustrated in Figure 5.
- the inverse rearrangement unit 2003 outputs the quantized values input from the entropy decoder 2004 to the inverse quantizer 2002 in the order illustrated in Figure 5.
- the inverse rearrangement unit 2003 outputs the quantized values input from the entropy decoder 2004 to the inverse quantizer 2002 so that the inverse quantizer 2002 can process them in order from top left to bottom right (see Figure 4, etc.).
- the inverse rearrangement unit 2003 temporarily stores the quantized values input from the entropy decoder 2004 in, for example, a buffer memory (not shown).
- the inverse quantizer 2002 inverse quantizes the sorted quantized values supplied from the inverse sorting unit 2003 to obtain a reconstructed feature vector.
- the decoder 2001 obtains a reconstructed image of the decoded picture (also called an NN decoded picture) from the reconstructed feature vector.
- Figure 10 is a flowchart showing an example of the operation of the NN video decoder 201.
- the demultiplexer 2005 demultiplexes the bitstream (step S201).
- the demultiplexer 2005 obtains entropy-encoded data through demultiplexing.
- the entropy decoder 2004 entropy decodes the entropy-encoded data to obtain quantized values (step S202).
- the inverse rearrangement unit 2003 rearranges the quantized values supplied from the entropy decoder 2004 in subblock units (for each subblock) (step S203). That is, the inverse rearrangement unit 2003 restores the order of the quantized values to their original order (see the left side of Figure 7).
- the inverse quantizer 2002 inversely quantizes the quantized value (step S204).
- the inverse quantizer 2002 obtains a reconstructed feature vector through inverse quantization.
- the decoder 2001 obtains a reconstructed image of the decoded picture from the reconstructed feature vector (step S205).
- the sorting unit 1003 sorts the quantized feature vectors (specifically, the elements (samples) of the quantized feature vectors) so that entropy coding in neural network-based video coding is performed on a subblock basis, i.e., for each subblock. In doing so, the sorting unit 1003 sorts the vectors so that processing is performed in order from top left to bottom right within each subblock. As a result, entropy coding of the quantized feature vectors can be processed in parallel with low latency.
- the NN video decoder 201 also receives a bitstream from the NN video encoder 101, which has a reordering unit 1003, and the inverse reordering unit 2003 performs the reverse of the reordering process performed by the reordering unit 1003. Therefore, the NN video decoder 201 can smoothly play back video based on the bitstream from the NN video encoder 101.
- FIG. 11 is a block diagram showing an example of the configuration of the encoder 1001 and the decoder 2001 according to the first embodiment.
- a "downward arrow ( ⁇ ) 2" indicates subsampling by 1/2 (also called pooling), and an “upward arrow ( ⁇ ) 2" indicates upsampling by 2.
- the encoder 1001 consists of four Residual Blocks and one Convolution Block.
- a Residual Block consists of two Convolutional Blocks and one Shortcut Link.
- a Convolutional Block consists of one Convolution layer and one activation function.
- the decoder 2001 consists of four residual blocks and one pixel shuffle convolution layer.
- the pixel shuffler is a mechanism proposed as sub-pixel convolution.
- the pixel shuffler rearranges the input feature vectors and outputs high-resolution feature vectors.
- a Parametric ReLU Parametric Rectified Linear Unit
- ⁇ is a parameter determined during training
- the configuration shown in FIG. 11 is just an example, and the configurations of the encoder 1001 and decoder 2001 are not limited to the configuration shown in FIG. 11.
- Embodiment 2. 12 and 13 are block diagrams showing examples of the configuration of a video encoder and a video decoder, respectively.
- the video encoder 100 shown in FIG. 12 includes a switch 3000, an NN video encoder 3001, an NN video decoder 3003, a CP video encoder 3002, a CP video decoder 3004, a decoded picture buffer 3005, and a multiplexer 4000 that performs multiplexing processing of entropy-encoded data and other information.
- NN stands for neural network.
- CP stands for prediction based on coding units.
- the CP video encoder 3002 performs video encoding processing using a video encoding method based on predictive encoding for each encoding unit.
- the CP video decoder 3004 performs decoding processing using a video encoding method based on predictive encoding for each encoding unit.
- the decoded picture buffer 3005 is a memory unit that stores decoded pictures (reconstructed pictures). As mentioned above, video encoding methods that comply with H.264/AVC, H.265/HEVC, H.266/VVC, etc. can be used.
- the NN video encoder 101 in each of the above embodiments can be used as the NN video encoder 3001.
- the NN video decoder 201 in each of the above embodiments can be used as the NN video decoder 3003.
- the video decoder 200 shown in FIG. 13 includes a demultiplexer 5000 that demultiplexes the bitstream, an NN video decoder 3003, a CP video decoder 3004, and a decoded picture buffer 3005.
- a switch 3000 supplies an input picture to either an NN video encoder 3001 or a CP video encoder 3002 .
- the NN video encoder 3001 operates in the same manner as the NN video encoder 101 of the first embodiment to generate an NN bitstream.
- the NN video decoder 3003 inputs the NN bitstream supplied from the NN video encoder 3001 and operates in the same manner as the NN video decoder 201 of the first embodiment to obtain decoded pictures (NN decoded pictures).
- the NN video decoder 3003 stores the NN decoded pictures in the decoded picture buffer 3005.
- the CP video encoder 3002 uses the input picture and the decoded picture stored in the decoded picture buffer 3005 to perform video encoding based on predictive encoding in the encoding unit, generating a bitstream (also called a CP bitstream).
- a bitstream also called a CP bitstream
- the CP video decoder 3004 inputs the CP bitstream supplied from the CP video encoder 3002, performs entropy decoding, and then performs decoding based on predictive encoding in the encoding unit to obtain a decoded picture (also called a CP decoded picture).
- the CP video decoder 3004 stores the CP decoded picture in the decoded picture buffer 3005.
- the decoded pictures stored in the decoded picture buffer 3005 are used as reference pictures.
- the NN video decoder 3003 inputs the NN bitstream from the NN video encoder 3001 and performs entropy decoding processing.
- the NN video decoder 3003 then obtains NN-decoded pictures from the encoded data obtained by entropy decoding.
- the NN video decoder 3003 may also be configured to input intermediate data (e.g., quantized values) before entropy encoding from the NN video encoder 3001 and obtain NN-decoded pictures from the intermediate data. In that case, the NN video decoder 3003 does not need to perform entropy decoding processing.
- the CP video decoder 3004 inputs the CP bitstream from the CP video encoder 3002 and performs entropy decoding.
- the CP video decoder 3004 then obtains a CP decoded picture from the encoded data obtained by entropy decoding.
- the CP video decoder 3004 may also be configured to input intermediate data (e.g., quantized values) before entropy encoding from the CP video encoder 3002 and obtain a CP decoded picture from the intermediate data. In that case, the CP video decoder 3004 does not need to perform entropy decoding.
- the NN video decoder 3003 operates in the same manner as the NN video decoder 201 of the first embodiment to obtain NN-decoded pictures based on coded data obtained by demultiplexing the NN bitstream.
- the NN video decoder 3003 stores the NN-decoded pictures in the decoded picture buffer 3005.
- the CP video decoder 3004 demultiplexes the CP bitstream, performs entropy decoding, and obtains CP decoded pictures based on the resulting encoded data.
- the CP video decoder 3004 stores the CP decoded pictures in the decoded picture buffer 3005.
- the video decoder 200 outputs the NN decoded picture or CP decoded picture stored in the decoded picture buffer 3005 as a decoded picture.
- the sorting unit 1003 may further change the processing order within the sub-block from the processing order exemplified in FIG. 8. For example, the sorting unit 1003 may sort the sub-block into the processing order shown in FIG. 14 so that the probability distribution can be obtained by appropriately interpolating the quantized values to be subsequently processed within the sub-block from the surrounding values.
- the information processing system shown in FIG. 15 comprises a processor 701 such as a CPU (Central Processing Unit), a program memory 702, a storage medium 703 for storing video data, and a storage medium 704 for storing a bitstream.
- Storage medium 703 and storage medium 704 may be separate storage media, or may be storage areas made up of the same storage medium.
- a magnetic storage medium such as a hard disk can be used as the storage medium.
- the information processing system may also comprise multiple processors 701.
- the program memory 702 stores a program (video encoding program or video decoding program) for implementing the functions of each block shown in each of the above embodiments.
- the processor 701 then executes processing in accordance with the programs stored in the program memory 702, thereby realizing the functions of the video encoder 100, NN video encoder 101, video decoder 200, and NN video decoder 201 shown in each embodiment.
- the processor 701 executes processing in accordance with a video encoding program for implementing the functions of each block (excluding the decoded picture buffer 3005) in the NN video encoder 101 and video encoder 100 shown in Figures 6 and 12, thereby realizing the functions of the NN video encoder 101 and video encoder 100.
- the functions of the NN video decoder 201 and the video decoder 200 are realized by the processor 701 executing processing in accordance with a video decoding program for realizing the functions of each block (excluding the decoded picture buffer 3005) in the NN video decoder 201 and the video decoder 200 shown in Figures 6 and 13.
- the program memory 702 is a non-transitory computer-readable medium.
- the program may be stored on various types of transitory computer-readable medium.
- the program may be supplied to the transitory computer-readable medium, for example, via a wired or wireless communication channel, i.e., via an electrical signal, optical signal, or electromagnetic wave.
- FIG. 16 is a block diagram showing the main components of a video encoding device.
- the video encoding device 10 shown in FIG. 16 includes a neural network 11 (implemented in an embodiment by an encoder 1001), a quantization means 12 (implemented in an embodiment by a quantizer 1002), and an entropy encoding means 13 (implemented in an embodiment by an entropy encoder 1004), as well as grouping means 14 (implemented in an embodiment by a sorting unit 1003) that groups the quantized values output by the quantization means 12 into sub-blocks.
- FIG. 17 is a block diagram showing the main components of a video decoding device.
- the video decoding device 20 shown in FIG. 17 (implemented in an embodiment by a video decoder 200 and an NN video decoder 201) comprises a neural network 21 (implemented in an embodiment by a decoder 2001), an inverse quantization means 22 (implemented in an embodiment by an inverse quantizer 2002), an entropy decoding means 23 (implemented in an embodiment by an entropy decoder 2004), and an inverse grouping means 24 (implemented in an embodiment by an inverse sorting unit 2003) that inversely groups the quantized values of the sub-blocks output by the entropy decoding means.
- a video encoding device comprising a neural network, a quantization means, and an entropy encoding means
- a video encoding device comprising: a grouping means for grouping the quantized values output by the quantization means into sub-blocks.
- a video decoding device comprising a neural network, an inverse quantization means, and an entropy decoding means, a degrouping unit that degroups the quantized values of the sub-blocks output by the entropy decoding unit.
- a video coding method that performs neural network-based encoding, quantization, and entropy coding, comprising: The video coding method further comprises grouping the quantized values produced by the quantization process into sub-blocks.
- a video decoding method that performs a neural network-based decoding process, an inverse quantization process, and an entropy decoding process, comprising: the quantized values of the sub-blocks obtained by the entropy decoding process are inversely grouped.
- Video encoding device 11 Neural network 12 Quantization means 13 Entropy encoding means 14 Grouping means 20 Video decoding device 21 Neural network 22 Inverse quantization means 23 Entropy decoding means 24 Inverse grouping means 100 Video encoder 101 NN video encoder 200 Video decoder 201 NN video decoder 701 Processor 702 Program memory 703, 704 Storage medium 1001 Encoder 1002 Quantizer 1003 Rearrangement unit 1004 Entropy encoder 1005 Multiplexer 2001 Decoder 2002 Inverse quantizer 2003 Inverse rearrangement unit 2004 Entropy decoder 2005 Demultiplexer 3000 Switch 3001 NN video encoder 3002 CP video encoder 3003 NN video decoder 3004 CP video decoder 3005 Decoded picture buffer 4000 Multiplexer 5000 Demultiplexer
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
映像符号化装置は、ニューラルネットワーク、量子化手段、および、エントロピー符号化手段を備える映像符号化装置であって、量子化手段が出力する量子化値をサブブロックにグループ化するグループ化手段を含み、多重解像度表現を用いた量子化済み特徴ベクトルのエントロピー符号化を低遅延で並列処理できるようにする。
Description
本開示は、映像符号化装置、映像復号装置、映像符号化方法、および映像復号方法に関する。
映像を効率的に伝送または記録するために、入力映像を符号化した符号化表現(以下、ビットストリームという。)を生成する映像符号化装置、および、ビットストリームを復号して復号映像を生成する映像復号装置が用いられている。
[符号化ユニットでの予測符号化に基づく映像符号化]
映像符号化方式の規格として、ITU-T SG16およびISO/IEC/SC29で規格化されている、H.264/AVC(Advanced Video Coding)、H.265/HEVC(High-Efficiency Video Coding)、H.266/VVC(Versatile Video Coding)などがある。また、近年の映像符号化技術として、非特許文献1に記載された技術が挙げられる。
映像符号化方式の規格として、ITU-T SG16およびISO/IEC/SC29で規格化されている、H.264/AVC(Advanced Video Coding)、H.265/HEVC(High-Efficiency Video Coding)、H.266/VVC(Versatile Video Coding)などがある。また、近年の映像符号化技術として、非特許文献1に記載された技術が挙げられる。
これら映像符号化方式において、映像データは、階層構造で管理されて、符号化および復号される。階層構造は、例えば、映像データを構成するピクチャ、ピクチャを分割して得られるスライス(または、タイル)、スライスを分割して得られる符号化ツリーユニット(CTU:Coding Tree Uni))、符号化ツリーユニットを分割して得られる符号化ユニット(Coding Unit:CU)からなる。
処理対象CUの入力画像は、通常、当該処理対象CUよりも過去に符号化され、かつ、復号された復号画像に基づいて生成される予測画像に基づいて、予測符号化される。すなわち、入力画像から予測画像を減じて得られた予測誤差画像が符号化され、かつ、復号される。予測符号化として、処理対象CUと同じ表示時刻のピクチャに含まれる復号画像を用いる画面内予測(イントラ予測)と、処理対象CUとは異なる表示時刻のピクチャに含まれる復号画像を用いる画面間予測(インター予測)とがある。
なお、予測誤差画像の符号化は、周波数変換、量子化、エントロピー符号化に基づいて実行される。予測誤差画像の復号は、エントロピー復号、逆量子化、逆周波数変換に基づいて実行される。量子化された予測誤差画像の周波数変換値を、量子化値という。
[ニューラルネットワークに基づく映像符号化]
ニューラルネットワークの一つである自己符号化器(Auto-encoder)、量子化、および、エントロピー符号化を組合せた新たな映像符号化技術が、非特許文献2に記載されている。
ニューラルネットワークの一つである自己符号化器(Auto-encoder)、量子化、および、エントロピー符号化を組合せた新たな映像符号化技術が、非特許文献2に記載されている。
自己符号化器は、入力データを、重要な特徴だけを含むように、低次元の特徴ベクトルに圧縮する。その後、自己符号化器は、低次元の特徴ベクトルを元の次元に再構築した再構築データを生成する。図1は、自己符号化器のアルゴリズムを示す説明図である。
図1において、円形部分をノードと呼び、矢印をエッジと呼ぶ。低次元の特徴ベクトルに落とし込む処理(前半部分)をエンコードと呼ぶ。再構築データを生成する処理(後半部分)をデコードと呼ぶ。
図1において、円形部分をノードと呼び、矢印をエッジと呼ぶ。低次元の特徴ベクトルに落とし込む処理(前半部分)をエンコードと呼ぶ。再構築データを生成する処理(後半部分)をデコードと呼ぶ。
自己符号化器の学習は、再構築誤差(入力データと再構築データとの差)を最小化するように進められる。有意義な特徴量が得られるように、自己符号化器は、エンコードの構造に制約を加えたり、ネットワークの損失関数に正則化項を追加するように設計される。
非特許文献3は、隠れ層(量子化済み特徴ベクトル、すなわち、量子化された特徴ベクトル)を好適な確率分布でエントロピー符号化するための方法(MSPSM(Multi-Scale Progressive Statistical Model)画像圧縮)を開示している。MSPSM画像圧縮では、図2に示されるように、映像符号化装置は、量子化済み特徴ベクトルを多重解像度で表現し、粗い解像度からエントロピー符号化が実行される。処理対象の解像度をi(図2に示す例では、i=0、1、2、3、または4)とすると、解像度iについてエントロピー符号化処理を行うときに、直前の解像度i+1についてのエントロピー符号化結果を利用できる。映像復号装置でも、直前の解像度i+1についてのエントロピー符号化結果を利用できるようになる。そして、映像復号装置は、処理対象の解像度iの量子化済み特徴ベクトルの確率分布を得ることができる。なお、i=4の場合には、映像符号化装置および映像復号装置は、解像度i+1の結果を利用できない。
図2における小矩形は、量子化済み特徴ベクトルにおける要素(特徴量)に対応する。小矩形の内部のマーキングは、異なる解像度間での要素の対応関係を把握しやすくするために施されている。
具体的に説明すると、映像符号化装置は、複数の解像度の各々について、粗い解像度の要素を対象としてエントロピー符号化処理を実行する。例えば、図2に例示された解像度r(r=0~4)の量子化済み特徴ベクトルを、yrと表現すると、映像符号化装置は、y4、y3、y2、y1、y0の順に処理を実行する。なお、解像度rの量子化済み特徴ベクトルは、解像度(r-1)の量子化済み特徴ベクトルをダウンサンプリングすることによって得られる。映像符号化装置は、yrの量子化済み特徴ベクトルとコンテキスト情報から、確率モデルを推定する。例えば、確率モデルprは、量子化済み特徴ベクトルとコンテキスト情報zr+1を畳み込みニューラルネットワークに入力することにより得られる。映像符号化装置は、処理対象の解像度iの量子化済み特徴ベクトルを、解像度(i+1)の量子化済み特徴ベクトルから推定された確率モデルpi+1を使用してエントロピー符号化する。
"Algorithm description of Enhanced Compression Model 9(ECM 9)", JVET-AD2025, JVET of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 30th Meeting, Antalya, TR, 21-28 April 2023
J. Ball’e, V. Laparra, and E. P. Simoncelli, "End-to-end Optimized Image Compression", published as a conference paper at ICLR 2017
H. Zhang et al, " Lossless image compression using a multi-scale progressive statistical mode", published ACCV 2020 LNCS version
非特許文献3では、処理の並列化のために、各々の解像度のブロックを複数のサブブロックに分割してエントロピー符号化することが提案されている。図3は、サブブロック単位での処理の一例を示す説明図である。図3には、8×16(8×16サンプル(要素))の量子化済み特徴ベクトルが、16個の2×4(2×4サンプル)のサブブロックに分割された例が示されている。なお、図3において、斜線が施された矩形は、1段小さい解像度(処理対象の解像度iに対する直前の解像度i+1についての処理結果)について既にエントロピー符号化されていることを示す。
しかし、一般に、図4に示されるように、映像符号化装置および映像復号装置は、処理対象の解像度iの量子化済み特徴ベクトルを、単純に、サンプル(要素)単位で左上から右下の順で処理を実行する。すると、2×4のサブブロック単位での並列処理では、処理待ちが発生するという課題がある。なお、図4において、W_tensor(i)とH_tensor(i) とは、処理対象の解像度iの量子化値の横幅(行方向のサイズ)と縦幅(列方向のサイズ)とを示す。また、左上から右下の順で処理をするということは、行方向に順に各サンプルの処理を行い、その行のサンプルの処理が終了すると、次の行について前行と同じように各サンプルの処理を行うことを意味する。
図5は、課題を説明するための説明図である。図5には、4×8の処理対象の量子化済み特徴ベクトル(W_tensor(i)=8、H_tensor(i)=4)が、4個の2×4のサブブロックに分割された例が示されている。図5における数字は、エントロピー符号化処理の処理順を表す。なお、図5において、斜線が施された矩形は、1段小さい解像度(処理対象の解像度iに対する直前の解像度i+1についての処理結果:図2参照)について既にエントロピー符号化されていることを示す。
上述したように、一般に、量子化済み特徴ベクトルについて、サンプル単位で左上から右下に向かって順に処理が実行されるので、例えば、左上のサブブロックに着目すると、右上のサブブロックにおける上側の4つのサンプルに対する処理が完了しないと、左上のサブブロックの処理は完了しない。具体的には、4,5,6,7の数字が付されているサンプルの処理が終了しないと、8の数字が付されているサンプルの処理を開始することはできない。すなわち、量子化済み特徴ベクトルをサブブロックに分割して高速化のための並列処理を実行可能にすることを目指したにも関わらず、サブブロックの処理を完了するまでに待ち時間が生じてしまう。
本発明は、多重解像度表現を用いた量子化済み特徴ベクトルのエントロピー符号化を低遅延で並列処理できるようにする映像符号化装置、映像復号装置、映像符号化方法、および映像復号方法を提供することを目的とする。
本開示に基づく映像符号化装置は、ニューラルネットワーク、量子化手段、および、エントロピー符号化手段を備える映像符号化装置であって、量子化手段が出力する量子化値をサブブロックにグループ化するグループ化手段を含む。
本開示に基づく映像復号装置は、ニューラルネットワーク、逆量子化手段、および、エントロピー復号手段を備える映像復号装置であって、エントロピー復号手段が出力するサブブロックの量子化値を逆グループ化する逆グループ化手段を含む。
本開示に基づく映像符号化方法は、ニューラルネットワークに基づくエンコード処理、量子化処理、および、エントロピー符号化を実行する映像符号化方法であって、量子化処理で作成される量子化値をサブブロックにグループ化する。
本開示に基づく映像復号方法は、ニューラルネットワークに基づくデコード処理、逆量子化処理、および、エントロピー復号処理を実行する映像復号方法であって、エントロピー復号処理によって得られるサブブロックの量子化値を逆グループ化する。
本開示に基づく映像符号化プログラムは、コンピュータに、ニューラルネットワークに基づくエンコード処理、量子化処理、および、エントロピー符号化を実行させ、量子化処理で作成される量子化値をサブブロックにグループ化させる。
本開示に基づく映像復号プログラムは、コンピュータに、ニューラルネットワークに基づくデコード処理、逆量子化処理、および、エントロピー復号処理を実行させ、エントロピー復号処理によって得られるサブブロックの量子化値を逆グループ化させる。
本発明によれば、多重解像度表現を用いた量子化済み特徴ベクトルのエントロピー符号化を低遅延で並列処理できる。
以下、実施形態を図面を参照して説明する。
実施形態1.
図6は、映像データを構成する各ピクチャをニューラルネットワークに基づいて符号化および復号する映像符号化器101および映像復号器201を示すブロック図である。以下、映像符号化器101をNN映像符号化器101と表現する。映像復号器201をNN映像復号器201と表現する。
図6は、映像データを構成する各ピクチャをニューラルネットワークに基づいて符号化および復号する映像符号化器101および映像復号器201を示すブロック図である。以下、映像符号化器101をNN映像符号化器101と表現する。映像復号器201をNN映像復号器201と表現する。
NN映像符号化器101は、エンコーダ1001、量子化器1002、並べ替え部1003、エントロピー符号化器1004、および、多重化器1005を備えている。
NN映像復号器201は、デコーダ2001、逆量子化器2002、逆並べ替え部2003、エントロピー復号器2004、および、多重化解除器2005を備えている。
なお、図6における矢印は、信号(データ)の流れの方向を端的に示すが、双方向性を排除するものではない。このことは、他のブロック図についても同様である。
[符号化側の説明]
NN映像符号化器101において、エンコーダ1001は、入力ピクチャの画像から特徴量を抽出する。具体的には、エンコーダ1001は、入力ピクチャの画像から特徴ベクトルを得る。
NN映像符号化器101において、エンコーダ1001は、入力ピクチャの画像から特徴量を抽出する。具体的には、エンコーダ1001は、入力ピクチャの画像から特徴ベクトルを得る。
量子化器1002は、エンコーダ1001から供給される特徴ベクトルの各要素を量子化して、量子化値(量子化済み特徴ベクトルの各要素)を得る。
並べ替え部1003は、量子化器1002から供給される量子化値を並べ替える。
図7は、NN映像符号化器101における並べ替え、および、NN映像復号器201における逆並べ替えの一例を示す説明図である。図7に示す例では、並べ替え部1003は、幅がW_tensor(i)、高さがH_tensor(i) である量子化済み特徴ベクトルの要素(サンプル)を、2×4のサブブロック毎に並べ替える。
以上のようにして、量子化済み特徴ベクトルにおける各サンプルは、左上から右下に向かって、サブブロック単位で割り当てられる。すなわち、量子化済み特徴ベクトルにおける各サンプルは、左上から右下の順で、サブブロック単位で並べ替えられる。なお、左上から右下の順という表現の意味は、上述した通りである。
図8は、サブブロックにおける処理順の一例を示す説明図である。図8には、4×8の量子化済み特徴ベクトル(W_tensor(i)=8、H_tensor(i)=4)が、4個の2×4のサブブロックに分割された例が示されている。図8における数字は、エントロピー符号化処理の処理順を表す。なお、図8において、斜線が施された矩形は、1段小さい解像度(処理対象の解像度iに対する直前の解像度i+1についての処理結果:図2参照)について既にエントロピー符号化されていることを示す。
エントロピー符号化器1004は、4個のサブブロックのうち、まず、左上のサブブロックを対象としてエントロピー符号化を行う。次いで、右上のサブブロックを対象としてエントロピー符号化を行う。次に、左下のサブブロックを対象としてエントロピー符号化を行う。そして、右下のサブブロックを対象としてエントロピー符号化を行う。
エントロピー符号化器1004は、各々のブロックについて、左上から右下の順に、サンプルのエントロピー符号化を行う。
図8の例示を参照して、並べ替え部1003の具体的動作の一例を説明する。
並べ替え部1003は、量子化器1002から入力される量子化済み特徴ベクトルすなわち一連の量子化値(図7における左側参照)を、例えば、バッファメモリ(図示せず)に一時格納する。そして、図8に例示された処理順に従って、量子化値をエントロピー符号化器1004に供給する。
並べ替え部1003が、以上のような処理を実行することによって、実質的に、特徴ベクトルにおける各サンプルが、サブブロック単位で並べ替えられる。なお、並べ替え部1003が、各サンプルをサブブロック単位で並べ替えるということは、並べ替え部1003が、各サンプルを、サブブロック単位でグループ化する、または、サブブロックにグループ化する(複数のサブブロックに分割する)ということもできる。
換言すれば、並べ替え部1003は、特徴ベクトルをサブブロックにグループ化し、サブブロック毎に、エントロピー符号化が実行されるように制御することになる。図8に例示された処理順に従って量子化値がエントロピー符号化器1004に供給されることによって、サブブロック毎に、量子化値がエントロピー符号化器1004に供給されるからである。
また、並べ替え部1003が以上のような処理を実行することによって、サブブロック中で、サンプルが、左上から右下に向かって並べ替えられたことになる。図8に例示された処理順に従って量子化値がエントロピー符号化器1004に供給されることによって、各サブブロックにおいて、左上から右下に向かってエントロピー符号化処理がなされるからである。なお、後述するように、サブブロック内での処理順は、図8に例示された処理順に限られない。
エントロピー符号化器1004は、並べ替え部1003から供給される並べ替え済みの量子化値を、サブブロック毎にエントロピー符号化して、エントロピー符号化データを得ることができる。
なお、説明を簡単にするために、エントロピー符号化器1004が、各々のブロックについて縦続的にエントロピー符号化するように説明がなされたが、エントロピー符号化器1004は、複数のブロックについて並列してエントロピー符号化を行うこともできる。
多重化器1005は、エントロピー符号化器1004から供給されるエントロピー符号化データをビットストリーム(NNビットストリームと呼ぶ。)として出力する。
次に、NN映像符号化器101の動作を説明する。図9は、NN映像符号化器101の動作例を示すフローチャートである。
NN映像符号化器101において、エンコーダ1001は、入力ピクチャから特徴量を抽出して、特徴ベクトルを生成する(ステップS101)。
量子化器1002は、特徴ベクトルを量子化して量子化値を生成する(ステップS102)。
並べ替え部1003は、上述したような処理によって、サブブロック単位で、量子化器1002から供給される量子化値を並べ替える(ステップS103)。
エントロピー符号化器1004は、並べ替え済みの量子化値をエントロピー符号化して、エントロピー符号化データを生成する(ステップS104)。
多重化器1005は、エントロピー符号化データをNNビットストリームとして出力する(ステップS105)。
[復号側の説明]
NN映像復号器201において、多重化解除器2005は、NNビットストリームを多重化解除して、エントロピー符号化データを得る。
NN映像復号器201において、多重化解除器2005は、NNビットストリームを多重化解除して、エントロピー符号化データを得る。
エントロピー復号器2004は、多重化解除器2005から供給されるエントロピー符号化データをエントロピー復号して、量子化値を得る。
逆並べ替え部2003は、エントロピー復号器2004から供給されるサブブロック単位の量子化値を、サンプル単位に並べ替える。すなわち、逆並べ替え部2003は、エントロピー復号器2004が出力するサブブロックの量子化値を逆グループ化する。具体的には、逆並べ替え部2003は、図7に示すように、NN映像符号化器101における並べ替え部1003によって並べ替えられた量子化値の並び順を、元に戻す(図7における左側参照)。すなわち、逆並べ替え部2003は、並べ替え部1003が実行する並べ替えと逆の処理を、逆並べ替えとして実行することによって、サブブロック内の量子化値の並び順を元に戻すことができる。
図5および図8の例示を参照してより詳しく説明すると、逆並べ替え部2003は、図8に例示されたような順で入力される量子化値を、図5に例示されたような順に並べ替える。換言すれば、逆並べ替え部2003は、エントロピー復号器2004から入力される量子化値を、図5に例示されたような順で、逆量子化器2002に出力する。つまり、逆並べ替え部2003は、エントロピー復号器2004から入力される量子化値を、逆量子化器2002が左上から右下の順(図4等参照)で処理できるように、逆量子化器2002に出力する。なお、必要であれば、逆並べ替え部2003は、エントロピー復号器2004から入力される量子化値を、例えばバッファメモリ(図示せず)に一時格納する。
逆量子化器2002は、逆並べ替え部2003から供給される並べ替え済みの量子化値を逆量子化して、再構築特徴ベクトルを得る。
デコーダ2001は、再構築特徴ベクトルから復号ピクチャ(NN復号ピクチャともいう。)の再構築画像を得る。
次に、NN映像復号器201の動作を説明する。図10は、NN映像復号器201の動作例を示すフローチャートである。
NN映像復号器201において、多重化解除器2005は、ビットストリームを多重化解除する(ステップS201)。多重化解除器2005は、多重化解除によって、エントロピー符号化データを得る。
エントロピー復号器2004は、エントロピー符号化データをエントロピー復号して、量子化値を得る(ステップS202)。
逆並べ替え部2003は、エントロピー復号器2004から供給される量子化値を、サブブロック単位で(サブブロック毎に)並べ替える(ステップS203)。すなわち、逆並べ替え部2003は、量子化値の並び順を元に戻す(図7における左側参照)。
逆量子化器2002は、量子化値を逆量子化する(ステップS204)。逆量子化器2002は、逆量子化によって、再構築特徴ベクトルを得る。
デコーダ2001は、再構築特徴ベクトルから復号ピクチャの再構築画像を得る(ステップS205)。
本実施形態では、並べ替え部1003は、ニューラルネットワークに基づく映像符号化におけるエントロピー符号化が、サブブロック単位で、すなわち、サブブロック毎に実行されるように、量子化済み特徴ベクトル(具体的には、量子化済み特徴ベクトルの要素(サンプル))を並べ替える。その際、並べ替え部1003は、各々のサブブロック中で、左上から右下への順で処理が実行されるように並べ替える。その結果、量子化済み特徴ベクトルのエントロピー符号化が、低遅延で並列処理できるようになる。
また、NN映像復号器201は、並べ替え部1003を有するNN映像符号化器101からのビットストリームを受信し、逆並べ替え部2003は、並べ替え部1003が実行した並べ替え処理と逆の処理を実行する。したがって、NN映像復号器201は、NN映像符号化器101からのビットストリームに基づいて、円滑に映像を再生できる。
[エンコーダおよびデコーダの構成]
図11は、第1の実施形態におけるエンコーダ1001およびデコーダ2001の構成例を示すブロック図である。図11において、「下向き矢印(↓)2」は、1/2のサブサンプル(プーリングとも呼ばれる。)を表す。「上向矢印(↑)2」は、2のアップサンプルを表す。
図11は、第1の実施形態におけるエンコーダ1001およびデコーダ2001の構成例を示すブロック図である。図11において、「下向き矢印(↓)2」は、1/2のサブサンプル(プーリングとも呼ばれる。)を表す。「上向矢印(↑)2」は、2のアップサンプルを表す。
図11に示す例では、エンコーダ1001は、4つのResidual Blockと1つのConvolution Blockとで構成される。Residual Blockは、2つのConvolutional Blockと1つのShortcut Linkとで構成されている。Convolutional Blockは1つのConvolution層と1つの活性化関数とで構成されている。
デコーダ2001は、4つのResidual Blockと1つのPixelShuffle convolution層とで構成される。Pixel Shufflerは、Sub-Pixel Convolutionとして提案されている仕組みである。Pixel Shufflerは、入力特徴ベクトルを並べ替えて高解像度な特徴ベクトルを出力する。
なお、活性化関数として、入力値が0より下の場合には出力値が入力値をα倍した値(ただし、αはパラメータであり、学習で決定される。)、入力値が0以上の場合には出力値が入力値と同じ値となるParametric ReLU(Parametric Rectified Linear Unit)を利用できる。
また、図11に示された構成は一例であり、エンコーダ1001およびデコーダ2001の構成は、図11に示された構成に限定されない。
実施形態2.
図12は、映像符号化器の構成例を示すブロック図である。図13は、映像復号器の構成例を示すブロック図である。
図12は、映像符号化器の構成例を示すブロック図である。図13は、映像復号器の構成例を示すブロック図である。
図12に示す映像符号化器100は、スイッチ3000、NN映像符号化器3001、NN映像復号器3003、CP映像符号化器3002、CP映像復号器3004、復号ピクチャバッファ3005、および、エントロピー符号化データおよびその他の情報の多重化処理を行う多重化器4000を含む。
なお、「NN」は、ニューラルネットワークを意味する。「CP」は、符号化ユニットに基づく予測を意味する。
CP映像符号化器3002は、符号化ユニット単位での予測符号化に基づく映像符号化方式で映像符号化処理を行う。CP映像復号器3004は、符号化ユニット単位での予測符号化に基づく映像符号化方式で復号処理を行う。復号ピクチャバッファ3005は、復号ピクチャ(再構築ピクチャ)を格納する記憶部である。上述したように、映像符号化の方式として、H.264/AVC、H.265/HEVC、H.266/VVC等に準拠した方式を使用可能である。
NN映像符号化器3001として、上記の各実施形態におけるNN映像符号化器101を使用可能である。NN映像復号器3003として、上記の各実施形態におけるNN映像復号器201を使用可能である。
図13に示す映像復号器200は、ビットストリームの多重化解除を行う多重化解除器5000、NN映像復号器3003、CP映像復号器3004、および、復号ピクチャバッファ3005を含む。
つまり、図12に示す映像符号化器100および図13に示す映像復号器200は、上述したNN映像符号化器101をNN映像符号化器3001とし、上述したNN映像復号器201をNN映像復号器3003として、それらと、符号化ユニットでの予測符号化に基づく映像符号化方式に基づくCP映像符号化器3002およびCP映像復号器3004とが組み合わされた映像符号化器および映像復号器である。
[符号化側の説明]
図12に示す映像符号化器100において、スイッチ3000は、入力ピクチャを、NN映像符号化器3001とCP映像符号化器3002とのいずれかに供給する。
図12に示す映像符号化器100において、スイッチ3000は、入力ピクチャを、NN映像符号化器3001とCP映像符号化器3002とのいずれかに供給する。
NN映像符号化器3001は、第1の実施形態のNN映像符号化器101と同様に動作してNNビットストリームを生成する。
NN映像復号器3003は、NN映像符号化器3001から供給されるNNビットストリームを入力し、第1の実施形態のNN映像復号器201と同様に動作して、復号ピクチャ(NN復号ピクチャ)を得る。NN映像復号器3003は、NN復号ピクチャを、復号ピクチャバッファ3005に格納する。
CP映像符号化器3002は、入力ピクチャと復号ピクチャバッファ3005に格納されている復号ピクチャとを用いて、符号化ユニットでの予測符号化に基づく映像符号化を行って、ビットストリーム(CPビットストリームともいう。)を生成する。
CP映像復号器3004は、CP映像符号化器3002から供給されるCPビットストリームを入力し、エントロピー復号処理を実行した後、符号化ユニットでの予測符号化に基づく復号処理を行って復号ピクチャ(CP復号ピクチャともいう。)を得る。CP映像復号器3004は、CP復号ピクチャを、復号ピクチャバッファ3005に格納する。
復号ピクチャバッファ3005に格納された復号ピクチャは、参照ピクチャとして使用される。
なお、図12に示された構成では、NN映像復号器3003は、NN映像符号化器3001からNNビットストリームを入力し、エントロピー復号処理を実行する。そして、NN映像復号器3003は、エントロピー復号で得られた符号化データからNN復号ピクチャを得る。しかし、NN映像復号器3003は、NN映像符号化器3001からエントロピー符号化前の中間データ(例えば、量子化値)を入力し、中間データからNN復号ピクチャを得るように構成されていてもよい。その場合には、NN映像復号器3003は、エントロピー復号処理を実行しなくてもよい。
また、図12に示された構成では、CP映像復号器3004は、CP映像符号化器3002からCPビットストリームを入力し、エントロピー復号処理を実行する。そして、CP映像復号器3004は、エントロピー復号で得られた符号化データからCP復号ピクチャを得る。しかし、CP映像復号器3004は、CP映像符号化器3002からエントロピー符号化前の中間データ(例えば、量子化値)を入力し、中間データからCP復号ピクチャを得るように構成されていてもよい。その場合には、CP映像復号器3004は、エントロピー復号処理を実行しなくてもよい。
[復号側の説明]
図13に示す映像復号器200において、NN映像復号器3003は、NNビットストリームを多重化解除して得られる符号化データを基に、第1の実施形態のNN映像復号器201と同様に動作して、NN復号ピクチャを得る。NN映像復号器3003は、NN復号ピクチャを、復号ピクチャバッファ3005に格納する。
図13に示す映像復号器200において、NN映像復号器3003は、NNビットストリームを多重化解除して得られる符号化データを基に、第1の実施形態のNN映像復号器201と同様に動作して、NN復号ピクチャを得る。NN映像復号器3003は、NN復号ピクチャを、復号ピクチャバッファ3005に格納する。
CP映像復号器3004は、CPビットストリームを多重化解除し、エントロピ-復号処理を行い、得られる符号化データを基に、CP復号ピクチャを得る。CP映像復号器3004は、CP復号ピクチャを、復号ピクチャバッファ3005に格納する。
映像復号器200は、復号ピクチャバッファ3005に格納されたNN復号ピクチャまたはCP復号ピクチャを、復号ピクチャとして出力する。
[変形例1]
上記の実施形態では、エントロピー符号化器1004は、並べ替え部1003の制御に基づいて、処理対象の解像度の量子化済み特徴ベクトル(W_tensor(i)=8、H_tensor(i)=4)を2×4のサブブロック単位で左上から右下の順でエントロピー符号化処理を行い、サブブロックの中で左上から右下の順にエントロピー符号化処理を行った。
上記の実施形態では、エントロピー符号化器1004は、並べ替え部1003の制御に基づいて、処理対象の解像度の量子化済み特徴ベクトル(W_tensor(i)=8、H_tensor(i)=4)を2×4のサブブロック単位で左上から右下の順でエントロピー符号化処理を行い、サブブロックの中で左上から右下の順にエントロピー符号化処理を行った。
サブブロック内でより高度に確率分布を求めるために、並べ替え部1003は、さらにサブブロック内で処理順を、図8に例示された処理順を変えてもよい。例えば、サブブロック内で後続して処理する量子化値を周囲から好適に補間して確率分布を求められるように、並べ替え部1003は、サブブロック内で、図14に示される処理順に並べ替えることが考えられる。
上記の各実施形態を、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である
図15に示す情報処理システムは、CPU(Central Processing Unit)等のプロセッサ701、プログラムメモリ702、映像データを格納するための記憶媒体703およびビットストリームを格納するための記憶媒体704を備える。記憶媒体703と記憶媒体704とは、別個の記憶媒体であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体として、ハードディスク等の磁気記憶媒体を用いることができる。また、情報処理システムは、複数のプロセッサ701を備えていてもよい。
情報処理システムにおいて、プログラムメモリ702には、上記の各実施形態で示された各ブロックの機能を実現するためのプログラム(映像符号化プログラムまたは映像復号プログラム)が格納される。
そして、プロセッサ701は、プログラムメモリ702に格納されているプログラムに従って処理を実行することによって、各実施形態で示された映像符号化器100、NN映像符号化器101、映像復号器200、NN映像復号器201の機能を実現する。
例えば、プロセッサ701が、図6,図12に示されたNN映像符号化器101および映像符号化器100における各ブロック(復号ピクチャバッファ3005を除く)の機能を実現するための映像符号化プログラムに従って処理を実行することによって、NN映像符号化器101および映像符号化器100の機能が実現される。
また、例えば、プロセッサ701が、図6,図13に示されたNN映像復号器201および映像復号器200における各ブロック(復号ピクチャバッファ3005を除く)の機能を実現するための映像復号プログラムに従って処理を実行することによって、NN映像復号器201および映像復号器200の機能が実現される。
なお、少なくともプログラムメモリ702は、非一時的なコンピュータ可読媒体(non-transitory computer readable medium)である。ただし、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)に格納されてもよい。一時的なコンピュータ可読媒体には、例えば、有線通信路または無線通信路を介して、すなわち、電気信号、光信号または電磁波を介して、プログラムが供給される。
図16は、映像符号化装置の主要部を示すブロック図である。図16に示す映像符号化装置10(実施形態では、映像符号化器100、NN映像符号化器101で実現される。)は、ニューラルネットワーク11(実施形態では、エンコーダ1001で実現される。)、量子化手段12(実施形態では、量子化器1002で実現される。)、および、エントロピー符号化手段13(実施形態では、エントロピー符号化器1004で実現される。)を備え、量子化手段12が出力する量子化値をサブブロックにグループ化するグループ化手段14(実施形態では、並べ替え部1003で実現される。)を備えている。
図17は、映像復号装置の主要部を示すブロック図である。図17に示す映像復号装置20(実施形態では、映像復号器200、NN映像復号器201で実現される。)は、ニューラルネットワーク21(実施形態では、デコーダ2001で実現される。)、逆量子化手段22(実施形態では、逆量子化器2002で実現される。)、および、エントロピー復号手段23(実施形態では、エントロピー復号器2004で実現される。)を備え、エントロピー復号手段が出力するサブブロックの量子化値を逆グループ化する逆グループ化手段24(実施形態では、逆並べ替え部2003で実現される。)を備えている。
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)ニューラルネットワーク、量子化手段、および、エントロピー符号化手段を備える映像符号化装置であって、
前記量子化手段が出力する量子化値をサブブロックにグループ化するグループ化手段を備える
映像符号化装置。
前記量子化手段が出力する量子化値をサブブロックにグループ化するグループ化手段を備える
映像符号化装置。
(付記2)前記グループ化手段は、サブブロック内の量子化値を並び替える
付記1に記載の映像符号化装置。
付記1に記載の映像符号化装置。
(付記3)ニューラルネットワーク、逆量子化手段、および、エントロピー復号手段を備える映像復号装置であって、
前記エントロピー復号手段が出力するサブブロックの量子化値を逆グループ化する逆グループ化手段を備える
映像復号装置。
前記エントロピー復号手段が出力するサブブロックの量子化値を逆グループ化する逆グループ化手段を備える
映像復号装置。
(付記4)前記逆グループ化手段はサブブロック内の量子化値を並び替える
付記3に記載の映像復号装置。
付記3に記載の映像復号装置。
(付記5)ニューラルネットワークに基づくエンコード処理、量子化処理、および、エントロピー符号化を実行する映像符号化方法であって、
前記量子化処理で作成される量子化値をサブブロックにグループ化する
映像符号化方法。
前記量子化処理で作成される量子化値をサブブロックにグループ化する
映像符号化方法。
(付記6)サブブロック内の量子化値を並び替える
付記5に記載の映像符号化方法。
付記5に記載の映像符号化方法。
(付記7)ニューラルネットワークに基づくデコード処理、逆量子化処理、および、エントロピー復号処理を実行する映像復号方法であって、
前記エントロピー復号処理によって得られるサブブロックの量子化値を逆グループ化する
映像復号方法。
前記エントロピー復号処理によって得られるサブブロックの量子化値を逆グループ化する
映像復号方法。
(付記8)サブブロック内の量子化値を並び替える
付記7に記載の映像復号方法。
付記7に記載の映像復号方法。
(付記9)コンピュータに、
ニューラルネットワークに基づくエンコード処理、量子化処理、および、エントロピー符号化を実行させ、
前記量子化処理で作成される量子化値をサブブロックにグループ化させる
ための映像符号化プログラム。
ニューラルネットワークに基づくエンコード処理、量子化処理、および、エントロピー符号化を実行させ、
前記量子化処理で作成される量子化値をサブブロックにグループ化させる
ための映像符号化プログラム。
(付記10)コンピュータに、
サブブロック内の量子化値を並び替えさせる
付記9に記載の映像符号化プログラム。
サブブロック内の量子化値を並び替えさせる
付記9に記載の映像符号化プログラム。
(付記11)コンピュータに、
ニューラルネットワークに基づくデコード処理、逆量子化処理、および、エントロピー復号処理を実行させ、
前記エントロピー復号処理によって得られるサブブロックの量子化値を逆グループ化させる
ための映像復号プログラム。
ニューラルネットワークに基づくデコード処理、逆量子化処理、および、エントロピー復号処理を実行させ、
前記エントロピー復号処理によって得られるサブブロックの量子化値を逆グループ化させる
ための映像復号プログラム。
(付記12)コンピュータに、
サブブロック内の量子化値を並び替えさせる
付記11に記載の映像復号プログラム。
サブブロック内の量子化値を並び替えさせる
付記11に記載の映像復号プログラム。
(付記13)コンピュータに、
ニューラルネットワークに基づくエンコード処理、量子化処理、および、エントロピー符号化を実行させ、
前記量子化処理で作成される量子化値をサブブロックにグループ化させる
ための映像符号化プログラムが記録された記録媒体。
ニューラルネットワークに基づくエンコード処理、量子化処理、および、エントロピー符号化を実行させ、
前記量子化処理で作成される量子化値をサブブロックにグループ化させる
ための映像符号化プログラムが記録された記録媒体。
(付記14)コンピュータに、
ニューラルネットワークに基づくデコード処理、逆量子化処理、および、エントロピー復号処理を実行させ、
前記エントロピー復号処理によって得られるサブブロックの量子化値を逆グループ化させる
ための映像復号プログラムが記録された記録媒体。
ニューラルネットワークに基づくデコード処理、逆量子化処理、および、エントロピー復号処理を実行させ、
前記エントロピー復号処理によって得られるサブブロックの量子化値を逆グループ化させる
ための映像復号プログラムが記録された記録媒体。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2024年4月8日に出願された日本特許出願2024-061862を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10 映像符号化装置
11 ニューラルネットワーク
12 量子化手段
13 エントロピー符号化手段
14 グループ化手段
20 映像復号装置
21 ニューラルネットワーク
22 逆量子化手段
23 エントロピー復号手段
24 逆グループ化手段
100 映像符号化器
101 NN映像符号化器
200 映像復号器
201 NN映像復号器
701 プロセッサ
702 プログラムメモリ
703,704 記憶媒体
1001 エンコーダ
1002 量子化器
1003 並べ替え部
1004 エントロピー符号化器
1005 多重化器
2001 デコーダ
2002 逆量子化器
2003 逆並べ替え部
2004 エントロピー復号器
2005 多重化解除器
3000 スイッチ
3001 NN映像符号化器
3002 CP映像符号化器
3003 NN映像復号器
3004 CP映像復号器
3005 復号ピクチャバッファ
4000 多重化器
5000 多重化解除器
11 ニューラルネットワーク
12 量子化手段
13 エントロピー符号化手段
14 グループ化手段
20 映像復号装置
21 ニューラルネットワーク
22 逆量子化手段
23 エントロピー復号手段
24 逆グループ化手段
100 映像符号化器
101 NN映像符号化器
200 映像復号器
201 NN映像復号器
701 プロセッサ
702 プログラムメモリ
703,704 記憶媒体
1001 エンコーダ
1002 量子化器
1003 並べ替え部
1004 エントロピー符号化器
1005 多重化器
2001 デコーダ
2002 逆量子化器
2003 逆並べ替え部
2004 エントロピー復号器
2005 多重化解除器
3000 スイッチ
3001 NN映像符号化器
3002 CP映像符号化器
3003 NN映像復号器
3004 CP映像復号器
3005 復号ピクチャバッファ
4000 多重化器
5000 多重化解除器
Claims (10)
- ニューラルネットワーク、量子化手段、および、エントロピー符号化手段を備える映像符号化装置であって、
前記量子化手段が出力する量子化値をサブブロックにグループ化するグループ化手段を備える
映像符号化装置。 - 前記グループ化手段は、サブブロック内の量子化値を並び替える
請求項1に記載の映像符号化装置。 - ニューラルネットワーク、逆量子化手段、および、エントロピー復号手段を備える映像復号装置であって、
前記エントロピー復号手段が出力するサブブロックの量子化値を逆グループ化する逆グループ化手段を備える
映像復号装置。 - 前記逆グループ化手段はサブブロック内の量子化値を並び替える
請求項3に記載の映像復号装置。 - ニューラルネットワークに基づくエンコード処理、量子化処理、および、エントロピー符号化を実行する映像符号化方法であって、
前記量子化処理で作成される量子化値をサブブロックにグループ化する
映像符号化方法。 - サブブロック内の量子化値を並び替える
請求項5に記載の映像符号化方法。 - ニューラルネットワークに基づくデコード処理、逆量子化処理、および、エントロピー復号処理を実行する映像復号方法であって、
前記エントロピー復号処理によって得られるサブブロックの量子化値を逆グループ化する
映像復号方法。 - サブブロック内の量子化値を並び替える
請求項7に記載の映像復号方法。 - コンピュータに、
ニューラルネットワークに基づくエンコード処理、量子化処理、および、エントロピー符号化を実行させ、
前記量子化処理で作成される量子化値をサブブロックにグループ化させる
ための映像符号化プログラム。 - コンピュータに、
ニューラルネットワークに基づくデコード処理、逆量子化処理、および、エントロピー復号処理を実行させ、
前記エントロピー復号処理によって得られるサブブロックの量子化値を逆グループ化させる
ための映像復号プログラム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024061862 | 2024-04-08 | ||
| JP2024-061862 | 2024-04-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025215976A1 true WO2025215976A1 (ja) | 2025-10-16 |
Family
ID=97349765
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2025/008111 Pending WO2025215976A1 (ja) | 2024-04-08 | 2025-03-06 | 映像符号化装置、映像復号装置、映像符号化方法、および映像復号方法 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025215976A1 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002027472A (ja) * | 2000-07-10 | 2002-01-25 | Fuji Xerox Co Ltd | 画像符号化装置および画像復号化装置、ならびに画像符号化方法および画像復号化方法 |
| WO2011099080A1 (ja) * | 2010-02-12 | 2011-08-18 | 富士通株式会社 | 画像符号化装置及び画像復号装置 |
| JP2015185897A (ja) * | 2014-03-20 | 2015-10-22 | パナソニックIpマネジメント株式会社 | 画像符号化方法及び画像符号化装置 |
| JP2024002451A (ja) * | 2022-06-24 | 2024-01-11 | シャープ株式会社 | 動画像符号化装置、動画像復号装置 |
-
2025
- 2025-03-06 WO PCT/JP2025/008111 patent/WO2025215976A1/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002027472A (ja) * | 2000-07-10 | 2002-01-25 | Fuji Xerox Co Ltd | 画像符号化装置および画像復号化装置、ならびに画像符号化方法および画像復号化方法 |
| WO2011099080A1 (ja) * | 2010-02-12 | 2011-08-18 | 富士通株式会社 | 画像符号化装置及び画像復号装置 |
| JP2015185897A (ja) * | 2014-03-20 | 2015-10-22 | パナソニックIpマネジメント株式会社 | 画像符号化方法及び画像符号化装置 |
| JP2024002451A (ja) * | 2022-06-24 | 2024-01-11 | シャープ株式会社 | 動画像符号化装置、動画像復号装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN115956363B (zh) | 视频解码方法、装置、计算机设备及存储介质 | |
| JP5819347B2 (ja) | スキップマクロブロックコード化 | |
| KR101426272B1 (ko) | 영상 부호화장치 및 영상 복호화장치 | |
| CN102396229B (zh) | 图像编码装置、方法以及图像解码装置、方法 | |
| JP4995417B2 (ja) | αチャンネル映像のための符号化ブロックパターン生成装置及び方法とそれを利用したαチャンネル映像符号化/復号化装置及び方法 | |
| US9270988B2 (en) | Method of determining binary codewords for transform coefficients | |
| CN102884792A (zh) | 用于统一显著图编码的方法和设备 | |
| KR20110066109A (ko) | 트리 구조를 이용한 부호화/복호화 방법 및 장치 | |
| CN116114248B (zh) | 用于视频编码的方法和设备及计算机可读存储介质 | |
| KR20240000583A (ko) | 블록 단위 이미지 압축에서의 디블로킹을 위한 콘텐츠 적응적 온라인 트레이닝 방법 및 장치 | |
| CN113228667B (zh) | 视频编解码的方法、装置及存储介质 | |
| TR201905906T4 (tr) | Görüntü kodlama aparatı, görüntü kodlama yöntemi, görüntü kod çözme aparatı, görüntü kod çözme yöntemi ve program. | |
| JP2021513257A (ja) | データ符号化及び復号化 | |
| CN115552912B (zh) | 视频解码方法、视频解码设备及存储介质 | |
| US20240357112A1 (en) | Multi-level latent fusion in neural networks for image and video coding | |
| US11388439B2 (en) | Sparse matrix representation using a boundary of non-zero coefficients | |
| CN111641827B (zh) | 多套方案切换进行预测残差熵编码的数据压缩方法和装置 | |
| EP1021043A2 (en) | Object-based coding and decoding apparatuses and methods for image signals | |
| KR20070077059A (ko) | 엔트로피 부호화/복호화 방법 및 장치 | |
| JP2017073598A (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム | |
| CN115486070B (zh) | 熵编码的变换系数排序 | |
| WO2025062906A1 (ja) | 映像符号化装置、映像復号装置、映像符号化方法、および映像復号方法 | |
| WO2025062908A1 (ja) | 映像データ処理装置、および映像データ処理方法 | |
| WO2025094665A1 (ja) | 映像データ処理装置、および映像データ処理方法 | |
| WO2025062905A1 (ja) | 映像符号化装置、映像復号装置、映像符号化方法、および映像復号方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 25786639 Country of ref document: EP Kind code of ref document: A1 |