JP-7855137-B2 - Video image decoding method, video image encoding method, apparatus, and storage medium
Inventors
- 王 岩
- 孫 ▲ユー▼程
- 陳 方棟
- 武 暁陽
Assignees
- 杭州海康威視数字技術股▲ふん▼有限公司
Dates
- Publication Date
- 20260507
- Application Date
- 20230630
- Priority Date
- 20220726
Claims (20)
- A video image decoding method, Obtaining channel-level complexity levels from a code stream and determining the block-level complexity level of the current block according to at least two channel-level complexity levels, wherein the code stream is the encoded code stream of the current block, and the channel-level complexity levels are for indicating the degree of complexity of the channel-level texture of the current block. Determining the target number of bits for the current block based on rate control parameters, wherein the rate control parameters include the block-level complexity level of the current block. The quantization parameters of the current block are determined based on the target number of bits, This includes decoding the current block based on the quantization parameters, The rate control parameters include the average number of bits for lossless coding at the same level, the average number of bits for lossless coding, and the code stream buffer fullness. Determining the target number of bits for the current block based on the rate control parameters is: Determining the average number of bits for reversible coding at the same level and the average number of bits for reversible coding, The initial target number of bits is determined based on the aforementioned average number of bits for reversible coding at the same level and the aforementioned average number of bits for reversible coding. The process includes determining the target number of bits for the current block based on the code stream buffer fullness, the block-level complexity level of the current block, and the initial target number of bits, The aforementioned average number of bits for same-level reversible coding is the average of the predicted number of bits required to reversibly encode the current block and the multiple decoded image blocks, and the complexity level of the multiple decoded image blocks is the same as the complexity level of the current block. The aforementioned average number of bits for reversible encoding is the average of the predicted number of bits required to reversibly encode the current block and all decoded image blocks, the code stream buffer fullness indicates the buffer fullness, and the buffer is for storing the code stream of the image to be processed. Video image decoding method.
- Determining the above-mentioned average number of bits for reversible coding at the same level and the above-mentioned average number of bits for reversible coding is: The process involves determining the number of reversible encoded bits for the current block, wherein the number of reversible encoded bits is a predicted value of the number of bits required to reversibly encode the current block. The process involves updating the average number of bits for lossless coding of the current block based on the number of bits for lossless coding of the current block and a plurality of average numbers of bits for lossless coding of the same level in the past, wherein the average number of bits for lossless coding of the same level in the past is the average number of bits for lossless coding of decoded image blocks having the same complexity level as the block-level complexity level of the current block. The process includes updating the average number of reversible bits of the current block based on the average number of reversible bits of the current block and the average number of reversible bits of all past blocks, wherein the average number of reversible bits of past blocks is the average number of reversible bits of the decoded image block. The video image decoding method according to claim 1 .
- The current block is the first row block of the image to be processed, and the rate control parameter includes a parameter for improving the quality of the first row. When determining the target number of bits for the current block based on the rate control parameters, the video image decoding method further: This includes adjusting the target number of bits of the current block based on the leading row quality improvement parameter so that the quantization parameter of the current block becomes smaller. The video image decoding method according to claim 1.
- The current block is the first column block of the image to be processed, and the rate control parameter includes a parameter for improving the quality of the first column. When determining the target number of bits for the current block based on the rate control parameters, the video image decoding method further: This includes adjusting the target number of bits of the current block based on the leading column quality improvement parameter so that the quantization parameter of the current block becomes smaller. The video image decoding method according to claim 1.
- Obtaining channel-level complexity from a code stream is possible. The process involves obtaining complexity information bits for the current block from the code stream, wherein the complexity information bits are intended to indicate the channel-level complexity level of the current block. This includes determining the channel-level complexity level based on the complexity information bits, The video image decoding method according to claim 1.
- The most significant bit in the complexity information bits indicates whether the current channel-level complexity level is the same as the complexity level of the same channel in the image block immediately preceding the current block, and the change between the two. If they are the same, there is one complexity information bit; otherwise, there are three complexity information bits. The video image decoding method according to claim 5 .
- A video image encoding method, The process involves obtaining channel-level texture information of the current block from a video image , determining the channel-level complexity level of the current block based on the channel-level texture information, and determining the block-level complexity level of the current block according to at least two channel-level complexity levels, wherein the channel-level complexity levels indicate the degree of complexity of the channel-level texture of the current block. Determining the target number of bits for the current block based on rate control parameters, wherein the rate control parameters include the block-level complexity level of the current block. The quantization parameters of the current block are determined based on the target number of bits, Encoding the current block based on the quantization parameters, Includes, The rate control parameters include the average number of bits for lossless coding at the same level, the average number of bits for lossless coding, and the code stream buffer fullness. Determining the target number of bits for the current block based on the rate control parameters is: Determining the average number of bits for reversible coding at the same level and the average number of bits for reversible coding, The initial target number of bits is determined based on the aforementioned average number of bits for reversible coding at the same level and the aforementioned average number of bits for reversible coding. The process includes determining the target number of bits for the current block based on the code stream buffer fullness, the block-level complexity level of the current block, and the initial target number of bits, Here, the average number of bits for same-level reversible coding is the average of the predicted number of bits required to reversibly encode the current block and the plurality of encoded image blocks, and the complexity level of the plurality of encoded image blocks is the same as the complexity level of the current block. The aforementioned average number of bits for reversible encoding is the average of the predicted number of bits required to reversibly encode the current block and all encoded image blocks; the code stream buffer fullness indicates the buffer fullness; and the buffer is for storing the code stream of the image to be processed. Video image encoding method.
- Obtaining channel-level texture information of the current block and determining the channel-level complexity level of the current block based on the channel-level texture information is: The image block of at least one channel of the current block is used as a processing unit, the processing unit is divided into at least two subunits, and the texture information of each subunit is determined. The processing unit includes determining the block-level complexity level of the current block based on the texture information of each subunit, The video image encoding method according to claim 7 .
- Determining the texture information of each subunit is: The original pixel value of the subunit, the original pixel value or reconstructed value of the adjacent column to the left of the subunit, and the reconstructed value of the adjacent row above the subunit are obtained, and the corresponding horizontal texture information and vertical texture information of the subunit are calculated. This includes selecting the minimum value from the horizontal texture information and the vertical texture information as the texture information of the corresponding subunit, The video image encoding method according to claim 8 .
- In the processing unit, determining the block-level complexity level of the current block based on the texture information of each subunit is: In the processing unit, the texture information of each subunit is divided into the complexity level of the corresponding subunit based on a plurality of thresholds, wherein the plurality of thresholds are predetermined. This includes determining the block-level complexity level of the current block based on the complexity level of each of the subunits, The video image encoding method according to claim 8 .
- Determining the block-level complexity level of the current block based on the complexity level of each subunit is: Mapping the complexity level of each subunit to the corresponding channel-level complexity level based on preset rules, This includes determining the complexity level of the current block based on the complexity level of each channel, The video image encoding method according to claim 10 .
- Mapping the complexity level of each subunit to the corresponding channel-level complexity level based on the preset rules is: This includes determining a channel-level complexity level based on a plurality of thresholds and the sum of the complexity levels of each subunit, The aforementioned multiple thresholds are predetermined. The video image encoding method according to claim 11 .
- Mapping the complexity level of each subunit to the corresponding channel-level complexity level based on the preset rules is: This includes determining the level configuration of the complexity levels of the subunits and determining the corresponding channel-level complexity levels based on the level configuration. The video image encoding method according to claim 11 .
- Determining the above average number of bits for reversible coding at the same level and the above average number of bits for reversible coding is: The process involves determining the number of reversible encoded bits for the current block, wherein the number of reversible encoded bits is a predicted value of the number of bits required to reversibly encode the current block. The process involves updating the average number of bits for lossless coding of the current block based on the number of bits for lossless coding of the current block and a plurality of average numbers for lossless coding of the same level in the past, wherein the average number of bits for lossless coding of the same level in the past is the average number of bits for lossless coding of encoded image blocks having the same complexity level as the block-level complexity level of the current block. The process includes updating the average number of bits for lossless encoding of the current block based on the average number of bits for lossless encoding of all past blocks, wherein the average number of bits for lossless encoding of all past blocks is the average number of bits for lossless encoding of the encoded image block. The video image encoding method according to claim 7 .
- The current block is the first row block of the image to be processed, and the rate control parameter includes a parameter for improving the quality of the first row. When determining the target number of bits for the current block based on the rate control parameters, the video image encoding method further: This includes adjusting the target number of bits of the current block based on the leading row quality improvement parameter so that the quantization parameter of the current block becomes smaller. The video image encoding method according to claim 7 .
- The current block is the first column block of the image to be processed, and the rate control parameter includes a parameter for improving the quality of the first column. When determining the target number of bits for the current block based on the rate control parameters, the video image encoding method further: This includes adjusting the target number of bits of the current block based on the leading column quality improvement parameter so that the quantization parameter of the current block becomes smaller. The video image encoding method according to claim 7 .
- A video image decoding device, A complexity level determination module for obtaining channel-level complexity levels from a code stream and determining the block-level complexity level of the current block according to at least two channel-level complexity levels, wherein the code stream is the encoded code stream of the current block, and the channel-level complexity levels are for indicating the degree of complexity of the channel-level texture of the current block. A rate control parameter determination module for determining the target number of bits of the current block based on rate control parameters, wherein the rate control parameters include a block-level complexity level of the current block. A quantization parameter determination module for determining the quantization parameters of the current block based on the target number of bits, A decoding module for decoding the current block based on the quantization parameters, The rate control parameters include the average number of bits for lossless coding at the same level, the average number of bits for lossless coding, and the code stream buffer fullness. The rate control parameter determination module is further used to determine the same-level reversible coding average number of bits and the reversible coding average number of bits, to determine the initial target number of bits based on the same-level reversible coding average number of bits and the reversible coding average number of bits, and to determine the target number of bits for the current block based on the code stream buffer fullness, the block-level complexity level of the current block, and the initial target number of bits. The aforementioned average number of bits for same-level reversible coding is the average of the predicted number of bits required to reversibly encode the current block and the multiple decoded image blocks, and the complexity level of the multiple decoded image blocks is the same as the complexity level of the current block. The aforementioned average number of bits for reversible encoding is the average of the predicted number of bits required to reversibly encode the current block and all encoded image blocks; the code stream buffer fullness indicates the buffer fullness; and the buffer is for storing the code stream of the image to be processed. Video image decoding device.
- The complexity level determination module is further used to obtain complexity information bits of the current block from the code stream and to determine the channel-level complexity level based on the complexity information bits. The complexity information bits are for indicating the channel-level complexity level of the current block. The video image decoding device according to claim 17 .
- A video image encoding device, A complexity level determination module for obtaining channel-level texture information of the current block from a video image , determining the channel-level complexity level of the current block based on the channel-level texture information, and determining the block-level complexity level of the current block according to at least two channel-level complexity levels, wherein the channel-level complexity level indicates the degree of complexity of the channel-level texture of the current block. A rate control parameter determination module for determining the target number of bits of the current block based on rate control parameters, wherein the rate control parameters include the block-level complexity level of the current block, A quantization parameter determination module for determining the quantization parameters of the current block based on the target number of bits, An encoding module for encoding the current block based on the quantization parameters, Includes, The rate control parameters include the average number of bits for lossless coding at the same level, the average number of bits for lossless coding, and the code stream buffer fullness. The rate control parameter determination module is further used to determine the same-level reversible coding average number of bits and the reversible coding average number of bits, to determine the initial target number of bits based on the same-level reversible coding average number of bits and the reversible coding average number of bits, and to determine the target number of bits for the current block based on the code stream buffer fullness, the block-level complexity level of the current block, and the initial target number of bits. The aforementioned average number of bits for reversible encoding at the same level is the average of the predicted number of bits required to reversibly encode the current block and the multiple encoded image blocks, and the complexity level of the multiple encoded image blocks is the same as the complexity level of the current block. The aforementioned average number of bits for reversible encoding is the average of the predicted number of bits required to reversibly encode the current block and all encoded image blocks; the code stream buffer fullness indicates the buffer fullness; and the buffer is for storing the code stream of the image to be processed. Video image encoding device.
- A decoder for performing the video image decoding method according to any one of claims 1 to 6 .
Description
Cross-references to related applications This invention claims priority based on the Chinese patent application filed on July 26, 2022, application number 202210887907.9, which is incorporated herein by reference in its entirety. This invention relates to the field of video coding/decoding technology, and more particularly to a video image decoding method, a video image coding method, an apparatus, and a storage medium. In the field of video processing, video encoding/decoding techniques play a crucial role. These techniques reduce the amount of video data by encoding and decoding it. Quantization is a key step in the video encoding and decoding process, primarily by using quantization parameters in place of some of the original data in the code stream, thereby reducing the redundancy of the original data in the code stream. The quantization parameters for quantization are written to the code stream during the video encoding process. On the video decoding side, decoding is achieved by analyzing the quantization parameters in the code stream. However, quantization carries the risk of image distortion; therefore, selecting appropriate quantization parameters can improve image quality. Thus, how to select quantization parameters is key to successful video encoding/decoding. Figure 1 is a system architecture diagram of an encoding and decoding system provided by an embodiment of the present invention.Figure 2 is a schematic diagram of a video encoder provided in an embodiment of the present invention.Figure 3 is a schematic diagram of a video decoder provided in an embodiment of the present invention.Figure 4 is a schematic flowchart of video decoding provided in an embodiment of the present invention.Figure 5 is a schematic diagram of a video decoder provided in an embodiment of the present invention.Figure 6 is a flowchart of a video image decoding method and a video image encoding method provided in an embodiment of the present invention.Figure 7 is a flowchart showing specific examples of video image decoding methods and video image encoding methods provided by the embodiment of the present invention.Figure 8 is a flowchart showing how to determine the block-level complexity level using the video image decoding method and video image encoding method provided in the embodiment of the present invention.Figure 9 is a schematic diagram of the texture information of a subblock of a specific example of a video image decoding method and a video image encoding method provided by an embodiment of the present invention.Figure 10 is a schematic diagram of the initial transmission delay mechanism in the video image decoding method and video image encoding method provided in the embodiment of the present invention.Figure 11 is a schematic diagram of a video encoding/decoding device provided in an embodiment of the present invention. In this description of the present invention, unless otherwise specified, "/" means "or," for example, A/B means A or B. In this specification, "and/or" merely describes the relationship between related objects, and indicates that there may be three types of relationships. For example, A and/or B may indicate that A exists alone, that A and B exist simultaneously, and that B exists alone. Also, "at least one" means one or more, and "multiple" means two or more. Words such as "first,""second," etc. do not limit the quantity or order of execution. Furthermore, words such as "first,""second," etc. do not necessarily limit that they are different. In this invention, terms such as "exemplary" or "for example" are used to mean an example, illustration, or explanation. In this invention, any embodiment or design described as "exemplary" or "for example" should not be construed as being preferable or advantageous to other embodiments or designs. More precisely, the use of terms such as "exemplary" or "for example" is intended to illustrate the relevant concepts in a specific form. First, we will introduce the technical terms related to the embodiments of this invention. 1. Video encoding/decoding technology Video encoding/decoding technology includes video encoding technology and video decoding technology, and may be collectively referred to as video encoding and decoding technology. Among these, video sequences contain a range of redundant information, including spatial redundancy, temporal redundancy, visual redundancy, information entropy redundancy, structural redundancy, knowledge redundancy, and importance redundancy. To remove as much redundant information as possible from video sequences and reduce the amount of data representing the video, video encoding techniques are provided to achieve the effects of reducing storage space and saving transmission bandwidth. Video encoding techniques are also called video compression techniques. To retrieve data stored or transmitted based on the aforementioned video compression technology, it is necessary to implement this using corresponding video decod