WO2020129407A1 - 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム - Google Patents
画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム Download PDFInfo
- Publication number
- WO2020129407A1 WO2020129407A1 PCT/JP2019/041916 JP2019041916W WO2020129407A1 WO 2020129407 A1 WO2020129407 A1 WO 2020129407A1 JP 2019041916 W JP2019041916 W JP 2019041916W WO 2020129407 A1 WO2020129407 A1 WO 2020129407A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- prediction
- image
- quantization matrix
- quantization
- unit
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000013139 quantization Methods 0.000 claims abstract description 285
- 239000011159 matrix material Substances 0.000 claims abstract description 190
- 230000008569 process Effects 0.000 claims abstract description 38
- 238000006243 chemical reaction Methods 0.000 claims abstract description 19
- 230000009466 transformation Effects 0.000 claims description 8
- 238000009795 derivation Methods 0.000 claims description 4
- 230000001131 transforming effect Effects 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 15
- 238000000926 separation method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000006866 deterioration Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000005192 partition Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- 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
-
- 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
Definitions
- the present invention relates to an image encoding device, an image decoding device, a control method for them, and a program.
- HEVC High Efficiency Video Coding
- HEVC High Efficiency Video Coding
- a basic block having a size larger than that of a conventional macroblock (16 ⁇ 16 pixels) is adopted in order to improve coding efficiency.
- This large-sized basic block is called a CTU (Coding Tree Unit), and its size is a maximum of 64 ⁇ 64 pixels.
- the CTU is further divided into sub-blocks which are units for prediction and conversion.
- Patent Document 1 discloses a technique for encoding such a quantization matrix.
- VVC Very Video Coding
- the introduction of a quantization matrix is being considered as in HEVC.
- the quantization matrix in HEVC is based on the conventional prediction methods such as intra prediction and inter prediction, and cannot support weighted intra/inter prediction, which is a new prediction method. Therefore, there is a problem that the weighted intra/inter prediction error cannot be quantized according to the frequency component and the subjective image quality cannot be improved.
- the present invention has been made in view of such a problem, and an object of the present invention is to provide a technique that enables a quantization process using a quantization matrix corresponding to weighted intra/inter prediction and improves the subjective image quality.
- the image coding apparatus of the present invention has the following configuration. That is, An image encoding device for encoding an image, For a target block of a predetermined size to be encoded in the image, a predicted image is generated from both the intra-predicted image obtained by the intra-prediction process and the inter-predicted image obtained by the inter-prediction process, and the target block and the prediction are performed. Prediction means for obtaining a prediction error that is a difference from the image, Conversion means for frequency-converting the prediction error obtained by the prediction means, Quantization means for quantizing the transform coefficient obtained by the transform means using a quantization matrix; Encoding means for entropy-encoding the transform coefficient after being quantized by the quantizing means.
- the present invention it is possible to improve the subjective image quality by performing quantization using a quantization matrix even with respect to an error in a new prediction method that uses both intra prediction pixels and inter prediction pixels.
- FIG. 16 is a block diagram showing a hardware configuration example of a computer applicable as an image encoding device and a decoding device. The figure which shows an example of the bit stream structure produced
- FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
- FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
- FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
- FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
- FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
- FIG. 6 is a diagram showing an example of sub-block division used in the embodiment of FIG.
- FIG. 6 is a diagram showing an example of a quantization matrix used in the embodiment.
- FIG. 6 is a diagram showing an example of a quantization matrix used in the embodiment.
- FIG. 6 is a diagram showing an example of a quantization matrix used in the embodiment.
- the figure which shows the difference value matrix of a quantization matrix. which shows the example of the encoding table for quantization matrices.
- FIG. 1 is a block diagram showing the image coding apparatus according to the first embodiment.
- the image coding apparatus has a control unit 150 that controls the components described below and controls the entire apparatus.
- the control unit 150 includes a CPU, a ROM that stores programs executed by the CPU and various parameters, and a RAM that is used as a work area of the CPU.
- the OS operating system
- the program, and the parameters stored in the ROM or another nonvolatile storage device may be loaded into the RAM, and then the program may be executed under the control of the OS.
- the image coding apparatus includes an input terminal 101, a block division unit 102, a quantization matrix holding unit 103, a prediction unit 104, a conversion/quantization unit 105, an inverse quantization/inverse conversion unit 106, an image reproduction unit 107, a frame.
- the memory 108, the in-loop filter unit 109, the encoding unit 110, the integrated encoding unit 111, the output terminal 112, and the quantization matrix encoding unit 113 are included.
- image data (for example, 30 frames/second) is supplied to the input terminal 101 of this device from an image generation source (not shown).
- image generation source does not matter, but it is simply an image pickup unit or a video camera, or a hard disk or a storage medium for storing image data to be encoded.
- the block division unit 102 divides one frame of image data input via the input terminal 101 into a plurality of basic blocks, and supplies the image data in units of basic blocks to the prediction unit 104 in the subsequent stage.
- the quantization matrix holding unit 103 holds a plurality of quantization matrices used for quantization processing.
- the method of generating the held quantization matrix is not particularly limited, but the user may input the quantization matrix, or even if it is calculated from the characteristics of the input image, the one specified beforehand as the initial value is used. May be.
- the prediction unit 104 performs sub-block division on the image data in basic block units, performs intra prediction that is intra-frame prediction and inter prediction that is inter-frame prediction in sub-block units, and generates predicted image data. Further, the prediction unit 104 calculates and outputs prediction error data from the image data of the sub-block and the predicted image data. The prediction unit 104 also outputs information necessary for prediction, for example, information about subblock division, prediction mode, motion vector, and the like together with the prediction error. The information necessary for this prediction will be referred to as prediction information below.
- the transform/quantization unit 105 obtains transform coefficients by performing orthogonal transform (frequency transform) on the prediction error data supplied from the prediction unit 104 in sub-block units. Then, the transform/quantization unit 105 quantizes the transform coefficient of the target sub-block by using the corresponding quantization matrix held by the quantization matrix holding unit 103 (hereinafter, the quantized transform coefficient is simply referred to as “ Quantized coefficient").
- the inverse quantization/inverse transform unit 106 reproduces the transform coefficient by inversely quantizing the quantized coefficient input from the transform/quantization unit 105 using the corresponding quantization matrix held by the quantization matrix holding unit 103. (Derivation), and the transform coefficient is inversely orthogonally transformed to reproduce the prediction error data.
- the image reproduction unit 107 appropriately refers to the frame memory 108 based on the prediction information input from the prediction unit 104 to generate predicted image data. Then, the image reproduction unit 107 generates reproduction image data from the generated prediction image data and the prediction error data from the inverse quantization/inverse conversion unit 106, and outputs the reproduction image data to the frame memory 108 again.
- the in-loop filter unit 109 performs in-loop filter processing such as deblocking filter and sample adaptive offset on the reproduced image data from the image reproducing unit 107 stored in the frame memory 108, and outputs the image data after the filter processing. It is stored in the frame memory 109 again.
- the encoding unit 110 encodes the quantized coefficient input from the transform/quantization unit 105 and the prediction information input from the prediction unit 104 to generate and output code data.
- the quantization matrix encoding unit 113 encodes the quantization matrix input from the quantization matrix holding unit 103 to generate and output coded data of the quantization matrix.
- the integrated coding unit 111 uses the coded data of the quantization matrix output from the quantization matrix coding unit 113 to generate header coded data. Furthermore, the integrated encoding unit 111 forms a bitstream by combining the generated header encoded data with the encoded data of the image input from the encoding unit 110, and outputs the bitstream to the outside via the output terminal 112.
- the output destination is not particularly limited, but it may be a storage device such as a recording medium or a file server on the network.
- the quantization matrix holding unit 103 generates a quantization matrix.
- the quantization matrix is generated according to the size of the sub block to be encoded and the type of prediction method. In this embodiment, it is assumed that a quantization matrix of 8 ⁇ 8 pixel size corresponding to the 8 ⁇ 8 pixel basic block 700 shown in FIG. 7A is generated.
- the generated quantization matrix is not limited to this, and a quantization matrix corresponding to the shape of the sub block such as 4 ⁇ 8 pixels, 8 ⁇ 4 pixels, or 4 ⁇ 4 pixels may be generated.
- the method of determining each element that constitutes the quantization matrix is not particularly limited. For example, a predetermined initial value may be used or may be set individually. It may also be generated according to the characteristics of the image.
- the quantization matrix holding unit 103 holds the quantization matrix generated in this way.
- reference numerals 800 to 802 indicate the quantization matrices generated and held by the quantization matrix holding unit 103 in the embodiment.
- the quantization matrix 800 of FIG. 8A shows the quantization matrix used for intra prediction.
- the quantization matrix 801 of FIG. 8B has shown the quantization matrix used for inter prediction.
- the quantization matrix 802 in FIG. 8C shows a quantization matrix corresponding to the weighted intra/inter prediction.
- each of the quantization matrices 800 to 802 is composed of 8 ⁇ 8 elements (quantization step values). In the present embodiment, it is assumed that the three types of quantization matrices 800 to 802 shown in FIGS.
- each element in the quantization matrix is not limited to this. It is also possible to hold a plurality of quantization matrices for the same prediction method depending on the size of the sub-block or whether the coding target is a luminance block or a chrominance block.
- the quantization matrix realizes the quantization processing according to the human visual characteristics, the element for the DC component corresponding to the upper left corner of the quantization matrices 800 to 802 is shown in FIGS. 8A to 8C.
- the element of the AC component which is small and corresponds to the lower right part, is large.
- the quantization matrix coding unit 113 sequentially reads the quantization matrices 800 to 802 stored in the two-dimensional shape from the quantization matrix holding unit 106, scans each element, calculates the difference, and creates a one-dimensional matrix. Deploy.
- each of the quantization matrices 800 to 802 shown in FIGS. 8A to 8C uses the scanning method shown in FIG. 9, and the difference between each element and the immediately preceding element is calculated in the scanning order.
- the quantization matrix 802 for 8 ⁇ 8 pixels shown in FIG. 8C is scanned by the scanning method shown in FIG. 9, but the first element “8” located at the upper left corner is immediately below it.
- the element "11" located at is scanned and the difference "+3" is calculated.
- the first element of the quantization matrix 802 (in the present embodiment, for encoding “8”, the difference from a predetermined initial value (for example, “8”) is calculated, but of course, the present invention is not limited to this. Instead, the difference from an arbitrary value or the value of the first element itself may be used.
- the quantization matrices 800 to 802 of FIGS. 8A to 8C use the scanning method of FIG. 9 to generate the one-dimensional difference matrices 1000 to 1002 shown in FIGS. 10A to 10C. ..
- the quantization matrix coding unit 113 further codes the difference matrices 1000 to 1002 to generate quantization matrix coded data.
- the coding is performed using the coding table shown in FIG. 11A, but the coding table is not limited to this, and the coding table shown in FIG. 11B may be used, for example.
- the quantization matrix code data generated in this way is output to the integrated coding unit 111 in the subsequent stage.
- the integrated coding unit 111 codes the header information necessary for coding the image data, and integrates the coded data of the quantization matrices 800 to 802. Subsequently, encoding of image data will be described.
- the block division unit 102 divides one frame of image data input from the input terminal 101 into a plurality of basic blocks, and supplies the image data in basic block units to the prediction unit 104.
- the size of the basic block is 8 ⁇ 8 pixels.
- the prediction unit 104 executes a prediction process on the image data in basic block units input from the block division unit 102. Specifically, the prediction unit 104 determines a sub-block division method for dividing a basic block into finer sub-blocks, and further sets prediction modes such as intra prediction, inter prediction, and weighted intra/inter prediction for each sub block. decide.
- FIG. 7A to 7F show examples of subblock division patterns.
- Reference numeral 700 which indicates a thick frame on the outer side of the drawing, represents a basic block, and has a size of 8 ⁇ 8 pixels in the embodiment. The rectangle in the thick frame represents the sub block.
- FIG. 7B shows an example of conventional square sub-block division, in which a basic block 700 of 8 ⁇ 8 pixels is divided into four sub-blocks of 4 ⁇ 4 pixels.
- FIGS. 7C to 7F show an example of rectangular sub-block division.
- the basic block 700 shows an example of division into two vertically long sub blocks of 4 ⁇ 8 pixels.
- FIG. 7C the basic block 700 shows an example of division into two vertically long sub blocks of 4 ⁇ 8 pixels.
- 7D shows division of the basic block 700 into two sub-blocks each having a horizontally long rectangular shape of 8 ⁇ 4 pixels.
- 7E and 8F also show division of the basic block 700 into three rectangular sub-blocks with a ratio of 1:2:1. In this way, not only the square but also the rectangular sub-block is used to perform the encoding process.
- FIG. 7A A quadtree partition as shown in FIG. 7B, a ternary tree partition as shown in FIGS. 7E and 8F, or a binary tree partition as shown in FIGS. 7C and 7D may be used.
- FIG. 7A the quantization matrix corresponding to the sub-block used in the quantization matrix holding unit 103 is generated.
- the generated quantization matrix will be encoded by the quantization matrix encoding unit 113.
- Intra-prediction is an intra-prediction method that indicates an intra-prediction method such as horizontal prediction, vertical prediction, or DC prediction by generating a prediction pixel of a coding target block using coded pixels that are spatially peripheral to the coding target block.
- a prediction mode is also generated.
- inter prediction a predicted pixel of a coding target block is generated using coded pixels of a frame temporally different from the coding target block, and motion information indicating a frame to be referenced, a motion vector, and the like is also generated.
- the pixel value generated by the above-mentioned intra prediction and the pixel value generated by the above-mentioned inter prediction are weighted and averaged to generate a prediction pixel of the encoding target block. is there. For example, it is calculated using an equation such as the following equation (1).
- p[x][y] ⁇ w ⁇ pinter[x][y]+(8 ⁇ w) ⁇ pintra[x][y] ⁇ >>3...(1) (However, ">>" indicates a bit shift to the right)
- p[x][y] is a prediction pixel by weighted intra/inter prediction for the coordinates (x, y) in the target block to be encoded.
- pinter[x][y] indicates a pixel value in the inter prediction image with respect to the coordinates (x, y) in the target block. Further, pintra[x][y] indicates a pixel value in the intra-prediction image with respect to the coordinates (x, y) in the block of interest.
- the prediction pixel of the current block is generated, and the intra prediction mode and motion information used for generating the prediction pixel are also generated.
- the prediction unit 104 generates predicted image data of the sub-block to be coded from the determined prediction mode and coded pixels. Then, the prediction unit 104 calculates the difference between the image data of the sub-block to be encoded and the generated prediction image data to generate prediction error data, and the generated prediction error data is sent to the conversion/quantization unit 105. Supply. In addition, the prediction unit 104 transmits prediction information such as sub-block division, prediction mode (information indicating whether intra prediction, inter prediction, or weighted intra/inter prediction) and vector data to the encoding unit 110 and the image. It is supplied to the reproduction unit 107.
- prediction information such as sub-block division, prediction mode (information indicating whether intra prediction, inter prediction, or weighted intra/inter prediction) and vector data to the encoding unit 110 and the image. It is supplied to the reproduction unit 107.
- the transform/quantization unit 105 performs orthogonal transform/quantization on the input prediction error data to generate a quantized coefficient. Specifically, the transform/quantization unit 105 performs an orthogonal transform process corresponding to the size of the prediction error data to generate an orthogonal transform coefficient. Next, the transforming/quantizing unit 105 selects the quantization matrix stored in the quantization matrix holding unit 103 for the orthogonal transform coefficient according to the prediction mode, quantizes using the selected quantization matrix, and quantizes Generate a conversion factor.
- the quantization matrix 800 shown in FIG. 8A is used for the sub-block for which the prediction process has been performed by intra prediction. Further, the quantization matrix 801 shown in FIG.
- the transform/quantization unit 105 supplies the generated quantized coefficient to the encoding unit 110 and the inverse quantization/inverse transform unit 106.
- the inverse quantization/inverse transform unit 106 inversely quantizes the input quantized coefficient of the sub-block using the quantization matrix stored in the quantization matrix holding unit 103 to reproduce the transformed coefficient.
- the inverse quantization/inverse transform unit 106 further performs inverse orthogonal transform on the reproduced transform coefficient to reproduce the prediction error data.
- a quantization matrix corresponding to the prediction mode of the current block is used, as in the transform/quantization unit 105. Specifically, the same quantization matrix used in the transform/quantization unit 105 is used.
- the inverse quantization/inverse transformation unit 106 then supplies the reproduced prediction error data to the image reproduction unit 107.
- the image reproduction unit 107 appropriately refers to the frame memory 108 based on the prediction information input from the prediction unit 104, and reproduces the predicted image data. Then, the image reproducing unit 107 reproduces the image data of the sub block by adding the reproduced predicted image and the prediction error data input from the inverse quantization/inverse transform unit 106, and stores it in the frame memory 108. ..
- the in-loop filter unit 109 reads the reproduced image data from the frame memory 108 and performs in-loop filter processing such as deblocking filter. Then, the in-loop filter unit 109 stores the filtered image data in the frame memory 108 again.
- the coding unit 110 entropy-codes the quantized coefficient generated by the transform/quantization unit 105 and the prediction information input from the prediction unit 104 in sub-block units to generate code data.
- the method of entropy coding is not particularly limited, but Golomb coding, arithmetic coding, Huffman coding, or the like can be used.
- the generated code data is supplied to the integrated coding unit 111.
- the integrated coding unit 111 multiplexes the code data of the header and the code data input from the coding unit 110 to form a bitstream. Finally, the bit stream is output from the terminal 112 to the outside.
- FIG. 6A shows an example of the data structure of the bitstream output in the first embodiment.
- the sequence header includes the coded data of the quantization matrix, and is composed of the coded data of each element.
- the encoded position is not limited to this, and it goes without saying that the encoded position may be encoded in the picture header portion or other header portions.
- the quantization matrix holding unit 103 Prior to image coding, in S301, the quantization matrix holding unit 103 generates and holds a two-dimensional quantization matrix.
- the quantization matrix holding unit 103 corresponds to the 8 ⁇ 8 pixel sub-blocks shown in FIGS. 8A to 8C, and is applicable to the prediction methods of intra prediction, inter prediction, and weighted intra/inter prediction.
- the corresponding quantization matrices 800 to 802 are generated and held.
- the quantization matrix encoding unit 113 scans the quantization matrices 800 to 802 generated and held in step S301 to calculate the difference between each element and generate a one-dimensional difference matrix.
- the quantization matrix encoding unit 113 of this embodiment generates the difference matrices 1000 to 1002 shown in FIGS. 10A to 10C by using the scanning method of FIG. 9 for the quantization matrices 800 to 802 shown in FIGS. 8A to 8C. Will be done.
- the quantization matrix encoding unit 113 refers to the encoding table shown in FIG. 11A (or FIG. 11B) to generate a binary code for the generated difference matrices 1000 to 1002, and generates encoded data. Go.
- the integrated coding unit 111 generates and outputs the header data necessary for coding the image data together with the generated code data of the quantization matrices 800 to 802.
- the block dividing unit 102 divides the input image in frame units into basic block units.
- the prediction unit 104 divides the image data in basic block units generated in step S304 into one or more subblocks, performs prediction processing in subblock units, and determines subblock division information and prediction modes. And the prediction information and prediction image data are generated.
- three types of prediction methods, intra prediction, inter prediction, and weighted intra/inter prediction are used.
- the prediction unit 104 calculates prediction error data that is a difference between the input image data and the predicted image data.
- the specific processing example by the prediction unit 104 is as follows.
- the prediction unit 104 performs intra prediction processing on the image data of the target sub-block to be encoded by referring to the coded area of the same frame to which the target sub-block belongs, and the intra-predicted image data Pintra[x ] [y] is generated.
- the prediction unit 104 performs inter prediction processing by referring to an already-coded frame (for example, the immediately preceding frame) different from the frame to which the target sub-block to be encoded belongs, and the inter-prediction image data Pinter[x][ y] is generated. Then, the weighted intra/inter prediction image data P[x][y] is generated based on the equation (1) shown above.
- the prediction unit 104 obtains the sum of squares (or the sum of absolute values) of each of these three pieces of prediction image data and the difference data between the pixel values of the target sub-block, and the sum of squares becomes the minimum.
- the prediction mode of the predicted image data is determined as the prediction mode of the sub-block of interest.
- the weight value w is uniquely calculated according to the intra prediction mode, the size of the motion vector, the position of the target sub-block, etc., but the calculation method of the weight value w is not limited to this. ..
- the transform/quantization unit 105 orthogonally transforms the prediction error data calculated in S305 to generate transform coefficients. Further, the transform/quantization unit 105 selects one of the quantization matrices generated/held in S301 based on the prediction information, performs quantization using the selected quantization matrix, and then the quantization coefficient To generate.
- the quantization matrix 800 of FIG. 8A is used for the sub-block for which intra prediction is used
- the quantization matrix 801 and weighted intra/inter prediction of FIG. 8B are used for the sub-block for which inter prediction is used.
- the quantization matrix 802 of FIG. 8C is used for the sub-blocks.
- step S307 the inverse quantization/inverse transform unit 106 inversely quantizes the quantized coefficient generated in step S305 using the quantization matrix generated/held in step S301 to reproduce the transformed coefficient.
- the inverse quantization/inverse transform unit 106 further performs inverse orthogonal transform on the transform coefficient to reproduce the prediction error data.
- the same quantization matrix used in S306 is used, and the inverse quantization process is performed.
- the image reproduction unit 107 reproduces the predicted image data based on the prediction information generated at S305.
- the image reproducing unit 107 further reproduces the image data of the sub block from the reproduced predicted image data and the prediction error data generated in S307.
- the encoding unit 110 encodes the prediction information generated in S305 and the quantized coefficient generated in S306 to generate coded data. In addition, a bit stream including other code data is generated.
- control unit 150 determines whether or not the coding of all the basic blocks in the frame is completed, and if so, the process proceeds to S311; otherwise, the next basic block is selected. In order to perform the target encoding, the process returns to S305.
- step S311 the in-loop filter unit 109 performs in-loop filter processing on the image data reproduced in step S308, generates a filtered image, and ends the processing.
- the quantization process using the dedicated quantization matrix is performed on the sub-block using the weighted intra/inter prediction, thereby performing the quantization for each frequency component. Can be controlled to improve the subjective image quality.
- a quantization matrix is individually defined for three types of prediction methods of intra prediction, inter prediction, and weighted intra/inter prediction, and all three types of quantization matrices are encoded. However, some of them may be shared.
- quantization is performed using the quantization matrix 800 of FIG. 8A similarly to the sub-block using intra prediction, and encoding of the quantization matrix 802 of FIG. 8C is performed. Can be omitted. As a result, it is possible to reduce the code amount corresponding to the quantization matrix 802 in FIG. 8C and reduce the image quality deterioration caused by an error due to intra prediction such as block distortion.
- quantization is performed using the quantization matrix 801 in FIG. 8B as in the subblock using inter prediction, and the code of the quantization matrix 802 in FIG. 8C is coded. It is also possible to omit the conversion. As a result, it is possible to reduce the code amount of the quantization matrix of FIG. 8C and reduce the image quality deterioration caused by an error due to inter prediction such as a jagged motion.
- the quantization matrix used for the sub-block using the weighted intra/inter prediction according to the value of the weight value w indicating the weight of the intra prediction pixel value and the inter prediction pixel value in the above formula (1). May be adaptively determined. For example, if the value of the weight value w that minimizes the difference is equal to or larger than a predetermined value (for example, the center value of 4), the quantization matrix 801 of FIG. 8B is used. It is also possible to adopt a configuration used for sub-blocks using inter prediction. As a result, it is possible to reduce the amount of code for which the coding of the quantization matrix in FIG. 8C is omitted, while reducing the deterioration in image quality for the prediction method with the larger weight.
- a predetermined value for example, the center value of 4
- the quantization matrix used for the sub-block using the weighted intra/inter prediction may be newly generated according to the value of the weight value w.
- the calculation can be performed using the following equation (2).
- QM[x][y] ⁇ w ⁇ QMinter[x][y]+(8 ⁇ w) ⁇ QMintra[x][y] ⁇ >>3...(2)
- QM[x][y] is the element (quantization step value) at the coordinate (x, y) of the quantization matrix used for the sub-block using the calculated weighted intra/inter prediction. ).
- QMinter[x][y] is an element at the coordinate (x, y) of the quantization matrix used for the sub block for inter prediction.
- QMintra[x][y] is an element at the coordinate (x, y) of the quantization matrix for intra prediction.
- the quantization matrix for the sub-block using the weighted intra/inter prediction is uniquely determined, but it may be selectable by introducing an identifier.
- FIG. 6B selectively introduces the quantization matrix coding method information code to selectively perform the quantization matrix coding for the sub-blocks using the weighted intra/inter prediction.
- the quantization matrix encoding method information code indicates 0
- the quantization matrix 801 (FIG. 8B) for the sub block using the inter prediction is used for the sub block using the weighted intra/inter prediction.
- the quantization matrix 802 (FIG. 8C) which is individually encoded is used for the sub-blocks using the weighted intra/inter prediction.
- the quantization matrix 802 (FIG. 8C) which is individually encoded is used for the sub-blocks using the weighted intra/inter prediction.
- FIG. 2 is a block diagram of the image decoding apparatus.
- the image decoding device has a control unit 250 that controls the components described below and controls the entire device.
- the control unit 250 includes a CPU, a ROM that stores programs executed by the CPU and various parameters, and a RAM that is used as a work area of the CPU.
- the OS operating system
- the program, and the parameters stored in the ROM or another nonvolatile storage device may be loaded into the RAM, and then the program may be executed under the control of the OS.
- the image decoding apparatus includes an input terminal 201, a separation decoding unit 202, a decoding unit 203, an inverse quantization/inverse conversion unit 204, an image reproduction unit 205, a frame memory 206, an in-loop filter unit 207, an output terminal 208, and The quantization matrix decoding unit 209 is included.
- the image decoding apparatus is configured to input the bitstream generated by the image encoding apparatus described above in frame units.
- the separating/decoding unit 202 inputs the coded bitstream via the input terminal 201, separates the coded bitstream into coded data related to decoding information and coefficients, and decodes coded data existing in the header part of the bitstream. ..
- the separation/decoding unit 202 of the present embodiment separates the encoded data of the quantization matrix from the encoded bitstream, and supplies the encoded data to the quantization matrix decoding unit 209. Further, the separation/decoding unit 202 separates the encoded data of the image data from the encoded bitstream, and supplies the encoded data to the decoding unit 203. In short, the demultiplexing/decoding unit 202 performs an operation reverse to that of the integrated coding unit 111 in FIG. 1.
- the quantization matrix decoding unit 209 decodes the encoded data of the quantization matrix from the separation decoding unit 202 and reproduces and holds the quantization matrices 800 to 802.
- the decoding unit 203 decodes the encoded data input from the separation decoding unit 202, and reproduces the quantized coefficient and the prediction information.
- the inverse quantization/inverse transform unit 204 similarly to the inverse quantization/inverse transform unit 106 in FIG. 1, uses the regenerated quantization matrices 800 to 802 to dequantize the quantized coefficient to obtain the transformed coefficient, and Inverse orthogonal transformation is performed to reproduce the prediction error data.
- the image reproducing unit 205 appropriately refers to the frame memory 206 based on the input prediction information to generate predicted image data. Then, the image reproduction unit 205 adds the prediction error data reproduced by the inverse quantization/inverse conversion unit 204 to this predicted image data to generate image data, and stores it in the frame memory 206.
- the in-loop filter unit 207 similar to the in-loop filter unit 109 in FIG. 1, performs in-loop filter processing such as deblocking filter on the reproduced image stored in the frame memory 206, and frame the filtered image data. It is stored again in the memory 206. Then, the output terminal 208 outputs the reproduced image data to an external device (for example, a display device).
- in-loop filter processing such as deblocking filter
- the output terminal 208 outputs the reproduced image data to an external device (for example, a display device).
- bitstream generated in the first embodiment is input in frame units.
- the one-frame bit stream input via the input terminal 201 is supplied to the separation decoding unit 202.
- the separating/decoding unit 202 separates the bitstream into code data related to the decoding process and code data, and decodes the code data existing in the header of the bitstream. More specifically, the separation decoding unit 202 reproduces the coded data of the quantization matrix.
- the separation decoding unit 202 of the present embodiment first extracts the coded data of the quantization matrices 800 to 802 of FIGS. 8A to 8C from the sequence header of the bit stream shown in FIG. 6A, and supplies this to the quantization matrix decoding unit 209. .. Subsequently, the separation decoding unit 202 reproduces the code data in sub-block units of the basic block of the picture data, and supplies it to the decoding unit 203.
- the quantization matrix decoding unit 209 first decodes the input quantization matrix code data, and reproduces the one-dimensional difference matrix 1000 to 1002 shown in FIGS. 10A to 10C. In this embodiment, similar to the first embodiment, decoding is performed using the coding table shown in FIG. 11A (or FIG. 11B), but the coding table is not limited to this, and the first embodiment Other encoding tables may be used as long as the same format is used. Further, the quantization matrix decoding unit 209 reversely scans the reproduced one-dimensional difference matrix and reproduces the two-dimensional quantization matrix. Here, the operation opposite to the operation of the quantization matrix encoding unit 113 of the first embodiment is performed.
- the quantization matrix decoding unit 209 of the present embodiment uses the scanning method shown in FIG. 9 to convert the difference matrices 1000 to 1002 shown in FIGS. 10A to 10C into three types shown in FIGS. 8A to 8C, respectively.
- the quantization matrices 800 to 802 will be reproduced and held.
- the decoding unit 203 decodes the coded data and reproduces the quantized coefficient and the prediction information. Then, the decoding unit 203 supplies the reproduced quantized coefficient to the inverse quantization/inverse transform unit 204, and supplies the reproduced prediction information to the image reproducing unit 205.
- the inverse quantization/inverse conversion unit 204 selects one of the quantization matrices 800 to 802 reproduced by the quantization matrix decoding unit 209. Then, the inverse quantization/inverse transform unit 204 inversely quantizes the input quantized coefficient using the selected quantization matrix to generate an orthogonal transformed coefficient. The inverse quantization/inverse transform unit 204 further performs inverse orthogonal transform to reproduce the prediction error data, and supplies the reproduced prediction information to the image reproduction unit 205.
- the inverse quantization/inverse transform unit 204 of the present embodiment determines the quantization matrix used in the inverse quantization process according to the prediction mode of the decoding target block which is determined according to the prediction information reproduced by the decoding unit 203. That is, the quantization matrix 800 of FIG.
- the quantization matrix 801 of FIG. 8B is used for the sub-blocks using intra prediction
- the quantization matrix 801 of FIG. 8B is used for the sub-blocks of inter prediction.
- the quantization matrix 802 shown in FIG. 8C is selected for the sub-block.
- the quantization matrix used is not limited to this, as long as it is the same as the quantization matrix used in the conversion/quantization unit 105 and the inverse quantization/inverse conversion unit 106 of the first embodiment. good.
- the image reproducing unit 205 appropriately refers to the frame memory 206 based on the prediction information input from the decoding unit 203 and reproduces the predicted image data.
- three types of prediction methods of intra prediction, inter prediction, and weighted intra/inter prediction are used, as in the prediction unit 104 of the first embodiment.
- the specific prediction process is similar to that of the prediction unit 104 according to the first embodiment, and thus the description thereof will be omitted.
- the image reproduction unit 205 reproduces the image data by adding the prediction error data input from the inverse quantization/inverse conversion unit 204 to the predicted image data, and stores the image data in the frame memory 206.
- the stored image data becomes a prediction reference candidate when decoding other sub-blocks.
- the in-loop filter unit 207 reads the reproduced image data from the frame memory 206 and performs in-loop filter processing such as deblocking filter, as in the in-loop filter unit 109 in FIG. Then, the in-loop filter unit 207 stores the filtered image data in the frame memory 206 again.
- the reproduced image stored in the frame memory 206 is finally output from the output terminal 208 to the outside.
- step S ⁇ b>401 the separation decoding unit 202 separates the information related to the decoding process and the code data related to the coefficient from the bit stream, and decodes the code data of the header part. More specifically, the coded data of the quantization matrix is reproduced.
- the quantization matrix decoding unit 209 decodes the coded data of the quantization matrix reproduced at S401, and reproduces the one-dimensional difference matrix 1000 to 1002 shown in FIGS. 10A to 10C. Further, the quantization matrix decoding unit 209 reversely scans the reproduced one-dimensional difference matrices 1000 to 1002 and reproduces and holds the two-dimensional quantization matrices 800 to 802.
- the quantization matrix decoding unit 209 uses the scanning method shown in FIG. 9 to calculate the difference matrices 1000 to 1002 shown in FIGS. 10A to 10C into three types shown in FIGS. 8A to 8C, respectively. Quantization matrices 800 to 802 are reproduced and held.
- the decoding unit 203 decodes the code data separated in S401 and reproduces the quantization coefficient and the prediction information.
- step S404 the inverse quantization/inverse transform unit 204 performs inverse quantization on the quantized coefficient using any of the quantization matrices 800 to 802 reproduced in step S402 to obtain a transformed coefficient.
- the inverse quantization/inverse transform unit 204 further performs inverse orthogonal transform to reproduce the prediction error data.
- the inverse quantization/inverse transform unit 204 of this embodiment determines the quantization matrix to be used according to the prediction mode determined by the prediction information reproduced in S403. That is, the quantization matrix 800 of FIG. 8A is used for the sub-block in which intra prediction is used. Further, the quantization matrix 801 of FIG. 8B is used for the sub-block in which inter prediction is used. Then, the quantization matrix 802 of FIG. 8C is used for the sub-block in which the weighted intra/inter prediction is used.
- the quantization matrix used is not limited to this, and may be the same as the quantization matrix used in S306 and S307 of the first embodiment.
- the image reproduction unit 205 reproduces the predicted image data from the prediction information generated in S403.
- the image reproducing unit 205 of this embodiment uses three types of prediction methods, which are intra prediction, inter prediction, and weighted intra/inter prediction, as in S305 of the first embodiment. Further, the image reproducing unit 205 adds the prediction error data generated in S404 to the reproduced predicted image data to reproduce the image data.
- control unit 250 determines whether or not the decoding of all the basic blocks in the frame is completed, and if so, the process proceeds to S407; otherwise, the control unit 250 decodes the next basic block. The process returns to S403 to be the target.
- step S407 the in-loop filter unit 207 performs in-loop filter processing on the image data reproduced in step S405, generates a filtered image, and ends the processing.
- the bitstream in which the subjective image quality is improved by controlling the quantization for each frequency component is generated. Can be decrypted.
- a quantization matrix is individually defined for three types of prediction methods of intra prediction, inter prediction, and weighted intra/inter prediction, and all three types of quantization matrices are decoded. However, some of them may be shared.
- inverse quantization is performed using the quantization matrix 800 of FIG. 8A, and decoding of the quantization matrix 802 of FIG. 8C is performed. Can be omitted.
- inverse quantization is performed using the quantization matrix 801 in FIG. 8B, and decoding of the quantization matrix in FIG. 8C is performed. Can be omitted. As a result, it is possible to decode a bitstream in which the image quality deterioration caused by an error due to inter prediction such as jerky motion is reduced while reducing the code amount for the quantization matrix 802 in FIG. 8C.
- the quantization matrix used for the sub-block using the weighted intra/inter prediction according to the value of the weight value w indicating the weight of the intra prediction pixel value and the inter prediction pixel value in the above formula (1). May be adaptively determined. For example, when the value of w is equal to or larger than a predetermined value (for example, the center value of 4), the quantization matrix 800 of FIG. 8B is used for the sub-block using the weighted intra/inter prediction. It is also possible to adopt a configuration to be used. By this means, it is possible to decode a bitstream in which the amount of code is reduced by the amount that the encoding of the quantization matrix 802 in FIG.
- Equation (2) a configuration may be used in which a quantization matrix used for a sub-block using weighted intra/inter prediction is newly generated according to the value of the weight value w.
- appropriate quantization control is performed according to the weight value w, and a bitstream with improved subjective image quality is decoded. be able to.
- the quantization matrix for the sub-block using the weighted intra/inter prediction is uniquely determined, but it may be selectable by introducing an identifier.
- FIG. 6B selectively introduces the quantization matrix coding method information code to selectively perform the quantization matrix coding for the sub-blocks using the weighted intra/inter prediction.
- the quantization matrix encoding method information code indicates 0
- the quantization matrix 801 (FIG. 8B) for the sub block using the inter prediction is used for the sub block using the weighted intra/inter prediction.
- the quantization matrix 802 (FIG. 8C) which is individually coded is used for the sub-block using the weighted intra/inter prediction.
- the quantization matrix 802 (FIG. 8C) which is individually coded is used for the sub-block using the weighted intra/inter prediction.
- each processing unit shown in FIGS. 1 and 2 is described as being configured by hardware. However, the processing performed by each processing unit shown in these figures may be configured by a computer program.
- FIG. 5 is a block diagram showing a configuration example of computer hardware applicable to the image display device according to each of the above-described embodiments.
- the CPU 501 controls the entire computer by using the computer programs and data stored in the RAM 502 and the ROM 503, and also executes the above-described processes as those performed by the image processing apparatus according to each of the above embodiments. That is, the CPU 501 functions as each processing unit shown in FIGS.
- the RAM 502 has an area for temporarily storing a computer program or data loaded from an external storage device 506, data acquired from the outside via an I/F (interface) 507, and the like. Further, the RAM 502 has a work area used when the CPU 501 executes various processes. That is, the RAM 502 can be allocated as, for example, a frame memory or can appropriately provide other various areas.
- the ROM 503 stores setting data of the computer, a boot program, and the like.
- the operation unit 504 is composed of a keyboard, a mouse and the like, and can be operated by the user of the computer to input various instructions to the CPU 501.
- the display unit 505 displays the processing result by the CPU 501.
- the display unit 505 is composed of, for example, a liquid crystal display.
- the external storage device 506 is a large-capacity information storage device represented by a hard disk drive device.
- the external storage device 506 stores an OS (operating system) and a computer program for causing the CPU 501 to realize the functions of the units illustrated in FIGS. 1 and 2. Furthermore, each image data to be processed may be stored in the external storage device 506.
- the computer programs and data stored in the external storage device 506 are appropriately loaded into the RAM 502 under the control of the CPU 501 and are subject to processing by the CPU 501.
- the I/F 507 can be connected to a network such as a LAN or the Internet, and other devices such as a projection device and a display device, and the computer acquires and sends various information via the I/F 507.
- the CPU 501 executes the boot program of the ROM 503, loads the OS stored in the external storage device 506 into the RAM 502, and activates the OS.
- this device can communicate via the interface 507 and functions as an information processing device.
- the CPU 501 loads an application related to image encoding (corresponding to FIG. 3) from the external storage device 506 to the RAM 502 and executes it, so that the CPU 501 functions as various processing units shown in FIG. Therefore, the present device functions as an image encoding device.
- the CPU 501 loads an application related to image decoding (corresponding to FIG. 4) from the external storage device 506 to the RAM 502 and executes it, the CPU 501 functions as various processing units shown in FIG. It will function as an image decoding device.
- the present invention supplies a program that implements one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program. It can also be realized by the processing. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
- a circuit for example, ASIC
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の実施形態の画像符号化装置を示すブロック構成図である。画像符号化装置は、以下に説明する構成要素を制御し、装置全体の制御を司る制御部150を有する。この制御部150は、CPU、CPUが実行するプログラムや各種パラメータ等を記憶しているROM、CPUのワークエリアとして使用されるRAMを含む。なお、ROMや他の不揮発性記憶装置に格納されたOS(オペレーティングシステム)、プログラム、パラメータをRAMにロードした後に、OSの制御下でプログラムを実行するようにしてもよい。
p[x][y]={w×pinter[x][y] + (8-w)×pintra[x][y]}>>3…(1)
(ただし、「>>」は右へのビットシフトを示す)
上記式(1)において、p[x][y]は符号化対象の着目ブロック内の座標(x,y)に対する、重み付きイントラ・インター予測による予測画素である。また、pinter[x][y]は、着目ブロック内の座標(x,y)に対するインター予測画像内の画素値を示している。また、pintra[x][y]は、着目ブロック内の座標(x,y)に対するイントラ予測画像内の画素値を示している。wはインター予測の画素値およびイントラ予測の画素値に対する重み値を表しており、本実施形態ではw=4の時にインター予測の画素値とイントラ予測の画素値に対する重みが同一となる。言い換えれば、w>4であればインター予測の画素値に対する重みが増し、w<4であればイントラ予測の画素値に対する重みが増す。こうして重み付きイントラ・インター予測では、符号化対象ブロックの予測画素を生成し、予測画素の生成に用いられたイントラ予測モードや動き情報も生成する。
QM[x][y]={w×QMinter[x][y] +(8-w)×QMintra[x][y]}>>3…(2)
上記の式(2)において、QM[x][y]は算出された重み付きイントラ・インター予測を用いたサブブロックに用いられる量子化マトリクスの座標(x,y)における要素(量子化ステップ値)である。QMinter[x][y]はインター予測用のサブブロックに用いられる量子化マトリクスの座標(x,y)における要素である。同様に、QMintra[x][y]はイントラ予測用の量子化マトリクスの座標(x,y)における要素である。これにより、図8Cの量子化マトリクス802の符号化を省略した分の符号量を削減しつつ、重み値wに応じた適切な量子化制御を行い、主観画質を向上させることができる。
第2の実施形態では、上記第1の実施形態の画像符号化装置で生成された符号化データを復号する画像復号装置を説明する。図2は、その画像復号装置のブロック構成図である。
図1、図2に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成しても良い。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (12)
- 画像を符号化する画像符号化装置であって、
画像における符号化対象の所定のサイズの着目ブロックに対し、イントラ予測処理により得たイントラ予測画像と、インター予測処理により得たインター予測画像の両方から予測画像を生成し、前記着目ブロックと前記予測画像との差分である予測誤差を求める予測手段と、
該予測手段で得た前記予測誤差を周波数変換する変換手段と、
該変換手段で得た変換係数を、量子化マトリクスを用いて量子化する量子化手段と、
該量子化手段による量子化後の変換係数をエントロピー符号化する符号化手段と
を有することを特徴とする画像符号化装置。 - 前記予測手段は、前記イントラ予測画像と前記インター予測画像との加重平均を、前記着目ブロックに対する予測画像として求める
ことを特徴とする請求項1に記載の画像符号化装置。 - 前記量子化手段は、予め設定されたイントラ予測用の量子化マトリクスとインター予測用の量子化マトリクスのうち少なくとも1つを用いて、前記変換手段で得た変換係数を量子化するための量子化マトリクスを求める
ことを特徴とする請求項1又は2に記載の画像符号化装置。 - 前記量子化手段は、前記イントラ予測用の量子化マトリクスと前記インター予測用の量子化マトリクスの加重平均を、前記変換手段で得た変換係数を量子化する際に用いる量子化マトリクスとする
ことを特徴とする請求項3に記載の画像符号化装置。 - 前記量子化手段が用いる量子化マトリクスを符号化する第2の符号化手段と、
前記符号化手段で得た符号化データと、前記第2の符号化手段で生成された量子化マトリクスの符号化データとを統合する統合手段と
を更に備えることを特徴とする請求項1乃至4のいずれか1項に記載の画像符号化装置。 - 画像を符号化する画像符号化装置の制御方法であって、
画像における符号化対象の所定のサイズの着目ブロックに対し、イントラ予測処理により得たイントラ予測画像と、インター予測処理により得たインター予測画像の両方から予測画像を生成し、前記着目ブロックと前記予測画像との差分である予測誤差を求める予測工程と、
該予測工程で得た前記予測誤差を周波数変換する変換工程と、
該変換工程で得た変換係数を、量子化マトリクスを用いて量子化する量子化工程と、
該量子化工程による量子化後の変換係数をエントロピー符号化する符号化工程と
を有することを特徴とする画像符号化装置の制御方法。 - 画像データをブロック単位で復号する画像復号装置であって、
量子化された変換係数である量子化変換係数を復号する復号手段と、
量子化マトリクスを用いて、前記量子化変換係数から、変換係数を導出する導出処理を行う逆量子化手段と、
前記変換係数を逆変換して、予測誤差を導出する逆変換手段と、
イントラ予測処理により得たイントラ予測画像と、インター予測処理により得たインター予測画像との両方から予測画像を生成し、当該予測画像と前記予測誤差とを用いて着目ブロックを復号する予測手段と、
を有することを特徴とする画像復号装置。 - 前記予測手段は、前記イントラ予測画像と前記インター予測画像との加重平均を、前記着目ブロックに対する予測画像として求める
ことを特徴とする請求項7に記載の画像復号装置。 - 前記逆量子化手段は、予め設定されたイントラ予測用の量子化マトリクスとインター予測用の量子化マトリクスのうち少なくとも1つを用いて、前記導出処理において用いる前記量子化マトリクスを求める
ことを特徴とする請求項7又は8に記載の画像復号装置。 - 前記逆量子化手段は、前記イントラ予測用の量子化マトリクスと前記インター予測用の量子化マトリクスの加重平均を、前記導出処理において用いる量子化マトリクスとする
ことを特徴とする請求項9に記載の画像復号装置。 - 画像データをブロック単位で復号する画像復号装置の制御方法であって、
量子化された変換係数である量子化変換係数を復号する復号工程と、
量子化マトリクスを用いて、前記量子化変換係数から、変換係数を導出する導出処理を行う逆量子化工程と、
前記変換係数を逆変換して、予測誤差を導出する逆変換工程と、
イントラ予測処理により得たイントラ予測画像と、インター予測処理により得たインター予測画像との両方から予測画像を生成し、当該予測画像と前記予測誤差とを用いて着目ブロックを復号する予測工程と、
を有することを特徴とする画像復号装置の制御方法。 - コンピュータが読み込み実行することで、前記コンピュータに、請求項6又は11に記載の制御方法の各工程を実行させるためのプログラム。
Priority Applications (16)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19899876.7A EP3902255A4 (en) | 2018-12-17 | 2019-10-25 | PICTURE CODING DEVICE, PICTURE DECODING DEVICE, CONTROL METHOD THEREOF AND PROGRAM |
CN201980083165.0A CN113196760B (zh) | 2018-12-17 | 2019-10-25 | 图像编码设备、图像解码设备、控制方法和存储介质 |
CN202410242411.5A CN118018736A (zh) | 2018-12-17 | 2019-10-25 | 图像编码设备、图像解码设备和控制方法 |
CN202410242403.0A CN118018734A (zh) | 2018-12-17 | 2019-10-25 | 图像编码设备、图像解码设备和控制方法 |
KR1020217021398A KR102700365B1 (ko) | 2018-12-17 | 2019-10-25 | 화상 부호화 장치 및 화상 복호 장치 및 그것들의 제어 방법 및 프로그램 |
CN202410242408.3A CN118018735A (zh) | 2018-12-17 | 2019-10-25 | 图像编码设备、图像解码设备和控制方法 |
CN202410242415.3A CN118018737A (zh) | 2018-12-17 | 2019-10-25 | 图像编码设备、图像解码设备和控制方法 |
BR112021011586-2A BR112021011586A2 (pt) | 2018-12-17 | 2019-10-25 | Aparelho de codificação de imagem, aparelho de decodificação de imagem e métodos de controle dos mesmos |
CN202410242400.7A CN118018733A (zh) | 2018-12-17 | 2019-10-25 | 图像编码设备、图像解码设备和控制方法 |
RU2021121029A RU2765428C1 (ru) | 2018-12-17 | 2019-10-25 | Устройство кодирования изображений, устройство декодирования изображений, способы управления ими и программа |
US17/347,352 US11849114B2 (en) | 2018-12-17 | 2021-06-14 | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
US18/512,885 US20240089448A1 (en) | 2018-12-17 | 2023-11-17 | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
US18/512,861 US20240089447A1 (en) | 2018-12-17 | 2023-11-17 | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
US18/512,585 US20240089444A1 (en) | 2018-12-17 | 2023-11-17 | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
US18/512,813 US20240089446A1 (en) | 2018-12-17 | 2023-11-17 | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
US18/512,605 US20240089445A1 (en) | 2018-12-17 | 2023-11-17 | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-235912 | 2018-12-17 | ||
JP2018235912A JP2020098986A (ja) | 2018-12-17 | 2018-12-17 | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/347,352 Continuation US11849114B2 (en) | 2018-12-17 | 2021-06-14 | Image encoding apparatus, image decoding apparatus, control methods thereof, and non-transitory computer-readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020129407A1 true WO2020129407A1 (ja) | 2020-06-25 |
Family
ID=71101196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/041916 WO2020129407A1 (ja) | 2018-12-17 | 2019-10-25 | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム |
Country Status (9)
Country | Link |
---|---|
US (6) | US11849114B2 (ja) |
EP (1) | EP3902255A4 (ja) |
JP (2) | JP2020098986A (ja) |
KR (1) | KR102700365B1 (ja) |
CN (6) | CN113196760B (ja) |
BR (1) | BR112021011586A2 (ja) |
RU (2) | RU2022100848A (ja) |
TW (1) | TWI803709B (ja) |
WO (1) | WO2020129407A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629962A (zh) * | 2021-08-05 | 2022-06-14 | 中国石油天然气集团有限公司 | 井下随钻数据的压缩、解压缩及传输方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011052217A1 (ja) * | 2009-10-30 | 2011-05-05 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラム、及び集積回路 |
JP2013005298A (ja) * | 2011-06-17 | 2013-01-07 | Sony Corp | 画像処理装置および方法 |
JP2013038758A (ja) | 2011-07-13 | 2013-02-21 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8085846B2 (en) * | 2004-08-24 | 2011-12-27 | Thomson Licensing | Method and apparatus for decoding hybrid intra-inter coded blocks |
KR100708206B1 (ko) * | 2006-06-22 | 2007-04-18 | 삼성전자주식회사 | 동영상 복호화 방법과 그 장치 |
US8385424B2 (en) * | 2006-06-26 | 2013-02-26 | Qualcomm Incorporated | Reduction of errors during computation of inverse discrete cosine transform |
JPWO2008132890A1 (ja) * | 2007-04-16 | 2010-07-22 | 株式会社東芝 | 画像符号化と画像復号化の方法及び装置 |
JPWO2009050897A1 (ja) * | 2007-10-19 | 2011-02-24 | パナソニック株式会社 | 符号化レート変換装置、符号化レート変換方法および集積回路 |
KR101379188B1 (ko) * | 2010-05-17 | 2014-04-18 | 에스케이 텔레콤주식회사 | 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법 |
US20140010284A1 (en) * | 2011-02-25 | 2014-01-09 | Samsung Electronics Co., Ltd. | Image transform and inverse transform method, and image encoding and decoding device using same |
BR122020015658B1 (pt) * | 2011-03-09 | 2023-03-28 | Nec Corporation | Dispositivo de decodificação de vídeo e método de decodificação de vídeo |
EP3675497B1 (en) * | 2011-10-17 | 2021-12-29 | Kabushiki Kaisha Toshiba | Encoding method and decoding method |
US10277915B2 (en) * | 2011-11-07 | 2019-04-30 | Qualcomm Incorporated | Signaling quantization matrices for video coding |
CN103096056B (zh) * | 2011-11-08 | 2015-11-25 | 华为技术有限公司 | 矩阵编码方法与装置及解码方法与装置 |
US9020294B2 (en) * | 2012-01-18 | 2015-04-28 | Dolby Laboratories Licensing Corporation | Spatiotemporal metrics for rate distortion optimization |
JP5886446B2 (ja) * | 2012-01-20 | 2016-03-16 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 量子化行列の符号化方法及び復号化方法、並びにそれを利用する装置 |
ES2725674T3 (es) * | 2012-02-29 | 2019-09-26 | Sony Corp | Dispositivo y método de procesamiento de imágenes |
CN104221383B (zh) * | 2012-04-13 | 2018-09-11 | 三菱电机株式会社 | 图像编码装置、图像解码装置、图像编码方法以及图像解码方法 |
US20130272390A1 (en) * | 2012-04-16 | 2013-10-17 | Qualcomm Incorporated | Uniform granularity for quantization matrix in video coding |
CN104412592B (zh) * | 2012-06-26 | 2017-11-14 | 三菱电机株式会社 | 运动图像编码/解码装置以及方法 |
JP6210368B2 (ja) * | 2012-09-18 | 2017-10-11 | サン パテント トラスト | 画像復号方法および画像復号装置 |
US9609343B1 (en) * | 2013-12-20 | 2017-03-28 | Google Inc. | Video coding using compound prediction |
CN107113425A (zh) * | 2014-11-06 | 2017-08-29 | 三星电子株式会社 | 视频编码方法和设备以及视频解码方法和设备 |
JPWO2016103542A1 (ja) * | 2014-12-26 | 2017-10-19 | パナソニックIpマネジメント株式会社 | 符号化方法、復号方法、符号化装置および復号装置 |
US10218976B2 (en) * | 2016-03-02 | 2019-02-26 | MatrixView, Inc. | Quantization matrices for compression of video |
CN116567263A (zh) * | 2016-05-24 | 2023-08-08 | 韩国电子通信研究院 | 图像编码/解码方法和用于所述方法的记录介质 |
CN116708782A (zh) * | 2016-07-12 | 2023-09-05 | 韩国电子通信研究院 | 图像编码/解码方法以及用于该方法的记录介质 |
US11368681B2 (en) * | 2016-07-18 | 2022-06-21 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and device, and recording medium in which bitstream is stored |
US11405620B2 (en) * | 2016-08-01 | 2022-08-02 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and apparatus with sub-block intra prediction |
-
2018
- 2018-12-17 JP JP2018235912A patent/JP2020098986A/ja active Pending
-
2019
- 2019-10-25 RU RU2022100848A patent/RU2022100848A/ru unknown
- 2019-10-25 CN CN201980083165.0A patent/CN113196760B/zh active Active
- 2019-10-25 KR KR1020217021398A patent/KR102700365B1/ko active IP Right Grant
- 2019-10-25 CN CN202410242400.7A patent/CN118018733A/zh active Pending
- 2019-10-25 CN CN202410242408.3A patent/CN118018735A/zh active Pending
- 2019-10-25 CN CN202410242403.0A patent/CN118018734A/zh active Pending
- 2019-10-25 CN CN202410242411.5A patent/CN118018736A/zh active Pending
- 2019-10-25 CN CN202410242415.3A patent/CN118018737A/zh active Pending
- 2019-10-25 RU RU2021121029A patent/RU2765428C1/ru active
- 2019-10-25 BR BR112021011586-2A patent/BR112021011586A2/pt unknown
- 2019-10-25 WO PCT/JP2019/041916 patent/WO2020129407A1/ja active Application Filing
- 2019-10-25 EP EP19899876.7A patent/EP3902255A4/en active Pending
- 2019-11-01 TW TW108139632A patent/TWI803709B/zh active
-
2021
- 2021-06-14 US US17/347,352 patent/US11849114B2/en active Active
-
2023
- 2023-11-06 JP JP2023189524A patent/JP7545556B2/ja active Active
- 2023-11-17 US US18/512,585 patent/US20240089444A1/en active Pending
- 2023-11-17 US US18/512,605 patent/US20240089445A1/en active Pending
- 2023-11-17 US US18/512,861 patent/US20240089447A1/en active Pending
- 2023-11-17 US US18/512,885 patent/US20240089448A1/en active Pending
- 2023-11-17 US US18/512,813 patent/US20240089446A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011052217A1 (ja) * | 2009-10-30 | 2011-05-05 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラム、及び集積回路 |
JP2013005298A (ja) * | 2011-06-17 | 2013-01-07 | Sony Corp | 画像処理装置および方法 |
JP2013038758A (ja) | 2011-07-13 | 2013-02-21 | Canon Inc | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
Non-Patent Citations (1)
Title |
---|
BROSS, BENJAMIN ET AL.: "Versatile Video Coding (Draft 3", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 12TH MEETING, 14 December 2018 (2018-12-14), Macao, CN, pages 1 - 160, XP030195441 * |
Also Published As
Publication number | Publication date |
---|---|
US11849114B2 (en) | 2023-12-19 |
TW202025747A (zh) | 2020-07-01 |
EP3902255A1 (en) | 2021-10-27 |
US20240089446A1 (en) | 2024-03-14 |
BR112021011586A2 (pt) | 2021-08-31 |
JP7545556B2 (ja) | 2024-09-04 |
US20240089444A1 (en) | 2024-03-14 |
JP2023181542A (ja) | 2023-12-21 |
TWI803709B (zh) | 2023-06-01 |
KR102700365B1 (ko) | 2024-08-30 |
US20240089448A1 (en) | 2024-03-14 |
CN118018734A (zh) | 2024-05-10 |
CN118018733A (zh) | 2024-05-10 |
JP2020098986A (ja) | 2020-06-25 |
EP3902255A4 (en) | 2022-10-05 |
US20240089447A1 (en) | 2024-03-14 |
RU2022100848A (ru) | 2022-02-21 |
RU2765428C1 (ru) | 2022-01-31 |
US20240089445A1 (en) | 2024-03-14 |
CN118018735A (zh) | 2024-05-10 |
CN113196760B (zh) | 2024-03-19 |
CN118018736A (zh) | 2024-05-10 |
CN118018737A (zh) | 2024-05-10 |
US20210306635A1 (en) | 2021-09-30 |
CN113196760A (zh) | 2021-07-30 |
KR20210095947A (ko) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020184229A1 (ja) | 画像符号化装置、画像符号化方法、及びプログラム | |
JP2024015184A (ja) | 画像復号装置及び方法及びプログラム | |
JP2023080359A (ja) | 画像復号装置、画像復号方法、及びプログラム | |
JP7545556B2 (ja) | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム | |
JP2024023793A (ja) | 画像符号化装置及び画像復号装置及び画像符号化方法及び画像復号方法及びプログラム | |
JP2023113858A (ja) | 画像復号装置、画像復号方法、及びプログラム | |
WO2020003740A1 (ja) | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム | |
JP7418152B2 (ja) | 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 | |
WO2020183859A1 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、及びプログラム | |
WO2023181546A1 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法 | |
JP2024149754A (ja) | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム | |
WO2020129498A1 (ja) | 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 | |
JP2021150723A (ja) | 画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム | |
KR20220055495A (ko) | 화상 부호화 장치, 화상 부호화 방법, 화상 복호 장치, 화상 복호 방법, 및 컴퓨터 프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19899876 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 122022021581 Country of ref document: BR |
|
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: 112021011586 Country of ref document: BR |
|
ENP | Entry into the national phase |
Ref document number: 20217021398 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2019899876 Country of ref document: EP Effective date: 20210719 |
|
ENP | Entry into the national phase |
Ref document number: 112021011586 Country of ref document: BR Kind code of ref document: A2 Effective date: 20210615 |