1. A method of decoding video data, the method comprising:
determining a number of octants for each of three color components of a three-dimensional (3D) lookup table for color gamut scalability;
for each of the octants for each of the color components, decoding color mapping coefficients for a linear color mapping function of color values in the 3D lookup table used to convert color data in a first color gamut for a lower layer of the video data to a second color gamut for a higher layer of the video data;
generating the 3D lookup table based on the number of octants for each of the color components and color values associated with the color mapping coefficients for each of the octants;
decoding residual data of video blocks of the video data; and
reconstructing the video blocks of the video data based on the decoded residual data and at least one reference picture generated using the 3D lookup table.
2. The method of claim 1, wherein color mapping coefficients comprise integer values that represent floating point values using a bit-depth based on at least one of an input bit-depth or an output bit-depth of the 3D lookup table.
3. The method of claim 1, wherein decoding the color mapping coefficients comprises, for a first one of the octants for each of the color components, decoding at least one coefficient of the color mapping coefficients based on a predicted value of the at least one coefficient of the color mapping coefficients.
4. The method of claim 3, wherein the predicted value of the at least one coefficient of the color mapping coefficients is a predefined fixed value.
5. The method of claim 3, wherein the at least one coefficient of the color mapping coefficients comprises a key coefficient that defines a weighting factor for the linear color mapping function between a same color component of the lower layer of the video data and the higher layer of the video data.
6. The method of claim 5, wherein decoding the color mapping coefficients further comprises, for the first one of the octants for each of the color components, decoding the key coefficient based on a predicted value equal to a predefined non-zero value, and decoding remaining coefficients of the color mapping coefficients based on a predicted value equal to zero.
7. The method of claim 3, wherein decoding the color mapping coefficients further comprises, for each remaining one of the octants for each of the color components, decoding the color mapping coefficients based on predicted values from at least one previously decoded octant.
8. The method of claim 1, further comprising determining a quantization value for residual values of the color mapping coefficients, wherein decoding the color mapping coefficients further comprises:
for each of the octants for each of the color components, decoding residual values of the color mapping coefficients;
inverse quantizing the residual values of the color mapping coefficients based on the determined quantization value; and
reconstructing the color mapping coefficients based on the decoded residual values and predicted values of the color mapping coefficients.
9. The method of claim 8 wherein determining the quantization value for residual values of the color mapping coefficients comprises decoding at least one syntax element indicating the quantization value.
10. The method of claim 1, further comprising restricting values of the color mapping coefficients to a range based on one of a predefined fixed value or a value dependent on at least one of an input bit-depth or an output bit-depth of the 3D lookup table.
11. The method of claim 1, wherein determining the number of octants for each of the color components comprises decoding at least one syntax element indicating the number of octants for at least one of the color components of the 3D lookup table.
12. The method of claim 1, further comprising:
performing color prediction using the 3D lookup table to convert color data of a reference picture in the first color gamut for the lower layer of the video data to the second color gamut for the higher layer of the video data; and
generating at least one inter-layer reference picture for the higher layer of the video data based on the converted color data,
wherein reconstructing the video blocks of the video data comprises reconstructing video blocks in a picture of the higher layer of the video data based on the decoded residual data and the at least one inter-layer reference picture generated using the 3D lookup table.
13. A method of encoding video data, the method comprising:
generating a three-dimensional (3D) lookup table for color gamut scalability based on a number of octants for each of three color components and color values for each of the octants;
for each of the octants for each of the color components, encoding color mapping coefficients for a linear color mapping function of the color values in the 3D lookup table used to convert color data in a first color gamut for a lower layer of the video data to a second color gamut for a higher layer of the video data;
predicting video blocks of the video data based on at least one reference picture generated using the 3D lookup table; and
encoding residual data of the video blocks in a bitstream.
14. The method of claim 13, further comprising, prior to encoding the color mapping coefficient, converting floating point values of the color mapping coefficients to integer values using a bit-depth based on at least one of an input bit-depth or an output bit-depth of the 3D lookup table.
15. The method of claim 13, wherein encoding the color mapping coefficients comprises, for a first one of the octants for each of the color components, encoding at least one coefficient of the color mapping coefficients based on a predicted value of the at least one coefficient of the color mapping coefficients.
16. The method of claim 15, wherein the predicted value of the at least one coefficient of the color mapping coefficients is a predefined fixed value.
17. The method of claim 15, wherein the at least one coefficient of the color mapping coefficients comprises a key coefficient that defines a weighting factor for the linear color mapping function between a same color component of the lower layer of the video data and the higher layer of the video data.
18. The method of claim 17, wherein encoding the color mapping coefficients further comprises, for the first one of the octants for each of the color components, encoding the key coefficient based on a predicted value equal to a predefined non-zero value, and encoding remaining coefficients of the color mapping coefficients based on a predicted value equal to zero.
19. The method of claim 15, wherein encoding the color mapping coefficients further comprises, for each remaining one of the octants for each of the color components, encoding the color mapping coefficients based on predicted values from at least one previously encoded octant.
20. The method of claim 13, further comprising determining a quantization value for residual values of the color mapping coefficients, wherein encoding the color mapping coefficients further comprises:
for each of the octants for each of the color components, calculating residual values of the color mapping coefficients based on original values of the color mapping coefficients and predicted values of the color mapping coefficients;
quantizing the residual values of the color mapping coefficients based on the determined quantization value; and
encoding the residual values of the color mapping coefficients.
21. The method of claim 20, further comprising encoding at least one syntax element indicating the determined quantization value for residual values of the color mapping coefficients.
22. The method of claim 13, further comprising restricting values of the color mapping coefficients to a range based on one of a predefined fixed value or a value dependent on at least one of an input bit-depth or an output bit–depth of the 3D lookup table.
23. The method of claim 13, further comprising encoding at least one syntax element indicating the number of octants for at least one of the color components of the 3D lookup table.
24. The method of claim 13, further comprising:
performing color prediction using the 3D lookup table to convert color data of a reference picture in the first color gamut for the lower layer of the video data to the second color gamut for the higher layer of the video data; and
generating at least one inter-layer reference picture for the higher layer of the video data based on the converted color data,
wherein predicting the video blocks of the video data comprises predicting video blocks in a picture of the higher layer of the video data based on the at least one inter-layer reference picture generated using the 3D lookup table.
25. A video decoding device comprising:
a memory configured to store video data; and
one or more processors in communication with the memory and configured to:
determine a number of octants for each of three color components of a three-dimensional (3D) lookup table for color gamut scalability of the video data,
for each of the octants for each of the color components, decode color mapping coefficients for a linear color mapping function of color values in the 3D lookup table used to convert color data in a first color gamut for a lower layer of the video data to a second color gamut for a higher layer of the video data,
generate the 3D lookup table based on the number of octants for each of the color components and color values associated with the color mapping coefficients for each of the octants,
decode residual data of video blocks of the video data, and
reconstruct the video blocks of the video data based on the decoded residual data and at least one reference picture generated using the 3D lookup table.
26. The device of claim 25, wherein the color mapping coefficients comprise integer values that represent floating point values using a bit-depth based on at least one of an input bit-depth or an output bit-depth of the 3D lookup table.
27. The device of claim 25, wherein the one or more processors are configured to, for a first one of the octants for each of the color components, decode at least one coefficient of the color mapping coefficients based on a predicted value of the at least one coefficient of the color mapping coefficients.
28. The device of claim 27, wherein the predicted value of the at least one coefficient of the color mapping coefficients is a predefined fixed value.
29. The device of claim 27, wherein the at least one coefficient of the color mapping coefficients comprises a key coefficient that defines a weighting factor for the linear color mapping function between a same color component of the lower layer of the video data and the higher la.yer of the video data,
30. The device of claim 29, wherein the one or more processors are configured to, for the first one of the octants for each of the color components, decode the key coefficient based on a predicted value equal to a predefined non-zero value, and decode remaining coefficients of the color mapping coefficients based on a predicted value equal to zero,
31. The device of claim 27, wherein the one or more processors are configured to, for each remaining one of the octants for each of the color components, decode the color mapping coefficients based on predicted values from at least one previously decoded octant.
32. The device of claim 25, wherein the one or more processors are configured to:
determine a quantization value for residual values of the color mapping coefficients;
for each of the octants for each of the color components, decode residual values of the color mapping coefficients;
inverse quantize the residual values of the color snapping coefficients based on the determined quantization value; and
reconstruct the color mapping coefficients used on the decoded residual values and predicted values of the color mapping coefficients.
33. The device of claim 32, wherein, to determine the quantization value for residual values of the color mapping coefficients, the one or more processors are configured to decode at least one syntax element indicating the quantization value.
34. The device of claim 25, wherein the one or more processors are configured to restrict values of the color mapping coefficients to a range based on one of a predefined fixed value or a value dependent on at least one of an input bit-depth or an output bit-depth of the 3D lookup table.
35. The device of claim 25, wherein, to determine the number of octants for each of the color components, the one or more processors are configured to decode at least one syntax element indicating the number of octants for at least one of the color components of the 3D lookup table.
36. The device of claim 25, wherein the one or more processors are configured to:
perform color prediction using the 3D lookup table to convert color data of a reference picture in the first color gamut for the lower layer of the video data to the second color gamut for the higher layer of the video data;
generate at least one inter-layer reference picture for the higher layer of the video Lta based on the converted color data; and
reconstruct video blocks in a picture of the higher layer of the video data based on the decoded residual data and the at least one inter–layer reference picture generated using the 3D lookup table.
37. A video encoding device comprising:
a memory configured to store video data; and
one or More processors in communication with the memory and configured to:
generate a three-dimensional (3D) lookup table for color gamut scalability of the video data based on a number of octants for each of three color components and color values for each of the octants,
for each of the octants for each of the color components, encode color mapping coefficients for a linear color mapping function of the color values in the 3D lookup table used to convert color data in a first color gamut for a lower layer of the video data to a second color gamut for a higher layer of the video data,
predict video blocks of the video data bas at least one reference picture generated using the 3D lookup table, and
encode residual data of the video blocks in a bitstream.
38. The device of claim 37, wherein the one or more processors are configured to, prior to encoding the color mapping coefficients, convert floating point values of the color mapping coefficients to integer values using a bit-depth based on at least one of an input hit-depth or an output hit-depth of the 3D lookup table,
39. The device of claim 37, wherein the one or more processors are configured to, for a first one of the octants for each of the color components, encode at least one coefficient of the color mapping coefficients based on a predicted value of the at least one coefficient of the color flapping coefficients.
40. The device of claim 39, wherein the predicted value of the at least one coefficient of the color mapping coefficients is a predefined fixed value.
41. The device of claim 39, wherein the at least one coefficient of the color mapping coefficients comprises a key coefficient that defines a weighting factor for the linear color mapping function between a same color component of the lower layer of the video data and the higher layer of the video data.
42. The device of claim 4, wherein the one or more processors are configured to, for the first one of the octants for each of the color components, encode the key coefficient based on a predicted value equal to a predefined non-zero value, and encode remaining coefficients of the color mapping coefficients based on a predicted value equal to zero.
43. The device of claim 39, wherein the one or more processors are configured to, for each remaining one of the octants for each of the color components, encode the color mapping coefficients based on predicted values from at least one previously encoded octant.
44. The device of claim 37, wherein the one or more processors are configured
determine a quantization value for residual values of the color mapping coefficients;
for each of the octants for each of the color components, calculate residual values of the color mapping coefficients based on original values of the color mapping coefficients and predicted values of the color mapping coefficients;
quantize the residual values of the color mapping coefficients based on the determined quantization value; and
encode the residual values of the color wrapping coefficients.
45. The device of claim 44, wherein the one or more processors are configured to encode at least one syntax element indicating the determined quantization value.
46. The device of claim 37, wherein the one or more processors are configured to restrict values of the color mapping coefficients to a range based on one of a predefined fixed value or a value dependent on at least one of an input bit-depth or an output bit-depth of the 3D lookup table.
47. The device of claim 37, wherein the one or more processors are configured to encode at least one syntax element indicating the number of octants for at least one of the color components of the 3D lookup table.
48. The device of claim 37, wherein the one or more processors are configured to:
perform color prediction using the 3D lookup table to convert color data of a reference picture in the first color gamut for the lower layer of the video data to the second color gamut for the higher layer of the video data;
generate at least one inter-layer reference picture for the higher layer of the video data based on the converted color data; and
predict video blocks in a picture of the higher layer of the video data based on the at least one inter-layer reference picture generated using the 3D lookup table.
49. A video decoding device comprising:
means for determining a number of octants for each of three color components of a three-dimensional (3D) lookup table for color gamut scalability;
means for decoding, for each of the octants for each of the color components, color mapping coefficients for a linear color mapping function of color values in the 3D lookup table used to convert color data in a first color gamut for a lower layer of the video data to a second color gamut for a higher layer of the video data;
means for generating the 3D lookup table based on the number of octants for each of the color components and color values associated with the color mapping coefficients for each of the octants;
means for decoding residual data of video blocks of the video data; and
means for reconstructing the video blocks of the video data based on the decoded residual data and at least one reference picture generated using the 3D lookup table.
50. A computer-readable storage medium storing instructions for decoding video data that, when executed, cause one or more processors to:
determine a number of octants for each of three color components of a three-dimensional (3D) lookup table for color gamut scalability;
for each of the octants for each of the color components, decode color mapping coefficients for a linear color mapping function of color values in the 3D lookup table used to convert color data in a first color gamut for a lower layer of the video data to a second color gamut for a higher layer of the video data;
generate the 3D lookup table based on the number of octants for each of the color components and color values associated with the color mapping coefficients for each of the octants;
decode residual data of video blocks of the video data; and
reconstruct the video blocks of the video data based on the decoded residual data and at least one reference picture generated using the 3D lookup table.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for determining delays of multipath signals comprising:
receiving a power delay profile comprising at least a first and second multipath signal;
detecting a first peak power value in the power delay profile;
subtracting power values associated with the first detected peak power value from the power delay profile to generate a modified power delay profile;
detecting a second peak power value in the modified power delay profile;
subtracting power values associated with the second detected peak power value from the modified power delay profile to generate at least a second modified power delay profile; and
determining the delays associated with the first and second multipath signals by locating a peak power based on the first and second multipath signals in the second modified power delay profile.
2. The method of claim 1, further comprising:
performing channel estimation using the determined delays, the channel estimation producing a phase difference between the first and second multipath signals;
detecting a third peak power value in the power delay profile;
subtracting power values associated with the third detected peak power value from the power delay profile to generate a third modified power delay profile, wherein the phase difference between the first and second multipath signals is employed in the subtraction;
detecting a fourth peak power value in the third modified power delay profile;
subtracting power values associated with the fourth detected peak power value from the third modified power delay profile to produce a fourth modified power delay profile, wherein the phase difference between the first and second multipath signals is employed in the subtraction; and
determining the delays associated with the first and second multipath signals by locating a peak power based on the first and second multipath signals in the fourth modified power delay profile.
3. The method of claim 2, wherein the power values associated with the third and fourth detected peak power values are power values of sidelobes corresponding to the third and fourth detected peak power values.
4. The method of claim 2, wherein the power values associated with the third and fourth detected peak power values are power values of sidelobes and part of a mainlobe corresponding to the third and fourth detected peak power values.
5. The method of claim 2, wherein the first and third peak power values are peak power values of the first multipath signal, and the second and fourth peak power values are peak power values of the second multipath signal.
6. The method of claim 1, wherein the subtracting steps each comprise:
determining a difference between the peak power value and a noise floor;
multiplying the difference by a ratio to produce a product; and
subtracting the product from the power delay profile at the delay values associated with the peak power value.
7. The method of claim 1, further comprising:
calculating a difference between a power value at a location of the first detected peak power value in the power delay profile and a power value at the delay values associated with the first detected peak power value in the second modified power delay profile;
multiplying the difference by a ratio to generate a product; and
adding the product to the modified power delay profile at the location of the first detected peak power value.
8. The method of claim 1, further comprising:
filtering and tracking peak power values associated with each determined delay.
9. The method of claim 8, wherein the filtering and tracking is performed for the peak power values and additional sample points associated with the peak power values.
10. The method of claim 1, wherein the power values associated with the first and second detected peak power values are power values of sidelobes corresponding to the first and second detected peak power values.
11. The method of claim 1, wherein the power values associated with the first and second detected peak power values are power values of sidelobes and part of a mainlobe corresponding to the first and second detected peak power values.
12. The method of claim 1, wherein the first and second detected peak power values are respectively the highest and second highest detected peak power values of the power delay profile.
13. (canceled)
14. (canceled)
15. (canceled)
16. (canceled)
17. (canceled)
18. A receiver that compensates for multipath delays, comprising:
a path searcher which receives a power delay profile comprising at least a first and second multipath signal, detects a first peak power value in the power delay profile, subtracts power values associated with the first detected peak power value from the power delay profile to generate a modified power delay profile, detects a second peak power value in the modified power delay profile, subtracts power values associated with the second detected peak power value from the modified power delay profile to generate another modified power delay profile, and determines the delays associated with the first and second multipath signals by locating a peak power based on the first and second multipath signals in the another modified power delay profile.
19. The receiver of claim 18, further comprising:
a channel estimator which estimates a response of a channel upon which the multipath signals are received using the determined delays, the channel estimation producing a phase difference between the first and second multipath signals,
wherein the path searcher detects a third peak power value in the power delay profile, subtracts power values associated with the third detected peak power value from the power delay profile to generate a third modified power delay profile, detects a fourth peak power value in the third modified power delay profile, subtracts power values associated with the fourth detected peak power value to produce a fourth modified power delay profile, and determines the delays associated with the first and second multipath signals by locating a peak power based on the first and second multipath signals in the fourth modified power delay profile, wherein the subtraction of power values associated with the third and fourth detected peak power values accounts for the phase difference.
20. The receiver of claim 18, wherein the power values associated with the first and second detected peak power values are power values of sidelobes corresponding to the first and second detected peak power values.
21. The receiver of claim 18, wherein the power values associated with the first and second detected peak power values are power values of sidelobes and part of a mainlobe corresponding to the first and second detected peak power values.
22. The receiver of claim 18, wherein the first and second detected peak power values are respectively the highest and second highest detected peak power values of the power delay profile.
23. A receiver that compensates for multipath delays, comprising:
a path searcher which receives a power delay profile comprising at least a first and second multipath signal, determines a first set of delays associated with the first and second multipath signals, the first set of delays being determined without accounting for a phase difference between the first and second multipath signals, performs a channel estimation using the determined first set of delays, the channel estimation producing a phase difference between the first and second multipath signals, and determines a second set of delays associated with the first and second multipath signals, the second set of delays being determined based on the phase difference produced by the channel estimation.
24. The receiver of claim 23, wherein the first and second set of delays are determined by subtracting sidelobe powers associated with the first multipath signal prior to determining the delay associated with the second multipath signal.
25. A receiver that compensates for multipath delays, comprising:
a path searcher which receives a power delay profile comprising at least a first and second multipath signal, subtracts a power value associated with a peak of the first multipath signal from the received power delay profile to generate a first modified power delay profile, subtracts a power value associated with a peak of the second multipath signal from the first modified power delay profile to generate a second modified power delay profile, calculates a difference between the power value associated with a peak of the first multipath signal in the second modified power delay profile and the power value associated with the peak of the first multipath signal in the first modified power delay profile, adjusts a power value associated with a peak of the first multipath signal in the second modified power delay profile as a function of the difference to generate another modified power delay profile; and
a channel estimator which performs channel estimation using the another modified power delay profile.
26. The receiver of claim 25, wherein the path searcher calculates a difference between the power value associated with a peak of the second multipath signal in the power delay profile and the power value associated with the peak of the second multipath signal in the second modified power delay profile, wherein a power value associated with a peak of the second multipath signal in the second modified power delay profile is adjusted as a function of the difference in the generation of the another modified power delay profile, and wherein a delay associated with the second is determined multipath signal is determined using the another modified power delay profile.
27. A method for determining delays of multipath signals comprising:
a) receiving a power delay profile comprising a plurality of multipath signals;
b) detecting a peak power value in the power delay profile;
c) subtracting power values associated with the detected peak power value from a most recent power delay profile to generate a new power delay profile;
d) repeating steps b)-c) until a desired number of peaks have been detected, where the generated new power delay profile from one iteration is the most recent power delay profile of the next iteration; and
e) determining a first set of delays associated with the plurality of multipath signals by locating peak powers associated with the plurality of multipath signals of the most recent power delay profile.
28. The method of claim 27, wherein the peak powers are detected in order of descending powers.
29. The method of claim 27, further comprising:
f) performing a channel estimation using the determined first set of delays, the channel estimation producing phase differences between the plurality of multipath signals;
g) repeating steps b)-d), wherein the subtracting step employs the phase differences produced by the channel estimation; and
h) determining a second set of delays associated with the plurality of multipath signals by locating the peak powers associated with the plurality of multipath signals in the most recent power delay profile.
30. The method of claim 29, wherein steps b)-e) are repeated iteratively.
31. The method of claim 29, wherein steps g)-h) are repeated iteratively.