Abstract:
A method and apparatus for Intra prediction mode encoding or decoding based on multi-level most probable modes (MPMs) are disclosed. In one embodiment according to the present invention, the method and apparatus for encoding or decoding Intra prediction mode for 4×4 prediction unit (PU) use 19 Intra mode candidates to have full directional coverage or 35 Intra mode candidates as used by 8×8, 16×16 and 32×32 PUs. In another embodiment of the present invention, three MPMs are used to code the Intra modes. Various methods to derive the three MPMs based on the Intra modes of neighboring blocks are disclosed. In yet another embodiment of the present invention, the coding method for the remaining modes comprises fixed length coding. In addition, variable length coding for the remaining modes are also disclosed.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     The present invention claims priority to U.S. Provisional Patent Application Ser. No. 61/533,890, filed on Sep. 13, 2011, entitled “Methods of Intra mode coding for video compression in HEVC”. The U.S. Provisional patent application is hereby incorporated by reference in its entirety. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to video coding. In particular, the present invention relates to coding techniques associated with the Intra mode. 
     BACKGROUND 
     Intra prediction exploits spatial correlation within a picture or within a picture region. In order to improve coding efficiency, the High-Efficiency Video Coding (HEVC) standard being developed exploits block-based spatial prediction extensively. In HEVC, multiple Intra prediction modes are used to exploit spatial features and the number of Intra prediction modes depends on the block size of a Prediction Unit (PU). The size of the PU for Intra coding can be 64×64, 32×32, 16×16, 8×8, or 4×4. The number of Intra prediction modes can be as many as 35, including 33 directional prediction modes, one DC mode and one Planar mode as shown in  FIG. 1A  and  FIG. 1B . The directions are labeled with their respective physical directions (H referring to Horizontal direction and V referring to Vertical direction) in  FIG. 1A  and the directions are labeled with an example of their respective Infra mode indices in  FIG. 1B . The correspondences between the physical directions and the Intra mode indices are shown in  FIG. 2 . 
     In order to improve compression efficiency, a coding scheme based on most probable mode (MPM) is adopted by HEVC to encode the Intra mode syntax. According to the MPM-based coding scheme, the Infra prediction mode (or Intra mode for abbreviation) for the current block (i.e., the current PU) is predicted using the Intra prediction modes of the left neighboring block and the top neighboring block. In HEVC Test Model Version 5.0 (HM-5.0), two most probable modes are derived from the Intra prediction modes of the left neighboring block and the top neighboring block. If these two Intra prediction modes are the same or one is not available, another Intra mode (Planar or DC mode) is added as the second most probable mode. Because there is a high probability that the Intra prediction mode of the current PU is the same as one of the most probable modes, a shorter codeword is used to encode such cases. Otherwise, a longer codeword is used. In HEVC, the number of Intra prediction modes depends on the PU size as shown in Table 1. The 4×4 and 64×64 PUs only use a subset of the Intra prediction modes for the luma component. For the 4×4 PU, 18 Intra prediction modes are used, which include DC mode, Planar mode, and 16 directional modes as indicated by circles in  FIG. 1A  and  FIG. 1B . It is noted that the directional Intra mode corresponding to the H+6 direction (i.e., mode index 18) is left out of the 18 Intra modes for the 4×4 PU as indicated by a square in  FIG. 1A  and  FIG. 1B . It is desirable to design a set of Intra mode candidates that provides full directional coverage. Furthermore, there are 33 remaining modes besides two MPMs. In order to code these 33 modes, at least six bins (bits) have to be used. Since five bins (bits) can only accommodate 32 modes in a fixed-length representation, using six bins (bits) to code the 33 remaining modes is not efficient. Accordingly, in the current HEVC (HM-5.0), the remaining modes are coded using variable length coding. Nevertheless, it is desirable to use fixed length coding to reduce system complexity if the coding efficiency can be maintained or improved. Further, it is desirable to increase the number of most probable modes so that the number of remaining modes can be reduced. 
     
       
         
               
               
               
             
               
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 Block size 
                 Number of Luma Mode 
                 Luma Modes 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 64 × 64 
                 4 
                 0~3  
               
               
                 32 × 32 
                 35 
                 0~34 
               
               
                 16 × 16 
                 35 
                 0~34 
               
               
                 8 × 8 
                 35 
                 0~34 
               
               
                 4 × 4 
                 18 
                 0~17 
               
               
                   
               
             
          
         
       
     
     BRIEF SUMMARY OF THE INVENTION 
     A method and apparatus for Intra prediction mode encoding or decoding based on multi-level most probable modes (MPMs) are disclosed. In one embodiment according to the present invention, the method and apparatus for encoding or decoding Intra prediction mode for 4×4 prediction unit (PU) use 19 Intra mode candidates to provide full directional coverage or 35 Intra mode candidates as used by 8×8, 16×16 and 32×32 PUs. In another embodiment of the present invention, three MPMs are used for Intra mode coding. If the top neighbor and the left neighbor of a current PU have the same Intra mode, the Intra mode is assigned to the first MPM of the three MPMs. If the first MPM is DC mode, then Planar mode and Vertical mode are assigned to the second MPM and the third MPM. If the first MPM is Planar mode, then DC mode and Vertical mode are assigned to the second MPM and the third MPM. If the first MPM is neither DC mode nor Planar mode, two immediate directional neighbors of the first MPM may be assigned to the second MPM and the third MPM. Alternatively, Planar mode and DC mode may be assigned to the second MPM and the third MPM. In the case that the top neighbor and the left neighbor of a current PU have different Intra modes, the Intra mode having a smaller mode index is assigned to the first MPM and the other Intra mode is assigned to the second MPM. If none of the first and second MPMs is Planar mode, then Planar mode is assigned to the third MPM. Otherwise, if none of the first and second MPMs is DC mode, DC mode is assigned to the third MPM. Otherwise, Vertical mode is assigned to the third MPM. 
     In another embodiment of the present invention, encoding or decoding of the current Intra mode is according to a coding method for the remaining modes, wherein the coding method includes fixed-length coding. The coding method uses implicit derivation for the only remaining Intra mode if four Intra mode candidates and 3 MPMs are used. In the case that 19 Intra mode candidates and 3 MPMs are used, the coding method may use 4-bit fixed representation for the remaining modes. The coding method may also use 3 bits for a first group consisting of 4 selected remaining modes, 4 bits for a second group consisting of another 4 selected remaining modes, and 5 bits for a third group consisting of rest of the remaining modes. Alternatively, coding method may also use 2 bits for a first group consisting of 2 selected remaining modes, 4 bits for a second group consisting of another 2 selected remaining modes, and 5 bits for a third group consisting of rest of the remaining modes. In the case that 35 Intra mode candidates and 3 MPMs are used, the coding method may use 5-bit fixed representation for the remaining modes. The coding method may also use 3 bits for a first group consisting of 4 selected remaining modes, 5 bits for a second group consisting of another 4 selected remaining modes, and 6 bits for a third group consisting of rest of the remaining modes. Alternatively, the coding method may also use 2 bits for a first group consisting of 2 selected remaining modes, 5 bits for a second group consisting of another 2 selected remaining modes, and 6 bits for a third group consisting of rest of the remaining modes. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1A  illustrates the 35 Intra prediction modes for High-Efficiency Video Coding (HEVC) labeled with physical directions. 
         FIG. 1B  illustrates the 35 Intra prediction modes for High-Efficiency Video Coding (HEVC) labeled with one example of mode indices. 
         FIG. 2  illustrates the correspondences between physical directions and the exemplary mode indices (as shown in  FIG. 1B ) of Intra prediction modes for HEVC. 
         FIG. 3  illustrates an exemplary decision tree for most probable mode selection using 3 most probable modes according to an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     As mentioned previously, 18 Intra prediction modes are used for 4×4 PU, which include DC mode, Planar mode, and 16 directional modes as indicated by circles in  FIG. 1A  and  FIG. 1B . While the 16 directional modes are derived from the 33 directional modes by retaining one directional mode out of every two, however, Intra mode H+6 (i.e., mode index 18) is not included in the 16 directional modes. It is desirable to provide 4×4 PU with uniformly sub-sampled coverage for all directions without a missing hole in the directions. Accordingly, an embodiment of the present invention allows 19 Intra prediction modes so that a full directional coverage is achieved. For example, the 19 Intra mode candidates may include the 18 conventional Intra modes being selected for the 4×4 PU and the directional mode H+6. In other words, an embodiment according to the present invention selects Intra modes indices from 0 through 18 as the Intra mode candidates. For 8×8, 16×16 and 32×32 PUs, the same 35 candidates as shown in  FIG. 1A  or  FIG. 1B  may be used. Furthermore, the chroma Intra mode may use same number of mode candidates as the luma Intra mode. Accordingly, 19 Intra modes may be used for both luma and chroma 4×4 PUs. In yet another embodiment of the present invention, the 4×4 PU may also use 35 Intra modes for both luma and chroma components. 
     In another embodiment of the present invention, three MPMs are used instead of two MPMs. The use of three MPMs can be applied to PUs at all sizes including 4×4, 8×8, 32×32 and 64×64. One of the benefits of using three MPMs instead of two is the improved coding efficiency for coding remaining modes using fixed length codes in the cases of 19 Intra modes and 35 Intra modes. When three. MPMs are used, there will be 16 remaining Intra modes for the case of 19 Intra mode candidates and 32 remaining Intra modes for the case of 35 Intra mode candidates. The 16 remaining Intra mode can be efficiently represented using 4-bit fixed representation. On the other hand, the 32 remaining Intra mode can be efficiently represented using 5-bit fixed representation. The use of three MPMs may also improve coding efficiency of Intra mode coding since it will increase the probability that a current Intra mode can be predicted by one of the MPMs. The derivation of three MPMs for a current PU according to an embodiment of the present invention is based on the Intra modes of the top neighbor and left neighbor of the current PU. If the Intra modes of the top neighbor and left neighbor are the same, the Intra mode for the two neighbors is selected as the first MPM. The second and third MPMs are selected according to the following method:
         i. If the first MPM is Planar mode, then DC and Vertical modes are assigned to the second MPM and third MPMs;   ii. If the first MPM is DC mode, then Planar and Vertical modes are assigned to the second MPM and third MPMs; and   iii. If the first MPM is neither DC mode nor Planar mode, the following two schemes can be used:
           1. Scheme 1. The two immediate directional neighbors of the first MPM are selected as the second and third MPMs. For example, in the case of 35 candidates, V+1 and V−1 are selected as the second and third MPMs if Vertical mode is the first MPM. In the case of 19 candidates, V−2 and V+2 are selected as the second and third MPMs if Vertical mode is the first MPM. If the neighbor on one side of the first MPM is not available, the next immediate directional neighbor available or Planar mode is used to replace one of the two immediate directional neighbors unavailable. For example, in the case of 35 candidates, if V+8 is the first MPM, its neighbor V+9 is not available, the next immediate neighbor can be v+6 or H+7. Therefore, V+7 and H+7, or V+7 and V+6, or V+7 and Planar mode will be selected as the second MPM and the third MPM if V+8 is the first MPM; and   2. Scheme 2. Planar mode and DC mode are selected as the second and third MPMs.   
               

     In method (i) described above, DC mode can be assign to the second MPM and Vertical mode can be assigned to the third MPM. Alternatively, DC mode can be assign to the third MPM and Vertical mode can be assigned to the second MPM. In method (ii) described above, Planar mode can be assign to the second MPM and Vertical mode can be assigned to the third MPM. Alternatively, Planar mode can be assign to the third MPM and Vertical mode can be assigned to the second MPM. In other words, the mapping from two candidate Intra modes to two MPMs (i.e., the second MPM and the third MPM) can be designed to be in any order. This mapping also applies to method (iii) described above. 
     If the Intra modes of the top neighbor and left neighbor are different, an embodiment selects the mode having a smaller index as the first MPM and the other mode as the second MPM. The third MPM is selected by the following method:
         i. If none of first and second MPMs is Planar mode, Planar mode is selected as the third MPM;   ii. Otherwise, if none of first and second MPMs is DC mode, DC mode is selected as the third MPM; and   iii. Otherwise, Vertical mode is selected as the third MPM       

     The above example illustrates one embodiment for derivation of three MPMs according to the present invention. A person skilled in the art may use other MPM derivations to practice the present invention without departing from the spirit of the present invention. For example, Horizontal mode instead of Vertical mode may be used in the above example. 
     In the case of three MPMs, the current mode may use one bin (bit), such as “1”, to indicate if the current mode is the same as the first MPM. The current mode may use two bins (bits), such as “00” or “01”, to indicate if the current mode is equal to the second MPM or the third MPM respectively. 
     In the case of three MPMs, the remaining modes can be coded using the same binarization, i.e., using fixed length representation, as follows:
         i. If 19 Intra mode candidates are selected, 4 bins are used for the 16 remaining modes;   ii. If 35 Intra mode candidates are selected, 5 bins are used for the 32 remaining modes; and   iii. If 4 Intra mode candidates are selected, the remaining mode is implicitly derived.       

     The method (iii) described above can be applied to 64×64 PU, where only four Intra mode candidates are used. When three MPMs are used, there will be only one remaining mode left in this case. Therefore, a method to implicitly derive the remaining mode will be more efficient for this case. While the example above uses the same binarization for all remaining modes, different binarization may also be used for the remaining modes as follows:
         i. If 19 Intra mode candidates are selected, 3 bins may be used for a group of 4 selected remaining modes, 4 bins may be used for another group of 4 selected remaining modes, and 5 bins may be used for the rest of the remaining modes (8 remaining modes in this group) in one embodiment. In another embodiment, 2 bins may be used for a group of 2 selected remaining modes, 4 bins may be used for used for another group of 2 selected remaining modes, and 5 bins may be used for the rest of the remaining modes (12 remaining modes in this group); and   ii. If 35 Intra mode candidates are selected, 3 bins may be used for a group of 4 selected remaining modes, 5 bins may be used for another group of selected 4 remaining modes, and 6 bins may be used for the rest of the remaining modes (24 remaining modes in this group) in one embodiment. In another embodiment, 2 bins may be used for a group of 2 selected remaining modes, 5 bins may be used for used for another group of 2 selected remaining modes, and 6 bins may be used for the rest of the remaining modes (28 remaining modes in this group).       

     The performance of a coding system incorporating an embodiment of the present invention is compared with a reference system based on HEVC Test Model Version 4.0 (HM-4.0). The performance is measured in terms of BD rate, where a negative value implies performance improvement over the reference system. The BD rate comparison is performed by adjusting coding parameters to cause the underlying systems to result in about the same objective quality. The performance results are shown in Table 2 for 4×4 PUs with 19 Intra mode candidates. In Table 2, HE refers to High Efficiency coding configuration and LC refers to Low Complexity coding configuration. Classes A through E refer to different sets of test video. In both cases, moderate improvements for Y, U and V components are observed in most situations. The performance results are shown in Table 3 for 4×4 PUs with 35 Intra mode candidates. Again, moderate improvements are observed in most situations. 
     
       
         
               
               
               
             
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 2 
               
             
             
               
                   
                   
               
               
                   
                 All Intra HE 
                 All Intra LC 
               
             
          
           
               
                   
                 Y 
                 U 
                 V 
                 Y 
                 U 
                 V 
               
               
                   
                   
               
             
          
           
               
                 Class A 
                 −0.22% 
                 −0.05% 
                 −0.02% 
                 −0.14% 
                 −0.03% 
                 −0.05% 
               
               
                 Class B 
                 −0.18% 
                 0.01% 
                 0.02% 
                 −0.11% 
                 0.03% 
                 0.04% 
               
               
                 Class C 
                 −0.26% 
                 −0.03% 
                 −0.07% 
                 −0.15% 
                 −0.01% 
                 0.00% 
               
               
                 Class D 
                 −0.24% 
                 −0.08% 
                 −0.10% 
                 −0.18% 
                 0.02% 
                 −0.01% 
               
               
                 Class E 
                 −0.33% 
                 0.05% 
                 0.03% 
                 −0.09% 
                 −0.02% 
                 0.10% 
               
               
                 Overall 
                 −0.24% 
                 −0.02% 
                 −0.03% 
                 −0.14% 
                 0.00% 
                 0.01% 
               
             
          
           
               
                 Enc Time [%] 
                 102% 
                 104% 
               
               
                 Dec Time [%] 
                 100% 
                 100% 
               
               
                   
               
             
          
         
       
     
     
       
         
               
               
               
             
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 3 
               
             
             
               
                   
                   
               
               
                   
                 All Intra HE 
                 All Intra LC 
               
             
          
           
               
                   
                 Y 
                 U 
                 V 
                 Y 
                 U 
                 V 
               
               
                   
                   
               
             
          
           
               
                 Class A 
                 −0.20% 
                 −0.06% 
                 0.02% 
                 −0.19% 
                 0.03% 
                 −0.07% 
               
               
                 Class B 
                 −0.22% 
                 0.01% 
                 0.03% 
                 −0.19% 
                 −0.02% 
                 0.01% 
               
               
                 Class C 
                 −0.39% 
                 −0.04% 
                 −0.02% 
                 −0.36% 
                 −0.05% 
                 −0.05% 
               
               
                 Class D 
                 −0.32% 
                 0.04% 
                 0.07% 
                 −0.33% 
                 0.04% 
                 0.00% 
               
               
                 Class E 
                 −0.35% 
                 0.13% 
                 0.08% 
                 −0.23% 
                 0.07% 
                 0.10% 
               
               
                 Overall 
                 −0.29% 
                 0.01% 
                 0.03% 
                 −0.26% 
                 0.01% 
                 −0.01% 
               
             
          
           
               
                 Enc Time [%] 
                 106% 
                 108% 
               
               
                 Dec Time [%] 
                 100% 
                 100% 
               
               
                   
               
             
          
         
       
     
     The results in Table 2 and Table 3 show that the encoding time is slightly increased. Accordingly, a fast Intra mode decision method is developed to improve computational efficiency for the encoder side. The performance results are shown in Table 4 for 4×4 PUs with 19 Intra mode candidates. The performance results are shown in Table 5 for 4×4 PUs with 35 Intra mode candidates. The results in Table 4 and Table 5 show that the encoding time is improved while the BD rate improvement is maintained. 
     
       
         
               
               
               
             
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 4 
               
             
             
               
                   
                   
               
               
                   
                 All Intra HE 
                 All Intra LC 
               
             
          
           
               
                   
                 Y 
                 U 
                 V 
                 Y 
                 U 
                 V 
               
               
                   
                   
               
             
          
           
               
                 Class A 
                 −0.20% 
                 −0.07% 
                 −0.04% 
                 −0.12% 
                 −0.04% 
                 −0.06% 
               
               
                 Class B 
                 −0.15% 
                 −0.02% 
                 0.00% 
                 −0.06% 
                 −0.05% 
                 −0.01% 
               
               
                 Class C 
                 −0.20% 
                 −0.08% 
                 −0.11% 
                 −0.05% 
                 −0.08% 
                 −0.05% 
               
               
                 Class D 
                 −0.17% 
                 −0.10% 
                 −0.11% 
                 −0.08% 
                 −0.06% 
                 −0.06% 
               
               
                 Class E 
                 −0.30% 
                 0.06% 
                 0.03% 
                 −0.05% 
                 −0.03% 
                 0.05% 
               
               
                 Overall 
                 −0.20% 
                 −0.05% 
                 −0.04% 
                 −0.07% 
                 −0.05% 
                 −0.03% 
               
             
          
           
               
                 Enc Time [%] 
                  98% 
                  98% 
               
               
                 Dec Time [%] 
                 100% 
                 100% 
               
               
                   
               
             
          
         
       
     
     
       
         
               
               
               
             
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 5 
               
             
             
               
                   
                   
               
               
                   
                 All Intra HE 
                 All Intra LC 
               
             
          
           
               
                   
                 Y 
                 U 
                 V 
                 Y 
                 U 
                 V 
               
               
                   
                   
               
             
          
           
               
                 Class A 
                 −0.18% 
                 −0.07% 
                 −0.03% 
                 −0.17% 
                 −0.01% 
                 −0.04% 
               
               
                 Class B 
                 −0.18% 
                 −0.05% 
                 −0.02% 
                 −0.13% 
                 −0.06% 
                 −0.06% 
               
               
                 Class C 
                 −0.33% 
                 −0.08% 
                 −0.11% 
                 −0.26% 
                 −0.14% 
                 −0.13% 
               
               
                 Class D 
                 −0.24% 
                 −0.02% 
                 −0.04% 
                 −0.22% 
                 −0.03% 
                 −0.07% 
               
               
                 Class E 
                 −0.32% 
                 0.10% 
                 0.13% 
                 −0.19% 
                 −0.02% 
                 0.10% 
               
               
                 Overall 
                 −0.24% 
                 −0.03% 
                 −0.02% 
                 −0.19% 
                 −0.05% 
                 −0.05% 
               
             
          
           
               
                 Enc Time [%] 
                 102% 
                 102% 
               
               
                 Dec Time [%] 
                 100% 
                 100% 
               
               
                   
               
             
          
         
       
     
     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 be 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 be 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 codes 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 be 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.