Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
AN EFFICIENT DIFFERENTIAL CODING METHOD FOR DLT IN 3DVC
Document Type and Number:
WIPO Patent Application WO/2015/021614
Kind Code:
A1
Abstract:
This contribution presents a differential coding method to code Depth Lookup Table (DLT) more efficiently. DLT is represented by differences between consecutive values in DLT. The minimum difference is coded first, and then deltas between differences and the minimum difference are coded sequentially. Deltas can be coded by fixed-length coding with N bits, where N is coded.

Inventors:
ZHANG KAI (CN)
AN JICHENG (CN)
Application Number:
PCT/CN2013/081455
Publication Date:
February 19, 2015
Filing Date:
August 14, 2013
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
MEDIATEK SINGAPORE PTE LTD (SG)
ZHANG KAI (CN)
AN JICHENG (CN)
International Classes:
H04N19/00
Foreign References:
CN101751897A2010-06-23
CN101645256A2010-02-10
CN102118293A2011-07-06
CN103200406A2013-07-10
US7193541B22007-03-20
Attorney, Agent or Firm:
BEIJING SANYOU INTELLECTUAL PROPERTY AGENCY LTD. (Block A Corporate Square, No. 35 Jinrong Street, Beijing 3, CN)
Download PDF:
Claims:
CLAIMS

1. A method of coding a lookup table which records specific integer values in order, wherein values in the lookup table is coded by differential coding.

2. The method as claimed in claim 1, wherein the lookup table is used for depth intra- coding in three dimensional video coding (3DVC) and the lookup table is Depth Lookup Table (DLT) in 3DVC. 3. The method as claimed in claim 1, wherein a difference between a largest value and a smallest value in the lookup table, noted as diff_max_value is coded, diff_max_value = MaxV- MinV, where MaxV and MinV are the largest value and the smallest value in the lookup table respectively. 4. The method as claimed in claim 3, wherein diff_max_value is coded as an integer or unsigned integer with n bits, and n is |~log2 (MAX _ VALUE + 1)] .

5. The method as claimed in claim 1, wherein a smallest value in the lookup table noted as min_value is coded.

6. The method as claimed in claim 5, wherein min_value is coded as an integer or unsigned integer with n bits, and n is |~log2 (MAX _ VALUE + 1 - diff _ value )] .

7. The method as claimed in claim 1, wherein a largest value in the lookup table is coded explicitly or inferred implicitly.

8. The method as claimed in claim 7, the largest value in the lookup table noted as MaxV is set equal to MinV+diff_value, where MinV is equal to a smallest value in the lookup table. 9. The method as claimed in claim 1 wherein a flag is coded to signal whether differential coding is used or not.

10. The method as claimed in claim 1, wherein differences between consecutive values in the lookup table are signaled to transmit the lookup table if differential coding is used; if two consecutive values in the table are Table Value[j] and Table Value [j+1], the difference Diff[j] between the two consecutive values is Table Value[j+1]- TableValue[j]-l. 11. The method as claimed in claim 10, wherein a minimum difference MinDiff is coded, and all differences are greater or equal to the minimum difference.

12. The method as claimed in claim 10, wherein a delta denoted as diff_minus_min[j] between each difference and a minimum difference MinDiff is coded, and diff_minus_min[j] = Diff[j]- MinDiff.

13. The method as claimed in claim 12, wherein diff_minus_min[j] is coded as an unsigned integer by fixed-length coding with N bits. 14. The method as claimed in claim 13, wherein a remainder number is coded by Exp-

Golomb code, denoted as diff_minus_min_rem[j] if the Diff[j]- MinDiff is equal to or larger than a threshold; the threshold is signaled to decoders explicitly or derived by the decoders implicitly; wherein the threshold is 2N-1; if diff_minus_min_rem[j] is not coded, it is inferred as 0; Diff[j] is equal to diff_minus_min[j] + diff_minus_min_rem[j]+MinDiff.

15. The method as claimed in claim 13, wherein N is coded explicitly to decoders or derived implicitly by the decoders, and N-l is coded by fixed-length coding.

16. The method as claimed in claim 1, wherein information corresponding whether the lookup table is empty is signaled explicitly to decoders or derived implicitly by the decoders.

17. The method as claimed in claim 8, wherein MaxV should not exceed MAX_VALUE.

18. The method as claimed in claim 8, wherein the lookup table has no value if MaxV is greater than MAX_VALUE.

19. The method as claimed in claim 1, wherein MAX_VALUE is derived implicitly by decoders, or signaled explicitly to the decoders before the lookup table is signaled.

20. The method as claimed in claim 19, wherein MAX_VALUE is signaled by the number of bits used to represent a pixel sample.

21. The method as claimed in claim 3, wherein the lookup table is deduced without any difference is coded when any of the conditions is true: there is only one value in the lookup table; there are only two values in the lookup table; the lookup table is empty.

22. The method as claimed in claim 21, wherein there is only one value in the lookup table if diff_max_value is 0, and there is only two values in the lookup table if diff_max_value is 1.

Description:
AN EFFICIENT DIFFERENTIAL CODING METHOD FOR DLT IN

3DVC

FIELD OF INVENTION

The invention relates generally to Three-Dimensional (3D) video processing. In particular, the present invention relates to improvement on Depth Lookup Table (DLT) coding.

BACKGROUND OF THE INVENTION

Simplified Depth Coding (SDC) and a Depth Lookup Table (DLT) are adopted into HTM. For each CU, if SDC mode is selected, there is only a set of four different prediction modes available. After having selected the optimal prediction modes among the four, the resulting residual is not coded using transform. As the SDC prediction stage always results in one or two depth segments per coded block, a single residual DC depth value is coded for each of these segments. Moreover, DLT is used to map coded depth values in SDC to valid depth values of the original depth map. The DLT is constructed based on an initial analysis of the input depth map and is then coded in SPS.

DLT is an optional coding tool. In the current HTM, the encoder will not use DLT if all values from 0 to MAX_DEPTH_VALUE (e.g. 255) appear in original depth map at the analysis step. Otherwise, DLT will be coded in SPS. Figure 1 illustrates an example of DLT. In order to code DLT, the number of valid depth values is coded with Exp-Golomb code first. Then each valid depth value is coded also with Exp-Golomb code as depicted in Table 1.

Exp-Golomb code is efficient when smaller values possess higher probabilities of occurrence. However, that is not the case for valid depth values and the number of valid depth values. As a result, Exp-Golomb codes usually have long code-lengths thus DLT requires a large amount of coding bits. In the common test condition, four sequences Balloons, Kendo, Newspapercc and PoznanHall are determined to use DLT, while the other three are not. Statistics are done on the four sequences. As depicted in Table 2, DLT requires 557.33 bits in average, which account for more than 65% bits of SPS in depth components. In other words, the DLT coding makes SPS in depth components much larger than the one without DLT. Table 1 DLT coding method in the current HTM.

Table 2 Number of bits in DLT and SPS in the current HTM.

SUMMARY OF THE INVENTION

In light of the previously described problems, an efficient coding method for DLT in

3DVC is proposed. It is proposed to code DLT using differential coding method. The proposed method can reduce the number of bits required by DLT significantly.

Other aspects and features of the invention will become apparent to those with ordinary skill in the art upon review of the following descriptions of specific embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein: Fig. 1 is a diagram illustrating an example of DLT. There are five valid values appears in depth samples at the analysis step. Therefore, there are five items in DLT in the order: 50, 108, 110, 112 and 200.

Fig. 2 is a diagram illustrating an example of differences in DLT.

DETAILED DESCRIPTION

The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.

To code the DLT more efficiently, a differential coding method is proposed. min_dlt_value and diff_max_dlt_value are coded as unsigned integer to constrain the value range [MinDltValue, MaxDltValue] of DLT. Values out of this range are not in DLT. Differences between consecutive values in DLT can represent the DLT. Difference denoted as Diff[i] is defined as DLTValue[i+l]-DLTVlaue[i]-l. For example, if values in DLT are 70, 80, 100, 115, 120, then differences are 9, 19, 14 and 4.

In order to code differences efficiently, the minimum difference is coded firstly, and then deltas between differences and the minimum one are coded sequentially. Fig.2 demonstrates an example of a DLT, where differences are 3, 2, 2, 3 sequentially. The minimum one '2' is coded firstly, and then the deltas: 1, 0, 0, 1 are coded in order. The deltas are coded by fixed-length coding with n bits. If a difference exceeds 2"-2, the excess will be coded with Exp-Golomb code, n is signaled before deltas are coded. Since n is always greater then 0, n-1 instead of n itself should be coded. Thus the encoder can choose the optimal n which generates the minimum number of bits.

Syntax elements of the proposed method are demonstrated in Table 3.

An example of how to code/decode the DLT depicted in Fig 2:

At encoder:

1. The difference between the minimum value '60' and maximum value '74' is '14'. So diff_max_dlt_value =14 is coded first.

2. min_dlt_value = 60 is coded then.

3. min_diff =2 is coded.

4. Deltas are 1, 0, 0, 1. If n = 1, the required bits for the deltas are 2, 1, 1, 2, resulting 6 bits totally. If n = 2, the required bits for the deltas are 2, 2, 2, 2, resulting 8 bits totally. If n is larger, the total bits will be more. Obviously, the encoder will choose n = 1. Thus diff_bits_minusl=l-l=0 is coded.

5. DiffBoundary, which is defined as 2"-l, is equal to 1. diff_minus_min and diff_minus_min_rem are coded as:

diff_minu s_min [0]= 1 , diff jninu s_min_r em [0]=0 ;

diff_minus_min[l]=0, diff_minus_min_rem[l] not coded;

diff_minus_min[2]=0, diff_minus_min_rem[2] not coded;

diff_minus_min[3]=l, diff_minus_min_rem[3]=0;

At decoder:

1. DLTValue[0] = 60 since min_dlt_value = 60. Maximum value in DLT is 60 + 14 = 74; 2. Diff[0] = 2+1+0=3, so DLTValue[l] = 60+ 3 + 1 = 64;

3. Diff[l] = 2+0=2, so DLTValue[2] = 64+ 2 + 1 = 67;

4. Diff[2] = 2+0=3, so DLTValue[3] = 67+ 2 + 1 = 70;

5. Diff[3] = 2+1+0=3, so DLTValue[5] = 70+ 3 + 1 = 74;74 is equal to the maximum value in DLT, so stop parsing differences.

The proposed method described above can be used in a video encoder as well as in a video decoder. Embodiments of methods according to the present invention as described above may be implemented in various hardware, software codes, 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 codes integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program codes 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 codes may be developed in different programming languages and different format or style. The software code may also be compiled for different target platform. 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. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.

Table 3 the proposed DLT coding method.