IP Library Granted Patent US 11,403,121
Granted Patent B2
US 11,403,121 · App. 16/698,483 · Granted Aug 2, 2022

Streaming per-pixel transparency information using transparency-agnostic video codecs

Inventors: Johannes Zimmermann (Berlin, DE); Andrija Bosnjakovic (Redmond, WA); Ashley Reid (Berlin, DE)
Assignee: NVIDIA Corporation
G06F9/452G06F3/0482G06F3/0484H04L65/607G06F2203/04804
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,403,121
App. No.
16/698,483
Granted
Aug 2, 2022
Kind
B2
Abstract

The disclosure relates to the transfer of per-pixel transparency information using video codecs that do not provide an alpha channel (alternatively referred to as “transparency-agnostic video codecs”). For example, alpha information of visual elements may be transcoded into the supported channels of a video stream to generate additional samples of a supported color space, which are representative of the alpha information. After being encoded by a “transparency-agnostic video codec” and transmitted, the received alpha information may then be extracted from the supported channels of the video stream to render the received visuals with corresponding per-pixel transparency.

Claims (31)

1. A method comprising: transcoding one or more alpha values of visual information to one or more color values of a color space to generate one or more alpha samples that represent the one or more alpha values as the one or more color values of the color space;

storing the one or more alpha samples in pixel data representing one or more color channels of the color space of an image representative of one or more portions of a frame of a video stream, wherein color information of the visual information is stored using separate pixel locations from the one or more alpha samples in the pixel data; and

generating at least a portion of the video stream encoding the image.

2. The method of claim 1 , wherein the one or more alpha samples include per-pixel transparency information of at least some of the visual information.

3. The method of claim 1 , wherein the storing comprises attaching groups of the one or more alpha samples to the video stream as a single color sample of the color space such that a plurality of the one or more alpha samples are stored in the single color sample.

4. The method of claim 1 , wherein the color space is a Luma-Chrominance (YUV) color space or a Red Green Blue (RGB) color space.

5. The method of claim 1 , wherein the one or more alpha samples represent the one or more alpha values as the one or more color values using one or more color components of the color space.

6. The method of claim 1 , wherein a pixel location in the pixel data of an alpha sample of the one or more alpha samples corresponds to a pixel location in the pixel data of a color sample that includes at least a portion of the color information based at least on the alpha sample corresponding to a same pixel as the color sample in the frame.

7. The method of claim 1 , wherein the transcoding of the one or more alpha values includes swizzling 2×3 blocks of the one or more alpha values to 2×2 blocks of the one or more color values to account for subsequent Luma-Chrominance (YUV) chroma sub-sampling.

8. A method comprising:

receiving, in a video stream, encoded image data of an image representative of one or more portions of a frame of the video stream, the encoded image data storing one or more alpha values of one or more alpha samples of visual information as one or more color values in pixel data representing one or more color channels of a color space of the image, wherein color information of the visual information is stored using separate pixel locations from the one or more alpha samples in the pixel data;

extracting, from the video stream, the one or more alpha samples based at least on converting the one or more color values that are stored in the one or more color channels of the color space of the image into the one or more alpha values; and

rendering the visual information to exhibit transparency properties based on correlating the one or more alpha samples of the visual information with one or more non-alpha color samples of the visual information.

9. The method of claim 8 , wherein the one or more alpha samples include per-pixel transparency information of at least some of the visual information.

10. The method of claim 8 , further comprising:

associating an alpha sample of the one or more alpha samples with a color sample comprising at least a portion of the color information extracted from the encoded image data based at least on relative pixel locations of the alpha sample and the color sample in the pixel data; and

rendering a pixel corresponding to the alpha sample and the color sample based at least on the alpha sample being associated with the color sample.

11. The method of claim 8 , wherein the one or more alpha samples are extracted as groups of the one or more alpha samples from individual color samples of the color space that is supported by the video stream.

12. The method of claim 8 , wherein the color space is a Luma-Chrominance (YUV) color space or a Red Green Blue (RGB) color space.

13. The method of claim 8 , wherein at least some of the one or more alpha samples correspond to a visual element and the rendering of the visual information includes identifying the visual element of the visual information from metadata of the visual element that identifies the visual element within the video stream.

14. The method of claim 8 , wherein the extracting of the one or more alpha samples includes a video codec of the video stream processing the one or more alpha samples as one or more color samples of the color space that is supported by the video stream.

15. A system comprising:

a computing device including one or more processing devices and one or more memory devices communicatively coupled to the one or more processing devices storing programmed instructions thereon, which when executed by the one or more processing devices causes the instantiation of:

a communications manager to receive, in a video stream, encoded image data of an image representative of one or more portions of a frame of the video stream, the encoded image data storing one or more alpha values of one or more alpha samples of visual information as one or more color values in pixel data representing one or more color channels of a color space of the image, wherein color information of the visual information is stored using separate pixel locations from the one or more alpha samples in the pixel data;

a stream decoder to extract, from the video stream, the one or more alpha samples of the visual element based at least on converting the one or more color values that are stored in the one or more color channels of the color space of the image into the one or more alpha values; and

a renderer to render the visual element, over at least one image generated by the computing device, using transparency that corresponds to the one or more alpha samples based on correlating the one or more alpha samples of the visual element with one or more non-alpha color samples of the visual element.

16. The system of claim 15 , wherein the renderer renders the visual element based at least in part on properties of the visual element that the communications manager received in association with the encoded image data.

17. The system of claim 15 , wherein the one or more alpha samples include per-pixel transparency information of the visual element.

18. The system of claim 15 , wherein the stream decoder extracts groups of the one or more alpha samples from individual color samples of the color space.

19. The system of claim 15 , wherein the color space is a Luma-Chrominance (YUV) color space or a Red Green Blue (RGB) color space.

20. The system of claim 15 , wherein the stream decoder extracts the one or more non-alpha color samples of the visual element from a first defined region of the frame and the one or more alpha samples from a second defined region of the frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2020
From: BOSNJAKOVIC, ANDRIJA; ZIMMERMANN, JOHANNES; REID, ASHLEY
To: NVIDIA CORPORATION
Reel/Frame 052012/0465 →
Continuity (3)
Continuation 16441578 · Jun 14, 2019
Provisional Application 62751366 · Oct 26, 2018
Related Publication 20200133696A1 · Apr 30, 2020
Cited By (1)
US 12,210,888