IP Library Granted Patent US 11,336,709
Granted Patent B2
US 11,336,709 · App. 17/135,921 · Granted May 17, 2022

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 11,336,709
App. No.
17/135,921
Granted
May 17, 2022
Kind
B2
Abstract

A method includes identifying a plurality of layers of audio content available on a local device, each of the plurality of layers corresponding to one or more audio sources, receiving user input indicating a selection of a subset of two or more of the plurality of layers, storing, based on the user input, data identifying the selected layers of the plurality of layers of the audio content available on a local device, capturing, based on the stored data, the selected layers of the audio content, creating an output layer by mixing the selected layers of the audio content without including any unselected layer of the plurality of layers, determining an output frame rate for the output layer, and transmitting the output layer at the determined output frame rate to a media hosting service for presentation at a remote device.

Claims (53)

1. A method comprising:

identifying a plurality of layers of audio content available on a local device, each of the plurality of layers corresponding to one or more audio sources;

receiving user input indicating a selection of a subset of two or more of the plurality of layers;

storing, based on the user input, data identifying the selected layers of the plurality of layers of the audio content available on a local device;

capturing, based on the stored data, the selected layers of the audio content;

creating an output layer by mixing the selected layers of the audio content without including any unselected layer of the plurality of layers;

determining an output sample rate for the output layer; and

transmitting the output layer at the determined output sample 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 determined output sample 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 a local audio input layer, an application audio layer, a system notification audio layer and a phone call audio layer.

6. The method of claim 5 , wherein any unselected audio layer comprises at least one of the system notification audio layer or the phone call audio layer.

7. The method of claim 1 , further comprises converting an initial sample rate of the output layer to the determined output sample rate, wherein converting the initial sample rate to the determined output sample rate comprises (i) dropping one or more samples associated with the output layer in response to the initial sample rate being higher than the determined output sample rate, or (ii) duplicating one or more samples associated with the output layer in response to the initial sample rate being lower than the determined output sample rate.

8. A system comprising:

a memory; and

a processor, operatively coupled with the memory, to:

identify a plurality of layers of audio content available on a local device, each of the plurality of layers corresponding to one or more audio sources;

receive user input indicating a selection of a subset of two or more of the plurality of layers;

store, based on the user input, data identifying the selected layers of the plurality of layers of the audio content available on a local device;

capture, based on the stored data, the selected layers of the audio content;

create an output layer by mixing the selected layers of the audio content without including any unselected layer of the plurality of layers;

determine an output sample rate for the output layer; and

transmit the output layer at the determined output sample 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 determined output sample 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 a local audio input layer, an application audio layer, a system notification audio layer and a phone call audio layer.

13. The system of claim 12 , wherein any unselected audio layer comprises at least one of the system notification audio layer or the phone call audio layer.

14. The system of claim 8 , wherein the processor is further to convert an initial sample rate of the output layer to the determined output sample rate, wherein to convert the initial sample rate to the determined output sample rate, the processor is either to (i) drop one or more samples associated with the output layer in response to the initial sample rate being higher than the determined output sample rate, or (ii) duplicate one or more samples associated with the output layer in response to the initial sample rate being lower than the determined output sample rate.

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

identifying a plurality of layers of audio content available on a local device, each of the plurality of layers corresponding to one or more audio sources;

receiving user input indicating a selection of a subset of two or more of the plurality of layers;

storing, based on the user input, data identifying the selected layers of the plurality of layers of the audio content available on a local device;

capturing, based on the stored data, the selected layers of the audio content;

creating an output layer by mixing the selected layers of the audio content without including any unselected layer of the plurality of layers;

determining an output sample rate for the output layer; and

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

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

encoding the output layer at the determined output sample rate prior to transmitting the output layer to the media hosting service.

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

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 a local audio input layer, an application audio layer, a system notification audio layer and a phone call audio layer.

20. The non-transitory computer readable medium of claim 19 , wherein any unselected audio layer comprises at least one of the system notification audio layer or the phone call audio layer.

21. The non-transitory computer readable medium of claim 15 , wherein the operations further comprise converting an initial sample rate of the output layer to the determined output sample rate, wherein converting the initial sample rate to the determined output sample rate comprises (i) dropping one or more samples associated with the output layer in response to the initial sample rate being higher than the determined output sample rate, or (ii) duplicating one or more samples associated with the output layer in response to the initial sample rate being lower than the determined output sample rate.

Assignments (2)
CHANGE OF NAME Recorded Jan 18, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 055018/0157 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: SCHMIDT, BRIAN; XING, GEORGE LEIMING; SNIDER, MATT; GILL, SUNBIR
To: GOOGLE INC.
Reel/Frame 054759/0652 →
Continuity (4)
Continuation 16356998 · Mar 18, 2019
Continuation 15294143 · Oct 14, 2016
Provisional Application 62241612 · Oct 14, 2015
Related Publication 20210120058A1 · Apr 22, 2021