IP Library Granted Patent US 10,194,188
Granted Patent B1
US 10,194,188 · App. 15/831,163 · Granted Jan 29, 2019

Bitrate selection for video streaming

Inventors: Sang-Uok Kum (Sunnyvale, CA); Sam John (Fremont, CA); Thierry Foucu (San Jose, CA); Lei Yang (Palo Alto, CA); Alexander Jay Converse (San Jose, CA); Steve Benting (San Mateo, CA)
Assignee: GOOGLE LLC
H04N21/2662H04L65/604H04L65/80H04N21/23418H04L65/4084
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 10,194,188
App. No.
15/831,163
Granted
Jan 29, 2019
Kind
B1
Abstract

Videos associated with video resolutions may be received. A first bitrate for each of the video resolutions may be identified based on a first bitrate point associated with the videos where a quality of the videos at a first video resolution that is upscaled to a second video resolution is better than a quality of the videos at the second video resolution at bitrates below the first bitrate point. The upscaling of the first video resolution may correspond to converting the videos from the first video resolution to the second video resolution at a client device. The identified corresponding first bitrate may be assigned to each of the video resolutions.

Claims (47)

1. A method comprising:

receiving a plurality of videos associated with a plurality of video resolutions;

identifying, by a processing device, a first bitrate for each of the video resolutions based on a first bitrate point associated with the videos where a quality of the videos at a first video resolution that is upscaled to a second video resolution is better than a quality of the videos at the second video resolution at bitrates below the first bitrate point, the upscaling of the first video resolution corresponding to converting the videos from the first video resolution to the second video resolution at a client device;

assigning the identified corresponding first bitrate to each of the video resolutions; and

providing a video of the plurality of videos based on the first bitrate assigned to one of the video resolutions.

2. The method of claim 1 , wherein the upscaling of the first video resolution corresponds to converting video data of a corresponding video at the first video resolution to a higher resolution corresponding to the second video resolution after the corresponding video at the first video resolution is transmitted to the client device.

3. The method of claim 1 , wherein the identifying of the first bitrate for each of the video resolutions is further based on a cumulative distribution associated with the first bitrate point of each of the videos.

4. The method of claim 1 , further comprising:

receiving, from the client device, a request for one of the videos;

identifying an achievable bitrate associated with the client device; and

transmitting a transcoding of the requested video based on the achievable bitrate of the client device and the first bitrate for one of the video resolutions.

5. The method of claim 4 , wherein the achievable bitrate of the client device is between the first bitrate and a second bitrate for the one of the video resolutions and the achievable bitrate is based on video processing and bandwidth capabilities associated with the client device, wherein the second bitrate is higher than the first bitrate.

6. The method of claim 4 , wherein the transmitting of the requested video based on the achievable bitrate of the client device and the first bitrate and a second bitrate for one of the video resolutions comprises identifying the transcoding of the requested video at a particular video resolution associated with the first bitrate and the second bitrate.

7. The method of claim 4 , further comprising:

identifying a change in the achievable bitrate associated with the client device; and

switching the transmitting of the requested video from the transcoding to a second transcoding based on the change in the achievable bitrate of the client device.

8. A non-transitory machine-readable storage medium storing instructions which, when executed, cause a processing device to perform operations comprising:

receiving a plurality of videos associated with a plurality of video resolutions;

identifying, by the processing device, a first bitrate for each of the video resolutions based on a first bitrate point associated with the videos where a quality of the videos at a first video resolution that is upscaled to a second video resolution is better than a quality of the videos at the second video resolution at bitrates below the first bitrate point, the upscaling of the first video resolution corresponding to converting the videos from the first video resolution to the second video resolution at a client device;

assigning the identified corresponding first bitrate to each of the video resolutions; and

providing a video of the plurality of videos based on the first bitrate assigned to one of the video resolutions.

9. The non-transitory machine-readable storage medium of claim 8 , wherein the upscaling of the first video resolution corresponds to converting the first video resolution to a higher resolution corresponding to the second video resolution after a corresponding video at the first video resolution is transmitted to the client device.

10. The non-transitory machine-readable storage medium of claim 8 , wherein the identifying of the first bitrate for each of the video resolutions is further based on a cumulative distribution associated with the first bitrate point of each of the videos.

11. The non-transitory machine-readable storage medium of claim 8 , wherein the operations further comprise:

receiving, from the client device, a request for one of the videos;

identifying an achievable bitrate associated with the client device; and

transmitting a transcoding of the requested video based on the achievable bitrate of the client device and the first bitrate for one of the video resolutions.

12. The non-transitory machine-readable storage medium of claim 11 , wherein the achievable bitrate of the client device is between the first bitrate and a second bitrate for the one of the video resolutions and the achievable bitrate is based on video processing and bandwidth capabilities associated with the client device, wherein the second bitrate is higher than the first bitrate.

13. The non-transitory machine-readable storage medium of claim 11 , wherein the transmitting of the requested video based on the achievable bitrate of the client device and the first bitrate and a second bitrate for one of the video resolutions comprises identifying the transcoding of the requested video at a particular video resolution associated with the first bitrate and the second bitrate.

14. The non-transitory machine-readable storage medium of claim 13 , the operations further comprising:

identifying a change in the achievable bitrate associated with the client device; and

switching the transmitting of the requested video from the transcoding to a second transcoding based on the change in the achievable bitrate of the client device.

15. A system comprising:

a memory; and

a processor, operatively coupled with the memory, to:

receive a plurality of videos associated with a plurality of video resolutions;

identify a first bitrate for each of the video resolutions based on a first bitrate point associated with the videos where a quality of the videos at a first video resolution that is upscaled to a second video resolution is better than a quality of the videos at the second video resolution at bitrates below the first bitrate point, the upscaling of the first video resolution corresponding to converting the videos from the first video resolution to the second video resolution at a client device;

assign the identified corresponding first bitrate to each of the video resolutions; and

provide a video of the plurality of videos based on the first bitrate assigned to one of the video resolutions.

16. The system of claim 15 , wherein the upscaling of the first video resolution corresponds to converting the first video resolution to a higher resolution corresponding to the second video resolution after a corresponding video at the first video resolution is transmitted to the client device.

17. The system of claim 15 , wherein the identifying of the first bitrate for each of the video resolutions is further based on a cumulative distribution associated with the first bitrate point of each of the videos.

18. The system of claim 17 , wherein the processing device is further to

receive, from the client device, a request for one of the videos;

identify an achievable bitrate associated with the client device; and

transmit a transcoding of the requested video based on the achievable bitrate of the client device and the first bitrate for one of the video resolutions.

19. The system of claim 18 , wherein the achievable bitrate of the client device is between the first bitrate and a second bitrate for the one of the video resolutions and the achievable bitrate is based on video processing and bandwidth capabilities associated with the client device, wherein the second bitrate is higher than the first bitrate.

20. The system of claim 18 , wherein the transmitting of the requested video based on the achievable bitrate of the client device and the first bitrate and a second bitrate for one of the video resolutions comprises identifying the transcoding of the requested video at a particular video resolution associated with the first bitrate and the second bitrate.

Assignments (2)
CHANGE OF NAME Recorded Mar 16, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 045624/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2017
From: KUM, SANG-UOK; JOHN, SAM; FOUCU, THIERRY; YANG, LEI; CONVERSE, ALEXANDER JAY; BENTING, STEVE
To: GOOGLE INC.
Reel/Frame 044312/0982 →
Continuity (2)
Continuation 14622292 · Feb 13, 2015
Provisional Application 61939908 · Feb 14, 2014
Cited By (1)
US 12,219,173