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.
22 Citations
14 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)
-
Specification