CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present invention claims priority to PCT Patent Application, Serial No.
PCT/CN2013/070377, filed on January 11, 2013, entitled "An Efficient Coding Method for DLT in 3DVC", PCT Patent Application, Serial
No.
PCT/CN2013/ 077983, filed on June 26, 2013, entitled "An Efficient Coding Method for DLT in 3DVC" and PCT Patent Application,
Serial No.
PCT/CN2013/081455, filed on August 14, 2013, entitled "An Efficient Differential Coding Method for DLT in 3DVC".
FIELD OF INVENTION
[0002] The present invention relates to three-dimensional video coding. In particular, the
present invention relates to coding the depth lookup table in three-dimensional and
multi-view video coding.
BACKGROUND OF THE INVENTION
[0003] Three-dimensional (3D) television has been a technology trend in recent years that
intends to bring viewers sensational viewing experience. Various technologies have
been developed to enable 3D viewing. Among them, the multi-view video is a key technology
for 3D TV application among others. The traditional video is a two-dimensional (2D)
medium that only provides viewers a single view of a scene from the perspective of
the camera. However, the multi-view video is capable of offering arbitrary viewpoints
of dynamic scenes and provides viewers the sensation of realism.
[0004] In 3D video coding, depth information associated with the underlying texture images
is useful for improving the coding efficiency as well as for rendering of synthesized
views. The statistical distribution of depth data for typical scenes is usually sparse.
Some depth values may not occur in depth maps. Accordingly, Simplified Depth Coding
(SDC) and Depth Lookup Table (DLT) have been adopted in the HEVC-based Test Model
(HTM), where HEVC refers to the emerging video coding standard - High Efficiency Video
Coding. In the HTM, for each CU (coding unit), the prediction residual of depth data
is usually transform coded. However, the HTM also supports a transform skip mode for
the depth data to bypass the transform. When the SDC mode is selected, a set of four
different prediction modes is available. After an optimal prediction mode is selected
among the four modes, the residual is formed accordingly. In the SDC mode, the transform
is not applied to the prediction residual either. Since the SDC prediction process
always results in one or two depth segments per coded block, a single residual DC
depth value is coded for each of these segments. Furthermore, a DLT is used to map
coded depth values in SDC to valid depth values of the original depth map. At the
encoder side, the DLT can be constructed based on an initial analysis of the input
depth map. The DLT is then coded in the sequence parameter set (SPS).
[0005] The DLT is an optional coding tool for depth map coding. According to the current
HTM, the encoder will not use the DLT coding tool if all depth values from 0 to the
maximum depth value (e.g. 255) appear in the original depth map during the analysis
step. Otherwise, the DLT will be coded in the sequence parameter set (SPS). Fig. 1
illustrates an example of DLT coding process. In order to code the DLT, the number
of valid depth values (i.e., 5 in this example) is coded using Exp-Golomb code first.
Then, each valid depth value (i.e., a depth value selected from 50, 108, 110, 112
and 200 in this example) is coded using Exp-Golomb code as well. Table 1 illustrates
the syntax for DLT coding according to the HTM. Syntax element,
dlt_flag[i] indicates whether the DLT coding tool is used for the depth sequence indicated by
layer
i. If the flag indicates that the DLT coding tool is used (i.e.,
dlt_flag[i] = 1), syntax element
num_depth_values_in_dlt[i] is used to indicate the number of table values in the DLT. The table values in the
DLT are then included in the bitstream.
Table 1
| dlt_flag[i] |
u(1) |
| if(dlt_flag[i]){ |
|
| num_depth_values_in_dlt[i] |
ue(v) |
| for (j = 0; j < num_depth_values_in_dlt ; j++){ |
|
| dlt_depth_value[i][j] |
ue(v) |
| } |
|
| } |
|
[0006] Exp-Golomb code is efficient when smaller values have higher probabilities of occurrence.
However, that is not the case for valid depth values. As a result, Exp-Golomb codes
may not be efficient for DLT coding. In the common test condition, four sequences,
i.e.,
Balloons, Kendo, Newspapercc and
PoznanHall are determined to use the DLT coding tool, while the other three are determined not
to use the DLT coding tool. Statistics are collected based on the four sequences.
As shown in Table 2, DLT requires 557.33 bits in average, which account for more than
65% bits of SPS for depth components. In other words, the DLT coding contributes a
majority portion of bits in SPS for depth components. When the SPS carries the DLT,
the SPS size becomes much larger than the SPS without the DLT.
Table 2
| |
|
DLT Size (bits) |
SPS Size (bits) |
D/S (%) |
| Balloons |
V0_depth |
555 |
845 |
65.68% |
| V1_depth |
641 |
937 |
68.41% |
| V2_depth |
617 |
915 |
67.43% |
| Kendo |
V0_depth |
485 |
775 |
62.58% |
| V1_depth |
637 |
933 |
68.27% |
| V2_depth |
649 |
947 |
68.53% |
| Newspapercc |
V0_depth |
606 |
896 |
67.63% |
| V1_depth |
621 |
917 |
67.72% |
| V2_depth |
696 |
994 |
70.02% |
| PoznanHall2 |
V0_depth |
420 |
712 |
58.99% |
| V1_depth |
380 |
678 |
56.05% |
| V2_depth |
381 |
681 |
55.95% |
| Average |
557.33 |
852.50 |
65.38% |
[0007] Accordingly, it is desirable to develop a new DLT coding tool that will improve the
coding efficiency of the DLT.
[0008] "
3D-CE6.h Results on Simplified Depth Coding with an optional Depth Lookup Table" (FABIAN
JAGER, 2012-10-16, 2. JCT-3V MEETING; 102. MPEG MEETING) relates to a modified intra-coding scheme for depth map coding in 3D video. The
number of bits to signal the residual values for each segment can be reduced by integrating
Depth Lookup Table (DLT), which maps depth values 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 the SPS. The analysis of the 3DV test sequences shown that
the estimated depth maps do not utilize the full available depth range of 2
8. The parameter num_depth_values_in_dlt specifies the number of different depth values
and the number of elements in the depth lookup table. The parameter dlc_depth_value[i]
specifies a valid depth value and an entry in the depth lookup table.
[0009] "
3D-HEVC Test Model 2" (TECH G ET AL, 2012-12-23, 2. JCT-3V MEETING; 102, MPEG MEETING) relates to draft of 3D-HEVC Test Model Description. The Depth Lookup Table utilizes
the property of the depth map, that the full available depth range of 28 values is
not utilized. Only a small amount of different depth levels occur due to strong quantization.
This depth lockup-table is used during the coding process to reduce the effective
signal bit-depth of the residual signal. Video parameter set extension syntax and
decoding process for a depth lookup table are discussed.
[0010] A Beginners Guide to Bitmaps" (Paul Bourke, 1993-11-01) relates to an elementary introduction to bitmaps as they are used in computer graphics.
Bitmaps are defined as a regular rectangular mesh of cells called pixels, each pixel
containing a colour value. They are characterised by only two parameters, the number
of pixels and the information content (colour depth) per pixel. There are other attributes
that are applied to bitmaps but they are derivations of these two fundamental parameters.
SUMMARY OF THE INVENTION
[0011] The above-mentioned objectives are achieved by a method for decoding according to
independent claim 1 and by a method for encoding according to independent claim 7.
The dependent claims define preferred embodiments thereof.
[0012] A method and apparatus for encoding and decoding depth lookup table (DLT) in a three-dimensional
or multi-view video coding using a constrained table value range are disclosed. For
a decoder, embodiments according to the present invention decode a constrained table
value range from a minimum table value to a maximum table value of the DLT based on
the coded DLT information. 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. 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, embodiments according to
the present invention determine a constrained table value range from a minimum table
value to a maximum table value of the DLT and 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.
[0013] A flag can be used to indicate whether to use the full-range DLT or a constrained
DLT. The constrained table value range may be represented by the minimum table value
and a maximum table difference, wherein the maximum table difference corresponds to
the difference between the maximum table value and the minimum table value, and the
minimum table value and the maximum table difference can be coded using unsigned integers.
The minimum table value and the maximum table value may use default values when the
minimum table value and the maximum table difference are not coded. For example, the
minimum table value may use -1 as a default value and the maximum table value may
use MAX_DEPTH_VALUE + 1 as the default value, wherein MAX_DEPTH_VALUE corresponds
to the maximum depth value. The constrained table value range may also be represented
by the minimum table value and the maximum table value, and the minimum table value
and the maximum table value can be coded using unsigned integers.
[0014] Another aspect of the present invention addresses bit map coding. The bit map values
for depth values in a depth range from (the minimum table value + 1) to (the maximum
table value - 1) are also incorporated in the coded DLT information, where the bit
map values indicate whether respective depth values are in the DLT or not. In one
embodiment, 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. In
another embodiment, the bit map values for the depth values in the depth range are
coded using differences between the zero-runs and a minimum zero-run or between the
one-runs and a minimum one -run. The differences can be encoded into the coded DLT
information using n-bit fixed length coding, where n is a positive integer. The excess
part of the second difference can be coded using Exp-Golomb. An optimal value for
n can be determined at the encoder side based on a lowest resulting bitrate for the
coded DLT information. A flag can be coded to signal whether the run-length coding
is used for coding bit map values or the bit map values are coded as a bit-map directly.
[0015] In yet another embodiment of the present invention, 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. The 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016]
Fig. 1 illustrates an example of a depth lookup table (DLT) consisting of table values
50, 108, 110, 112 and 200.
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.
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.
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.
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.
Fig. 6 illustrates an exemplary flow chart for decoding a depth lookup table according
to an embodiment of the present invention.
Fig. 7 illustrates an exemplary flow chart for encoding a depth lookup table according
to an embodiment of the present invention.
DETAILED DESCRIPTION
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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).
[0023] 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.
[0024] 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.
Table 3
| code full_bit_map_ftag[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) |
[0025] 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.
[0026] 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
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.
[0027] 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.
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) |
| } |
|
[0028] 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., DLTO) 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.
[0029] 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, MaxDltValue] 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.
[0030] 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
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.
[0031] 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:
- a. The difference between the minimum value '60' and maximum value '74' is '14'. Therefore,
diff_max_dlt_value =14 is coded first.
- b. min_dlt_value = 60 is then coded.
- c. min_diff =2 is coded.
- 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.
- e. DiffBoundary, which is defined as 2n-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:
diff_minus_min[0]=1, diff_minus_min_rem[0]=0;
diff_minus_min[1]=0, diff_minus_min_rem[1] not coded;
diff_minus_min[2]=0, diff_minus_min_rem[2] not coded;
diff_minus_min[3]=1, diff_minus_min_rem[3]=0;
[0032] At the decoder side, the decoding process is as follows:
- a. DLTValue[0] = 60 since min_dlt_value = 60. Maximum value in DLT is 60 + 14 = 74;
- b. Diff[0] = 2+1+0=3, so DLTValue[1] = 60+ 3 + 1 = 64;
- c. Diff[1] = 2+0=2, so DLTValue[2] = 64+ 2 + 1 = 67;
- d. Diff[2] = 2+0=3, so DLTValue[3] = 67+ 2 + 1 = 70;
- 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.
[0033] 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.
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) |
| } |
|
| } |
|
[0034] 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.
[0035] 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.
[0036] 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.
[0037] The flowcharts shown above are intended to illustrate examples of depth lookup table
with a constrained table range.
[0038] 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.
[0039] 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.
1. A method for decoding a depth lookup table, DLT, 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 (Vmin)
of the DLT to a maximum table value (Vmax) of the DLT based on the coded DLT information,
and wherein the minimum table value (Vmin) is greater than a minimum depth value of
a full-range DLT, the maximum table value (Vmax) is smaller than a maximum depth value
of the full-range DLT, or the minimum table value (Vmin) is greater than the minimum
depth value and the maximum table value (Vmax) is smaller than the maximum depth value;
decoding bit map values of a bit map (BM) 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 present in the DLT respectively; and
reconstructing the DLT for the current depth map based on the constrained table-value
range for the DLT and the bit map values for the depth values in the depth range;
wherein the constrained table-value range for the DLT is indicated by the minimum
table value (Vmin) and a maximum table value difference in the coded DLT information,
wherein the maximum table value difference corresponds to a first difference between
the maximum table value (Vmax) and the minimum table value (Vmin), and wherein the
minimum table value (Vmin) and the maximum table value difference are coded using
unsigned integers; or
wherein the constrained table-value range for the DLT is indicated by the minimum
table value (Vmin) and the maximum table value (Vmax) coded in the coded DLT information,
wherein the minimum table value (Vmin) and the maximum table value (Vmax) are coded
using unsigned integers.
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 for the DLT from the minimum table value (Vmin) to the
maximum table value (Vmax).
3. The method of Claim 1, wherein the minimum table value (Vmin) and the maximum table
value (Vmax) use default values when the minimum table value (Vmin) and the maximum
table value difference are not coded in the coded DLT information and wherein the
minimum table value (Vmin) uses a first default value corresponding to - 1 and the
maximum table value (Vmax) uses a second default value corresponding to MAX_DEPTH_VALUE
+ 1, wherein MAX_DEPTH_VALUE corresponds to the maximum depth value.
4. The method of any of the preceding claims, 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.
5. The method of Claim 4, wherein second differences between the zero-runs and a minimum
zero-run or between the one-runs and a minimum one-run are coded, said method 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, and
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.
6. The method of Claim 4, wherein a flag is signaled to indicate whether the DLT is coded
using the run-length coding or the DLT is coded as a bit-map directly.
7. A method for encoding a depth lockup table, DLT, 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
(Vmin) to a maximum table value (Vmax) of the DLT, wherein the minimum table value
(Vmin) is greater than a minimum depth value of a full-range DLT, the maximum table
value (Vmax) is smaller than a maximum depth value of the full-range DLT, or the minimum
table value (Vmin) is greater than the minimum depth value and the maximum table value
(Vmax) is smaller than the maximum depth value;
encoding bit map values of a bit map (BM) 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 present in the DLT respectively; and
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 for the DLT into the coded DLT information;
wherein said first information associated with the constrained-table value range for
the DLT consists of the minimum table value (Vmin) and a maximum table value difference,
wherein the maximum table value difference corresponds to a first difference between
the maximum table value (Vmax) and the minimum table value (Vmin), and wherein the
minimum table value (Vmin) and the maximum table value difference are coded using
unsigned integers; or
wherein said first information associated with the constrained-table value range for
the DLT consists of the minimum table value (Vmin) and the maximum table value (Vmax),
wherein the minimum table value (Vmin) and the maximum table value (Vmax) are coded
using unsigned integers.
8. The method of claim 7, 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 for the DLT from the minimum table value (Vmin) to the
maximum table value (Vmax).
9. The method of claim 7, wherein the minimum table value (Vmin) and the maximum table
value (Vmax) use default values when the minimum table value (Vmin) and the maximum
table value difference are not coded, and
wherein the minimum table value (Vmin) uses a first default value corresponding to
- 1 and the maximum table value (Vmax) uses a second default value corresponding to
MAX_DEPTH_VALUE + 1, wherein MAX_DEPTH_VALUE corresponds to the maximum depth value.
10. The method of claim 7, 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.
11. The method of claim 10, wherein second differences between the zero-runs and a minimum
zero-run or between the one-runs and a minimum one-run are encoded.
12. The method of claim 11, 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.
13. The method of claim 11, wherein the second differences are encoded into the coded
DLT information using n-bit fixed length coding, wherein n is a positive integer.
14. The method of claim 13, 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.
1. Verfahren zum Decodieren einer Tiefen-Nachschlagtabelle, DLT, in einem System zum
Codieren von dreidimensionalem oder Mehrfachansicht-Video, wobei das Verfahren aufweist:
Empfangen von Eingangsdaten, die zu codierten DLT-Informationen einer aktuellen Tiefenzuordnung
gehören;
Decodieren eines eingeschränkten Tabellenwertebereichs für die DLT von einem minimalen
Tabellenwert (Vmin) der DLT bis zu einem maximalen Tabellenwert (Vmax) der DLT basierend
auf den codierten DLT-Informationen, und wobei der minimale Tabellenwert (Vmin) größer
ist als ein minimaler Tiefenwert einer Vollbereichs-DLT, der maximale Tabellenwert
(Vmax) kleiner ist als ein maximaler Tiefenwert der Vollbereichs-DLT, oder der minimale
Tabellenwert (Vmin) größer ist als der minimale Tiefenwert und der maximale Tabellenwert
(Vmax) kleiner ist als der maximale Tiefenwert;
Decodieren von Bit-Zuordnungswerten einer Bit-Zuordnung (BM) für Tiefenwerte in einem
Tiefenbereich von (dem minimalen Tabellenwert + 1) bis zu (dem maximalen Tabellenwert
- 1), wobei die Bit-Zuordnungswerte anzeigen, ob die Tiefenwerte jeweils in der DLT
vorhanden sind; und
Rekonstruieren der DLT für die aktuelle Tiefenzuordnung basierend auf dem eingeschränkten
Tabellenwertebereich für die DLT und den Bit-Zuordnungswerten für die Tiefenwerte
in dem Tiefenbereich;
wobei der eingeschränkte Tabellenwertebereich für die DLT durch den minimalen Tabellenwert
(Vmin) und eine maximale Tabellenwertdifferenz in den codierten DLT-Informationen
angezeigt wird, wobei die maximale Tabellenwertdifferenz zu einer ersten Differenz
zwischen dem maximalen Tabellenwert (Vmax) und dem minimalen Tabellenwert (Vmin) korrespondiert,
und wobei der minimale Tabellenwert (Vmin) und die maximale Tabellenwertdifferenz
unter Verwendung von vorzeichenlosen ganzen Zahlen codiert werden; oder
wobei der eingeschränkte Tabellenwertebereich für die DLT durch den minimalen Tabellenwert
(Vmin) und den maximalen Tabellenwert (Vmax), die in den codierten DLT-Informationen
codiert sind, angezeigt wird, wobei der minimale Tabellenwert (Vmin) und der maximale
Tabellenwert (Vmax) unter Verwendung von vorzeichenlosen ganzen Zahlen codiert werden.
2. Verfahren gemäß Anspruch 1, das weiter ein Decodieren eines ersten Flags aufweist,
das anzeigt, ob die Vollbereichs-DLT oder eine eingeschränkte DLT zu verwenden ist,
wobei die eingeschränkte DLT den eingeschränkten Tabellenwertebereich für die DLT
von dem minimalen Tabellenwert (Vmin) bis zu dem maximalen Tabellenwert (Vmax) aufweist.
3. Verfahren gemäß Anspruch 1, wobei der minimale Tabellenwert (Vmin) und der maximale
Tabellenwert (Vmax) Vorgabewerte verwenden, wenn der minimale Tabellenwert (Vmin)
und die maximale Tabellenwertdifferenz nicht in den codierten DLT-Informationen codiert
sind, und wobei der minimale Tabellenwert (Vmin) einen ersten Vorgabewert verwendet,
der zu -1 korrespondiert, und der maximale Tabellenwert (Vmax) einen zweiten Vorgabewert
verwendet, der zu MAX_DEPTH_VALUE + 1 korrespondiert, wobei MAX_DEPTH_VALUE zu dem
maximalen Tiefenwert korrespondiert.
4. Verfahren gemäß einem der vorstehenden Ansprüche, wobei die Bit-Zuordnungswerte für
die Tiefenwerte in dem Tiefenbereich unter Verwendung von Lauflängen-Codierung auf
Null-Läufen oder Eins-Läufen codiert werden, die zu den Bit-Zuordnungswerten gehören.
5. Verfahren gemäß Anspruch 4, wobei zweite Differenzen zwischen den Null-Läufen und
einem minimalen Null-Lauf oder zwischen den Eins-Läufen und einem minimalen Eins-Lauf
codiert werden, wobei das Verfahren weiter aufweist
Decodieren eines Parameters n aus den codierten DLT-Informationen, wobei die zweiten
Differenzen unter Verwendung von n-Bit-Festlängen-Codierung codiert werden und n eine
positive ganze Zahl ist, und
Decodieren eines überschüssigen Teils einer aktuellen zweiten Differenz aus den codierten
DLT-Informationen, wenn die n-Bit-Festlängen-Codierung anzeigt, dass die aktuelle
zweite Differenz einen maximalen n-Bit-Wert überschreitet, der durch n Bits repräsentiert
wird, wobei der überschüssige Teil unter Verwendung eines Exp-Golomb-Codes codiert
wird und wobei der überschüssige Teil zu einer dritten Differenz zwischen der aktuellen
zweiten Differenz und dem maximalen n-Bit-Wert korrespondiert.
6. Verfahren gemäß Anspruch 4, wobei ein Flags signalisiert wird, das anzeigt, ob die
DLT unter Verwendung der Lauflängen-Codierung codiert ist oder die DLT direkt als
eine Bit-Zuordnung codiert ist.
7. Verfahren zum Codieren einer Tiefen-Nachschlagtabelle, DLT, in einem System zum Codieren
von dreidimensionalem oder Mehrfachansicht-Video, wobei das Verfahren aufweist:
Empfangen von Eingangsdaten, die zu der DLT einer aktuellen Tiefenzuordnung gehören;
Bestimmen eines eingeschränkten Tabellenwertebereichs für die DLT von einem minimalen
Tabellenwert (Vmin) bis zu einem maximalen Tabellenwert (Vmax) der DLT, wobei der
minimale Tabellenwert (Vmin) größer ist als ein minimaler Tiefenwert einer Vollbereichs-DLT,
der maximale Tabellenwert (Vmax) kleiner ist als ein maximaler Tiefenwert der Vollbereichs-DLT,
oder der minimale Tabellenwert (Vmin) größer ist als der minimale Tiefenwert und der
maximale Tabellenwert (Vmax) kleiner ist als der maximale Tiefenwert;
Codieren von Bit-Zuordnungswerten einer Bit-Zuordnung (BM) für Tiefenwerte in einem
Tiefenbereich von (dem minimalen Tabellenwert + 1) bis zu (dem maximalen Tabellenwert
- 1), wobei die Bit-Zuordnungswerte anzeigen, ob die Tiefenwerte jeweils in der DLT
vorhanden sind; und
Codieren der DLT in codierte DLT-Informationen, wobei das Codieren der DLT in die
codierten DLT-Informationen ein Codieren von ersten Informationen, die zu dem eingeschränkten
Tabellenwertebereich für die DLT gehören, in die codierten DLT-Informationen umfasst;
wobei die ersten Informationen, die zu dem eingeschränkten Tabellenwertebereich für
die DLT gehören, aus dem minimalen Tabellenwert (Vmin) und einer maximalen Tabellenwertdifferenz
bestehen, wobei die maximale Tabellenwertdifferenz zu einer ersten Differenz zwischen
dem maximalen Tabellenwert (Vmax) und dem minimalen Tabellenwert (Vmin) korrespondiert,
und wobei der minimale Tabellenwert (Vmin) und die maximale Tabellenwertdifferenz
unter Verwendung von vorzeichenlosen ganzen Zahlen codiert werden; oder
wobei die ersten Informationen, die zu dem eingeschränkten Tabellenwertebereich für
die DLT gehören, aus dem minimalen Tabellenwert (Vmin) und dem maximalen Tabellenwert
(Vmax) bestehen, wobei der minimale Tabellenwert (Vmin) und der maximale Tabellenwert
(Vmax) unter Verwendung von vorzeichenlosen ganzen Zahlen codiert werden.
8. Verfahren gemäß Anspruch 7, das weiter ein Codieren eines ersten Flags aufweist, das
anzeigt, ob die Vollbereichs-DLT oder eine eingeschränkte DLT zu verwenden ist, wobei
die eingeschränkte DLT den eingeschränkten Tabellenwertebereich für die DLT von dem
minimalen Tabellenwert (Vmin) bis zu dem maximalen Tabellenwert (Vmax) aufweist.
9. Verfahren gemäß Anspruch 7, wobei der minimale Tabellenwert (Vmin) und der maximale
Tabellenwert (Vmax) Vorgabewerte verwenden, wenn der minimale Tabellenwert (Vmin)
und die maximale Tabellenwertdifferenz nicht codiert sind, und
wobei der minimale Tabellenwert (Vmin) einen ersten Vorgabewert verwendet, der zu
-1 korrespondiert, und der maximale Tabellenwert (Vmax) einen zweiten Vorgabewert
verwendet, der zu MAX_DEPTH_VALUE + 1 korrespondiert, wobei MAX_DEPTH_VALUE zu dem
maximalen Tiefenwert korrespondiert.
10. Verfahren gemäß Anspruch 7, wobei die Bit-Zuordnungswerte für die Tiefenwerte in dem
Tiefenbereich unter Verwendung von Lauflängen-Codierung auf Null-Läufen oder Eins-Läufen
codiert werden, die zu den Bit-Zuordnungswerten gehören.
11. Verfahren gemäß Anspruch 10, wobei zweite Differenzen zwischen den Null-Läufen und
einem minimalen Null-Lauf oder zwischen den Eins-Läufen und einem minimalen Eins-Lauf
codiert werden.
12. Verfahren gemäß Anspruch 11, das weiter ein Codieren eines Flags aufweist, das anzeigt,
ob die DLT unter Verwendung der Lauflängen-Codierung codiert ist oder die DLT direkt
als eine Bit-Zuordnung codiert ist.
13. Verfahren gemäß Anspruch 11, wobei die zweiten Differenzen unter Verwendung von n-Bit-Festlängen-Codierung
in die codierten DLT-Informationen codiert werden, wobei n eine positive ganze Zahl
ist.
14. Verfahren gemäß Anspruch 13, wobei ein überschüssiger Teil einer aktuellen zweiten
Differenz unter Verwendung eines Exp-Golomb-Codes codiert wird, wenn die aktuelle
zweite Differenz einen maximalen n-Bit-Wert überschreitet, der durch n Bits repräsentiert
wird, wobei der überschüssige Teil zu einer dritten Differenz zwischen der aktuellen
zweiten Differenz und dem maximalen n-Bit-Wert korrespondiert.
1. Procédé de décodage d'une table de consultation de profondeur, DLT, dans un système
de codage vidéo tridimensionnel ou multi-vues, le procédé comprenant le fait :
de recevoir des données d'entrée associées à des informations de la DLT codées d'une
carte de profondeur actuelle ;
de décoder une plage de valeurs de table contrainte pour la DLT comprise entre une
valeur de table minimale (Vmin) de la DLT et une valeur de table maximale (Vmax) de
la DLT sur la base des informations de la DLT codées, et où la valeur de table minimale
(Vmin) est supérieure à une valeur de profondeur minimale d'une DLT pleine plage,
la valeur de table maximale (Vmax) est inférieure à une valeur de profondeur maximale
de la DLT pleine plage, ou la valeur de table minimale (Vmin) est supérieure à la
valeur de profondeur minimale et la valeur de table maximale (Vmax) est inférieure
à la valeur de profondeur maximale ;
de décoder des valeurs de carte binaire d'une carte binaire (BM) pour des valeurs
de profondeur dans une plage de profondeur comprise entre (la valeur de table minimale
+ 1) et (la valeur de table maximale - 1), où les valeurs de carte binaire indiquent
si les valeurs de profondeur sont présentes dans la DLT respectivement ; et
de reconstruire la DLT pour la carte de profondeur actuelle sur la base de la plage
de valeurs de table contrainte pour la DLT et des valeurs de carte binaire pour les
valeurs de profondeur dans la plage de profondeur ;
dans lequel la plage de valeurs de table contrainte pour la DLT est indiquée par la
valeur de table minimale (Vmin) et une différence de valeur de table maximale dans
les informations de la DLT codées, où la différence de valeur de table maximale correspond
à une première différence entre la valeur de table maximale (Vmax) et la valeur de
table minimale (Vmin), et où la valeur de table minimale (Vmin) et la différence de
valeur de table maximale sont codées en utilisant des nombres entiers non signés ;
ou
dans lequel la plage de valeurs de table contrainte pour la DLT est indiquée par la
valeur de table minimale (Vmin) et la valeur de table maximale (Vmax) codées dans
les informations de la DLT codées, où la valeur de table minimale (Vmin) et la valeur
de table maximale (Vmax) sont codées en utilisant des nombres entiers non signés.
2. Procédé de la revendication 1, comprenant en outre le fait de décoder un premier drapeau
pour indiquer s'il faut utiliser la DLT pleine plage ou une DLT contrainte, où la
DLT contrainte a la plage de valeurs de table contrainte pour la DLT comprise entre
la valeur de table minimale (Vmin) et la valeur de table maximale (Vmax).
3. Procédé de la revendication 1, dans lequel la valeur de table minimale (Vmin) et la
valeur de table maximale (Vmax) utilisent des valeurs par défaut lorsque la valeur
de table minimale (Vmin) et la différence de valeur de table maximale ne sont pas
codées dans les informations de la DLT codées et où la valeur de table minimale (Vmin)
utilise une première valeur par défaut correspondant à - 1 et la valeur de table maximale
(Vmax) utilise une deuxième valeur par défaut correspondant à MAX_DEPTH_VALUE + 1,
où MAX_DEPTH_VALUE correspond à la valeur de profondeur maximale.
4. Procédé de l'une quelconque des revendications précédentes, dans lequel les valeurs
de carte binaire pour les valeurs de profondeur dans la plage de profondeur sont codées
en utilisant un codage à longueur de série sur des séries de zéro ou des séries de
un associées aux valeurs de carte binaire.
5. Procédé de la revendication 4, dans lequel des deuxièmes différences entre les séries
de zéro et une série de zéro minimale ou entre les séries de un et une série de un
minimale sont codées, ledit procédé comprenant en outre le fait
de décoder un paramètre n à partir des informations de la DLT codées, où les deuxièmes
différences sont codées en utilisant un codage à longueur fixe de n bits et n est
un nombre entier positif, et
de décoder une partie en excès d'une deuxième différence actuelle à partir des informations
de la DLT codées lorsque ledit codage à longueur fixe de n bits indique que la deuxième
différence actuelle dépasse une valeur de n bits maximale représentée par n bits,
où la partie en excès est codée en utilisant un code Exp-Golomb, et où la partie en
excès correspond à une troisième différence entre la deuxième différence actuelle
et la valeur de n bits maximale.
6. Procédé de la revendication 4, dans lequel un drapeau est signalé pour indiquer si
la DLT est codée en utilisant le codage à longueur de série ou si la DLT est codée
sous la frome d'une carte binaire directement.
7. Procédé de codage d'une table de consultation de profondeur, DLT, dans un système
de codage vidéo tridimensionnel ou multi-vues, le procédé comprenant le fait :
de recevoir des données d'entrée associées à la DLT d'une carte de profondeur actuelle
;
de déterminer une plage de valeurs de table contrainte pour la DLT comprise entre
une valeur de table minimale (Vmin) et une valeur de table maximale (Vmax) de la DLT,
où la valeur de table minimale (Vmin) est supérieure à une valeur de profondeur minimale
d'une DLT pleine plage, la valeur de table maximale (Vmax) est inférieure à une valeur
de profondeur maximale de la DLT pleine plage, ou la valeur de table minimale (Vmin)
est supérieure à la valeur de profondeur minimale et la valeur de table maximale (Vmax)
est inférieure à la valeur de profondeur maximale ;
de coder des valeurs de carte binaire d'une carte binaire (BM) pour des valeurs de
profondeur dans une plage de profondeur comprise entre (la valeur de table minimale
+ 1) et (la valeur de table maximale - 1), où les valeurs de carte binaire indiquent
si les valeurs de profondeur sont présentes dans la DLT respectivement ; et
de coder la DLT en des informations de la DLT codées, où ledit codage de la DLT en
informations de la DLT codées comprend le codage de premières informations associées
à la plage de valeurs de table contrainte pour la DLT en informations de la DLT codées
;
dans lequel lesdites premières informations associées à la plage de valeurs de table
contrainte pour la DLT comprennent la valeur de table minimale (Vmin) et une différence
de valeur de table maximale, où la différence de valeur de table maximale correspond
à une première différence entre la valeur de table maximale (Vmax) et la valeur de
table minimale (Vmin), et où la valeur de table minimale (Vmin) et la différence de
valeur de table maximale sont codées en utilisant des nombres entiers non signés ;
ou
dans lequel lesdites premières informations associées à la plage de valeurs de table
contrainte pour la DLT comprennent la valeur de table minimale (Vmin) et la valeur
de table maximale (Vmax), où la valeur de table minimale (Vmin) et la valeur de table
maximale (Vmax) sont codées en utilisant des nombres entiers non signés.
8. Procédé de la revendication 7, comprenant en outre le fait de coder un premier drapeau
pour indiquer s'il faut utiliser la DLT pleine plage ou une DLT contrainte, où la
DLT contrainte a la plage de valeurs de table contrainte pour la DLT comprise entre
la valeur de table minimale (Vmin) et la valeur de table maximale (Vmax).
9. Procédé de la revendication 7, dans lequel la valeur de table minimale (Vmin) et la
valeur de table maximale (Vmax) utilisent des valeurs par défaut lorsque la valeur
de table minimale (Vmin) et la différence de valeur de table maximale ne sont pas
codées, et
dans lequel la valeur de table minimale (Vmin) utilise une première valeur par défaut
correspondant à - 1 et la valeur de table maximale (Vmax) utilise une deuxième valeur
par défaut correspondant à MAX_DEPTH_VALUE + 1, où MAX_DEPTH_VALUE correspond à la
valeur de profondeur maximale.
10. Procédé de la revendication 7, dans lequel les valeurs de carte binaire pour les valeurs
de profondeur dans la plage de profondeur sont codées en utilisant un codage à longueur
de série sur des séries de zéro ou des séries de un associées aux valeurs de carte
binaire.
11. Procédé de la revendication 10, dans lequel des deuxièmes différences entre les séries
de zéro et une série de zéro minimale ou entre les séries de un et une série de un
minimale sont codées.
12. Procédé de la revendication 11, comprenant en outre le fait de coder un drapeau pour
indiquer si la DLT est codée en utilisant le codage à longueur de série ou si la DLT
est codée sous la frome d'une carte binaire directement.
13. Procédé de la revendication 11, dans lequel les deuxièmes différences sont codées
en informations DLT codées en utilisant un codage à longueur fixe de n bits, où n
est un nombre entier positif.
14. Procédé de la revendication 13, dans lequel une partie en excès d'une deuxième différence
actuelle est codée en utilisant un code Exp-Golomb lorsque la deuxième différence
actuelle dépasse une valeur de n bits maximale représentée par n bits, où la partie
en excès correspond à une troisième différence entre la deuxième différence actuelle
et la valeur de n bits maximale.