# US 10,484,640 B2 · Low power video composition using a stream out buffer

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,484,640 B2
- Document ID: US10484640B2
- Status: Granted
- Kind: B2
- Application number: 15/570,640
- Filed: 2015-06-03
- Published: 2018-10-04
- Granted: 2019-11-19
- Earliest claimed: 2015-06-03
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Yunbiao Lin; Changliang Wang; Tiehan Lu; Qingyuan Zhang; Li Xu; Bo Zhao; Changwon Rhee
- Web page: https://patentgrep.com/patent/US10484640B2

## CPC

- H04N 5/44504: {Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits}
- G06T 1/60: Memory management
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Techniques related to compositing video content are discussed. Such techniques may include generating transparency data for a surface of first video content and storing it in a stream out buffer, accessing the transparency data via the stream out buffer when there is no change to the surface of the first video content, and compositing the first video content with second video content based on the accessed transparency data.

## Claims

### Claim 1

A computer-implemented method for compositing video content comprising:
generating, at a first composition operation of a plurality of composition operations to composite first video content and second video content, first transparency data associated with a surface of the first video content, wherein the first video content comprises an alpha channel;
detecting, at a second video composition operation of the plurality of composition operations, no change in the first video content or a change in the first video content based on analysis of the alpha channel of the first video content; and
in response to no change in the first video content being detected at the second video composition operation:
accessing, at the second video composition operation, the first transparency data; copying, at the second video composition operation, a first region of a surface of the second video content based on a first transparency indicator of the first transparency data; and blending, at the second video composition operation, a second region of the surface of the second video content with an associated region of the surface of the first video content based on a first non-transparency indicator of the first transparency data to generate composited video data; or
in response to the change in the first video content being detected at the second video composition operation:
generating, at the second video composition operation, second transparency data associated with a second surface of the first video content, wherein the second surface corresponds to the change, wherein the second transparency data comprises a second transparency indicator and a second non-transparency indicator; copying, at the second video composition operation, a third region of the surface of the second video content based on the second transparency indicator; and blending, at the second video composition operation, a fourth region of the surface of the second video content with an associated region of the second surface of the first video content based on the second non-transparency indicator of the transparency data to generate the composited video data.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
generating an instruction call comprising an instruction to process only a portion of the surface of the second video content including the second region based on the transparency data.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
allocating, in memory, a surface allocation buffer and a stream out buffer associated with the first video content; and
storing the transparency data comprising the transparency indicator in the stream out buffer.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
generating third transparency data associated with a third surface of the second video content.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first transparency data comprises indicators associated with at least one of blocks of the first surface or rows of blocks of the surface of the first video content.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
presenting the composited video data via a display.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
encoding the composited video data; and
transmitting the encoded composited video data to a remote display.

### Claim 8 (depends on 1)

The method of claim 1, wherein the first video content comprises a color space having an opacity channel and one or more first color channels and the second video content comprises a second color space having only one or more second color channels.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
generating, at the first composition operation, third transparency data associated with a surface of third video content, wherein the plurality of composition operations are to composite the first video content, the second video content, and the third video content;
determining, at the second video composition operation of the plurality of composition operations, no change in the third video content; and
copying, at the second video composition operation, a fifth region of the surface of the second video content based on a third transparency indicator of the first transparency data and a fourth transparency indicator of the third transparency data each associated with the fifth region of the surface of the second video content.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
determining, at a third video composition operation of the plurality of composition operations, a second change in the first video content; and
generating, at the third composition operation, third transparency data associated with a third surface of the first video content.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
determining a bit mapping model associated with the first video content, wherein the bit mapping model provides a segmentation of the first surface into a plurality of regions comprising the region, and wherein the transparency data comprises an indicator associated with each of the plurality of regions.

### Claim 12 (depends on 11)

The method of claim 11, wherein the bit mapping model comprises a variable region size bit mapping model.

### Claim 13

A system for compositing video content comprising:
a memory comprising a surface allocation buffer and a stream out buffer associated with first video content; and
a graphics processor coupled to the memory, the graphics processor to:
generate, at a first composition operation of a plurality of composition operations to composite the first video content and second video content, first transparency data associated with a surface of the first video content, wherein the first video content comprises an alpha channel;
detect, at a second video composition operation of the plurality of composition operations, no change in the first video content or a change in the first video content based on analysis of the alpha channel of the first video content; and
in response to no change in the first video content being detected at the second video composition operation:
access, at the second video composition operation, the first transparency data; copy, at the second video composition operation, a first region of a surface of the second video content based on a first transparency indicator of the first transparency data; and to blend, at the second video composition operation, a second region of the surface of the second video content with an associated region of the surface of the first video content based on a first non-transparency indicator of the first transparency data to generate composited video data; or
in response to the change in the first video content being detected at the second video composition operation:
generate, at the second video composition operation, second transparency data associated with a second surface of the first video content, wherein the second surface corresponds to the change, wherein the second transparency data comprises a second transparency indicator and a second non-transparency indicator; copy, at the second video composition operation, a third region of the surface of the second video content based on the second transparency indicator; and blend, at the second video composition operation, a fourth region of the surface of the second video content with an associated region of the second surface of the first video content based on the second non-transparency indicator of the transparency data to generate the composited video data.

### Claim 14 (depends on 13)

The system of claim 13, further comprising:
a central processor to generate an instruction call comprising an instruction to process only a portion of the surface of the second video content including the second region based on the transparency data and to transmit the instruction call to the graphics processor.

### Claim 15 (depends on 13)

The system of claim 13, further comprising:
a central processor to allocate the surface allocation buffer and the stream out buffer associated with the first video content, to allocate a second surface allocation buffer and a second stream out buffer associated with the second video content in the memory, and to determine no change in the first video content at the second video composition operation, wherein the graphics processor is further to store the transparency data comprising the transparency indicator in the stream out buffer.

### Claim 16 (depends on 13)

The system of claim 13, wherein the graphics processor is further to generate third transparency data associated with a third surface of the second video content.

### Claim 17 (depends on 13)

The system of claim 13, wherein the first transparency data comprises indicators associated with at least one of blocks of the first surface or rows of blocks of the surface of the first video content.

### Claim 18 (depends on 13)

The system of claim 13, wherein the graphics processor is further to:
generate, at the first composition operation, third transparency data associated with a surface of third video content, wherein the plurality of composition operations are to composite the first video content, the second video content, and the third video;
determine, at the second video composition operation of the plurality of composition operations, no change in the third video content; and
copy, at the second video composition operation, a fifth region of the surface of the second video content based on a third transparency indicator of the first transparency data and a fourth transparency indicator of the third transparency data each associated with the fifth region of the surface of the second video content.

### Claim 19 (depends on 13)

The system of claim 13, further comprising:
a central processor to determine, at a third video composition operation of the plurality of composition operations, a second change in the first video content, wherein the graphics processor is further to generate, at the third composition operation, third transparency data associated with a third surface of the first video content.

### Claim 20 (depends on 13)

The system of claim 13, further comprising:
a central processor to determine a bit mapping model associated with the first video content, wherein the bit mapping model provides a segmentation of the first surface into a plurality of regions comprising the region, and wherein the transparency data comprises an indicator associated with each of the plurality of regions.

### Claim 21

At least one non-transitory machine readable medium comprising a plurality of instructions that, in response to being executed on a computing device, cause the computing device to composite video content by:
generating, at a first composition operation of a plurality of composition operations to composite first video content and second video content, first transparency data associated with a surface of the first video content, wherein the first video content comprises an alpha channel;
detecting, at a second video composition operation of the plurality of composition operations, no change in the first video content or a change in the first video content based on analysis of the alpha channel of the first video content; and
in response to no change in the first video content being detected at the second video composition operation:
accessing, at the second video composition operation, the first transparency data; copying, at the second video composition operation, a first region of a surface of the second video content based on a first transparency indicator of the first transparency data;
and blending, at the second video composition operation, a second region of the surface of the second video content with an associated region of the surface of the first video content based on a first non-transparency indicator of the first transparency data to generate composited video data; or
in response to the change in the first video content being detected at the second video composition operation:
generating, at the second video composition operation, second transparency data associated with a second surface of the first video content, wherein the second surface corresponds to the change, wherein the second transparency data comprises a second transparency indicator and a second non-transparency indicator, copying, at the second video composition operation, a third region of the surface of the second video content based on the second transparency indicator, and blending, at the second video composition operation, a fourth region of the surface of the second video content with an associated region of the second surface of the first video content based on the second non-transparency indicator of the transparency data to generate the composited video data.

### Claim 22 (depends on 21)

The non-transitory machine readable medium of claim 21, further comprising instructions that, in response to being executed on the computing device, cause the computing device to composite video content by:
generating an instruction call comprising an instruction to process only a portion of the surface of the second video content including the second region based on the transparency data.

### Claim 23 (depends on 21)

The non-transitory machine readable medium of claim 21, further comprising instructions that, in response to being executed on the computing device, cause the computing device to composite video content by:
generating third transparency data associated with a third surface of the second video content.

### Claim 24 (depends on 21)

The non-transitory machine readable medium of claim 21, further comprising instructions that, in response to being executed on the computing device, cause the computing device to composite video content by:
generating, at the first composition operation, third transparency data associated with a surface of third video content, wherein the plurality of composition operations are to composite the first video content, the second video content, and the third video content;
determining, at the second video composition operation of the plurality of composition operations, no change in the third video content; and
copying, at the second video composition operation, a fifth region of the surface of the second video content based on a third transparency indicator of the first transparency data and a fourth transparency indicator of the third transparency data each associated with the fifth region of the surface of the second video content.

### Claim 25 (depends on 21)

The non-transitory machine readable medium of claim 21, further comprising instructions that, in response to being executed on the computing device, cause the computing device to composite video content by:
determining, at a third video composition operation of the plurality of composition operations, a second change in the first video content; and
generating, at the third composition operation, third transparency data associated with a third surface of the first video content.
