VIDEO CONFERENCING OVER IP NETWORKS
First Claim
1. A method for communication, comprising:
- establishing a primary communication link over a packet network;
establishing at least one secondary communication link over a packet network;
receiving uplink audio packets and uplink video packets over at least one communication link, which respectively contain audio and video data, wherein receiving the uplink video packets comprises controlling a quality of the video data by transmitting instructions, wherein controlling a quality of the video data comprises determining a current uplink bandwidth, a current downlink bandwidth, a maximum uplink bandwidth, a minimum uplink bandwidth, a maximum downlink bandwidth, and a minimum downlink bandwidth;
mixing the audio data from the uplink audio packets to create respective streams of mixed audio data for transmission;
transmitting downlink audio packets containing the respective streams of mixed audio data over at least one communication link;
relaying the video data in downlink video packets;
analyzing relative time differences between the mixed audio data and each relayed video data stream;
generating at least one corresponding synchronization packet based on the analyzed relative time differences between mixed audio data and each relayed video data stream; and
,transmitting over at least one communication link the at least one corresponding synchronization packet containing synchronization information for synchronizing the relayed video data in the downlink video packets with the downlink audio packets containing the respective streams of mixed audio data in addition to transmitting the downlink video packets and the downlink audio packets.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for communication includes establishing multiple communication links over a packet network between a server and plurality of client computers that are to participate in a video teleconference. The client computers may also create secondary communication links that function similarly to links between the server and client computers. The server receives from the client computers uplink audio packets and uplink video packets, which respectively contain audio and video data captured by each of the client computers. The server determines the optimal bandwidth for each client computer. The server also mixes the audio data from the uplink audio packets so as to create respective streams of mixed audio data for transmission to the client computers and transmits to the client computers downlink audio packets containing the respective streams of mixed audio data. The server relays the video data to the client computers in downlink video packets. The client computers receive and synchronize the video data with the mixed audio data.
-
Citations
62 Claims
-
1. A method for communication, comprising:
-
establishing a primary communication link over a packet network; establishing at least one secondary communication link over a packet network; receiving uplink audio packets and uplink video packets over at least one communication link, which respectively contain audio and video data, wherein receiving the uplink video packets comprises controlling a quality of the video data by transmitting instructions, wherein controlling a quality of the video data comprises determining a current uplink bandwidth, a current downlink bandwidth, a maximum uplink bandwidth, a minimum uplink bandwidth, a maximum downlink bandwidth, and a minimum downlink bandwidth; mixing the audio data from the uplink audio packets to create respective streams of mixed audio data for transmission; transmitting downlink audio packets containing the respective streams of mixed audio data over at least one communication link; relaying the video data in downlink video packets; analyzing relative time differences between the mixed audio data and each relayed video data stream; generating at least one corresponding synchronization packet based on the analyzed relative time differences between mixed audio data and each relayed video data stream; and
,transmitting over at least one communication link the at least one corresponding synchronization packet containing synchronization information for synchronizing the relayed video data in the downlink video packets with the downlink audio packets containing the respective streams of mixed audio data in addition to transmitting the downlink video packets and the downlink audio packets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A communication apparatus, comprising:
-
a server, which is coupled to establish a primary communication link over a packet network with remote computers that are to participate in a video teleconference and to receive uplink audio packets and uplink video packets, which respectively comprise audio and video data, over the primary communication link, wherein receiving the uplink video packets comprises controlling a quality of the video data by transmitting instructions, wherein controlling a quality of the video data comprises determining a current uplink bandwidth, a current downlink bandwidth, a maximum uplink bandwidth, a minimum uplink bandwidth, a maximum downlink bandwidth, and a minimum downlink bandwidth; the server, which is also coupled to establish at least one secondary communication link over a packet network with remote computers that are to participate in a video teleconference and to receive uplink audio packets and uplink video packets, which respectively comprise audio and video data, over the communication links; wherein the server is configured to mix the audio data from the uplink audio packets so as to create respective streams of mixed audio data for transmission to the remote computers, and to generate at least one synchronization packet containing synchronization information, and to transmit to the remote computers over at least one communication link downlink audio packets containing the respective streams of mixed audio data in addition to the at least one synchronization packet while relaying the video data from the uplink video packets to the client computers in downlink video packets. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A server, comprising:
-
a network interface, which is coupled to establish a primary communication link over a packet network with a plurality of remote computers that are to participate in a video teleconference, and to receive from the remote computers uplink audio packets and uplink video packets, which respectively contain audio and video data captured by each of the remote computers wherein receiving the uplink video packets comprises controlling a quality of the video data by transmitting instructions, wherein controlling a quality of the video data comprises determining a current uplink bandwidth, a current downlink bandwidth, a maximum uplink bandwidth, a minimum uplink bandwidth, a maximum downlink bandwidth, and a minimum downlink bandwidth; and a network interface, which is coupled to establish at least one secondary communication link over a packet network with a plurality of remote computers that are to participate in a video teleconference, and to receive from the remote computers uplink audio packets and uplink video packets; a processor, which is configured to mix the audio data from the uplink audio packets so as to create respective streams of mixed audio data for transmission to the remote computers and to generate at least one synchronization packet containing synchronization information, and to transmit to the remote computers via the network interface downlink audio packets containing the respective streams of mixed audio data in addition to the at least one synchronization packet while relaying the video data from the uplink video packets to the remote computers in downlink video packets.
-
-
39. A computer program product, comprising a non-transitory computer usable medium having a computer readable program code embodied therein, said computer readable program code adapted to be executed to implement a method for implementing a method for communication, said method comprising:
-
establishing a primary communication link over a packet network; establishing at least one secondary communication link over a packet network; receiving uplink audio packets and uplink video packets over at least one communication link, which respectively contain audio and video data, wherein receiving the uplink video packets comprises controlling a quality of the video data by transmitting instructions, wherein controlling a quality of the video data comprises determining a current uplink bandwidth, a current downlink bandwidth, a maximum uplink bandwidth, a minimum uplink bandwidth, a maximum downlink bandwidth, and a minimum downlink bandwidth; mixing the audio data from the uplink audio packets to create respective streams of mixed audio data for transmission; transmitting downlink audio packets containing the respective streams of mixed audio data over at least one communication link; relaying the video data in downlink video packets; analyzing relative time differences between the mixed audio data and each relayed video data stream; generating at least one corresponding synchronization packet based on the analyzed relative time differences between mixed audio data and each relayed video data stream; and
,transmitting over at least one communication link the at least one corresponding synchronization packet containing synchronization information for synchronizing the relayed video data in the downlink video packets with the downlink audio packets containing the respective streams of mixed audio data in addition to transmitting the downlink video packets and the downlink audio packets. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58)
-
-
59. A client computer, comprising:
-
a user interface; and a processor, which is configured to establish a primary communication link and at least one secondary communication link over a packet network so as to participate in a video teleconference, and to transmit uplink audio packets and uplink video packets over at least one communication link, which respectively contain audio and video data, wherein the processor is configured to receive over at least one communication link downlink audio packets containing the a stream of mixed audio data, to receive over at least one communication link synchronization packets containing synchronization information generated, and to receive over at least one communication link downlink video packets containing the video data transmitted by other remote computers in the video teleconference, and to synchronize the video data with the mixed audio data based on the synchronization information for output via the user interface. - View Dependent Claims (60, 61, 62)
-
Specification