Layered representation and delivery of high dynamic range video
In a method to reconstruct a high dynamic range video signal, a decoder receives a base layer standard dynamic range video signal, an enhancement layer video signal, a metadata bitstream for a reference processing unit and a CRC code related to the metadata. A decoder reconstructs a high-dynamic range video output signal based on the base layer video signal, the enhancement layer video signal, and the data syntax and metadata specified by the metadata bitstream.
1. A decoder for generating high-dynamic range video data, wherein the decoder comprises one or more processors and non-transitory memory, wherein generating an output image with the decoder comprises:
receiving reference processing data and storing at least a portion of the reference processing data in the non-transitory memory;
parsing a cyclic redundancy check (CRC) parameter from the reference processing data;
extracting from the reference processing data at least an RPU data header, RPU data payload data, and an RPU-alignment-zero-bit flag;
computing by the decoder a CRC value on the entire reference processing data excluding the CRC parameter;
comparing the CRC value with the CRC parameter to detect an error;
extracting an RPU type flag from the RPU data header; and
parsing additional data from the reference processing data only if the value of the RPU type flag matches a predetermined value.
2. The decoder of claim 1 , wherein generating an output image with the decoder further comprises extracting from the reference processing data display management payload data.
3. The decoder of claim 1 , wherein generating an output image with the decoder further comprises:
receiving a base-layer image;
receiving an enhancement layer image;
and combining the base-layer image and the enhancement layer image based on the reference processing data to generate the output image.
4. The decoder of claim 1 , wherein the RPU data payload data comprise RPU prediction mapping data and RPU non-linear-quantizer (NLQ) data.
5. The decoder of claim 1 , wherein the RPU type flag comprises the rpu_type flag which specifies a type of RPU processing, and the predetermined value is equal to 2.
6. The decoder of claim 1 , wherein generating an output image with the decoder further comprises:
extracting a use-previous-rpu-data flag from the RPU data header and extracting the RPU data payload data only if the use-previous-rpu-data flag is set to zero.
7. The decoder of claim 6 , wherein the use-previous-rpu-data flag comprises an use_prev_vdr_rpu_flag flag which, when set to 1 specifies that the current RPU data is predicted from previously received RPU data and when set to 0 specifies that the current RPU data are explicitly received and instructs the decoder to generate a new RPU data ID.
8. The decoder of claim 2 , wherein display management payload data are parsed only if a display-management-data -present-flag flag extracted from the RPU data header is set to one.
9. The decoder of claim 8 , wherein the display-management-data -present-flag comprises an vdr_dma_metadata_present_flag flag, which when set to 0 specifies that no display management payload data is present, and when set to 1 specifies that display management payload data is present according to a vdr_dm_data_payload( )syntax structure.
10. The decoder of claim 1 , wherein the RPU-alignment-zero-bit flag comprises an rpu_alignment_zero_bit flag=0.
11. The decoder of claim 4 , wheren the RPU prediction mapping data are extracted according to an rpu_data_mapping( )syntax structure and the RPU non-linear-quantizer (NLQ) data are extracted according to an rpu_data_nlq( )syntax structure.
12. A method for generating high-dynamic range video data with a decoder, wherein the method comprises:
receiving reference processing data using the decoder;
parsing a cyclic redundancy check (CRC) parameter from the reference processing data;
extracting from the reference processing data at least an RPU data header, RPU data payload data, and an RPU-alignment-zero-bit flag;
computing by the decoder a CRC value on the entire reference processing data excluding the CRC parameter;
comparing the CRC value with the CRC parameter to detect an error;
extracting an RPU type flag from the RPU data header; and
parsing additional data from the reference processing data only if the value of the RPU type flag matches a predetermined value.
13. The method of claim 12 , wherein generating an output image with the decoder further comprises parsing from the reference processing data display management payload data.
14. The method of claim 12 , wherein generating an output image with the decoder further comprises:
receiving a base-layer image;
receiving an enhancement layer image;
and combining the base-layer image and the enhancement layer image based on the reference processing data to generate the output image.
15. The method of claim 12 , wherein the RPU data payload data comprise RPU prediction mapping data and RPU non-linear-quantizer (NLQ) data.
16. The method of claim 12 , wherein the RPU type flag comprises the rpu_type flag which specifies a type of RPU processing, and the predetermined value is equal to 2.
17. The method of claim 12 , wherein generating an output image with the decoder further comprises:
extracting a use-previous-rpu-data flag from the RPU data header and extracting the RPU data payload data only if the use-previous-rpu-data flag is set to zero.
18. A non-transitory computer-readable storage medium having stored thereon computer-executable instruction for executing a method with one or more processors in accordance with claim 1 .