WO2000027128A1 - Methods and apparatus for improved motion estimation for video encoding - Google Patents
Methods and apparatus for improved motion estimation for video encoding Download PDFInfo
- Publication number
- WO2000027128A1 WO2000027128A1 PCT/US1999/025707 US9925707W WO0027128A1 WO 2000027128 A1 WO2000027128 A1 WO 2000027128A1 US 9925707 W US9925707 W US 9925707W WO 0027128 A1 WO0027128 A1 WO 0027128A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- mad
- frequency domain
- computed
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
Definitions
- the present invention relates generally to improvements in video encoding, for example, the encoding employed in such encoding standards as MPEG- 1 , MPEG-2. H.261 , H.263, and motion estimation. More particularly, it relates to advantageous techniques for applying frequency domain analysis to motion estimation.
- MPEG moving pictures expert group
- MPEG-1 ISO 1 1 172-2
- MPEG-2 ISO 13818-2
- image processing techniques employ image processing techniques at multiple levels.
- a "frame" is an X by Y image of pixels, or picture elements. Each pixel represents the smallest discrete unit in an image.
- the "pixel”, in MPEG usage, consists of three color components, one luminance and two chrominance values, Y, Cb, and Cr, respectively. Each frame is subdivided into 16x16
- macroblocks of pixels.
- a grouping of macroblocks is called a “slice”.
- Each macroblock is further sub-divided into 8x8 "blocks" of pixels.
- a macroblock is typically comprised of four luminance (Y) and two or more chrominance (Cb and C r ) blocks.
- Y luminance
- Cb and C r chrominance
- a more detailed description of luminance and chrominance is included in the MPEG-1 and MPEG-2 specifications.
- a sequence of frames ultimately makes up a video sequence.
- DCT discrete cosine transform
- 2D-DCT two dimensional discrete cosine transform
- quantization has the effect of deemphasising or eliminating visual components of the block with high spatial frequencies not normally visible to the human visual system, thus reducing the volume of data needed to represent the block.
- the quantization values used by the MPEG protocols are in the form of a quantization scale factor, included in the encoded bitstream, and the quantization tables. There are default tables included in the MPEG specification.
- MV motion vector
- I-frames are encoded in their entirety. All of the information to completely decode an I-frame is contained within its encoding. I-frames can be used as the first frame in a video sequence, as the first frame of a new scene in a video sequence, as reference frames described further below, as refresh frames to prevent excessive error build-up, or as error-recovery frames, for example, after incoming bitstream corruption. They can also be convenient for special features such as fast forward and fast reverse.
- P-frames depend on one previous frame.
- This previous frame is called a reference frame, and may be the previous I-frame, or P-frame, as shown below.
- An MV associated with each macroblock in the P-frame points to a similar macroblock in the reference frame.
- the referenced macroblock is used as the starting point for the macroblock being decoded.
- a, preferably small, difference macroblock may be applied to the referenced macroblock.
- a search is performed in the previous reference frame for a similar macroblock. Once a good match is found, the reference macroblock pixel values are subtracted from the current macroblock pixel values. This subtraction results in a difference macroblock. Also, the position of the reference macroblock relative to the current macroblock is recorded as an MV. The MV is encoded and included in the encoder's output. This processing is followed by the DCT computation and quantization of the blocks comprising the difference macroblock. To decode the P-frame macroblock, the macroblock in the reference frame indicated by the MV is retrieved. Then, the difference macroblock is decoded and added to the reference macroblock. The result is the original macroblock values, or values very close thereto. Note that the MPEG encoding and decoding processes are categorized as lossy compression and decompression, respectively.
- B-frames depend on two reference frames, one in each temporal direction. Each MV points to a similar macroblock in each of the two reference frames. In the case of B-frames, the two referenced macroblocks are averaged together before any difference information is added in the decoding process. Per the MPEG standard, B-frame is not used as a reference frame. The use of B-frames normally results in a more compact representation of each macroblock.
- a typical ordering of frame types would be I], B 2 , B 3 , P 4 , B 5 , B 6 , P 7 , B 8 , B 9 , I ⁇ 0 , and so on.
- This temporal ordering is also the display ordering produced by the MPEG decoder.
- the encoded ordering of these frames, found in an MPEG bitstream, is typically different: I ls P 4 , B 2 , B 3 , P 7 , B 5 , B 6 , I ⁇ 0> B 8 , B , and so forth.
- the first frame is always an I-frame. As mentioned above, an I- frame has no temporal dependencies upon other frames, therefore an I-frame contains no MVs.
- the second frame to be decoded is P 4 . It consists of MVs referencing Ii and differences to be applied to the referenced macroblocks. After completion of the decoding of this frame, it is not displayed, but first held in reserve as a reference frame for decoding B 2 and B 3 , then displayed, and then used as a reference frame for decoding B 5 and B 6 .
- the third frame to be decoded is B 2 . It consists of pairs of MVs for each macroblock that reference Ii and P 4 as well as any difference information. Upon completion of the decoding of B 2 , it is ready for display. The decoding then proceeds to B 3 . B 3 is decoded in the same manner as B 2.
- B 3 's MVs reference I] and P 4 .
- B 3 is then displayed, followed by the display of P .
- P 4 then becomes the backward-reference frame for the next set of frames. Decoding continues in this fashion until the entire set of frames, or video sequence, has been decoded and displayed.
- a video sequence generally approximates the appearance of smooth motion.
- a given block of pixels in a given frame will be similar in content to one or more spatially proximate blocks in a range of temporally proximate frames.
- the positions of blocks that exhibit the greatest similarity across a number of temporally adjacent frames is very likely to be approximately spatially linear with respect to a fixed reference such as the common origin of the frames.
- the process of identifying the positions of such similar blocks across a range of frames is referred to as motion estimation.
- the spatial relationship among such blocks is referred to as the motion vector.
- the measure of similarity between blocks has been represented by the pixel-wise sum or mean of the absolute differences (SAD or MAD, respectively) between the given macroblock and the reference macroblock or macroblocks.
- the SAD is defined as the sum of the absolute value of the differences between the spatially collocated pixels in the given macroblock and the reference macroblock.
- the MAD can be determined by computing the SAD, then dividing by the number of pixels in the given macro block, for example, 256 in a 16x 16 macroblock.
- SD-MAD the prior art spatial domain mean of absolute differences
- SD-SAD prior art spatial domain sum of absolute differences
- Much of the computational effort expended by the typical MPEG encoder is used in locating macroblocks of pixels, within a window of macroblocks, in the reference frame or frames that yield the least SD-SAD or the least SD-MAD for a given macroblock.
- Large search window sizes are needed to compress fast motion such as might be found in a video sequence of a sporting event.
- the MPEG protocol represents an image in the frequency domain using DCT processing with quantization for compression reasons, yet motion estimation is typically performed in the spatial-domain.
- block matching algorithms are readily found in the literature. These algorithms typically use an SD-MAD or an SD-SAD computation.
- the MAD statistic is used, but can readily be substituted by the SAD.
- the relationship between the two is one of a single constant. In other words, this constant is the number of values being considered, such as 256 for an MPEG macroblock.
- Spatial-domain similarity analysis has as a basic assumption that the SD-MAD of two pixel macroblocks correlates with the volume of data required to represent the 2D-DCT of the difference between the blocks.
- Figs. 1 A and IB show a pair of pixel blocks: a reference block 10 and a sample block 12. These blocks 10 and 12 are represented by the below values:
- the SD-MAD is 94.
- spatial-domain similarity such as SD-MAD
- SD-MAD is not always the best criterion from which to determine good reference-difference block pairs for motion estimation. While pairs that exhibit great spatial-domain similarity can very likely yield minimal difference blocks under variable length coding, such analysis can miss pairs that exhibit far better compression.
- the present invention recognizes that the spatial-domain measurement of the prior art is not necessarily ideal, and it provides an advantageous alternative criterion and a method of implementation that typically achieves better results than an SD-MAD or an SD-SAD approach. As further addressed below, the approach of the present invention is also significantly less computation intensive. Summary of the Invention
- One aspect of a motion estimation and compensation process and apparatus in accordance with the present invention is the minimization of the volume of data in the frequency domain, as contrasted with the spatial domain, needed to describe the difference between two blocks. Additionally, in accordance with the present invention, inspection can be performed at the level of the quantized 2D-DCTs of the blocks and not at the level of the pixel blocks. Moreover, a smaller number of values need be inspected in the frequency domain, whereas all of the spatial domain values must be included in the typical spatial domain analysis. Blocks that will be missed by spatial -domain analysis will be identified. Better compression and faster computation thereby may be achieved.
- Figs. 1 A and IB illustrate exemplary reference and sample blocks having little spatial- domain similarity
- Figs. 2A and 2B illustrate exemplary reference and sample blocks that are very similar to one another except for a positional shift
- Figs. 3 A and 3B show a pair of pixel blocks, each of which is of a single constant luminance superimposed with moderate normally-distributed high-frequency noise;
- Figs. 4A and 4B illustrate suitable processing systems for carrying out the present invention
- Fig. 5 A illustrates an MPEG encoder including a spatial domain motion estimation function
- Fig. 5B illustrates an MPEG encoder including a frequency domain motion estimation function in accordance with the present invention
- Fig. 6 illustrates an improved motion estimation process in accordance with the present invention.
- zigzag scan ordering For increased compression in conjunction with the run length encoding used in the MPEG protocol, a zigzag scan ordering is used.
- One of the two zigzag scan orderings is shown in the following table:
- FD-MAD frequency domain mean of absolute differences
- FD-SAD frequency domain sum of absolute differences
- the DC-coefficient the coefficient in the 0,0 position of the DCT results, must always be encoded by itself. Consequently, the DC-coefficient can be excluded in the computation of the FD-MAD.
- the first example in this text compared an all-black block to an all-white block.
- the FD-MAD of the difference of these two blocks, using all 64 values, is 4. Removing the DC-coefficient from the FD-MAD computation would yield an FD-MAD of zero. This would indicate a very good frequency domain match.
- This method would also use a variable or adaptive number of coefficients for the FD-MAD or FD-SAD computation.
- An alternative method for measuring possible matches, possibly leading to better compression, would be to count the number of non-zero entries while computing the FD-MAD. This count would indicate the number of symbols representing non-zero AC coefficients that would need to be encoded and appended to the video-bitstream.
- the number of frequency or AC-coefficients that would need to be encoded is zero.
- EOB end-of-block
- FIG. 2A and 2B depict a pair of blocks 20 and 22 representing portions of an image of a point-illuminated sphere.
- the center of the projection of the sphere is in the upper left corner of the block.
- the center has been moved two pixels down and to the right.
- the quantized DCTs of these blocks are:
- the zigzag quantized DCT of the spatial-domain difference is:
- frequency domain analysis has a demonstrated ability to identify a reference- difference pair that spatial domain analysis might have missed. Moreover, a comparison of only the first 16 coefficients would have produced a similar result.
- Figs. 3 A and 3B show a pair of pixel blocks 30 and 32, each of which is of a single constant luminance superposed with moderate normally-distributed high- frequency noise.
- the reference block 30 has a nominal intensity of 52 (averaging 57 due to small-sample effects) while the sample block 32 has an intensity of 220 (actually averaging 221). While these blocks bear very little visual resemblance to each other, the spatial domain MAD is 164, their respective quantized DCTs are:
- Fig.4A illustrates a processing system 100, suitable for implementing the present invention.
- System 100 includes a system processor 110, system RAM 120, program memory 130, an input storage mechanism 140 which operates as a source of frames to be processed, a frequency domain MPEG 2 encoder 150, and an MPEG encoded output mechanism 160.
- Output mechanism 160 may suitably comprise a network adapter or modem 163 and an output storage mechanism 166 as shown in Fig. 4A, or may be suitably adapted as desired for a given application.
- the source of frames 140 provides frames to the frequency domain encoder 150 which provides its output on a system bus to either the network adapter or modem 163 or storage 166.
- SD-MAD encoding of an exemplary video sequence required 119.31 CPU seconds to encode.
- FD-MAD encoding of the same exemplary sequence in accordance with the present invention required only 40.85 CPU seconds so that for this exemplary sequence, the approach of the present invention was 2.92 times faster.
- the encoded SD-MAD MPEG-2 sequence for this example is 326,982 bytes.
- the encoded FD-MAD sequence is 322,321 bytes for a reduction of 4661 bytes, or, as a percentage, the FD-MAD sequence is 1.4%, smaller.
- the present invention may also be embodied in a ManArray architecture such as processing system 200 shown in Fig. 4B.
- the processing system 200 includes a ManArray processor 210, program memory 220, local memory 230, an input storage mechanism 240 which operates as a source of frames to be processed, and an MPEG encoded output 250.
- Output 250 may suitably comprise a network adapter or modem 253 and an output storage mechanism 256 as shown in Fig. 4B, or may be suitably adapted as desired for a given application.
- the ManArray Processor 210 runs an MPEG-2 encoder program stored in its program memory 220 and uses its local memory 230 to process data using methods described in the present invention.
- the results are stored as MPEG encoded output data in storage 256 or may be transmitted to a remote location via network adapter, modem, or other transmission mechanism 253.
- 60/140,245 entitled “Methods and Apparatus for Generalized Event Detection and Action Specification in a Processor” filed June 21, 1999
- Provisional Application Serial No. 60/140,163 entitled “Methods and Apparatus for Improved Efficiency in Pipeline Simulation and Emulation” filed June 21, 1999
- Provisional Application Serial No. 60/140,162 entitled “Methods and Apparatus for Initiating and Re- Synchronizing Multi-Cycle SIMD Instructions” filed June 21, 1999
- 60/140,244 entitled “Methods and Apparatus for Providing One-By-One Manifold Array (lxl ManArray) Program Context Control” filed June 21, 1999
- Provisional Application Serial No. 60/140,325 entitled “Methods and Apparatus for Establishing Port Priority Function in a VLIW Processor” filed June 21, 1999
- Provisional Application Serial No. 60/140,425 entitled “Methods and Apparatus for Parallel Processing Utilizing a Manifold Array (ManArray) Architecture and Instruction Syntax” filed June 22, 1999 respectively, all of which are assigned to the assignee of the present invention and incorporated by reference herein in their entirety.
- FIG. 5A illustrates data flow for an MPEG encoder using a spatial domain motion estimation process.
- the data flow starts with the incoming video at input 501.
- the first frame to be encoded is an I-frame and passes directly through selector 514, without any input from spatial-domain motion estimation (SD-ME) processor 512, to the DCT processor 502.
- the DCT processor 502 converts the spatial data to its frequency domain counterpart.
- the data is then quantized in quantizer 504 to reduce the amount of information as part of the compression process.
- the new quantized values are directed to a variable length code encoding processor 506 where a combination of zigzag scan reordering, run length encoding, and variable length encoding processes are performed to create data as part of an output bitstream 503.
- the quantized frequency domain data is converted back into the spatial domain.
- the data is first inverse-quantized in inverse quantizer 508, then converted with an inverse discrete cosine transform (IDCT) by an IDCT processor 510.
- IDCT inverse discrete cosine transform
- the data is then sent to the spatial-domain motion estimation processor 512 for storage and future processing.
- the second frame to be encoded is typically a P- frame. Since the P-frame consists of MVs and difference blocks, a different flow occurs.
- the current macroblock being encoded enters the flow as part of the incoming video at input 501 and is directed to the spatial-domain motion estimation processor 512.
- the SD-ME processor typically uses a block-matching algorithm, with an SD-SAD or an SD-MAD computation, to find the motion vectors (MVs).
- the MVs are sent to the VLC encoding processor 506, and used in the computation of the difference block by the SD-ME processor 512.
- the difference block is then sent to selector 514 as an input to the compression and encoding steps carried out by DCT processor 502, quantizer 504, and VLC encoding processor 506.
- the resulting data is appended to the output bitstream 503.
- the quantized data is sent through inverse quantizer 508 and IDCT processor 510 to SD-ME processor 512 for storage and future processing.
- B-frames follow a similar process, as described in the introductory section, using two reference frames that have been stored as part of the SD- ME process performed by SD-ME processor 512.
- Fig. 5B illustrates data flow for an MPEG encoder using the frequency domain motion estimation process of the present invention.
- An I-frame is encoded in a similar manner as discussed above in connection with Fig. 5 A.
- the incoming video on video input 551 is directed through selector 566 and is converted from spatial-domain data to frequency domain data by the DCT processor 552.
- the data is then quantized in quantizer 554.
- the data then is processed through the zigzag scan ordering, run length encoding, and variable length encoding processes in variable length encoding processor 556 and appended to an output bitstream 553.
- a copy of the quantized output is also sent to frequency-domain motion estimation processor 562 for storage and future processing.
- a copy of the quantized output is also sent to the inverse quantization processor 558, then converted back to spatial-domain data by the inverse discrete cosine transform (IDCT) processor 560. This data is then sent to the motion compensation processor 564 for storage and future processing.
- IDCT inverse discrete cosine transform
- the second frame to be encoded is typically a P- frame. Since the P-frame consists of MVs and difference blocks, a different data flow occurs.
- the current macroblock being encoded enters the flow as part of the incoming video on video input 551 and is directed to the DCT processor 552, via selector 566, and on to the quantization processor 554.
- the resulting quantized frequency domain data is sent directly to FD-ME processor 562.
- An FD-MAD search method is used in FD-ME processor 562 to find the best match.
- the output of the FD-ME processor 562 is an MV.
- a copy of the MV is sent to the VLC processor 556 for encoding and inclusion in the output bitstream 553.
- a copy of the MV is also sent to the motion compensation processor 564.
- a difference macroblock is computed using the reconstructed data previously received from IDCT processor 560 subtracted from the original macroblock pixel data received from the input video on input 551.
- the resulting difference block is passed along for conversion to frequency data and quantization through blocks 566, 552, and 554. Since this is a P-macroblock, the output of quantizer 554 is sent to FD-ME processor 562 and IQ processor 558 as previously described for the I-frame output. Also, the output of quantizer 554 is sent to VLC processor 556 for the zigzag scan ordering, run length encoding, and variable length encoding processes in VLC processor 556 and appended to the output bitstream 553.
- step 601 a first block to be matched from a current frame being processed is extracted.
- step 603 a 2D DCT computation is performed for the block.
- step 605 a second block in a search pattern is extracted from the reference frame.
- step 607 the FD-MAD for the first and second blocks is computed based on a subset of the quantized DCT values.
- step 609 it is determined whether the FD-MAD computed in 607 is less than the lowest FD-MAD previously computed. At the start of the motion estimation process for this block, the value of the lowest FD-MAD is initialized to some large value.
- step 607 If the answer is "yes”, the FD-MAD just computed in step 607 replaces the previously computed lowest FD-MAD as the lowest FD-MAD and is stored in a memory in step 611. In step 613, it is determined whether there are additional blocks to be searched in the search pattern. It is noted that at step 609, if the answer was "no", then the process skips step 611 and proceeds directly to step 613.
- the process 600 loops back up to step 605 and extracts the next block in the search pattern from the reference frame. Steps 605-613 continue to repeat until "no" there are no function blocks to be compared with the block extracted in step 601. Then, the current lowest FD-MAD value is compared with a threshold value in step 615. If the current lowest FD-MAD value is less than the threshold, in step 617, the two blocks corresponding to the lowest FD-MAD value are accepted as a reference- difference pair. In step 619, the process 600 determines if there are more blocks to be matched from the current frame.
- step 621 the process 600 returns success/failure and the MVs found to the MPEG encoding processes at VLC processor 556 and MC processor 564 of Fig. 5B, for example. Alternatively, the process 600 may proceed to the next frame of video to be analyzed and repeat itself. Returning to step 615, it is noted that if the lowest FD-MAD is not less than the threshold, the process 600 skips step 617 and proceeds directly to step 619.
- a hybrid system can be constructed using this frequency domain motion estimation process.
- a typical spatial domain block matching process or system can use a hierarchical approach.
- One example is a three-tiered approach.
- a good match using low SD-MAD or SD-SAD, for example can be found on a block-aligned basis. That is, the coordinates of the blocks being considered for a match to the current block being encoded are integral multiples of 8 pixels in each direction.
- a second tier search would look for block matches in the search window surrounding the current prospective block on a pixel-aligned basis.
- the third tier search would be on a half-pixel basis in the area immediately adjacent to the result of the second tier search.
- the FD-MAD approach in the present invention could be advantageously incorporated into a multiple-tier approach.
- the first tier may use the FD-MAD approach described in the present invention.
- the second and third tiers may use a typical spatial domain block-matching algorithm.
- Other permutations are possible.
- using the FD- MAD for the first phase then using another algorithm to refine the results for a better match.
- the size of the subset of quantized DCT values used for the FD-MAD or FD-SAD can be modified either statically or dynamically. For example, a programmer may select a set number of values, say 16, to be used for the computation of the FD-MAD.
- the first 16 values would be used since they statistically represent the more populated values in the quantized 8x8 DCT set of values.
- a programmer may choose to modify the size of the subset based on the particular requirements of the system being designed.
- the programmer may make the size of the subset dynamic. That is, the encoder may include an adaptive mechanism whereby the size value may be adjusted during the program based on a variety of factors including, but not limited to, compression requirements, results of past searches, and the like.
- a sample image was encoded using the process of the present invention. This encoding resulted in a 1.4% reduction in the size of the output bitstream as compared to a conventional spatial-domain encoder. This process used a single-tiered approach with 16 quantized DCT values for each 8x8 block being used in the FD-MAD.
- the techniques of the present invention offer very fast similar-block identification. They make extensive use of data already computed by the MPEG encoding process. They also provide block-similarity criteria in the frequency domain which offers more good potential block matches than spatial domain analysis, which can further accelerate the speed of the process. Additionally, block matches, identified in the frequency domain, that are more similar in the frequency domain than block matches identified in the spatial domain, offer the potential for better VLC compression without quantization scaling loss. While the present invention has been disclosed in a presently preferred context, it will be recognized that this invention may be variously adapted to a variety of environments and applications consistent with the disclosure herein and the claims.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IL14285699A IL142856A0 (en) | 1998-11-03 | 1999-11-02 | Method and apparatus for improved motion estimation for video encoding |
| JP2000580388A JP2002529977A (en) | 1998-11-03 | 1999-11-02 | Improved motion estimation method and apparatus for video coding |
| EP99971615A EP1157559A4 (en) | 1998-11-03 | 1999-11-02 | Methods and apparatus for improved motion estimation for video encoding |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10686798P | 1998-11-03 | 1998-11-03 | |
| US60/106,867 | 1998-11-03 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2000027128A1 true WO2000027128A1 (en) | 2000-05-11 |
Family
ID=22313693
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US1999/025707 Ceased WO2000027128A1 (en) | 1998-11-03 | 1999-11-02 | Methods and apparatus for improved motion estimation for video encoding |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP1157559A4 (en) |
| JP (1) | JP2002529977A (en) |
| IL (1) | IL142856A0 (en) |
| WO (1) | WO2000027128A1 (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005091643A1 (en) * | 2004-03-12 | 2005-09-29 | Pinnacle Systems, Inc. | Image encoding system and method |
| CN100370835C (en) * | 2003-01-29 | 2008-02-20 | 三星电子株式会社 | System and method for video data compression |
| WO2011101442A3 (en) * | 2010-02-19 | 2012-03-08 | Skype Limited | Data compression for video |
| US8681873B2 (en) | 2010-02-19 | 2014-03-25 | Skype | Data compression for video |
| US9313526B2 (en) | 2010-02-19 | 2016-04-12 | Skype | Data compression for video |
| US9609342B2 (en) | 2010-02-19 | 2017-03-28 | Skype | Compression for frames of a video signal using selected candidate blocks |
| US9819358B2 (en) | 2010-02-19 | 2017-11-14 | Skype | Entropy encoding based on observed frequency |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5408274A (en) * | 1993-03-11 | 1995-04-18 | The Regents Of The University Of California | Method and apparatus for compositing compressed video data |
| US5796434A (en) * | 1996-06-07 | 1998-08-18 | Lsi Logic Corporation | System and method for performing motion estimation in the DCT domain with improved efficiency |
-
1999
- 1999-11-02 WO PCT/US1999/025707 patent/WO2000027128A1/en not_active Ceased
- 1999-11-02 EP EP99971615A patent/EP1157559A4/en not_active Withdrawn
- 1999-11-02 IL IL14285699A patent/IL142856A0/en unknown
- 1999-11-02 JP JP2000580388A patent/JP2002529977A/en not_active Withdrawn
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5408274A (en) * | 1993-03-11 | 1995-04-18 | The Regents Of The University Of California | Method and apparatus for compositing compressed video data |
| US5796434A (en) * | 1996-06-07 | 1998-08-18 | Lsi Logic Corporation | System and method for performing motion estimation in the DCT domain with improved efficiency |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP1157559A4 * |
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100370835C (en) * | 2003-01-29 | 2008-02-20 | 三星电子株式会社 | System and method for video data compression |
| WO2005091643A1 (en) * | 2004-03-12 | 2005-09-29 | Pinnacle Systems, Inc. | Image encoding system and method |
| WO2011101442A3 (en) * | 2010-02-19 | 2012-03-08 | Skype Limited | Data compression for video |
| CN102792688A (en) * | 2010-02-19 | 2012-11-21 | 斯凯普公司 | Data compression for video |
| US8681873B2 (en) | 2010-02-19 | 2014-03-25 | Skype | Data compression for video |
| US8913661B2 (en) | 2010-02-19 | 2014-12-16 | Skype | Motion estimation using block matching indexing |
| US9078009B2 (en) | 2010-02-19 | 2015-07-07 | Skype | Data compression for video utilizing non-translational motion information |
| US9313526B2 (en) | 2010-02-19 | 2016-04-12 | Skype | Data compression for video |
| CN102792688B (en) * | 2010-02-19 | 2016-11-23 | 斯凯普公司 | Data compression for video |
| US9609342B2 (en) | 2010-02-19 | 2017-03-28 | Skype | Compression for frames of a video signal using selected candidate blocks |
| US9819358B2 (en) | 2010-02-19 | 2017-11-14 | Skype | Entropy encoding based on observed frequency |
Also Published As
| Publication number | Publication date |
|---|---|
| EP1157559A4 (en) | 2002-01-23 |
| IL142856A0 (en) | 2002-03-10 |
| JP2002529977A (en) | 2002-09-10 |
| EP1157559A1 (en) | 2001-11-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6697427B1 (en) | Methods and apparatus for improved motion estimation for video encoding | |
| US6438168B2 (en) | Bandwidth scaling of a compressed video stream | |
| US8023562B2 (en) | Real-time video coding/decoding | |
| US6067322A (en) | Half pixel motion estimation in motion video signal encoding | |
| US6574278B1 (en) | Method and apparatus for performing real-time data encoding | |
| US9602819B2 (en) | Display quality in a variable resolution video coder/decoder system | |
| US6757330B1 (en) | Efficient implementation of half-pixel motion prediction | |
| EP1853069A2 (en) | Decoding macroblock type and coded block pattern information | |
| US7366236B1 (en) | Source adaptive system and method for 2D iDCT | |
| EP1359764A2 (en) | Video encoding method with fading compensation | |
| EP1044566A1 (en) | Improved video coding using adaptive coding of block parameters for coded/uncoded blocks | |
| EP1359765A2 (en) | Fading estimation/compensation in video encoding | |
| EP0825778A2 (en) | Method for motion estimation | |
| US7072399B2 (en) | Motion estimation method and system for MPEG video streams | |
| US6847684B1 (en) | Zero-block encoding | |
| US6823015B2 (en) | Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data | |
| EP1157559A1 (en) | Methods and apparatus for improved motion estimation for video encoding | |
| JP4154772B2 (en) | Image information conversion apparatus and conversion method | |
| Kuhn et al. | VLSI architecture for variable-block-size motion estimation with luminance correction | |
| JP3798432B2 (en) | Method and apparatus for encoding and decoding digital images | |
| JP3407872B2 (en) | Method and apparatus for detecting additional information | |
| Adiletta et al. | Architecture of a flexible real-time video encoder/decoder: The DECchip 21230 | |
| Lin et al. | Systematic analysis and methodology of real-time DSP implementation for hybrid video coding | |
| CN120602654A (en) | Coding method, device, equipment, medium and product based on rate-distortion cost | |
| JPH0974567A (en) | Video coding / decoding method and apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): CA CN IL JP KR MX |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 142856 Country of ref document: IL |
|
| ENP | Entry into the national phase |
Ref country code: JP Ref document number: 2000 580388 Kind code of ref document: A Format of ref document f/p: F |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 1999971615 Country of ref document: EP |
|
| WWP | Wipo information: published in national office |
Ref document number: 1999971615 Country of ref document: EP |
|
| WWW | Wipo information: withdrawn in national office |
Ref document number: 1999971615 Country of ref document: EP |