Method and apparatus for efficient coding of depth lookup table

09762882 · 2017-09-12

Assignee

Inventors

Cpc classification

International classification

Abstract

A method and apparatus for encoding and decoding depth lookup table (DLT) using a constrained table value range are disclosed. For a decoder, a constrained table value range from a minimum table value to a maximum table value of the DLT is decoded from the coded DLT information. Bit map values for depth values in a depth range from (the minimum table value+1) to (the maximum table value−1) are then decoded. The bit map values indicate whether the depth values are in the DLT respectively. The DLT for the current depth map can be reconstructed based on the constrained table value range and the bit map values for the depth values in the depth range. For an encoder, a constrained table value range from a minimum table value to a maximum table value of the DLT is determined and encoded the DLT into coded DLT information.

Claims

1. A method for decoding a DLT (depth lookup table) in a three-dimensional or multi-view video coding system, the method comprising: receiving input data associated with coded DLT information of a current depth map; decoding a constrained table value range for the DLT from a minimum table value of the DLT to a maximum table value of the DLT based on the coded DLT information, and wherein the minimum table value is greater than a minimum depth value of a full-range DLT, the maximum table value is smaller than a maximum depth value of the full-range DLT, or the minimum table value is greater than the minimum depth value and the maximum table value is smaller than the maximum depth value, wherein values outside the constrained table value range are not used in the DLT; decoding bit map values for depth values in a depth range from (the minimum table value+1) to (the maximum table value−1), wherein the bit map values indicate whether the depth values are in the DLT respectively; and reconstructing the DLT for the current depth map based on the constrained table value range and the bit map values for the depth values in the depth range.

2. The method of claim 1, further comprising decoding a first flag to indicate whether to use the full-range DLT or a constrained DLT, wherein the constrained DLT has the constrained table value range from the minimum table value to the maximum table value.

3. The method of claim 1, wherein the constrained table value range is indicated by the minimum table value and a maximum table difference in the coded DLT information, wherein the maximum table difference corresponds to a first difference between the maximum table value and the minimum table value, and wherein the minimum table value and the maximum table difference are coded using unsigned integers.

4. The method of claim 3, wherein the minimum table value and the maximum table value use default values when the minimum table value and the maximum table difference are not coded in the coded DLT information.

5. The method of claim 4, wherein the minimum table value uses a first default value corresponding to −1 and the maximum table value uses a second default value corresponding to MAX_DEPTH_VALUE+1, wherein MAX_DEPTH_VALUE corresponds to the maximum depth value.

6. The method of claim 1, wherein the constrained table value range is indicated by the minimum table value and the maximum table value coded in the coded DLT information, wherein the minimum table value and the maximum table value are coded using unsigned integers.

7. The method of claim 1, wherein the bit map values for the depth values in the depth range are coded using run-length coding on zero-runs or one-runs associated with the bit map values.

8. The method of claim 7, wherein second differences between the zero-runs and a minimum zero-run or between the one-runs and a minimum one-run are encoded.

9. The method of claim 8, further comprising decoding a parameter n from the coded DLT information, wherein the second differences are coded using n-bit fixed length coding and n is a positive integer.

10. The method of claim 9, decoding an excess part of a current second difference from the coded DLT information when said n-bit fixed length coding indicates that the current second difference exceeds a maximum n-bit value represented by n bits, wherein the excess part is coded using an Exp-Golomb code, and wherein the excess part corresponds to a third difference between the current second difference and the maximum n-bit value.

11. The method of claim 7, wherein a flag is signaled to indicate whether the DLT is encoded using the run-length coding or the DLT is encoded as a bit-map directly.

12. The method of claim 1, wherein the bit map values for the depth values in the depth range are coded using inter-view coding when the current depth map is in a dependent view, wherein inter-view bit map values are formed by applying Exclusive-OR operations between the depth values in the depth range and second bit map values associated with a second DLT of a second depth map in a base view.

13. A method for encoding a DLT (depth lookup table) in a three-dimensional or multi-view video coding system, the method comprising: receiving input data associated with the DLT of a current depth map; determining a constrained table value range for the DLT from a minimum table value of the DLT to a maximum table value of the DLT, wherein the minimum table value is greater than a minimum depth value of a full-range DLT, the maximum table value is smaller than a maximum depth value of the full-range DLT, or the minimum table value is greater than the minimum depth value and the maximum table value is smaller than the maximum depth value, wherein values outside the constrained table value range are not used in the DLT; encoding the DLT into coded DLT information, wherein said encoding the DLT into the coded DLT information comprises encoding first information associated with the constrained table value range into the coded DLT information; and encoding bit map values for depth values in a depth range from (the minimum table value+1) to (the maximum table value−1), wherein the bit map values indicate whether the depth values are in the DLT respectively.

14. The method of claim 13, further comprising encoding a first flag to indicate whether to use the full-range DLT or a constrained DLT, wherein the constrained DLT has the constrained table value range from the minimum table value to the maximum table value.

15. The method of claim 13, wherein said first information associated with the constrained table value range consists of the minimum table value and a maximum table difference, wherein the maximum table difference corresponds to a first difference between the maximum table value and the minimum table value, and wherein the minimum table value and the maximum table difference are coded using unsigned integers.

16. The method of claim 15, wherein the minimum table value and the maximum table value use default values when the minimum table value and the maximum table difference are not coded.

17. The method of claim 16, wherein the minimum table value uses a first default value corresponding to −1 and the maximum table value uses a second default value corresponding to MAX_DEPTH_VALUE+1, wherein MAX_DEPTH_VALUE corresponds to the maximum depth value.

18. The method of claim 13, wherein said first information associated with the constrained table value range consists of the minimum table value and the maximum table value, wherein the minimum table value and the maximum table value are coded using unsigned integers.

19. The method of claim 13, wherein the bit map values for the depth values in the depth range are coded using run-length coding on zero-runs or one-runs associated with the bit map values.

20. The method of claim 19, wherein second differences between the zero-runs and a minimum zero-run or between the one-runs and a minimum one-run are encoded.

21. The method of claim 20, further comprising encoding a flag to indicate whether the DLT is encoded using the run-length coding or the DLT is encoded as a bit-map directly.

22. The method of claim 20, wherein the second differences are encoded into the coded DLT information using n-bit fixed length coding, wherein n is a positive integer.

23. The method of claim 22, wherein an excess part of a current second difference is coded using an Exp-Golomb code when the current second difference exceeds a maximum n-bit value represented by n bits, wherein the excess part corresponds to a third difference between the current second difference and the maximum n-bit value.

24. The method of claim 22, wherein an optimal value for n is determined based on a lowest resulting bitrate for the coded DLT information.

25. The method of claim 13, wherein the bit map values for the depth values in the depth range are coded using inter-view coding when the current depth map is in a dependent view, wherein inter-view bit map values are formed by applying Exclusive-OR operations between the depth values in the depth range and second bit map values associated with a second DLT of a second depth map in a base view.

26. An apparatus for decoding a DLT (depth lookup table) in a three-dimensional or multi-view video coding system, the apparatus comprising one or more electronic circuits, wherein said one or more electronic circuits are configured to: receive input data associated with coded DLT information of a current depth map; decode a constrained table value range for the DLT from a minimum table value of the DLT to a maximum table value of the DLT based on the coded DLT information, and wherein the minimum table value is greater than a minimum depth value of a full-range DLT, the maximum table value is smaller than a maximum depth value of the full-range DLT, or the minimum table value is greater than the minimum depth value and the maximum table value is smaller than the maximum depth value, wherein values outside the constrained table value range are not used in the DLT; decode bit map values for depth values in a depth range from (the minimum table value+1) to (the maximum table value−1), wherein the bit map values indicate whether said depth value are in the DLT respectively; and reconstruct the DLT for the current depth map based on the constrained table value range and the bit map values for the depth values in the depth range.

27. An apparatus for encoding a DLT (depth lookup table) in a three-dimensional or multi-view video coding system, the apparatus comprising one or more electronic circuits, wherein said one or more electronic circuits are configured to: receive input data associated with the DLT of a current depth map; determine a constrained table value range for the DLT from a minimum table value of the DLT to a maximum table value of the DLT, wherein the minimum table value is greater than a minimum depth value of a full-range DLT, the maximum table value is smaller than a maximum depth value of the full-range DLT, or the minimum table value is greater than the minimum depth value and the maximum table value is smaller than the maximum depth value, wherein values outside the constrained table value range are not used in the DLT; encode the DLT into coded DLT information, wherein said encoding the DLT into the coded DLT information comprises encoding first information associated with the constrained table value range into the coded DLT information; and encoding bit map values for depth values in a depth range from (the minimum table value+1) to (the maximum table value−1), wherein the bit map values indicate whether the depth values are in the DLT respectively.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 illustrates an example of a depth lookup table (DLT) consisting of table values 50, 108, 110, 112 and 200.

(2) FIG. 2 illustrates an example of depth lookup table (DLT) coding according to an embodiment of the present invention, where a full map flag, the minimum table value, the maximum table value and the bit map for table values between the minimum table value and the maximum table value are coded.

(3) FIG. 3 illustrates an example of depth lookup table (DLT) coding according to an embodiment of the present invention, where the bit map is coded using run-length coding.

(4) FIG. 4 illustrates an example of depth lookup table (DLT) coding according to an embodiment of the present invention, where the inter-view bit map is derived based on the bit map of the base view.

(5) FIG. 5 illustrates an example of depth lookup table (DLT) coding according to an embodiment of the present invention, where the differences of consecutive table values are coded.

(6) FIG. 6 illustrates an exemplary flow chart for decoding a depth lookup table according to an embodiment of the present invention.

(7) FIG. 7 illustrates an exemplary flow chart for encoding a depth lookup table according to an embodiment of the present invention.

DETAILED DESCRIPTION

(8) It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the systems and methods of the present invention, as represented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention.

(9) Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.

(10) Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures, or operations are not shown or described in detail to avoid obscuring aspects of the invention.

(11) The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of apparatus and methods that are consistent with the invention as claimed herein.

(12) The present invention discloses a coding method that indicates the range of the DLT for efficient DLT coding. In one embodiment, a Range Constrained Bit Map (RCBM) coding method is disclosed. According to RCBM, the DLT is coded in two steps.

(13) In the first step, the minimum table value (i.e., min_table_value) and the maximum table value difference (i.e., diff_max_value) are coded as unsigned integers to indicate the constrained value range of the DLT. The largest table value is designated as max_table_value, which can be determined according to max_table_value=min_table_value+diff_max_value.

(14) In the second step, the bit map is coded, where a flag, bit_map_flag[i] is used to indicate whether an underlying depth value exists for the DLT to be coded. Since both max_table_value and min_table_value exist, there is no need of bit map for max_table_value and min_table_value. Accordingly the index i for bit_map_flag[i] is from 0 to (max_table_value−min_table_value−2). If bit_map_flag [i]=1, then depth value (i+min_table_value+1) of the DLT exists. If bit_map_flag [i]=0, depth value (i+min_table_value+1) of the DLT does not exists.

(15) A flag, full_map_flag is used to signal whether to use a DLT with a constrained table value range, where the constrained table value range is identified by min_table_value and diff_max_value. When the range is not coded, default values can be used. For example, min_table_value can use a default value of −1, max_table_value can use a default value of (MAX_DEPTH_VALUE+1). A full bit map without range constrained is coded in this case. The full bit map requires (MAX_DEPTH_VALUE+1) bits. The encoder can decide whether to code the DLT table according to the RCBM depending on whether RCBM results in fewer bits. According to this embodiment, the maximum number of bits required to code the DLT is MAX_DEPTH_VALUE+2 (e.g. 257 for 8-bit samples).

(16) FIG. 2 illustrates exemplary coding process based on the RCBM for the DLT in FIG. 1. In FIG. 2, full_map_flag=0 indicates that the full map is not used as shown in step 210. The minimum table value, i.e., min_table_value=50 is coded in step 220. The table range, i.e., diff_max_value=150 is coded in step 230. The bit map values, i.e., bit_map_flag[i] for i=0, . . . , 148 (i.e., 149 bits) are coded as shown in step 240.

(17) Exemplary syntax to support the RCBM is shown in Table 3. Syntax element, code_full_bit_map_[i] is a flag used to indicate whether a full map is used or not. When the full bit map is not used, the minimum table value (i.e., min_dlt_value[i]) and the range value (i.e., diff_max_dlt_value[i]) are incorporated in the syntax. If the full map is used, the default min_dlt_value[i] and diff_max_dlt_value[i] (i.e., −1 and MAX_DEPTH_VALUE+1) will be used respectively. The bit map, i.e., bit_map_flag[i][j] is then coded.

(18) TABLE-US-00003 TABLE 3 code_full_bit_map_flag[i] u(1) if(!code_full_bit_map_flag[i]){ min_dlt_value[i] u(v) diff_max_dlt_value[i] u(v) } for(j=0;j< max_dlt_value[i] − min_dlt_value[i] − 1;j++) bit_map_flag[i][j] u(1)

(19) In another embodiment of the present invention, the DLT is coded using an enhanced range constrained bit-map (ERCBM) coding method. According to the ERCBM, the DLT is represented by a range constrained bit-map as mentioned above, where min_dlt_value and diff_max_dlt_value are coded as unsigned integers to constrain the table value to the range [MinDltValue, MaxDltValue] for the DLT. Values outside this range are not used in the DLT. Values in DLT between (MinDltValue, MaxDltValue) can be represented by a bit-map BM[i] with i from 0 to MaxDltValue−MinDltValue−2. If BM[i]=1, then value (i+MinDltValue+1) belongs to the DLT. Otherwise, value (i+MinDltValue+1) does not belong to DLT.

(20) In some embodiments, differential run-length coding is applied to code the bit-map. The differential run-length coding is also referred to as run-length coding or differential coding in the following descriptions. The bit-map can also be represented by the lengths of zero-runs (i.e., the number of consecutive zeroes) or one-runs (i.e., the number of consecutive ones). Run-length coding is efficient for underlying data having high probabilities of repeating symbols (i.e., 0 in this case). For the bit map of the DLT with a small number of table values, run length coding on zero-runs will be more efficient. FIG. 3 illustrates exemplary differential run-length coding incorporating an embodiment of the present invention. The lengths of zero-run are 3, 2, 2 and 3 sequentially for the DLT in FIG. 3, wherein the first zero-run (i.e., 3) corresponds to three 0's between depth value 64 and depth value 60; the second zero-run corresponds to the two 0's between depth value 67 and depth value 64; the third zero-run corresponds to the two 0's between depth value 70 and depth value 67; and the fourth zero-run corresponds to the three 0's between depth value 74 and depth value 70. The zero-runs correspond to 3, 2, 2 and 3 respectively are coded along with the minimum table value and the range value (i.e. the difference between the maximum table value and the minimum table value). The zero-runs can be coded by fixed-length coding with n bits. If a difference exceeds 2.sup.n−2, the excess will be coded with Exp-Golomb code, where n is signaled before the differences are coded. The encoder can choose an optimal n that may result in the minimum number of bits.

(21) In order to guarantee the number of bits for the worst case to be predictable and acceptable, the encoder can use the RCBM as a fall back mode. In the worst case, 0, 1, . . . 255 are included in the DLT. diff_value requires 8 bits, min_value requires 0 bit, run_length_coding_flag requires 1 bit, and the bit_map_flags requires 254 bits when RCBM is utilized. Accordingly, a DLT can be coded with 263 bits in the worst case for 8-bit depth data. An exemplary syntax design according to an embodiment of the present invention are illustrated in Table 4, where min_run_length corresponds to the minimum zero-run, run_length_bits_minus1 corresponds to (n−1) and run_length_diff[j] corresponds to the difference between a current zero-run and the minimum zero-run.

(22) TABLE-US-00004 TABLE 4 diff_value u(v) min_value u(v) run_length_coding_flag u(1) if(run_length_coding_flag){ min_run_length u(3) run_length_bits_minus1 u(3) for(j = MinV+1; j< MaxV; j+=Run[j]+1){ run_length_diff[j] u(v) if(run_length_diff[j]==RunBoundary) run_length_diff_rem[j] ue(v) } } else{ for(j = MinV +1; j< MaxV; j++) bit_map_flag[j] u(1) }

(23) The differential run-length coding for the DLT as disclosed above can be combined with other DLT processing techniques. For example, the differential run-length coding can be used jointly with the delta-DLT method as disclosed in JCT3V-D0054 (Fabian Jäger, “CE6.H related: Results on Updating Mechanism for Coding of Depth Lookup Table (Delta-DLT)”, Joint Collaborative Team on 3D Video Coding Extensions of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1, 4th Meeting: Incheon, KR, 20-26 Apr. 2013, Document: JCT3V-D0054). In JCT3V-D0054, the inter-view correlation is utilized to improve the coding efficiency. The delta-DLT process is illustrated in FIG. 4, where DLT0 and DLT1 correspond to the DLTs of the base view and the dependent view respectively. Both DLT0 and DLT1 are represented in the full bit-map form. DLT1′ is calculated as DLT1′=DLT0⊕DLT1, where “⊕” represents the “Exclusive OR” operation. According to the delta-DLT method, the DLT1′ is coded instead of DLT1. After DLT1′ is decoded, DLT1 is reconstructed as DLT1=DLT0⊕DLT1′. Since DLT0 and DLT1 correspond to the bit maps in two views of a same scene, they should be very similar. Therefore, the Exclusive OR operation will result a lot of zeroes, which can be beneficial for length coding of zero-runs. Since the inter-view information (i.e., DLT0) is only utilized at the reconstruction step, the delta-DLT approach does not introduce any parsing dependency issue. Therefore, ERCBM can work well regardless DLTs are coded in VPS (video parameter set), SPS (sequence parameter set), PPS (picture parameter set) or slice headers.

(24) A differential coding method is disclosed where min_dlt_value and diff_max_dlt_value are coded as unsigned integers to indicate the constrained table value range, [MinDltValue, MaxDitValue] of the DLT as before. Values outside this range are not used in the DLT. Differences between consecutive values in DLT can also be used to represent the DLT. Difference, i.e., Diff[i] is defined as (DLTValue[i+1]−DLTVlaue[i]−1). For example, if table values in the DLT are 60, 64, 67, 70 and 74, the corresponding differences are 3, 2, 2 and 3. The differences between consecutive values can also be interpreted as the zero-runs.

(25) In order to further improve differential or run-length coding efficiency, the minimum difference (i.e. the minimum zero-run) is coded first and then deltas between respective differences (i.e. zero-runs) and the minimum difference are coded subsequently. FIG. 5 demonstrates an example of a DLT, where differences are 3, 2, 2 and 3. The minimum difference ‘2’ is coded first, and then the deltas corresponding to the differences, i.e., 1, 0, 0 and 1 are coded in order. The deltas are coded by fixed-length coding with n bits. If a difference exceeds 2.sup.n−2, the excess will be coded with Exp-Golomb code. The number of bits for the fixed-length coding, i.e., n is signaled before deltas are coded. Since n is always greater then 0, n−1 instead of n is coded. The encoder can choose the optimal n that results in the minimum number of bits for the DLT.

(26) The coding process using the delta of the difference between an underlying value and the minimum value in the DLT can be described based on FIG. 5. At the encoder side, the encoding process is as follows:

(27) a. The difference between the minimum value ‘60’ and maximum value ‘74’ is ‘14’. Therefore, diff_max_dlt_value=14 is coded first.

(28) b. min_dlt_value=60 is then coded.

(29) c. min_diff=2 is coded.

(30) d. Deltas associated with the table values in the DLT correspond to 1, 0, 0 and 1. If n=1, the required bits for the deltas are 2, 1, 1 and 2 respectively, resulting in a total of 6 bits. If n=2, the required bits for the deltas will be 2, 2, 2 and 2 respectively, resulting in a total of 8 bits. If n is larger, the total bits will be even more. Consequently, the encoder will choose n=1. Thus, diff_bits_minus1 will have a value of (n−1)=0.

(31) e. DiffBoundary, which is defined as 2.sup.n−1, is equal to 1. Syntax elements diff_minus_min (i.e., the delta between a current difference and the minimum difference) and diff_minus_min_rem (i.e., the excess part of the delta) are coded as:

(32) diff_minus_min[0]=1, diff_minus_min_rem[0]=0;

(33) diff_minus_min[1]=0, diff_minus_min_rem[1] not coded;

(34) diff_minus_min[2]=0, diff_minus_min_rem[2] not coded;

(35) diff_minus_min[3]=1, diff_minus_min_rem[3]=0;

(36) At the decoder side, the decoding process is as follows:

(37) a. DLTValue[0]=60 since min_dlt_value=60. Maximum value in DLT is 60+14=74;

(38) b. Diff[0]=2+1+0=3, so DLTValue[1]=60+3+1=64;

(39) c. Diff[1]=2+0=2, so DLTValue[2]=64+2+1=67;

(40) d. Diff[2]=2+0=3, so DLTValue[3]=67+2+1=70;

(41) e. 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.

(42) Exemplary syntax incorporating deltas of differences based on an embodiment of the present invention is shown in Table 5. Flag DLTDeduced is used to indicate whether the DLT can be deduced from diff_max_dlt_value and min_dlt_value. If diff_max_dlt_value is 0, there will be only one value in the DLT (i.e., min_dlt_value) and the flag DLTDeduced is set to 1. Furthermore, if diff_max_dlt_value is 1, there will be only two values in the DLT (i.e., min_dlt_value and min_dlt_value+1), DLTDeduced is also set to 1. In all other cases, DLTDeduced is set to 0.

(43) TABLE-US-00005 TABLE 5  diff_max_dlt_value u(v)  min_dlt_value u(v)  if(!DLTDeduced){ min_diff u(3) diff_bits_minus1 u(3) for(j =0; DLTValue[j]<MaxDLTValue; j++){ diff_minus_min[j] u(v) if(diff_minus_min[j]==DiffBoundary) diff_minus_min_rem[j] ue(v) } }

(44) In one embodiment, a flag is coded to signal whether the differential run-length coding is used for coding bit map values of the DLT. For example, the encoder and the decoder apply the bit map coding method to code the bit map values of the DLT as a bit-map directly when the flag is 0, and apply the differential run-length coding method to code the bit map values of the DLT when the flag is 1. The bit map values indicate whether the depth values are in the DLT respectively.

(45) FIG. 6 illustrates an exemplary flowchart for depth lookup table (DLT) decoding in a three-dimensional or multi-view video coding system incorporating a constrained table value range according to an embodiment of the present invention. The system receives input data associated with coded DLT information of a current depth map as shown in step 610. The input data may also be received from a processor such as a controller, a central processing unit, a digital signal processor or electronic circuits that produce the input data. A constrained table value range from a minimum table value to a maximum table value of the DLT is decoded based on the coded DLT information as shown in step 620. The minimum table value is greater than a minimum depth value of a full-range DLT, the maximum table value is smaller than a maximum depth value of the full-range DLT, or the minimum table value is greater than the minimum depth value and the maximum table value is smaller than the maximum depth value. Bit map values for depth values in a depth range from (the minimum table value+1) to (the maximum table value−1) are then decoded as shown in step 630, where the bit map values indicate whether the depth values are in the DLT respectively. The DLT for the current depth map is then reconstructed based on the constrained table value range and the bit map values for the depth values in the depth range.

(46) FIG. 7 illustrates an exemplary flowchart for depth lookup table (DLT) encoding in a three-dimensional or multi-view video coding system incorporating a constrained table range according to an embodiment of the present invention. The system receives input data associated with the DLT of a current depth map as shown in step 710. The input data may also be received from a processor such as a controller, a central processing unit, a digital signal processor or electronic circuits that produce the input data. A constrained table value range from a minimum table value to a maximum table value of the DLT is determined as shown in step 720. The minimum table value is greater than a minimum depth value of a full-range DLT, the maximum table value is smaller than a maximum depth value of the full-range DLT, or the minimum table value is greater than the minimum depth value and the maximum table value is smaller than the maximum depth value. The DLT is then encoded into coded DLT information as shown in step 730, wherein said encoding the DLT into the coded DLT information comprises encoding first information associated with the constrained table value range into the coded DLT information.

(47) The flowcharts shown above are intended to illustrate examples of depth lookup table with a constrained table range. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention.

(48) 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.

(49) Embodiment of 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 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.

(50) 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.