WO2023223705A1 - 映像符号化装置、映像符号化方法および映像システム - Google Patents
映像符号化装置、映像符号化方法および映像システム Download PDFInfo
- Publication number
- WO2023223705A1 WO2023223705A1 PCT/JP2023/014338 JP2023014338W WO2023223705A1 WO 2023223705 A1 WO2023223705 A1 WO 2023223705A1 JP 2023014338 W JP2023014338 W JP 2023014338W WO 2023223705 A1 WO2023223705 A1 WO 2023223705A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- sub
- prediction mode
- prediction
- intra
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 43
- 238000010586 diagram Methods 0.000 description 36
- 238000004364 calculation method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000013139 quantization Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002699 waste material Substances 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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
Definitions
- the present invention relates to a video encoding device, a video encoding method, and a video system that perform at least intra predictive encoding processing.
- each frame of video is divided into blocks called coding tree units (CTUs), and each CTU is encoded in raster scan order.
- CTUs coding tree units
- Each CTU is divided into coding units (CU) and encoded in a quadtree (QT) or multi-type tree (MMT) structure.
- QT quadtree
- MMT multi-type tree
- partitioning using a quadtree structure blocks are equally partitioned horizontally and vertically.
- a block is divided into two or three horizontally or vertically.
- Intra prediction is prediction that generates a predicted image from a reconstructed image that has the same display time as the frame to be encoded.
- 65 types of angular intra predictions shown in FIG. 18 are defined.
- numbers indicate prediction mode numbers.
- angular intra prediction an intra prediction signal is generated by extrapolating reconstructed pixels around the block to be encoded in any of 65 directions.
- the VVC method defines DC prediction, which averages reconstructed pixels around the block to be encoded, and Planar prediction, which linearly interpolates reconstructed pixels around the block to encode.
- the video encoding device selects the optimal prediction mode from 67 prediction modes (intra-prediction modes).
- selecting a prediction mode may be referred to as a prediction mode determination process.
- the video encoding device performs cost calculation for each of the 67 prediction modes in the prediction mode determination process.
- a video encoding device selects a prediction mode that minimizes cost.
- FIGS. 19A and 19B are explanatory diagrams for explaining pixel reference regions for intra prediction.
- the video encoding device executes the prediction process by referring to the pixel values on the left side and the upper side of the encoding target CU according to the prediction mode, as shown in FIGS. 19A and 19B.
- arrows indicate the relationship (reference relationship) between the encoding target pixel and the reference pixel.
- FIG. 19A illustrates an encoding target block (encoding target CU) having a size of 8 pixels in the horizontal direction and 4 pixels in the vertical direction.
- Mode x indicates the prediction mode number (prediction mode x).
- Diag.mode means diagonal mode.
- the range of intra prediction angle indicates the range of angles of each of the plurality of angle predictions.
- W indicates the number of pixels in the horizontal direction.
- H indicates the number of pixels in the vertical direction.
- Patent Document 1 discloses a method for suppressing the amount of calculation in prediction mode determination processing.
- a video encoding device encodes a plurality of blocks whose size is m ⁇ n (M>m, N>n). Intra prediction is performed on each sub-block to generate a predicted image. For example, when the size of the current block to be encoded is 8x8, intra prediction is performed on each of four 4x4 sub-blocks to generate a predicted image. A prediction mode that minimizes the cost for each subblock is determined in advance. Note that a sub-block is a block generated by dividing a block to be encoded. Naturally, the size of the subblock is smaller than the size of the block to be encoded.
- a video encoding device calculates the sum of absolute differences (SAD) for each of four sub-blocks. Each difference is a difference between the predicted image of the subblock and the input image or reconstructed image.
- the video encoding device selects the prediction mode that minimizes SAD as the optimal prediction mode for the subblock. That is, the video encoding device determines a prediction mode corresponding to each sub-block.
- the video encoding device does not execute prediction mode determination processing for 67 prediction modes, but searches for prediction modes corresponding to each of the four sub-blocks, that is, four prediction modes.
- the prediction mode determination process is executed as follows.
- Patent Document 1 calculates the cost of all sub-blocks to determine the prediction mode of the current block to be encoded, so the effect of reducing the amount of calculation in the prediction mode determination process is not sufficient.
- An object of the present invention is to provide a video encoding device, a video encoding method, and a video system that can further reduce the amount of calculation for determining a prediction mode.
- the video encoding device includes subblock selection means for selecting a predetermined number of subblocks from among a plurality of subblocks obtained by dividing a block consisting of a plurality of pixels; a prediction mode acquisition unit that acquires a prediction mode candidate from among all intra prediction modes corresponding to the block; and a prediction mode that determines an intra prediction mode to be used when performing intra encoding for a block using the prediction mode candidates. and determining means.
- the video encoding method selects a predetermined number of subblocks from among a plurality of subblocks obtained by dividing a block consisting of a plurality of pixels, and performs intra prediction corresponding to the subblock for the predetermined number of subblocks.
- Prediction mode candidates are acquired from among all the modes, and the intra prediction mode to be used when intra-coding is determined for the block using the prediction mode candidates.
- the video encoding program causes a computer to select a predetermined number of subblocks from among a plurality of subblocks obtained by dividing a block consisting of multiple pixels, and corresponds to the subblock for the predetermined number of subblocks.
- a prediction mode candidate is acquired from among all the intra prediction modes to be used, and an intra prediction mode to be used when performing intra encoding for a block is determined using the prediction mode candidates.
- a video system includes the video encoding device described above and a video decoding device that has at least an intra prediction function and performs video decoding processing by inputting a bitstream from the video encoding device.
- the amount of calculation for determining the prediction mode can be further reduced.
- FIG. 1 is a block diagram illustrating a configuration example of a video encoding device capable of executing video encoding.
- FIG. It is a block diagram showing an example of composition of an intra prediction part. It is an explanatory diagram for explaining processing as a premise of processing performed by a prediction mode deciding part. It is an explanatory diagram for explaining an example of processing which a prediction mode deciding part performs. It is a flowchart which shows the operation of an intra prediction part.
- FIG. 2 is an explanatory diagram showing an example of how to divide a block to be encoded.
- FIG. 3 is an explanatory diagram showing an example of the number of sub-blocks to be selected.
- FIG. 3 is an explanatory diagram for explaining an example of selection criteria when selecting a sub-block.
- FIG. 1 is a block diagram illustrating a configuration example of a video encoding device capable of executing video encoding.
- FIG. It is a block diagram showing an example of composition of an intra prediction part. It is
- FIG. 7 is an explanatory diagram for explaining an example of selection criteria when selecting a rectangular sub-block.
- FIG. 7 is an explanatory diagram showing an example of how to divide a rectangular CU.
- FIG. 7 is an explanatory diagram for explaining an example of selection criteria when selecting a square sub-block and a rectangular sub-block.
- FIG. 7 is an explanatory diagram for explaining another example of selection criteria when selecting a sub-block.
- FIG. 2 is a block diagram showing a configuration example of a video decoding device.
- FIG. 2 is a block diagram showing the main parts of a video encoding device. It is an explanatory diagram showing an example of 65 kinds of angle intra predictions.
- FIG. 3 is an explanatory diagram for explaining a pixel reference area for intra prediction.
- FIG. 3 is an explanatory diagram for explaining a pixel reference area for intra prediction.
- FIG. 1 is a block diagram illustrating a configuration example of a video encoding device capable of executing video encoding.
- the video encoding device 100 shown in FIG. It includes a frame memory 108 and a prediction unit 110.
- the prediction unit 110 includes an intra prediction unit 111 and an inter prediction unit 112.
- the video encoding device shown in FIG. 1 executes encoding processing based on the VVC standard, it may also perform encoding processing based on other standards, such as the HEVC standard, H.
- the encoding process may be performed based on the H.264/AVC standard.
- the subtracter 101 subtracts a prediction signal from an input signal (input pixel value) for each block (for example, PU) to generate a prediction error signal.
- the prediction error signal is also called a prediction residual or a prediction residual signal. Note that since the size of a PU is often set equal to the size of a CU, it is assumed below that a block is a CU.
- the transform/quantizer 102 frequency transforms the prediction error signal to obtain transform coefficients.
- the transform/quantizer 102 further quantizes the frequency-converted prediction error signal (transform coefficient).
- transform quantized values will be referred to as transform quantized values.
- the entropy encoder 104 entropy encodes the prediction parameters (encoded information) and the transform quantization values.
- the prediction parameters include prediction modes (intra prediction, inter prediction) determined by the prediction unit 110, intra prediction block size, intra prediction direction, inter prediction block size, motion vector, etc. for CTU (Coding Tree Unit) and block prediction. This is related information.
- the entropy encoded data supplied from the entropy encoder 104 and other data are multiplexed and output as a bitstream.
- the inverse quantization/inverse transformer 103 inversely quantizes the transform quantized value and restores the transform coefficients. Further, the inverse quantizer/inverse transformer 103 performs inverse frequency transform on the inversely quantized transform coefficients to restore a prediction error signal.
- the adder 105 adds the restored prediction error signal and the prediction signal to generate a reconstructed signal (reconstructed image). Block memory 106 and in-loop filter 107 input the reconstructed signal.
- the block memory 106 is a buffer memory for storing reference blocks in the picture to be encoded.
- the in-loop filter 107 includes, for example, a deblocking filter, a sample adaptive offset filter, and an adaptive loop filter, and performs appropriate filtering.
- the reconstructed signal filtered by the in-loop filter 107 is stored in the frame memory 108.
- the intra prediction unit 111 refers to a reference block in the frame memory 108 that is different from the current block to be encoded, performs intra prediction on the current block to be encoded, and generates a prediction signal (in this case, an intra prediction signal). .
- the intra prediction unit 111 determines the prediction direction for the block to be encoded.
- the intra prediction unit 111 selects the prediction direction with the highest encoding efficiency from 67 types of prediction directions. For example, the intra prediction unit 111 selects the prediction mode that minimizes the encoding cost as the prediction direction. As described later, in this embodiment, the intra prediction unit 111 selects a prediction direction using subblocks. Furthermore, in the present embodiment, the prediction direction and the prediction mode (strictly speaking, the prediction mode of angle prediction) have a one-to-one correspondence.
- prediction mode determination process may be executed outside the intra prediction unit 111.
- FIG. 2 is a block diagram showing a configuration example of the intra prediction unit 111.
- Intra prediction section 111 includes a predictor 201 , a block division section 202 , a subblock selection section 203 , a subblock prediction mode determination section 204 , and a prediction mode determination section 205 .
- Block division section 202, sub-block selection section 203, sub-block prediction mode determination section 204, and prediction mode determination section 205 constitute a prediction mode determination processing section that executes prediction mode determination processing.
- the predictor 201 performs intra prediction.
- the block division unit 202 divides the processing target block into a plurality of subblocks of a predetermined size.
- the subblock selection unit 203 selects a predetermined number of subblocks from the plurality of subblocks obtained by the block division unit 202 according to a predetermined criterion. Any number less than or equal to the total number of subblocks may be selected as the predetermined number. However, in order to further reduce the amount of calculation for determining the prediction mode, the predetermined number is preferably less than the total number of subblocks. In the following, a case where the predetermined number is less than the total number of subblocks will be exemplified. Let k be the number of subblocks to be selected.
- the sub-block prediction mode determining unit 204 determines the amount of code corresponding to the amount of generated code for each of the selected sub-blocks when the sub-block is encoded using each of a plurality of prediction directions. Calculate costs. Subblock prediction mode determining section 204 further calculates each encoding distortion when the subblock is encoded using each of the plurality of prediction directions. Subblock prediction mode determining section 204 uses each code amount R and each encoding distortion D to calculate encoding cost. For example, the sub-block prediction mode determining unit 204 calculates the RD (Rate-distortion) cost expressed by the following equation (1). In the following equation (1), ⁇ is a Lagrange multiplier.
- the sub-block prediction mode determining unit 204 determines the prediction direction corresponding to the minimum RD cost as the prediction direction that maximizes encoding efficiency, that is, the prediction mode of the sub-block. Through the processing described above, the optimal prediction mode corresponding to each of the plurality of sub-blocks is determined.
- the method for selecting the prediction mode is not limited to the method using RD cost.
- the sum of absolute values (SAD) of differences between a predicted image and an input image (in this example, a subblock) or a reconstructed image may be used.
- the sub-block prediction mode determining unit 204 executes a process of determining a prediction mode corresponding to each sub-block (prediction mode of each sub-block).
- the prediction mode of each sub-block may be determined by reusing the prediction mode of each sub-block that has already been determined.
- the video encoding device 100 is configured to execute processing for determining a prediction mode for subblocks of each size (for example, 4 ⁇ 4, 8 ⁇ 8) when determining the shape of a block. Sometimes it is done. In that case, subblock prediction mode determining section 204 can select the prediction mode of the selected subblock from the prediction modes that have already been determined.
- the subblock prediction mode determination unit 204 A prediction mode candidate is selected from prediction modes suitable for each prediction mode.
- the subblock prediction mode determining unit 204 calculates the encoding cost regarding the subblock (in this example, an 8 ⁇ 8 subblock) using a prediction mode suitable for each of the lower subblocks, and A prediction mode that minimizes encoding cost is set as a prediction mode candidate.
- the prediction mode of the lower sub-block corresponds to the prediction mode corresponding to the 8 ⁇ 8 sub-block.
- the sub-block size of 8 ⁇ 8 is just one example, and the above idea can be applied even if the sub-block size is other values.
- the prediction mode determining unit 205 determines the prediction mode of the block to be encoded. Specifically, the prediction mode determining unit 205 selects the prediction mode of the current block to be encoded from the prediction modes of the plurality of selected sub-blocks. For example, if the number of selected subblocks is 3 and the corresponding prediction modes are prediction mode 2, prediction mode 3, and prediction mode 4, the prediction mode determining unit 205 selects prediction mode 2, prediction mode 3, and prediction mode 4. A prediction mode is selected from prediction mode 3 and prediction mode 4. When determining the prediction mode of the current block to be encoded, the prediction mode determining unit 205 can use the same method as the method used when determining the prediction mode of the sub-block described above.
- FIG. 3 is an explanatory diagram for explaining processing as a premise of the processing executed by the prediction mode determination unit 205.
- the size of the block to be encoded is 8 ⁇ 8, and the size of each of the four sub-blocks is 4 ⁇ 4.
- FIG. 3 shows an example for explaining the prerequisite processing, and the prediction mode determining unit 205 in this embodiment does not execute the processing described in the example shown in FIG. 3.
- the encoding target block is the block surrounded by a thick line.
- the selected sub-blocks are the blocks surrounded by thick lines.
- the encoding target block is shown surrounded by a thick line.
- the selected sub-block is shown surrounded by a thick line.
- arrows indicate the relationship (reference relationship) between the encoding target pixel and the reference pixel.
- arrows indicate reference relationships.
- the upper left sub-block be the first sub-block 601.
- the upper right sub-block is defined as a second sub-block 602.
- Let the lower left sub-block be the third sub-block 603.
- Let the lower right sub-block be a fourth sub-block 604.
- the prediction mode determined for the first sub-block 601 is prediction mode 2.
- the prediction mode determined for the second sub-block 602 is assumed to be prediction mode 3.
- the prediction mode determined for the third sub-block 603 is assumed to be prediction mode 4.
- the prediction mode determined for the fourth sub-block 604 is assumed to be prediction mode 5.
- the block to be encoded is intra-encoded using prediction mode 2, that is, the prediction mode determined for the first sub-block 601.
- the RD cost is calculated if the The RD cost is calculated when the encoding target block is intra-encoded using prediction mode 3, that is, the prediction mode determined for the second sub-block 602.
- the RD cost is calculated when the encoding target block is intra-encoded using prediction mode 4, that is, the prediction mode determined for the third sub-block 603.
- the RD cost is calculated when the current block is intra-coded using prediction mode 5, that is, the prediction mode determined for the fourth sub-block 604. As a result, four RD costs are obtained.
- the prediction mode exhibiting the minimum RD cost (the prediction mode corresponding to the minimum RD cost) is the optimal prediction to be used when the current block is intra-coded. Determined as the mode.
- FIG. 4 is an explanatory diagram for explaining an example of a process executed by the prediction mode determining unit 205 in this embodiment.
- the prediction mode determining unit 205 calculates the RD cost regarding only the prediction mode corresponding to the subblock selected according to a predetermined criterion from among the first to fourth subblocks 601 to 604 for the current block to be encoded.
- FIG. 4 shows that the first to third sub-blocks 601 to 603 have been selected. That is, the prediction mode determining unit 205 calculates the RD cost when the current block is intra-coded using the prediction mode 2, that is, the prediction mode determined for the first sub-block 601. Furthermore, the prediction mode determining unit 205 calculates the RD cost when the encoding target block is intra-encoded using prediction mode 3, that is, the prediction mode determined for the second sub-block 602. Further, the prediction mode determining unit 205 calculates the RD cost when the encoding target block is intra-encoded using prediction mode 4, that is, the prediction mode determined for the third sub-block 603. As a result, three RD costs are obtained.
- the prediction mode determining unit 205 determines the prediction mode corresponding to the minimum RD cost among the three RD costs as the prediction mode to be used when the current block to be encoded is intra-encoded.
- the process explained in the example shown in FIG. 4 Comparing the process explained in the example shown in FIG. 3 and the process explained in the example shown in FIG. 4, the process explained in the example shown in FIG.
- the amount of computation to determine the prediction mode to be used in a block is low. That is, in this embodiment, when the intra prediction unit 111 is configured to determine the prediction mode of the current block to be encoded using the prediction mode of the sub-block, the amount of calculation can be reduced. Further, among the plurality of sub-blocks, there is a possibility that the optimum prediction mode is a prediction mode that is significantly different from the prediction mode suitable for the current block to be encoded. It is wasteful to use such a prediction mode as a search target for the prediction mode of the current block to be encoded. However, in this embodiment, it is also possible to reduce the occurrence of such waste.
- FIG. 5 is a flowchart showing the operation of the intra prediction unit 111.
- the block dividing unit 202 divides the processing target block into a plurality of subblocks of a predetermined size (step S101).
- the size of the subblock is determined in advance, but can be set arbitrarily. Note that the size of the sub-block is determined by taking into consideration the required image quality and processing capacity of the device.
- FIG. 6 is a block diagram showing an example of how to divide a block to be encoded.
- a 16 ⁇ 16 encoding target block is illustrated.
- an 8 ⁇ 8 sub-block and a 4 ⁇ 4 sub-block are illustrated. That is, an example in which the encoding target block is divided into 4 parts and an example in which the encoding target block is divided into 16 parts are shown.
- the block dividing unit 202 divides the block to be encoded into four subblocks.
- the subblock selection unit 203 divides the encoding target block into 16 subblocks.
- the sub-block selection unit 203 selects less than four (three as an example) sub-blocks. When 16 subblocks are generated, the subblock selection unit 203 selects less than 16 (for example, 5) subblocks.
- the method of dividing the encoding target block illustrated in FIG. 6 is just one example, and the encoding target block can be divided into subblocks of any size.
- the subblock selection unit 203 selects subblocks that are less than the total number of subblocks generated by the block division unit 202 (step S102).
- the predictor 201 performs intra-coding using each of 67 prediction modes for each sub-block.
- Subblock prediction mode determining section 204 calculates RD cost for each subblock.
- the sub-block prediction mode determining unit 204 determines the prediction mode with the highest encoding efficiency for each sub-block as the prediction mode of the sub-block (step S103). Note that, for example, when it is possible to estimate the prediction mode with the highest encoding efficiency, the predictor 201 performs intra prediction using only a plurality of prediction modes (prediction modes less than 67) including the predicted prediction mode. You may do so.
- step S103 k prediction modes corresponding to prediction mode candidates are acquired. Note that if the prediction mode corresponding to each sub-block has been determined, the sub-block prediction mode determining unit 204 can obtain prediction mode candidates based on the determined prediction mode in step S103. As described above, the prediction mode corresponding to a sub-block is, for example, a prediction mode that is determined to be suitable for each of the lower sub-blocks.
- the sub-block prediction mode determining unit 204 considers the overlapping prediction modes as one prediction mode. For example, if there are two prediction modes 2 among the k prediction modes, the sub-block prediction mode determination unit 204 will determine (k-1) prediction modes.
- FIG. 7 is an explanatory diagram showing an example of the number of sub-blocks to be selected.
- the left side of FIG. 7 shows an example in which three subblocks are selected from four subblocks.
- 7 subblocks are selected from 16 subblocks.
- the right side of FIG. 7 shows an example in which 5 subblocks are selected from 16 subblocks.
- the number of subblocks selected by the subblock selection unit 203 is determined in advance, taking into account, for example, the required prediction accuracy and processing capacity of the device.
- the block division unit 202 may execute the division into 4 sub-blocks and the division into 16 sub-blocks either exclusively or both.
- the block division unit 202 can specify four 8 ⁇ 8 sub-blocks. information (data) and information that allows identification of the 16 4 ⁇ 4 subblocks are output to the subblock selection unit 203.
- the subblock selection unit 203 selects less than 4 subblocks from the 4 8 ⁇ 8 subblocks, and selects less than 16 subblocks from the 16 4 ⁇ 4 subblocks. Subblock selection section 203 notifies predictor 201 of the selected block. Note that if the number of selected subblocks is less than 20, four 8 ⁇ 8 subblocks or 16 4 ⁇ 4 subblocks may be selected.
- the predictor 201 intra-codes the current block to be coded using each of the k prediction modes. Note that, as described above, the number of prediction modes may be less than k.
- the prediction mode determining unit 205 calculates the encoding cost (RD cost in this embodiment) when encoding is performed using each of the k prediction modes (step S104).
- the prediction mode determining unit 205 selects a prediction mode that minimizes encoding cost (step S105).
- the prediction mode determining unit 205 determines the selected prediction mode as the prediction mode to be used when the current block to be encoded is actually encoded.
- FIG. 8 is an explanatory diagram for explaining an example of selection criteria when selecting a sub-block.
- an 8x8 encoding target block is divided into four 4x4 sub-blocks.
- the relationship (reference relationship) between the encoding target pixel and the reference pixel in the upper left sub-block is illustrated.
- the part indicated by the symbol B in FIG. 8 illustrates the reference relationship in the lower right sub-block.
- the reference pixel area for the encoding target pixel in the lower right sub-block (the pixel area referred to when intra prediction is performed) is the reference pixel area for the encoding target pixel in the encoding target block. It is different from Generally, when the reference pixel area of a certain block and the reference pixel area of another block are different, the optimal prediction modes for both blocks are different. That is, the prediction mode numbers suitable for both blocks are far apart. In such a situation, if a prediction mode suitable for a certain block is used to intra-encode another block, prediction accuracy will decrease.
- the prediction mode and prediction result for the sub-block and the code The degree of correlation between the prediction mode and the prediction result for the target block is high. In such a situation, if the intra-coding of the block to be encoded is performed using a prediction mode suitable for the sub-block, the prediction accuracy will be increased.
- the sub-block selection unit 203 preferentially selects a sub-block having a reference pixel region having a large area (area of the overlapping region) overlapping with the reference pixel region of the pixel to be encoded in the current block to be encoded. do.
- the reference pixel area of the lower right sub-block and the reference pixel area of the encoding target pixel in the encoding target block do not overlap.
- the sub-block selection unit 203 selects, for example, Select the subblock, top right subblock, and bottom left subblock.
- the sub-block selection unit 203 selects sub-blocks that exceed the threshold value.
- FIG. 9 is an explanatory diagram for explaining the overlap of reference pixel regions in more detail.
- an 8 ⁇ 8 encoding target block is divided into 16 4 ⁇ 4 sub-blocks. Focusing on the upper left sub-block, the reference pixel area for that sub-block is included in the reference pixel area for the encoding target block.
- FIG. 10 is an explanatory diagram for explaining an example of selection criteria when selecting a rectangular sub-block.
- a rectangular CU can also be used.
- the criteria for the square encoding target block illustrated in FIGS. 8 and 9 can also be applied to the rectangular encoding target block.
- FIG. 10 illustrates an 8 ⁇ 16 rectangular block to be encoded and four 4 ⁇ 8 sub-blocks. Similar to the case where the shape of the sub-block is square, the area where the reference pixel area of the lower right sub-block and the reference pixel area of the encoding target block overlap is small.
- the sub-block selection unit 203 does not select the lower right sub-block. For example, the sub-block selection unit 203 selects the upper left sub-block, the upper right sub-block, and the lower left sub-block whose reference pixel region overlaps with the reference pixel region of the encoding target pixel in a large area.
- FIG. 11 is an explanatory diagram showing an example of how to divide a rectangular CU.
- FIG. 11 illustrates an 8 ⁇ 16 rectangular block to be encoded.
- the block dividing unit 202 can generate square sub-blocks as well as rectangular sub-blocks.
- FIG. 11 illustrates eight 4 ⁇ 4 sub-blocks and four 4 ⁇ 8 sub-blocks.
- the prediction mode determination unit selects the optimal prediction mode for the current block to be encoded from the prediction modes corresponding to each of the 12 sub-blocks in the prediction mode determination process.
- FIG. 12 is an explanatory diagram for explaining an example of selection criteria when selecting a square sub-block and a rectangular sub-block.
- the sub-block selection unit 203 gives priority to a sub-block having a reference pixel area that overlaps with a reference pixel area of a pixel to be encoded in a block to be encoded. and select. Furthermore, regarding rectangular sub-blocks, a sub-block having a reference pixel area having a large area that overlaps with the reference pixel area of the pixel to be encoded in the block to be encoded is preferentially selected.
- FIG. 12 illustrates that the subblock selection unit 203 selects 8 subblocks from 12 subblocks.
- FIG. 13 is an explanatory diagram for explaining another example of selection criteria when selecting a sub-block.
- FIG. 13 illustrates an 8 ⁇ 16 encoding target block. Further, FIG. 13 illustrates eight 4 ⁇ 4 sub-blocks and four 4 ⁇ 8 sub-blocks.
- the sub-block selection unit 203 preferentially selects sub-blocks having the same shape as the encoding target block.
- the same shape means that the ratio between the number of pixels in the horizontal direction and the number of pixels in the vertical direction of the block to be encoded is the same as the ratio of the number of pixels in the horizontal direction and the number of pixels in the vertical direction of the sub-block. do.
- the sub-block selection unit 203 gives priority to the rectangular sub-block. select.
- the reason why the rectangular sub-block is selected preferentially is that the rectangular sub-block has a reference pixel area that overlaps with the reference pixel area of the encoding target block.
- the sub-block selection unit 203 When the block to be encoded is a rectangle and the block division unit 202 generates a rectangular sub-block, the sub-block selection unit 203 The sub-block located in the long side direction of is selected preferentially. In the example shown in FIG. 13, the sub-block selection unit 203 selects the sub-block b located in the long side direction of the rectangle with respect to the upper left sub-block a, with priority over the sub-block c located in the short side direction. do.
- the reason why sub-blocks located in the long-side direction are selected preferentially is that the sub-blocks located in the long-side direction are more closely aligned with the reference pixel area of the encoding target block than sub-blocks located in the short-side direction. This is because the reference pixel area has a large overlapping area.
- FIG. 13 illustrates a case where the number of subblocks selected by the subblock selection unit 203 is five.
- the sub-block selection unit 203 selects sub-blocks in the order of sub-block a, sub-block b, sub-block c, sub-block d, and sub-block e based on the above-mentioned criterion, that is, the area where the reference pixel regions overlap.
- the video encoding device when the video encoding device is configured to determine the prediction mode of the current block to be encoded using the prediction mode of each of a plurality of sub-blocks, A predetermined number of subblocks are selected from the generated subblocks according to predetermined criteria. Then, the video encoding device determines the prediction mode of the current block to be encoded based on the prediction mode of each of the selected sub-blocks. Therefore, the amount of calculation for prediction mode determination processing can be reduced.
- the configuration and operation of the video encoding device were explained using the case where the encoding target block is composed of subblocks as an example.
- the above embodiment can also be applied to intermediate processing in the process of determining the prediction mode of the block to be encoded.
- the minimum CU size is 8 ⁇ 8.
- the maximum CU size is set to 32 ⁇ 32.
- the 32x32 block includes four 16x16 subblocks (first subblocks).
- the 16x16 subblock includes four 8x8 subblocks (second subblocks).
- the prediction mode determination processing unit selects the optimal prediction mode for each of the four second sub-blocks from among 67 prediction modes. That is, the prediction mode determination processing section obtains four prediction modes.
- the prediction mode determination processing unit selects a prediction mode based on the encoding cost, for example, as described above.
- the prediction mode determination processing unit selects the optimal prediction mode for each of the four first subblocks from the four prediction modes for the second subblock. That is, the prediction mode determination processing section obtains four prediction modes.
- the prediction mode determination processing unit selects a prediction mode based on the encoding cost, for example, as described above. At this time, if the first sub-block is regarded as a block and the second sub-block is regarded as a sub-block, the prediction mode determination processing section determines when the block is intra-encoded from the prediction modes of the predetermined number of sub-blocks. The prediction mode to be used will be selected.
- the prediction mode determination processing unit selects the optimal prediction mode for the 32 ⁇ 32 block from the four prediction modes for the first sub-block.
- the prediction mode determination processing unit selects a prediction mode based on the encoding cost, for example, as described above.
- the prediction mode determination processing unit determines the prediction mode to be used when the 32 ⁇ 32 block is intra-coded from the prediction modes of the predetermined number of sub-blocks. You will have to choose.
- the above embodiment can be applied to the process of determining the prediction mode in the first to third stages.
- the first step corresponds to the step of determining the optimal prediction mode for the 8 ⁇ 8 sub-block.
- the second stage corresponds to determining the optimal prediction mode for 16x16 subblocks.
- the third stage corresponds to the stage of determining the optimal prediction mode for 32x32 subblocks.
- the process of determining the optimal prediction mode for the final block after going through the multiple steps described above. may be configured to perform In that case, the prediction mode determination processing section may use the already determined prediction mode as the prediction mode of the sub-block.
- FIG. 14 is a block diagram showing a configuration example of a video decoding device.
- Video decoding device 300 shown in FIG. 14 includes an entropy decoder 301, an inverse quantizer/inverse transformer 302, an adder 303, a prediction unit 310, and a buffer 304.
- the prediction unit 310 includes an intra prediction unit 311 and an inter prediction unit 312. Note that the video decoding device shown in FIG. 14 can receive a bitstream from the video encoding device of the first embodiment, for example.
- the entropy decoder 301 entropy decodes entropy encoded data.
- the entropy encoded data includes data whose prediction parameters are entropy encoded and data whose transform quantization values are entropy encoded.
- the entropy decoder 301 supplies the entropy-decoded transform quantized value to the inverse quantizer/inverse transformer 302 . Furthermore, the entropy decoder 301 supplies entropy-decoded prediction parameters to the prediction unit 310.
- the inverse quantization/inverse transformer 302 inversely quantizes the transformed quantized value. Further, the inverse quantization/inverse transformer 302 performs inverse frequency transform on the inverse quantized frequency transform coefficients.
- the prediction unit 310 generates a prediction signal for each block based on the prediction parameters. Note that when the prediction parameter indicates intra prediction, the intra prediction unit 311 generates a prediction signal. When the prediction parameter indicates inter prediction, the inter prediction unit 312 generates a prediction signal.
- the intra prediction unit 311 identifies the prediction mode from the prediction parameters (specifically, the syntax related to intra prediction).
- the prediction error signal subjected to inverse frequency conversion by the inverse quantization/inverse transformer 302 is added to the prediction signal supplied from the prediction unit 310 by the adder 303, and then supplied to the buffer 304 as a reconstructed image.
- Buffer 304 stores the reconstructed image. Each reconstructed image stored in the buffer 304 is output as a decoded video in the order of display.
- the video decoding device 300 is configured as described above and operates as described above, interoperability between the video encoding device and the video decoding device of the first embodiment is ensured.
- FIG. 15 is a block diagram showing an example of a video system.
- the video system shown in FIG. 15 is a system in which the video encoding device of the first embodiment and the video decoding device 300 of the second embodiment are connected via a wireless transmission path or a wired transmission path 400.
- the configuration and operation of the video encoding device 100 are the same as the configuration and operation of the video encoding device shown in FIG.
- the configuration and operation of video decoding device 300 are the same as those of video decoding device 300 shown in FIG. 14.
- each of the embodiments described above can be configured using hardware, but it is also possible to implement them using a computer program.
- FIG. 16 is a block diagram showing an example of a computer having a CPU.
- a computer can be installed in each of the video encoding device 100 shown in FIG. 1 and the video decoding device 300 shown in FIG. 14.
- the CPU 1000 realizes each function in each of the above embodiments by executing processing according to a program (video encoding program or video decoding program) stored in the storage device 1001.
- the storage device 1001 is, for example, a non-transitory computer readable medium.
- Non-transitory computer-readable media include various types of tangible storage media. Specific examples of non-transitory computer-readable media include magnetic recording media (e.g., hard disks), CD-ROMs (Compact Disc-Read Only Memory), CD-Rs (Compact Disc-Recordable), and CD-R/Ws (Compact Disc-ReWritable), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM).
- magnetic recording media e.g., hard disks
- CD-ROMs Compact Disc-Read Only Memory
- CD-Rs Compact Disc-Recordable
- CD-R/Ws Compact Disc-ReWritable
- semiconductor memory for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM.
- the program may also be stored on various types of transitory computer readable medium.
- the program is supplied to the temporary computer-readable medium, for example, via a wired or wireless communication channel, ie, via an electrical signal, an optical signal, or an electromagnetic wave.
- the memory 1002 is implemented, for example, by RAM (Random Access Memory).
- the memory 1002 is a storage unit that temporarily stores data when the CPU 1000 executes processing. It is also conceivable that a program held in the storage device 1001 or a temporary computer-readable medium is transferred to the memory 1002, and the CPU 1000 executes processing based on the program in the memory 1002.
- memory 1002 can be used as the block memory 106 and frame memory 108 shown in FIG.
- Memory 1002 can be used as buffer 304 shown in FIG.
- FIG. 17 is a block diagram showing the main parts of the video encoding device.
- the video encoding device 10 shown in FIG. 17 selects a predetermined number of subblocks (k subblocks) from among a plurality of subblocks obtained by dividing a block consisting of a plurality of pixels (for example, a block to be encoded).
- a prediction mode candidate is acquired from among all intra prediction modes corresponding to the subblocks using the subblock selection means 11 (in the embodiment, implemented by the block division unit 202).
- the prediction mode acquisition unit 12 (in the embodiment, realized by the sub-block prediction mode determining unit 204) determines the intra prediction mode to be used when intra-coding the block using the prediction mode candidates.
- Prediction mode determining means 13 (in the embodiment, implemented by a predictor 201 and a prediction mode determining unit 205).
- a video encoding device having at least an intra prediction function, subblock selection means for selecting a predetermined number of subblocks from among a plurality of subblocks obtained by dividing a block consisting of a plurality of pixels; For the predetermined number of sub-blocks, a prediction mode acquisition means for acquiring prediction mode candidates from among all intra prediction modes corresponding to the sub-blocks;
- a video encoding device comprising: prediction mode determining means for determining an intra prediction mode to be used when intra encoding the block using the prediction mode candidate.
- the sub-block selection means preferentially selects a sub-block in which the ratio of the number of pixels in the horizontal direction to the number of pixels in the vertical direction is the same as the ratio of the block.
- the sub-block selection means is configured such that the area of a region where a pixel region referred to when intra-prediction is performed for the sub-block and a pixel region referred to when intra-prediction is performed for the block overlaps is predetermined.
- the sub-block selection means may be configured to select an area of a region in which a pixel region to be referred to when intra prediction is performed and a pixel region to be referred to when intra prediction is to be performed for the block overlap among the sub-blocks.
- the sub-block selection means selects sub-blocks located in the long side direction of the rectangle rather than sub-blocks located in the short side direction of the rectangle.
- the subblock selection means selects the rectangular subblock with priority.
- the subblock includes a rectangular subblock and a square subblock.
- the prediction mode determining means calculates the encoding cost when the block is intra-encoded using each of the selected prediction modes, and selects the prediction mode that minimizes the encoding cost.
- a video encoding method having at least an intra prediction function Select a predetermined number of subblocks from among the multiple subblocks obtained by dividing a block consisting of multiple pixels, For the predetermined number of sub-blocks, obtain prediction mode candidates from all intra prediction modes corresponding to the sub-blocks, A video encoding method that determines an intra prediction mode to be used when intra-coding the block using the prediction mode candidates.
- a video system comprising: a video decoding device that has at least an intra prediction function and performs video decoding processing by inputting a bitstream from the video encoding device.
- Video encoding device 11 Sub-block selection means 12 Prediction mode acquisition means 13 Prediction mode determination means 100
- Video encoding device 101 Subtractor 102 Transform/quantizer 103 Inverse quantizer/inverse transformer 104 Entropy encoder 105 Adder 106 Block memory 107 In-loop filter 108 Frame memory 110
- Prediction unit 111 Intra prediction unit 112
- Inter prediction unit 201 Predictor 202
- Block division unit 203 Subblock selection unit 204
- Subblock prediction mode determination unit 205 Prediction mode determination unit 300
- Video decoding device 301 Entropy decoder 302 Inverse quantization/inverse transformer 303 Adder 304 Buffer 310
- Prediction unit 311 Intra prediction unit 312 Inter prediction unit 1000
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
映像符号化装置10は、複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択するサブブロック選択手段11と、所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得する予測モード取得手段12と、ブロックについて、予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する予測モード決定手段13とを含む。
Description
本発明は、少なくともイントラ予測符号化処理を行う映像符号化装置、映像符号化方法および映像システムに関する。
VVC(Versatile Video Coding)と呼ばれる映像符号化方式では、映像の各フレームは符号化ツリーユニット(CTU:Coding Tree Unit)と呼ばれるブロックに分割され、ラスタスキャン順に各CTUの符号化処理が実施される。各CTUは、四分木(QT:Quad-Tree)構造またはマルチタイプ木(MMT:Multi-Type Tree)構造で、符号化ユニット(CU:Coding Unit)に分割されて符号化される。四分木構造を用いる分割では、ブロックが、水平および垂直に等分割される。マルチタイプ木構造を用いる分割では、ブロックが、水平もしくは垂直に2分割または3分割される。
イントラ予測は、符号化対象フレームと表示時刻が同一の再構築画像から予測画像を生成する予測である。VVC方式では、図18に示す65種類の角度イントラ予測が定義されている。図18において、数字は、予測モード番号を示す。角度イントラ予測では、符号化対象ブロック周辺の再構築画素を65種類の方向のいずれかに外挿して、イントラ予測信号が生成される。VVC方式では、角度予測に加えて、符号化対象ブロック周辺の再構築画素を平均するDC予測、および、符号化対象ブロック周辺の再構築画素を線形補間するPlanar予測が定義されている。
イントラ符号化時には、映像符号化装置は、67の予測モード(イントラ予測モード)から、最適な予測モードを選択する。以下、予測モードを選択することを、予測モード決定処理ということがある。映像符号化装置は、予測モード決定処理において、67の予測モードのそれぞれに関してコスト計算を行う。映像符号化装置は、コストを最小にする予測モードを選択する。
そして、映像符号化装置は、選択した予測モードを使用して符号化処理を行う。図19Aおよび図19Bは、イントラ予測の画素参照領域を説明するための説明図である。映像符号化装置は、イントラ符号化処理において、図19Aおよび図19Bに示すように、予測モードに応じて、符号化対象CUの左側と上側の画素値を参照して予測処理を実行する。図19Aおよび図19Bにおいて、矢印は、符号化対象画素と参照画素との関係(参照関係)を示す。図19Aには、水平方向8画素および垂直方向4画素のサイズの符号化対象ブロック(符号化対象CU)が例示されている。図19Bには、水平方向4画素および垂直方向8画素のサイズの符号化対象ブロックが例示されている。以下、水平方向n画素および垂直方向m画素のサイズを、n×mと表現する。なお、図19Aおよび図19Bにおいて、Mode xは、予測モード番号(予測モードx)を示す。Diag.modeは、対角モードを意味する。range of intra prediction angleは、複数の角度予測の各々の角度の範囲を示す。Wは、水平方向の画素数を示す。Hは、垂直方向の画素数を示す。
67の予測モードのそれぞれに関してコスト計算を行うと、予測モード決定処理の計算量が増大する。
特許文献1には、予測モード決定処理の計算量を抑制するための方法が開示されている。
特許文献1に開示された方法では、映像符号化装置は、符号化対象ブロックのサイズがM×Nである場合に、ブロックのサイズがm×n(M>m、N>n)の複数のサブブロックのそれぞれを対象としてイントラ予測を行って、予測画像を生成する。例えば、符号化対象ブロックのサイズが8×8である場合に、4つの4×4のサブブロックのそれぞれを対象としてイントラ予測を行って、予測画像を生成する。それぞれサブブロックについてコストを最小にする予測モードが事前に決定されている。なお、サブブロックは、符号化対象ブロックが分割されることによって生成されるブロックである。当然、サブブロックのサイズは、符号化対象ブロックのサイズよりも小さい。
特許文献1に開示された方法では、映像符号化装置は、4つのサブブロックのそれぞれに関する差分の絶対値和(SAD:Sum of Absolute Difference)を計算する。それぞれの差分は、サブブロックの予測画像と入力画像または再構築画像との差分である。映像符号化装置は、SADを最小にする予測モードを、サブブロックの最適な予測モードとして選択する。すなわち、映像符号化装置は、各々のサブブロックに対応する予測モードを決定する。
映像符号化装置は、符号化対象ブロックに関して、67の予測モードを対象として予測モード決定処理を実行せず、4つのサブブロックのそれぞれに対応する予測モード、すなわち、4つの予測モードを探索の対象として予測モード決定処理を実行する。
特許文献1に開示された方法では、符号化対象ブロックの予測モードを決定するためのすべてのサブブロックのコスト計算を行うので、予測モード決定処理での計算量の削減の効果は十分ではない。
本発明は、予測モードを決定するための計算量をより削減できる映像符号化装置、映像符号化方法および映像システムを提供することを目的とする。
本発明による映像符号化装置は、複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択するサブブロック選択手段と、所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得する予測モード取得手段と、ブロックについて、予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する予測モード決定手段とを含む。
本発明による映像符号化方法は、複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択し、所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得し、ブロックについて、予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する。
本発明による映像符号化プログラムは、コンピュータに、複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択させ、所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得させ、ブロックについて、予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定させる。
本発明による映像システムは、上記の映像符号化装置と、少なくともイントラ予測機能を有し、映像符号化装置からのビットストリームを入力して映像復号処理を行う映像復号装置とを含む。
本発明によれば、予測モードを決定するための計算量をより削減できる。
実施形態1.
図1は、映像符号化を実行可能な映像符号化装置の構成例を示すブロック図である。図1に示す映像符号化装置100は、減算器101、変換/量子化器102、逆量子化/逆変換器103、エントロピー符号化器104、加算器105、ブロックメモリ106、インループフィルタ107、フレームメモリ108、および予測部110を含む。予測部110は、イントラ予測部111とインター予測部112とを含む。
図1は、映像符号化を実行可能な映像符号化装置の構成例を示すブロック図である。図1に示す映像符号化装置100は、減算器101、変換/量子化器102、逆量子化/逆変換器103、エントロピー符号化器104、加算器105、ブロックメモリ106、インループフィルタ107、フレームメモリ108、および予測部110を含む。予測部110は、イントラ予測部111とインター予測部112とを含む。
なお、図1に示す映像符号化装置は、VVC規格に基づいて符号化処理を実行するが、他の規格、例えば、HEVC規格、H.264/AVC規格に基づいて符号化処理を実行してもよい。
減算器101は、ブロック(例えば、PU)ごとに、入力信号(入力画素値)から予測信号を減算し、予測誤差信号を生成する。予測誤差信号は、予測残差または予測残差信号とも呼ばれる。なお、PUのサイズはCUのサイズと等しく設定されることが多いので、以下、ブロックはCUであることを想定する。
変換/量子化器102は、予測誤差信号を周波数変換して変換係数を得る。変換/量子化器102は、さらに、周波数変換された予測誤差信号(変換係数)を量子化する。以下、量子化された変換係数を変換量子化値という。
エントロピー符号化器104は、予測パラメータ(符号化情報)と変換量子化値とをエントロピー符号化する。予測パラメータは、予測部110が決定した予測モード(イントラ予測、インター予測)、イントラ予測ブロックサイズ、イントラ予測方向、インター予測ブロックサイズ、および動きベクトルなど、CTU(Coding Tree Unit)およびブロックの予測に関連した情報である。エントロピー符号化器104から供給されるエントロピー符号化データと他のデータとが多重化され、ビットストリームとして出力される。
逆量子化/逆変換器103は、変換量子化値を逆量子化して変換係数を復元する。さらに、逆量子化/逆変換器103は、逆量子化した変換係数を逆周波数変換して予測誤差信号を復元する。加算器105は、復元された予測誤差信号と予測信号とを加算して再構築信号(再構築画像)を生成する。ブロックメモリ106およびインループフィルタ107は、再構築信号を入力する。
ブロックメモリ106は、符号化対象ピクチャ内の参照ブロックを格納するためのバッファメモリである。
インループフィルタ107は、例えば、デブロッキングフィルタ、サンプル適応オフセットフィルタおよび適応ループフィルタを含み、適切なフィルタリングを行う。インループフィルタ107でフィルタリングされた再構築信号は、フレームメモリ108に格納される。
イントラ予測部111は、符号化対象ブロックとは異なるフレームメモリ108内の参照ブロックを参照して、符号化対象ブロックについてイントラ予測を行い、予測信号(この場合には、イントラ予測信号)を生成する。
予測モード決定処理が実行されるときに、イントラ予測部111は、符号化対象のブロックのための予測方向を決定する。VVC方式が用いられている場合、イントラ予測部111は、67種類の予測方向から、符号化効率が最もよい予測方向を選択する。例えば、イントラ予測部111は、符号化コストを最小にする予測モードを、予測方向として選択する。後述するように、本実施形態では、イントラ予測部111は、サブブロックを利用して予測方向を選択する。また、本実施形態では、予測方向と予測モード(厳密には、角度予測の予測モード)とは1対1に対応する。
なお、予測モード決定処理は、イントラ予測部111の外部で実行されてもよい。
図2は、イントラ予測部111の構成例を示すブロック図である。イントラ予測部111は、予測器201、ブロック分割部202、サブブロック選択部203、サブブロック予測モード決定部204、および予測モード決定部205を含む。ブロック分割部202、サブブロック選択部203、サブブロック予測モード決定部204、および予測モード決定部205は、予測モード決定処理を実行する予測モード決定処理部を構成する。
予測器201は、イントラ予測を行う。ブロック分割部202は、処理対象ブロックを所定のサイズの複数のサブブロックに分割する。
サブブロック選択部203は、所定の基準に従って、ブロック分割部202が得た複数のサブブロックから、所定数のサブブロックを選択する。所定数として、サブブロックの総数以下の任意の数が選択されうる。しかし、予測モードを決定するための計算量をより削減するために、所定数は、サブブロックの総数未満であることが好ましい。以下、所定数がサブブロックの総数未満である場合を例にする。選択されるサブブロックの数をkとする。
サブブロック予測モード決定部204は、選択されたサブブロックの各々を対象として、複数の予測方向のそれぞれを使用してサブブロックが符号化されたときの、それぞれの発生符号量に対応する符号量コストを計算する。サブブロック予測モード決定部204は、さらに、複数の予測方向のそれぞれを使用してサブブロックが符号化されたときの、それぞれの符号化歪みを計算する。サブブロック予測モード決定部204は、各々の符号量Rと各々の符号化歪みDとを使用して、符号化コストを計算する。例えば、サブブロック予測モード決定部204は、下記の(1)式で表されるRD(Rate-distortion)コストを計算する。下記の(1)式において、λは、ラグランジュ乗数である。そして、サブブロック予測モード決定部204は、最小のRDコストに対応する予測方向を、符号化効率を最も高くする予測方向すなわちサブブロックの予測モードとして決定する。以上のような処理によって、複数のサブブロックの各々に対応する最適な予測モードが決定される。
Cost=D+λR ・・・(1)
なお、予測モードの選択方法は、RDコストを用いる方法に限定されない。予測モードを選択するときに、例えば、予測画像と入力画像(この例では、サブブロック)または再構築画像との差分の絶対値和(SAD)等を用いてもよい。
本実施形態では、サブブロック予測モード決定部204が、サブブロックの各々に対応する予測モード(サブブロック各々の予測モード)を決定する処理を実行する。しかし、後述するように、既に決定されているサブブロック各々の予測モードを流用して、サブブロックの予測モードを決定するようにしてもよい。
なお、映像符号化装置100が、ブロックの形状を決定するときなどに、各々のサイズ(例えば、4×4、8×8)のサブブロックの予測モードを決定する処理が実行されるように構成されていることもある。その場合には、サブブロック予測モード決定部204は、既に決定されている予測モードから、選択されたサブブロックの予測モードを選択できる。
一例として、サブブロックのサイズが8×8であることを想定する。当該サブブロックが包含する4つの4×4のサブブロック(下位のサブブロックといえる。)のそれぞれに適する予測モードが決定されている場合、サブブロック予測モード決定部204は、下位のサブブロックのそれぞれに適する予測モードから予測モード候補を選択する。この場合、サブブロック予測モード決定部204は、例えば、下位のサブブロックのそれぞれに適する予測モードを用いて、サブブロック(この例では、8×8のサブブロック)に関する符号化コストを計算し、符号化コストを最小にする予測モードを、予測モード候補とする。なお、下位のサブブロックの予測モードは、8×8のサブブロックに対応する予測モードに相当する。なお、サブブロックのサイズが8×8であることは一例であって、サブブロックのサイズが他の値であっても、上記の考え方を適用可能である。
予測モード決定部205は、符号化対象ブロックの予測モードを決定する。具体的には、予測モード決定部205は、選択された複数のサブブロックの予測モードから、符号化対象ブロックの予測モードを選択する。例えば、選択されたサブブロックの数が3であり、それぞれに対応する予測モードが、予測モード2、予測モード3、予測モード4である場合には、予測モード決定部205は、予測モード2、予測モード3、および予測モード4のうちから予測モードを選択する。予測モード決定部205は、符号化対象ブロックの予測モードを決定するときに、上記のサブブロックの予測モードを決定するときに用いた方法と同じ方法を用いることができる。
次に、予測モード決定部205が実行する処理を説明する。図3は、予測モード決定部205が実行する処理の前提としての処理を説明するための説明図である。図3に示す例では、符号化対象ブロックのサイズは8×8であり、4つのサブブロックのサイズは、それぞれ、4×4である。なお、図3には、前提としての処理を説明するための例が示されているのであり、本実施形態における予測モード決定部205は、図3に示す例で説明される処理を実行しない。
図3において、符号化対象ブロックは、太線で囲われているブロックである。また、図3において、選択されるサブブロックは、太線で囲われているブロックである。図3以外の図面でも、符号化対象ブロックは、太線で囲われるように示される。また、選択されるサブブロックは、太線で囲われるように示される。図3において、矢印は、符号化対象画素と参照画素との関係(参照関係)を示す。図3以外の図面でも、矢印は、参照関係を示す。
符号化対象ブロックの予測モードを決定するときに、RDコストが用いられる場合を例にする。左上のサブブロックを第1サブブロック601とする。右上のサブブロックを第2サブブロック602とする。左下のサブブロックを第3サブブロック603とする。右下のサブブロックを第4サブブロック604とする。
一例として、第1サブブロック601に対して決定された予測モードを、予測モード2とする。第2サブブロック602に対して決定された予測モードを、予測モード3とする。第3サブブロック603に対して決定された予測モードを、予測モード4とする。第4サブブロック604に対して決定された予測モードを、予測モード5とする。
符号化対象ブロック(8×8のブロック)の予測モードを決定するときに、符号化対象ブロックが予測モード2、すなわち、第1サブブロック601に対して決定された予測モードを用いてイントラ符号化された場合のRDコストが計算される。符号化対象ブロックが予測モード3、すなわち、第2サブブロック602に対して決定された予測モードを用いてイントラ符号化された場合のRDコストが計算される。符号化対象ブロックが予測モード4、すなわち、第3サブブロック603に対して決定された予測モードを用いてイントラ符号化された場合のRDコストが計算される。符号化対象ブロックが予測モード5、すなわち、第4サブブロック604に対して決定された予測モードを用いてイントラ符号化された場合のRDコストが計算される。その結果、4つのRDコストが得られる。
そして、4つのRDコストのうち、最小のRDコストを呈した予測モード(最小のRDコストに対応する予測モード)が、符号化対象ブロックがイントラ符号化されるときに使用されるべき最適な予測モードとして決定される。
図4は、本実施形態における予測モード決定部205が実行する処理の一例を説明するための説明図である。
予測モード決定部205は、符号化対象ブロックを対象として、第1~第4サブブロック601~604のうち、所定の基準に従って選択されたサブブロックに対応する予測モードのみに関するRDコストを算出する。図4には、第1~第3サブブロック601~603が選択されたことが示されている。すなわち、予測モード決定部205は、符号化対象ブロックが予測モード2、すなわち、第1サブブロック601に対して決定された予測モードを用いてイントラ符号化した場合のRDコストを計算する。また、予測モード決定部205は、符号化対象ブロックが予測モード3、すなわち、第2サブブロック602に対して決定された予測モードを用いてイントラ符号化した場合のRDコストを計算する。さらに、予測モード決定部205は、符号化対象ブロックが予測モード4、すなわち、第3サブブロック603に対して決定された予測モードを用いてイントラ符号化した場合のRDコストを計算する。その結果、3つのRDコストが得られる。
そして、予測モード決定部205は、3つのRDコストのうち、最小のRDコストに対応する予測モードを、符号化対象ブロックがイントラ符号化されるときに使用されるべき予測モードとして決定する。
図3に示された例で説明される処理と、図4に示された例で説明される処理とを比較すると、図4に示された例で説明される処理の方が、符号化対象ブロックで使用されるべき予測モードを決定するための計算量は少ない。すなわち、本実施形態では、イントラ予測部111が、サブブロックの予測モードを利用して符号化対象ブロックの予測モードを決定するように構成されている場合に、計算量を削減することができる。また、複数のサブブロックのうちには、符号化対象ブロックに適する予測モードとは大きく異なる予測モードが最適な予測モードとされるものがある可能性がある。そのような予測モードについても符号化対象ブロックの予測モードの探索対象とするのは無駄である。しかし、本実施形態では、そのような無駄の発生を低減することもできる。
次に、イントラ予測部111の動作を説明する。図5は、イントラ予測部111の動作を示すフローチャートである。
ブロック分割部202は、処理対象ブロックを所定のサイズの複数のサブブロックに分割する(ステップS101)。サブブロックのサイズは、あらかじめ決められるが、任意に設定可能である。なお、サブブロックのサイズは、要求される画質や装置の処理能力などを勘案して決定される。
図6は、符号化対象ブロックの分割の仕方の一例を示すブロック図である。図6には、16×16の符号化対象ブロックが例示されている。また、8×8のサブブロックと4×4のサブブロックとが例示されている。すなわち、符号化対象ブロックが4分割される例と、符号化対象ブロックが16分割される例とが示されている。
図6に示す例では、サブブロックのサイズが8×8である場合には、ブロック分割部202は、符号化対象ブロックを4個のサブブロックに分割する。サブブロックのサイズが4×4である場合には、サブブロック選択部203は、符号化対象ブロックを16個のサブブロックに分割する。
4個のサブブロックが生成された場合、サブブロック選択部203は、4個未満(一例として3個)のサブブロックを選択する。16個のサブブロックが生成された場合、サブブロック選択部203は、16個未満(一例として、5個)のサブブロックを選択する。
図6に例示された符号化対象ブロックの分割の仕方は一例であって、符号化対象ブロッは、任意のサイズのサブブロックに分割可能である。
サブブロック選択部203は、ブロック分割部202が生成したサブブロックの総数未満のサブブロックを選択する(ステップS102)。
予測器201は、サブブロックの各々を対象として、67種類の予測モードの各々を用いてイントラ符号化を行う。サブブロック予測モード決定部204は、サブブロックの各々を対象として、RDコストを計算する。サブブロック予測モード決定部204は、サブブロックの各々について、符号化効率が最もよい予測モードを、サブブロックの予測モードに決定する(ステップS103)。なお、例えば、符号化効率が最もよい予測モードを推測可能である場合には、予測器201は、推測される予測モードを含む複数の予測モード(67未満の予測モード)のみを用いてイントラ予測を行ってもよい。
ステップS103の処理で、予測モード候補に相当するk個の予測モードが取得される。なお、各々のサブブロックに対応する予測モードが決定済みである場合には、サブブロック予測モード決定部204は、ステップS103において、決定済みの予測モードに基づいて、予測モード候補を取得できる。上述したように、サブブロックに対応する予測モードは、例えば、下位のサブブロックのそれぞれに適するとされた予測モードである。
なお、k個の予測モードのうちに重複する予測モードが存在する場合には、サブブロック予測モード決定部204は、重複する予測モードを1つの予測モードと見なす。例えば、k個の予測モードのうちに、予測モード2が2つある場合には、サブブロック予測モード決定部204は、(k-1)個の予測モードを決定することになる。
サブブロック選択部203によって選択されるサブブロックの数は、任意である。図7は、選択されるサブブロックの数の例を示す説明図である。図7における左側には、4個のサブブロックから3個のサブブロックが選択される例が示されている。図7における中央には、16個のサブブロックから7個のサブブロックが選択される例が示されている。図7における右側には、16個のサブブロックから5個のサブブロックが選択される例が示されている。
サブブロック選択部203によって選択されるサブブロックの数は、例えば、要求される予測精度や装置の処理能力などを勘案してあらかじめ決定される。
なお、ブロック分割部202は、4個のサブブロックへの分割と16個のサブブロックへの分割とを、排他的に実行してもよいし、ともに実行してもよい。ブロック分割部202によって4個のサブブロックへの分割と16個のサブブロックへの分割とがともに実行される場合には、ブロック分割部202は、4個の8×8のサブブロックを特定可能な情報(データ)と、16個の4×4のサブブロックを特定可能な情報とを、サブブロック選択部203に出力する。
サブブロック選択部203は、4個の8×8のサブブロックから4個未満のサブブロックを選択するとともに、16個の4×4のサブブロックから16個未満のサブブロックを選択する。サブブロック選択部203は、選択したブロックを予測器201に通知する。なお、選択されるサブブロックの数が20未満であれば、4個の8×8のサブブロックを選択したり、16個の4×4のサブブロックを選択してもよい。
予測器201は、k個の予測モードのそれぞれを用いて符号化対象ブロックをイントラ符号化する。なお、上述したように、予測モードの数はkよりも少ないことがある。
そして、予測モード決定部205は、k個の予測モードの各々を使用して符号化された場合の符号化コスト(本実施形態では、RDコスト)を計算する(ステップS104)。予測モード決定部205は、符号化コストを最小にする予測モードを選択する(ステップS105)。予測モード決定部205は、選択した予測モードを、符号化対象ブロックが実際に符号化されるときに使用されるべき予測モードに決定する。
次に、複数のサブブロックから所定数のサブブロックを選択するときの選択の基準の例を説明する。
図8は、サブブロックを選択するときの選択の基準の一例を説明するための説明図である。図8に示す例では、8×8の符号化対象ブロックが、4個の4×4のサブブロックに分割される。図8における符号Aで示されている部分には、左上のサブブロックにおける符号化対象画素と参照画素との関係(参照関係)が例示されている。
図8における符号Bで示されている部分には、右下のサブブロックにおける参照関係が例示されている。図8に示すように、右下のサブブロックの符号化対象画素に対する参照画素領域(イントラ予測が行われるときに参照される画素領域)は、符号化対象ブロックにおける符号化対象画素に対する参照画素領域とは異なっている。一般に、あるブロックの参照画素領域と他のブロックの参照画素領域とが異なる場合には、双方のブロックに対する最適予測モードがかけ離れる。すなわち、双方のブロックに適する予測モード番号がかけ離れる。そのような状況において、あるブロックに適する予測モードを用いて他のブロックのイントラ符号化を実行すると、予測精度が低下する。
換言すれば、サブブロックの符号化対象画素に対する参照画素領域と符号化対象ブロックにおける符号化対象画素に対する参照画素領域とが重なるような場合には、サブブロックについての予測モードおよび予測結果と、符号化対象ブロックについての予測モードおよび予測結果との相関度が高い。そのような状況において、サブブロックに適する予測モードを用いて符号化対象ブロックのイントラ符号化を実行すると、予測精度が高くなる。
そこで、本実施形態では、サブブロック選択部203は、符号化対象ブロックにおける符号化対象画素の参照画素領域と重なる面積(重なる領域の面積)が大きい参照画素領域を有するサブブロックを優先して選択する。図8に示す例では、右下のサブブロックの参照画素領域と符号化対象ブロックにおける符号化対象画素の参照画素領域との重なりはない。
そこで、図8における符号Cで示されている部分に例示されているように、サブブロック選択部203は、例えば、参照画素領域が符号化対象画素の参照画素領域と重なる面積が大きい、左上のサブブロック、右上のサブブロックおよび左下のサブブロックを選択する。
なお、サブブロックが選択される基準となる参照画素領域が重なる面積(しきい値)があらかじめ決められている場合、例えば、サブブロック選択部203は、しきい値を超えるサブブロックを選択する。
図9は、参照画素領域の重なりをより詳しく説明するための説明図である。図9に示す例では、8×8の符号化対象ブロックが、16個の4×4のサブブロックに分割される。左上のサブブロックに着目すると、そのサブブロックについての参照画素領域は、符号化対象ブロックについての参照画素領域に包含されている。
図10は、長方形のサブブロックを選択するときの選択の基準の一例を説明するための説明図である。VVC方式では、長方形のCUも使用可能である。図8および図9に例示された正方形の符号化対象ブロックの場合の基準を、長方形の符号化対象ブロックにも適用できる。
図10には、8×16の長方形の符号化対象ブロックと、4×8の4個のサブブロックが例示されている。サブブロックの形状が正方形である場合と同様に、右下のサブブロックの参照画素領域と符号化対象ブロックの参照画素領域とが重なる面積は小さい。
サブブロック選択部203は、右下のサブブロックを選択しない。例えば、サブブロック選択部203は、参照画素領域が符号化対象画素の参照画素領域と重なる面積が大きい、左上のサブブロック、右上のサブブロックおよび左下のサブブロックを選択する。
図11は、長方形のCUの分割の仕方の一例を示す説明図である。図11には、8×16の長方形の符号化対象ブロックが例示されている。この場合、ブロック分割部202は、正方形のサブブロックを生成できるとともに、長方形のサブブロックを生成できる。図11には、4×4の8個のサブブロックと、4×8の4個のサブブロックとが例示されている。
本実施形態を使用しない場合には、予測モード決定部は、予測モード決定処理において、12個のサブブロックの各々に対応する予測モードから、符号化対象ブロックに対する最適な予測モードを選択する。
図12は、正方形のサブブロックと長方形のサブブロックとを選択するときの選択の基準の一例を説明するための説明図である。
本実施形態では、サブブロック選択部203は、上述したように、正方形のサブブロックに関して、符号化対象ブロックにおける符号化対象画素の参照画素領域と重なる面積が大きい参照画素領域を有するサブブロックを優先して選択する。また、長方形のサブブロックに関しても、符号化対象ブロックにおける符号化対象画素の参照画素領域と重なる面積が大きい参照画素領域を有するサブブロックを優先して選択する。図12には、サブブロック選択部203は、12個のサブブロックから、8個のサブブロックを選択することが例示されている。
図13は、サブブロックを選択するときの選択の基準の他の例を説明するための説明図である。図13には、8×16の符号化対象ブロックが例示されている。また、図13には、4×4の8個のサブブロックと、4×8の4個のサブブロックとが例示されている。
なお、本実施形態では、サブブロック選択部203は、符号化対象ブロックの形状と同じ形状のサブブロックを優先して選択する。同じ形状は、符号化対象ブロックの水平方向の画素数と垂直方向の画素数との比と、サブブロックの水平方向の画素数と垂直方向の画素数との比とが同じであることを意味する。
符号化対象ブロックの形状と同じ形状のサブブロックを優先して選択する理由は、形状が同じであれば、サブブロックについての予測モードおよび予測結果と、符号化対象ブロックについての予測モードおよび予測結果との相関度が高いと考えられるからである。
また、符号化対象ブロックが長方形であるときに、ブロック分割部202が長方形のサブブロックと正方形のサブブロックとを生成した場合には、サブブロック選択部203は、長方形のサブブロックを優先して選択する。長方形のサブブロックを優先して選択する理由は、長方形のサブブロックの方が、符号化対象ブロックの参照画素領域と重なる面積が大きい参照画素領域を有するからである。
また、符号化対象ブロックが長方形であるときに、ブロック分割部202が長方形のサブブロックを生成した場合には、サブブロック選択部203は、長方形の短辺方向に位置するサブブロックよりも、長方形の長辺方向に位置するサブブロックを優先して選択する。図13に示す例では、サブブロック選択部203は、左上のサブブロックaに対して長方形の長辺方向に位置するサブブロックbを、短辺方向に位置するサブブロックcよりも優先して選択する。長辺方向に位置するサブブロックを優先して選択する理由は、長辺方向に位置するサブブロックの方が、短辺方向に位置するサブブロックに比べて、符号化対象ブロックの参照画素領域と重なる面積が大きい参照画素領域を有するからである。
なお、図13には、サブブロック選択部203によって選択されるサブブロックの数が5である場合が例示されている。
サブブロック選択部203は、上記の基準すなわち参照画素領域が重なる面積に基づいて、サブブロックa、サブブロックb、サブブロックc、サブブロックd、サブブロックeの順にサブブロックを選択する。
以上に説明したように、本実施形態では、映像符号化装置は、複数のサブブロックの各々の予測モードを利用して符号化対象ブロックの予測モードを決定するように構成されている場合に、所定の基準に従って、生成されたサブブロックから、所定数のサブブロックを選択する。そして、映像符号化装置は、選択されたサブブロックの各々の予測モードに基づいて、符号化対象ブロックの予測モードを決定する。したがって、予測モード決定処理の計算量を削減することができる。
上記の実施形態では、符号化対象ブロックがサブブロックで構成される場合を例にして、映像符号化装置の構成および動作が説明された。しかし、上記の実施形態を、符号化対象ブロックの予測モードを決定する処理における中途の処理にも適用可能である。
一例として、最小CUサイズを8×8とする。また、最大CUサイズを32×32とする。32×32のブロックは、4個の16×16のサブブロック(第1サブブロック)を含む。16×16のサブブロックは、4個の8×8のサブブロック(第2サブブロック)を含む。
予測モード決定処理部は、4個の第2サブブロックの各々に対する最適な予測モードを、67の予測モードから選択する。すなわち、予測モード決定処理部は、4つの予測モードを得る。予測モード決定処理部は、例えば、上述したように符号化コストに基づいて予測モードを選択する。
次いで、予測モード決定処理部は、4個の第1サブブロックの各々に対する最適な予測モードを、第2サブブロックについての4つの予測モードから選択する。すなわち、予測モード決定処理部は、4つの予測モードを得る。予測モード決定処理部は、例えば、上述したように符号化コストに基づいて予測モードを選択する。このとき、第1サブブロックをブロックと見なし、第2サブブロックをサブブロックと見なせば、予測モード決定処理部は、所定数のサブブロックの予測モードから、ブロックがイントラ符号化されるときに用いられる予測モードを選択することになる。
さらに、予測モード決定処理部は、32×32のブロックに対する最適な予測モードを、第1サブブロックについての4つの予測モードから選択する。予測モード決定処理部は、例えば、上述したように符号化コストに基づいて予測モードを選択する。このとき、第1サブブロックをサブブロックと見なせば、予測モード決定処理部は、所定数のサブブロックの予測モードから、32×32のブロックがイントラ符号化されるときに用いられる予測モードを選択することになる。
以上のように、第1~第3の段階における予測モードを決定する処理に対して、上記の実施形態を適用可能である。なお、上記の例では、第1の段階は、8×8のサブブロックの最適な予測モードを決定する段階に相当する。第2の段階は、16×16のサブブロックの最適な予測モードを決定する段階に相当する。第3の段階は、32×32のサブブロックの最適な予測モードを決定する段階に相当する。
サブブロックの形状が正方形である場合の例が説明されたが、長方形のサブブロックが扱われる場合、および、長方形のサブブロックと正方形のサブブロックとがともにが扱われる場合(長方形のサブブロックと正方形のサブブロックとが混在する場合)にも、上記の第1~第3の段階における予測モードを決定する処理を適用可能である。なお、段階数は3に限られない。4以上の段階があってもよい。
また、映像符号化装置が、ブロックの形状を決定するときなどに、上記の複数の段階を経て最終的なブロック(上記の例では、32×32のブロック)に対する最適な予測モードを決定する処理を実行するように構成されることがある。その場合には、予測モード決定処理部は、既に決定されている予測モードを、サブブロックの予測モードとして使用してもよい。
実施形態2.
図14は、映像復号装置の構成例を示すブロック図である。図14に示す映像復号装置300は、エントロピー復号器301、逆量子化/逆変換器302、加算器303、予測部310、およびバッファ304を含む。予測部310は、イントラ予測部311およびインター予測部312を含む。なお、図14に示す映像復号装置は、例えば、第1の実施形態の映像符号化装置からのビットストリームを受信することができる。
図14は、映像復号装置の構成例を示すブロック図である。図14に示す映像復号装置300は、エントロピー復号器301、逆量子化/逆変換器302、加算器303、予測部310、およびバッファ304を含む。予測部310は、イントラ予測部311およびインター予測部312を含む。なお、図14に示す映像復号装置は、例えば、第1の実施形態の映像符号化装置からのビットストリームを受信することができる。
エントロピー復号器301は、エントロピー符号化データをエントロピー復号する。エントロピー符号化データは、予測パラメータがエントロピー符号化されたデータと変換量子化値がエントロピー符号化されたデータとを含む。エントロピー復号器301は、エントロピー復号した変換量子化値を逆量子化/逆変換器302に供給する。また、エントロピー復号器301は、エントロピー復号した予測パラメータを、予測部310に供給する。
逆量子化/逆変換器302は、変換量子化値を逆量子化する。さらに、逆量子化/逆変換器302は、逆量子化した周波数変換係数を逆周波数変換する。
予測部310は、予測パラメータに基づいて、各ブロックの予測信号を生成する。なお、予測パラメータがイントラ予測を示している場合には、イントラ予測部311が予測信号を生成する。予測パラメータがインター予測を示している場合には、インター予測部312が予測信号を生成する。
なお、イントラ予測部311は、予測パラメータ(具体的には、イントラ予測に関するシンタクス)から、予測モードを特定する。
逆量子化/逆変換器302で逆周波数変換された予測誤差信号は、加算器303によって、予測部310から供給される予測信号が加えられた後、再構築画像としてバッファ304に供給される。バッファ304は、再構築画像を格納する。バッファ304に格納された各再構築画像は、表示順に復号映像として出力される。
映像復号装置300が、上記のように構成され、かつ、上記のように動作するので、第1の実施形態の映像符号化装置と映像復号装置との相互運用性が確保される。
実施形態3.
図15は、映像システムの一例を示すブロック図である。図15に示す映像システムは、第1の実施形態の映像符号化装置と第2の実施形態の映像復号装置300とが、無線伝送路または有線伝送路400で接続されるシステムである。
図15は、映像システムの一例を示すブロック図である。図15に示す映像システムは、第1の実施形態の映像符号化装置と第2の実施形態の映像復号装置300とが、無線伝送路または有線伝送路400で接続されるシステムである。
映像符号化装置100の構成および動作は、図1に示された映像符号化装置の構成および動作と同じである。映像復号装置300の構成および動作は、図14に示された映像復号装置300の構成および動作と同じである。
また、上記の各実施形態を、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
図16は、CPUを有するコンピュータの一例を示すブロック図である。コンピュータは、図1に示された映像符号化装置100と図14に示された映像復号装置300のそれぞれに実装可能である。CPU1000は、記憶装置1001に格納されたプログラム(映像符号化プログラムまたは映像復号プログラム)に従って処理を実行することによって、上記の各実施形態における各機能を実現する。
すなわち、コンピュータが図1に示された映像符号化装置100に実装される場合には、映像符号化装置100における、減算器101、変換/量子化器102、逆量子化/逆変換器103、エントロピー符号化器104、加算器105、インループフィルタ107、ならびに予測部110におけるイントラ予測部111およびインター予測部112の機能を実現する。
コンピュータが図14に示された映像復号装置300に実装される場合には、映像復号装置300における、エントロピー復号器301、逆量子化/逆変換器302、加算器303、ならびに予測部310におけるイントラ予測部311およびインター予測部312の機能を実現する。
記憶装置1001は、例えば、非一時的なコンピュータ可読媒体(non-transitory computer readable medium )である。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium )を含む。非一時的なコンピュータ可読媒体の具体例として、磁気記録媒体(例えば、ハードディスク)、CD-ROM(Compact Disc-Read Only Memory )、CD-R(Compact Disc-Recordable )、CD-R/W(Compact Disc-ReWritable )、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM )、フラッシュROM)がある。
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium )に格納されてもよい。一時的なコンピュータ可読媒体には、例えば、有線通信路または無線通信路を介して、すなわち、電気信号、光信号または電磁波を介して、プログラムが供給される。
メモリ1002は、例えばRAM(Random Access Memory)で実現される。メモリ1002は、CPU1000が処理を実行するときに一時的にデータを格納する記憶手段である。メモリ1002に、記憶装置1001または一時的なコンピュータ可読媒体が保持するプログラムが転送され、CPU1000がメモリ1002内のプログラムに基づいて処理を実行するような形態も想定しうる。
また、メモリ1002は、図1に示されたブロックメモリ106およびフレームメモリ108として使用可能である。メモリ1002は、図14に示されたバッファ304として使用可能である。
図17は、映像符号化装置の主要部を示すブロック図である。図17に示す映像符号化装置10は、複数画素からなるブロック(例えば、符号化対象ブロック)を分割して得られる複数のサブブロックのうちから所定数のサブブロック(k個のサブブロック)を選択するサブブロック選択手段11(実施形態では、ブロック分割部202で実現される。)と、所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得する予測モード取得手段12(実施形態では、サブブロック予測モード決定部204で実現される。)と、ブロックについて、予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する予測モード決定手段13(実施形態では、予測器201および予測モード決定部205で実現される。)とを備えている。
上記の実施形態および実施例の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)少なくともイントラ予測機能を有する映像符号化装置であって、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択するサブブロック選択手段と、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得する予測モード取得手段と、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する予測モード決定手段と
を備えた映像符号化装置。
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択するサブブロック選択手段と、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得する予測モード取得手段と、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する予測モード決定手段と
を備えた映像符号化装置。
(付記2)前記所定数は、前記複数のサブブロックの総数未満である
付記1記載の映像符号化装置。
付記1記載の映像符号化装置。
(付記3)前記サブブロック選択手段は、水平方向の画素数と垂直方向の画素数との比が、前記ブロックの当該比と同じであるサブブロックを優先して選択する
付記1または付記2記載の映像符号化装置。
付記1または付記2記載の映像符号化装置。
(付記4)前記サブブロック選択手段は、サブブロックについてイントラ予測が行われるときに参照される画素領域と前記ブロックについてイントラ予測が行われるときに参照される画素領域とが重なる領域の面積が所定値よりも大きいサブブロックを選択する
付記1または付記2記載の映像符号化装置。
付記1または付記2記載の映像符号化装置。
(付記5)前記サブブロック選択手段は、サブブロックのうち、イントラ予測が行われるときに参照される画素領域と前記ブロックについてイントラ予測が行われるときに参照される画素領域とが重なる領域の面積が所定値よりも大きいサブブロックから、前記所定数のサブブロックを順に選択する
付記4記載の映像符号化装置。
付記4記載の映像符号化装置。
(付記6)前記ブロックが長方形であり、サブブロックが正方形である場合に、前記サブブロック選択手段は、長方形の短辺方向に位置するサブブロックよりも、長方形の長辺方向に位置するサブブロックを優先して選択する
付記1または付記2記載の映像符号化装置。
付記1または付記2記載の映像符号化装置。
(付記7)前記ブロックが長方形であり、サブブロックに長方形のサブブロックと正方形のサブブロックとが含まれる場合に、前記サブブロック選択手段は、長方形のサブブロックを優先して選択する
付記1または付記2記載の映像符号化装置。
付記1または付記2記載の映像符号化装置。
(付記8)前記予測モード決定手段は、選択された予測モードの各々を用いて前記ブロックがイントラ符号化された場合の符号化コストを計算し、符号化コストを最小にする予測モードを、前記ブロックがイントラ符号化されるときに用いられる予測モードとする
付記1または付記2記載の映像符号化装置。
付記1または付記2記載の映像符号化装置。
(付記9)少なくともイントラ予測機能を有する映像符号化方法であって、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択し、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得し、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する
映像符号化方法。
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択し、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得し、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する
映像符号化方法。
(付記10)コンピュータに、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択させ、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得させ、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定させる
ための映像符号化プログラム。
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択させ、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得させ、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定させる
ための映像符号化プログラム。
(付記11)付記1記載の映像符号化装置と、
少なくともイントラ予測機能を有し、前記映像符号化装置からのビットストリームを入力して映像復号処理を行う映像復号装置と
を含む映像システム。
少なくともイントラ予測機能を有し、前記映像符号化装置からのビットストリームを入力して映像復号処理を行う映像復号装置と
を含む映像システム。
10 映像符号化装置
11 サブブロック選択手段
12 予測モード取得手段
13 予測モード決定手段
100 映像符号化装置
101 減算器
102 変換/量子化器
103 逆量子化/逆変換器
104 エントロピー符号化器
105 加算器
106 ブロックメモリ
107 インループフィルタ
108 フレームメモリ
110 予測部
111 イントラ予測部
112 インター予測部
201 予測器
202 ブロック分割部
203 サブブロック選択部
204 サブブロック予測モード決定部
205 予測モード決定部
300 映像復号装置
301 エントロピー復号器
302 逆量子化/逆変換器
303 加算器
304 バッファ
310 予測部
311 イントラ予測部
312 インター予測部
1000 CPU
1001 記憶装置
1002 メモリ
11 サブブロック選択手段
12 予測モード取得手段
13 予測モード決定手段
100 映像符号化装置
101 減算器
102 変換/量子化器
103 逆量子化/逆変換器
104 エントロピー符号化器
105 加算器
106 ブロックメモリ
107 インループフィルタ
108 フレームメモリ
110 予測部
111 イントラ予測部
112 インター予測部
201 予測器
202 ブロック分割部
203 サブブロック選択部
204 サブブロック予測モード決定部
205 予測モード決定部
300 映像復号装置
301 エントロピー復号器
302 逆量子化/逆変換器
303 加算器
304 バッファ
310 予測部
311 イントラ予測部
312 インター予測部
1000 CPU
1001 記憶装置
1002 メモリ
Claims (10)
- 少なくともイントラ予測機能を有する映像符号化装置であって、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択するサブブロック選択手段と、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得する予測モード取得手段と、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する予測モード決定手段と
を備えた映像符号化装置。 - 前記所定数は、前記複数のサブブロックの総数未満である
請求項1記載の映像符号化装置。 - 前記サブブロック選択手段は、水平方向の画素数と垂直方向の画素数との比が、前記ブロックの当該比と同じであるサブブロックを優先して選択する
請求項1または請求項2記載の映像符号化装置。 - 前記サブブロック選択手段は、サブブロックについてイントラ予測が行われるときに参照される画素領域と前記ブロックについてイントラ予測が行われるときに参照される画素領域とが重なる領域の面積が所定値よりも大きいサブブロックを選択する
請求項1または請求項2記載の映像符号化装置。 - 前記サブブロック選択手段は、サブブロックのうち、イントラ予測が行われるときに参照される画素領域と前記ブロックについてイントラ予測が行われるときに参照される画素領域とが重なる領域の面積が所定値よりも大きいサブブロックから、前記所定数のサブブロックを順に選択する
請求項4記載の映像符号化装置。 - 前記ブロックが長方形であり、サブブロックが正方形である場合に、前記サブブロック選択手段は、長方形の短辺方向に位置するサブブロックよりも、長方形の長辺方向に位置するサブブロックを優先して選択する
請求項1または請求項2記載の映像符号化装置。 - 前記ブロックが長方形であり、サブブロックに長方形のサブブロックと正方形のサブブロックとが含まれる場合に、前記サブブロック選択手段は、長方形のサブブロックを優先して選択する
請求項1または請求項2記載の映像符号化装置。 - 少なくともイントラ予測機能を有する映像符号化方法であって、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択し、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得し、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定する
映像符号化方法。 - コンピュータに、
複数画素からなるブロックを分割して得られる複数のサブブロックのうちから所定数のサブブロックを選択させ、
前記所定数のサブブロックについて、サブブロックに対応するイントラ予測モードのすべてのうちから、予測モード候補を取得させ、
前記ブロックについて、前記予測モード候補を用いて、イントラ符号化するときに使用するイントラ予測モードを決定させる
ための映像符号化プログラムが格納されたコンピュータ読み取り可能な記録媒体。 - 請求項1記載の映像符号化装置と、
少なくともイントラ予測機能を有し、前記映像符号化装置からのビットストリームを入力して映像復号処理を行う映像復号装置と
を含む映像システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022079888A JP7392764B2 (ja) | 2022-05-16 | 2022-05-16 | 映像符号化装置、映像符号化方法および映像システム |
JP2022-079888 | 2022-05-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023223705A1 true WO2023223705A1 (ja) | 2023-11-23 |
Family
ID=88835333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2023/014338 WO2023223705A1 (ja) | 2022-05-16 | 2023-04-07 | 映像符号化装置、映像符号化方法および映像システム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7392764B2 (ja) |
WO (1) | WO2023223705A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120090584A (ko) * | 2011-02-08 | 2012-08-17 | 연세대학교 산학협력단 | 인트라 예측 모드 결정 방법 및 장치 |
US20200169752A1 (en) * | 2017-05-04 | 2020-05-28 | Interdigital Vc Holdings, Inc. | Method and apparatus for most probable mode (mpm) reordering for intra prediction |
WO2021117091A1 (ja) * | 2019-12-09 | 2021-06-17 | 日本電信電話株式会社 | 符号化方法、符号化装置、及びプログラム |
-
2022
- 2022-05-16 JP JP2022079888A patent/JP7392764B2/ja active Active
-
2023
- 2023-04-07 WO PCT/JP2023/014338 patent/WO2023223705A1/ja unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120090584A (ko) * | 2011-02-08 | 2012-08-17 | 연세대학교 산학협력단 | 인트라 예측 모드 결정 방법 및 장치 |
US20200169752A1 (en) * | 2017-05-04 | 2020-05-28 | Interdigital Vc Holdings, Inc. | Method and apparatus for most probable mode (mpm) reordering for intra prediction |
WO2021117091A1 (ja) * | 2019-12-09 | 2021-06-17 | 日本電信電話株式会社 | 符号化方法、符号化装置、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP7392764B2 (ja) | 2023-12-06 |
JP2023168658A (ja) | 2023-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101246294B1 (ko) | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 | |
KR101373819B1 (ko) | 인트라 예측 모드 복호화 방법 | |
KR100727972B1 (ko) | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 | |
RU2479940C2 (ru) | Устройство кодирования и декодирования изображения, способы кодирования и декодирования изображения, их программы и носитель записи, записанный программами | |
KR101211665B1 (ko) | 영상의 인트라 예측 부호화, 복호화 방법 및 장치 | |
KR20180037575A (ko) | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 | |
KR100739714B1 (ko) | 인트라 예측 모드 결정 방법 및 장치 | |
KR20110053245A (ko) | 적응적 루프 필터를 사용하는 비디오 인코딩 시스템 및 방법 | |
US20220345703A1 (en) | Image encoding method/device, image decoding method/device and recording medium having bitstream stored therein | |
KR20090039054A (ko) | 영상의 부호화, 복호화 방법 및 장치 | |
KR20070077609A (ko) | 인트라 예측 모드 결정 방법 및 장치 | |
CN111052741A (zh) | 基于有效传送的差分量化参数的影像编码/解码方法及装置 | |
WO2023223705A1 (ja) | 映像符号化装置、映像符号化方法および映像システム | |
KR101644969B1 (ko) | 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 | |
KR102062894B1 (ko) | 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 | |
KR20160106348A (ko) | 비디오 부호화 방법 및 그 장치 | |
AU2019210559A1 (en) | Enhanced intra-prediction coding using planar representations | |
KR101644970B1 (ko) | 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 | |
KR101644967B1 (ko) | 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 | |
US20240107009A1 (en) | Video coding device and video coding method | |
KR101857598B1 (ko) | 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 | |
KR101857591B1 (ko) | 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 | |
KR101857583B1 (ko) | 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 | |
KR101857585B1 (ko) | 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체 | |
KR101785431B1 (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: 23807320 Country of ref document: EP Kind code of ref document: A1 |