IP Library › Granted Patent US 8,890,930
Granted Patent B2
US 8,890,930 · App. 13/318,721 · Granted Nov 18, 2014

Multi-channel video communication system and method for processing multi-channel video communication

Inventor: Chenchen Gu (Shenzhen, CN)
Assignee: Tencent Technology (Shenzhen) Company Limited
H04N21/234327H04N21/25825H04N19/00066H04N21/23439H04N19/00236H04N19/00369H04N21/2402H04N19/00448H04N19/00436H04N19/00206H04N19/0043
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,890,930
App. No.
13/318,721
Granted
Nov 18, 2014
Kind
B2
Abstract

The present invention provides a multi-channel video communication system which includes a scalable video codec, a bit-stream truncating module, a network module and a multi-channel bit-stream truncating control module. The scalable video codec encodes a video source to generate a scalable original video bit-stream. The bit-stream truncating module is set between the scalable video codec and the network module, truncates the original video bit-stream to obtain a final video bit-stream and sends the final video bit-stream to the remote client device through the network module. The multi-channel bit-stream truncating control module is connected with the bit-stream truncating module, calculates a filter parameter for each bit-stream truncating unit in the bit-stream truncating module based on received device capabilities and network conditions of the remote client device. The present invention also provides a multi-channel video communication method in the above multi-channel video communication system.

Claims (31)

1. A method for processing multi-channel video communication, comprising:

encoding a video source to generate a scalable original video bit-stream;

obtaining device capabilities and network conditions of a remote client device;

calculating a filter parameter according to the device capabilities and the network condition;

truncating the original video bit-stream according to the filter parameter, obtaining a final video bit-stream and sending the final video bit-stream to the remote client device;

wherein the filter parameter comprises: a priority threshold used in truncating the bit-stream according to priorities of bit-stream packets in the video bit-stream; the priority threshold is calculated by applying a selecting method to parameter information stored in a storing unit according to the device capabilities and the network conditions of the remote client device; the parameter information is a cyclic queue of information of all bit-stream packets in an image group; the image group includes a first key frame and frames between the first key frame and a second key frame in the scalable original video bit-stream; the second key frame is a key frame immediately preceding the first key frame in a basic quality layer of the scalable original video bit-stream.

2. The multi-channel video communication method of claim 1 , wherein the information of the bit-stream packet comprises a priority, a time domain level, a spatial domain level and a bit rate increment; the method further comprises: when encoding each image frame, adding information of all bit-stream packets corresponding to the image into the cyclic queue.

3. A method for processing multi-channel video communication, comprising:

encoding a video source to generate a scalable original video bit-stream;

obtaining device capabilities and network conditions of a remote client device;

calculating a filter parameter according to the device capabilities and the network condition;

truncating the original video bit-stream according to the filter parameter, obtaining a final video bit-stream and sending the final video bit-stream to the remote client device;

wherein the filter parameter comprises: a priority threshold used in truncating the bit-stream according to priorities of bit-stream packets in the video bit-stream; the priority threshold is calculated according to the device capabilities and the network conditions of the remote client device and parameter information stored in a storing unit; the parameter information is a cyclic queue of information of all bit-stream packets in the latest image group;

wherein calculating the filter parameter includes:

sorting information of the bit-stream packets in the cyclic queue in a descending order of priority, allocating index numbers to the information of the bit-stream packets with smaller index numbers allocated to information of bit-stream packets of higher priority;

traversing, by each bit-stream truncating unit, all bit-stream packets in an ascending order of the index number; determining whether an update condition is met based on processing capabilities and network bandwidth of all connected client devices; updating the priority threshold in response to a determination that the update condition is met; or not updating the priority threshold in response to a determination that the update condition is not met; checking whether all the bit-stream packets are processed after all the bit-stream truncating units have traversed the current bit-stream packet;

ending the processing in response to a determination that all the bit-stream packets are processed; or processing another bit-stream packet in response to a determination that all the bit-stream packets are not processed.

4. The multi-channel video communication method of claim 3 , wherein the update condition comprises:

a spatial domain level of a current bit-stream packet is not larger than a spatial domain level corresponding to the maximum display resolution of a client device of the connected client devices;

a time domain level of the current bit-stream packet is not larger than a time domain level corresponding to the maximum frame rate of the client device;

a bit rate of transmission to the client device, which is the sum of a current bit rate and a bit rate increment, is not larger than the maximum available downlink bandwidth of the client device;

a current total output bit rate, which is the sum of a current total bit rate and the bit rate increment, is not larger than the maximum available uplink bandwidth of a local client device;

when the above conditions are met at the same time, setting the priority threshold to be the value of the priority of the current bit-stream packet, updating the current bit rate to be the sum of the current bit rate and the bit rate increment, and updating the current total bit rate to be the sum of the current total bit rate and the bit rate increment.

5. A method for processing multi-channel video communication, comprising:

encoding a video source to generate a scalable original video bit-stream;

obtaining device capabilities and network conditions of a remote client device;

calculating a filter parameter according to the device capabilities and the network condition;

truncating the original video bit-stream according to the filter parameter, obtaining a final video bit-stream and sending the final video bit-stream to the remote client device;

wherein the filter parameter comprises: a priority threshold used in truncating the bit-stream according to priorities of bit-stream packets in the video bit-stream; the priority threshold is calculated according to the device capabilities and the network conditions of the remote client device and parameter information stored in a storing unit; the parameter information is a cyclic queue of information of all bit-stream packets in the latest image group;

wherein the information of the bit-stream packet comprises a priority, a time domain level, a spatial domain level and a bit rate increment; the method further comprises: when encoding each image frame, adding information of all bit-stream packets corresponding to the image into the cyclic queue;

wherein the bit rate increment is R k =l k ×Fps max /GopSize, l k represents the length of a bit-stream packet k, Fps max represents a frame rate corresponding to the maximum time domain level, GopSize represents the number of images included in one image group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2011
From: GU, CHENCHEN
To: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
Reel/Frame 027182/0584 →
Priority Claims (1)
CN 2009 1 0039393 · May 12, 2009 · national
Continuity (1)
Related Publication 20120050457A1 · Mar 1, 2012