IP Library Granted Patent US 6,944,136
Granted Patent B2
US 6,944,136 · App. 10/758,883 · Granted Sep 13, 2005

Two-way audio/video conferencing system

Assignee: On-Demand Technologies, Inc.
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 6,944,136
App. No.
10/758,883
Granted
Sep 13, 2005
Kind
B2
Abstract

A method and apparatus are provided for exchanging audio/visual information between a caller and a called party through the Internet. The method includes the steps of setting up a session link between the caller and called party using a tunneled real time control protocol and collecting audio and video information from the caller and called party. The method further includes the steps of forming the audio and video portions into data objects, attaching a time stamp to each formed data object and exchanging the formed audio and video data objects as real time packets using a transport control protocol between the caller and called party through the session link.

Claims (113)

1. A method of exchanging audio/visual information between a caller and a called party through the Internet, such method comprising the steps of:

the caller connecting to a server;

the server authenticating an identity of the caller using a server authentication program;

the server setting up a session link between the caller and called party using a transport control protocol and a tunneled real time control protocol;

sending a access request from the caller to the called party under the tunneled real time protocol;

collecting audio and video information from the caller and called party by receiving video frame information via a video capture card and substantially simultaneously receiving audio information via an audio input, both residing on a personal computer of respective caller and called party;

re-sampling the audio and video information to obtain packets of a predetermined data format;

partitioning the packets into smaller data packets;

forming the audio and video portions into data objects incorporating capture characteristics of the audio and video information;

attaching a time stamp to each formed data object;

the caller and called party transmitting and receiving audio and video information by exchanging the formed audio and video data objects as real time packets using the transport control protocol between the caller and called party through the session link;

the caller and called party ordering each received packet based upon timestamp and then by smallest relative sequence number; and

the caller and called party copying a first packet of the ordered packets into a synch buffer and processing the first packet, wherein the step of processing the first packet further comprises determining a sleep time and if the sleep time is less than 10 milliseconds, processing the first packet immediately.

2. A method of exchanging audio/visual information between a caller and a called party through the Internet, such method comprising the steps of:

the caller connecting to a server;

the server authenticating an identity of the caller using a server authentication program;

the server setting up a session link between the caller and called party using a transport control protocol and a tunneled real time control protocol;

sending a access request from the caller to the called party under the tunneled real time protocol;

collecting audio and video information from the caller and called party by receiving video frame information via a video capture card and substantially simultaneously receiving audio information via an audio input, both residing on a personal computer of respective caller and called party;

re-sampling the audio and video information to obtain packets of a predetermined data format;

partitioning the packets into smaller data packets;

forming the audio and video portions into data objects incorporating capture characteristics of the audio and video information;

attaching a time stamp to each formed data object;

the caller and called party transmitting and receiving audio and video information by exchanging the formed audio and video data objects as real time packets using the transport control protocol between the caller and called party through the session link;

the caller and called party ordering each received packet based upon timestamp and then by smallest relative sequence number; and

the caller and called party copying a first packet of the ordered packets into a synch buffer and processing the first packet, wherein the step of processing the first packet further comprises determining a sleep time and if the sleep time is greater than 50 milliseconds, processing the first packet after a 50 millisecond wait.

3. A method of exchanging audio/visual information between a caller and a called party through the Internet, such method comprising the steps of:

the caller connecting to a server;

the server authenticating an identity of the caller using a server authentication program;

the server setting up a session link between the caller and called party using a transport control protocol and a tunneled real time control protocol;

sending a access request from the caller to the called party under the tunneled real time protocol;

collecting audio and video information from the caller and called party by receiving video frame information via a video capture card arid substantially simultaneously receiving audio information via an audio input, both residing on a personal computer of respective caller and called party;

re-sampling the audio and video information to obtain packets of a predetermined data format;

partitioning the packets into smaller data packets;

forming the audio and video portions into data objects incorporating capture characteristics of the audio and video information;

attaching a time stamp to each formed data object;

the caller and called party transmitting and receiving audio and video information by exchanging the formed audio and video data objects as real time packets using the transport control protocol between the caller and called party through the session link;

the caller and called party ordering each received packet based upon timestamp and then by smallest relative sequence number; and

the caller and called party copying a first packet of the ordered packets into a synch buffer and processing the first packet, wherein the step of processing the first packet further comprises determining a sleep time and if the sleep time is between 10 and 50 milliseconds, then sleeping for a predetermined number of milliseconds and then processing the first packet.

4. A method of exchanging audio/visual information between a caller and a called party through the Internet, such method comprising the steps of:

the caller connecting to a server;

the server authenticating an identity of the caller using a server authentication program;

the server setting up a session link between the caller and called party using a transport control protocol and a tunneled real time control protocol;

sending a access request from the caller to the called party under the tunneled real time protocol;

collecting audio and video information from the caller and called party by receiving video frame information via a video capture card and substantially simultaneously receiving audio information via an audio input, both residing on a personal computer of respective caller and called party;

re-sampling the audio and video information to obtain packets of a predetermined data format;

partitioning the packets into smaller data packets;

forming the audio and video portions into data objects incorporating capture characteristics of the audio and video information;

attaching a time stamp to each formed data object;

the caller and called party transmitting and receiving audio and video information by exchanging the formed audio and video data objects as real time packets using the transport control protocol between the caller and called party through the session link;

the caller and called party ordering each received packet based upon timestamp and then by smallest relative sequence number;

the caller and called party copying a first packet of the ordered packets into a synch buffer and processing the first packet;

decoding each received frame;

adding via a ring buffer a relatively small audio lead time; and

keeping one video frame in the ring buffer for a repaint of a displayed video image.

5. The method of exchanging audio/visual information as in claim 4 further comprising clearing the ring buffer in response to detection of a new audio frame, a new video frame replacing a previous video frame.

6. The method of exchanging audio/visual information as in claim 5 further comprising feeding decoded frames to a DirectX application to be played back.

7. The method of exchanging audio/visual information as in claim 6 further comprising updating the video frames and playing back the audio stream.

8. The method of exchanging audio/visual information as in claim 7 further comprising sending an instant message, when there is an instant message text to be sent to the server, and, when there are instant messages received, displaying the instant message.

9. An apparatus for exchanging audio/visual information between a caller and a called party through the Internet, such apparatus comprising:

means for connecting the caller to a server and setting up a session link between the caller and called party using a transport control protocol and a tunneled real time control protocol;

means for authenticating an identify of the caller using a server authentication program;

means for sending an access request from the caller to the called party under the tunneled real time protocol;

means for collecting audio and video information from the caller and called party by receiving video frame information via a video capture card and substantially simultaneously receiving audio information via an audio input, both residing on a personal computer of respective caller and called party;

means for re-sampling the audio and video information to obtain packets of a predetermined data format;

means for partitioning the packets into smaller data packets;

means for forming the audio and video portions into data objects incorporating capture characteristics of the audio and video information, wherein the incorporated capture characteristics of the audio information includes at least one of the group consisting of sample rate, bit length of each sample, and a channel number and the incorporated capture characteristics of the video information includes at least one of the group consisting of x position, y position and color space;

means for attaching a time stamp to each formed data object;

means for transmitting and receiving audio and video information by exchanging the formed audio and video data objects as real time packets using a transport control protocol between the caller and called party through the session link;

means for ordering each packet received by the caller and called party based upon a timestamp and then by smallest relative sequence number; and

means for copying a first packet of the ordered packets into a synch buffer and processing the first packet, wherein the means for processing the first packet further comprises means for determining a sleep time and if the sleep time is less than 10 milliseconds, processing the first packet immediately.

10. An apparatus for exchanging audio/visual information between a caller and a called party through the Internet, such apparatus comprising:

means for connecting the caller to a server and setting up a session link between the caller and called party using a transport control protocol and a tunneled real time control protocol;

means for authenticating an identify of the caller using a server authentication program;

means for sending an access request from the caller to the called party under the tunneled real time protocol;

means for collecting audio and video information from the caller and called party by receiving video frame information via a video capture card and substantially simultaneously receiving audio information via an audio input, both residing on a personal computer of respective caller and called party;

means for re-sampling the audio and video information to obtain packets of a predetermined data format;

means for partitioning the packets into smaller data packets;

means for forming the audio and video portions into data objects incorporating capture characteristics of the audio and video information, wherein the incorporated capture characteristics of the audio information includes at least one of the group consisting of sample rate, bit length of each sample, and a channel number and the incorporated capture characteristics of the video information includes at least one of the group consisting of x position, y position and color space;

means for attaching a time stamp to each formed data object;

means for transmitting and receiving audio and video information by exchanging the formed audio and video data objects as real time packets using the transport control protocol between the caller and called party through the session link;

means for ordering each packet received by the caller and called party based upon a timestamp and then by smallest relative sequence number; and

means for copying a first packet of the ordered packets into a synch buffer and processing the first packet and

wherein the means for processing the first packet further comprises means for determining a sleep time and if the sleep time is greater than 50 milliseconds, processing the first packet after a 50 millisecond wait.

11. An apparatus for exchanging audio/visual information between a caller and a called party through the Internet, such apparatus comprising:

means for connecting the caller to a server and setting up a session link between the caller and called party using a transport control protocol and a tunneled real time control protocol;

means for authenticating an identify of the caller using a server authentication program;

means f or sending an access request from the caller to the called party under the tunneled real time protocol;

means for collecting audio and video information from the caller and called party by receiving video frame information via a video capture card and substantially simultaneously receiving audio information via an audio input, both residing on a personal computer of respective caller and called party;

means for re-sampling the audio and video information to obtain packets of a predetermined data format;

means for partitioning the packets into smaller data packets;

means for forming the audio and video portions into data objects incorporating capture characteristics of the audio and video information, wherein the incorporated capture characteristics of the audio information includes at least one of the group consisting of sample rate, bit length of each sample, and a channel number and the incorporated capture characteristics of the video information includes at least one of the group consisting of x position, y position and color space;

means far attaching a time stamp to each formed data object;

means for transmitting and receiving audio and video information by exchanging the formed audio and video data objects as real time packets using the transport control protocol between the caller and called party through the session link;

means for ordering each packet received by the caller and called party based upon a timestamp and then by smallest relative sequence number; and

means for copying a first packet of the ordered packets into a synch buffer and processing the first packet, wherein the means for processing the first packet further comprises means for determining a sleep time and if the sleep time is between 10 and 50 milliseconds, then sleeping for a predetermined number of milliseconds and then processing the first packet.

12. An apparatus for exchanging audio/visual information between a caller and a called party through the Internet, such apparatus comprising:

means for connecting the caller to a server and setting up a session link between the caller and called party using a transport control protocol and a tunneled real time control protocol;

means for authenticating an identify of the caller using a server authentication program;

means for sending an access request from the caller to the called party under the tunneled real time protocol;

means for collecting audio and video information from the caller and called party by receiving video frame information via a video capture card and substantially simultaneously receiving audio information via an audio input, both residing on a personal computer of respective caller and called party;

means for re-sampling the audio and video information to obtain packets of a predetermined data format;

means for partitioning the packets into smaller data packets;

means for forming the audio and video portions into data objects incorporating capture characteristics of the audio and video information, wherein the incorporated capture characteristics of the audio information includes at least one of the group consisting of sample rate, bit length of each sample, and a channel number and the incorporated capture characteristics of the video information includes at least one of the group consisting of x position, y position and color space;

means for attaching a time stamp to each formed data object;

means for transmitting and receiving audio and video information by exchanging the formed audio and video data objects as real time packets using the transport control protocol between the caller and called party through the session link;

means for ordering each packet received by the caller and called party based upon a timestamp and then by smallest relative sequence number;

means for copying a first packet of the ordered packets into a synch buffer and processing the first packet; and

means for decoding each received frame from the ordered packets, adding via a ring buffer a relatively small audio lead time, and keeping one video frame in the ring buffer for a repaint of a displayed video image.

13. The apparatus for exchanging audio/visual information as in claim 12 further comprising means for clearing the ring buffer in response to detection of a new audio frame, a new video frame replacing a previous video frame.

14. The apparatus for exchanging audio/visual information as in claim 13 further comprising means for feeding decoded frames to a DirectX application to be played back.

15. The apparatus for exchanging audio/visual information as in claim 14 further comprising means for updating the video frames and playing back the audio stream.

16. The apparatus for exchanging audio/visual information as in claim 15 further comprising means for sending an instant message, when there is an instant message text to be sent to the server, and , when there are instant messages received, displaying the instant message.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2004
From: KIM, MYONG GI; YERKES, ARTHUR
To: ON-DEMAND TECHNOLOGIES
Reel/Frame 014954/0170 →
Continuity (2)
Continuation In Part 1037686600 · Feb 28, 2003
Related Publication 20040172656A1 · Sep 2, 2004