Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

A single-chip video compression/decompression (video codec) chip is connected to receive a video input from a NTSC-compatible or PAL-compatible camera and a transmit channel. Video information from the camera or other video input source is compressed by the video codec and transmitted out in compressed form on a transmit channel. Concurrently, compressed video information is input to the video codec from a receive channel, decompressed and output to the monitor or other video output device, e.g., a television set. Only a separate single module of dynamic random access memory (DRAM) is needed to provide storage for incoming and outgoing video data, compressed bit streams and reconstructed pictures for both compression and decompression procedures. The compression of video information is by spatial decorrelation of the intraframe information, and temporal decorrelation of the interframe information. The communication channel bit rate is further...

InventorsBeng-Yu Woo, Xiaoming Li, Vivian Hsiun
Original AssigneeAVC Technology, Inc.
Primary Examiner: Dzung C. Nguyen
Current U.S. Classification712/1; 370/276; 370/278; 370/282; 375/E07.093; 375/E07.094; 375/E07.211
International Classification: G06F 1300

View patent at USPTO
Search USPTO Assignment Database

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5367629Dec 18, 1992Nov 22, 1994ShareVision Technology, Inc.Digital video compression system utilizing vector adaptive transform
US5379351Feb 19, 1992Jan 3, 1995Integrated Information Technology, Inc.Video compression/decompression processing and processors
US5457780Jul 6, 1992Oct 10, 1995System for producing a video-instruction set utilizing a real-time frame differential bit map and microblock subimages
US5541640Apr 19, 1995Jul 30, 1996Videophone for simultaneous audio and video communication via a standard telephone line
US5543939Sep 2, 1994Aug 6, 1996Massachusetts Institute of TechnologyVideo telephone systems

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US5995513Sep 8, 1995Nov 30, 1999SGS-Thomson Microelectronics S.A.Multitask processing system
US6035349Dec 9, 1997Mar 7, 2000Electrolnics and Telecommunications Research InstituteStructure of portable multimedia data input/output processor and method for driving the same
US6040861Oct 10, 1997Mar 21, 2000International Business Machines CorporationAdaptive real-time encoding of video sequence employing image statistics
US6072548Jul 28, 1997Jun 6, 2000LSI Logic CorporationVideo decoder dynamic memory allocation system and method allowing variable decoded image size
US6097757Jan 16, 1998Aug 1, 2000International Business Machines CorporationReal-time variable bit rate encoding of video sequence employing statistics
US6121998Jan 9, 1998Sep 19, 20008.times.8, Inc.Apparatus and method for videocommunicating having programmable architecture permitting data revisions
US6456335Oct 6, 1998Sep 24, 2002Fujitsu LimitedMultiple picture composing method and multiple picture composing apparatus
US6539001Jul 16, 1998Mar 25, 2003NEC CorporationVisual telephone apparatus and data compression multiplexing method therefor as well as recording medium on which data compression multiplexing control program is recorded
US6738424Jul 3, 2000May 18, 2004ObjectVideo, Inc.Scene model generation from video for use in video processing
US6914908Oct 19, 1999Jul 5, 2005SGS-Thomson Microelectronics S.A.Multitask processing system
US7039817Jan 7, 2003May 2, 2006Sun Microsystems, Inc.Method and apparatus for supplying power to a processor at a controlled voltage
US7154948Jan 30, 2001Dec 26, 2006Samsung Electronics Co., Ltd.Video codec system, method for processing data between system and host system, and encoding/decoding control method in the system
US7158571Dec 11, 2001Jan 2, 2007Sony Corporation
Sony Electronics Inc.
System and method for balancing video encoding tasks between multiple processors
US7376185Dec 22, 2003May 20, 2008Video encoding and video/audio/data multiplexing device
US7376186Apr 9, 2003May 20, 2008Thomson LicensingMotion estimation with weighting prediction
US7477691Jan 22, 1999Jan 13, 2009Snell & Wilcox LimitedVideo signal compression
US7606427Dec 21, 2004Oct 20, 2009QUALCOMM IncorporatedEfficient rate control techniques for video encoding
US7634148Dec 27, 2005Dec 15, 2009NTT DoCoMo, Inc.Image signal transforming and inverse-transforming method and computer program product with pre-encoding filtering features
US7672372Feb 24, 2003Mar 2, 2010Intel CorporationMethod and system for data management in a video decoder
US7751480May 13, 2008Jul 6, 2010Video encoding and video/audio/data multiplexing device
US7769274May 6, 2005Aug 3, 2010MediaTek, Inc.Video processing and optical recording using a shared memory
US7778476Oct 21, 2005Aug 17, 2010Maxim Integrated Products, Inc.System and method for transform coding randomization
US7801383May 15, 2004Sep 21, 2010Microsoft CorporationEmbedded scalar quantizers with arbitrary dead-zone ratios
US7903742Apr 9, 2003Mar 8, 2011Thomson LicensingAdaptive weighting of reference pictures in video decoding
US7974340Apr 7, 2006Jul 5, 2011Microsoft CorporationAdaptive B-picture quantization control
US7995649Apr 7, 2006Aug 9, 2011Microsoft CorporationQuantization adjustment based on texture level
US8059721Apr 7, 2006Nov 15, 2011Microsoft CorporationEstimating sample-domain distortion in the transform domain with rounding compensation
US8130828Apr 7, 2006Mar 6, 2012Microsoft CorporationAdjusting quantization to preserve non-zero AC coefficients
US8144785Oct 1, 2010Mar 27, 2012Thomson LicensingAdaptive weighting of reference pictures in video decoding
US8144786Oct 1, 2010Mar 27, 2012Thomson LicensingAdaptive weighting of reference pictures in video decoding
US8144787Oct 1, 2010Mar 27, 2012Thomson LicensingAdaptive weighting of reference pictures in video decoding
US8149924Oct 1, 2010Apr 3, 2012Thomson LicensingAdaptive weighting of reference pictures in video decoding
US8155208Oct 1, 2010Apr 10, 2012Thomson LicensingAdaptive weighting of reference pictures in video decoding
US8184694Feb 16, 2007May 22, 2012Microsoft CorporationHarmonic quantizer scale
US8189933Mar 31, 2008May 29, 2012Microsoft CorporationClassifying and controlling encoding quality for textured, dark smooth and smooth video content
US8238424Feb 9, 2007Aug 7, 2012Microsoft CorporationComplexity-based adaptive preprocessing for multiple-pass video compression
US8243797Mar 30, 2007Aug 14, 2012Microsoft CorporationRegions of interest for quality adjustments

Claims

1. A video codec, comprising:

a single semiconductor chip providing for a video input connection from a camera and a video output connection to a monitor of decompressed data, and a transmit channel and a receive channel of compressed data;
an interface connected to the chip for external connection to a separate frame memory dynamic random access memory (DRAM) and that provides for interim storage of incoming and outgoing video data; and
a video compressor/decompressor disposed fully within the chip and connected to compress video information received from said video input connection for output on said transmit channel, and connected to decompress video information received from said receive channel for output on said video output connection;
wherein, said compression of video information is by spatial de-correlation of intraframe information and temporal decorrelation of interframe information, and said transmit and receive channels have communication channel bit rates reduced by quantization and variable length coding.

2. The video codec of claim 1, wherein:

the video compressor/decompressor includes intraframe coding based on single frame information redundancy, with processing done on blocks of eight-by-eight pixels, and both the luminance and chrominance pixel blocks are transform coded by a discrete cosine transform that changes the pixels from spatial domain to frequency domain.

3. The video codec of claim 2, wherein:

the video compressor/decompressor includes processors for transform coefficients that are arranged in the order of increasing frequency to prepare for run-length coding, a quantizer with adjustable threshold used to increase the zero run to enhance the coding efficiency;
wherein said threshold is determined by a stepsize which can only be changed every n-number of macroblocks; and
wherein, each of a series of frames is reconstructed using an inverse quantization, inverse zigzag operation, inverse discrete cosine transform.

4. The video codec of claim 3, wherein:

the video compressor/decompressor includes an interframe compression process that exploits the high correlations of temporally adjacent frames, and motion estimation of two sequential frames with motion vectors that are then included in an encoded bit stream of said transmit and receive channels.

5. The video codec of claim 1, wherein:

the video compressor/decompressor includes a process for comparing the macroblocks for the current frame at a time "t" with the macroblocks of a previous frame "t-1", and a displacement vector within a defined search window that provides a minimum cost function, which can be as simple as an absolute difference, is the motion vector and is encoded by variable length coding;
wherein, motion estimation is provided for luminance data only, and motion vectors for chrominance data is about one-half of that for luminance data, for a particular macroblock of four luminance blocks and two chrominance blocks, such that a frame at "t-1" is motion-compensated using newly-computed motion vectors for both luminance and chrominance, and a motion-compensated frame "t-1" passed through an optional loop filter, is compared with a current frame "t";
wherein, the difference between a current frame "t" and a reconstructed frame "t-1" is discrete-cosine-transform encoded, processed for zigzag and quantizer, and decoded with the inverse functions, and the decoded differences are added to motion-compensation to form a reconstructed current frame that is used for a motion estimation of the next frame "t+1".

6. The video codec of claim 1, wherein:

the video compressor/decompressor includes decoding that is the opposite of encoding;
wherein a bit stream received on said receive channel is variable-length coded, and the length of each code-word is determined, segmented and decoded;
wherein, a frame start, a group-of-block start and a macroblock start are used for triggers wherein, intra-type macroblocks are decoded using inverse zigzag, inverse quantizer and inverse discrete cosine transform and sent out and stored in said frame memory DRAM;
wherein, inter-type macroblocks include a decoded motion vector used for motion-compensation of a macroblock in a previous frame "t-1", and simultaneously the differences between "t" and "t-1" are decoded using inverse quantizer, zigzag and discrete cosine transform; and
wherein, said decoded differences are added to a motion-compensated macroblock, to reconstruct a macroblock for a current frame "t" and stored in said frame memory DRAM for reconstructing a next frame "t+1".

7. The video codec of claim 1, further comprising:

a framing processor connected between the video compressor/decompressor and each of said transmit channel and receive channel;
wherein the framing processor includes an encoder to generate a forward-error-correction code within an outgoing error-correction-framing pattern in a transmitted bit stream directed to said transmit channel, and further includes a decoder to relock timing when timing lock is lost for an incoming error-correction-framing pattern in a received bit stream from said receive channel.

8. A single-chip video codec for full-duplex communication of thirty frame per second video, comprising:

a single semiconductor integrated circuit (IC) with external connections provided for a dynamic random access memory (DRAM), a video source input, a video output, a transmit communications channel, a receive communications channel and a host buss for initialization and chip status communication;
a memory controller fully disposed on the IC and having a connection to control an external memory module;
resource sharing means fully disposed on the IC and connected to both an encoding bit stream and a decoding bit stream that flow through said external memory module for simultaneous video compression and decompression;
said external memory module provides for segment storage of video compression and decompression frames, a transmit buffer and a receive buffer, and the memory controller includes means for user-programmable segment-storage sizes in said external memory module;
a pipelined discrete cosine transform and quantization (DCTQ) means fully disposed on the IC and for producing one coefficient every two clock cycles in said video bitstreams and including matrix decomposition means for reducing a required number of multiplications and additions, wherein said DCTQ means performs both forward and inverse discrete cosine transform;
motion-prediction means fully disposed on the IC and connected to said bitstreams and having an array of parallel-processing elements and multiport memories providing for full search of motion vectors, and means for accepting user-programmable weights input for motion estimation smoothing, wherein motion-compensated prediction is provided for both compression and decompression, for a type-inter or a type-intra compression decision, and for whether a loop filter should be on, and storage for a user-programmable bias;
an on-chip microcomputer (CPU) fully disposed on the IC and for concurrent processing of said compression and decompression bitstreams with on-chip parameter busses for both address and data which allow addressing and parameter passing;
direct communication channel connection means fully disposed on the IC and connected to said bitstreams and means for assigning different bit rates to said channels wherein spatial and temporal resolutions are automatically adjusted;
host-programmable means in the DCTQ means for adaptive quantization and rate buffer control providing for the optimization of a variety of applications with individual environments, wherein problematic portions of each frame are favored with a disproportionate share of said compressed bitstreams to reduce compression artifact generation;
an on-chip register file fully disposed on the IC and providing for real-time monitoring and control of the compression and decompression of said bitstreams; and
video input and output means for pipelined encoding and decoding of macroblocks of video information providing for a minimization of throughput delays.

9. A video codec, comprising:

a single semiconductor chip providing for a video input connection from a camera and a video output connection to a monitor of decompressed data, and a transmit channel and a receive channel of compressed data;
an interface connected to the chip for external connection to a separate frame memory dynamic random access memory (DRAM) and provides for interim storage of incoming and outgoing video data;
a video compressor/decompressor disposed fully within the chip and connected to compress video information received from said video input connection to be output on said transmit channel, and connected to decompress video information received from said receive channel to be output on said video output connection;
wherein, said compression of video information is by spatial de-correlation of intraframe information, and temporal decorrelation of interframe information, and said transmit and receive channels have communication channel bit rates reduced by quantization and variable length coding;
wherein, the video compressor/decompressor includes intraframe coding that uses the redundancy of information within a single frame, the processing is done on blocks of eight-by-eight pixels, and both the luminance and chrominance pixel blocks are transform coded by a discrete cosine transform that changes the pixels from spatial domain to frequency domain;
wherein, the video compressor/decompressor includes transform coefficients that are arranged in the order of increasing frequency to prepare for run-length coding, a quantizer with adjustable threshold used to increase the zero run to enhance the coding efficiency;
wherein, said threshold is determined by a stepsize which can only be changed every n-number of macroblocks; and
wherein, each of a series of frames is reconstructed using an inverse quantization, an inverse zigzag operation, and an inverse discrete cosine transform.

10. The video codec of claim 9, wherein:

the video compressor/decompressor includes interframe compression that exploits the high correlations of temporally adjacent frames, and motion estimation of two sequential frames with motion vectors that are then included in an encoded bit stream of said transmit and receive channels.

11. A video codec, comprising:

a single semiconductor chip providing for a video input connection from a camera and a video output connection to a monitor of decompressed data, and a transmit channel and a receive channel of compressed data;
an interface connected to the chip for external connection to a separate frame memory dynamic random access memory (DRAM) and provides for interim storage of incoming and outgoing video data;
a video compressor/decompressor disposed fully within the chip and connected to compress video information received from said video input connection to be output on said transmit channel, and connected to decompress video information received from said receive channel to be output on said video output connection;
wherein, said compression of video information is by spatial de-correlation of intraframe information, and temporal decorrelation of interframe information, and said transmit and receive channels have communication channel bit rates reduced by quantization and variable length coding;
wherein, the video compressor/decompressor compares the macroblocks for the current frame at a time "t" with the macroblocks of a previous frame "t-1", and a displacement vector within a defined search window that provides a minimum cost function, which can be as simple as an absolute difference, is the motion vector and is encoded by variable length coding;
wherein, motion estimation is provided for luminance data only, and motion vectors for chrominance data is about one-half of that for luminance data, for a particular macroblock of four luminance blocks and two chrominance blocks, such that a frame at "t-1" is motion-compensated using newly-computed motion vectors for both luminance and chrominance, and a motion-compensated frame "t-1" passed through an optional loop filter, is compared with a current frame "t"; and
wherein, the difference between a current frame "t" and a reconstructed frame "t-1" is discrete-cosine-transform encoded, processed for zigzag and quantizer, and decoded with the inverse functions, and the decoded differences are added to motion-compensation to form a reconstructed current frame that is used for a motion estimation of the next frame "t+1".

12. A video codec, comprising:

a single semiconductor chip providing for a video input connection from a camera and a video output connection to a monitor of decompressed data, and a transmit channel and a receive channel of compressed data;
an interface connected to the chip for external connection to a separate frame memory dynamic random access memory (DRAM) and provides for interim storage of incoming and outgoing video data;
a video compressor/decompressor disposed fully within the chip and connected to compress video information received from said video input connection to be output on said transmit channel, and connected to decompress video information received from said receive channel to be output on said video output connection;
wherein, said compression of video information is by spatial de-correlation of intraframe information, and temporal decorrelation of interframe information, and said transmit and receive channels have communication channel bit rates reduced by quantization and variable length coding;
wherein, the video compressor/decompressor includes decoding that is the opposite of encoding;
wherein a bit stream received on said receive channel is variable-length coded, and the length of each code-word is determined, segmented and decoded;
wherein, a frame start, a group-of-block start and a macroblock start are used for triggers;
wherein, intra-type macroblocks are decoded using inverse zigzag, inverse quantizer and inverse discrete cosine transform and sent out and stored in said frame memory DRAM;
wherein, inter-type macroblocks include a decoded motion vector used for motion-compensation of a macroblock in a previous frame "t-1", and simultaneously the differences between "t" and "t-1" are decoded using inverse quantizer, zigzag and discrete cosine transform; and
wherein, said decoded differences are added to a motion-compensated macroblock, to reconstruct a macroblock for a current frame "t" and stored in said frame memory DRAM for reconstructing a next frame "t+1".