WO2021171360A1 - 符号化方法、符号化装置及びプログラム - Google Patents
符号化方法、符号化装置及びプログラム Download PDFInfo
- Publication number
- WO2021171360A1 WO2021171360A1 PCT/JP2020/007453 JP2020007453W WO2021171360A1 WO 2021171360 A1 WO2021171360 A1 WO 2021171360A1 JP 2020007453 W JP2020007453 W JP 2020007453W WO 2021171360 A1 WO2021171360 A1 WO 2021171360A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- division
- stage
- block
- prediction
- processing unit
- 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/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
-
- 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/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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/96—Tree coding, e.g. quad-tree coding
Definitions
- the present invention relates to a coding method, a coding device and a program.
- MPEG Motion Picture Experts Group
- MPEG-4 Motion Picture Experts Group
- MPEG-4 / AVC Advanced Video Coding
- HEVC High Efficiency Video Coding
- H.I. High Efficiency Video Coding
- VVC Very Video Coding
- moving image frames are divided into blocks of units called CTUs (Coding Tree Units).
- CTUs Coding Tree Units
- the maximum size of CTU is "64x64”.
- VVC the maximum size of CTU is "128 x 128”.
- the size of each CTU in the slices defined in the frame is constant.
- Each CTU in the frame is recursively divided into blocks of coding units called CU (Coding Unit).
- the CU is a unit of coding processing such as prediction processing and conversion processing.
- different sizes can be selected for each CU. By increasing the degree of freedom in the size of the CU, the coding efficiency is improved.
- HEVC CU is generated by recursively repeating quadtree division for CTU.
- the sizes of CU are "64x64", “32x32”, “16x16”, and "8x8".
- a CTU is composed of a combination of CUs of these sizes.
- VVC a block division method called "QTTTBT” has been proposed as a new block division method of CU (see Non-Patent Document 1).
- the "QTTTBT” algorithm is the basis of VVC.
- CU in VVC can be divided by a quadtree (Quad Tree: QT) (hereinafter referred to as "QT”).
- QT Quad Tree
- the CU in VVC can be divided by a binary tree (BT) (hereinafter referred to as “BT”) that divides horizontally or vertically into two equal parts.
- BT binary tree
- TT ternary tree
- the quadtree division is referred to as "QT division”.
- the horizontal or vertical ternary tree division is called "TT division”.
- the horizontal or vertical binary tree division is called "BT division”.
- each CU is generated in the CTU by recursively executing QT division for the CTU (block). For each CU thus generated, BT division or TT division is recursively executed in the horizontal direction or the vertical direction.
- the CU size can be flexibly selected as compared with HEVC or the like by the "QTTTBT" method. That is, not only squares, but also various sizes of rectangles such as "32x4" and "8x16" can be selected as the size of the CU (block). In-image prediction (intra-prediction) is executed for each such CU. Since the size of the CU is flexibly selected according to the characteristics and the pattern of the original image, it can be expected that the coding efficiency of VVC will be significantly improved as compared with HEVC or the like.
- the CU size selection process a method of adaptively narrowing down the options of the CU division shape by using the division result of the CU adjacent to the CU can be considered.
- the calculation amount for each CTU composed of each CU is not constant.
- the amount of calculation for each CTU is not constant. Is not appropriate.
- in-image prediction intra prediction
- RD Random Distortion cost value derivation
- RD cost value evaluation are executed for each CU size candidate. Therefore, the best size of CU needs to be selected.
- MRL Multiple Reference Line numbers
- the amount of calculation in VVC is significantly increased compared to the amount of calculation in HEVC, and the VVC The coding process is heavily burdened.
- VVC has a problem that the amount of calculation for selecting the size of each CU that divides the CTU is enormous.
- the present invention provides a coding method, a coding device, and a program capable of preventing the amount of calculation for selecting the size of each CU that divides the CTU from increasing more than necessary.
- the purpose is.
- One aspect of the present invention is a coding method executed by a coding device, in which a first block having a predetermined size in an original image is converted into a second block group which is a block to be a unit of coding.
- the division step includes a division step of dividing by a quadtree, a ternary tree, or a binary tree, and a prediction step of predicting movement for each of the second blocks, and the division step includes a first sub-division step and a second sub-division.
- the first sub-division step the first block is divided into blocks of a size selected from the quadtree, the ternary tree, or the size determined according to the binary tree.
- the second sub-division step is a coding method in which the second block is generated by further dividing the block of the selected size.
- a first block having a predetermined size in the original image is divided into a second block group, which is a block to be a unit of coding, into a quadtree, a ternary tree, or a binary tree.
- the division unit includes a division unit for predicting movement for each of the second blocks, the division unit has a first sub-division unit and a second sub-division unit, and the first sub-division unit includes a first sub-division unit and a second sub-division unit.
- the first block is divided into blocks having a size selected from the quadtree, the ternary tree, or the size determined according to the binary tree, and the second sub-division portion is selected. It is an encoding device that generates the second block by further dividing a block of a different size.
- One aspect of the present invention is a program for operating a computer as a coding device that executes the above coding method.
- FIG. 1 is a diagram showing a configuration example of the coding device 1.
- the coding device 1 is a device that encodes a moving image.
- the coding device 1 includes an original image data storage unit 9, a CU division / prediction processing unit 10, a prediction image generation unit 11, a residual signal generation unit 12, a conversion / quantization processing unit 13, and an entropy code.
- a conversion unit 14, an inverse quantization / inverse conversion processing unit 15, a decoding signal generation unit 16, a loop filter processing unit 17, and a reference image data storage unit 18 are provided.
- FIG. 2 is a diagram showing a hardware configuration example of the coding device 1.
- the coding device 1 includes a processor 2, a storage unit 3, a communication unit 4, and a display unit 5.
- the CU division / prediction processing unit 10 the prediction image generation unit 11, the residual signal generation unit 12, the conversion / quantization processing unit 13, the entropy coding unit 14, and the inverse quantization / inverse conversion processing unit 15.
- a part or all of the decoding signal generation unit 16 and the loop filter processing unit 17 has a processor 2 such as a CPU (Central Processing Unit) having a non-volatile recording medium (non-temporary recording medium). It is realized as software by executing the program stored in the storage unit 3. The program may be recorded on a computer-readable recording medium.
- a processor 2 such as a CPU (Central Processing Unit) having a non-volatile recording medium (non-temporary recording medium). It is realized as software by executing the program stored in the storage unit 3.
- the program may be recorded on a computer-readable recording medium.
- Computer-readable recording media include, for example, flexible disks, optical magnetic disks, portable media such as ROM (ReadOnlyMemory) and CD-ROM (CompactDiscReadOnlyMemory), and storage of hard disks built in computer systems. It is a non-temporary recording medium such as a device.
- the communication unit 4 may receive the program via the communication line.
- the communication unit 4 may transmit the coding result via the communication line.
- the display unit 5 is, for example, a liquid crystal display.
- the display unit 5 displays a moving image such as an original image.
- the CU division / prediction processing unit 10 the prediction image generation unit 11, the residual signal generation unit 12, the conversion / quantization processing unit 13, the entropy coding unit 14, and the inverse quantization / inverse conversion processing unit 15.
- the coding device 1 acquires a signal of a moving image (original image) to be coded from an external device (not shown) for each CTU which is a basic unit of coding processing.
- the coding device 1 acquires original images having a maximum size of “128 ⁇ 128” pixels from an external device (not shown) in the order of CTU numbers.
- the coding device 1 encodes a moving image based on a parameter specified by an external device (not shown).
- the coding device 1 outputs the coded data (coded bit stream) to an external device (not shown).
- the CU division / prediction processing unit 10 executes processing for each CTU.
- the loop filter processing unit 17 executes processing for each CU.
- the original image data storage unit 9 acquires and stores moving image data, which is the original image, from an external device (not shown).
- the moving image data to be the original image includes the original image of the CTU to be encoded.
- the CU division / prediction processing unit 10 (division unit) acquires the original image of the CTU to be encoded from the original image data storage unit 9.
- the CU division / prediction processing unit 10 acquires reference image data (decoding signal) used for image motion prediction processing from the reference image data storage unit 18.
- the CU division / prediction processing unit 10 executes selection of the CU size and selection of the prediction mode of each CU on the original image of the CTU to be encoded.
- the CU division / prediction processing unit 10 divides the original image of the CTU into one or more CUs.
- the CU division / prediction processing unit 10 executes the process of dividing the CTU to be encoded into CUs by dividing it into "n (n is an integer of 2 or more and the number of stages or less)" stages. That is, the CU division / prediction processing unit 10 executes the process of selecting the size of each CU in the CTU from the candidates in n steps.
- the CU division / prediction processing unit 10 executes in-image prediction processing (selection of prediction mode) of the CU of the selected size using the reference image data for each CU.
- the CU division / prediction processing unit 10 selects, for example, the CU size “16 ⁇ 8” of the coordinates (0,0) in the CTU and the prediction mode “DC” in the CU, respectively. ..
- the CU division / prediction processing unit 10 outputs the size selected as the size of the CU and the prediction mode of the CU to the prediction image generation unit 11 for each CU.
- the CU division / prediction processing unit 10 outputs the original image of each CU of the selected size to the residual signal generation unit 12.
- the prediction image generation unit 11 acquires the size selected as the size of the CU and the prediction mode of the CU as prediction result data from the CU division / prediction processing unit 10 for each CU.
- the prediction image generation unit 11 acquires reference image data (decoding signal) used for image motion prediction processing from the reference image data storage unit 18.
- the prediction image generation unit 11 generates a prediction image based on the prediction result data by referring to the reference image data.
- the prediction image generation unit 11 outputs a prediction image for each CU to the residual signal generation unit 12 and the decoding signal generation unit 16.
- the residual signal generation unit 12 acquires the original image of each CU of the selected size from the CU division / prediction processing unit 10.
- the residual signal generation unit 12 acquires the predicted image of each CU from the predicted image generation unit 11.
- the residual signal generation unit 12 derives the difference between the original image and the predicted image for each CU.
- the residual signal generation unit 12 outputs the difference derived as the predicted residual signal of the CU to the conversion / quantization processing unit 13.
- the conversion / quantization processing unit 13 executes orthogonal transformation such as discrete cosine transform on the predicted residual signal.
- the conversion / quantization processing unit 13 quantizes the conversion coefficient, which is the result of the orthogonal transformation.
- the conversion / quantization processing unit 13 outputs the quantized conversion coefficient to the entropy coding unit 14 and the inverse quantization / inverse conversion processing unit 15.
- the entropy coding unit 14 acquires the quantized conversion coefficient from the conversion / quantization processing unit 13. The entropy coding unit 14 executes entropy coding on the quantized conversion coefficient. The entropy coding unit 14 outputs the execution result of the entropy coding as a coded stream to an external device (not shown).
- the inverse quantization / inverse conversion processing unit 15 acquires the quantized conversion coefficient from the conversion / quantization processing unit 13.
- the inverse quantization / inverse transformation processing unit 15 executes inverse quantization and inverse orthogonal transformation on the quantized conversion coefficient.
- the inverse quantization / inverse transformation processing unit 15 outputs the execution result of the inverse quantization and the inverse orthogonal transformation to the decoding signal generation unit 16 as a decoding signal of the predicted residual.
- the decoding signal generation unit 16 acquires the decoding signal of the predicted residual from the inverse quantization / inverse conversion processing unit 15.
- the decoding signal generation unit 16 acquires a prediction signal for each CU from the prediction image generation unit 11.
- the decoding signal generation unit 16 generates a decoding signal of the CU to be encoded by adding the decoding signal of the prediction residual and the prediction signal.
- the decoding signal generation unit 16 outputs the decoding signal of the CU to be encoded to the loop filter processing unit 17.
- the decoding signal generation unit 16 records the decoding signal of the CU to be encoded in the reference image data storage unit 18.
- the loop filter processing unit 17 acquires the decoded signal of the CU to be encoded from the decoded signal generation unit 16.
- the loop filter processing unit 17 executes a filtering process (loop filter process) for reducing the coding distortion of the decoded signal of the CU to be coded.
- the loop filter processing unit 17 records the filtered image as reference image data in the reference image data storage unit 18.
- the reference image data storage unit 18 stores the decoded signal of the CU to be encoded.
- the reference image data storage unit 18 stores the image after the filtering process as reference image data.
- FIG. 3 is a diagram showing a configuration example of the CU division / prediction processing unit 10.
- the CU division / prediction processing unit 10 acquires the original image of the CTU to be encoded from the original image data storage unit 9.
- the CU division / prediction processing unit 10 acquires reference image data (decoding signal) used for image motion prediction processing from the reference image data storage unit 18.
- the CU division / prediction processing unit 10 executes the division processing and the prediction processing in each stage from the first stage to the nth stage.
- the CU segmentation / prediction processing unit 10 includes an original image segmentation unit 100 and n step division / prediction processing units. That is, the CU segmentation / prediction processing unit 10 includes an original image segmentation unit 100 and a first stage segmentation / prediction processing unit 101 to an nth stage segmentation / prediction processing unit (100 + n).
- the first-stage division / prediction processing unit 101 (first sub-division unit for the second-stage division / prediction processing unit 102) acquires the original image of the CTU to be encoded from the original image data storage unit 9. ..
- the first-stage division / prediction processing unit 101 acquires reference image data (decoding signal) used for image motion prediction processing from the reference image data storage unit 18.
- the first-stage division / prediction processing unit 101 selects the CU size selection result (CTU division result) in the original image of the CTU and the prediction mode of each CU based on the reference image data.
- the first-stage division / prediction processing unit 101 determines the selection result of the size of each CU in the first stage (division result in the first stage) and the prediction mode of each CU in the first stage in the second-stage division / prediction. It is output to the processing unit 102 (the next stage of the first stage division / prediction processing unit 101).
- the second stage division / prediction processing unit 102 (second sub-division unit for the first stage division / prediction processing unit 101) (first sub-division unit for the third stage division / prediction processing unit) is a coding target.
- An original image of a certain CTU is acquired from the original image data storage unit 9.
- the second-stage division / prediction processing unit 102 acquires reference image data (decoding signal) used for image motion prediction processing from the reference image data storage unit 18.
- the second-stage division / prediction processing unit 102 determines the size selection result of each CU in the first stage (division result in the first stage) and the prediction mode of each CU in the first stage in the first-stage division / prediction. Obtained from the processing unit 101.
- the second-stage division / prediction processing unit 102 determines the size selection result of each CU in the first-stage division / prediction processing unit 101 (previous stage) (division result in the first stage) and the prediction of each CU in the first stage. Based on the mode, the selection result of the size of the CU in the original image of the CTU and the prediction mode of each CU are selected. That is, the second stage division / prediction processing unit 102 updates the selection result of the CU size in the original image of the CTU and the prediction mode of each CU on the premise of the selection result of the size of each CU in the previous stage. The second-stage division / prediction processing unit 102 sets the size selection result of each CU (division result in the second stage) and the prediction mode of each CU in the second stage into the third-stage division / prediction processing unit (next). Output to stage).
- the nth (n ⁇ 2) stage division / prediction processing unit (100 + n) updates the size selection result (division result) of each CU in the (n-1) stage and predicts each CU.
- the mode update result is output to the division / prediction processing unit (100+ (n + 1)) in the "n + 1" stage.
- the final stage n-stage division / prediction processing unit (100 + n) (second sub-division unit for the previous stage stage division / prediction processing unit) is the size selection result of each CU (in the "n-1" stage).
- the division result) and the prediction mode of each CU in the first "n-1" stage are acquired from the first "n-1" stage division / prediction processing unit (100+ (n-1)).
- the nth stage division / prediction processing unit (100 + n) of the final stage includes the selection result (division result) of the size of each CU in the "n-1" stage division / prediction processing unit (100+ (n-1)). Based on the prediction mode of each CU in the "n-1" stage, the selection result of the size of the CU in the original image of the CTU in the nth stage and the prediction mode of each CU in the nth stage are selected.
- the nth stage segmentation / prediction processing unit (100 + n) in the final stage determines the selection result (division result) of the size of each CU in the nth stage, and the final size of each CU that divides the CTU to be encoded (100 + n). It is output to the original image segmentation unit 100 as a CTU division pattern). Further, the nth stage division / prediction processing unit (100 + n) in the final stage outputs the prediction mode (final prediction mode) of each CU in the nth stage to the prediction image generation unit 11 and the residual signal generation unit 12. do.
- the original image segmentation unit 100 acquires the selection result of the size of each CU (the division result in the nth stage, which is the final stage) from the nth stage segmentation / prediction processing unit (100 + n) in the final stage.
- the original image segmentation unit 100 divides the original image of the CTU into the original image of each CU based on the selection result of the size of each CU (the division pattern of the CTU).
- the original image segmentation unit 100 outputs the original image to the residual signal generation unit 12 for each CU. In this way, the CU division / prediction processing unit 10 outputs the combination of the original image and the prediction mode to the residual signal generation unit 12 for each CU.
- the prediction image generation unit 11 acquires a combination of the original image and the prediction mode as prediction result data from the CU division / prediction processing unit 10.
- the prediction image generation unit 11 generates a prediction image for each CU based on the prediction result data by referring to the reference image data.
- FIG. 4 is a diagram showing an example of the division result of the first stage (the selection result of the size of each CU in the first stage).
- the first-stage division / prediction processing unit 101 uses QT division, BT division, or TT division to select the optimum division pattern so that the RD cost value is minimized.
- the first-stage division / prediction processing unit 101 uses only QT division as an example, and selects the optimum division pattern so that the RD cost value is minimized.
- the CTU is QT-divided into 7 blocks from CU0 to CU6 (7 blocks from blocks 201 to 203 and blocks 205 to 208). Since only the QT division is used in the first stage, the CTU (block 200-0) shown in FIG. 4 is composed of only square blocks, similar to the CTU of HEVC.
- the CU division / prediction processing unit 10 outputs the selection result of the size of each CU in the first stage (division result in the first stage) to the second stage division / prediction processing unit 102.
- the division pattern is selected using only QT. Therefore, in the first stage, the optimum division pattern is determined only by the square CU (block). Therefore, the amount of calculation in the first stage of the first embodiment is significantly smaller than that of the original division pattern selection process in VVC.
- the second-stage division / prediction processing unit 102 either has no division, BT division, or TT division for each block generated as a selection result of the size of each CU in the first stage (division result in the first stage). Selected once. In FIG. 4, the second-stage division / prediction processing unit 102 selects once for each block from block 201 to block 203 and from block 205 to block 208, either no division, BT division, or TT division. ..
- FIG. 5 is a diagram showing an example of the second stage division processing.
- the coding order of the CU is the order from "CU0" to "CU6" shown in FIG. 4 (the order from block 201 to block 203, and the order from block 205 to block 208). This order does not change even if each CU is further divided.
- the second stage division / prediction processing unit 102 selects CUs in the order of "CU0" to "CU6".
- the second-stage division / prediction processing unit 102 selects either no division, BT division, or TT division once for the selected CU.
- the second-stage division / prediction processing unit 102 includes no division, vertical BT division (hereinafter referred to as “BTv division”), horizontal BT division (hereinafter referred to as “BTh division”), and vertical.
- BTv division vertical BT division
- BTh division horizontal BT division
- RD cost value is derived for each division pattern.
- the amount of calculation in the prediction process is proportional to the area of the block. Therefore, the amount of calculation in each stage after the second stage is five times the amount of calculation when one split putter is tried for the entire CTU, and is always a constant amount of calculation. Therefore, even when the CU division / prediction processing unit 10 realizes the hardware (circuit) having a fixed amount of calculation, the CU division / prediction processing unit 10 performs the size selection processing (CTU division processing). Can be executed. Further, the CU division / prediction processing unit 10 can reliably encode at a constant speed.
- the second-stage division / prediction processing unit 102 selects the division pattern that minimizes the RD cost value for "CU0" in the block 201.
- the second stage division / prediction processing unit 102 selects TTv division for “CU0” in block 201, as shown in block 200-1.
- TTv division "CU0" is vertically divided with a horizontal width ratio of "1: 2: 1".
- the second-stage division / prediction processing unit 102 sets the division pattern that minimizes the RD cost value under the condition (premise) that TTv division is selected for “CU0” in block 201, and sets the division pattern in block 202 to “CU1”. Select for. In FIG. 5, the second stage division / prediction processing unit 102 selects BTv division for “CU1” in block 202, as shown in block 200-2.
- the second stage division / prediction processing unit 102 is under the condition that the TTv division is selected for the “CU0” in the block 201 and the BTv division is selected for the “CU1” in the block 202.
- the division pattern that minimizes the RD cost value is selected for "CU2" in block 203.
- the second stage division / prediction processing unit 102 selects TTh division for “CU2” in block 203, as shown in block 200-3.
- TTh division "CU2" is divided horizontally with a vertical width ratio of "1: 2: 1".
- the second stage division / prediction processing unit 102 similarly performs the RD cost in the order of "CU3" in the block 205, "CU4" in the block 206, "CU5" in the block 207, and "CU6" in the block 208. Select the split pattern with the smallest value. That is, the second stage division / prediction processing unit 102 updates the selection result of the CU size in the original image of the CTU. The selection result of the size of each CU (division result in the second stage) is output to the third stage division / prediction processing unit (next stage).
- FIG. 6 is a diagram showing an example of the division result of the second stage.
- the block 200-1 is TTv-divided into CU0, CU1 and CU2.
- Block 200-2 is BTv divided into CU3 and CU4.
- Block 200-3 is divided into CU5, CU6, and CU7 by TTh.
- Block 200-4 is QT divided into CU8, CU9, CU10 and CU11.
- the nth (n> 2) stage division / prediction processing unit (100 + n) selects the division pattern that minimizes the RD cost value for each CU.
- FIG. 7 is a diagram showing an example of the third stage division processing.
- the coding order of the CU is the order from "CU0" to "CU11" shown in FIG. 6 (the order from block 201 to block 203, and the order from block 205 to block 208). This order does not change even if each CU is further divided in the fourth and subsequent paragraphs.
- the third stage division / prediction processing unit (100 + 3) selects CUs in the order of "CU0" to "CU11".
- the third-stage division / prediction processing unit (100 + 3) selects either no division, BT division, or TT division once for the selected CU.
- the division pattern having the minimum RD cost value is selected under the condition of the selection result (division result) of each size from "CU0" to "CU5".
- the third stage division / prediction processing unit (100 + 3) selects TTh division for “CU6” in block 202, as shown in blocks 200-14.
- the third-stage division / prediction processing unit (100 + 3) selects no division for “CU11” in block 204, as shown in blocks 200-19. In this way, the third-stage division / prediction processing unit (100 + 3) updates the selection result of the CU size in the original image of the CTU.
- FIG. 8 is a diagram showing an example of a division result using the QTTTBT method division pattern.
- the third stage segmentation / prediction processing unit (100 + 3) uses the selection result of the size of each CU shown in the blocks 200-19 (the division result in the third stage) as the source.
- the original image segmentation unit 100 divides the original image of the CTU into the original image of each CU based on the selection result of the size of each CU (the division result in the third stage).
- the CTU division pattern is not fixed all at once, but the division pattern is selected (temporarily fixed) in stages and updated, so the amount of calculation required to determine the division pattern is greatly reduced. NS.
- FIG. 9 is a diagram showing an example of the structure (flag information) of the divided tree.
- “CU0”, “CU1” and “CU2” shown in FIG. 8 can be expressed as “QT-TTv-division end”.
- “CU3”, “CU4” and “CU5” shown in FIG. 8 can be expressed as “QT-BTv-TH-division end”.
- “CU6” and “CU7” shown in FIG. 8 can be expressed as “QT-BTv-BTh-division end”.
- the “CU8” shown in FIG. 8 can be expressed as “QT-TTv-division end”.
- “CU9”, “CU10” and “CU11” shown in FIG. 8 can be expressed as “QT-TTv-TTv-division end”.
- “CU12” shown in FIG. 8 can be expressed as “QT-TTv-division end”.
- “CU13”, “CU14” and “CU15” shown in FIG. 8 can be expressed as “QT-
- One of the causes of deterioration of coding performance is that the CTU division becomes too fine in the first stage. Since only QT is used in the first stage to derive the optimum division pattern, QT division may be executed more times than the original number of QT divisions in VVC. This may make it difficult to select BT division and TT division in each stage after the second stage.
- a maximum value may be set for the number of CTU divisions in the first stage. For example, if the number of divisions is greater than 7 from "CU0" to "CU6" in the first stage, the maximum number of QT divisions is set to "2", so that the number of divisions is 3 in the first stage. QT division will not be executed more than once. This makes it possible to prevent the CU from becoming too fine in the first stage.
- the size of the CU is optimized only by the QT division for the CU in the CTU in the first stage, and no division, BT division or TT division is selected once for each CU in the second and subsequent stages.
- the size of the CU may be optimized by QT division or BT division, and in the second and subsequent stages, the TT division may be selected once for each CU.
- the size of the CU may be optimized by the QT division or the BT division in the first stage, and the BT division or the TT division may be selected once for each CU in the second and subsequent stages.
- the narrowing down of the prediction mode options will be described.
- 67 types of intra prediction modes from “0" to "66" can be selected.
- the concept of multiple reference line numbers (MRL) has been added as compared with HEVC.
- MRL the reference destination pixel used for the in-image prediction can be selected from the reference destination pixels in the three types of lines of the latest 0 line, 1 line ahead, or 3 line ahead.
- FIG. 10 is a diagram showing an example of the first stage intra prediction mode and MRL and the second stage intra prediction mode and MRL.
- the size of each CU and the optimum intra prediction mode and MRL number when the first stage is completed are illustrated.
- an intra prediction mode is selected for each CU from 67 types of intra prediction modes from “0” to “66” using a predetermined prediction process.
- a predetermined prediction process is used to select the reference pixel for the prediction in the image for each CU from the reference pixels in the three types of lines of the latest 0 line, 1 line ahead, or 3 line ahead. ..
- the optimum intra prediction mode is “2" and the optimum MRL is “1".
- the optimum intra prediction mode is "4" and the optimum MRL is "3”.
- each CU On the right side of FIG. 10, the size of each CU, the optimum intra prediction mode, and the MRL number when the second stage following the first stage is completed are illustrated.
- any division of no division, BTv division, BTh division, TTv division, and TTh division is selected for each CU.
- the prediction process at the time of selection only the best intra prediction mode in the first stage CU is tried. Also, only the best MRL number in the first stage CU is tried.
- the division having the lowest cost value in these five division patterns is selected as the CU division pattern in the second stage.
- the division pattern is added and confirmed in the processing in which the options of the prediction mode are narrowed down.
- the amount of calculation of the prediction process in the process in which the options of the prediction mode are narrowed down can be significantly reduced. Since the prediction mode options to be tried are narrowed down based on the best prediction mode of the CU in the previous stage, the deterioration of the coding performance is suppressed.
- the best division pattern may be determined by deriving the RD cost values of the patterns of the three prediction modes for each division pattern of the five division patterns and performing comparative evaluation.
- FIG. 11 is a flowchart showing an operation example of the coding device 1.
- the CU division / prediction processing unit 10 selects a temporary size from among the temporary sizes determined according to QT, TT, or BT, for example, based on the RD cost (step S101).
- the CU division / prediction processing unit 10 divides the CTU into CUs of the selected temporary size (step S102).
- the CU division / prediction processing unit 10 generates a CU of a fixed size by further dividing the CU of the selected temporary size (step S103).
- the prediction image generation unit 11 predicts the movement of the image for each CU of a fixed size (step S104).
- the CU division / prediction processing unit 10 encodes a CTU (first block) having a predetermined size in the original image into a CU (second block) which is a unit for coding.
- the block) group is divided into QT (quadtree), TT (ternary tree) or BT (binary tree).
- the CU division / prediction processing unit 10 includes a first sub-division unit (for example, a first stage division / prediction processing unit 101, a second stage division / prediction processing unit 102) and a second sub-division unit (for example, a second sub-division unit). , 2nd stage division / prediction processing unit 102, 3rd stage division / prediction processing unit).
- the first sub-division part is a block of a size (temporary size) selected from the sizes determined according to QT (quadtree), TT (ternary tree) or BT (binary tree), and CTU (first). Block) is divided.
- the second sub-division unit generates a CU (second block) by further dividing a block of the selected size (provisional size).
- the prediction image generation unit 11 predicts the movement of the image for each CU (second block).
- the CU division / prediction processing unit 10 generates a CU of a fixed size by further dividing the CU of the selected temporary size. This makes it possible to prevent the amount of calculation for selecting the size of each CU that divides the CTU from increasing more than necessary.
- the CU division / prediction processing unit 10 provisionally determines the CU division pattern step by step.
- the CU division / prediction processing unit 10 repeats the partial optimization processing in the provisional determination of the CU division pattern.
- the CU division / prediction processing unit 10 can reduce the amount of calculation for determining the division pattern of the CU.
- the prediction image generation unit 11 determines and confirms the CU division pattern in the coding apparatus 1 by executing diversion, omission, switching, or the like of each prediction processing data according to the determination result of the CU division pattern. It is possible to reduce the amount of calculation of the prediction processing associated with the above.
- each CU in the first stage is limited by the specified size instead of being limited by the division pattern (QT, BT, TT) in the first stage. 1 Different from the embodiment. In the second embodiment, the differences from the first embodiment will be mainly described.
- the size combination of each CU constituting the CTU in the first stage is a specified size combination having more types than the types of division patterns (QT, BT, TT).
- the types of the specified size are, for example, "8x8", “16x16", “16x32”, “32x16", “32x32", and "64x64”.
- the size of each CU after the second stage in the second embodiment is selected based on the division pattern like the size of each CU after the second stage in the first embodiment. That is, the size of each CU after the second stage in the second embodiment is selected once for each CU based on the size of no division, BT or TT. The size of each CU after the second stage in the second embodiment may be selected once for each CU without division or based on the size of the TT.
- the first-stage division / prediction processing unit 101 executes a recalculation process for expressing the CTU division pattern expressed using the specified size group using the division pattern.
- the prediction mode will be described.
- the prediction mode options are not narrowed down stepwise as in the first embodiment, but the prediction mode is refined stepwise.
- the first stage division / prediction processing unit 101 uses MRL of one of 0, 1, or 3 to execute the prediction processing with low accuracy, thereby initializing the CTU. Select the division pattern (initial size of each CU). Then, as the final stage is approached, the nth ( ⁇ 2) stage division / prediction processing unit increases the types of MRL to three types. Further, the nth ( ⁇ 2) stage division / prediction processing unit executes highly accurate prediction processing using three types of MRLs. As a result, the nth ( ⁇ 2) stage division / prediction processing unit can efficiently select the determined division pattern (determined size of each CU) with a small amount of calculation.
- the first stage division / prediction processing unit 101 executes the prediction processing using some of the 67 modes.
- the first-stage division / prediction processing unit 101 is assigned mode numbers of prediction modes (0, 1, 2, 10, 18, 26, 34, 42, 50, 58) in which directions are thinned out in eight directions. Prediction processing is executed using each of the predicted modes).
- the first-stage division / prediction processing unit 101 selects the prediction mode (best prediction mode) that minimizes the RD cost value.
- the second stage division / prediction processing unit 102 uses the prediction mode to which the mode number near the mode number assigned to the mode selected by the first stage division / prediction processing unit 101 is assigned. , Execute prediction processing.
- the second stage division / prediction processing unit 102 has a mode number (6) of “ ⁇ 4” centered on the mode number “10” assigned to the prediction mode selected by the first stage division / prediction processing unit 101. , 7, 8, 9, 10, 11, 12, 13, 14) are assigned to the prediction mode, and the prediction process is executed.
- the division pattern in the initial stage and the division pattern in the final stage are often completely different division patterns. Therefore, in the first stage with low accuracy, the first stage division / prediction processing unit 101 selects the initial division pattern of the CTU (initial size of each CU) by executing the prediction processing with low accuracy. Then, as the final stage is approached, the nth ( ⁇ 2) stage division / prediction processing unit increases the step size of the mode number and executes highly accurate prediction processing. As a result, the nth ( ⁇ 2) stage division / prediction processing unit can efficiently select the determined division pattern (determined size of each CU) with a small amount of calculation.
- the CU division / prediction processing unit 10 is a CU (first block) which is a block for encoding a predetermined first size CTU (first block) in the original image.
- a predetermined second size group for example, "8x8", "16x16", “16x32", “32x16", “32x32", and "64” Divide by 4 or more sizes selected from "x64").
- the CU division / prediction processing unit 10 includes a first sub-division unit (for example, a first stage division / prediction processing unit 101, a second stage division / prediction processing unit 102) and a second sub-division unit (for example, a second sub-division unit).
- the first sub-division portion divides the CTU (first block) into blocks of a size (temporary size) selected from the second size group.
- the second sub-division unit generates a CU (second block) by further dividing a block of the selected size (provisional size).
- the prediction image generation unit 11 predicts the movement for each CU (second block).
- the size of the CU in the first stage is limited to the size (specified size) that is more flexibly determined than the division pattern (QT, BT, TT). This makes it possible to more flexibly prevent the amount of calculation for selecting the size of each CU that divides the CTU from increasing more than necessary.
- the present invention is applicable to a device that encodes a moving image.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
符号化方法は、符号化装置が実行する符号化方法であって、原画像における予め定められたサイズの第1のブロックを、符号化の単位となるブロックである第2のブロック群に、四分木、三分木又は二分木で分割する分割ステップと、第2のブロックごとに動きを予測する予測ステップとを含み、分割ステップは、第1サブ分割ステップと第2サブ分割ステップとを有し、第1サブ分割ステップでは、四分木、三分木又は二分木に応じて定まるサイズのうちから選択されたサイズのブロックに、第1のブロックを分割し、第2サブ分割ステップでは、選択されたサイズのブロックをさらに分割することによって第2のブロックを生成する。
Description
本発明は、符号化方法、符号化装置及びプログラムに関する。
動画像符号化規格として、MPEG(Moving Picture Experts Group)-2、MPEG-4、MPEG-4/AVC(Advanced Video Coding)等の符号化規格が多く用いられている。また近年では、最新の動画像符号化規格であるHEVC(High Efficiency Video Coding)/H.265の普及が進んでいる。
そして現在、HEVCの次の動画像符号化規格として、VVC(Versatile Video Coding)/H.266が提案されている。VVCの符号化効率がHEVCの符号化効率の2倍に達することを目標に、VVCの提案がなされている。
HEVC及びVVC等の動画像符号化規格では、動画像のフレームが、CTU(Coding Tree Unit)と呼ばれる単位のブロックに分割される。HEVCでは、CTUの最大のサイズは「64×64」である。これに対して、VVCでは、CTUの最大のサイズは「128×128」である。また、フレームに定められたスライスにおける各CTUのサイズは一定である。
フレームにおける各CTUは、CU(Coding Unit)とよばれる符号化単位のブロックに再帰的に分割される。CUは、予測処理及び変換処理等の符号化処理の単位となる。HEVC及びVVCでは、CUごとに異なるサイズが選択可能である。CUのサイズの自由度が高められることによって、符号化効率の向上が図られている。
CTUに対して四分木分割が再帰的に繰り返されことによって、HEVCのCUが生成される。HEVCでは、CUのサイズは、「64×64」と、「32×32」と、「16×16」と、「8×8」とである。HEVCでは、これらのサイズのCUの組み合わせから、CTUが構成される。
これに対してVVCでは、「QTTTBT」というブロック分割方式が、CUの新たなブロック分割方式として提案されている(非特許文献1参照)。「QTTTBT」方式のアルゴリズムは、VVCの根幹を成すアルゴリズムである。
HEVCにおけるCUと同様に、VVCにおけるCUは、四分木(Quad Tree : QT)(以下「QT」という。)で分割可能である。VVCおけるCUは、水平又は垂直に2等分する二分木(Binary Tree : BT)(以下「BT」という。)で分割可能である。また、VVCおけるCUは、水平又は垂直に幅比「1:2:1」のように3等分する三分木(Ternary Tree : TT)(以下「TT」という。)で分割可能である。以下、四分木分割を「QT分割」という。水平方向又は垂直方向の三分木分割を「TT分割」という。水平方向又は垂直方向の二分木分割を「BT分割」という。
VVCでは、CTU(ブロック)に対してQT分割が再帰的に実行されることによって、各CUがCTUにおいて生成される。このようにして生成された各CUに対して、水平方向若しくは垂直方向に、BT分割又はTT分割が再帰的に実行される。
このようにVVCでは、「QTTTBT」方式によって、HEVC等と比較して柔軟にCUのサイズの選択が可能である。すなわち、正方形だけでなく、「32×4」及び「8×16」のような長方形の様々なサイズが、CU(ブロック)のサイズとして選択可能である。このようなCUごとに画像内予測(イントラ予測)が実行される。CUのサイズが原画像の特徴及び絵柄に応じて柔軟に選択されるので、VVCではHEVC等に比べて符号化効率の大幅な向上が期待できる。
Benjamin Bross, Jianle Chen, Shan Liu, Ye-Kui Wang, "Versatile Video Coding (Draft 7)", JVET-P2001-v9.
しかしながら、「QTTTBT」方式によるCUのサイズの組み合わせ(CTUの分割パターン)の個数は、HEVCにおけるCUのサイズの組み合わせの個数と比較して膨大である。このため、全ての分割パターンを符号化装置が評価及び比較し、評価の高い分割パターンを符号化装置が選択するためには、膨大な演算量が必要である。
そこで、CUのサイズの選択処理において、そのCUに隣接するCUの分割結果を利用して、CUの分割形状の選択肢を適応的に絞り込む方法が考えられる。しかしながら、このように選択肢が絞り込まれることによって演算量が削減される度合いがCUごとに異なるので、各CUから構成されるCTUごとの演算量が一定とならない。演算量が固定である回路を有する符号化装置が設計される場合、又は、一定の処理速度で符号化が確実に実行される必要がある場合には、CTUごとの演算量が一定とならないことは適切でない。
また、CUのサイズが選択される場合において、CUのサイズの候補ごとに、画像内予測(イントラ予測)と、RD(Rate Distortion)コスト値の導出と、RDコスト値の評価とが実行されることによって、CUの最良のサイズが選択される必要がある。しかしながら、画像内予測における予測モードの種類の増加と、画像における複数の予測参照先ライン番号(Multiple Reference Line : MRL)の採用とによって、VVCにおける各CUの予測処理の演算量は、HEVCにおける予測処理の演算量に比べて大きく増加している。CUのサイズの選択のための演算量の増加と、各CUの予測処理のための演算量増加とが組み合わされることによって、VVCにおける演算量がHEVCにおける演算量よりも大幅に増加し、VVCの符号化処理に大きな負担がかかっている。
これらのように、VVCではCTUを分割する各CUのサイズの選択処理の演算量が膨大であるという問題がある。
上記事情に鑑み、本発明は、CTUを分割する各CUのサイズを選択するための演算量が必要以上に増加しないようにすることが可能である符号化方法、符号化装置及びプログラムを提供することを目的としている。
本発明の一態様は、符号化装置が実行する符号化方法であって、原画像における予め定められたサイズの第1のブロックを、符号化の単位となるブロックである第2のブロック群に、四分木、三分木又は二分木で分割する分割ステップと、前記第2のブロックごとに動きを予測する予測ステップとを含み、前記分割ステップは、第1サブ分割ステップと第2サブ分割ステップとを有し、前記第1サブ分割ステップでは、前記四分木、前記三分木又は前記二分木に応じて定まるサイズのうちから選択されたサイズのブロックに、前記第1のブロックを分割し、前記第2サブ分割ステップでは、前記選択されたサイズのブロックをさらに分割することによって前記第2のブロックを生成する、符号化方法である。
本発明の一態様は、原画像における予め定められたサイズの第1のブロックを、符号化の単位となるブロックである第2のブロック群に、四分木、三分木又は二分木で分割する分割部と、前記第2のブロックごとに動きを予測する予測部とを備え、前記分割部は、第1サブ分割部と第2サブ分割部とを有し、前記第1サブ分割部は、前記四分木、前記三分木又は前記二分木に応じて定まるサイズのうちから選択されたサイズのブロックに、前記第1のブロックを分割し、前記第2サブ分割部は、前記選択されたサイズのブロックをさらに分割することによって前記第2のブロックを生成する、符号化装置である。
本発明の一態様は、上記の符号化方法を実行する符号化装置としてコンピュータを機能させるためのプログラムである。
本発明により、CTUを分割する各CUのサイズを選択するための演算量が必要以上に増加しないようにすることが可能である。
本発明の実施形態について、図面を参照して詳細に説明する。
(第1実施形態)
図1は、符号化装置1の構成例を示す図である。符号化装置1は、動画像を符号化する装置である。符号化装置1は、原画像用データ記憶部9と、CU分割・予測処理部10と、予測画像生成部11と、残差信号生成部12と、変換・量子化処理部13と、エントロピー符号化部14と、逆量子化・逆変換処理部15と、復号信号生成部16と、ループフィルタ処理部17と、参照画像用データ記憶部18とを備える。
(第1実施形態)
図1は、符号化装置1の構成例を示す図である。符号化装置1は、動画像を符号化する装置である。符号化装置1は、原画像用データ記憶部9と、CU分割・予測処理部10と、予測画像生成部11と、残差信号生成部12と、変換・量子化処理部13と、エントロピー符号化部14と、逆量子化・逆変換処理部15と、復号信号生成部16と、ループフィルタ処理部17と、参照画像用データ記憶部18とを備える。
図2は、符号化装置1のハードウェア構成例を示す図である。符号化装置1は、プロセッサ2と、記憶部3と、通信部4と、表示部5とを備える。
CU分割・予測処理部10と、予測画像生成部11と、残差信号生成部12と、変換・量子化処理部13と、エントロピー符号化部14と、逆量子化・逆変換処理部15と、復号信号生成部16と、ループフィルタ処理部17とのうちの一部又は全部は、CPU(Central Processing Unit)等のプロセッサ2が、不揮発性の記録媒体(非一時的な記録媒体)を有する記憶部3に記憶されたプログラムを実行することにより、ソフトウェアとして実現される。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置などの非一時的な記録媒体である。通信部4は、通信回線を経由してプログラムを受信してもよい。通信部4は、通信回線を経由して、符号化の結果を送信してもよい。表示部5は、例えば、液晶ディスプレイである。表示部5は、原画像等の動画像を表示する。
CU分割・予測処理部10と、予測画像生成部11と、残差信号生成部12と、変換・量子化処理部13と、エントロピー符号化部14と、逆量子化・逆変換処理部15と、復号信号生成部16と、ループフィルタ処理部17との一部又は全部は、例えば、LSI(Large Scale Integration circuit)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)又はFPGA(Field Programmable Gate Array)等を用いた電子回路(electronic circuit又はcircuitry)を含むハードウェアを用いて実現されてもよい。
符号化装置1は、符号化対象である動画像(原画像)の信号を、符号化処理の基本単位であるCTUごとに、外部装置(不図示)から取得する。VVCでは、符号化装置1は、最大「128×128」画素のサイズの原画像を、CTUの番号順に、外部装置(不図示)から取得する。符号化装置1は、外部装置(不図示)から指定されたパラメータに基づいて、動画像を符号化する。符号化装置1は、符号化データ(符号化ビットストリーム)を外部装置(不図示)に出力する。
以下では、CU分割・予測処理部10は、CTUごとに処理を実行する。以下では、予測画像生成部11と、残差信号生成部12と、変換・量子化処理部13と、エントロピー符号化部14と、逆量子化・逆変換処理部15と、復号信号生成部16と、ループフィルタ処理部17とは、CUごとに処理を実行する。
次に、符号化装置1の詳細を説明する。
原画像用データ記憶部9は、原画像となる動画像データを、外部装置(不図示)から取得し、記憶する。原画像となる動画像データは、符号化対象であるCTUの原画像を含む。CU分割・予測処理部10(分割部)は、符号化対象であるCTUの原画像を、原画像用データ記憶部9から取得する。CU分割・予測処理部10は、画像の動きの予測処理に用いられる参照画像用データ(復号信号)を、参照画像用データ記憶部18から取得する。
原画像用データ記憶部9は、原画像となる動画像データを、外部装置(不図示)から取得し、記憶する。原画像となる動画像データは、符号化対象であるCTUの原画像を含む。CU分割・予測処理部10(分割部)は、符号化対象であるCTUの原画像を、原画像用データ記憶部9から取得する。CU分割・予測処理部10は、画像の動きの予測処理に用いられる参照画像用データ(復号信号)を、参照画像用データ記憶部18から取得する。
CU分割・予測処理部10は、CUのサイズの選択と、各CUの予測モードの選択とを、符号化対象であるCTUの原画像に対して実行する。CU分割・予測処理部10は、CTUの原画像を1個以上のCUに分割する。ここで、CU分割・予測処理部10は、符号化対象であるCTUをCUに分割する処理を、「n(nは、2以上かつ段階数以下の整数)」段階に分けて実行する。すなわち、CU分割・予測処理部10は、CTUにおける各CUのサイズを候補から選択する処理を、n段階に分けて実行する。
また、CU分割・予測処理部10は、選択されたサイズのCUの画像内予測処理(予測モードの選択)を、CUごとに参照画像用データを用いて実行する。
これらのようにして、CU分割・予測処理部10は、例えば、CTUにおける座標(0,0)のCUのサイズ「16×8」と、そのCUにおける予測モード「DC」とを、それぞれ選択する。CU分割・予測処理部10は、CUのサイズとして選択されたサイズと、そのCUの予測モードとを、CUごとに予測画像生成部11に出力する。CU分割・予測処理部10は、選択されたサイズの各CUの原画像を、残差信号生成部12に出力する。
予測画像生成部11(予測部)は、CUのサイズとして選択されたサイズと、そのCUの予測モードとを、予測結果データとして、CUごとにCU分割・予測処理部10から取得する。予測画像生成部11は、画像の動きの予測処理に用いられる参照画像用データ(復号信号)を、参照画像用データ記憶部18から取得する。予測画像生成部11は、参照画像用データを参照することによって、予測結果データに基づいて予測画像を生成する。予測画像生成部11は、CUごとの予測画像を、残差信号生成部12及び復号信号生成部16に出力する。
残差信号生成部12は、選択されたサイズの各CUの原画像を、CU分割・予測処理部10から取得する。残差信号生成部12は、各CUの予測画像を予測画像生成部11から取得する。残差信号生成部12は、原画像と予測画像との間の差分を、CUごとに導出する。残差信号生成部12は、CUの予測残差信号として導出された差分を、変換・量子化処理部13に出力する。
変換・量子化処理部13は、予測残差信号に対して、離散コサイン変換等の直交変換を実行する。変換・量子化処理部13は、直交変換結果である変換係数を量子化する。変換・量子化処理部13は、量子化された変換係数を、エントロピー符号化部14及び逆量子化・逆変換処理部15に出力する。
エントロピー符号化部14は、量子化された変換係数を、変換・量子化処理部13から取得する。エントロピー符号化部14は、量子化された変換係数に対して、エントロピー符号化を実行する。エントロピー符号化部14は、エントロピー符号化の実行結果を、符号化ストリームとして外部装置(不図示)に出力する。
逆量子化・逆変換処理部15は、量子化された変換係数を、変換・量子化処理部13から取得する。逆量子化・逆変換処理部15は、量子化された変換係数に対して、逆量子化と逆直交変換とを実行する。逆量子化・逆変換処理部15は、逆量子化と逆直交変換との実行結果を、予測残差の復号信号として、復号信号生成部16に出力する。
復号信号生成部16は、予測残差の復号信号を、逆量子化・逆変換処理部15から取得する。復号信号生成部16は、CUごとの予測信号を、予測画像生成部11から取得する。復号信号生成部16は、予測残差の復号信号と予測信号とを加算することによって、符号化対象であるCUの復号信号を生成する。復号信号生成部16は、符号化対象であるCUの復号信号を、ループフィルタ処理部17に出力する。復号信号生成部16は、符号化対象であるCUの復号信号を、参照画像用データ記憶部18に記録する。
ループフィルタ処理部17は、符号化対象のCUの復号信号を、復号信号生成部16から取得する。ループフィルタ処理部17は、符号化対象であるCUの復号信号に対して、符号化歪みを低減させるためのフィルタリング処理(ループフィルタ処理)を実行する。ループフィルタ処理部17は、フィルタリング処理後の画像を、参照画像データとして、参照画像用データ記憶部18に記録する。
参照画像用データ記憶部18は、符号化対象であるCUの復号信号を記憶する。参照画像用データ記憶部18は、フィルタリング処理後の画像を、参照画像データとして記憶する。
次に、CU分割・予測処理部10の概要を説明する。
図3は、CU分割・予測処理部10の構成例を示す図である。CU分割・予測処理部10は、符号化対象であるCTUの原画像を、原画像用データ記憶部9から取得する。CU分割・予測処理部10は、画像の動きの予測処理に用いられる参照画像用データ(復号信号)を、参照画像用データ記憶部18から取得する。CU分割・予測処理部10は、第1段階から第n段階までの各段階において、分割処理と予測処理とを実行する。
図3は、CU分割・予測処理部10の構成例を示す図である。CU分割・予測処理部10は、符号化対象であるCTUの原画像を、原画像用データ記憶部9から取得する。CU分割・予測処理部10は、画像の動きの予測処理に用いられる参照画像用データ(復号信号)を、参照画像用データ記憶部18から取得する。CU分割・予測処理部10は、第1段階から第n段階までの各段階において、分割処理と予測処理とを実行する。
CU分割・予測処理部10は、原画像分割部100と、n個の段階分割・予測処理部とを備える。すなわち、CU分割・予測処理部10は、原画像分割部100と、第1段階分割・予測処理部101から第n段階分割・予測処理部(100+n)までとを備える。
第1段階分割・予測処理部101(第2段階分割・予測処理部102にとっての第1サブ分割部)は、符号化対象であるCTUの原画像を、原画像用データ記憶部9から取得する。第1段階分割・予測処理部101は、画像の動きの予測処理に用いられる参照画像用データ(復号信号)を、参照画像用データ記憶部18から取得する。
第1段階分割・予測処理部101は、参照画像用データに基づいて、CTUの原画像におけるCUのサイズの選択結果(CTUの分割結果)と、各CUの予測モードとを選択する。第1段階分割・予測処理部101は、第1段階における各CUのサイズの選択結果(第1段階における分割結果)と、第1段階における各CUの予測モードとを、第2段階分割・予測処理部102(第1段階分割・予測処理部101の次段階)に出力する。
第2段階分割・予測処理部102(第1段階分割・予測処理部101にとっての第2サブ分割部)(第3段階分割・予測処理部にとっての第1サブ分割部)は、符号化対象であるCTUの原画像を、原画像用データ記憶部9から取得する。第2段階分割・予測処理部102は、画像の動きの予測処理に用いられる参照画像用データ(復号信号)を、参照画像用データ記憶部18から取得する。第2段階分割・予測処理部102は、第1段階における各CUのサイズの選択結果(第1段階における分割結果)と、第1段階における各CUの予測モードとを、第1段階分割・予測処理部101から取得する。
第2段階分割・予測処理部102は、第1段階分割・予測処理部101(前段階)における各CUのサイズの選択結果(第1段階における分割結果)と、第1段階における各CUの予測モードとに基づいて、CTUの原画像におけるCUのサイズの選択結果と、各CUの予測モードとを選択する。すなわち、第2段階分割・予測処理部102は、前段階における各CUのサイズの選択結果を前提として、CTUの原画像におけるCUのサイズの選択結果と、各CUの予測モードとを更新する。第2段階分割・予測処理部102は、各CUのサイズの選択結果(第2段階における分割結果)と、第2段階における各CUの予測モードとを、第3段階分割・予測処理部(次段階)に出力する。
このように、第n(n≧2)段階分割・予測処理部(100+n)は、第(n-1)段階における各CUのサイズの選択結果(分割結果)の更新結果と、各CUの予測モードの更新結果とを、第「n+1」段階の分割・予測処理部(100+(n+1))に出力する。
最終段階の第n段階分割・予測処理部(100+n)(前段階の段階分割・予測処理部にとっての第2サブ分割部)は、各CUのサイズの選択結果(第「n―1」段階における分割結果)と、第「n―1」段階における各CUの予測モードとを、第「n-1」段階分割・予測処理部(100+(n-1))から取得する。
最終段階の第n段階分割・予測処理部(100+n)は、第「n-1」段階分割・予測処理部(100+(n-1))における各CUのサイズの選択結果(分割結果)と、第「n-1」段階における各CUの予測モードとに基づいて、第n段階におけるCTUの原画像におけるCUのサイズの選択結果と、第n段階における各CUの予測モードとを選択する。
最終段階の第n段階分割・予測処理部(100+n)は、第n段階における各CUのサイズの選択結果(分割結果)を、符号化対象であるCTUを分割する各CUの最終的なサイズ(CTUの分割パターン)として、原画像分割部100に出力する。また、最終段階の第n段階分割・予測処理部(100+n)は、第n段階における各CUの予測モード(最終的な予測モード)を、予測画像生成部11及び残差信号生成部12に出力する。
原画像分割部100は、各CUのサイズの選択結果(最終段階である第n段階における分割結果)を、最終段階の第n段階分割・予測処理部(100+n)から取得する。原画像分割部100は、各CUのサイズの選択結果(CTUの分割パターン)に基づいて、CTUの原画像を各CUの原画像に分割する。原画像分割部100は、原画像をCUごとに残差信号生成部12に出力する。このようにして、CU分割・予測処理部10は、原画像と予測モードとの組み合わせを、CUごとに残差信号生成部12に出力する。
予測画像生成部11は、原画像と予測モードとの組み合わせを、予測結果データとして、CU分割・予測処理部10から取得する。予測画像生成部11は、参照画像用データを参照することによって、予測結果データに基づいてCUごとに予測画像を生成する。
次に、CU分割・予測処理部10の詳細を説明する。
図4は、第1段階の分割結果(第1段階における各CUのサイズの選択結果)の例を示す図である。第1段階分割・予測処理部101は、QT分割、BT分割又はTT分割を用いて、RDコスト値が最小となるように、最適な分割パターンを選択する。以下では、第1段階分割・予測処理部101は、一例としてQT分割のみを用いて、RDコスト値が最小となるように、最適な分割パターンを選択する。
図4は、第1段階の分割結果(第1段階における各CUのサイズの選択結果)の例を示す図である。第1段階分割・予測処理部101は、QT分割、BT分割又はTT分割を用いて、RDコスト値が最小となるように、最適な分割パターンを選択する。以下では、第1段階分割・予測処理部101は、一例としてQT分割のみを用いて、RDコスト値が最小となるように、最適な分割パターンを選択する。
図4では、CTUは、CU0からCU6まで7個のブロック(ブロック201からブロック203までと、ブロック205からブロック208までとの7個のブロック)にQT分割される。第1段階ではQT分割のみが用いられているので、図4に示されたCTU(ブロック200-0)は、HEVCのCTUと同様に、正方形のブロックのみから構成される。CU分割・予測処理部10は、第1段階における各CUのサイズの選択結果(第1段階における分割結果)を、第2段階分割・予測処理部102に出力する。
第1段階では、HEVCと同様に、QTのみを用いて分割パターンが選択される。このため、第1段階では、正方形のCU(ブロック)のみで最適な分割パターンが確定される。したがって、VVCにおける本来の分割パターンの選択処理と比較して、第1実施形態の第1段階における演算量は大幅に少ない。
第2段階以降の各段階では、前段階までに生成されたCUごとに、分割なし、BT分割又はTT分割のいずれかが1回選択される。これによって、ブロック分割の組み合わせパターンの個数が削減されるので、演算量(処理量)が固定化される。
第2段階分割・予測処理部102は、第1段階における各CUのサイズの選択結果(第1段階における分割結果)として生成されたブロックごとに、分割なし、BT分割又はTT分割のいずれかが1回選択される。図4では、第2段階分割・予測処理部102は、ブロック201からブロック203までとブロック205からブロック208までとのブロックごとに、分割なし、BT分割又はTT分割のいずれかを1回選択する。
図5は、第2段階の分割処理の例を示す図である。CUの符号化の順序は、図4に示された「CU0」から「CU6」までの順(ブロック201からブロック203までの順と、さらにブロック205からブロック208までとの順)である。この順は、各CUがさらに分割された場合でも変わらない。第2段階分割・予測処理部102は、「CU0」から「CU6」までの順にCUを選択する。第2段階分割・予測処理部102は、選択されたCUに対して、分割なし、BT分割又はTT分割のいずれかを1回選択する。
例えば、第2段階分割・予測処理部102は、分割なしと、垂直方向のBT分割(以下「BTv分割」という。)と、水平方向のBT分割(以下「BTh分割」という。)と、垂直方向のTT分割(以下「TTv分割」という。)と、水平方向のTT分割(以下「TTh分割」という。)との5個の分割パターンについて、分割パターンごとに、RDコスト値を導出する。
予測処理における演算量は、ブロックの面積に比例する。このため、第2段階以降の各段階における演算量は、CTU全体に対して1個の分割パターが試行される場合における演算量の5倍であり、常に一定の演算量となる。したがって、演算量が固定であるハードウェア(回路)をCU分割・予測処理部10が用いて実現された場合でも、CU分割・予測処理部10は、サイズの選択処理(CTUの分割処理)を実行することができる。また、CU分割・予測処理部10は、一定の速度で確実に符号化することができる。
第2段階分割・予測処理部102は、RDコスト値が最小となる分割パターンを、ブロック201における「CU0」に対して選択する。図5では、第2段階分割・予測処理部102は、ブロック200-1に示されているように、ブロック201における「CU0」に対してTTv分割を選択する。TTv分割によって、「CU0」は水平幅比「1:2:1」で垂直方向に分割される。
第2段階分割・予測処理部102は、ブロック201における「CU0」に対してTTv分割が選択されたという条件下(前提)で、RDコスト値が最小となる分割パターンを、ブロック202における「CU1」に対して選択する。図5では、第2段階分割・予測処理部102は、ブロック200-2に示されているように、ブロック202における「CU1」に対してBTv分割を選択する。
第2段階分割・予測処理部102は、ブロック201における「CU0」に対してTTv分割が選択されており、且つ、ブロック202における「CU1」に対してBTv分割が選択されたという条件下で、RDコスト値が最小となる分割パターンを、ブロック203における「CU2」に対して選択する。図5では、第2段階分割・予測処理部102は、ブロック200-3に示されているように、ブロック203における「CU2」に対してTTh分割を選択する。TTh分割によって、「CU2」は垂直幅比「1:2:1」で水平方向に分割される。
第2段階分割・予測処理部102は、ブロック205における「CU3」と、ブロック206における「CU4」と、ブロック207における「CU5」と、ブロック208における「CU6」との順に、同様に、RDコスト値が最小となる分割パターンを選択する。すなわち、第2段階分割・予測処理部102は、CTUの原画像におけるCUのサイズの選択結果を更新する。各CUのサイズの選択結果(第2段階における分割結果)を、第3段階分割・予測処理部(次段階)に出力する。
図6は、第2段階の分割結果の例を示す図である。CTUの第2段階の分割結果を表すブロック200-7において、ブロック200-1は、CU0とCU1とCU2とに、TTv分割されている。ブロック200-2は、CU3とCU4とに、BTv分割されている。ブロック200-3は、CU5とCU6とCU7とに、TTh分割されている。ブロック200-4は、CU8とCU9とCU10とCU11とに、QT分割されている。このようにして、第n(n>2)段階分割・予測処理部(100+n)は、RDコスト値が最小となる分割パターンを、CUごとに選択する。
図7は、第3段階の分割処理の例を示す図である。CUの符号化の順序は、図6に示された「CU0」から「CU11」までの順(ブロック201からブロック203までの順と、さらにブロック205からブロック208までとの順)である。この順は、第4段階以降の段落において各CUがさらに分割された場合でも変わらない。第3段階分割・予測処理部(100+3)は、「CU0」から「CU11」までの順にCUを選択する。第3段階分割・予測処理部(100+3)は、選択されたCUに対して、分割なし、BT分割又はTT分割のいずれかを1回選択する。
図6に示された例えば「CU6」に対して、「CU0」から「CU5」までの各サイズの選択結果(分割結果)の条件下で、RDコスト値が最小となる分割パターンを選択する。図6では、第3段階分割・予測処理部(100+3)は、ブロック200-14に示されているように、ブロック202における「CU6」に対してTTh分割を選択する。図6では、第3段階分割・予測処理部(100+3)は、ブロック200-19に示されているように、ブロック204における「CU11」に対して、分割なしを選択する。このようにして、第3段階分割・予測処理部(100+3)は、CTUの原画像におけるCUのサイズの選択結果を更新する。
図8は、QTTTBT方式の分割パターンを用いる分割結果の例を示す図である。最終段階が例えば第3段階である場合、第3段階分割・予測処理部(100+3)は、ブロック200-19に示された各CUのサイズの選択結果(第3段階における分割結果)を、原画像分割部100に出力する。原画像分割部100は、各CUのサイズの選択結果(第3段階における分割結果)に基づいて、CTUの原画像を各CUの原画像に分割する。
このように、CTUの分割パターンが一度に確定されるのではなく、分割パターンが段階的に選択(仮確定)されて更新されるので、分割パターンの確定に必要な演算量が大幅に削減される。
図9は、分割木の構造(フラグ情報)の例を示す図である。図8に示された「CU0」と「CU1」と「CU2」とは、「QT-TTv-分割終了」と表現可能である。図8に示された「CU3」と「CU4」と「CU5」とは、「QT-BTv-TTh-分割終了」と表現可能である。図8に示された「CU6」と「CU7」とは、「QT-BTv-BTh-分割終了」と表現可能である。図8に示された「CU8」とは、「QT-TTv-分割終了」と表現可能である。図8に示された「CU9」と「CU10」と「CU11」とは、「QT-TTv-TTv-分割終了」と表現可能である。図8に示された「CU12」は、「QT-TTv-分割終了」と表現可能である。図8に示された「CU13」と「CU14」と「CU15」とは、「QT-QT-分割終了」と表現可能である。
以上の処理では、演算量の大幅な削減が可能である。しかしながら、以上の処理では、CTUにおける部分的な最適化が繰り返されているので、分割パターンを一度に確定させてCTUにおける大局的な最適化が実行される場合と比較して、分割パターンの変化とその変化に応じた符号化性能の多少の劣化とが生じる場合がある。
符号化性能の劣化の原因の一つとして、第1段階においてCTUの分割が細かくなり過ぎるという点が考えられる。第1段階においてQTのみが用いられて最適な分割パターンが導出されるので、VVCにおける本来のQT分割の回数よりも多くの回数でQT分割が実行される可能性がある。これによって、第2段階以降の各段階において、BT分割及びTT分割が選択されにくくなる場合がある。
この影響を抑制するために、第1段階でのCTUの分割の回数について、最大値が設定されてもよい。例えば、第1段階において「CU0」から「CU6」までの7個よりも多い分割数になった場合、QT分割の回数の最大値が「2」と設定されることによって、第1段階において3回以上のQT分割が実行されないようになる。これによって、第1段階でCUが細かくなり過ぎてしまうことを抑制することが可能である。
以上の処理では、第1段階においてCTUにおけるCUに対するQT分割のみでCUのサイズが最適化されて、第2段階以降の段階では、分割なし、BT分割又はTT分割が、CUごとに1回選択されている。これに対して、第1段階においてQT分割又はBT分割でCUのサイズが最適化されて、第2段階以降の段階では、TT分割がCUごとに1回選択されてもよい。また、第1段階においてQT分割又はBT分割でCUのサイズが最適化されて、第2段階以降の段階では、BT分割又はTT分割がCUごとに1回選択されてもよい。
次に、予測モードの選択肢の絞り込みについて説明する。
VVCの画像内予測では、「0」から「66」までの67種類のイントラ予測モードが選択可能である。また、VVCの画像内予測では、複数の予測参照先ライン番号(Multiple Reference Line : MRL)という概念が、HEVCと比較して追加された。MRLでは、直近0ライン、1ライン先又は3ライン先の3種類のラインにおける参照先画素のうちから、画像内予測に用いられる参照先画素が選択可能である。
VVCの画像内予測では、「0」から「66」までの67種類のイントラ予測モードが選択可能である。また、VVCの画像内予測では、複数の予測参照先ライン番号(Multiple Reference Line : MRL)という概念が、HEVCと比較して追加された。MRLでは、直近0ライン、1ライン先又は3ライン先の3種類のラインにおける参照先画素のうちから、画像内予測に用いられる参照先画素が選択可能である。
図10は、第1段階のイントラ予測モード及びMRLと、第2段階のイントラ予測モード及びMRLとの例を示す図である。図10の左側には、第1段階が終了した場合における、各CUのサイズと、最適なイントラ予測モード及びMRL番号とが例示されている。第1段階では所定の予測処理を用いて、「0」から「66」までの67種類のイントラ予測モードのうちから、イントラ予測モードがCUごとに選択される。第1段階では所定の予測処理を用いて、直近0ライン、1ライン先又は3ライン先の3種類のラインにおける参照先画素のうちから、画像内予測の参照先画素がCUごとに選択される。
ブロック301-1における「CU0」では、最適なイントラ予測モードが「2」であり、最適なMRLが「1」である。ブロック304-1における「CU6」では、最適なイントラ予測モードが「4」であり、最適なMRLが「3」である。
図10の右側には、第1段階に続く第2段階が終了した場合における、各CUのサイズと、最適なイントラ予測モード及びMRL番号とが例示されている。第1段階では、分割なしと、BTv分割と、BTh分割と、TTv分割と、TTh分割とのうちのいずれかの分割が、CUごとに選択される。その選択の際の予測処理では、第1段階のCUにおける最良のイントラ予測モードのみが試行される。また、第1段階のCUにおける最良のMRL番号のみが試行される。
例えば、第2段階におけるブロック301-2(第1段階におけるブロック301-1の「CU0」)の分割の選択の際には、「イントラ予測モード=2、MRL=1」におけるRDコスト値が、分割なしと、BTv分割と、BTh分割と、TTv分割と、TTh分割との分割パターンごとに導出される。これら5個の分割パターンにおける最小のコスト値となる分割が、第2段階におけるCUの分割パターンとして選択される。
例えば、第2段階におけるブロック304-2(第1段階におけるブロック304-1の「CU6」)の分割の選択の際には、「イントラ予測モード=4、MRL=3」におけるRDコスト値が、分割なしと、BTv分割と、BTh分割と、TTv分割と、TTh分割との分割パターンごとに導出される。これら5個の最小のコスト値となる分割が、第2段階におけるCUの分割パターンとして選択される。
以上の処理では、予測モードの選択肢が絞り込まれる処理において、分割パターンが追加されて確定される。また、予測モードの選択肢が絞り込まれる処理における予測処理の演算量は、大幅に削減可能である。試行される予測モードの選択肢が前段階におけるCUの最良の予測モードに基づいて絞り込まれるので、符号化性能の劣化が抑えられる。
以上の処理では、前段階におけるCUの最良の予測モード及びMRLのみが次段階において試行されているが、前段階におけるRDコスト値が小さい複数の予測モード及びMRL(上位の複数の予測モード及びMRL)が、次段階において試行されてもよい。例えば、第1段階における「CU0」の予測処理の結果、RDコスト値が小さい順に、「イントラ予測モード=2、MRL=1」と、「イントラ予測モード=5、MRL=0」と、「イントラ予測モード=4、MRL=0」と、「イントラ予測モード=5、MRL=3」となっていた場合、第2段階では、RDコスト値が小さい順に、「イントラ予測モード=2、MRL=1」と、「イントラ予測モード=5、MRL=0」と、「イントラ予測モード=4、MRL=0」のように、上位の3組の予測モード及びMRLが試行されてもよい。このように、3個の予測モードのパターンのRDコスト値が、5個の分割パターンのそれぞれの分割パターンについて導出され、比較評価されることで、最良の分割パターンが確定されてもよい。
次に、符号化装置1の動作例を説明する。
図11は、符号化装置1の動作例を示すフローチャートである。CU分割・予測処理部10は、QT、TT又はBTに応じて定まる仮サイズのうちから、例えばRDコストに基づいて仮サイズを選択する(ステップS101)。CU分割・予測処理部10は、選択された仮サイズのCUに、CTUを分割する(ステップS102)。CU分割・予測処理部10は、選択された仮サイズのCUをさらに分割することによって、確定されたサイズのCUを生成する(ステップS103)。
予測画像生成部11は、確定されたサイズのCUごとに画像の動きを予測する(ステップS104)。
図11は、符号化装置1の動作例を示すフローチャートである。CU分割・予測処理部10は、QT、TT又はBTに応じて定まる仮サイズのうちから、例えばRDコストに基づいて仮サイズを選択する(ステップS101)。CU分割・予測処理部10は、選択された仮サイズのCUに、CTUを分割する(ステップS102)。CU分割・予測処理部10は、選択された仮サイズのCUをさらに分割することによって、確定されたサイズのCUを生成する(ステップS103)。
予測画像生成部11は、確定されたサイズのCUごとに画像の動きを予測する(ステップS104)。
以上のように、CU分割・予測処理部10(分割部)は、原画像における予め定められたサイズのCTU(第1のブロック)を、符号化の単位となるブロックであるCU(第2のブロック)群に、QT(四分木)、TT(三分木)又はBT(二分木)で分割する。CU分割・予測処理部10(分割部)は、第1サブ分割部(例えば、第1段階分割・予測処理部101、第2段階分割・予測処理部102)と、第2サブ分割部(例えば、第2段階分割・予測処理部102、第3段階分割・予測処理部)とを有する。第1サブ分割部は、QT(四分木)、TT(三分木)又はBT(二分木)に応じて定まるサイズのうちから選択されたサイズ(仮サイズ)のブロックに、CTU(第1のブロック)を分割する。第2サブ分割部は、選択されたサイズ(仮サイズ)のブロックをさらに分割することによって、CU(第2のブロック)を生成する。予測画像生成部11(予測部)は、CU(第2のブロック)ごとに画像の動きを予測する。
このように、CU分割・予測処理部10は、選択された仮サイズのCUをさらに分割することによって、確定されたサイズのCUを生成する。これによって、CTUを分割する各CUのサイズを選択するための演算量が必要以上に増加しないようにすることが可能である。
すなわち、CU分割・予測処理部10は、CUの分割パターンを段階的に仮確定させる。CU分割・予測処理部10は、CUの分割パターンの仮確定において、部分的な最適化処理を繰り返す。これによって、CU分割・予測処理部10は、、CUの分割パターンを確定させるための演算量を削減することが可能である。予測画像生成部11は、CUの分割パターンの確定結果に応じて、各予測処理データの流用、省略又は切替等を実行することによって、符号化装置1におけるCUの分割パターンの確定処理と確定処理に伴う予測処理の演算量とを削減することが可能である。
(第2実施形態)
第2実施形態では、第1段階における各CUのサイズが分割パターン(QT、BT、TT)で制限される代わりに、第1段階における各CUのサイズが規定サイズで制限される点が、第1実施形態と相違する。第2実施形態では、第1実施形態との相違点を主に説明する。
第2実施形態では、第1段階における各CUのサイズが分割パターン(QT、BT、TT)で制限される代わりに、第1段階における各CUのサイズが規定サイズで制限される点が、第1実施形態と相違する。第2実施形態では、第1実施形態との相違点を主に説明する。
ブロックの分割について説明する。
第2実施形態では、第1段階においてCTUを構成する各CUのサイズの組み合わせは、分割パターン(QT、BT、TT)の種類よりも多くの種類を有する規定サイズの組み合わせである。規定サイズの種類は、例えば「8×8」と「16×16」と「16×32」と「32×16」と「32×32」と「64×64」とのように、第1実施形態における分割パターン(QT、BT、TT)の種類よりも多い6種類である。
第2実施形態では、第1段階においてCTUを構成する各CUのサイズの組み合わせは、分割パターン(QT、BT、TT)の種類よりも多くの種類を有する規定サイズの組み合わせである。規定サイズの種類は、例えば「8×8」と「16×16」と「16×32」と「32×16」と「32×32」と「64×64」とのように、第1実施形態における分割パターン(QT、BT、TT)の種類よりも多い6種類である。
第2実施形態における第2段階以降の各CUのサイズは、第1実施形態における第2段階以降の各CUのサイズと同様に、分割パターンに基づいて選択される。すなわち、第2実施形態における第2段階以降の各CUのサイズは、分割なし、BT又はTTのサイズに基づいて、CUごとに1回選択される。第2実施形態における第2段階以降の各CUのサイズは、分割なし又はTTのサイズに基づいて、CUごとに1回選択されてもよい。
分割パターンを用いて符号化データが表現される必要がある。このため、第1段階分割・予測処理部101は、規定サイズ群を用いて表現されているCTUの分割パターンを分割パターンを用いて表現するための再計算処理を実行する。
次に、予測モードについて説明する。
第2実施形態では、第1実施形態のように予測モードの選択肢が段階的に絞り込まれるのではなく、予測モードが段階的に詳細化される。
第2実施形態では、第1実施形態のように予測モードの選択肢が段階的に絞り込まれるのではなく、予測モードが段階的に詳細化される。
1.MRLの値(番号)について
仮に、第1段階において、第1段階分割・予測処理部101は、「MRL=0」のみを用いて、予測処理を実行したとする。第「n-1」(段階数>n≧3)段階において、第「n-1」段階分割・予測処理部は、「MRL=0又は1」を用いて、予測処理を実行したとする。最終段階の第n段階において、第n段階分割・予測処理部(100+n)は、「MRL=0、1又は3」を用いて、予測処理を実行したとする。
仮に、第1段階において、第1段階分割・予測処理部101は、「MRL=0」のみを用いて、予測処理を実行したとする。第「n-1」(段階数>n≧3)段階において、第「n-1」段階分割・予測処理部は、「MRL=0又は1」を用いて、予測処理を実行したとする。最終段階の第n段階において、第n段階分割・予測処理部(100+n)は、「MRL=0、1又は3」を用いて、予測処理を実行したとする。
ここで、第1段階から所定範囲内の段階(以下「初期段階」という。)における分割パターンと、最終段階における分割パターンとは、全く異なる分割パターンである場合が多い。このため初期段階において、第「n-1」(段階数>>n)段階分割・予測処理部は、「MRL=0、1又は3」を用いて、精度の低い予測処理を余分に実行することになる。
そこで、精度の低い第1段階において、第1段階分割・予測処理部101は、0、1又は3のうちの一つのMRLを用いて、精度の低い予測処理を実行することによって、CTUの初期の分割パターン(各CUの初期のサイズ)を選択する。そして最終段階に近づくほど、第n(≧2)段階分割・予測処理部は、MRLの種類を3種類まで増やす。さらに、第n(≧2)段階分割・予測処理部は、3種類のMRLを用いて、精度の高い予測処理を実行する。これらによって、第n(≧2)段階分割・予測処理部は、確定された分割パターン(各CUの確定されたサイズ)を、少ない演算量で効率的に選択することが可能である。
2.予測モードの値(番号)について
第1段階において、第1段階分割・予測処理部101は、67モードのうちの一部のモードを用いて、予測処理を実行する。例えば、第1段階分割・予測処理部101は、8方向ずつ方向性が間引かれた予測モード(0、1、2、10、18、26、34、42、50、58のモード番号が割り当てられた各予測モード)を用いて、予測処理を実行する。第1段階分割・予測処理部101は、RDコスト値が最小となる予測モード(最良の予測モード)を選択する。
第1段階において、第1段階分割・予測処理部101は、67モードのうちの一部のモードを用いて、予測処理を実行する。例えば、第1段階分割・予測処理部101は、8方向ずつ方向性が間引かれた予測モード(0、1、2、10、18、26、34、42、50、58のモード番号が割り当てられた各予測モード)を用いて、予測処理を実行する。第1段階分割・予測処理部101は、RDコスト値が最小となる予測モード(最良の予測モード)を選択する。
第2段階において、第2段階分割・予測処理部102は、第1段階分割・予測処理部101によって選択されたモードに割り当てられたモード番号の付近のモード番号が割り当てられた予測モードを用いて、予測処理を実行する。例えば、第2段階分割・予測処理部102は、第1段階分割・予測処理部101によって選択された予測モードに割り当てられたモード番号「10」を中心とする「±4」のモード番号(6、7、8、9、10、11、12、13、14)が割り当てられた予測モードを用いて、予測処理を実行する。
ここで、初期段階における分割パターンと最終段階における分割パターンとは、全く異なる分割パターンである場合が多い。そこで、精度の低い第1段階において、第1段階分割・予測処理部101は、精度の低い予測処理を実行することによって、CTUの初期の分割パターン(各CUの初期のサイズ)を選択する。そして最終段階に近づくほど、第n(≧2)段階分割・予測処理部は、モード番号の刻み幅を増やして、精度の高い予測処理を実行する。これらによって、第n(≧2)段階分割・予測処理部は、確定された分割パターン(各CUの確定されたサイズ)を、少ない演算量で効率的に選択することが可能である。
以上のように、CU分割・予測処理部10(分割部)は、原画像における予め定められた第1サイズのCTU(第1のブロック)を、符号化の単位となるブロックであるCU(第2のブロック)群に、予め定められた第2サイズ群(例えば、「8×8」と「16×16」と「16×32」と「32×16」と「32×32」と「64×64」のうちから選択された4種類以上のサイズ)で分割する。CU分割・予測処理部10(分割部)は、第1サブ分割部(例えば、第1段階分割・予測処理部101、第2段階分割・予測処理部102)と、第2サブ分割部(例えば、第2段階分割・予測処理部102、第3段階分割・予測処理部)とを有する。第1サブ分割部は、第2サイズ群のうちから選択されたサイズ(仮サイズ)のブロックに、CTU(第1のブロック)を分割する。第2サブ分割部は、選択されたサイズ(仮サイズ)のブロックをさらに分割することによって、CU(第2のブロック)を生成する。予測画像生成部11(予測部)は、CU(第2のブロック)ごとに動きを予測する。
このように、第1段階におけるCUのサイズが、分割パターン(QT、BT、TT)よりも柔軟に定められたサイズ(規定サイズ)に制限されている。これによって、CTUを分割する各CUのサイズを選択するための演算量が必要以上に増加しないようにすることがより柔軟に可能である。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
本発明は、動画像を符号化する装置に適用可能である。
1…符号化装置、2…プロセッサ、3…記憶部、4…通信部、5…表示部、10…CU分割・予測処理部、11…予測画像生成部、12…残差信号生成部、13…変換・量子化処理部、14…エントロピー符号化部、15…逆量子化・逆変換処理部、16…復号信号生成部、17…ループフィルタ処理部、18…参照画像用データ記憶部、100…原画像分割部、101…第1段階分割・予測処理部、102…第2段階分割・予測処理部、200…CTU、201~208…ブロック、301…ブロック、304…ブロック
Claims (5)
- 符号化装置が実行する符号化方法であって、
原画像における予め定められたサイズの第1のブロックを、符号化の単位となるブロックである第2のブロック群に、四分木、三分木又は二分木で分割する分割ステップと、
前記第2のブロックごとに動きを予測する予測ステップと
を含み、
前記分割ステップは、第1サブ分割ステップと第2サブ分割ステップとを有し、
前記第1サブ分割ステップでは、前記四分木、前記三分木又は前記二分木に応じて定まるサイズのうちから選択されたサイズのブロックに、前記第1のブロックを分割し、
前記第2サブ分割ステップでは、前記選択されたサイズのブロックをさらに分割することによって前記第2のブロックを生成する、
符号化方法。 - 前記第1サブ分割ステップでは、前記四分木、前記三分木又は前記二分木のうちの一つ又は二つで、前記第1のブロックを分割し、
前記第2サブ分割ステップでは、前記第1サブ分割ステップにおいて前記第1のブロックの分割に用いられていない前記四分木、前記三分木又は前記二分木で、前記選択されたサイズのブロックをさらに分割する、
請求項1に記載の符号化方法。 - 前記第1サブ分割ステップでは、前記四分木に応じて定まるサイズのうちから選択されたサイズのブロックに、前記第1のブロックを分割する、
請求項1又は請求項2に記載の符号化方法。 - 原画像における予め定められたサイズの第1のブロックを、符号化の単位となるブロックである第2のブロック群に、四分木、三分木又は二分木で分割する分割部と、
前記第2のブロックごとに動きを予測する予測部と
を備え、
前記分割部は、第1サブ分割部と第2サブ分割部とを有し、
前記第1サブ分割部は、前記四分木、前記三分木又は前記二分木に応じて定まるサイズのうちから選択されたサイズのブロックに、前記第1のブロックを分割し、
前記第2サブ分割部は、前記選択されたサイズのブロックをさらに分割することによって前記第2のブロックを生成する、
符号化装置。 - 請求項1又は請求項2に記載の符号化方法を実行する符号化装置としてコンピュータを機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/007453 WO2021171360A1 (ja) | 2020-02-25 | 2020-02-25 | 符号化方法、符号化装置及びプログラム |
US17/796,528 US20230053579A1 (en) | 2020-02-25 | 2020-02-25 | Encoding method, encoding apparatus, and program |
JP2022502364A JP7453581B2 (ja) | 2020-02-25 | 2020-02-25 | 符号化方法、符号化装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/007453 WO2021171360A1 (ja) | 2020-02-25 | 2020-02-25 | 符号化方法、符号化装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021171360A1 true WO2021171360A1 (ja) | 2021-09-02 |
Family
ID=77490802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/007453 WO2021171360A1 (ja) | 2020-02-25 | 2020-02-25 | 符号化方法、符号化装置及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230053579A1 (ja) |
JP (1) | JP7453581B2 (ja) |
WO (1) | WO2021171360A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018110600A1 (ja) * | 2016-12-16 | 2018-06-21 | シャープ株式会社 | 画像復号装置、および画像符号化装置 |
JP2019528025A (ja) * | 2016-08-15 | 2019-10-03 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 分離ツリー構造を使用したイントラビデオコーディング |
JP2019201254A (ja) * | 2018-05-14 | 2019-11-21 | シャープ株式会社 | 画像復号装置、および画像符号化装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015027022A (ja) | 2013-07-29 | 2015-02-05 | Kddi株式会社 | 動画像符号化装置、動画像符号化方法、およびプログラム |
US10212444B2 (en) * | 2016-01-15 | 2019-02-19 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
US10856003B2 (en) | 2017-10-03 | 2020-12-01 | Qualcomm Incorporated | Coding affine prediction motion information for video coding |
AU2018204786A1 (en) | 2018-06-29 | 2020-01-16 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a transformed block of video samples |
-
2020
- 2020-02-25 WO PCT/JP2020/007453 patent/WO2021171360A1/ja active Application Filing
- 2020-02-25 JP JP2022502364A patent/JP7453581B2/ja active Active
- 2020-02-25 US US17/796,528 patent/US20230053579A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019528025A (ja) * | 2016-08-15 | 2019-10-03 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | 分離ツリー構造を使用したイントラビデオコーディング |
WO2018110600A1 (ja) * | 2016-12-16 | 2018-06-21 | シャープ株式会社 | 画像復号装置、および画像符号化装置 |
JP2019201254A (ja) * | 2018-05-14 | 2019-11-21 | シャープ株式会社 | 画像復号装置、および画像符号化装置 |
Non-Patent Citations (2)
Title |
---|
HAN GAO ET AL.: "Non-CEl: Relation Between QT/BT/TT Split Constraint Syntax Elements", JVET-L0217 V1.DOCX, 24 September 2018 (2018-09-24), pages 1 - 3, Retrieved from the Internet <URL:http://phenix.it-sudparis.eu/jvet/doc-end-user/documents/12Macao/wgll/JVET-L0217-vl.zip> * |
JIANLE CHEN ET AL.: "Algorithm description for Versatile Video Coding and Test Model 3 (VTM 3", JVET-L1002-VL.DOCX, 3 December 2018 (2018-12-03), pages 1 - 8 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021171360A1 (ja) | 2021-09-02 |
JP7453581B2 (ja) | 2024-03-21 |
US20230053579A1 (en) | 2023-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11057621B2 (en) | Encoding method, decoding method and device thereof | |
US20200288134A1 (en) | Image encoding/decoding method and device, and recording medium storing bitstream | |
JP2020022171A (ja) | イントラ予測方法とそれを利用した符号化器及び復号化器 | |
TW201830972A (zh) | 用於視訊寫碼之低複雜度符號預測 | |
US20190141319A1 (en) | Method and apparatus for encoding/decoding video signal | |
EP3448038B1 (en) | Decoding method for intra predicting a block by first predicting the pixels at the boundary | |
JP2004297566A (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム | |
JP2018520549A (ja) | イントラ予測を行う映像復号方法及びその装置、並びにイントラ予測を行う映像符号化方法及びその装置 | |
KR20180040514A (ko) | 부호화 장치, 복호화 장치 및 그 부호화 방법 및 복호화 방법 | |
JP5759387B2 (ja) | 符号化装置および復号装置 | |
US11736721B2 (en) | Methods and devices for coding and decoding a data stream representative of at least one image | |
JP5056348B2 (ja) | 情報処理装置および方法、並びにプログラム | |
JP2024053019A (ja) | 符号化装置、復号装置、及びプログラム | |
JP5677576B2 (ja) | 動画像復号化方法及び動画像符号化方法 | |
CN107770527B (zh) | 使用邻近编码参数和最近编码参数的数据压缩方法和装置 | |
WO2021171360A1 (ja) | 符号化方法、符号化装置及びプログラム | |
US20230319319A1 (en) | Entropy encoding and decoding apparatus and method for using the same | |
WO2007063612A1 (ja) | 動画像符号化装置、動画像復号装置 | |
CN116939199A (zh) | 图像编码装置、图像解码装置和程序 | |
JP2007074337A (ja) | 符号化装置及び符号化方法 | |
CN114097224B (zh) | 帧内预测装置、图像解码装置及程序 | |
CN114868394A (zh) | 用于图像压缩的梯度预测器 | |
JP7406208B2 (ja) | 符号化装置、符号化方法及びプログラム | |
JP7515266B2 (ja) | イントラ予測装置、画像復号装置、及びプログラム | |
KR20120038355A (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: 20921006 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022502364 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20921006 Country of ref document: EP Kind code of ref document: A1 |