Adaptive processing of video streams with reduced color resolution
Abstract
A solution for adaptively processing a digital image with reduced color resolution is described herein. A source device pre-processes a video frame with reduce color resolution by remapping luma components and chroma components of the video frame, and encodes the pre-processed video frame. The source device remaps a half of luma components on a scan line of the video frame onto a data channel of a source line to an encoder and remaps the other half of the luma components on the scan line to another data channel of the source line. The source device remaps the corresponding chroma components onto a third data channel of a source line. By using a data channel conventionally configured to transmit chroma components, the solution enables a video codec to adaptively encode a digital image with reduced color resolution without converting the digital image to full color resolution before the encoding.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for encoding a digital image, the method comprising:
receiving the digital image of a plurality of pixels, each pixel having a luma component and two corresponding chroma components; extracting luma components and chroma components from the plurality of pixels; reordering the luma components and reordering the chroma components extracted from the plurality of pixels, wherein reordering the luma components and reordering the chroma components comprises: for a plurality of pixels received on each scan line of the digital image:
providing a first half of the luma components on a first data channel of three data channels, the three data channels configured for transmitting the luma components and chroma components of the plurality of pixels of the scan line;
providing a second half of the luma components on a second data channel of the three data channels; and
providing the two corresponding chroma components on a remaining data channel of the three data channels; and
generating a data structure representing the digital image based on the reordering of the luma components and the reordering of the chroma components.
2. The method of claim 1 , further comprising encoding the digital image according to the data structure.
3. The method of claim 1 , wherein each of the plurality of pixels is in a sampling format, where two chroma components of the pixel are sampled at half the sample rate of luma component of the pixel in horizontal and vertical directions.
4. The method of claim 1 , wherein the plurality of pixels of the digital image are received in an order according to a scan line of the plurality of pixels, each scan lining having a predetermined horizontal resolution.
5. The method of claim 1 , wherein the reordering the luma components comprises:
for the plurality of pixels received on each scan line of the digital image:
separating the luma components of the pixels on the scan line into two parts, wherein each part has a half of the luma components of the plurality of pixels on the scan line.
6. The method of claim 1 , wherein the digital image is partitioned into a plurality of subpictures, each subpicture having a partial horizontal resolution of a corresponding horizontal resolution of the digital image, and each subpicture having a partial vertical resolution of a corresponding vertical resolution of the digital image.
7. The method of claim 1 , further comprising maintaining a spatial relationship of each pixel component within a subpicture after reordering such that the spatial relationship of individual pixel components within the subpicture is the same as the spatial relationship of the corresponding individual components within the subpicture.
8. A method for decoding an encoded digital image, the method comprising:
receiving the encoded digital image of a plurality of pixels, each pixel having a luma component and two corresponding chroma components; extracting luma components and chroma components from the plurality of pixels; reordering the luma components and reordering the chroma components extracted from the plurality of pixels according to a data structure describing the reordering, wherein reordering the luma components and reordering the chroma components comprises:
providing the luma components of the plurality of pixels on two data channels of three data channels, the three data channels configured for transmitting the luma components and chroma components of the plurality of pixels of the scan line, wherein each data channel of the two data channels has a half of the luma components of the plurality of pixels on a scan line; and
providing the two corresponding chroma components on a remaining data channel of the three data channels; and
reconstructing a digital image with reduced color resolution based on the reordering of the luma components and the chroma components of the digital image.
9. The method of claim 8 , wherein the reordering the luma components comprises:
reordering the selected luma components on the scan line according to the data structure describing the reordering.
10. A non-transitory computer readable medium storing executable computer program instructions for encoding a digital image, the computer program instructions comprising instructions that when executed cause a computer processor to:
receive the digital image of a plurality of pixels, each pixel having a luma component and two corresponding chroma components; extract luma components and chroma components from the plurality of pixels; reorder the luma components and reorder the chroma components extracted from the plurality of pixels, wherein the computer program instructions that when executed cause the computer processor to reorder the luma components and the chroma components further comprise instructions to: for a plurality of pixels received on each scan line:
provide a first part of the luma components on a first data channel of three data channels, the three data channels configured for transmitting the luma components and chroma components of the plurality of pixels of the scan line;
provide a second part of the luma components on a second data channel of the three data channels; and
provide the two corresponding chroma components on a remaining data channel of the three data channels; and
generate a data structure representing the digital image based on the reordering of the luma components and the reordering of the chroma components.
11. The computer readable medium of claim 10 , further comprising computer program instructions that when executed cause the computer processor to encode the digital image according to the data structure.
12. The computer readable medium of claim 10 , wherein each of the plurality of pixels is in a sampling format, where two chroma components of the pixel are sampled at half the sample rate of luma component of the pixel in horizontal and vertical directions.
13. The computer readable medium of claim 10 , wherein the plurality of pixels of the digital image are received in an order according to a scan line of the plurality of pixels, each scan lining having a predetermined horizontal resolution.
14. The computer readable medium of claim 10 , wherein the computer program instructions for reordering the luma components comprise instructions that when executed cause the computer processor to:
for the plurality of pixels received on each scan line:
separate the luma components of the pixels on the scan line into the two parts, wherein each part has a half of the luma components of the plurality of pixels on the scan line.
15. The computer readable medium of claim of claim 10 , wherein the digital image is partitioned into a plurality of subpictures, each subpicture having a partial horizontal resolution of a corresponding horizontal resolution of the digital image, and each subpicture having a partial vertical resolution of a corresponding vertical resolution of the digital image.
16. The computer readable medium of claim 10 , further comprising computer program instructions to maintain a spatial relationship of each pixel component within a subpicture after reordering such that the spatial relationship of individual pixel components within the subpicture is the same as the spatial relationship of the corresponding individual components within the subpicture.
17. A non-transitory computer readable medium storing executable computer program instructions for decoding an encoded digital image, the computer program instructions comprising instructions that when executed cause a computer processor to:
receive the encoded digital image of a plurality of pixels, each pixel having a luma component and two corresponding chroma components; extract luma components and chroma components from the plurality of pixels; reorder the luma components and reorder the chroma components extracted from the plurality of pixels according to a data structure describing the reordering, wherein the computer program instructions for reordering the luma components and reordering the chroma components comprise instructions that when executed cause the computer processor to:
provide the luma components of the pixels on two data channels of three data channels, the three data channels configured for transmitting the luma components and chroma components of the plurality of pixels of the scan line, wherein each data channel of the two data channels has a half of the luma components of the plurality of pixels on a scan line; and
provide the two corresponding chroma components on a remaining data channel of the three data channels; and
reconstruct a digital image with reduced color resolution based on the reordering of the luma components and the chroma components of the digital image.
18. The computer readable medium of claim 17 , wherein the computer program instructions for reordering the luma components comprise instructions that when executed cause the computer processor to:
reorder the selected luma components on the scan line according to the data structure describing the reordering.
19. A method for encoding a digital image, the method comprising:
receiving data defining a plurality of pixels of the digital image, wherein each of the plurality of pixels is defined by a luma pixel component and two corresponding chroma pixel components; separating the luma pixel components and the two corresponding chroma pixel components of the plurality of pixels; reordering the plurality of pixels from a received order by:
mapping a first half of the luma pixel components onto a first data channel of three data channels;
mapping a remaining half of the luma pixel components onto a second data channel of the three data channels; and
mapping the two corresponding chroma pixel components onto a remaining data channel of the three data channels;
encoding the luma pixel components and the two corresponding chroma pixel components on the three data channels at an encoder to obtain encoded data; and transmitting the encoded data on a transmission channel.
20. The method of claim 19, wherein the reordering maintains an original relative spatial relationship of the plurality of pixels.
21. The method of claim 19, wherein the data is associated with a 4:2:2 sampling ratio or a 4:2:0 sampling ratio.
22. The method of claim 19, further comprising partitioning the plurality of pixels into a plurality of subpictures, wherein each of the plurality of subpictures comprises a subset of the plurality of pixels.
23. The method of claim 22, wherein each of the plurality of subpictures has a partial horizontal resolution of a corresponding horizontal resolution of the digital image and a partial vertical resolution of a corresponding vertical resolution of the digital image.
24. The method of claim 22, wherein a first set of the luma pixel components of each of the plurality of subpictures is mapped onto the first data channel, and wherein a second set of the luma pixel components of each of the plurality of subpictures is mapped onto the second data channel.
25. The method of claim 22, wherein each of the plurality of subpictures contains a set of pixels associated with respective portions of a plurality of scan lines of the digital image.
26. The method of claim 22, wherein the partitioning comprises splitting each scan line of the digital image such that the luma pixel components of each scan line is split into a respective first stream and a respective second stream, wherein the luma pixel components of each first stream are mapped onto the first data channel, and wherein the luma pixel components of each second stream are mapped onto the second data channel.
27. The method of claim 26, wherein, for each scan line, an original relative spatial relationship of the luma pixel components of the first stream is maintained and an original relative spatial relationship of the luma pixel components of the second stream is maintained.
28. The method of claim 22, wherein each of the plurality of subpictures comprises a portion of the luma pixel components and a portion of only one chroma pixel component of the two corresponding chroma pixel components.
29. The method of claim 22, further comprising setting a number of subpictures and/or a size of each subpicture, wherein the partitioning the plurality of pixels is based on the setting.
30. The method of claim 19, wherein the plurality of pixels of the digital image are received in an order according to a scan line of the plurality of pixels, wherein each scan line has a predetermined horizontal resolution.
31. The method of claim 19, further comprising transmitting information indicative of the reordering to facilitate decoding of the encoded data, wherein the transmission channel is a serial transmission channel.
32. The method of claim 31, wherein the encoding is based on the information, and wherein the serial transmission channel is a high definition multimedia interface (HDMI) channel or a mobile high-definition link (MHL) channel.
33. A method for decoding the encoded data obtained by performing the method of claim 19, the method for decoding comprising:
receiving the encoded data; extracting the luma pixel components associated with the first and second data channels; extracting the two corresponding chroma pixel components associated with the remaining data channel; and reconstructing a digital image with reduced color resolution based on the luma pixel components and the two corresponding chroma pixel components.
34. The method of claim 33, further comprising:
receiving information indicative of the reordering; and reordering the luma pixel components and the two corresponding chroma pixel components according to the information, wherein the reconstructing is based on the reordering the luma pixel components and the two corresponding chroma pixel components.
35. A method for decoding an encoded digital image, the method comprising:
receiving the encoded digital image comprising a plurality of pixels, wherein each of the plurality of pixels is defined by a luma pixel component and two corresponding chroma pixel components; providing the luma pixel components onto two data channels of three data channels, wherein each of the two data channels has a respective half of the luma pixel components; providing the two corresponding chroma pixel components onto a remaining data channel of the three data channels; reordering the luma pixel components and the two corresponding chroma pixel components; and reconstructing a digital image with reduced color resolution based on the reordering.
36. The method of claim 35, wherein the reordering comprises:
reordering the luma pixel components on the two data channels to a luma channel; and reordering the two corresponding chroma pixel components on the remaining channel to two chroma lines.
37. The method of claim 35, wherein the reduced color resolution is associated with a 4:2:0 sampling ratio or a 4:2:2 sampling ratio.
38. The method of claim 35, wherein the reordering is based on a data structure comprising information indicative of a reordering performed at a source device, and wherein the encoded digital image and the data structure are received via a high definition multimedia interface (HDMI) channel or a mobile high-definition link (MHL) channel.Join the waitlist — get patent alerts
Track USRE48920E — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.