Delay reduction for transmission and processing of video data
First Claim
1. A method of reducing delay of a video communication network supporting a plurality of sources, the method comprising:
- receiving a compressed video data stream from an originating source;
decoding the compressed video data stream one chunk at a time to create a series of decoded chunks;
routing each decoded chunk as it is created over a common interface to an output module without waiting to decode an entire frame;
writing the decoded chunks in a memory;
retrieving encoder chunks from the memory independently from the writing;
encoding each encoder chunk; and
transmitting encoded encoder chunks as created to a target end unit without waiting to encode the entire frame.
6 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a method and system for reducing delay in video communication, including, for example, video transcoding and continuous presence in a multipoint multimedia conference. The video communication control unit reduces such delay by processing a video stream in a small number of macroblocks referred to as “chunks,” without waiting to get a full frame of video data. Instead, the incoming video stream is converted into decoded chunks. These decoded chunks are transferred to an output module without waiting to decode an entire frame. An encoder in the output module encodes the decoded chunks (also referred to as encoder chunks), and transfers them to an end user without waiting for the entire frame to be processed. Thus, reducing the delay in waiting for the entire frame of video data provides improved real-time video communication.
-
Citations
15 Claims
-
1. A method of reducing delay of a video communication network supporting a plurality of sources, the method comprising:
-
receiving a compressed video data stream from an originating source;
decoding the compressed video data stream one chunk at a time to create a series of decoded chunks;
routing each decoded chunk as it is created over a common interface to an output module without waiting to decode an entire frame;
writing the decoded chunks in a memory;
retrieving encoder chunks from the memory independently from the writing;
encoding each encoder chunk; and
transmitting encoded encoder chunks as created to a target end unit without waiting to encode the entire frame.
-
-
2. A method of processing an incoming compressed data stream in an input module to improve real-time performance of a video communication system, comprising:
-
receiving an incoming compressed video data stream;
converting segments of the incoming compressed video data stream into decoded chunks as the segments are received;
storing pixel data corresponding to each decoded chunk in memory; and
outputting a decoded chunk while still processing other segments of a frame of the incoming compressed video data stream to which the decoded chunk belongs. - View Dependent Claims (3, 4, 5, 6, 7, 8)
-
-
9. A method of processing uncompressed video data in a video communication system, the uncompressed video data being available on an interface shared by a plurality of data input modules that place data onto the interface and a plurality of data output modules that extract data from the interface, the method providing an improvement in the real-time performance of the video communication system, the method comprising:
-
retrieving a chunk of the uncompressed video data from the interface, the chunk of the uncompressed video data comprising a portion of a video frame;
placing the chunk of the uncompressed video data into a memory element;
reading the chunk of the uncompressed video data from the memory element;
compressing the chunk of the uncompressed video data to create a compressed video data chunk; and
outputting the compressed video data chunk while a subsequent chunk of the uncompressed video data of the video frame is compressed. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A video processing system with improved real-time performance in processing video data streams, the video processing system comprising:
-
a common interface;
at least one video input module coupled to the common interface, each of the at least one video input module being communicatively coupled to a source endpoint and being operative to receive a compressed video input stream comprised of chunks from the endpoint, to decode the compressed video input stream as each chunk is received, and to transfer chunks of uncompressed data to the common interface before a full frame of uncompressed data is accumulated; and
at least one video output module coupled to the common interface, each of the at least one video output module being communicatively coupled to a target endpoint and being operative to receive the chunks of uncompressed data from the common interface, to encode the chunks of uncompressed data to create chunks of compressed video data, and to output the chunks of compressed video data for transmission to the target endpoint before a full frame of compressed video data is accumulated.
-
Specification