Adaptive transfer function for video encoding and decoding
First Claim
1. A system comprising:
- at least one processor;
wherein the at least one processor implements an encoder module configured to process video data according to an encoding format to generate encoded video data, wherein the encoded video data is represented using code values of an internal transfer function at a bit depth of C bits within the encoder module; and
wherein the at least one processor implements an adaptive transfer function module configured to;
receive input video data using code values of a transfer function at a bit depth of N bits, wherein N is greater than C;
determine a focus dynamic range for the input video data based at least in part according to one or more characteristics of the input video data, wherein the focus dynamic range is less than a total dynamic range of the input video data such that one or more code values of the input video data are outside the focus dynamic range, and wherein the focus dynamic range is representable by the code values of the internal transfer function at the bit depth of C bits;
crop the input video data to the focus dynamic range to generate cropped N-bit video data such that the cropped N-bit video data excludes the one or more code values of the input video data outside the focus dynamic range;
map the cropped N-bit video data according to the internal transfer function of the encoder module to generate C-bit video data; and
output the C-bit video data to the encoder module for processing.
1 Assignment
0 Petitions
Accused Products
Abstract
A video encoding and decoding system that implements an adaptive transfer function method internally within the codec for signal representation. A focus dynamic range representing an effective dynamic range of the human visual system may be dynamically determined for each scene, sequence, frame, or region of input video. The video data may be cropped and quantized into the bit depth of the codec according to a transfer function for encoding within the codec. The transfer function may be the same as the transfer function of the input video data or may be a transfer function internal to the codec. The encoded video data may be decoded and expanded into the dynamic range of display(s). The adaptive transfer function method enables the codec to use fewer bits for the internal representation of the signal while still representing the entire dynamic range of the signal in output.
123 Citations
19 Claims
-
1. A system comprising:
-
at least one processor; wherein the at least one processor implements an encoder module configured to process video data according to an encoding format to generate encoded video data, wherein the encoded video data is represented using code values of an internal transfer function at a bit depth of C bits within the encoder module; and wherein the at least one processor implements an adaptive transfer function module configured to; receive input video data using code values of a transfer function at a bit depth of N bits, wherein N is greater than C; determine a focus dynamic range for the input video data based at least in part according to one or more characteristics of the input video data, wherein the focus dynamic range is less than a total dynamic range of the input video data such that one or more code values of the input video data are outside the focus dynamic range, and wherein the focus dynamic range is representable by the code values of the internal transfer function at the bit depth of C bits; crop the input video data to the focus dynamic range to generate cropped N-bit video data such that the cropped N-bit video data excludes the one or more code values of the input video data outside the focus dynamic range; map the cropped N-bit video data according to the internal transfer function of the encoder module to generate C-bit video data; and output the C-bit video data to the encoder module for processing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 19)
-
-
15. A method, comprising:
iteratively performing, by an encoder module; determining a focus dynamic range for input video data according to one or more characteristics of the input video data, wherein the input video data is represented using code values of a transfer function at a bit depth of N bits, and wherein the focus dynamic range is less than a total dynamic range of the input video data such that one or more code values of the input video data are outside the focus dynamic range, and wherein the focus dynamic range is representable by code values of a transfer function of the encoder module at a bit depth of C bits; cropping the input video data to the focus dynamic range to generate cropped N-bit video data such that the cropped N-bit video data excludes the one or more code values of the input video data outside the focus dynamic range; mapping the code values of the cropped N-bit video data to the code values of the transfer function of the encoder module at the bit depth of C bits to generate C-bit video data, wherein N is greater than C; and processing the C-bit video data according to an encoding format to generate encoded video data as output. - View Dependent Claims (16, 17)
-
18. An apparatus, comprising:
-
an encoder module configured to; determine a focus dynamic range for input video data according to one or more characteristics of the input video data, wherein the input video data is represented using code values of a transfer function at a bit depth of N bits, and wherein the focus dynamic range is less than a total dynamic range of the input video data such that one or more code values of the input video data are outside the focus dynamic range, and wherein the focus dynamic range is representable by code values of a transfer function of the encoder module at a bit depth of C bits; crop the input video data to the focus dynamic range to generate cropped N-bit video data such that the cropped N-bit video data excludes the one or more code values of the input video data outside the focus dynamic range; quantize the cropped N-bit video data according to the transfer function of the encoder module to generate C-bit video data, wherein N is greater than C; and map the code values of the cropped N-bit video data to code values of a transfer function of the encoder module at a bit depth of C bits to generate C-bit video data, wherein N is greater than C; and process the C-bit video data according to an encoding format to generate encoded video data as output; and a decoder module configured to; decode the encoded video data to generate decoded C-bit video data; and expand the decoded C-bit video data according to a transfer function of a display device to generate D-bit video data covering full dynamic range of the display device.
-
Specification