Method of encoding division block in video encoding, method of decoding division block in video decoding, and recording medium for implementing the same

By dividing video encoding into encoding unit blocks and allowing for simultaneously in-screen and inter-screen prediction encoding, the problem of low encoding efficiency of high-resolution videos is solved, and more efficient video encoding is achieved.

JP2025019340AActive Publication Date: 2025-02-06KOREA ADVANCED INST OF SCI & TECH +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024208649
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2009-08-19
Filing Date
2024-11-29
Publication Date
2025-02-06
Estimated Expiration
2030-02-23

Smart Images

  • Figure 2025019340000001_ABST
    Figure 2025019340000001_ABST
Patent Text Reader

Abstract

To provide a method for enabling predictive coding modes in a screen and between screens to be selected together by extending a predictive coding selection system in the screen or between screens to sub-divided blocks of blocks divided during video coding, and also to provide a recording medium for implementing the same.SOLUTION: An input screen is divided into coding unit blocks (S103). The coding unit blocks are divided into low-order blocks (S107). The low-order blocks are encoded by selectively using one or more of predictive coding in the screen and the predictive coding between screens (S111, S112). Moreover, a decoding process is performed through a reverse process of the encoding method.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a method for dividing an input screen into blocks in video encoding and decoding, and encoding and decoding the divided blocks using intra- and inter-prediction coding simultaneously, and more particularly to a divided block encoding and decoding method using inter- and intra-prediction in video encoding, which can improve coding efficiency and further improve coding efficiency by encoding a block video signal using a squared transform or a non-squared transform according to the size of the divided blocks. [Background technology]

[0002] Video compression / encoding technologies jointly standardized by ISO / IEC and ITU-T, such as ISO / IEC 14496-10 (MPEG-4 Part 10 Advanced Video Coding) or H.264 and ISO / IEC 14496-10 Amendment 3 (MPEG-4 Scalable Video Coding), the SMPTE standard VC-1, and other Audio Video Coding Standards (AVS), have made great advances in video data compression efficiency.

[0003] There are various factors that can improve the efficiency of video compression. In particular, unlike existing video coding standards (MPEG-1 Video, MPEG-2 Video, MPEG-4 Part 2 Visual, H.261, H.263, etc.), which divide the size of a screen to be coded into macroblocks (16x16 pixels) and then predictively code these, the macroblocks are further divided into 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, and 4x4 units, predictive coding is performed on these subblocks, and the block that generates the lowest cost in terms of rate distortion cost is coded as the optimal block mode.

[0004] Thus, it is possible to more effectively predict subtle movements and complex image movements, and greatly reduce the residual signal generated, thereby greatly improving compression efficiency.

[0005] FIG. 1 is a diagram showing conventional division block types of 16×16 macroblock units for encoding in an H.264 / AVC encoder, and shows seven motion prediction block division types used in H.264.

[0006] As shown in Figure 1, a typical block-based predictive coding method divides an input image into macroblock units of 16 x 16 size and codes it. In particular, in the ISO / IEC 14496-10 (MPEG-4 Advanced Video Coding) or H.264 standard, as shown in Figure 1, a macroblock is divided into seven subblocks, and the block that minimizes the rate distortion cost is finally selected and predictive coding is performed.

[0007] When intra-coding is performed on the sub-blocks divided into a 16x16 macroblock to be encoded, the macroblock is either intra-predictively coded in units of 16x16 pixels, or is divided into sub-blocks and intra-predictively coded in four 8x8 blocks, or intra-predictively coded in sixteen 4x4 blocks.

[0008] Generally, in low-resolution video coding, such intraframe prediction coding techniques have coding efficiency in terms of reducing the number of various block mode cases, but in high-resolution (HD) and ultra-high-resolution (UHD) video coding, there is a problem. That is, in the case of a super macroblock having a size of 32×32 or more, which is an extension of a 16×16 macroblock, which is a coding unit block, if the same intraframe prediction based on 16×16, 8×8, or 4×4 block is applied to the modes of all the divided blocks in the super macroblock as in the existing method, it results in a decrease in coding efficiency.

[0009] In other words, what is noteworthy about the conventional partitioned block based predictive coding method is that all partitioned blocks are coded through intra- or inter-predictive coding. That is, both intra- and inter-predictive coding are not applied to partitioned blocks, but only one of them is selected and applied. This can be a gain in coding efficiency in image or video compression below HD resolution due to the simplification of the syntax expressing the block coding mode by applying only one of intra- or inter-coding, but can act as a factor of reducing coding efficiency when the coding unit is a super-macroblock larger than a macroblock. Summary of the Invention [Problem to be solved by the invention]

[0010] The present invention has been made to solve the above-mentioned problems, and its purpose is to provide a more effective predictive coding method by extending the intra- or inter-predictive coding selection method to sub-divided blocks of a divided block during video coding, extending both intra- and inter-predictive coding modes to be selectable, and selectively applying a square or non-square transformation kernel according to a block size to a residual signal after motion compensation of the divided block to perform coding.

[0011] Another object of the present invention is to provide a computer-readable recording medium on which the above method is implemented. [Means for solving the problem]

[0012] In order to achieve the above object, a split block coding method for video coding according to one embodiment of the present invention includes a step of dividing an input screen into coding unit blocks, a step of dividing the coding unit blocks into sub-blocks, and a step of selectively coding the sub-blocks using one or more of intra-screen predictive coding and inter-screen predictive coding.

[0013] The partitioned block coding method for video coding may further include a step of selectively applying a variable block-size transform kernel according to a block size to a residual signal through the coding unit block and the sub-block, transforming the residual signal, quantizing the transformed residual signal, and entropy coding the result.

[0014] The residual signal through the lower block may be encoded by selectively applying one or more block boundary de-blocking filters according to a block size and an encoding type.

[0015] The size of the coding unit block is a square of size N*N, and the coding unit block can be divided into one or more square or non-square sub-blocks of any size.

[0016] When encoding the square or non-square sub-block using intra-picture predictive encoding, one of one or more intra-picture predictive encoding methods may be selected for encoding.

[0017] When intra-frame predictive coding or inter-frame predictive coding is performed on the square or non-square sub-block, quantized transform coefficients selected according to a block size may be scanned and entropy coded. When performing intra-frame predictive coding or inter-frame predictive coding on the square or non-square sub-block, the quantized transform coefficients can be entropy coded by selectively applying one or more scanning methods depending on the block size.

[0018] The square sub-blocks can be transformed by applying a square transformation kernel.

[0019] When applying a square transformation kernel to the square sub-block for transformation, the number of horizontal pixels and the number of vertical pixels of the square sub-block may be compared, and a square transformation kernel corresponding to a smaller or equal number of pixels may be applied.

[0020] The non-square sub-blocks may be transformed by applying a non-square transformation kernel.

[0021] When applying a non-square transformation kernel to the non-square sub-block to transform it, the number of horizontal pixels and the number of vertical pixels of the non-square sub-block can be compared, and a non-square transformation kernel corresponding to a smaller or the same number of pixels can be applied. When applying a non-square transformation kernel to the non-square sub-block to perform transformation, the number of horizontal pixels and the number of vertical pixels of the non-square sub-block are compared, and a square transformation kernel corresponding to a size with a larger number of pixels is applied to the input signal, and the number of horizontal pixels and the number of vertical pixels of the non-square sub-block are compared, and a square transformation kernel corresponding to a size with a smaller number of pixels is applied to the input signal in sequence to perform non-square transformation.

[0022] In addition, a split block coding method for video coding according to another aspect of the present invention may include the steps of: (a) inputting a picture to be coded; (b) dividing the input picture into coding unit blocks; (c) dividing each input coding unit block into sub-blocks; (d) performing intra-picture predictive coding and inter-picture predictive coding on the coding unit blocks and their sub-blocks, and selecting one of the block types; and (e) performing intra-picture predictive coding and / or inter-picture predictive coding on the coding unit blocks and their sub-blocks using the prediction result of the block type.

[0023] In addition, a divided block coding method for video coding according to still another aspect of the present invention includes the steps of: (a') inputting a picture to be coded; (b') dividing the input picture into coding unit blocks; (c') determining whether or not a current input picture is to be coded using inter prediction coding; (d') if the current input picture is to be coded using inter prediction coding, initializing an order of lower blocks of a coding unit block to be coded using the input picture; (e') selecting a block mode of the coding unit block to be coded; (f') determining whether or not both intra and inter prediction coding are to be performed for the selected block mode; and (g') selecting a coding unit block to be coded using intra and inter prediction coding for the selected block mode. In the case where both coding are performed, the method includes the steps of: (h') performing intra-frame and inter-frame predictive coding for the selected block mode; (h') storing the predictive coding result and the rate-distortion cost value of the step (g'); (i') if the selected block mode is the final mode, comparing the rate-distortion costs for each block mode and selecting the final block mode for the coding unit block to determine coding; (j') determining whether the current coding unit block is the final block in the current input picture; and (k') if the current coding unit block is the final block in the current input picture, determining whether the current input picture is the final picture and repeating steps (a') to (j') until the current input picture becomes the final picture.

[0024] After the step (c'), the method may further include performing intra-frame prediction coding if the current input frame is not an inter-frame prediction frame.

[0025] After step (f'), if neither intra-frame nor inter-frame predictive coding is performed for the selected block mode, the method may further include performing inter-frame predictive coding for the selected block mode.

[0026] After step (g'), if inter-frame predictive coding is performed for the selected block mode, the method may further include the steps of obtaining a residual signal through motion prediction and compensation, transforming the selected block using the residual signal, quantizing the transformed signal, and entropy coding the result.

[0027] If intra-frame predictive coding is performed for the selected block mode after step (g'), the method may further include the steps of obtaining a residual signal through intra-frame predictive coding, transforming the selected block using the residual signal, quantizing the transformed signal, and entropy coding the result.

[0028] The method may further include performing the transformation by selectively applying a transformation kernel according to a size of the block when transforming the selected block using the residual signal.

[0029] In addition, a video decoding method using a divided block coding method according to still another embodiment of the present invention includes the steps of: (A) inputting a bit stream to be decoded; (B) determining whether the input bit stream is inter prediction; (C) performing intra prediction coding when the input bit stream is intra prediction coding; (D) interpreting a slice when the input bit stream is inter prediction coding; (E) interpreting a unit coding block in the slice; (F) decoding a coding mode of a unit coding sub-division block; and (G) decoding a coding mode of a sub-division coding block. (H) interpreting whether the sub-division coding block is an inter-picture predictive coding block, (I) performing inter-picture predictive decoding if the sub-division coding block is an inter-picture predictive coding block, (J) configuring the sub-division block decoding result with unit decoding block pixels, (K) configuring the decoded unit block result with slice pixels, and (K) configuring the slice pixel configuration result with a picture.

[0030] In step (C), if the unit coding block is a super macroblock having a size of 16x16 macroblock or more, the method may further include decoding a sub-division block coding mode corresponding to the size and performing intra-frame predictive decoding.

[0031] The step (C) may further include performing intra-frame predictive decoding by applying a de-blocking filter corresponding to a size of the sub-division block.

[0032] The step (C) may further include performing intra-picture predictive decoding by applying a de-blocking filter according to the size of the sub-divided block.

[0033] In step (F), if the unit coding block is a super macroblock having a size equal to or larger than 16x16 macroblock, the method may further include decoding a sub-division block coding mode corresponding to the size.

[0034] The step (H) may further include the step of decoding the coded quantized transform coefficients by applying a square or non-square transform kernel corresponding to a size of the sub-division block, thereby performing intra-picture predictive decoding.

[0035] The step (H) may further include a step of decoding the coded quantized transform coefficients by applying an inverse quantization method according to the size of the sub-division block and a decoding mode condition of the neighboring decoding block, and performing intra-picture predictive decoding.

[0036] The step (H) may further include performing inter-picture prediction decoding by applying a de-blocking filter corresponding to a size of the sub-division block.

[0037] The present invention also provides a method for decoding divided blocks in video decoding, the method comprising the steps of: decoding a video bitstream in which an input video bitstream is coded in unit coding blocks, and sub-blocks of the unit coding blocks selectively use one or more of intra-frame predictive coding and inter-frame predictive coding to code the coded video bitstream. The present invention also provides a method for decoding partitioned blocks in video decoding, comprising: (a) inputting a screen bitstream to be decoded; (b) interpreting the input screen bitstream in slice units; (c) interpreting a decoding unit block of the slice; (d) decoding a sub-partitioned block coding mode of the unit decoding block; and (e) performing intra-screen predictive decoding and / or inter-screen predictive decoding on the decoding unit block and its lower blocks using the partitioned sub-block type result. In another embodiment of the present invention, a computer readable recording medium having a program recorded thereon for enabling a computer to execute the method is provided. Effect of the Invention

[0038] In the present invention, when coding pixel values ​​of a coding unit block in video coding, one or more of intra-screen predictive coding and inter-screen predictive coding are applied to a divided sub-block or its sub-divided block to code the divided block, thereby enabling the divided block to be coded in an intra-screen or inter-screen predictive coding mode, and enabling the coding unit block or its sub-divided block to be predictively coded using both intra-screen and inter-screen prediction, thereby increasing the flexibility of coding mode selection and improving coding efficiency.

[0039] In addition, in the present invention, in the partitioned block-based predictive coding, each partitioned block can apply both intra-frame prediction and inter-frame prediction to the lower sub-partitioned block, and a variable block-size transform kernel size is selectively applied according to the size of the partitioned block to perform coding, thereby significantly improving coding efficiency. [Brief description of the drawings]

[0040] [Figure 1] FIG. 1 is a diagram showing division block types of a 16×16 macroblock unit block for encoding in a conventional H.264 / AVC encoder. [Diagram 2] 11 is a diagram illustrating a super-macroblock unit block and a division block type for intra-frame or inter-frame predictive coding in an encoder according to an embodiment of the present invention. FIG. [Diagram 3] 2 is a flow chart illustrating a partitioned block coding method for video coding according to an embodiment of the present invention. [Figure 4]4 is a flow diagram illustrating a method for decoding a bitstream encoded using a video split block method according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0041] Hereinafter, the embodiments of the present invention will be described in detail with reference to the accompanying drawings. First, when adding reference numerals to components in each drawing, it should be noted that the same components are given the same numerals as much as possible even if they are displayed in different drawings. In addition, when describing the present invention, detailed description of related known functions or configurations is omitted if it is determined that such detailed description may make the gist of the present invention unclear.

[0042] 2 is a diagram illustrating an example of a super-macroblock unit block and a division block type for intra-frame or inter-frame predictive coding in an encoder according to an embodiment of the present invention, in which a super-macroblock having a macroblock size of 16×16 pixels or more and a block division type are applied in an embodiment of the present invention.

[0043] As can be seen from Fig. 2, a supermacroblock is divided into subblocks, and intra-frame or inter-frame predictive coding process is performed on each divided block, and the supermacroblock is coded so that the final coding mode can be a mixture of intra-frame and inter-frame predictive coding modes, thereby very effectively increasing the coding efficiency of the image. In fact, during coding, a block mode that minimizes the rate distortion cost can be selected and coded as shown in Equation 1.

[0044]

number

[0045] Here, J MODEis the rate-distortion function for the block coding mode, s is the pixel input of the source block to be coded, r is the reference image pixel input, QP is the quantization parameter, λ is a mode-dependent Lagrangian multiplier, and MODE indicates the split block mode type.

[0046] In addition, when applying transform coding to the residual signal of a supermacroblock with an increased size, a square transform kernel of 16x16 or more, which is larger than the existing 4x4 and 8x8, or a non-square transform kernel of 16x8, 8x16, or more for non-square transform can be selectively applied depending on the size of the divided block to increase coding efficiency.

[0047] When a square transform kernel of size 16x16 or more is applied to a supermacroblock, it can be calculated as shown in Equation 2.

[0048]

number

[0049] Here, X represents an NxN input image signal matrix, A represents an NxN square transformation kernel matrix, and Y represents a transformation coefficient matrix. If the divided sub-block is a non-square block, transformation is performed as shown in Equation 3.

[0050]

number

[0051] Here, if the input video signal X is an Mx(M / 2) matrix, A1 denotes an MxM square transformation kernel matrix, A2 denotes an (M / 2)x(M / 2) square transformation kernel matrix, and Y denotes a transformation coefficient matrix.

[0052] In one embodiment of the present invention, when applying a square or non-square kernel transform, it is preferable to perform transform coding by applying a kernel of the same or smaller size compared to the smaller number of pixels in either the horizontal or vertical direction of the divided block.

[0053] FIG. 3 is a flow chart illustrating a split block coding method for video coding according to an embodiment of the present invention.

[0054] 3, first, the order of a picture i for encoding is initialized (i=0) (S101), and then the picture i is input according to the order for encoding (S102).

[0055] Next, the input image i is divided into coding unit blocks (S103). In one embodiment of the present invention, the coding unit blocks can be macroblocks or supermacroblocks.

[0056] Next, it is confirmed whether the current screen i is to be coded using inter-screen prediction (S104). If the current screen i is not coded using inter-screen prediction, intra-screen prediction is performed (S105). If not, the current screen i is coded using inter-screen prediction, the order of coding unit blocks j coded within one screen i is initialized (j=0) (S106).

[0057] Then, the unit block j to be coded is divided into sub-blocks (S107).The order of the sub-block mode k is initialized (k=0) (S108).One block mode is selected from the sub-block modes k (S109).

[0058] It is checked whether intra- and inter-prediction can be performed for the lower block mode coded in the coding unit block (S110). If inter- and intra-prediction can be performed, intra- and inter-prediction is performed (S111), and if not, only inter-prediction coding is performed (S112). Then, the prediction coding result and the rate-distortion cost value, which are the coding execution results, are stored (S113).

[0059] It is determined whether the lower block mode k is the last block mode (S114). If the lower block mode k is not the last block mode, steps S109 to S113 are repeated for the next block mode. On the other hand, if the lower block mode k is the last block mode, an optimal division block mode is determined and the coding result is finally selected (S115).

[0060] Then, it is determined whether the current coding unit block j is the last block in the current picture i (S116). If the current coding unit block j is not the last block, the next coding unit block is input and steps S107 to S115 are repeated.

[0061] If the coding unit block j is the last block in the current picture i in step S116, it is checked whether the current picture i is the last picture (S117). If the current picture i is the last picture, the algorithm ends. If not, the algorithm returns to step S102 to input the next picture, and steps S102 to S116 are repeated.

[0062] FIG. 4 is a flow diagram illustrating a method for decoding a bitstream encoded using a video split block method according to an embodiment of the present invention.

[0063] 4, first, the order of a picture i for decoding is initialized (i=0) (S201), and then the picture encoded bitstream i is input according to the order for decoding (S202).

[0064] Next, it is confirmed whether the input screen bit stream i is inter-predictive coding (S203). If the current screen bit stream i is not inter-predictive coding, intra-screen predictive decoding is performed (S207). Otherwise, if the current input screen bit stream i is inter-predictive coding, the order of slice j to be decoded within one screen i is initialized (j=0) (S204).

[0065] Next, slice information is interpreted for the input picture bitstream (S205). The order of unit decoding blocks j to be decoded in each slice in one picture i is initialized (k=0) (S206). In one embodiment of the present invention, the decoding unit block can be a macroblock or a super macroblock.

[0066] Next, after interpreting each unit coding block information (S208), the order of the divided sub-blocks in the unit coding block is initialized (m=0) (S209). After that, the coding mode of the divided sub-blocks in the unit coding block is decoded (S210). After checking whether the divided sub-block is an inter-predictive coding block (S211), if it is an inter-predictive coding block, inter-predictive decoding is performed (S213), and if it is an intra-predictive coding block, intra-predictive coding is performed (S212).

[0067] Then, the sub-division block pixel values ​​are restored using the sub-division block decoding result (S214). Then, after checking whether the current sub-division block m is the last block (S215), if it is the last sub-division block, the unit decoded block pixel values ​​are constructed (S216). If not, the process returns to step S210 to perform steps S210 to S214 for decoding the next divided sub-block.

[0068] Then, after checking whether the current unit coding block k is the last unit coding block (S217), if it is the last unit coding block, slice pixels are constructed (S218), and if not, steps S208 to S216 are performed. After that, after checking whether the current slice j is the last slice (S219), if it is the last slice, picture pixels are constructed (S220), and if not, steps S205 to S218 are performed. After that, after determining whether the current frame i is the last frame (S221), if it is the last frame, the process ends, and if not, the process returns to step S202 to input the next frame bitstream and perform steps S202 to S220.

[0069] In a video encoding method according to an embodiment of the present invention, an input image is divided into coding unit blocks, and the coding unit blocks are further divided into sub-blocks. Then, when encoding each sub-block, one or more of intra-frame prediction and inter-frame prediction are selectively used to encode the sub-block.

[0070] Thus, the coding mode of the coding unit block can be coded by mixing inter-screen prediction and intra-screen prediction sub-block modes, and at the same time, the coding efficiency can be improved by selectively applying variable kernel transformation according to the divided block.

[0071] Furthermore, video decoding according to embodiments of the present invention can provide decoding of compressed bitstreams with improved coding efficiency by performing a reverse process of the encoding process.

[0072] In another embodiment of the present invention, the above-described split block coding method for video coding may be embodied as computer readable code in a computer readable recording medium. The computer readable recording medium may include any type of recording device in which data that can be read by a computer system is stored.

[0073] For example, computer-readable recording media include ROM (Read Only Memory), RAM, CD-ROM, magnetic tape, hard disk, floppy disk, portable storage device, non-volatile memory (Flash Memory), optical data storage device, etc., and also include those embodied in the form of carrier waves (e.g., transmission via the Internet).

[0074] The computer readable recording medium can also be distributed over computer systems connected through a computer communication network so that the computer readable code is stored and executed in a distributed fashion.

[0075] Although the preferred embodiments of the intraframe predictive coding method and / or the interframe predictive coding method and the inverse process of the decoding method in the video coding method according to the present invention have been described above, these embodiments are illustrative and not limiting. It will be understood by those skilled in the art that various changes and modifications can be made without departing from the spirit of the present invention and the scope of the rights set forth in the appended claims.

[0076] Sequence Catalog Free Text Encoding, Decoding, Inter-frame Prediction, Intra-frame Prediction, Transform Kernel, Square Transform Kernel, Non-square Transform Kernel, Quantization, MPEG, Rate-Distortion Cost, H.264 / MPEG-4 Part 10 Advanced Video Coding

Claims

1. 1. A method for video encoding, comprising: encoding video data into coding unit (CU) blocks, The coding unit (CU) block is divided into a first sub-coding unit (CU), At least one of the first sub-coding units (CUs) is split into a second sub-coding unit (CU); encoding a coding mode corresponding to each of the sub-coding units (CUs); selectively performing either intra prediction or inter prediction for a corresponding sub-coding unit based on the coding mode; Transforming a residual signal of the corresponding sub-coding unit, a variable-sized transform kernel is selectively applied to the corresponding sub-coding units; the variable-size transform kernel is selected according to a size of the corresponding sub-coding unit; the selected variable-size transform kernel is smaller than a size of the corresponding sub-coding unit.

2. 1. A non-transitory computer-readable recording medium for recording a video stream, the video stream comprising: encoding video data into coding unit (CU) blocks, The coding unit (CU) block is divided into a first sub-coding unit (CU), At least one of the first sub-coding units (CUs) is split into a second sub-coding unit (CU); encoding a coding mode corresponding to each of the sub-coding units (CUs); selectively performing either intra prediction or inter prediction for a corresponding sub-coding unit based on the coding mode; Transforming a residual signal of the corresponding sub-coding unit, a variable-sized transform kernel is selectively applied to the corresponding sub-coding units; the variable-size transform kernel is selected according to a size of the corresponding sub-coding unit; the selected variable-size transform kernel is smaller than a size of the corresponding sub-coding unit.

Citation Information

Patent Citations

  • Image coding device

    JP2009005413A

  • Image and video compression using sparse orthonormal transforms

    WO2009021062A1