Coefficient encoding tuning in HEVC
By employing top-right diagonal scanning and multi-level importance graph encoding in HEVC, the complexity of transform unit (TU) processing is solved, improving encoding and operational efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2013-01-14
- Publication Date
- 2026-04-03
AI Technical Summary
HEVC coding involves complex processing overhead for the Transform Unit (TU), particularly in terms of inefficiency in mode-dependent coefficient scanning, encoding of the last non-zero coefficients, and importance graph coding.
The upper right diagonal scanning tuning coefficient encoding and multi-level importance graph encoding are adopted to unify the coefficient encoding of 4×4 and 8×8TU and enhance HEVC encoding operation.
It simplifies the HEVC encoding process, improves encoding and operational efficiency, and reduces processing complexity.
Smart Images

Figure CN116347083B_ABST
Abstract
Description
[0001] This application is a divisional application of patent application No. 201310012757.8, filed on January 14, 2013, entitled "Coefficient Coding Tuning in HEVC". More specifically, this divisional application is a further divisional application based on the divisional application No. 201811506953.X, filed on January 14, 2013, entitled "Coefficient Coding Tuning in HEVC".
[0002] Cross-reference to related applications
[0003] This application claims priority to U.S. Provisional Patent Application No. 61 / 589,151, filed January 20, 2012, the entire contents of which are incorporated herein by reference.
[0004] Announcement of copyrighted content
[0005] Certain contents of this patent document are protected by copyright under the copyright laws of the United States and other countries. The copyright holder has no objection to any copy of this patent document or patent disclosure appearing in the United States Patent and Trademark Office as a publicly available document or record, otherwise retains all copyright in any event. Accordingly, the copyright holder does not waive any right to keep this patent document confidential, including but not limited to the rights under 37 C. FR § 1.14. Technical Field
[0006] This invention relates generally to video coding, and more specifically, to transform unit (TU) encoding and decoding within efficient video coding standards. Background Technology
[0007] In High Efficiency Video Coding (HEVC), coding units (CUs) can have variable sizes depending on the desired coding efficiency of the video content. A CU typically includes a luminance component (Y) and two chrominance components (U and V). The sizes of the U and V components are related to the number of samples and may be the same as or different from the Y component depending on the video sampling format. These coding units can be divided into smaller blocks for prediction or transform. Specifically, each coding unit can be further divided into prediction units (PUs) and transform units (TUs). A prediction unit (PU) can be considered similar to a partition described in other video coding standards such as H.264. A transform unit (TU) typically refers to the residual data block where a transform was applied when generating transform coefficients.
[0008] The transform unit (TU) within High Efficiency Video Coding (HEVC) requires complex coding steps with significant processing overhead and typically includes several steps: Mode Dependent Coefficient Scan (MDCS), final non-zero coefficient coding, importance graph coding, and non-zero coefficient ranking coding. These components vary depending on the size of the transform unit (TU).
[0009] Therefore, there is a need to simplify the design of HEVC encoding. This invention addresses this need, as well as other improvements to HEVC encoding operations. Summary of the Invention
[0010] The coefficient encoding of the transform unit (TU) is described, which enhances and tunes all operations on 4×4, 8×8, 16×16, and 32×32 TUs. In the first part, the coefficient encoding of the TU with a top-right diagonal scan is modified, and in the second part, a multi-level importance graph encoding is applied. These conceptual elements are both applied to TUs of 4×4 or 8×8 size.
[0011] Further aspects of the invention will be described in the following portion of the specification, wherein the detailed description is intended only to fully disclose preferred embodiments of the invention and not to limit it. Attached Figure Description
[0012] The invention will be more fully understood by referring to the following figures, which are for illustrative purposes only.
[0013] Figure 1 This is a schematic diagram of a video encoder according to an embodiment of the present invention.
[0014] Figure 2 This is a schematic diagram of a video decoder according to an embodiment of the present invention.
[0015] Figure 3 This is a flowchart of the generalized transform unit (TU) encoding steps used in an embodiment of the present invention.
[0016] Figure 4 This is a flowchart of the generalized TU decoding steps used in an embodiment of the present invention.
[0017] Figure 5 is a flowchart of the traditional mode dependency coefficient scan (MDCS).
[0018] Figure 6 This is a flowchart of a mode dependency coefficient scan (MDCS) according to an embodiment of the present invention.
[0019] Figures 7A to 7D It is a conventional and a transformation unit scanning pattern used according to embodiments of the present invention.
[0020] Figure 8 This is a flowchart of traditional importance graph encoding.
[0021] Figure 9 This is a flowchart of traditional importance graph decoding.
[0022] Figure 10 This is a flowchart of importance graph encoding according to an embodiment of the present invention.
[0023] Figure 11 This is a flowchart of importance graph decoding according to an embodiment of the present invention. Detailed Implementation
[0024] During High Efficiency Video Coding (HEVC), especially within the HEVC test model HM5.0, coefficient coding involves several steps that vary depending on the transform unit (TU) size.
[0025] To enhance the operation of HEVC encoding, this paper teaches a more uniform scheme for coefficient encoding, such as top-right diagonal scan tuning coefficient encoding, so that all TUs in the top-right diagonal scan will have the same coefficient encoding.
[0026] Tables 1 and 2 compare the elements of the existing coefficient encoding in the HEVC test model HM5.0 (Table 1) with the variations according to the invention shown in Table 2. The column marker scan is a transformation of the coefficient scan order, and the multilevel importance graph represents how the multilevel importance graph encoding first encodes the CG markers. Note: In the transition from Table 1 to Table 2, the scan is enhanced in some cases for 4×4 and 8×8 TU sizes in the upper right diagonal scan (sub-D) of the sub-block, and the additional application of the multilevel importance graph is simultaneously applied.
[0027] Table 1. Existing coefficient codes in the HEVC test model HM5.0
[0028]
[0029]
[0030] Scan: H = Horizontal scan; V = Vertical scan; D = Top-right diagonal scan based on TU size variation; sub-D = Top-right diagonal scan of 4×4 sub-blocks.
[0031] Table 2. Coefficient coding of the present invention for HEVC.
[0032] TU size scanning Multilevel importance graph 4×4 H / V N / A 8×8 H / V N / A 4×4 Sub-D application 8×8 Sub-D application 16×16 / 16×4 / 4×16 / 32×32 / 32×8 / 8×32 Sub-D application
[0033] Scan: H = Horizontal scan; V = Vertical scan; D = Top-right diagonal scan based on TU size variation; sub-D = Top-right diagonal scan of 4×4 sub-blocks.
[0034] Figure 1An example embodiment of an encoding device according to the invention, including an alternative for performing top-right diagonal scan (RDS) and for applying multi-level importance graph coding (MLSMC), is shown. The invention is implemented within an entropy coding block 34 shown as including generalized RDS and MLSMC, but may also rely on conventional video coding that maximizes compatibility with the encoding system.
[0035] Encoder 10 is shown with encoding element 12, which is executed by one or more processors 44. In this example, video frame input 14, reference frame 16, and frame output 18 are shown together. Inter-frame prediction 20 is shown with motion estimation (ME) 22 and motion compensation (MC) 24. Intra-frame prediction 26 is shown, and the switching between inter-frame and intra-frame prediction is shown. Summation node 28 is shown as outputting to forward transform 30, which is performed based on the prediction to produce transform coefficients of the residual data. Quantization of the transform coefficients is performed in quantization stage 32, followed by entropy coding 34. Inverse quantization 36 and inverse transform 38 are shown as coupled to summation node 40, followed by filters 42 such as deblocking and / or loop filters and / or sampling adaptive offsets.
[0036] It should be understood that the encoder shown is implemented by a processing device 44, which includes, for example, at least one processing device (e.g., CPU) 46 for performing programming associated with the encoding and at least one memory 48. Furthermore, it should be understood that elements of the invention can be implemented as programs stored on a medium that can be accessed and executed by the CPU of the encoder 10 and / or decoder 50.
[0037] Figure 2 An example embodiment 50 showing a decoder having a processing block 52 and an associated processing device 76 is illustrated. It should be noted that the decoder is essentially contained within... Figure 1A subset of elements in encoder 10 operates on reference frame 54 and output video 74. Decoder block receives encoded video signal 56, which is processed by entropy decoder 58, which performs decoding of a one-dimensional TU based on mode-dependent scanning and decoding of the last non-zero transform position determined by encoder. TU is processed as follows: (1) during mode-dependent coefficient scanning (MDCS), TUs as 4×4 or 8×8 horizontal or vertical undergo horizontal or vertical scanning, while the remaining TUs, including the upper-right diagonal 4×4 and 8×8 TUs, undergo upper-right diagonal scanning of 4×4 sub-blocks; or (2) multi-level importance graphs are used for large TUs and 4×4 and 8×8 TUs with upper-right diagonal scanning. In using multi-level importance graphs, the decoder is programmed to decode a flag indicating whether the coefficient set from encoder is all zero, and selects an independent importance graph if the coefficient set has any non-zero coefficients.
[0038] Following entropy decoding are inverse quantization 60, inverse transform 62, and summation 64, with summation 64 occurring between the output of inverse transform 62 and a selection between inter-frame prediction 66 with motion compensation 68 and independent intra-frame prediction blocks 70. The output of summation node 64 is received by filter 72, which can be constructed as a loop filter, a deblocking filter, a sampling adaptive offset, or any combination thereof. It should be understood that the decoder can be implemented by processing device 76, which includes at least one processing unit 78 for executing programming designs associated with decoding and at least one memory 80. Furthermore, note that elements of the invention can be implemented as programming designs stored on a medium accessible to processing unit (CPU) 78 for execution.
[0039] It will be appreciated that elements 10 and 50 of the present invention are implemented, for example, in response to a programming design residing in memories 48 and 80 that can be executed on computer processors (CPUs) 46 and 78 by processing devices 44 and 76. Furthermore, it should be understood that elements of the present invention can be implemented as a programming design stored on a medium accessible to CPUs 46 and 78 for execution.
[0040] It should be understood that programming designs can be executed from memory, i.e., non-transient tangible (physical) computer-readable media, because it does not merely constitute a transient propagating signal but is actually capable of holding the programming design within, for example, any desired form and number of static or dynamic memory devices. These memory devices, which do not need to retain data under all conditions (e.g., power failure), will be considered non-transient media here.
[0041] Figure 3The diagram illustrates the common TU encoding steps followed by conventional TU encoding and TU encoding according to the present invention in an encoder. These common steps include converting a two-dimensional (2D) TU into a one-dimensional (1D) TU using a mode-dependent coefficient scan (MDCS) at step 90. In step 92, the positions of the last non-zero coefficients are identified and encoded. In step 94, importance graph encoding encodes whether the coefficients are zero or non-zero. Then, in step 96, the values of the non-zero coefficients are encoded to complete the TU encoding.
[0042] Figure 4 The following diagram illustrates the standard TU encoding steps in a decoder followed by both conventional TU encoding and the TU encoding according to the present invention. These standard steps include converting a two-dimensional (2D) TU into a one-dimensional (1D) TU in step 98 based on a mode-dependent coefficient scan (MDCS). In step 100, the last non-zero coefficient positions are decoded. In step 102, importance graph encoding decodes whether the coefficients are zero or non-zero. Then, in step 104, the values of the non-zero coefficients are decoded to complete the TU encoding in the decoder.
[0043] Figure 5 illustrates a conventional method for performing a mode-dependent coefficient scan (MDCS). In step 110, TU information (e.g., size, prediction mode) is received. In step 112, large TUs are detected. In step 114, non-4×4 or 8×8 TUs are processed using a 4×4 sub-block top-right diagonal scan. In step 116, 4×4 and 8×8 TUs are examined, and those that are horizontal or vertical are processed using a horizontal or vertical scan in step 118. For non-horizontal or non-vertical 4×4 and 8×8 TUs, processing proceeds from step 116 to step 120, where 4×4 TUs are examined to detect them. Then, in step 122, 4×4 TUs are processed using a 4×4 top-right diagonal scan, and in step 124, 8×8 TUs are processed using an 8×8 top-right diagonal scan.
[0044] Figure 6 An example embodiment of the mode-dependent coefficient scan (MDCS) according to the present invention is shown. TU information is received in step 130, large TUs are detected in step 132, and non-4×4 or 8×8 TUs are processed by a 4×4 sub-block upper right diagonal scan in step 134. 4×4 and 8×8 TUs are examined in step 136, and those that are horizontal or vertical are processed using a horizontal or vertical scan in step 138. For the remaining 4×4 and 8×8 non-horizontal and non-vertical TUs, a 4×4 sub-block upper right diagonal scan is also performed in step 134.
[0045] Figures 7A to 7D A scanned pattern according to the present invention is shown. Figure 7AIn the diagram, the large TU is shown as having 16×16 coefficients, undergoing sub-block partitioning and a top-right diagonal scan. The figure shows the coefficients scanned within each 4×4 sub-block, then the scan moves to the next 4×4 sub-block (i.e., CG). For simplicity (and space), in Figure 7A The scan pattern within each 4×4 sub-block is not displayed. Figure 7B In the image, the upper right diagonal scan is displayed on the 4×4 upper right diagonal TU. Note that: in Figure 6 The conceptual changes shown depict both before and after performing a 4×4 upper right diagonal scan on these TUs. Figure 7C The image shows a traditional 8x8 top-right diagonal scan, which is based on... Figure 7D The invention shown replaces the 4×4 top right corner sub-block scan. Figures 7A to 7D In the diagram, MDCS starts from the upper left corner of TU and extends to the lower right corner. Figure 3 The encoding process of 94 and 96 and Figure 4 In the decoding processes 102 and 104, the processing order is as follows: Figures 7A to 7D The MDCS is shown as an inversion.
[0046] Figure 8The traditional importance graph processing in the encoder is illustrated. TU information is received in step 150, it is determined in step 152 whether it is a 4×4 or 8×8 TU, and single-level importance graph encoding is performed in step 154. Alternatively, multi-level importance graph encoding is then performed in step 156 for TUs that are not 4×4 or 8×8. Multi-level importance graph encoding is shown as including checking in step 158 for the existence of any additional coefficient groups (CGs) starting from the last non-zero CG. If no additional CGs exist, multi-level importance graph encoding is complete, and execution jumps to the final step 166. If additional CGs exist, a check is performed in step 160 to see if we are between the first and last CGs. It should be noted that: (1) it is not necessary to send a flag design for all zero CGs after the last non-zero CG (including the CG with the last non-zero coefficient), because it can be assumed that these will all be zero and the CG flag is set to zero; (2) the last non-zero CG does not need a flag design, because it can be inferred that it has a non-zero coefficient and the CG flag is set to 1; and finally (3) the first CG does not need a flag design, because in almost all cases this CG has a non-zero coefficient and the CG flag is set to 1. Therefore, if it is determined in step 160 that it is between the first and last CGs (yes), then flag design is performed in step 162 by encoding the CG flag. If it is not between the first and last CGs, then the CG flag is set to 1 in step 161, and the flag design step is bypassed, proceeding to step 164 to enter the CG flag check. In step 164, it is checked whether the CG flag is equal to 1, and if the CG is equal to 0, then return to step 158. It should be noted that each 4×4 sub-block includes a coefficient group (CG). If it is determined in step 164 that the CG flag is equal to 1, then independent importance graph encoding is performed in step 166.
[0047] Figure 9The traditional importance graph processing in the decoder is illustrated. TU information is received in step 170, it is determined in step 172 whether it is a 4×4 or 8×8 TU, and single-level importance graph decoding is performed in step 174. Alternatively, multi-level importance graph decoding is then performed in step 176 for TUs that are not 4×4 or 8×8. Multi-level importance graph decoding is shown as including checking in step 178 whether there are any more coefficient groups (CGs) starting from the last non-zero CG. If there are no more CGs, multi-level importance graph decoding is complete, and execution jumps to the final step 186. If there are more CGs, a check is performed in step 180 to see if they are between the first and last CGs. It should be noted that: (1) it is not necessary to send a flag design for all zero CGs after the last non-zero CG (including the CG with the last non-zero coefficient), because it can be assumed that these will all be zero and the CG flag is set to zero; (2) the last non-zero CG does not need a flag design, because it can be inferred that it has a non-zero coefficient and the CG flag is set to 1; and finally (3) the first CG does not need a flag design, because in almost all cases this CG has a non-zero coefficient and the CG flag is set to 1. Therefore, if it is determined in step 180 that it is between the first and last CG (yes), then flag design is performed in step 182. If it is not between the first and last CG, then in step 181 the CG flag is set to 1 and the flag design step is bypassed and the CG flag check step 184 is performed. In step 184, it is checked whether the CG flag is equal to 1, and if the CG is equal to zero, the process returns to step 178. It should be noted that each 4×4 sub-block includes a coefficient group (CG). If it is determined in step 184 that the CG flag is equal to 1, then independent importance graph decoding is performed in step 186.
[0048] Figure 10Importance graph processing in an encoder according to an element of the present invention is illustrated. TU information is received in step 190, it is determined in step 192 whether it is a 4×4 or 8×8 TU scanned horizontally or vertically, and then single-level importance graph encoding is performed in step 194. Alternatively, multi-level importance graph encoding is performed in step 196 for large TUs and 4×4 and 8×8 upper right diagonally scanned TUs. Multi-level importance graph encoding is shown as including checking for the presence of any additional coefficient groups (CGs) in step 198. If no additional CGs are found, multi-level importance graph encoding is completed, and execution proceeds to the final step 206. If additional CGs are found, a check is performed in step 200 to see if they are between the first and last CGs. It should be noted that: (1) it is not necessary to send a flag design for all zero CGs after the last non-zero CG (including the CG with the last non-zero coefficient), because it can be assumed that these will all be zero and the CG flag is set to 1; (2) the last non-zero CG does not need a flag design, because it can be inferred that it has a non-zero coefficient; and finally (3) the first CG does not need a flag design, because in almost all cases this CG has a non-zero coefficient and the CG flag is set to 1. Therefore, if it is determined in step 200 that there is a CG between the first and last CG (yes), then flag design is performed in step 202. If there is no CG between the first and last CG, then the CG flag is set to 1 in step 201 and the flag design step is bypassed, proceeding to step 204 to check the CG flag. In step 204, it is checked whether the CG flag is equal to 1, and if the CG is equal to zero, then it returns to step 198. It should be noted that each 4×4 sub-block includes a coefficient group (CG). If it is determined in step 204 that the CG is equal to 1, then independent importance graph coding is performed in step 206.
[0049] Figure 11Importance graph processing in the decoder of the element according to the invention is illustrated. In step 210, TU information is received; in step 212, it is determined whether it is a 4×4 or 8×8 TU scanned horizontally or vertically; then, single-level importance graph decoding is performed in step 214. Alternatively, in step 216, multi-level importance graph decoding is performed on large TUs as well as 4×4 and 8×8 upper-right diagonally scanned TUs. Multi-level importance graph decoding is shown to include checking for the presence of any additional coefficient groups (CGs) in step 218. If no additional CGs are found, multi-level importance graph decoding is complete, and execution proceeds to the final step 226. If additional CGs are found, a check is performed in step 220 to see if they are between the first and last CGs. It should be noted that: (1) it is not necessary to send a flag design for all zero CGs after the last non-zero CG (including the CG with the last non-zero coefficient), because it can be assumed that these will all be zero and the CG flag is set to 1; (2) the last non-zero CG does not need a flag design, because it can be inferred that it has a non-zero coefficient; and finally (3) the first CG does not need a flag design, because in almost all cases this CG has a non-zero coefficient and the CG flag is set to 1. Therefore, if it is determined in step 220 that there is a CG between the first and last CGs (yes), then flag design is performed in step 222, where the CG flag is encoded. If there is no CG between the first and last CGs, then the CG flag is set to 1 in step 221 and the flag design step is bypassed and the CG flag check step 224 is performed. In step 224, it is checked whether the CG flag is equal to 1, and if the CG is equal to zero, the process returns to step 218. It should be noted that each 4×4 sub-block includes a coefficient group (CG). If it is determined in step 224 that the CG is equal to 1, then independent importance graph encoding is performed in step 226.
[0050] The following text summarizes from Figure 8 (encoder) and Figure 9 (Decoder) moved to Figure 10 (encoder) and Figure 11 The inventive concept of the (decoder). In existing importance graphs, all 4×4 and 8×8 TUs undergo single-level importance graph processing, while only larger TUs (16×16 and 32×32) are processed by multi-level importance graphs. However, as in... Figure 10 and Figure 11 As shown, 4×4 and 8×8 TUs for horizontal or vertical scans are processed using a single-level importance graph, while 4×4 and 8×8 TUs for upper right diagonal scans and large TUs (16×16 and 32×32) are processed using a multi-level importance graph.
[0051] These schemes are summarized in the features of Table 2. The table shows that certain 4×4 and 8×8 TUs are processed in a different manner than the previously used upper-right diagonal (sub-D) scan of the sub-blocks. The techniques of this invention have been implemented in HEVC HM5.0 and simulations have been performed under common test conditions.
[0052] Embodiments of the invention can be described with reference to flowchart illustrations and / or algorithms, formulas, or other computational depictions that may also be implemented as computer program products of methods and systems according to embodiments of the invention. In this regard, each block or step of the flowchart, as well as combinations of blocks (and / or steps), algorithms, formulas, or computational depictions in the flowchart, can be implemented by various means (e.g., hardware, firmware, and / or software including one or more computer program instructions implemented in computer-readable code logic). It should be understood that any such computer program instructions can be loaded onto a computer (including, but not limited to, a general-purpose computer or a special-purpose computer) or other programmable processing apparatus to generate a machine, such that the computer program instructions, which execute on the computer or other programmable processing apparatus, establish means for implementing the functions specified in the blocks of the flowchart.
[0053] Therefore, the blocks, algorithms, formulas, or computational descriptions of a flowchart support combinations of means for performing a specified function, combinations of steps for performing a specified function, and computer program instructions, such as those implemented in computer-readable code logic devices, for performing a specified function. It should also be understood that each block, algorithm, formula, or computational description of the flowchart, and combinations thereof, described herein, can be implemented by a dedicated hardware-based computer system that performs a specified function or step, or a combination of dedicated hardware and computer-readable code logic devices.
[0054] Additionally, these computer program instructions, for example, implemented in computer-readable program code logic, can also be stored in a computer-readable storage medium capable of directing a computer or other programmable processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium generate an article of manufacture including instruction means that implement the functions specified in the blocks of the flowchart. The computer program instructions can also be loaded onto a computer or other programmable processing device to perform a series of operational steps on the computer or other programmable processing device, such that the instructions executing on the computer or other programmable processing device provide steps for implementing the functions specified in the blocks, algorithms, formulas, or computational descriptions of the flowchart.
[0055] Based on the above discussion, it should be understood that the present invention can be implemented in a variety of ways, including the following:
[0056] 1. A system for encoding and decoding video signals, comprising: (a) a video encoder having a computer processor configured to encode video frames; and (b) a program executable on the computer processor for: (i) performing intra-frame prediction based on adjacent reconstructed values, and / or performing inter-frame prediction on the video frames based on motion estimation and motion compensation; (ii) performing a transform on the video frames based on the intra-frame and / or inter-frame predictions, and then performing quantization of the transform coefficients, and / or performing inverse quantization on the video frames, and then performing an inverse transform that sums the intra-frame or inter-frame predictions; and (iii) performing entropy encoding on the video frames, comprising: (A) converting a two-dimensional transform unit (TU) into a one-dimensional TU based on a mode-dependent coefficient scan (MDCS); (B) identifying and encoding the position of the last non-zero transform coefficient; and (C) generating an encoding for whether the coefficients are zero or non-zero. (D) The importance graph; wherein the TU is processed in the following cases: (1) during the mode dependent coefficient scan (MDCS), the TU as a 4×4 or 8×8 horizontal or vertical undergoes a horizontal or vertical scan, while the remaining TUs including the upper right diagonal 4×4 and 8×8 TUs undergo a 4×4 sub-block upper right diagonal scan; or (2) during the generation of the importance graph, the large TUs and the 4×4 and 8×8 TUs of the 4×4 sub-block upper right diagonal scan are processed by multi-level importance graph encoding; (E) the remaining non-zero transform coefficients are encoded; (c) a decoder having a computer processor configured to decode video frames; and (d) a program executed on the computer processor for performing alternative entropy decoding including upper right diagonal scan (RDS) when receiving encoded video frames, and / or applying multi-level importance graph encoding during the decoding of transform units (TUs).
[0057] 2. In any of the preceding embodiments, the 4×4 sub-block is a coefficient group (CG).
[0058] 3. The system according to any of the preceding embodiments, wherein, during the generation of the multi-level importance graph, the programming is configured to execute on the computer to encode a flag indicating whether a group of coefficients is entirely zero, and to generate an independent importance graph if the group of coefficients has any non-zero coefficients.
[0059] 4. In any of the preceding embodiments, the encoder coding unit (CU) has a variable size depending on the video content to achieve the desired coding efficiency, and the CU is divided into smaller prediction units (PU) and transform units (TU).
[0060] 5. In any of the preceding embodiments, the system wherein the transformation unit (TU) refers to a residual data block to which the transformation is applied to generate transformation coefficients.
[0061] 6. The system according to any of the preceding embodiments, wherein the video encoding system operates using a High-Efficiency Video Coding (HEVC) encoder.
[0062] 7. A system according to any of the preceding embodiments, wherein the programming is configured to encode all TUs in the upper right diagonal scan using the same coefficients.
[0063] 8. An apparatus for entropy coding within a video coding device, comprising: (a) an encoder having a computer processor configured to encode video frames; and (b) a program executed on the computer processor for: (i) performing intra-frame prediction based on adjacent reconstructed values, and / or performing inter-frame prediction on the video frames based on motion estimation and motion compensation; (ii) performing a transform on the video frames based on the intra-frame prediction and / or inter-frame prediction, and then performing quantization of the transform coefficients of the transform; and (iii) performing entropy coding on the video frames, comprising: (A) converting a two-dimensional transform unit (TU) into a one-dimensional transform unit based on a mode-dependent coefficient scan (MDCS). (B) Identify and encode the last non-zero transform coefficient position; (C) Generate an importance map that encodes whether the coefficients are zero or non-zero; (D) wherein the TU is processed in the following cases: (1) during the mode-dependent coefficient scan (MDCS) process, TUs of 4×4 or 8×8 horizontal or vertical undergo horizontal or vertical scans and the remaining TUs, including the upper right diagonal 4×4 and 8×8 TUs, undergo upper right diagonal scans of 4×4 sub-blocks; or (2) during the generation of the importance map, large TUs and 4×4 and 8×8 TUs of the upper right diagonal scan of 4×4 sub-blocks are processed by encoding the importance map through multi-level importance map; (E) Encode the remaining non-zero transform coefficients.
[0064] 9. The device according to any of the preceding embodiments, wherein the 4×4 sub-block is a coefficient group (CG).
[0065] 10. The device according to any of the preceding embodiments, wherein, during the generation of the multi-level importance graph, the programming is configured to execute on the computer to encode a flag indicating whether a group of coefficients is entirely zero and to generate an independent importance graph if the group of coefficients has any non-zero coefficients.
[0066] 11. The device according to any of the preceding embodiments, wherein the encoding unit (CU) of the encoder has a variable size according to the video content to achieve a desired encoding efficiency, and the CU is divided into smaller prediction units (PU) and transform units (TU).
[0067] 12. The device according to any of the preceding embodiments, wherein the transformation unit (TU) refers to a residual data block to which the transformation is applied to generate transformation coefficients.
[0068] 13. The device according to any of the preceding embodiments, wherein the video encoding device operates by a High-Efficiency Video Coding (HEVC) encoder.
[0069] 14. The device according to any of the preceding embodiments, wherein the programming is configured to use the same coefficient encoding for all TUs scanned in the upper right diagonal.
[0070] 15. An apparatus for entropy decoding in a video decoding device, comprising: (a) a decoder having a computer processor configured to decode video frames; (b) a program executed on the computer processor for performing entropy decoding when an encoded video frame is received, comprising: (i) converting a two-dimensional transform unit (TU) into a one-dimensional TU based on a mode-dependent coefficient scan (MDCS); (ii) decoding the last non-zero transform coefficient position; (iii) decoding an importance map from an encoder regarding whether the coefficients are zero or non-zero; (iv) wherein the TU is processed in the following cases: (1) during the mode-dependent coefficient scan (MDCS), a TU as a 4×4 or 8×8 horizontal or vertical undergoes a horizontal or vertical scan, while the remaining TUs, including the upper-right diagonal 4×4 and 8×8 TUs, undergo an upper-right diagonal scan of 4×4 sub-blocks; or (2) using a multi-level importance map for the large TUs and the 4×4 and 8×8 TUs of the upper-right diagonal scan of 4×4 sub-blocks; (v) decoding the remaining non-zero transform coefficients.
[0071] 16. The device according to any of the preceding embodiments, wherein the 4×4 sub-block is a coefficient group (CG).
[0072] 17. The device according to any of the preceding embodiments, wherein, in using the multi-level importance graph, the programming is configured to decode a flag from the encoder indicating whether a set of coefficients is entirely zero, and to select an independent importance graph if the set of coefficients has any non-zero coefficients.
[0073] 18. The device according to any of the preceding embodiments, wherein the encoding unit (CU) of the decoder has a variable size according to the video content to achieve a desired encoding efficiency, and the CU is divided into smaller prediction units (PU) and transform units (TU).
[0074] 19. The device according to any of the preceding embodiments, wherein the transformation unit (TU) refers to a residual data block to which an inverse transformation is applied.
[0075] 20. The device according to any of the preceding embodiments, wherein the video decoding device operates via a High-Efficiency Video Coding (HEVC) encoder.
[0076] While the above description contains numerous details, these should not be construed as limiting the scope of the invention but merely providing an illustration of some currently preferred embodiments. Therefore, it should be understood that the scope of the invention fully encompasses other embodiments that will be apparent to those skilled in the art, and the scope of the invention is accordingly limited only by the claims, wherein the singular form of a component referenced is not intended to mean "one and only one," unless so explicitly stated, but rather "one or more." It will be apparent to those skilled in the art that all structural and functional equivalents of the components of the above preferred embodiments are clearly incorporated herein by reference and are intended to be encompassed by the claims. Furthermore, the apparatus or method encompassed by the claims need not be directed to every problem that the invention seeks to solve. Additionally, the components, elements, or method steps in this invention are not intended for public use, regardless of whether they are explicitly stated in the claims. Components claimed herein are not to be construed as being under 35 U.S.SC 112 unless the component is explicitly indicated by the phrase "means for...".
Claims
1. A decoding device, comprising: The circuit is configured as follows: In the case where a diagonal scan is applied to a first transform block and a second transform block among multiple transform blocks, the diagonal scan is applied to multiple transform blocks of multiple variable block sizes. in, The first transform block has a first block size among the plurality of variable block sizes, and the second transform block has a second block size among the plurality of variable block sizes. Wherein, the 4×4 sub-blocks of both the first transform block and the second transform block are diagonally scanned, and the diagonal scan is applied within each 4×4 sub-block; and The same multilevel importance graph decoding is applied to the first transform block of the first block size and the second transform block of the second block size.
2. The decoding apparatus of claim 1, wherein the circuit is configured to apply a unified multi-level importance graph decoding to the first transform block and the second transform block.
3. The decoding device according to claim 2, wherein the plurality of variable block sizes include 4×4, 8×8, 16×16 and 32×32.
4. The decoding apparatus according to claim 3, wherein the first transform block is based on recursively dividing the encoded block into the plurality of transform blocks as block segmentation.
5. A decoding method, comprising: In the case where a diagonal scan is applied to a first transform block and a second transform block among multiple transform blocks, the diagonal scan is applied to multiple transform blocks of multiple variable block sizes. Wherein, the first transform block has a first block size among the plurality of variable block sizes, and the second transform block has a second block size among the plurality of variable block sizes, and Wherein, the 4×4 sub-blocks of both the first transform block and the second transform block are diagonally scanned, and the diagonal scan is applied within each 4×4 sub-block; and The same multilevel importance graph decoding is applied to the first transform block of the first block size and the second transform block of the second block size.
6. The decoding method according to claim 5 further includes applying a unified multi-level importance graph decoding to the first transform block and the second transform block.
7. The decoding method according to claim 6, wherein the plurality of variable block sizes include 4×4, 8×8, 16×16 and 32×32.
8. The decoding method according to claim 7, wherein the first transform block is based on recursively dividing the encoded block into the plurality of transform blocks as block segmentation.
Citation Information
Patent Citations
Coefficient coding harmonization in HEVC
CN109510989A
Apparatus and method for image encoding and decoding
CN1874521A