METHOD AND APPARATUS FOR UNIFICATION OF COEFFICIENT SCAN OF 8X8 TRANSFORM UNITS IN HEVC
A method and apparatus for processing 2N×2N transform units (TUs) are disclosed. In one embodiment, the method comprises determining a first-layer scanning order among four N×N sub-blocks of the 2N×2N TU; determining a second-layer scanning pattern for said four N×N sub-blocks; and providing scanned 2N×2N transform coefficients of the intra-coded or the inter-coded 2N×2N TU using double scanning based on the first-layer scanning order and the second-layer scanning pattern. In another embodiment, said determining the first-layer scanning order is dependent on the second-layer scanning pattern. The second-layer scanning pattern can be diagonal, horizontal or vertical. In an embodiment, the first-layer scanning order can be from an upper-left sub-block, to an upper-right sub-block, to a lower-left sub-block and to a lower-right sub-block for the second-layer horizontal scanning pattern and from an upper-left sub-block, to a lower-left sub-block, to an upper-right sub-block and to a lower-right sub-block for other second-layer scanning patterns.
The present invention claims priority to U.S. Provisional Patent Application, Ser. No. 61/586,248, filed on Jan. 13, 2012, entitled “Unification of coefficient scan for 8×8 TU”. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to video coding. In particular, the present invention relates to coding techniques for coefficient scan of 8×8 transform units in High Efficiency Video Coding (HEW).
2. Description of the Related Art
HEVC (High Efficiency Video Coding) is an advanced video coding system being developed under the Joint Collaborative Team on Video Coding (JCT-VC) group of video coding experts from ITU-T Study Group. In HEVC, a 2N×2N coding unit (CU) can he hierarchically partitioned into a partition size selected from 2N×2N, 2N×N, N×2N and N×N. The current HEVC also defines the prediction unit (PU), where a CU may consist of one or multiple PUs. After prediction process is performed on each CU, the residues of each CU are further processed by transformation. In HEVC Test Model Version 5.0 (HM-5.0)., transform coefficients of each transform unit (TU) are quantized and then scanned according to as certain scan pattern before Context-adaptive binary arithmetic coding (CABAC). For intra coded transform coefficients, the mode-dependent coefficient scan (MDCS) method is used. Three scan patterns, including diagonal 110, horizontal 120, and vertical scanning 130, as illustrated in
As shown in Table 1, diagonal scan pattern is applied to intra-coded 16×16 and 32×32 TUs. while different scan patterns are selectively applied to intra-coded 4×4 and 8×8 TUs.
After transform coefficients are re-ordered according to a scan pattern, CABAC compression is applied to the scanned transform coefficients on a TU by TU basis. In each TU, a last_significant_coeff_x and a last_significant_coeff_y are transmitted first to indicate the last non-zero coefficient position in the predetermined scan order. The TU is then divided into several subsets when the TU size is larger than 4×4. The subsets in the TU are retrieved for coding operation one by one. For one 8×8 TU, the 64 coefficients are divided into 4 subsets according to the diagonal scan through the entire 8×8 TU. Each subset contains 16 continuous coefficients.
In one TU, transform coefficients are divided into multiple subsets and similar CABAC coding operations are applied to each subset. However, in HM-5.0, there are two kinds of subset partitioning using diagonal scanning. One is to partition the scanned transform coefficients of the 8×8 TU using diagonal scanning into multiple subsets, and the other is to partition the scanned transform coefficients of the 8×8 TU into multiple subsets using double diagonal scanning. In the latter case, each subset corresponds to a 4×4 sub-block. From implementation point of view, it is preferable to unify the subset partition methods in order to reduce system complexity and cost.
BRIEF SUMMARY OF THE INVENTIONA method and apparatus for processing 2N×2N transform units are disclosed. In one embodiment according to the present invention, the method for processing 2N×2N transform units comprises receiving a 2N×2N TU (transform unit), determining a first-layer scanning order among four N×N sub-blocks of the 2N×2N TU; determining a second-layer scanning pattern for said four N×N sub-blocks; and providing scanned 2N×2N transform coefficients for the 2N×2N TU corresponds to the intra-coded TU or the inter-coded TU using double scanning based on the first-layer scanning order and the second-layer scanning pattern. The four N×N sub-blocks of the 2N×2N TU are scanned based on the first-layer scanning order and each of said four N×N sub-blocks is scanned according to the second-layer scanning pattern.
The first-layer scanning order scans an upper left N×N sub-block first and scans a lower right N×N sub-block last. Furthermore, in some embodiments of the present invention, said determining the first-layer scanning order can be dependent on the second-layer scanning pattern. The second-layer scanning pattern is selected from a second group consisting of diagonal scanning, horizontal scanning and vertical scanning. The first-layer scanning order can be from an upper-left sub-block, to an upper-right sub-block, to a lower-left sub-block and to a lower-right sub-block if the second-layer scanning pattern is the horizontal scanning. The first-layer scanning order can be from an upper-left sub-block, to a lower-left sub-block, to an upper-right sub-block and to a lower-right sub-block if the second-layer scanning, pattern is the diagonal scanning or the vertical scanning. In yet another embodiment of the present invention, said determining the second-layer scanning pattern is dependent on an intra prediction mode associated with the 2N×2N TU if the 2N×2N TU is the intra-coded TU.
As mentioned previously, for an Ultra-coded 8×8 TU in HM-5.0, the coefficients scanning is applied to the entire 8×8 TU using one a three possible scanning patterns according to intra prediction modes, and for an inter-coded 8×8 TU, diagonal scanning is applied to the entire 8×8 TU. An embodiment according to the present invention unifies the coefficient scan for 8×8 TUs with larger TU size and non-square TUs. Therefore, instead of using diagonal, horizontal, or vertical scanning for the entire 8×8 TU, an 8×8 TU is also partitioned into four 4×4 sub-blocks. Double scanning is used for the intra-coded or inter-coded 8×8 TU. Accordingly, 4×4 sub-blocks are used as subsets for coefficient scanning of intra-coded 8×8 TU and inter-coded 8×8 TU. An example of double diagonal scanning for inter-coded and intra-coded 8×8 TU is shown as pattern 310 in
Each of the double scanning patterns shown in
In the above example, an 8×8 TU is used to illustrate two-layer coefficient scanning, where the 8×8 TU is divided into four 4×4 sub-blocks. However, the present invention is not limited to the 8×8 TU. A skilled person in the art may practice the present invention for 16×16 or 32×32 TUs or non-square TUs.
The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will he apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.
Embodiment of the present invention as described above may he implemented in various hardware, software code, or a combination of both. For example, an embodiment of the present invention can be a circuit integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software code and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to he considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
1. A method for processing 2N×2N transform units, the method comprising:
- receiving a 2N×2N TU (transform unit), where the 2N×2N transform unit corresponds to an intra-coded TU or an inter-coded TU, and wherein N is an integer from a group consisting of 2, 4, 8, or 16;
- determining a first-layer scanning order among four N×N sub-blocks of the 2N×2N TU, wherein said four N×N sub-blocks of the 2N×2N TU are scanned based on the first-layer scanning order;
- determining a second-layer scanning pattern for said four N×N sub-blocks, wherein each of said four N×N sub-blocks is scanned according to the second-layer scanning pattern; and
- providing scanned 2N×2N transform coefficients for the 2N×2N TU corresponds to the intra-coded TU or the inter-coded TU using double scanning based on the first-layer scanning order and the second-layer scanning pattern.
2. The method of claim 1, wherein the first-layer scanning order scans an upper left N×N sub-block first and scans a lower right N×N sub-block last.
3. The method of claim 1, wherein said determining the first-layer scanning order is dependent on the second-layer scanning pattern.
4. The method of claim 1, wherein the second-layer scanning pattern is selected from a group consisting of diagonal scanning, horizontal scanning and vertical scanning.
5. The method of claim 4, wherein the first-layer scanning order is from an upper-left sub-block, to an upper-right sub-block, to a lower-left sub-block and to a lower-right sub-block if the second-layer scanning pattern is the horizontal scanning.
6. The method of claim 4, wherein the first-layer scanning order is from an upper-left sub-block, to a lower-left sub-block, to an upper-right sub-block and to a lower-right sub-block if the second-layer scanning pattern is the diagonal scanning or the vertical scanning.
7. The method of claim 1, wherein said determining the second-layer scanning pattern is dependent on an intra prediction mode associated with the 2N×2N TU if the 2N×2N TU is the intra-coded TU.
8. An apparatus for processing 2N×2N transform units, the apparatus comprising:
- means for receiving a 2N×2N TU (transform unit), where the 2N×2N transform unit corresponds to an intra-coded TU or an inter-coded TU, and wherein N is an integer from a group consisting of 2, 4, 8, or 16;
- means for determining a first-layer scanning order among four N×N sub-blocks of the 2N×2N TU, wherein said four N×N sub-blocks of the 2N×2N TU are scanned based on the first-layer scanning order;
- means for determining a second-layer scanning pattern for said four N×N sub-blocks, wherein each of said four N×N sub-blocks is scanned according to the second-layer scanning pattern; and
- means for providing scanned 2N×2N transform coefficients for the 2N×2N TU corresponds to the intra-coded TU or the inter-coded TU using double scanning based on the first-layer scanning order and the second-layer scanning pattern.
9. The apparatus of claim 8, wherein the first-layer scanning order scans an upper left N×N sub-block first and scans a lower right N×N sub-block last.
10. The apparatus of claim 8, wherein said means for said determining the first-layer scanning order is dependent on the second-layer scanning pattern.
11. The apparatus of claim 8, wherein the second-layer scanning pattern is selected from a second group consisting of diagonal scanning, horizontal scanning and vertical scanning.
12. The apparatus of claim 11, wherein the first-layer scanning order is from an upper-left sub-block, to an upper-right sub-block, to a lower-left sub-block and to a lower-right sub-block if the second-layer scanning pattern is the horizontal scanning.
13. The apparatus of claim 11, wherein the first-layer scanning order is from an upper-left sub-block, to a lower-left sub-block, to an upper-right sub-block and to a lower-right sub-block if the second-layer scanning pattern is the diagonal scanning or the vertical scanning.
14. The apparatus of claim 8, wherein said means for said determining the second-layer scanning, pattern is dependent on an intra prediction mode associated with the 2N×2N TU if the 2N×2N TU is the intra-coded TU.
15. A method for processing transform units, the method comprising:
- receiving a TU (transform unit) comprising of a plurality of 4×4 sub-blocks;
- determining a first-layer scanning order among the plurality of 4×4 sub-blocks of the TU, wherein the plurality of 4×4 sub-blocks of the TU are scanned based on the first-layer scanning order;
- determining a second-layer scanning pattern for scanning transform coefficients in the plurality of 4×4 sub-blocks, wherein each 4×4 sub-block is scanned according to the second-layer scanning pattern, and the second-layer scanning, pattern is horizontal scanning or vertical scanning; and
- providing scanned transform coefficients for the TU using double scanning based on the first-layer scanning order and the second-layer scanning pattern.
16. The method of claim 15, wherein the first-layer scanning order is selected from a group consisting of diagonal scanning, horizontal scanning and vertical scanning.
17. The method of claim 15, wherein the TU is a non-square TU.
Type: Application
Filed: Sep 20, 2012
Publication Date: Jan 8, 2015
Patent Grant number: 10104399
Inventors: Chih-Wei Hsu (Taipei), Tzu-Der Chuang (Hsinchu County), Yu-Wen Huang (Taipei)
Application Number: 14/371,414
International Classification: H04N 19/61 (20060101);