IP Library Granted Patent US 8,860,779
Granted Patent B2
US 8,860,779 · App. 13/171,097 · Granted Oct 14, 2014

Two-way audio and video communication utilizing segment-based adaptive streaming techniques

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 8,860,779
App. No.
13/171,097
Granted
Oct 14, 2014
Kind
B2
Abstract

A participation device in a multiparty conference call may act as a server device and/or a client device for two-way audio and video (AV) streaming. A server device may encode a requested AV stream into a set of different encoding profiles that may be dynamically determined based on the varying channel conditions and device capacities of the client devices. At least a portion of differently encoded AV streams is selected and dynamically communicated to the client devices for display. Session parameters are determined according to the varying channel conditions and the device capacities of the client devices to create intended sessions. The selected encoded AV streams are communicated utilizing segment-based adaptive streaming techniques such as HTTP. A client device may access to a HTTP session to download an expected AV stream from the server device. The downloaded AV stream may be decoded into different decoding profiles for display as needed.

Claims (42)

1. A method for networking in a device configured to participate in a multiparty audio and video conference call, the method comprising:

encoding an audio and video stream utilizing a set of different encoding profiles to generate an encoded audio and video stream, the set of different encoding profiles determined based on at least one of channel conditions or device capacities of one or more other devices in the multiparty audio and video conference call;

organizing the encoded audio and video stream into a series of encoded audio and video segments, a size of one or more of the series of encoded audio and video segments determined based on at least one of the channel conditions or an available bandwidth; and

communicating at least a portion of the series of encoded audio and video segments to said one or more other devices in the multiparty audio and video conference call.

2. The method of claim 1 , wherein the different encoding profiles comprise at least one of audio and video resolutions, Codec types, or lengths of audio and video segments.

3. The method of claim 2 , further comprising:

determining session parameters for one or more sessions between the device and each of the one or more other devices based on the channel conditions and the device capacities of the one or more other devices; and

creating by the device, the one or more sessions utilizing the session parameters prior to the communication.

4. The method of claim 3 , further comprising communicating, during the sessions, the portion of the series of encoded audio and video segments to the one or more other devices utilizing a Hypertext Transfer Protocol (HTTP).

5. The method of claim 4 , further comprising communicating to the one or more other devices during creating said sessions a segment control file that contains information about the series of encoded audio and video segments.

6. The method according to claim 4 , the one or more sessions comprising one or more first sessions and the audio and video stream comprising a first audio and video stream, the method further comprising:

accessing a second session utilizing the HTTP, wherein the second session is created by a first other device of the one or more other devices in the multiparty audio and video conference call; and

downloading, in the accessed session, a second audio and video stream from the first other device utilizing the HTTP.

7. The method according to claim 6 , further comprising communicating the second audio and video stream to at least one second other device of the one or more other devices utilizing the HTTP.

8. The method according to claim 6 , further comprising decoding the second audio and video stream utilizing a set of different decoding profiles, the set of different decoding profiles determined based on the channel conditions and the device capacities of the device.

9. The method according to claim 8 , the second audio and video stream comprising a plurality of second audio and video streams, each associated with one of the different decoding profiles, decoding the second audio and video stream comprising generating one or more decoded second audio and video streams, and the method further comprising selecting one or more of the decoded second audio and video streams of the second audio and video stream based on the channel conditions and the device capacities of the device.

10. A system comprising:

one or more circuits for use in a device configured to participate in a multiparty audio and video conference call, the one or more circuits configured to:

encode an audio and video stream utilizing a set of different encoding profiles to generate an encoded audio and video stream, the set of different encoding profiles determined based on at least one of channel conditions or device capacities of one or more other devices in the multiparty audio and video conference call;

organize the encoded audio and video stream into a series of encoded audio and video segments, a size of one or more of the series of encoded audio and video segments determined based on at least one of the channel conditions or an available bandwidth; and

communicate at least a portion of the series of encoded audio and video segments to said one or more other devices in the multiparty audio and video conference call.

11. The system according to claim 10 , wherein the different encoding profiles comprise at least one of audio and video resolutions, Codec types, or lengths of audio and video segments.

12. The system according to claim 11 , wherein the one or more circuits are configured to:

determine session parameters for one or more sessions between the device and each of the one or more other devices based on the channel conditions and the device capacities of the one or more other devices; and

create the one or more sessions utilizing the session parameters prior to the communication.

13. The system according to claim 12 , wherein the one or more circuits are configured to communicate, during the sessions, the portion of the series of encoded audio and video segments to the one or more other devices utilizing a Hypertext Transfer Protocol (HTTP).

14. The system according to claim 13 , wherein the one or more circuits are configured to communicate to the one or more other devices during creating said sessions a segment control file that contains information about the series of encoded audio and video segments.

15. The system according to claim 13 , wherein the one or more circuits are configured to:

access a second session utilizing the HTTP, wherein the second session is created by a first other device of the one or more other devices in the multiparty audio and video conference call; and

download, in the accessed session, a second audio and video stream from the first other device utilizing the HTTP.

16. The system according to claim 15 , wherein the one or more circuits are configured to communicate the second audio and video stream to at least one second other device of the one or more other devices utilizing the HTTP.

17. The system according to claim 15 , wherein the one or more circuits are configured to decode the second audio and video stream utilizing a set of different decoding profiles, the set of different decoding profiles determined based on the channel conditions and the device capacities of the device.

18. The system according to claim 17 , the second audio and video stream comprising a plurality of second audio and video streams, each associated with one of the different decoding profiles, the one or more circuits configured to decode the second audio and video stream to generate one or more decoded second audio and video streams, wherein the one or more circuits are further configured to select one or more of the decoded second audio and video streams of the second audio and video stream based on the channel conditions and the device capacities of the device.

19. The method of claim 1 , organizing the encoded audio and video stream into the series of encoded audio and video segments comprising dynamically determining the size of the one or more of the encoded audio and video segments while the multiparty audio and video conference call is in progress based on one or more variations in the at least one of the channel conditions or the available bandwidth.

20. The method of claim 1 , encoding the audio and video stream comprising:

determining a plurality of resolutions based on the device capacities of the one or more other devices;

rescaling the audio and video stream to generate a set of rescaled audio and video streams, each of the rescaled audio and video streams associated with a different one of the plurality of resolutions; and

selecting a codec for each of the rescaled audio and video streams based on the resolution associated with the rescaled audio and video stream, the device capacities of one or more of the other devices, and the channel conditions.

21. One or more computer-readable storage media having instructions stored thereon that, when executed by one or more processors of a device configured to participate in a multiparty audio and video conference call, cause the one or more processors to perform operations comprising:

encoding an audio and video stream utilizing a set of different encoding profiles to generate an encoded audio and video stream, the set of different encoding profiles determined based on at least one of channel conditions or device capacities of one or more other devices in the multiparty audio and video conference call;

organizing the encoded audio and video stream into a series of encoded audio and video segments based at least in part on at least one of the channel conditions or an available bandwidth; and

communicating at least a portion of the series of encoded audio and video segments to said one or more other devices in the multiparty audio and video conference call.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2011
From: CHEN, XUEMIN; LI, GORDON YONG; KIRCHOFF, ARLEN J, JR.
To: BROADCOM CORPORATION
Reel/Frame 027356/0479 →