IP Library Granted Patent US 10,880,350
Granted Patent B2
US 10,880,350 · App. 16/356,998 · Granted Dec 29, 2020

Capture, recording and streaming of media content

Inventors: Brian Schmidt (Sunnyvale, CA); George Leiming Xing (Mountain View, CA); Matt Snider (Sunnyvale, CA); Sunbir Gill (San Jose, CA)
Assignee: GOOGLE LLC
H04L65/602H04L41/509H04L41/5025H04L43/106H04L65/607H04L65/80
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,880,350
App. No.
16/356,998
Granted
Dec 29, 2020
Kind
B2
Abstract

At least one layer may be selected from layers of media content available on a local device. An output layer may be created by capturing the at least one layer without capturing unselected layers. The output layer may include output frames captured at an initial frame rate of the local device. A desired output frame rate may be determined for the output layer. The initial frame rate of the output layer may be converted to the desired output frame rate. The output layer may be transmitted at the desired output frame rate to the media hosting service for presentation at a remote device.

Claims (46)

1. A method comprising:

selecting at least one layer from a plurality of layers of media content available on a local device;

creating, by a processor, an output layer by capturing the at least one layer without capturing unselected layers of the plurality of layers, wherein the output layer comprises output frames captured at an initial frame rate of the local device;

determining a desired output frame rate for the output layer;

converting the initial frame rate of the output layer to the desired output frame rate; and

transmitting the output layer at the desired output frame rate to a media hosting service for presentation at a remote device.

2. The method of claim 1 , further comprising:

encoding the output layer at the desired output frame rate prior to transmitting the output layer to the media hosting service.

3. The method of claim 2 , further comprising:

identifying a capability of the local device; and

selecting a codec to perform the encoding of the output layer based on the capability of the local device.

4. The method of claim 3 , wherein the capability of the local device is based on hardware of the local device or a bandwidth associated with the local device.

5. The method of claim 1 , wherein the plurality of layers comprise one or more audio layers and one or more video layers.

6. The method of claim 1 , wherein converting the initial frame rate of the output layer to the desired output frame rate corresponds to a dropping of one or more frames associated with the output layer in response to the initial frame rate being higher than the desired output frame rate.

7. The method of claim 1 , wherein converting the initial frame rate of the output layer to the desired output frame rate corresponds to a duplicating of one or more frames associated with the output layer in response to the initial frame rate being lower than the desired output frame rate.

8. A system comprising:

a memory; and

a processor, operatively coupled with the memory, to:

select at least one layer from a plurality of layers of media content available on a local device;

create an output layer by capturing the at least one layer without capturing unselected layers of the plurality of layers, wherein the output layer comprises output frames captured at an initial frame rate of the local device;

determine a desired output frame rate for the output layer;

convert the initial frame rate of the output layer to the desired output frame rate; and

transmit the output layer at the desired output frame rate to a media hosting service for presentation at a remote device.

9. The system of claim 8 , wherein the processor is further to:

encode the output layer at the desired output frame rate prior to transmitting the output layer to the media hosting service.

10. The system of claim 9 , wherein the processor is further to:

identify a capability of the local device; and

select a codec to perform the encoding of the output layer based on the capability of the local device.

11. The system of claim 10 , wherein the capability of the local device is based on hardware of the local device or a bandwidth associated with the local device.

12. The system of claim 8 , wherein the plurality of layers comprise one or more audio layers and one or more video layers.

13. The system of claim 8 , wherein converting the initial frame rate of the output layer to the desired output frame rate corresponds to a dropping of one or more frames associated with the output layer in response to the initial frame rate being higher than the desired output frame rate.

14. The system of claim 8 , wherein converting the initial frame rate of the output layer to the desired output frame rate corresponds to a duplicating of one or more frames associated with the output layer in response to the initial frame rate being lower than the desired output frame rate.

15. A non-transitory computer readable medium comprising instructions, which when executed by a processor, cause the processor to perform operations comprising:

selecting at least one layer from a plurality of layers of media content available on a local device;

creating an output layer by capturing the at least one layer without capturing unselected layers of the plurality of layers, wherein the output layer comprises output frames captured at an initial frame rate of the local device;

determining a desired output frame rate for the output layer;

converting the initial frame rate of the output layer to the desired output frame rate; and

transmitting the output layer at the desired output frame rate to a media hosting service for presentation at a remote device.

16. The non-transitory computer readable medium of claim 15 , the operations further comprising:

encoding the output layer at the desired output frame rate prior to transmitting the output layer to the media hosting service.

17. The non-transitory computer readable medium of claim 16 , the operations further comprising:

identifying a capability of the local device; and

selecting a codec to perform the encoding of the output layer based on the capability of the local device.

18. The non-transitory computer readable medium of claim 17 , wherein the capability of the local device is based on hardware of the local device or a bandwidth associated with the local device.

19. The non-transitory computer readable medium of claim 15 , wherein the plurality of layers comprise one or more audio layers and one or more video layers.

20. The non-transitory computer readable medium of claim 15 , wherein converting the initial frame rate of the output layer to the desired output frame rate corresponds to a dropping of one or more frames associated with the output layer in response to the initial frame rate being higher than the desired output frame rate.

Assignments (2)
CHANGE OF NAME Recorded Jul 26, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 049880/0908 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2019
From: SCHMIDT, BRIAN; XING, GEORGE LEIMING; SNIDER, MATT; GILL, SUNBIR
To: GOOGLE INC.
Reel/Frame 048628/0001 →
Continuity (3)
Continuation 15294143 · Oct 14, 2016
Provisional Application 62241612 · Oct 14, 2015
Related Publication 20190215353A1 · Jul 11, 2019