WO2015045736A1 - 画像符号化装置、画像復号装置及びそれらのプログラム - Google Patents
画像符号化装置、画像復号装置及びそれらのプログラム Download PDFInfo
- Publication number
- WO2015045736A1 WO2015045736A1 PCT/JP2014/072791 JP2014072791W WO2015045736A1 WO 2015045736 A1 WO2015045736 A1 WO 2015045736A1 JP 2014072791 W JP2014072791 W JP 2014072791W WO 2015045736 A1 WO2015045736 A1 WO 2015045736A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- quantization
- quantization matrix
- block
- unit
- transform
- Prior art date
Links
Images
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Definitions
- the present invention relates to an image encoding device, an image decoding device, and their programs.
- the predictive encoding method includes a process of predicting a current predicted image from an image encoded in the past, and a process of encoding a difference image that is a difference between the input image input and the predicted image.
- loss processing such as entropy encoding is performed after transforming the difference image and quantizing the transform coefficient indicated in the transform region (for example, the spatial frequency region). Since human visual characteristics are more sensitive in the frequency band (low frequency) where the spatial frequency is low than in the high frequency, quantization may be performed with a lower quantization frequency and a higher quantization frequency. Data formed with such a coordinate in a block or a quantization width for each frequency is called a quantization matrix. Thereby, since the low frequency component of the difference signal is emphasized, even if the amount of information is compressed, the deterioration of subjective quality is suppressed.
- HEVC High Efficiency Video Coding
- ISO / IEC 23008-2 HEVC, ITU-T Recommendation H.265 described in Non-Patent Document 1 is also used.
- orthogonal transformation which is a type of transformation processing
- the difference image is quantized and lossless encoded. Is done.
- the magnitude of the difference is compared, and whether or not the orthogonal transformation is omitted is determined.
- a processing mode in which the orthogonal transformation is omitted and quantization and coding are performed is referred to as a transform skip (TS) mode.
- TS transform skip
- the information amount can be compressed even when the low frequency component of the difference image is not main.
- Non-Patent Document 1 there is a problem that subjective image quality may be deteriorated when a block subjected to orthogonal transformation and a block not subjected to orthogonal transformation are mixed. There is. For example, if the quantization roughness is set so that the higher the bandwidth is, the coarser the quantization coarseness differs between the pixels in the block where the orthogonal transformation is not performed. Therefore, variation occurs between pixels, and subjective image quality deteriorates.
- the present invention has been made in view of such circumstances. Even when a block subjected to orthogonal transformation and a block not subjected to orthogonal transformation are mixed, the subjective image quality degradation caused by quantization is reduced.
- An image encoding device, an image decoding device, and a program thereof that can be suppressed are provided.
- the present invention performs a transform skip that applies or does not apply orthogonal transform to a transform block obtained by dividing a prediction difference signal that represents a difference between an input image and a prediction image.
- An image encoding device including a determination unit that determines whether to perform and an orthogonal transform unit that performs a process selected based on the determination, and when the conversion skip is selected based on the determination, the conversion block is When quantization is performed using a first quantization matrix having the same quantization roughness of all elements shared in advance with the decoding side, and orthogonal transform is applied to the transform block based on the determination, the transform It has a quantization part which quantizes using the 2nd quantization matrix which transmits a block to the 1st quantization matrix or the decoding side.
- orthogonal transform applied to a transform block obtained by dividing a prediction difference signal that represents a difference between an input image and a prediction image, or conversion skip that does not apply is performed. And an orthogonal transform unit that performs processing selected based on the determination, and when the transform skip is selected based on the determination, the transform block is decoded on the decoding side.
- the first quantization matrix or the second quantization matrix is expressed as follows: Uses a quantization unit to quantize using And wherein the Rukoto.
- orthogonal transformation applied to a transformation block obtained by dividing a prediction difference signal representing a difference between an input image and a prediction image, or whether or not transformation skip is applied.
- an orthogonal transform unit that performs processing selected based on the determination, and when the transform skip is selected based on the determination, the transform block is decoded on the decoding side.
- the first quantization matrix having the same quantization roughness of all elements shared in advance or a single value transmitted to the decoding side, and representing the quantization roughness of all elements
- the quantization is performed using the first quantization matrix or the second quantization matrix transmitted to the decoding side. It has a quantization part that To.
- the other aspect of this invention is an image coding apparatus in any one of (1) thru
- the said quantization part is with respect to the said conversion block based on the said determination.
- orthogonal transform is applied, the second quantization matrix is quantized using the second quantization matrix when the second quantization matrix is transmitted, and the orthogonal transform is applied.
- the first quantization matrix is not transmitted, quantization is performed using the first quantization matrix.
- another aspect of the present invention is the image decoding device according to (1), in which the quantization unit selects the transform skip for the transform block based on the determination And when transmitting the said 2nd quantization matrix, it quantizes using the said 1st quantization matrix, It is characterized by the above-mentioned.
- the quantized block is included in a case where the quantized block included in the encoded data is a block whose transform is skipped in which orthogonal transform is not applied.
- the block is inversely quantized using the first quantization matrix having the same quantization roughness for all elements shared in advance with the encoding side, and the quantized block included in the encoded data is subjected to orthogonal transformation.
- the block includes an inverse quantization unit that performs inverse quantization using the first quantization matrix or the second quantization matrix transmitted from the encoding side.
- the quantized block is included when the quantized block included in the encoded data is a block whose transform is skipped in which orthogonal transform is not applied.
- a representative value of the elements constituting the first quantization matrix that shares the block with the encoding side in advance or the second quantization matrix transmitted from the encoding side, and the quantization coarseness of all the elements is
- the quantized block included in the encoded data and the quantized block included in the encoded data is a block to which orthogonal transform is applied
- the first quantization matrix or the second quantization An inverse quantization unit that performs inverse quantization using a matrix is provided.
- the quantized block is included in a case where the quantized block included in the encoded data is a block whose transform is skipped in which orthogonal transform is not applied. Reverse using a first quantization matrix that shares the block with the encoding side in advance or a quantization matrix that represents the quantization roughness of all elements with a single value transmitted from the encoding side When the quantized block included in the encoded data is a block to which orthogonal transform is applied, the first quantization matrix or the second quantization matrix transmitted from the encoding side is used. An inverse quantization unit that performs inverse quantization is provided.
- the image decoding device according to any one of (6) to (8), wherein the inverse quantization unit includes a quantized signal included in the encoded data When the block is a block to which orthogonal transform is applied, and the second quantization matrix is transmitted from the encoding side, inverse quantization is performed using the second quantization matrix, When the quantized block included in the encoded data is a block to which orthogonal transform is applied, and the second quantization matrix is not transmitted from the encoding side, the first block Inverse quantization is performed using a quantization matrix.
- the image decoding device according to (6), wherein the inverse quantization unit is configured such that a quantized block included in the encoded data is not orthogonally transformed.
- the inverse quantization is performed using the first quantization matrix when the block is a transform skipped block that has been applied. It is characterized by.
- the other aspect of this invention is a program for functioning a computer as an image coding apparatus in any one of (1) to (5).
- the other aspect of this invention is a program for functioning a computer as an image decoding apparatus in any one of (6) to (10).
- FIG. 1 is a block diagram illustrating an example of a schematic configuration of an image encoding device 10 according to the present embodiment.
- the image encoding device 10 encodes the input moving image r to generate encoded data.
- the image encoding device 10 includes a preprocessing unit 100, a prediction difference signal generation unit 101, an orthogonal transformation unit 102, a transformation skip determination unit 103, a quantization unit 104, a quantization matrix determination unit 105, an entropy.
- Encoding unit 106 Encoding unit 106, inverse quantization unit 107, inverse orthogonal transform unit 108, decoded image generation unit 109, loop filter unit 110, decoded image storage unit 111, intra prediction unit 112, inter prediction unit 113, motion vector calculation unit 114, The prediction image selection unit 115 is included. An outline of each part will be described below.
- the pre-processing unit 100 rearranges the pictures according to the picture type for the input moving image r, and sequentially outputs the picture type and the frame image for each frame. Further, the preprocessing unit 100 divides each frame image into block blocks. There are three types of coding block sizes: 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32. For example, refer to the spatial frequency distribution of the area, and increase the size of the coding block as the high-frequency component is smaller. You may decide by.
- the prediction difference signal generation unit 101 acquires the encoded block divided by the preprocessing unit 100.
- the prediction difference signal generation unit 101 generates a prediction difference signal based on the encoded block and the block data of the prediction image input from the prediction image selection unit 115. Specifically, the prediction difference signal is generated by subtracting the corresponding pixel value of the block data input from the prediction image selection unit 115 from each pixel value of the encoded block of the prediction image selection unit 115.
- the prediction difference signal generation unit 101 inputs the generated prediction difference signal to the orthogonal transformation unit 102 and the conversion skip determination unit 103.
- the orthogonal transform unit 102 divides the input prediction difference signal into transform blocks. There are four types of transform block sizes: 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32. Any of these may be determined as the size of each transform block. For example, the orthogonal transform unit 102 calculates an evaluation value based on a value indicating the difference between the decoding result obtained by decoding the encoded data and the input moving image, and the number of bits of the encoded data at each size. And the size when the evaluation value is the largest. The evaluation value is larger as the number of bits of the encoded data is smaller, and is larger as the difference between the decoding result and the input moving image is smaller.
- the orthogonal transform unit 102 performs orthogonal transform processing such as discrete cosine transform on the divided transform block to generate a quantized block.
- orthogonal transform processing such as discrete cosine transform
- the transform block is directly used as a quantization block.
- the size of the transform block and the size of the quantization block obtained by orthogonal transform of the transform block are the same.
- the transform skip determining unit 103 determines whether or not to perform orthogonal transform for each transform block. For example, the conversion skip determination unit 103 calculates the spatial frequency distribution of the conversion block, and determines that the conversion is skipped when the difference between the maximum value and the minimum value of the frequency components is equal to or less than a predetermined threshold value. In addition, you may determine whether orthogonal transformation is performed by another method. Further, in the present embodiment, similarly to HEVC, orthogonal transform can be not applied (transform skip) only when the transform block size is 4 ⁇ 4.
- the transform skip determining unit 103 uses a transform skip flag (transform_skip_flag) indicating whether or not to apply the orthogonal transform to the transform block as an entropy code.
- transform_skip_flag a transform skip flag indicating whether or not to apply the orthogonal transform to the transform block as an entropy code.
- the time when the transform block can prevent the orthogonal transform from being applied is when the size of the transform block is 4 ⁇ 4 in the present embodiment.
- the conversion skip flag is “1”, it indicates that orthogonal transformation is not applied, and when it is “0”, it indicates that orthogonal transformation is applied.
- the quantization unit 104 quantizes the quantization block that is an output signal from the orthogonal transform unit 102.
- the quantization unit 104 reduces the code amount of the output signal by quantization, and inputs the output signal (quantized block) to the entropy encoding unit 106 and the inverse quantization unit 107.
- the quantization matrix determination unit 105 uses the quantization matrix determined for each quantization block.
- This quantization matrix is a matrix in which each element (hereinafter referred to as a quantization value) represents the roughness of quantization when the corresponding element of the quantization block is quantized. The larger the quantization value, the larger the quantization step.
- the quantization matrix determination unit 105 determines a quantization matrix for each quantization block.
- the quantization matrix determining unit 105 sets the quantization matrix of the quantization block obtained by the conversion skip among the quantization blocks so that the quantization coarseness of all the elements becomes equal, that is, The quantization matrix is determined so that all quantization values are the same. Details of the quantization matrix determination method will be described later.
- the quantization matrix determination unit 105 inputs, to the entropy encoding unit 106, a transmission quantization matrix application flag (scaling_list_enable_flag) indicating whether or not to use a transmission quantization matrix transmitted to the decoding side as a quantization matrix. Further, when the transmission quantization matrix application flag is “1” indicating that the transmission quantization matrix is used, the quantization matrix determination unit 105 sets each element of the transmission quantization matrix (ScalingFactor) to a predetermined value. Scaling list (ScalingList ) Is input to the entropy encoding unit 106.
- Scaling_list_enable_flag indicating whether or not to use a transmission quantization matrix transmitted to the decoding side as a quantization matrix. Further, when the transmission quantization matrix application flag is “1” indicating that the transmission quantization matrix is used, the quantization matrix determination unit 105 sets each element of the transmission quantization matrix (ScalingFactor) to a predetermined value. Scaling list (S
- the entropy encoding unit 106 entropy-encodes information input from each unit such as an output signal from the quantization unit 104, motion vector information output from the motion vector calculation unit 114, and filter coefficients from the loop filter unit 110. And output as encoded data e.
- the information input from each unit includes a conversion skip flag input from the conversion skip determination unit 103, a scaling list input from the quantization matrix determination unit 105, and a transmission quantization matrix application flag.
- Entropy coding refers to a method of assigning variable-length codes according to the appearance frequency of symbols.
- the inverse quantization unit 107 inversely quantizes the quantized block input from the quantization unit 104 to generate a transformed block.
- the inverse quantization unit 107 inputs the generated transformed block to the inverse orthogonal transform unit 108.
- the inverse quantization unit 107 uses the quantization matrix determined by the quantization matrix determination unit 105 at the time of inverse quantization. Thereby, inverse quantization according to the roughness of quantization at the time of quantization is performed.
- the inverse orthogonal transform unit 108 performs an inverse orthogonal transform process on the transformed block input from the inverse quantization unit 107 and then outputs the processed block to the decoded image generation unit 109.
- decoding processing By performing decoding processing by the inverse quantization unit 107 and the inverse orthogonal transform unit 108, a signal having the same level as the prediction difference signal before encoding is obtained.
- the decoded image generation unit 109 adds the block data of the prediction image selected by the prediction image selection unit 115 and the prediction difference signal decoded by the inverse quantization unit 107 and the inverse orthogonal transform unit 108.
- the decoded image generation unit 109 outputs the decoded image block data generated by the addition to the loop filter unit 110.
- the loop filter unit 110 is, for example, a SAO (Sample Adaptive Filter), ALF (Adaptive Loop Filter), or a deblocking filter, and may include any one or more.
- SAO Sample Adaptive Filter
- ALF Adaptive Loop Filter
- deblocking filter any one or more.
- the loop filter unit 110 divides the input image into groups each having a predetermined size, and generates an appropriate filter coefficient for each group.
- the loop filter unit 110 divides the decoded decoded image into groups for each predetermined size, and performs filter processing for each group using the generated filter coefficients.
- the loop filter unit 110 outputs the filter processing result to the decoded image storage unit 111 and accumulates it as a reference image.
- the predetermined size is, for example, an orthogonal transformation size.
- the decoded image storage unit 111 stores the input block data of the decoded image as new reference image data, and outputs the data to the intra prediction unit 112, the inter prediction unit 113, and the motion vector calculation unit 114.
- the intra prediction unit 112 generates block data of the predicted image from the already-encoded reference pixels for the processing target block of the encoding target image.
- the intra prediction unit 112 performs prediction using a plurality of prediction directions and determines an optimal prediction direction.
- the inter prediction unit 113 performs motion compensation on the reference image data acquired from the decoded image storage unit 111 with the motion vector provided from the motion vector calculation unit 114. Thereby, block data as a motion-compensated reference image is generated.
- the motion vector calculation unit 114 obtains a motion vector using the block data in the encoding target image and the reference image acquired from the decoded image storage unit 111.
- the motion vector is a value indicating a spatial deviation in units of blocks obtained using a block matching technique or the like that searches for a position most similar to the processing target block from the reference image in units of blocks.
- the motion vector calculation unit 114 outputs the obtained motion vector to the inter prediction unit 113, and outputs motion vector information including information indicating the motion vector and the reference image to the entropy encoding unit 106.
- the block data output from the intra prediction unit 112 and the inter prediction unit 113 are input to the predicted image selection unit 115.
- the predicted image selection unit 115 selects one of the block data acquired from the intra prediction unit 112 and the inter prediction unit 113 as a predicted image.
- the selected prediction image is output to the prediction difference signal generation unit 101 and the decoded image generation unit 109.
- FIG. 2 is a schematic diagram illustrating an encoding block and a conversion block in the present embodiment.
- Each frame is divided into encoded blocks by the preprocessing unit 100.
- the size of the encoded block is 8 ⁇ 8, 16 ⁇ 16, or 32 ⁇ 32.
- a 64 ⁇ 64 block in a certain frame is divided into 32 ⁇ 32 encoded blocks CB1, CB2, and CB3 and 16 ⁇ 16 encoded blocks CB4, CB5, CB6, and CB7.
- the prediction difference signal corresponding to each coding block is divided into transform blocks by the orthogonal transform unit 102.
- the 32 ⁇ 32 coding block CB2 is converted into 16 ⁇ 16 transform blocks TB1, TB2, TB3, 8 ⁇ 8 transform blocks TB4, TB5, TB6, 4 ⁇ 4 transform blocks TB7, TB8, TB9, It is divided into TB10.
- 4, and 5 illustrate quantization matrices tb11, tb21, and tb22 each having four quantization values in the horizontal direction (four columns) and four in the vertical direction (four rows), for a total of 16 quantization values. It is a table.
- the quantization matrices tb11, tb21, and tb22 have 4 ⁇ 4 elements and are therefore used for quantization of a 4 ⁇ 4 quantization block.
- Squares included in the quantization matrices tb11, tb21, and tb22 indicate elements. The number written in each square indicates the quantized value.
- the quantization matrix tb11 is an example of a default quantization matrix with a flat initial value, and the quantization value of each element is 16.
- “flat” means that all elements of the quantization matrix have the same value.
- quantization is performed with the same accuracy regardless of the elements of the quantization block. Therefore, when orthogonal transformation is not performed, it is possible to avoid deterioration in image quality due to the use of a quantization matrix having a biased quantization value such as the quantization matrix tb21.
- the quantization matrix tb21 is an example of a transmission quantization matrix having a gradient.
- the quantization matrix tb21 has a larger quantization value as the orders in the horizontal direction and the vertical direction increase.
- the quantization values at the upper left end (first row and first column), middle (third row and second column), and lower right end (fourth row and fourth column) of the quantization matrix tb21 are 6, 28, and 42, respectively. .
- the transform coefficients related to the elements arranged at the lower right that is, the transform coefficients in the higher range are quantized with lower accuracy. For this reason, when orthogonal transformation is performed, the human visual characteristic that the lower the frequency is, the more sensitive to the spatial change in lightness and hue, is utilized. It is permissible to reduce the amount of information.
- the quantization matrix tb22 is another example of a transmission quantization matrix having a gradient.
- the quantization matrix tb22 also has a larger quantization value as the degree in the horizontal direction and the vertical direction increases. For this reason, when orthogonal transformation is performed, it is allowed to reduce the amount of information in the high frequency band by quantization without degrading the image quality.
- the gradient of the quantization value of the quantization matrix tb22 is gentler than the gradient of the quantization value of the quantization matrix tb21.
- the size of the quantization block is 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32. It is a kind. For this reason, there are four types of quantization matrix sizes of 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32.
- FIG. 6 is a flowchart for explaining processing of the quantization matrix determination unit 105 and the quantization unit 104.
- the quantization matrix determination unit 105 and the quantization unit 104 select all the encoded blocks one by one in order, and perform the following steps Sa2 to Sa17 (Sa1).
- step Sa2 the quantization matrix determination unit 105 determines whether or not to use a transmission quantization matrix for quantization of transform blocks belonging to the coding block (selected coding block). Any method can be used to determine whether or not to use the transmission quantization matrix. For example, the difference between the maximum value and the minimum value of the element values in the quantization block in the coding block is within a predetermined range. It is determined whether there is an external object. If it is out of the predetermined range, it is determined that the transmission quantization matrix is used.
- the quantization matrix determination unit 105 sets the transmission quantization matrix application flag relating to the coding block to “0” and uses an entropy code.
- the data is input to the conversion unit 106 (Sa13). If the value of the transmission quantization matrix application flag is “0”, it indicates that the default quantization matrix is used instead of the transmission quantization matrix when quantizing the quantization block in the coding block. .
- step Sa15 the quantization matrix determination unit 105 sets a default quantization matrix corresponding to the size of the quantization block in the quantization unit 104 and the inverse quantization unit 107.
- the default quantization matrix is a quantization matrix whose elements are initial values that are shared and stored in advance with the decoding side.
- the 4 ⁇ 4 default quantization matrix is flat like the quantization matrix tb11 in FIG. 3, and the default quantization matrix of other sizes has a slope. .
- the quantization unit 104 quantizes each element of the quantization block using the default quantization matrix set in step Sa15 to generate a quantized block.
- the quantization unit 104 inputs the generated quantized block to the entropy coding unit 106 and the inverse quantization unit 107 (Sa16).
- the quantization unit 104 performs quantization, for example, the inverse-quantized transformed block d [x] [y] calculated by the inverse quantization unit 107 according to Expression (1) is input from the orthogonal transform unit 102.
- a transform coefficient level value TransCoeffLevel [xTbY] [yTbY] [cIdx] [x] [y] that most closely approximates the quantized block is selected as a quantized block.
- m [x] [y] is a quantization matrix.
- d [x] [y] Clip3 ( ⁇ 32768, 32767, ((TransCoeffLevel [xTbY] [yTbY] [cIdx] [x] [y] * m [x] [y] * levelScale [qP% 6] ⁇ (QP / 6)) + (1 ⁇ (bdShift-1))) >> bdShift) (1)
- Clip3 (a, b, xx) is defined as a when the real number xx is smaller than the real number a, and is defined as b when the real number xx is larger than the real number b, and the real number xx is a or If it is larger than a and smaller than b or b, it is a function determined as xx as it is.
- xTbY and yTbY indicate the horizontal and vertical coordinate values of the upper left corner of the quantization block (target block) to be processed.
- ⁇ 32768 and 32767 indicate the minimum value and the maximum value of the signal value for each element indicated by 16 bits, respectively.
- LevelScale [0] to levelScale [5] are 40, 45, 51, 57, 64 and 72, respectively.
- qP is a quantization parameter, that is, an integer indicating the quantization accuracy, and is a parameter that prompts the quantization value to be halved every time it is increased by 6.
- qP% 6 indicates a remainder obtained by dividing qP by 6.
- a ⁇ b is a bit shift operator indicating that the value of a is shifted to the left by b digits in binary notation, that is, multiplied by 2 to the power of b.
- a >> b is a bit shift operator indicating that the value of a is shifted to the right by b digits in binary notation, that is, 2 b is divided.
- bdShift is a bit shift value determined in advance according to the type of signal value.
- bdShift is BitDepth Y + Log2 (nTbS) ⁇ 5.
- Bit Depth Y indicates the bit depth of the luminance signal Y, that is, the number of quantization bits (for example, 16 bits).
- nTbS indicates the block size of the target block.
- the bd quantization matrix determination unit 105 is Shift is BitDepth C + Log2 (nTbS) ⁇ 5.
- Bit Depth C indicates the bit depth of the luminance signals Cb and Cr, that is, the number of quantization bits (for example, 16 bits).
- qP may be a different value depending on the type of frame.
- the quantization matrix determination unit 105 determines whether or not the processing of steps Sa15 and Sa16 is performed for all quantization blocks belonging to the coding block (Sa17), and is performed for all quantization blocks. If yes, the process proceeds to step Sa12. When there is a quantized block that has not been subjected to the processes of steps Sa15 and Sa16, the quantization matrix determination unit 105 selects one quantized block that has not been processed, and the process returns to step Sa15.
- the quantization matrix determination unit 105 determines the transmission quantization matrix (ScalingFactor) of each size. Determine (Sa3).
- the quantization matrix determination unit 105 stores a plurality of quantization matrices of each size in advance, and selects the one having the smallest quantization error from among them.
- an evaluation value based on the quantization error and the number of bits after quantization may be calculated and selected based on the evaluation value.
- the quantization matrix determination unit 105 entropy-encodes a scaling list in which elements of the determined transmission quantization matrix are arranged in a predetermined order and a transmission quantization matrix application flag (scaling_list_enable_flag) set to “1”.
- the data is input to the unit 106 (Sa4).
- all the quantization blocks in the coding block are selected one by one in order, and the processing from step Sa6 to Sa10 is performed (Sa5).
- step Sa6 the quantization matrix determination unit 105 determines whether or not the size of the quantization block is 4 ⁇ 4, that is, whether or not the quantization block can be subjected to conversion skipping.
- the quantization matrix determination unit 105 determines whether or not the quantization block has been subjected to transform skip (Sa7). ). In this determination, the conversion skip flag input from the conversion skip determination unit 103 is referred to.
- step Sa7 If it is determined in step Sa7 that the conversion is skipped (Sa7-Yes), the quantization matrix determination unit 105 sets a 4 ⁇ 4 default quantization matrix in the quantization unit 104 and the inverse quantization unit 107. (Sa8), the process proceeds to step Sa10.
- This 4 ⁇ 4 default quantization matrix is the same as that set in step Sa15, and is a flat quantization matrix.
- step Sa6-No when it is determined in step Sa6-No) and when it is determined in step Sa7 that it is not conversion skip (Sa7-No), the quantization matrix determination unit 105 proceeds to step Sa3.
- the transmission quantization matrix having the size of the quantization block is set in the quantization unit 104 and the inverse quantization unit 107 (Sa9), and the process proceeds to step Sa10.
- a coding block using a transmission quantization matrix when a 4 ⁇ 4 quantization block is quantized, if the conversion is skipped, the default quantization matrix is used, and the conversion is not skipped.
- a transmission quantization matrix is used. Therefore, a flat quantization matrix can be used for those that have been skipped, and a sloped quantization matrix can be used for those that have not been skipped.
- step Sa10 the quantization unit 104 quantizes the quantization block using the quantization matrix set in step Sa8 or Sa9 in the same manner as in step Sa16, and generates a quantized block.
- the quantization unit 104 inputs the generated quantized block to the entropy encoding unit 106 and the inverse quantization unit 107.
- the quantization matrix determination unit 105 determines whether or not the processing of steps Sa6 to Sa10 is performed for all quantization blocks belonging to the coding block (Sa11), and is performed for all quantization blocks. If yes, the process proceeds to step Sa12. When there is a quantized block that has not been subjected to the processing of steps Sa6 to Sa10, the quantization matrix determination unit 105 selects one quantized block that has not been processed, and returns to step Sa6.
- step Sa12 the quantization matrix determination unit 105 determines whether or not the processing of steps Sa2 to Sa17 has been performed for all the coding blocks. When there is an encoded block that has not been subjected to the processes of steps Sa2 to Sa17, the quantization matrix determination unit 105 selects one encoded block that has not been processed, and the process returns to step Sa2. When the process is performed for all the encoded blocks, the process ends.
- FIG. 7 is a schematic block diagram showing the configuration of the image decoding device 30 in the present embodiment.
- the image decoding device 30 includes an entropy decoding unit 301, a decoding information storage unit 302, an inverse quantization unit 303, a quantization matrix determination unit 304, an inverse orthogonal transform unit 305, a transform skip determination unit 306, a decoding
- the image generation unit 307, the loop filter unit 308, the frame memory 309, the inter prediction unit 310, the intra prediction unit 311, and the predicted image selection unit 312 are configured. An outline of each part will be described below.
- the entropy decoding unit 301 When the encoded data e generated by the image encoding device 10 is input, the entropy decoding unit 301 performs entropy decoding corresponding to the entropy encoding performed by the entropy encoding unit 106 of the image encoding device 10.
- the prediction error signal (quantized block) decoded by the entropy decoding unit 301 is output to the inverse quantization unit 303.
- the decoded transform skip flag, transmission quantization matrix application flag, scaling list, filter coefficient, decoded motion vector in the case of inter prediction, and the like are input to the decoding information storage unit 302.
- the entropy decoding unit 301 In the case of intra prediction, the entropy decoding unit 301 notifies the intra prediction unit 311 to that effect. In addition, the entropy decoding unit 301 notifies the prediction image selection unit 312 whether the decoding target image is inter predicted or intra predicted.
- the decoding information storage unit 302 stores decoding information such as a decoded conversion skip flag, a transmission quantization matrix application flag, a scaling list, a filter coefficient of a loop filter, a motion vector, and a division mode.
- the inverse quantization unit 303 performs an inverse quantization process represented by Expression (1) on the quantized block input from the entropy decoding unit 301 to generate a transformed block. This transformed block is obtained by restoring the quantized block generated by the orthogonal transform unit 102 in FIG.
- the inverse quantization unit 303 inputs the transformed block to the inverse orthogonal transform unit 305.
- the inverse quantization unit 303 uses the quantization matrix set by the quantization matrix determination unit 304 when performing the inverse quantization process.
- the quantization matrix determination unit 304 reads the conversion skip flag, the transmission quantization matrix application flag, and the scaling list from the decoding information storage unit 302, generates a quantization matrix used when each quantized block is inversely quantized, Set in inverse quantization section 303.
- the inverse orthogonal transform unit 305 performs an inverse orthogonal transform process on the transformed block input from the inverse quantization unit 303 to restore the prediction difference signal generated by the prediction difference signal generation unit 101 of the image encoding device 10.
- a prediction difference restoration signal is generated. Note that the inverse orthogonal transform unit 305 does not perform the inverse orthogonal transform process on the transformed block designated by the transform skip determination unit 306 as not to apply the inverse orthogonal transform, and directly uses it as a prediction difference restoration signal.
- the inverse orthogonal transform unit 305 inputs the prediction difference restoration signal to the decoded image generation unit 307.
- the intra prediction unit 311 generates a predicted image using a plurality of prediction directions from the peripheral pixels already decoded of the decoding target image acquired from the frame memory 309.
- the inter prediction unit 310 performs motion compensation on the reference image data acquired from the frame memory 309 using a motion vector or a division mode acquired from the decoded information storage unit 302. As a result, block data of a predicted image including a motion-compensated reference image is generated.
- the predicted image selection unit 312 selects either the intra predicted image or the inter predicted image according to the notification from the entropy decoding unit 301.
- the block data of the selected predicted image is input to the decoded image generation unit 307.
- the decoded image generation unit 307 adds the block data of the prediction image input from the prediction image selection unit 312 and the prediction difference restoration signal input from the inverse orthogonal transform unit 305 to generate a decoded image.
- the generated decoded image is input to the loop filter unit 308.
- the loop filter unit 308 applies a filter for reducing block distortion to the decoded image output from the decoded image generation unit 307, and outputs the decoded image after the loop filter processing to the frame memory 309. Note that the decoded image after the loop filter may be output to a display device or the like.
- the frame memory 309 stores a decoded image that becomes a reference image.
- the decoded information storage unit 302 and the frame memory 309 are configured separately, they may be the same storage unit.
- FIG. 8 is a flowchart for explaining the operations of the quantization matrix determination unit 304 and the inverse quantization unit 303.
- the quantization matrix determination unit 304 and the inverse quantization unit 303 sequentially select all the coding blocks one by one, and perform the following processing from step Sb2 to step Sb14 (Sb1).
- the quantization matrix determination unit 304 refers to the decoding information storage unit 302 and determines whether or not the transmission quantization matrix application flag of the coding block is “1”.
- step Sb12 the quantization matrix determination unit 304 determines whether or not the processing of steps Sb12 to Sb13 is performed for all quantization blocks belonging to the coding block (Sb14), and for all quantization blocks. If so, the process proceeds to step Sb15.
- the quantization matrix determining unit 304 selects one quantized block that has not been processed, and the process returns to step Sb12.
- the quantization matrix determination unit 304 displays a scaling list of each size of the coding block. Obtained from the decryption information storage unit 302 (Sb3).
- the quantization matrix determination unit 304 and the inverse quantization unit 303 sequentially select all the quantized blocks one by one, and perform the following processing from step Sb5 to step Sb10 (Sb4).
- the quantization matrix determination unit 304 determines whether or not the size of the selected quantized block is 4 ⁇ 4 (Sb5). When it is determined that it is 4 ⁇ 4 (Sb45-Yes), the conversion skip flag of the quantized block is further acquired from the decoding information storage unit 302, and whether or not the conversion skip flag is “1” is determined. Determine (Sb6).
- the quantization matrix determination unit 304 sets a 4 ⁇ 4 default quantization matrix in the inverse quantization unit 303 (Sb7), and the step Proceed to Sb9.
- the quantization matrix determination unit 304 Sets the transmission quantization matrix generated from the scaling list of the size of the quantized block in the scaling list acquired in step Sb3 to the inverse quantization unit 303 (Sb8), and proceeds to step Sb9.
- the quantization matrix determination unit 304 generates a transmission quantization matrix by using each value obtained by dividing the scaling list as an element at a predetermined position.
- step Sb9 the inverse quantization unit 303 generates a transformed block by inversely quantizing the quantized block using the quantization matrix set in step Sb7 or Sb8 in the same manner as in step Sb13. To do.
- the inverse quantization unit 303 inputs the generated transformed block to the inverse orthogonal transform unit 305.
- the quantization matrix determination unit 304 determines whether or not the processing of steps Sb5 to Sb9 has been performed for all quantized blocks belonging to the encoded block (Sb10), and all quantized blocks have been processed. When the operation is performed, the process proceeds to step Sb15.
- the quantization matrix determination unit 304 selects one quantized block that has not been processed, and the process returns to step Sb5.
- step Sb15 the quantization matrix determination unit 304 determines whether or not the processing of steps Sb2 to Sb14 is performed for all the encoded blocks (Sb15). If there is an encoded block that has not been subjected to the processes in steps Sb2 to Sb14, the quantization matrix determination unit 304 selects one encoded block that has not been processed, and the process returns to step Sb2. When the process is performed for all the encoded blocks, the process ends.
- the image encoding device 10 includes the transform skip determination unit 103, the orthogonal transform unit 102, the quantization matrix determination unit 105, and the quantization unit 104.
- the transform skip determination unit 103 determines whether or not to apply orthogonal transform to each transform block obtained by dividing the prediction difference signal that represents the difference between the input image and the prediction image.
- the orthogonal transform unit 102 generates a quantized block by performing orthogonal transform on a transform block determined to apply the orthogonal transform among the transform blocks, and selects a transform block determined not to apply the orthogonal transform among the transform blocks.
- the quantization block is used as it is.
- the quantization matrix determination unit 105 determines, for each quantization block, a quantization matrix that represents the quantization roughness for each element when each element of the quantization block is quantized.
- the quantization unit 104 quantizes each element of the quantization block using the quantization matrix determined by the quantization matrix determination unit 105. Then, the quantization matrix determination unit 105 sets the quantization matrix for the quantization block left as the transform block by the orthogonal transform unit 102 as a quantization matrix having the same quantization roughness for all elements.
- the quantization block that remains as the transformation block that is, the quantization block that has not undergone orthogonal transformation
- the quantization roughness of all the elements is equal, it is possible to suppress variations between pixels caused by quantization and to suppress subjective image quality degradation.
- the quantization matrix determination unit 105 sets the quantization matrix for the quantization block left as a transform block by the orthogonal transform unit 102 as a default quantization matrix shared in advance with the decoding side.
- a quantization block that is left as a transform block that is, a quantization block that is not subjected to orthogonal transform, uses a default quantization matrix in which the quantization coarseness of all elements is equal.
- the quantization matrix determination unit 105 is configured by one or a plurality of the quantization blocks, which uses a default quantization matrix or a transmission quantization matrix transmitted to the decoding side as a quantization matrix. A determination is made for each predetermined unit (encoded block).
- the quantization matrix determination unit 105 includes a quantization matrix for a quantization block that is included in a predetermined unit determined to use the transmission quantization matrix and is left as a transform block by the orthogonal transform unit 102. The default quantization matrix is used.
- the image decoding device 30 includes the quantization matrix determination unit 304, the inverse quantization unit 303, the transform skip determination unit 306, the inverse orthogonal transform unit 305, and the decoded image generation unit 307.
- the quantization matrix determination unit 304 calculates, for each quantized block, a quantization matrix that represents the roughness of quantization for each element when each element of the quantized block included in the encoded data e is inversely quantized. decide.
- the inverse quantization unit 303 uses the quantization matrix determined by the quantization matrix determination unit 304 to inversely quantize each element of the quantized block to generate a transformed block.
- the transform skip determining unit 306 determines whether to apply inverse orthogonal transform to each transformed block.
- the inverse orthogonal transform unit 305 generates a prediction difference restoration signal by performing inverse orthogonal transform on the transformed block determined to apply the inverse orthogonal transform among the transformed blocks, and the inverse orthogonal transform among the transformed blocks.
- the converted block determined not to be applied is directly used as a prediction difference restoration signal.
- the decoded image generation unit 307 (synthesis unit) generates a decoded image from the prediction difference restoration signal and the prediction image.
- the quantization matrix determination unit 304 uses the quantization matrix used when the inverse orthogonal transform unit 305 generates a transformed block that uses the transformed block as a prediction difference restoration signal as it is as the roughness of quantization of all elements.
- the quantization matrices are equal.
- the transformed block is used as it is as a prediction difference restoration signal, and the quantization corresponding to the transformed block that is not subjected to inverse orthogonal transformation
- the inverse quantization of a completed block uses a quantization matrix in which the quantization coarseness of all elements is equal, so that it is possible to suppress variations between pixels caused by quantization and to suppress subjective image quality degradation. .
- the quantization matrix determination unit 304 shares in advance the quantization matrix used when the inverse orthogonal transform unit 305 generates a transformed block using the transformed block as a prediction difference restoration signal as it is, with the encoding side.
- the default quantization matrix is used.
- the transformed block is used as a prediction difference restoration signal as it is, and the inverse quantization of the quantized block corresponding to the transformed block that is not subjected to inverse orthogonal transformation is the default for which all elements have the same quantization roughness. Since a quantization matrix is used, it is possible to suppress variations between pixels caused by quantization and suppress subjective image quality degradation.
- the quantization matrix determination unit 304 is configured by using one or a plurality of quantized blocks as to whether a default quantization matrix or a transmission quantization matrix transmitted from the encoding side is used as a quantization matrix. For each predetermined unit (encoded block). In addition, the quantization matrix determination unit 304 generates a transformed block that is included in the encoded block determined to use the transmission quantization matrix, and the inverse orthogonal transform unit 305 uses the transformed block as it is as a prediction difference block. The quantization matrix used in the process is set as a default quantization matrix.
- the quantized block is included in a predetermined unit (encoded block) that is determined to use the transmission quantization matrix, the quantized block that does not perform inverse orthogonal transformation after inverse quantization Since the default quantization matrix in which the quantization coarseness of all elements is equal is used for the inverse quantization of, variation between pixels caused by quantization can be suppressed, and subjective image quality degradation can be suppressed. .
- the image encoding device 10 and the image decoding device 30 in the present embodiment have the same configuration as the image encoding device 10 in FIG. 1 and the image decoding device 30 in FIG. However, since the operation of the quantization matrix determination unit 105 in the image encoding device 10 is different from that of the image decoding device 30 in the operation of the quantization matrix determination unit 304, these operations will be described.
- FIG. 9 is a flowchart for explaining the operation of the quantization unit 104 and the quantization matrix determination unit 105 in the present embodiment. 9, parts corresponding to those in FIG. 6 are given the same reference numerals (Sa1 to Sa7, Sa9 to Sa17), and description thereof is omitted.
- the flowchart of FIG. 9 differs from the flowchart of FIG. 6 only in that step Sc8 is provided instead of step Sa8.
- the quantization matrix determination unit 105 acquires one representative value of the transmission quantization matrix having the size of the quantization block among the transmission quantization matrices determined in step Sa3.
- the quantization matrix determination unit 105 sets a representative value quantization matrix in which all elements have the same value as the representative value in the quantization unit 104 and the inverse quantization unit 107.
- a representative value an element at a predetermined position of the transmission quantization matrix is used, and a quantization matrix in which all the elements are the representative value is set as a representative value quantization matrix.
- the representative value quantization matrix m [x] [y] can be expressed as in Expression (2) when the transmission quantization matrix is ScalingFactor [sizeId] [x] [y].
- m [x] [y] ScalingFactor [sizeId] [ ⁇ ] [ ⁇ ] (2) where ⁇ and ⁇ are integers indicating predetermined positions in the horizontal and vertical directions, respectively.
- xTbS-1 taking any value from 0 to yTbS-1 (for example, 2).
- xTbS is the block size in the x direction
- yTbs is the block size in the y direction, both of which are “4”.
- SizeId is an index representing the size of the quantization block, and here, a value representing 4 ⁇ 4 is entered.
- an average value, an intermediate value, a minimum value, a maximum value, a mode value, or the like of elements of the transmission quantum matrix may be used.
- FIG. 10 is a flowchart for explaining the operation of the inverse quantization unit 303 and the quantization matrix determination unit 304 in the present embodiment. 10, parts corresponding to those in FIG. 8 are given the same reference numerals (Sb1 to Sb6, Sb8 to Sa14), and description thereof is omitted.
- the flowchart in FIG. 10 differs from the flowchart in FIG. 8 only in that step Sd7 is provided instead of step Sb7.
- step Sd7 the quantization matrix determination unit 304 generates a transmission quantization matrix from the scaling list of the size of the quantized block in the scaling list acquired in step Sb3, and generates one of the generated transmission quantization matrices. Get two representative values. The method for obtaining the representative value is the same as in step Sc7.
- the quantization matrix determination unit 304 sets a representative value quantization matrix in which all elements have the same value as the representative value in the inverse quantization unit 303.
- the quantization matrix determination unit 105 configures a predetermined matrix for the quantization matrix for the quantization block that is left as a transform block by the orthogonal transform unit 102. It is a representative value quantization matrix that represents the representative values of elements and represents the roughness of quantization of all elements.
- a quantization block that is left as a transform block that is, a quantization block that has not been subjected to orthogonal transform, uses a representative quantization matrix in which the quantization roughness of all elements is equal. Therefore, it is possible to suppress variations between pixels caused by quantization and suppress subjective image quality degradation.
- the quantization matrix determination unit 105 determines whether to use a default quantization matrix shared in advance with the decoding side or a transmission quantization matrix to be transmitted to the decoding side as the quantization matrix. A determination is made for each predetermined unit (encoded block) composed of quantized blocks. A quantization matrix for a quantization block that is included in a predetermined unit that is determined to use the transmission quantization matrix by the quantization matrix determination unit 105 and that remains as a transform block by the orthogonal transform unit 102 is represented as a representative value. Let it be a quantization matrix. Further, the predetermined matrix described above is a transmission quantization matrix.
- the quantization matrix determination unit 304 is used when the inverse orthogonal transform unit 305 generates a transformed block that uses the transformed block as a prediction difference restoration signal as it is.
- the quantization matrix is a representative value quantization matrix that represents representative values of elements constituting a predetermined matrix and represents the quantization roughness of all elements.
- a representative value quantization matrix having the same quantization roughness for all elements is used for inverse quantization to generate a transformed block that uses the transformed block as it is as a prediction difference restoration signal. It is possible to suppress variation between pixels caused by the conversion, and to suppress subjective image quality degradation.
- the quantization matrix determination unit 304 determines whether to use a default quantization matrix shared in advance with the decoding side or a transmission quantization matrix transmitted from the encoding side as the quantization matrix, or A determination is made for each predetermined unit (encoded block) composed of a plurality of quantized blocks.
- the quantization matrix determination unit 304 generates a transformed block that is included in a predetermined unit determined to use the transmission quantization matrix, and the inverse orthogonal transform unit 305 uses the transformed block as it is as a prediction difference restoration signal.
- the quantization matrix used at this time is a representative value quantization matrix.
- the predetermined matrix described above is a transmission quantization matrix.
- the quantized block is included in a predetermined unit (encoded block) that is determined to use the transmission quantization matrix, the quantized block that does not perform inverse orthogonal transformation after inverse quantization
- a representative value quantization matrix with the same quantization roughness for all elements is used, so it is possible to suppress variations between pixels caused by quantization and to suppress subjective image quality degradation. it can.
- a quantization block that belongs to an encoding block that uses a transmission quantization matrix, and one that has been subjected to conversion skip is transmitted from the encoding side to the decoding side, and generated from the value.
- An example using a flat single-value transmission quantization matrix will be described.
- the image encoding device 10 and the image decoding device 30 in the present embodiment have the same configuration as the image encoding device 10 in FIG. 1 and the image decoding device 30 in FIG. However, since the operation of the quantization matrix determination unit 105 in the image encoding device 10 is different from that of the image decoding device 30 in the operation of the quantization matrix determination unit 304, these operations will be described.
- FIG. 11 is a flowchart for explaining the operation of the quantization unit 104 and the quantization matrix determination unit 105 in the present embodiment.
- parts corresponding to those in FIG. 6 are assigned the same reference numerals (Sa1 to Sa2, Sa5 to Sa7, Sa9 to Sa17), and description thereof is omitted.
- the flowchart of FIG. 11 differs from the flowchart of FIG. 6 only in that steps Sa3, Sa4, and Sa8 are provided instead of steps Sa3, Sa4, and Sa8, respectively.
- the quantization matrix determination unit 105 determines a transmission quantization matrix (ScalingFactor) and a single-value transmission quantization matrix (ScalingFactor_TS) of each size.
- the single value transmission quantization matrix is a quantization matrix in which all elements have the same value and one value is transmitted to the decoding side.
- a predetermined value may be used, or it may be obtained from the distribution of the elements of the quantized block skipped for conversion.
- step Se4 the quantization matrix determination unit 105 arranges each element of the transmission quantization matrix determined in step Se3 and one value indicating the element of the single value transmission quantization matrix in a predetermined order. And the transmission quantization matrix application flag (scaling_list_enable_flag) set to “1” is input to the entropy encoding unit 106.
- step Se8 the quantization matrix determination unit 105 sets the single value transmission quantization matrix determined in step Se3 in the quantization unit 104 and the inverse quantization unit 107.
- the single-value transmission quantization matrix m [x] [y] to be set can be expressed as Equation (3), where ScalingFactor_TS [sizeId] is a value indicating an element of the single-value transmission quantization matrix.
- m [x] [y] ScalingFactor_TS [sizeId] (3)
- SizeId is an index representing the size of the quantization block, and here, a value representing 4 ⁇ 4 is entered.
- the single-value transmission quantization matrix is used only when the size is 4 ⁇ 4, and therefore does not need to have sizeId as an argument.
- the value ScalingFactor_TS indicating the element of the single value transmission quantization matrix may be determined not only for the quantization block size (SizeId) but also for each combination with other parameters.
- Other parameters include the type of signal value (luminance value Y, color difference Cb, Cr), the prediction mode (intra prediction, inter prediction, etc.) of the encoded block to which the quantized block belongs.
- step Se3 the determination of the single value transmission quantization matrix in step Se3 and the input of the scaling list of the single value transmission quantization matrix to the entropy coding unit 106 are performed by the quantization block to be converted and skipped to the coding block. It may be only when it is included.
- FIG. 12 is a flowchart for explaining the operation of the inverse quantization unit 303 and the quantization matrix determination unit 304 in the present embodiment.
- the same reference numerals (Sb1, Sb2, Sb4 to Sb6, Sb8 to Sa14) are assigned to the parts corresponding to the respective parts in FIG.
- the flowchart in FIG. 12 differs from the flowchart in FIG. 8 only in that steps Sf3 and Sf7 are provided instead of steps Sb3 and Sb7.
- step Sf3 the quantization matrix determination unit 304 acquires the scaling list of each size of the coding block and the scaling list of the single-value transmission quantization matrix from the decoding information storage unit 302.
- step Sf7 the quantization matrix determination unit 304 generates a single value transmission quantization matrix from the scaling list of the single value transmission quantization matrix acquired in step Sf3, and sets it in the inverse quantization unit 303.
- the quantization matrix determination unit 105 simply transmits the quantization matrix for the quantization block left as the transform block by the orthogonal transform unit 102 to the decoding side.
- a quantization block that is left as a transform block that is, a quantization block that is not subjected to orthogonal transform, has a single-value transmission quantization matrix in which the quantization roughness of all elements is equal. Therefore, it is possible to suppress variations between pixels caused by quantization, and to suppress subjective image quality degradation.
- the quantization matrix determination unit 105 determines whether to use a default quantization matrix shared in advance with the decoding side or a transmission quantization matrix to be transmitted to the decoding side as the quantization matrix. A determination is made for each predetermined unit (encoded block) composed of quantized blocks.
- the quantization matrix determining unit 105 includes a single quantization matrix for a quantization block that is included in a predetermined unit that is determined to use a transmission quantization matrix and that remains as a transform block by the orthogonal transform unit 102. Let it be a value transmission quantization matrix.
- the quantization matrix determination unit 304 is used when the inverse orthogonal transform unit 305 generates a transformed block that uses the transformed block as a prediction difference restoration signal as it is.
- the quantization matrix is a single value transmission quantization matrix in which quantization values of all elements are represented by a single value transmitted from the encoding side.
- the quantized block corresponding to the transformed block corresponding to the transformed block that is not subjected to inverse orthogonal transformation is used as the prediction difference restoration signal as it is, and the quantization roughness of all the elements is the same. Since a single-value transmission quantization matrix is used, it is possible to suppress variations between pixels caused by quantization and to suppress subjective image quality degradation.
- the quantization matrix determination unit 304 determines whether to use a default quantization matrix shared in advance with the decoding side or a transmission quantization matrix transmitted from the encoding side as the quantization matrix, or The determination is made for each predetermined unit (encoded block) composed of a plurality of quantized blocks.
- the quantization matrix determination unit 304 generates a transformed block that is included in a predetermined unit determined to use the transmission quantization matrix, and the inverse orthogonal transform unit 305 uses the transformed block as it is as a prediction difference restoration signal.
- the quantization matrix used in this case is a single-value transmission quantization matrix.
- the quantized block is included in a predetermined unit (encoded block) that is determined to use the transmission quantization matrix, the quantized block that does not perform inverse orthogonal transformation after inverse quantization Since a single-value transmission quantization matrix in which the quantization coarseness of all elements is equal is used for inverse quantization of, pixel-to-pixel variation caused by quantization is suppressed, and subjective image quality degradation is suppressed. be able to.
- FIG. 13 is a schematic block diagram showing the configuration of the image encoding device 10a in the present embodiment.
- the same reference numerals (100 to 104, 106 to 115) are assigned to the portions corresponding to the respective portions in FIG.
- the image encoding device 10a differs from the image encoding device 10 of FIG. 1 only in that it has a quantization matrix determination unit 105a instead of the quantization matrix determination unit 105.
- the quantization matrix determination unit 105a differs from the quantization matrix determination unit 105 in that it does not refer to the determination result of the conversion skip determination unit 103 when determining the quantization matrix.
- FIG. 14 is a flowchart for explaining the operation of the quantization unit 104 and the quantization matrix determination unit 105a in the present embodiment.
- the same reference numerals (Sa1 to Sa17) are given to the portions corresponding to the respective portions in FIG.
- the flowchart of FIG. 14 differs from the flowchart of FIG. 6 only in that it does not have Step Sa7 and proceeds to Step Sa8 when it is determined in Step Sa6 that the size of the quantization block is 4 ⁇ 4.
- FIG. 15 is a schematic block diagram showing the configuration of the image decoding device 30a in the present embodiment. 15, parts corresponding to those in FIG. 7 are given the same reference numerals (301 to 303, 305 to 312), and description thereof will be omitted.
- the image decoding device 30a is different from the image decoding device 30 in FIG. 7 only in that a quantization matrix determination unit 304a is provided instead of the quantization matrix determination unit 304.
- the quantization matrix determination unit 304a is different from the quantization matrix determination unit 304 in that it does not read the conversion skip flag from the decoded information storage unit 302 when determining the quantization matrix.
- FIG. 16 is a flowchart for explaining the operation of the inverse quantization unit 303 and the quantization matrix determination unit 304a in the present embodiment.
- the same reference numerals (Sb1 to Sb5, Sb7 to Sb15) are assigned to portions corresponding to the respective portions in FIG. 8, and description thereof is omitted.
- the flowchart of FIG. 16 differs from the flowchart of FIG. 8 only in that it does not have step Sb6 and proceeds to step Sb7 when it is determined in step Sb5 that the size of the quantized block is 4 ⁇ 4. .
- the quantization matrix determination unit 105a determines all quantization matrices for all quantization blocks whose block size is a predetermined block size (4 ⁇ 4). Assume that the quantization roughness of the elements of is equal.
- the quantization matrix for a quantization block that has a predetermined block size and may not have undergone orthogonal transformation has the same quantization roughness for all elements. It is possible to suppress variations between the images and to suppress subjective image quality degradation.
- the quantization matrix determination unit 105a sets a quantization matrix for a quantization block whose block size is a predetermined block size (4 ⁇ 4) as a default quantization matrix shared in advance with the decoding side. Further, among the default quantization matrices, those having a predetermined block size have the same quantization roughness for all elements.
- a quantization block that has a predetermined block size and that may not be subjected to orthogonal transformation uses a default quantization matrix in which the quantization roughness of all elements is equal. It is possible to suppress variation between pixels caused by the above-described problem, and to suppress subjective image quality degradation.
- the quantization matrix determination unit 105a determines whether to use a default quantization matrix or a transmission quantization matrix to be transmitted to the decoding side as a quantization matrix. For each unit (encoded block).
- the quantization matrix determination unit 105a has a predetermined block size (4 ⁇ 4) even if the quantization block is a quantization block included in a predetermined unit determined to use the transmission quantization matrix.
- the quantization matrix of the quantization block is set as a default quantization matrix.
- a quantization block included in a predetermined unit (encoding block) determined to use a transmission quantization matrix has a predetermined block size and may not be orthogonally transformed.
- the quantization of the quantization block uses a default quantization matrix in which the quantization coarseness of all elements is equal, so that variation between pixels caused by quantization is suppressed and subjective image quality deterioration is suppressed. Can do.
- the quantization matrix determination unit 304a uses the quantum used to generate each of all the converted blocks whose block size is a predetermined block size (4 ⁇ 4).
- the quantization matrix is a quantization matrix in which the quantization coarseness of all elements is equal.
- the quantization matrix for a quantized block that has a predetermined block size and does not perform orthogonal transformation after inverse quantization has the same quantization roughness for all elements, so quantization It is possible to suppress variation between pixels caused by the above-described problem, and to suppress subjective image quality degradation.
- the quantization matrix determination unit 304a determines the quantization matrix used when generating a transformed block having a predetermined block size (4 ⁇ 4) as the encoding side.
- a default quantization matrix shared in advance is used.
- the quantization matrix for a quantized block that has a predetermined block size and does not perform orthogonal transform after inverse quantization is a default quantization matrix in which the quantization coarseness of all elements is equal.
- the quantization matrix determination unit 304a determines whether to use a default quantization matrix or a transmission quantization matrix transmitted from the encoding side as a quantization matrix from one or a plurality of the quantized blocks. Determination is made for each predetermined unit (encoded block) to be configured.
- the quantization matrix determination unit 304a includes a quantization matrix that is included in a predetermined unit determined to use the transmission quantization matrix and is used when generating a converted block having a predetermined block size (4 ⁇ 4). And the default quantization matrix.
- a transformed block included in a prescribed unit (encoded block) determined to use a transmission quantization matrix has a prescribed block size and is not subjected to orthogonal transformation after inverse quantization.
- the quantization matrix for a quantized block with a certain one is the default quantization matrix with the same quantization roughness for all elements, so it suppresses pixel-to-pixel variations caused by quantization and degrades subjective image quality. Can be suppressed.
- the image encoding device 10a and the image decoding device 30a in the present embodiment have the same configuration as the image encoding device 10a in FIG. 13 and the image decoding device 30a in FIG. However, since the operation of the quantization matrix determination unit 105 in the image encoding device 10a is different from that of the image decoding device 30a in the operation of the quantization matrix determination unit 304, these operations will be described.
- FIG. 17 is a flowchart for explaining the operation of the quantization unit 104 and the quantization matrix determination unit 105a in the present embodiment.
- the same reference numerals (Sa1 to Sa5, Sa9 to Sa17) are assigned to portions corresponding to the respective portions in FIG.
- the flowchart of FIG. 17 is different from the flowchart of FIG. 6 only in that it has steps Sg3 and Sg4 between steps Sa3 and Sa4, does not have steps Sa6 to Sa8, and has Sa9 following step Sa5. Different.
- step Sg3 the quantization matrix determination unit 105a determines whether there is a 4 ⁇ 4 quantization block in the coding block. If it is determined that there is not (Sg3-No), the process proceeds to step Sa4. On the other hand, when it is determined in step Sg3 (Sg3-Yes), the quantization matrix determination unit 105a flattens the 4 ⁇ 4 transmission quantization matrix (Sg4), and proceeds to step Sa4.
- FIG. 18 is a flowchart for explaining the operation of the inverse quantization unit 303 and the quantization matrix determination unit 304a in the present embodiment. 18, parts corresponding to those in FIG. 8 are given the same reference numerals (Sb1 to Sb4, Sb8 to Sb15), and description thereof will be omitted.
- the flowchart of FIG. 18 differs from the flowchart of FIG. 8 only in that it does not have steps Sb5 to Sb7 but has Sa8 following step Sb4.
- the quantization matrix determination unit 105a uses one of the default quantization matrix shared in advance with the decoding side or the transmission quantization matrix transmitted to the decoding side as the quantization matrix, or The determination is made for each predetermined unit (encoded block) composed of a plurality of quantized blocks.
- the quantization matrix determination unit 105a converts a quantization matrix for a quantization block included in a predetermined unit determined to use a transmission quantization matrix and having a predetermined block size (4 ⁇ 4) to all the elements. Assume that the quantization roughness is equal.
- the quantization block even if the quantization block is included in a predetermined unit (encoding block) determined to use the transmission quantization matrix, the quantization block has a predetermined size and orthogonal transformation may not be performed. Since the quantization quantization of the quantization block uses a transmission quantization matrix in which the quantization coarseness of all elements is equal, it is possible to suppress variations between pixels caused by quantization and to suppress subjective image quality degradation. it can.
- the size of the conversion block is 4 ⁇ 4.
- other sizes may be used.
- each of the above-described embodiments there are three types of encoding block sizes: 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32, and the sizes of the transform block and the quantization block are 4 ⁇ 4 and 8 ⁇ 8.
- the present invention is not limited to this.
- Other sizes may be included, one of the sizes may not be included, the number of types may be large, or may be small.
- the transmission quantization matrix is determined for each quantization block size (SizeId), but may be determined for each combination with other parameters in addition to the size.
- other parameters include the type of signal value (luminance value Y, color difference Cb, Cr), the prediction mode (intra prediction, inter prediction, etc.) of the encoded block to which the quantized block belongs.
- the transmission quantization matrix (scaling list) set is determined for each coding block in the same manner as the transmission quantization matrix application flag, but may be determined for each larger unit. For example, it may be every frame or every unit in which a plurality of encoded blocks are collected.
- the image encoding device 10 and the image decoding device 30 in each of the above-described embodiments may have a lossless mode for lossless encoding of an input moving image.
- the apparatus may be realized by recording on a recording medium, reading the program recorded on the recording medium into a computer system, and executing the program.
- the “computer system” includes an OS and hardware such as peripheral devices.
- the “computer-readable recording medium” means a storage device such as a flexible disk, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included.
- the program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
- each functional block of the above-described image encoding device 10 in FIG. 1, the image decoding device 30 in FIG. 7, the image encoding device 10a in FIG. 13, or the image decoding device 30a in FIG. may be integrated into a chip.
- the method of circuit integration is not limited to LSI, and implementation using a dedicated circuit or a general-purpose processor is also possible. Either hybrid or monolithic may be used. Some of the functions may be realized by hardware and some by software.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
以下、図面を参照して、本発明の第1の実施形態について説明する。図1は、本実施形態における画像符号化装置10の概略構成の一例を示すブロック図である。画像符号化装置10は、入力動画像rを符号化して、符号化データを生成する。図1に示す例では、画像符号化装置10は、前処理部100、予測差分信号生成部101、直交変換部102、変換スキップ判定部103、量子化部104、量子化行列決定部105、エントロピー符号化部106、逆量子化部107、逆直交変換部108、復号画像生成部109、ループフィルタ部110、復号画像記憶部111、イントラ予測部112、インター予測部113、動きベクトル計算部114、予測画像選択部115を含んで構成される。各部についての概略を以下に説明する。
)を、エントロピー符号化部106に入力する。
以下、図面を参照して、本発明の第2の実施形態について説明する。第1の実施形態では、伝送量子化行列を用いる符号化ブロックに属する量子化ブロックであっても、変換スキップされたものについては、デフォルト量子化行列を用いる例を説明した。第2の実施形態では、伝送量子化行列を用いる符号化ブロックに属する量子化ブロックであり、変換スキップされたものについては、伝送量子化行列から生成した平坦な量子化行列である代表値量子化行列を用いる例を説明する。
以下、図面を参照して、本発明の第3の実施形態について説明する。第3の実施形態では、伝送量子化行列を用いる符号化ブロックに属する量子化ブロックであり、変換スキップされたものについては、符号化側から復号側に一つの値を伝送し、該値から生成した平坦な単一値伝送量子化行列を用いる例を説明する。
以下、図面を参照して、本発明の第4の実施形態について説明する。第4の実施形態では、伝送量子化行列を用いる符号化ブロックに属する量子化ブロックであり、変換スキップすることができるものについては、平坦なデフォルト量子化行列を用いる例を説明する。
以下、図面を参照して、本発明の第5の実施形態について説明する。第5の実施形態では、伝送量子化行列を用いる符号化ブロックに属する量子化ブロックであり、変換スキップすることができるものについては、平坦な伝送量子化行列を用いる例を説明する。
Claims (12)
- 入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロックに対して直交変換を適用するか又は非適用とする変換スキップを行うかを判定する判定部と、前記判定に基づき選択された処理を行う直交変換部とを備える画像符号化装置であって、
前記判定に基づき前記変換スキップが選択された場合、前記変換ブロックを復号側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列を用いて量子化し、前記判定に基づき変換ブロックに対して直交変換が適用された場合、前記変換ブロックを前記第1の量子化行列又は復号側に伝送する第2の量子化行列を用いて量子化する量子化部を有することを特徴とする画像符号化装置。 - 入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロックに対して直交変換を適用するか又は非適用とする変換スキップを行うかを判定する判定部と、前記判定に基づき選択された処理を行う直交変換部とを備える画像符号化装置であって、
前記判定に基づき前記変換スキップが選択された場合、前記変換ブロックを復号側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列又は復号側に伝送する第2の量子化行列を構成する要素の代表値で、全ての要素の量子化の粗さが表される量子化行列を用いて量子化し、前記判定に基づき変換ブロックに対して前記直交変換が適用された場合、前記第1の量子化行列又は前記第2の量子化行列を用いて量子化する量子化部を有することを特徴とする画像符号化装置。 - 入力画像と予測画像との差分を表す予測差分信号を分割した変換ブロックに対して直交変換を適用するか又は非適用とする変換スキップを行うかを判定する判定部と、前記判定に基づき選択された処理を行う直交変換部とを備える画像符号化装置であって、
前記判定に基づき前記変換スキップが選択された場合、前記変換ブロックを復号側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列又は復号側に伝送する単一の値であって、全ての要素の量子化の粗さが表される量子化行列を用いて量子化し、前記判定に基づき変換ブロックに対して前記直交変換が適用された場合、前記第1の量子化行列又は復号側に伝送する第2の量子化行列を用いて量子化する量子化部を有することを特徴とする画像符号化装置。 - 前記量子化部は、前記判定に基づき前記変換ブロックに対して直交変換が適用された場合であって、前記第2の量子化行列を伝送するとき該第2の量子化行列を用いて量子化し、前記直交変換が適用された場合であって、前記第2の量子化行列を伝送しないとき前記第1の量子化行列を用いて量子化することを特徴とする請求項1乃至3のいずれか一項に記載の画像符号化装置。
- 前記量子化部は、前記判定に基づき前記変換ブロックに対して前記変換スキップが選択された場合であって、前記第2の量子化行列を伝送するとき、前記第1の量子化行列を用いて量子化することを特徴とする請求項1に記載の画像符号化装置。
- 符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合、前記量子化済みブロックを符号化側と予め共有している全ての要素の量子化の粗さが等しい第1の量子化行列を用いて逆量子化し、符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合、前記第1の量子化行列又は符号化側から伝送される第2の量子化行列を用いて逆量子化する逆量子化部を有することを特徴とする画像復号装置。
- 符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合、前記量子化済みブロックを符号化側と予め共有している第1の量子化行列又は符号化側から伝送される第2の量子化行列を構成する要素の代表値で、全ての要素の量子化の粗さが表される量子化行列を用いて逆量子化し、符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合、前記第1の量子化行列又は前記第2の量子化行列を用いて逆量子化する逆量子化部を有することを特徴とする画像復号装置。
- 符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合、前記量子化済みブロックを符号化側と予め共有している第1の量子化行列又は符号化側から伝送される単一の値で全ての要素の量子化の粗さが表される量子化行列を用いて逆量子化し、符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合、前記第1の量子化行列又は符号化側から伝送される第2の量子化行列を用いて逆量子化する逆量子化部を有することを特徴とする画像復号装置。
- 前記逆量子化部は、前記符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合であって、前記符号化側から前記第2の量子化行列が伝送されているとき、該第2の量子化行列を用いて逆量子化し、前記符号化データに含まれる量子化済みブロックが、直交変換が適用されたブロックである場合であって、前記符号化側から前記第2の量子化行列が伝送されていないとき、前記第1の量子化行列を用いて逆量子化することを特徴とする請求項6乃至8のいずれか一項に記載の画像復号装置。
- 前記逆量子化部は、前記符号化データに含まれる量子化済みブロックが、直交変換が非適用とされた変換スキップされたブロックである場合であって、前記符号化側から前記第2の量子化行列が伝送されているとき、前記第1の量子化行列を用いて逆量子化することを特徴とする請求項6に記載の画像復号装置。
- コンピュータを、請求項1から請求項5のいずれか一項に記載の画像符号化装置として機能させるためのプログラム。
- コンピュータを、請求項6から請求項10のいずれか一項に記載の画像復号装置として機能させるためのプログラム。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
BR112016006686-3A BR112016006686B1 (pt) | 2013-09-30 | 2014-08-29 | Dispositivo de codificação de imagem, dispositivo de decodificação de imagem, programas dos mesmos |
JP2015525679A JP6143866B2 (ja) | 2013-09-30 | 2014-08-29 | 画像符号化装置、画像復号装置及びそれらのプログラム |
MYPI2016701121A MY183347A (en) | 2013-09-30 | 2014-08-29 | Image encoding device, image decoding device, and the programs thereof |
CN201480053809.9A CN105580368B (zh) | 2013-09-30 | 2014-08-29 | 图像编码装置和方法以及图像解码装置和方法 |
EP14846805.1A EP3054683A4 (en) | 2013-09-30 | 2014-08-29 | Image coding device, image decoding device, and programs therefor |
US15/084,073 US11223827B2 (en) | 2013-09-30 | 2016-03-29 | Image encoding device, image decoding device, and the programs thereof |
US17/646,832 US11647195B2 (en) | 2013-09-30 | 2022-01-03 | Image encoding device, image decoding device, and the programs thereof |
US18/193,436 US20230239475A1 (en) | 2013-09-30 | 2023-03-30 | Image encoding device, image decoding device, and the programs thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013203529 | 2013-09-30 | ||
JP2013-203529 | 2013-09-30 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/084,073 Continuation US11223827B2 (en) | 2013-09-30 | 2016-03-29 | Image encoding device, image decoding device, and the programs thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015045736A1 true WO2015045736A1 (ja) | 2015-04-02 |
Family
ID=52742886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/072791 WO2015045736A1 (ja) | 2013-09-30 | 2014-08-29 | 画像符号化装置、画像復号装置及びそれらのプログラム |
Country Status (7)
Country | Link |
---|---|
US (3) | US11223827B2 (ja) |
EP (1) | EP3054683A4 (ja) |
JP (1) | JP6143866B2 (ja) |
CN (1) | CN105580368B (ja) |
MY (1) | MY183347A (ja) |
TW (1) | TWI633779B (ja) |
WO (1) | WO2015045736A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596443A (zh) * | 2015-08-20 | 2021-11-02 | 日本放送协会 | 图像编码装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI627857B (zh) * | 2012-06-29 | 2018-06-21 | Sony Corp | Image processing device and method |
JPWO2016103542A1 (ja) | 2014-12-26 | 2017-10-19 | パナソニックIpマネジメント株式会社 | 符号化方法、復号方法、符号化装置および復号装置 |
WO2019003676A1 (ja) * | 2017-06-29 | 2019-01-03 | ソニー株式会社 | 画像処理装置と画像処理方法およびプログラム |
EP3484151A1 (en) * | 2017-11-13 | 2019-05-15 | Thomson Licensing | Method and apparatus for generating quantization matrices in video encoding and decoding |
RU2020131045A (ru) * | 2018-03-28 | 2022-03-21 | Сони Корпорейшн | Устройство обработки изображений и способ обработки изображений |
US12034929B2 (en) | 2018-12-26 | 2024-07-09 | Electronics And Telecommunications Research Institute | Quantization matrix encoding/decoding method and device, and recording medium in which bitstream is stored |
JP2021513755A (ja) | 2019-01-15 | 2021-05-27 | エルジー エレクトロニクス インコーポレイティド | 変換スキップフラグを利用した映像コーディング方法及び装置 |
WO2020249762A1 (en) * | 2019-06-14 | 2020-12-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder, methods and computer programs with an improved transform based scaling |
JP7358135B2 (ja) * | 2019-09-17 | 2023-10-10 | キヤノン株式会社 | 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム |
JP7358136B2 (ja) | 2019-09-17 | 2023-10-10 | キヤノン株式会社 | 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2514114B2 (ja) * | 1991-01-31 | 1996-07-10 | 株式会社グラフィックス・コミュニケーション・テクノロジーズ | 動画像符号化装置 |
US6658157B1 (en) * | 1999-06-29 | 2003-12-02 | Sony Corporation | Method and apparatus for converting image information |
US6876703B2 (en) * | 2000-05-11 | 2005-04-05 | Ub Video Inc. | Method and apparatus for video coding |
KR100341063B1 (ko) * | 2000-06-28 | 2002-06-20 | 송문섭 | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 |
JP2005184042A (ja) * | 2003-12-15 | 2005-07-07 | Sony Corp | 画像復号装置及び画像復号方法並びに画像復号プログラム |
CN1910594A (zh) * | 2004-01-20 | 2007-02-07 | 松下电器产业株式会社 | 图像编码方法和设备、图像解码方法和设备及其程序 |
JP4146444B2 (ja) * | 2005-03-16 | 2008-09-10 | 株式会社東芝 | 動画像符号化の方法及び装置 |
US7925098B2 (en) * | 2006-03-02 | 2011-04-12 | Canon Kabushiki Kaisha | Image encoding apparatus and method with both lossy and lossless means |
JPWO2008132890A1 (ja) | 2007-04-16 | 2010-07-22 | 株式会社東芝 | 画像符号化と画像復号化の方法及び装置 |
EP2286595A1 (en) * | 2008-06-16 | 2011-02-23 | Dolby Laboratories Licensing Corporation | Rate control model adaptation based on slice dependencies for video coding |
JPWO2009157581A1 (ja) * | 2008-06-27 | 2011-12-15 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
US20100238997A1 (en) * | 2009-03-17 | 2010-09-23 | Yang En-Hui | Method and system for optimized video coding |
EP3174296A1 (en) | 2011-10-17 | 2017-05-31 | Kabushiki Kaisha Toshiba | Decoding device and decoding method |
PL2822276T3 (pl) * | 2012-02-29 | 2019-04-30 | Lg Electronics Inc | Sposób predykcji międzywarstwowej i stosujące go urządzenie |
US9503702B2 (en) * | 2012-04-13 | 2016-11-22 | Qualcomm Incorporated | View synthesis mode for three-dimensional video coding |
JP6168365B2 (ja) * | 2012-06-12 | 2017-07-26 | サン パテント トラスト | 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置 |
TWI627857B (zh) * | 2012-06-29 | 2018-06-21 | Sony Corp | Image processing device and method |
CN115065823A (zh) * | 2012-07-02 | 2022-09-16 | 韩国电子通信研究院 | 视频编码/解码方法和非暂时性计算机可读记录介质 |
US9602827B2 (en) * | 2012-07-02 | 2017-03-21 | Qualcomm Incorporated | Video parameter set including an offset syntax element |
US9380289B2 (en) * | 2012-07-20 | 2016-06-28 | Qualcomm Incorporated | Parameter sets in video coding |
US9451256B2 (en) * | 2012-07-20 | 2016-09-20 | Qualcomm Incorporated | Reusing parameter sets for video coding |
AU2013311185B2 (en) * | 2012-09-06 | 2017-06-22 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, image coding and decoding apparatus |
JP6210368B2 (ja) * | 2012-09-18 | 2017-10-11 | サン パテント トラスト | 画像復号方法および画像復号装置 |
EP2898694B1 (en) * | 2012-09-24 | 2019-06-19 | Huawei Technologies Co., Ltd. | Video compression with color space scalability |
CN104641646A (zh) * | 2012-09-28 | 2015-05-20 | 索尼公司 | 图像处理设备和图像处理方法 |
CN104662901B (zh) * | 2012-09-28 | 2018-06-22 | 索尼公司 | 图像处理装置及方法 |
US20140169452A1 (en) * | 2012-12-14 | 2014-06-19 | Electronics And Telecommunications Research Institute | Video encoding method and apparatus using the same |
EP2941000B1 (en) * | 2012-12-27 | 2020-11-04 | NEC Corporation | Video coding device, video coding method, and video coding program |
US20140286413A1 (en) * | 2013-03-25 | 2014-09-25 | Qualcomm Incorporated | Disabling sign data hiding in video coding |
US10529013B2 (en) * | 2013-07-01 | 2020-01-07 | Intuit Inc. | Identifying business type using public information |
JP6528635B2 (ja) * | 2015-10-05 | 2019-06-12 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム |
CN110431843A (zh) * | 2017-03-23 | 2019-11-08 | 索尼公司 | 图像处理装置及方法 |
RU2020131045A (ru) * | 2018-03-28 | 2022-03-21 | Сони Корпорейшн | Устройство обработки изображений и способ обработки изображений |
-
2014
- 2014-08-29 WO PCT/JP2014/072791 patent/WO2015045736A1/ja active Application Filing
- 2014-08-29 EP EP14846805.1A patent/EP3054683A4/en not_active Ceased
- 2014-08-29 CN CN201480053809.9A patent/CN105580368B/zh active Active
- 2014-08-29 MY MYPI2016701121A patent/MY183347A/en unknown
- 2014-08-29 JP JP2015525679A patent/JP6143866B2/ja active Active
- 2014-09-11 TW TW103131424A patent/TWI633779B/zh active
-
2016
- 2016-03-29 US US15/084,073 patent/US11223827B2/en active Active
-
2022
- 2022-01-03 US US17/646,832 patent/US11647195B2/en active Active
-
2023
- 2023-03-30 US US18/193,436 patent/US20230239475A1/en active Pending
Non-Patent Citations (3)
Title |
---|
"High-efficiency video coding", RECOMMENDATION ITU-T H.265, April 2013 (2013-04-01) |
See also references of EP3054683A4 |
YOSHITAKA MORIGAMI ET AL.: "On Transform Skip", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 10TH MEETING, 11 July 2012 (2012-07-11), STOCKHOLM, SE, XP030112546 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596443A (zh) * | 2015-08-20 | 2021-11-02 | 日本放送协会 | 图像编码装置 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2015045736A1 (ja) | 2017-03-09 |
JP6143866B2 (ja) | 2017-06-07 |
US20230239475A1 (en) | 2023-07-27 |
MY183347A (en) | 2021-02-18 |
BR112016006686A2 (pt) | 2017-08-01 |
EP3054683A1 (en) | 2016-08-10 |
US20220132127A1 (en) | 2022-04-28 |
EP3054683A4 (en) | 2017-06-07 |
CN105580368A (zh) | 2016-05-11 |
US11647195B2 (en) | 2023-05-09 |
TW201517596A (zh) | 2015-05-01 |
US11223827B2 (en) | 2022-01-11 |
TWI633779B (zh) | 2018-08-21 |
CN105580368B (zh) | 2018-10-19 |
US20160212429A1 (en) | 2016-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6143866B2 (ja) | 画像符号化装置、画像復号装置及びそれらのプログラム | |
KR101919394B1 (ko) | 무손실 인트라 hevc 코딩을 위한 지수-골룸 이진화에 대한 파라미터 결정 | |
KR101493194B1 (ko) | Hevc에서의 샘플 적응성 오프셋의 유연성 대역 오프셋 모드 | |
US9826241B2 (en) | Image coding apparatus, image coding method, image decoding apparatus, image decoding method, and storage medium | |
JP5215951B2 (ja) | 符号化装置及びその制御方法、コンピュータプログラム | |
EP3080988B1 (en) | Parameter derivation for entropy coding of a syntax element | |
US8903184B2 (en) | Image-encoding method, image-encoding device, and computer-readable recording medium storing image-encoding program | |
JP6172162B2 (ja) | 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム | |
US12034927B2 (en) | Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, and non-transitory computer-readable storage medium | |
JP7357736B2 (ja) | 符号化装置、復号装置、及びプログラム | |
JP2008271371A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法およびプログラム | |
JP7343817B2 (ja) | 符号化装置、符号化方法、及び符号化プログラム | |
JP7553687B2 (ja) | 復号装置、プログラム、及び復号方法 | |
JP6481457B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像復号装置、及び動画像復号方法 | |
US20130083858A1 (en) | Video image delivery system, video image transmission device, video image delivery method, and video image delivery program | |
US10448035B2 (en) | Information compression device, information compression method, non-volatile recording medium, and video coding device | |
JP2017183910A (ja) | 画像符号化装置及び画像符号化方法 | |
JP6769302B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム | |
JP2021129148A (ja) | 予測装置、符号化装置、復号装置、及びプログラム | |
JP2008289105A (ja) | 画像処理装置およびそれを搭載した撮像装置 | |
US12088789B2 (en) | Intra prediction device, image encoding device, image decoding device and program | |
KR20220055495A (ko) | 화상 부호화 장치, 화상 부호화 방법, 화상 복호 장치, 화상 복호 방법, 및 컴퓨터 프로그램 | |
JP2019075678A (ja) | 画像符号化装置、画像復号装置、画像符号化プログラム、及び画像復号プログラム | |
JP2012209873A (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP2014150307A (ja) | 映像圧縮フォーマット変換装置、映像圧縮フォーマット変換方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201480053809.9 Country of ref document: CN |
|
ENP | Entry into the national phase |
Ref document number: 2015525679 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14846805 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112016006686 Country of ref document: BR |
|
REEP | Request for entry into the european phase |
Ref document number: 2014846805 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014846805 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 112016006686 Country of ref document: BR Kind code of ref document: A2 Effective date: 20160324 |