IP Library Granted Patent US 9,369,670
Granted Patent B2
US 9,369,670 · App. 14/134,330 · Granted Jun 14, 2016

Audio video streaming system and method

Inventors: Philippe Clavel (San Francisco, CA); Timophey Zaitsev (San Francisco, CA); Stefan Birrer (San Francisco, CA); Alexandre Francois (San Francisco, CA)
Assignee: Rabbit, Inc.
H04N7/152H04L12/1822H04L65/4038H04L65/604H04N21/25891H04N21/4788
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 9,369,670
App. No.
14/134,330
Granted
Jun 14, 2016
Kind
B2
Abstract

A method for supporting a plurality of participants with an audio-video conferencing system including a tracking server and a plurality of streaming servers, the method including: at the tracking server, sending conversation group information to a first device associated with a first user identifier, the conversation group information including a second user identifier and a streaming server identifier for the second user identifier; at a streaming server identified by the streaming server identifier, receiving a second audio stream and a second video stream from a second device associated with the second user identifier, and in response to receipt of the second user identifier from the first device, sending the second audio stream and second video stream to the first device.

Claims (39)

1. A method for audio-video conferencing with a plurality of participants, comprising:

at a device comprising a display and audio output:

receiving from a tracking server:

a first user identifier associated with a first streaming server identifier and a first conversation group; and

a second user identifier associated with a second streaming server identifier and the first conversation group;

sending a first request comprising the first user identifier to a first streaming server identified by the first streaming server identifier and a second request comprising the second user identifier to a second streaming server identified by the second streaming server identifier;

receiving a first audio stream and a first video stream associated with the first user identifier from the first streaming server, a second audio stream and a second video stream associated with the second user identifier from the second streaming server and an ambient audio stream from the first streaming sever,

mixing the first, second, and ambient audio streams and second audio streams into a final stream;

displaying the first and second video streams on the display; and

playing the final stream from the audio output.

2. The method of claim 1 , wherein receiving an ambient audio stream comprises receiving the ambient audio stream from the first streaming server in response to selecting the first streaming server as an ambient audio stream provider and requesting the ambient audio stream from the first streaming server.

3. The method of claim 1 , further comprising:

in response to detection of an initiation event, querying a plurality of tracking servers, the plurality of tracking servers comprising the first tracking server;

receiving conversation group information for a set of conversation groups, the set of conversation groups comprising a conversation group from each of the plurality of tracking servers, the conversation group information comprising a set of user identifiers and streaming server identifiers associated with each user identifier;

requesting and receiving audio and video streams corresponding to the user identifiers associated with the set of conversation groups from streaming servers identified by the streaming server identifiers;

selecting a representative video stream for each of the set of conversation groups, each representative video stream comprising a video stream associated with a user identifier of the conversation group;

mixing the audio streams into a second final stream;

displaying the representative video streams on the display;

playing the second final stream;

in response to receipt of a user selection of a representative video stream, querying the tracking server from which the respective conversation group information was received, wherein the first and second user identifiers are received in response to the query.

4. The method of claim 3 , wherein the set of conversation groups are selected by the tracking servers.

5. The method of claim 4 , further comprising selecting a subset of conversation groups from the set of conversation groups received from the tracking servers, the subset of conversation groups comprising conversation groups within different virtual conversation rooms.

6. The method of claim 3 , wherein the set of conversation groups are selected based on user preferences stored by the tracking server in association with the user.

7. The method of claim 1 , further comprising: in response to detection of an initiation event, querying the tracking server; receiving a third streaming server identifier; capturing audio and video at the device; and streaming the audio and video to a third streaming server identified by the third streaming server identifier.

8. The method of claim 1 , further comprising synchronizing the first audio stream with the first video stream and the second audio stream with the second video stream at the user device.

9. A method for audio-video conferencing with a plurality of participants, comprising:

at a device comprising a display and audio output:

requesting and receiving conversation group information for a set of conversation groups from the tracking server, the set of conversation groups comprising a display quantity of conversation groups, each conversation group information comprising user information of participants within the respective conversation group, the user information for each participant comprising a user identifier and a streaming server identifier;

receiving audio and video streams associated with each of the user identifiers from streaming servers identified by the respective streaming server identifiers in response to requests sent to the streaming servers including the respective user identifiers;

selecting a first conversation group from the set of conversation groups;

dampening the audio streams associated with user identifiers external the first conversation group;

mixing the audio streams associated with the user identifiers within the first conversation group with the dampened audio streams into a final stream;

concurrently displaying the video streams associated with the user identifiers within the first conversation group and a representative video stream for each of the secondary conversation groups on the display, the representative video stream comprising a video stream associated with a user identifier within the respective conversation group; and

playing the final stream.

10. The method of claim 9 , wherein the set of conversation groups comprises conversation groups in excess of the display quantity, the method further comprising:

selecting secondary conversation groups from the set of conversation groups, wherein a total number of selected conversation groups comprising the first conversation group and the secondary conversation groups is equal to the display quantity;

wherein dampening the audio streams associated with user identifiers external the first conversation group comprises:

dampening the audio streams associated with user identifiers within the secondary conversation groups to a first degree; and

dampening the audio streams associated with user identifiers within unselected conversation groups to a second degree.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2019
From: RABBIT, INC.
To: RABBIT (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 050506/0024 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2019
From: RABBIT (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: RABBIT ASSET PURCHASE CORP.
Reel/Frame 050529/0396 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2015
From: CLAVEL, PHILIPPE; ZAITSEV, TIMOPHEY; BIRRER, STEFAN; FRANCOIS, ALEXANDRE RALPH JEAN
To: RABBIT, INC.
Reel/Frame 036468/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2014
From: CLAVEL, PHILIPPE; ZAITSEV, TIMOPHEY; BIRRER, STEFAN; FRANCOIS, ALEXANDRE
To: RABBIT, INC.
Reel/Frame 032091/0443 →
Continuity (2)
Provisional Application 61739554 · Dec 19, 2012
Related Publication 20140168354A1 · Jun 19, 2014