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

Patents

A video compression system and method for compressing video data for transmission or storage by reducing the temporal redundancy in the video data is described. A frame of video data is divided into a variable number of blocks of pixel data of varying size, and each block of data is compared to a window of pixel data in a reference frame of pixel data, typically the previous frame. A best matched block of pixel data is selected from the window of pixel data in the reference frame, and a displacement vector is assigned to describe the selected block location in the reference frame relative to the current block of pixel data. The number and size of the blocks of pixel data are permitted to vary, in order to adapt to motion discontinuities in the sequential frames of pixel data. This is to allow prediction blocks of pixel data in the current frame to be smaller in areas of high activity, while maintaining high levels of compression, achieved by using larger prediction blocks, in areas...

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US4179709Jan 10, 1978Dec 18, 1979Bell & Howell CompanyVideo information bandwidth compression
US4293920Sep 4, 1979Oct 6, 1981Two-dimensional transform processor
US4504860Jul 15, 1982Mar 12, 1985British TelecommunicationsMethod and process for transmitting an image
US4774574Jun 2, 1987Sep 27, 1988Eastman Kodak CompanyAdaptive block transform image coding method and apparatus
US4776030Mar 28, 1986Oct 4, 1988GTE Laboratories IncorporatedBlock quantizer for transform coding
US4796087Jun 1, 1987Jan 3, 1989Process for coding by transformation for the transmission of picture signals
US4807042Jan 27, 1987Feb 21, 1989Fuji Photo Film Co., Ltd.Method of image signal encoding by orthogonal transformation
US4816906Aug 31, 1987Mar 28, 1989AEG AktiengesellschaftMethod for motion-compensated frame-to-frame prediction coding
US4821119May 4, 1988Apr 11, 1989Bell Communications Research, Inc.Method and apparatus for low bit-rate interframe video coding
US4922341Sep 26, 1988May 1, 1990Siemens AktiengesellschaftMethod for scene-model-assisted reduction of image data for digital television signals
US4924309Aug 23, 1988May 8, 1990Deutche Thomson-Brandt GmbHMethod and circuit arrangement for improving the resolution of the coefficients of digital signals, particularly digital TV signals
US4984076Jul 26, 1989Jan 8, 1991Kabushiki Kaisha ToshibaImage compression coding system
US5021891Feb 27, 1990Jun 4, 1991Qualcomm, Inc.Adaptive block size image compression method and system
US5045938Jul 24, 1990Sep 3, 1991Victor Company of Japan, Ltd.Method and apparatus for encoding using variable length codes
US5073820Oct 23, 1990Dec 17, 1991Olympus Optical Co., Ltd.Image data coding apparatus and coding method
US5107345May 28, 1991Apr 21, 1992Qualcomm IncorporatedAdaptive block size image compression method and system
US5126857May 29, 1990Jun 30, 1992Fuji Photo Film Co., Ltd.Device for coding a picture signal by compression
US5151784Apr 30, 1991Sep 29, 1992AT&T Bell LaboratoriesMultiple frame motion estimation
US5235419Oct 24, 1991Aug 10, 1993General Instrument CorporationAdaptive motion compensation using a plurality of motion compensators

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US5731835Feb 26, 1996Mar 24, 1998David Sarnoff Research Center, Inc.Dynamic coding rate control in a block-based video coding system
US5748788Aug 28, 1996May 5, 1998Cannon Kabushiki KaishaImage processing method and apparatus
US5754240Oct 1, 1996May 19, 1998Matsushita Electric Industrial Co., Ltd.Method and apparatus for calculating the pixel values of a block from one or two prediction blocks
US5764921Oct 26, 1995Jun 9, 1998Motorola
Northwestern University
Method, device and microprocessor for selectively compressing video frames of a motion compensated prediction-based video codec
US5809174Oct 15, 1996Sep 15, 1998C-Cube MicrosystemsDecompression processor for video applications
US5838827Oct 27, 1995Nov 17, 1998Graphics Communication LaboratoriesApparatus and method for searching motion vector
US5883674Aug 15, 1996Mar 16, 1999Sony CorporationMethod and apparatus for setting a search range for detecting motion vectors utilized for encoding picture data
US5903673Mar 14, 1997May 11, 1999Microsoft CorporationDigital video signal encoder and encoding method
US5936670May 19, 1997Aug 10, 1999U.S. Philips CorporationMethod and device for decoding coded digital video signals
US5946425Jun 3, 1996Aug 31, 1999Massachusetts Institute of TechnologyMethod and apparatus for automatic alingment of volumetric images containing common subject matter
US6008847Mar 3, 1997Dec 28, 1999Connectix CorporationTemporal compression and decompression for video
US6023296Jun 15, 1998Feb 8, 2000Sarnoff CorporationApparatus and method for object based rate control in a coding system
US6031573Oct 31, 1996Feb 29, 2000Sensormatic Electronics CorporationIntelligent video information management system performing multiple functions in parallel
US6058210Sep 15, 1997May 2, 2000Xerox CorporationUsing encoding cost data for segmentation of compressed image sequences
US6084908Oct 23, 1996Jul 4, 2000Sarnoff Corporation
Sharp Corporation
Apparatus and method for quadtree based variable block size motion estimation
US6101220Jul 24, 1997Aug 8, 2000Victor Company of Japan, Ltd.Method and apparatus for limiting band of moving-picture signal
US6115420May 5, 1997Sep 5, 2000Microsoft CorporationDigital video signal encoder and encoding method
US6118817Mar 14, 1997Sep 12, 2000Microsoft CorporationDigital video signal encoder and encoding method having adjustable quantization
US6160846Oct 23, 1996Dec 12, 2000Sarnoff Corporation
Sharp Corporation
Apparatus and method for optimizing the rate control in a coding system
US6192081Oct 26, 1995Feb 20, 2001Sarnoff CorporationApparatus and method for selecting a coding mode in a block-based coding system
US6243497Feb 11, 1998Jun 5, 2001Sarnoff CorporationApparatus and method for optimizing the rate control in a coding system
US6317459Aug 25, 2000Nov 13, 2001Microsoft CorporationDigital video signal encoder and encoding method
US6320906May 20, 1997Nov 20, 2001Matsushita Electric Industrial Co., Ltd.Motion vector detecting circuit
US6349152Jun 30, 1997Feb 19, 2002Microsoft CorporationTable-based compression with embedded coding
US6356665Dec 9, 1998Mar 12, 2002Sharp Laboratories of America, Inc.Quad-tree embedded image compression and decompression method and apparatus
US6404923Mar 29, 1996Jun 11, 2002Microsoft CorporationTable-based low-level image classification and compression system
US6473461Apr 4, 2000Oct 29, 2002Microsoft CorporationHalf-pixel motion estimation in motion video signal encoding
US6510249May 8, 2000Jan 21, 2003Matsushita Electric Industrial Co., Ltd.Object-base digital image predictive coding transfer method and apparatus, and decoding apparatus
US6529613May 26, 1999Mar 4, 2003Princeton Video Image, Inc.Motion tracking using image-texture templates
US6539122Mar 30, 1998Mar 25, 2003General Dynamics Decision Systems, Inc.Adaptive wavelet coding of hyperspectral imagery
US6560364Oct 11, 2002May 6, 2003Matsushita Electric Industrial Co., Ltd.Object-based digital image predictive coding transfer method and apparatus, and decoding apparatus
US6571016May 5, 1997May 27, 2003Microsoft CorporationIntra compression of pixel blocks using predicted mean
US6584226Mar 14, 1997Jun 24, 2003Microsoft CorporationMethod and apparatus for implementing motion estimation in video compression
US6639945Jan 12, 2001Oct 28, 2003Microsoft CorporationMethod and apparatus for implementing motion detection in video compression
US6687408Mar 14, 2003Feb 3, 2004Matsushita Electric Industrial Co., Ltd.Object-based digital image predictive coding transfer method and apparatus
US6690833Jun 18, 1998Feb 10, 2004Sarnoff CorporationApparatus and method for macroblock based rate control in a coding system
US6707852Aug 31, 2000Mar 16, 2004Microsoft CorporationDigital video signal encoder and encoding method
US6741725Dec 10, 2002May 25, 2004Princeton Video Image, Inc.Motion tracking using image-texture templates
US6914939Nov 13, 2000Jul 5, 2005International Business Machines CorporationMethod and apparatus for producing pseudo-constant bits per picture video bit-streams for low-delay compression system
US6937657Mar 16, 2004Aug 30, 2005Microsoft CorporationMotion video signal encoder and encoding method
US6968396Jul 26, 2001Nov 22, 2005Openwave Systems Inc.Reloading of hypermedia pages by sending only changes
US6972868Nov 9, 2000Dec 6, 2005Hewlett-Packard Development Company, L.P.Image data compression method
US7039110Jul 1, 2002May 2, 2006Koninklijke Philips Electronics N.V.Methods of and units for motion or depth estimation and image processing apparatus provided with such motion estimation unit
US7072396Mar 16, 2004Jul 4, 2006Microsoft CorporationMotion video signal encoder and encoding method
US7139313Jun 1, 2005Nov 21, 2006Microsoft CorporationDigital video signal encoder and encoding method
US7154951Mar 16, 2004Dec 26, 2006Microsoft CorporationMotion video signal encoder and encoding method
US7162091Mar 31, 2003Jan 9, 2007Microsoft CorporationIntra compression of pixel blocks using predicted mean
US7170934Dec 20, 2002Jan 30, 2007LSI Logic CorporationMethod and/or apparatus for motion estimation using a hierarchical search followed by a computation split for different block sizes
US7181072Mar 31, 2003Feb 20, 2007Microsoft CorporationIntra compression of pixel blocks using predicted mean
US7203369May 22, 2003Apr 10, 2007Samsung Electronics Co., Ltd.Method for estimating motion by referring to discrete cosine transform coefficients and apparatus therefor
US7372903Sep 22, 1999May 13, 2008MediaTek, Inc.Apparatus and method for object based rate control in a coding system
US7397857Mar 16, 2001Jul 8, 2008Robert Bosch GmbHMethod for transformation-coding full motion image sequences
US7424058Sep 28, 2000Sep 9, 2008Autodesk, Inc.Variable bit-rate encoding
US7606310Apr 14, 2008Oct 20, 2009On2 Technologies, Inc.Video compression and encoding method
US7643559Sep 12, 2002Jan 5, 2010NTT DoCoMo, Inc.Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program
US7715479Jul 21, 2003May 11, 2010International Business Machines CorporationPower-aware on-chip memory management for video coding algorithms
US7792188Mar 1, 2005Sep 7, 2010Apple Inc.Selecting encoding types and predictive modes for encoding video data
US7852916Mar 1, 2005Dec 14, 2010Apple Inc.Efficient use of storage in encoding and decoding video data streams
US7856149Jul 29, 2003Dec 21, 2010QUALCOMM IncorporatedDigital image encoding
US7940844Feb 21, 2003May 10, 2011Qualcomm IncorporatedVideo encoding and decoding techniques
US8018994Jul 26, 2010Sep 13, 2011Apple Inc.Selecting encoding types and predictive modes for encoding video data
US8081678Feb 18, 2004Dec 20, 2011Panasonic CorporationPicture coding method and picture decoding method
US8111752Apr 28, 2005Feb 7, 2012Apple Inc.Encoding mode pruning during video encoding
US8194730Sep 8, 2010Jun 5, 2012Apple Inc.Efficient use of storage in encoding and decoding video data streams
US8194987Aug 22, 2007Jun 5, 2012QUALCOMM IncorporatedDigital image encoding

Claims

1. An interframe video compression system comprising:

a first motion predictor having an input for receiving a block of pixel data and having an output for providing a first image prediction;
a first distortion calculator having a first input for receiving said block of pixel data and having a second input for receiving said first image prediction and having an output for providing a first distortion value;
at least one additional motion predictor provided in parallel with said first motion predictor having an input for receiving said block of pixel data and having an output for providing additional image predictions;
a second distortion calculator having a first input for receiving said block of pixel data and having a second input for receiving said additional image predictions and having a first output for providing a second distortion value;
an encoding format selector having a first input coupled to said first distortion calculator output and having a second input coupled to said second distortion calculator output and having an output for providing a selected encoding format; and
encoder having a first input coupled to said encoding format selector output and having an output for providing a selectively encoded residual frame, having a second input for receiving a first displaced frame difference generated in accordance with said first image prediction and having a third input for receiving a second displaced frame difference generated in accordance with said second image prediction and for selectively encoding said first displaced frame difference and said second displaced frame difference in accordance with said selected encoding format.

2. The system of claim 1 wherein said first motion predictor compares an N.times.N block of pixel data, where N is an integer, with N.times.N blocks of pixel data in a first reference block of data.

3. The system of claim 2 wherein said first motion predictor compares a 32.times.32 block of pixel data with 32.times.32 blocks of pixel data in a first reference block of data.

4. The system of claim 2 wherein said at least one additional motion predictor compares N/2.times.N/2 sub-blocks of pixel data with N/2.times.N/2 sub-blocks of data in said additional reference blocks of data.

5. The system of claim 1 wherein said first motion predictor has a second input for receiving a first reference block of data comprising pixel data from a previous frame of pixel data.

6. The system of claim 1 wherein said first motion predictor has a second input for receiving a combination block of data determined in accordance with previous frames of pixel data.

7. The system of claim 1 wherein said first motion predictor has a second output for providing a first motion vector.

8. The system of claim 1 wherein said at least one additional motion predictor has a second output for providing additional motion vectors.

9. The system of claim 1 further comprising a weighting value multiplier disposed between said first distortion calculator and said encoding format selector.

10. An interframe video compression system comprising:

first motion compensation means for receiving a block of video data and for comparing said block of video data with blocks of pixel data of a first block size to provide displaced frame difference (DFD) blocks, and for measuring distortion values for said DFD blocks, and for selecting a most similar block of pixel data of said first block size in accordance with said distortion values for said DFD blocks to provide a first motion vector, a first DFD block and a first distortion value;
additional motion compensation means for receiving said block of video data and for comparing said block of video data with a plurality blocks of pixel data of a second block size to provide second DFD blocks, and for measuring distortion values for said second DFD blocks, and for selecting a set of most similar block of pixel data of said second block size in accordance with said distortion values for said second DFD blocks to provide a set of additional motion vectors, a set of additional second DFD blocks, and a second distortion value;
decision means for comparing said first distortion value and said second distortion value and for selecting an encoding format in accordance with said comparison; and
encoding means for selectively encoding said first motion vector and said first DFD block and said set of additional motion vectors and said second DFD blocks in accordance with said selected encoding format.

11. The system of claim 10 wherein said block of video data is an N.times.N block where N is an integer, and wherein said first block size is N.times.N.

12. The system of claim 11 wherein said block of video data is a 32.times.32 block and wherein first block size is 32.times.32.

13. The system of claim 11 wherein said second block size is N/2=N/2.

14. The system of claim 10 wherein said blocks of pixel data of a first block size comprise pixel data from a previous frame of pixel data.

15. The system of claim 10 wherein said blocks of pixel data of a first block size are combinations of pixel data from previous frames of pixel data.

16. The system of claim 10 wherein said decision means performs said comparison responsive to a weighting format.

17. The system of claim 10 further comprising a weighting means for receiving said additional distortion value by a predetermined weighting format.

18. An interframe video compression method for compressing a block of video data comprising the steps of:

comparing said block of video data with blocks of pixel data of a first block size to provide displaced frame difference (DFD) blocks;
measuring distortion values for said DFD blocks;
selecting a most similar block of pixel data of said first block size in accordance with said distortion values to provide a first motion vector, a first DFD block and a first distortion value;
comparing said block of video data with a plurality blocks of pixel data of a second block size to provide additional DFD blocks;
measuring distortion values for said DFD blocks;
selecting a set of most similar block of pixel data of said second block size in accordance with said distortion values for said additional DFD blocks to provide a set of additional motion vectors, a set of additional DFD blocks and a second distortion value;
selecting an encoding format in accordance with said first distortion value and said second distortion value; and
selectively encoding said first motion vector and said first DFD block and said set of additional motion vectors and said set of additional DFD blocks in accordance with said selected encoding format.

19. The method of claim 18 wherein said block of video data is an N.times.N block, where N is an integer, and wherein said first block size is N.times.N.

20. The method of claim 19 wherein said block of video data is a 32.times.32 block and wherein first block size is 32.times.32.

21. The method of claim 19 wherein said second block size is N/2.times.N/2.

22. The method of claim 18 wherein said blocks of pixel data of a first block size comprise pixel data from a previous frame of video data.

23. The method of claim 18 wherein said blocks of pixel data of a first block size are combinations of blocks of data from previous frames of video data.

24. The method of claim 18 further comprising the step of weighting said additional distortion value by a predetermined weighting format.