# US 8,542,265 B1 · Video chat encoding pipeline

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

- Number: US 8,542,265 B1
- Document ID: US8542265B1
- Status: Granted
- Kind: B1
- Application number: 13/769,188
- Filed: 2013-02-15
- Granted: 2013-09-24
- Earliest claimed: 2012-10-26
- Assignees: Google Inc.
- Applicants: Michael Dodd; Rodrigo Carceroni
- Inventors: Michael Dodd; Rodrigo Carceroni
- Web page: https://patentgrep.com/patent/US8542265B1

## CPC

- H04N 7/15: Conference systems
- G06T 3/4092: Image resolution transcoding, e.g. by using client-server architectures
- H04L 65/403: Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15)
- H04L 65/765: {intermediate}
- H04N 21/25825: {involving client display capabilities, e.g. screen resolution of a mobile phone (optimising the visualisation of content during browsing in the Internet G06F16/9577; processing of terminal status or physical abilities in wireless networks H04W8/22; authentication in wireless network security H04W12/06)}
- H04N 21/2662: Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
- H04N 21/41407: {embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop (constructional details of equipment or arrangements specially adapted for portable computer application G06F1/1626; arrangements specially adapted for mobile receivers in broadcast systems H04H20/57)}
- H04N 21/4788: communicating with other users, e.g. chatting {(arrangements for providing for computer conferences, e.g. chat rooms, to substation in data switching networks H04L12/1813; distributed application using peer-to-peer [P2P] networks H04L67/104)}
- H04N 23/85: for matrixing
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Implementations relate to a system for video encoding and conversion including an image resolution conversion component operable to convert a resolution of a source image frame from a first resolution to a second resolution to produce a first intermediate image frame at the second resolution; an image conversion component operable to receive the first intermediate image frame and convert an image size of the first intermediate image frame to another image frame size to produce a first viewable image frame; an image viewer component operable to display the first viewable image on a first display; a color space conversion component comprising a luminance conversion component and a chrominance operable to receive the first viewable image frame and convent a first luminance value and a first chrominance value of the first viewable image frame to a second intermediate image frame having a second luminance value and a second chrominance value.

## Claims

### Claim 1

A computer-implemented method for modifying display information on a first device to be viewable on a second device, the computer-implemented method comprising:
converting a resolution of a source image frame from a first resolution to a second resolution to produce a first intermediate image frame at the second resolution;
receiving the first intermediate image frame;
converting a vertical or a horizontal image size of the first intermediate image frame to another vertical or another horizontal image frame size to produce a first viewable image frame;
receiving and displaying the first viewable image frame from the image conversion component on a first display;
performing a color space conversion comprising a luminance conversion and a chrominance conversion by receiving the first viewable image frame and converting a first set of luminance values and a first set of chrominance values of the first viewable image frame to a second intermediate image frame having a second set of luminance values and a second set of chrominance values; and
encoding the second intermediate image frame in a format to be displayed on a second display,
wherein the source image frame, the first intermediate image frame, the first viewable image frame, the first set of luminance values, and the first set of chrominance values are stored in separate input buffers on the first device.

### Claim 2 (depends on 1)

The computer-implemented method according to claim 1, further comprising:
storing, in a first input buffer, the source image frame;
storing, in a second input buffer, the first intermediate image frame;
storing, in a third input frame buffer, the first viewable image frame;
storing, in a fourth input frame buffer, one or more luminance values for the luminance conversion; and
storing, in a fifth input frame buffer, one or more chrominance values for the chrominance conversion.

### Claim 3 (depends on 1)

The computer-implemented method according to claim 1, further comprising rotating the source image frame from a first orientation to a second orientation.

### Claim 4 (depends on 1)

The computer-implemented method according to claim 1, further comprising encoding the first set of luminance values in an RGB color space and encoding the second set of luminance values in YUV color space with a pixel including four bands to store intensity values.

### Claim 5 (depends on 1)

The computer-implemented method according to claim 1, further comprising receiving, from the second display, information related to a format for encoding the second intermediate image frame.

### Claim 6 (depends on 1)

The computer-implemented method according to claim 1, further comprising receiving the source image frame from a camera coupled to the first device operating in preview mode.

### Claim 7

A system for modifying display information on a first device to be viewable on a second device, the system comprising:
a memory operable to store computer-executable components; and
one or more processors operable to execute the computer-executable components stored within the memory to perform:
converting a resolution of a source image frame from a first resolution to a second resolution to produce a first intermediate image frame at the second resolution;
receiving the first intermediate image frame;
converting a vertical or a horizontal image size of the first intermediate image frame to another vertical or another horizontal image frame size to produce a first viewable image frame;
receiving and displaying the first viewable image frame from the image conversion component on a first display;
performing a color space conversion comprising a luminance conversion and a chrominance conversion by receiving the first viewable image frame and converting a first set of luminance values and a first set of chrominance values of the first viewable image frame to a second intermediate image frame having a second set of luminance values and a second set of chrominance values; and
encoding the second intermediate image frame in a format to be displayed on a second display,
wherein the source image frame, the first intermediate image frame, the first viewable image frame, the first set of luminance values, and the first set of chrominance values are stored in separate input buffers on the first device.

### Claim 8 (depends on 7)

The system according to claim 7, wherein the processor comprises a graphics processing unit.

### Claim 9 (depends on 7)

The system according to claim 7, further comprising a first input buffer operable to store the source image frame, a second input buffer operable to store the first intermediate image frame, a third input frame buffer operable to store the first viewable image frame, a fourth input frame buffer operable to store one or more luminance values for the luminance conversion and a fifth input frame buffer operable to store one or more chrominance values for the chrominance conversion.

### Claim 10 (depends on 7)

The system according to claim 7, wherein the at one or more processors are further operable to execute the computer-executable components stored within the memory to perform rotating the source image frame from a first orientation to a second orientation.

### Claim 11 (depends on 7)

The system according to claim 7, wherein the first set of luminance values are encoded in an RGB color space and the second set of luminance values are encoded in YUV color space with a pixel including four bands to store intensity values.

### Claim 12 (depends on 7)

The system according to claim 7, wherein the second display instructs the processor as to what format the encoder component encodes the second intermediate image frame.

### Claim 13 (depends on 7)

The system according to claim 7, wherein the one or more processors are further operable to execute the computer-executable components stored within the memory to perform receiving the source image frame from a camera coupled to the first device operating in preview mode.

### Claim 14

A non-transitory computer readable storage medium comprising instructions that cause one or more processors to perform a method for modifying display information on a first device to be viewable on a second device, the method comprising:
converting a resolution of a source image frame from a first resolution to a second resolution to produce a first intermediate image frame at the second resolution;
receiving the first intermediate image frame;
converting a vertical or a horizontal image size of the first intermediate image frame to another vertical or another horizontal image frame size to produce a first viewable image frame;
receiving and displaying the first viewable image frame from the image conversion component on a first display;
performing a color space conversion comprising a luminance conversion and a chrominance conversion by receiving the first viewable image frame and converting a first set of luminance values and a first set of chrominance values of the first viewable image frame to a second intermediate image frame having a second set of luminance values and a second set of chrominance values; and
encoding the second intermediate image frame in a format to be displayed on a second display,
wherein the source image frame, the first intermediate image frame, the first viewable image frame, the first set of luminance values, and the first set of chrominance values are stored in separate input buffers on the first device.

### Claim 15 (depends on 14)

The non-transitory computer readable storage medium according to claim 14, further comprising instructions that cause the one or more processors to perform:
storing, in a first input buffer, the source image frame;
storing, in a second input buffer, the first intermediate image frame;
storing, in a third input frame buffer, the first viewable image frame;
storing, in a fourth input frame buffer, one or more luminance values for the luminance conversion; and
storing, in a fifth input frame buffer, one or more chrominance values for the chrominance conversion.

### Claim 16 (depends on 14)

The non-transitory computer readable storage medium according to claim 14, further comprising instructions that cause the one or more processors to perform rotating the source image frame from a first orientation to a second orientation.

### Claim 17 (depends on 14)

The non-transitory computer readable storage medium according to claim 14, further comprising encoding the first set of luminance values in an RGB color space and encoding the second set of luminance values in YUV color space with a pixel including four bands to store intensity values.

### Claim 18 (depends on 14)

The non-transitory computer readable storage medium according to claim 14, further comprising instructions that cause the one or more processors to perform receiving, from the second display, information related to a format for encoding the second intermediate image frame.

### Claim 19 (depends on 14)

The non-transitory computer readable storage medium according to claim 14, further comprising instructions that cause the one or more processors to perform receiving the source image frame from a camera coupled to the first device operating in preview mode.

### Claim 20

A first device, having a first display and a first camera, operable to modify display information to be viewable on a second device having a second display, the first device comprising:
at least one processor; and
a non-transitory computer readable medium comprising instructions that cause the at least one processor to perform a method comprising:
receiving video information from the first camera of the first device;
receiving a video conference request from the second device, wherein the video conference request comprises information related to a video format for displaying the video information on the second display of the second device;
converting the video information to the video format; and
transmitting video in the video format.

### Claim 21 (depends on 20)

The device according to claim 20, wherein the converting comprises:
converting a resolution of a source image frame obtained from the first camera from a first resolution to a second resolution to produce a first intermediate image frame at the second resolution;
converting a first image size of the first intermediate image frame to a second image size to produce a second intermediate image;
converting a first color space format of the second intermediate image to a second color space format to produce a third intermediate image; and
encoding the third intermediate image for transmission to the second device.

### Claim 22 (depends on 21)

The device according to claim 21, wherein the first color space format is RGB and the second color space format is YUV.

### Claim 23 (depends on 20)

The device according to claim 20, wherein the non-transitory computer readable medium further comprises instructions that cause the at least one processor to perform:
converting a resolution of a source image frame obtained from the first camera from a first resolution to a second resolution to produce a first intermediate image frame at the second resolution;
converting a first image size of the first intermediate image frame to a second image size to produce a second intermediate image; and
providing the second intermediate image to the first display for viewing on the first device.

### Claim 24 (depends on 20)

The device according to claim 20, wherein the video format is provided based on information related to one or more display capabilities of the second display.

### Claim 25 (depends on 24)

The device according to claim 24, wherein the information includes display resolution capabilities of the second display.
