CN1756355A - Motion estimating method in video data compression - Google Patents

Motion estimating method in video data compression Download PDF

Info

Publication number
CN1756355A
CN1756355A CN 200410080399 CN200410080399A CN1756355A CN 1756355 A CN1756355 A CN 1756355A CN 200410080399 CN200410080399 CN 200410080399 CN 200410080399 A CN200410080399 A CN 200410080399A CN 1756355 A CN1756355 A CN 1756355A
Authority
CN
China
Prior art keywords
block
piece
matching value
computing
search
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.)
Granted
Application number
CN 200410080399
Other languages
Chinese (zh)
Other versions
CN100414998C (en
Inventor
梁柱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CNB2004100803995A priority Critical patent/CN100414998C/en
Priority to KR20077008090A priority patent/KR100903498B1/en
Priority to JP2007533856A priority patent/JP4669517B2/en
Priority to EP05792234.6A priority patent/EP1802127B1/en
Priority to PCT/CN2005/001596 priority patent/WO2006050651A1/en
Publication of CN1756355A publication Critical patent/CN1756355A/en
Priority to US11/692,719 priority patent/US8804830B2/en
Application granted granted Critical
Publication of CN100414998C publication Critical patent/CN100414998C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

The invention discloses a motion estimation method for video data compression. Wherein, to calculate optimized match point of all search calculation blocks, firstly point-to-point calculating match value of minimal calculation block in all block modes and recording search vector and opposite block match value of minimal calculation block; if current calculation block can be formed by minimal calculation b, deciding whether there is block match value for this calculation block with the search vector in record, then the block match value of this calculation block is the sum of block match values of minimal calculation block with the search vector; or else, point-to-point calculating the block match value of the calculation block with this search vector. This method can decreases calculation time greatly and increases compression speed.

Description

The method of estimation in a kind of video data compression
Technical field
The present invention relates to the video data compression technology, particularly relate to the method for estimation in a kind of video data compression.
Background technology
In multimedia application, the shared data volume of one 640 * 480 256 color images is 300kB, and dynamic video requires per second to play 25~30 two field pictures, thereby play 256 color look video images with 640 * 480 window, even do not having under the situation of voice data, also require the data volume about per second processing 8MB, this shows, a slice capacity is that the CD-ROM dish of 650MB only can be stored about about 80 seconds dynamic video.In addition, the data transmission rate maximum of ordinary PC isa bus can only reach 5MB/ second, can't real-time Transmission dynamic video data.Therefore, for storage and the processing in real time of carrying out multi-medium data, must adopt some technology to reduce the data volume of multi-medium data, wherein, important is the video data compression technology.
It is I=D-du that multimedia data volume and amount of information are closed, and wherein, I is an amount of information, and D is a data volume, and du is an amount of redundancy.Amount of information is the key data that will transmit, and data redundancy is useless data, there is no need transmission.Have mass of redundancy data on the vision signal, this is the basis of carrying out video data compression, and the redundancy of multimedia video signal is present in structure and statistics two aspects.
In configuration aspects, redundancy shows as very strong spatial coherence and temporal correlation, spatial coherence is an in-frame correlation, temporal correlation is a frame-to-frame correlation, this is that the variation of most of regional signal of image is slow because generally speaking, and especially background parts is almost constant, so there is stronger correlation in vision signal between adjacent image point, between adjacent lines and even between consecutive frame, this correlation just shows as spatial redundancy and time redundancy.
Aspect statistics, redundancy shows as the limitation of human eye when observing image, human eye all has one to delimit to image detail resolution, Motion Resolution rate and contrast resolution's sensation, so considerable image information is inessential for human eye, even without these information, human eye thinks that also image is intact and enough good.So these information are exactly redundant information, under the necessarily required prerequisite, can suitably reduce signal accuracy to picture quality satisfied, realize data compression.
In image compression encoding method of being used widely and standard, mainly utilize three kinds of means that image is compressed: to utilize discrete cosine transform (DCT) and vector quantization to eliminate in-frame correlation, utilize estimation to eliminate frame-to-frame correlation, the redundancy of utilizing the digital coding of entropy coding removal of images to bring.
The method of traditional elimination frame-to-frame correlation is an estimation, promptly,, calculate the motion vector of the data of present frame with respect to the former frame data at first in former frame search and its zone of mating most for the data of current image frame, after searching out the result, both differences are encoded.Therefore, the precision of estimation is the key factor of decision code efficiency.
Multiple motion estimation algorithm is arranged at present, as BMA.In BMA, every two field picture is divided into the sub-piece of the N * N pixel of two dimension, General N is 16, suppose the translational motion that all pixels works in each sub-piece equate, the sub-piece of the N * N of present frame is searched for the sub-piece that mates most with it in the neighborhood window of the sub-piece of former frame correspondence, the displacement of the match block of current sub-block and preceding frame on two dimensional surface is the motion vector that estimation obtains.
In the BMA search matched sub-block method also have multiple, as full search method.Full search method is each macro block for present frame, in the particular range (being generally neighborhood) of preceding frame, calculate the piece matching value of each point, each point in this neighborhood is match point, then with the match point of smallest blocks matching value correspondence as optimal match point, the motion vector of optimal match point correspondence is the motion vector of current macro.Usually, the piece matching value be in the match point corresponding blocks in macro block and the hunting zone one to one the difference absolute value of picture element gray value and, i.e. absolute difference and (SAD), described match point corresponding blocks is that match point is at the piece upper left corner, that equate with macroblock size.The computing formula of SAD is as follows:
SAD ( u , v ) = Σ i = 1 M Σ j = 1 N | I c ( i , j ) - I r ( i + u , j + v ) |
Wherein, I c(i, the j) gray value of pixel in the expression current macro, I r((u v) is a motion vector for i+u, the j+v) gray value of the corresponding pixel of coupling macro block in the preceding frame of expression.
Top method is as an overall calculation piece matching value with a macro block, if in interior macroblocks, the direction of motion of different sub-pieces has different, then said method will produce than mistake, so in the method for estimating after improvement, adopt the method for multiple match pattern, piece match pattern commonly used has four kinds: 16 * 16,16 * 8,8 * 16 and 8 * 8, when calculating the piece matching value of a macro block, calculate the piece matching value SAD1 of whole macro block respectively, the piece matching value sum SAD2 of two horizontal sub-pieces, the piece matching value sum SAD4 of the piece matching value sum SAD3 of two vertical sub-pieces and four sub-pieces gets SAD1, SAD2, the block mode of minimum is as the block mode of macro block estimation among SAD3 and the SAD4.
Though this method reduces the error of estimation greatly, but, also there is big defective, promptly for each macro block, all need intactly pointwise to calculate the optimum matching point of all computing blocks in four kinds of block modes, between every kind of block mode without any contact, for example, when using 16 * 8 piece computing block matching value, do not utilize the piece matching value data of 16 * 16 piece, therefore cause the operand of estimation too big.
Summary of the invention
Main purpose of the present invention is to provide the method for estimation in a kind of video data compression, the amount of calculation of piece matching value during with the simplification estimation, the speed of raising video data compression.
The objective of the invention is to be achieved through the following technical solutions:
The method of estimation in a kind of video data compression, this method comprises:
Each macro block is divided into the computing block that varies in size according to different block modes; Under every kind of block mode, the optimal match point of all computing blocks in the search macro block; The block mode and the motion vector thereof of the piece matching value sum minimum between record computing block and its optimal match point corresponding blocks;
Wherein, the method for all computing block optimal match points comprises the steps: in the described search macro block
The piece matching value between minimum of computation piece in all block modes and the search point corresponding blocks, record searching vector and the piece matching value of minimum of computation piece under search vector are simultaneously calculated in a, pointwise;
B, current computing block can be made up of and needs when calculating the piece matching value of this computing block under certain search vector the minimum of computation piece, judged whether to write down the piece matching value of minimum of computation piece under this search vector of forming this computing block, if then the piece matching value of this computing block is for forming the piece matching value sum of minimum of computation piece under this search vector of this computing block; Otherwise the piece matching value of this computing block under this search vector calculated in pointwise.
Wherein, the optimal match point of all computing blocks is in the described search macro block: the optimal match point of searching for all computing blocks in the macro block by certain searching method.
Wherein, described search vector poor for the difference of search point and the abscissa in the computing block upper left corner and ordinate.
Wherein, the size of described macro block is 16 * 16 pixels.
Preferably, described block mode 16 * 16 pixels or 16 * 8 pixels or 8 * 16 pixels or 8 * 8 pixels or fours' combination in any.
Wherein, described matching value is the absolute value sum of the difference of picture element gray value one to one in two pieces.
By above technical scheme as can be seen, method of the present invention is to improving macro block according to the method that several block modes carry out estimation, the piece matching value of minimum of computation piece at the search point calculated in pointwise in each search, and the search vector and the piece matching value of the computing block of reservation minimum, when calculating the piece matching value of bigger computing block under search vector, the piece matching value of the minimum of computation piece that write down is done the simple addition computing to get final product, like this, the defective that overhead increases and extend operation time that just can avoid double counting in the prior art to cause, under the prerequisite of accuracy that guarantees estimation and precision, saved the computing time of piece matching value in the estimation greatly, thereby significantly reduced the time of video data compression.
Description of drawings
When being estimation, divides Fig. 1 a to Fig. 1 d the schematic diagram of computing block;
Fig. 2 is the flow chart of method for estimating according to an embodiment of the invention.
Embodiment
In order to make the purpose, technical solutions and advantages of the present invention clearer, the present invention is further described below in conjunction with the drawings and specific embodiments.
Present embodiment is an example with the piece matching value that calculates four kinds of block modes in the full search, as shown in Figure 1a, a macro block of the Block presentation video among the figure, the size of macro block is 16 * 16, the coordinate in this macro block upper left corner is that (x y), is (u at motion vector, v) and-m≤u≤m, the match point of search and current macro the best in the neighborhood of-n≤v≤n.
Fig. 2 is the flow chart of method for estimating according to an embodiment of the invention, and this flow process is divided into following steps:
Step 201: the block size calculating kinematical vector according to 16 * 16 be (u, v) and-m≤u≤m, the piece matching value of-n≤v≤n, the position of four sub-pieces is shown in Fig. 1 d:
The sub-piece of A: upper left corner coordinate is (x, 8 * 8 sub-pieces y);
The sub-piece of B: upper left corner coordinate is (x+8,8 * 8 sub-pieces y+8);
The sub-piece of C: upper left corner coordinate is (x, 8 * 8 sub-pieces y+8);
The sub-piece of D: upper left corner coordinate be (x+8,8 * 8 sub-pieces y),
For the motion vector in each this neighborhood, write down the piece matching value of four 8 * 8 sub-pieces respectively:
The sub-piece of A at motion vector be (u, v) the piece matching value under be SAD_A (u, v);
The sub-piece of B at motion vector be (u, v) the piece matching value under be SAD_B (u, v);
The sub-piece of C at motion vector be (u, v) the piece matching value under be SAD_C (u, v);
The sub-piece of D at motion vector be (u, v) the piece matching value under be SAD_D (u, v).
Step 202: with in this neighborhood 16 * 16 piece matching value minimum be set to SAD1.
Step 203: the block size calculating kinematical vector according to 16 * 8 be (u, v) and-m≤u≤m, the piece matching value of-n≤v≤n, shown in Fig. 1 b, two sub-pieces of macro block are respectively:
The sub-piece of E: upper left corner coordinate is (x, 16 * 8 sub-pieces y);
The sub-piece of F: upper left corner coordinate is (x, 16 * 8 sub-pieces y+8);
For each motion vector in this neighborhood, the sub-piece of E motion vector (u, v) the piece matching value under be motion vector (u, v) descend sub-piece of A and the sub-piece of B piece matching value sum SAD_A (u, v)+SAD_B (u, v); The sub-piece of F motion vector (u, v) the piece matching value under be motion vector (u, v) descend sub-piece of C and the sub-piece of D piece matching value sum SAD_C (u, v)+SAD_D (u, v).
Step 204: with the SAD21 that is set to of the piece matching value minimum of the sub-piece of E in this neighborhood, with the SAD22 that is set to of the piece matching value minimum of the sub-piece of F in this neighborhood,
SAD2=SAD21+SAD22 then.
Step 205: the block size calculating kinematical vector according to 8 * 16 be (u, v) and-m≤u≤m, the piece matching value of-n≤v≤n, shown in Fig. 1 c, two sub-pieces of macro block are respectively:
The sub-piece of G: upper left corner coordinate is (x, 8 * 16 sub-pieces y);
The sub-piece of H: upper left corner coordinate is (x+8,8 * 16 sub-pieces y);
For each motion vector in this neighborhood, the sub-piece of G motion vector (u, v) the piece matching value under be motion vector (u, v) descend sub-piece of A and the sub-piece of C piece matching value sum SAD_A (u, v)+SAD_C (u, v); The sub-piece of H motion vector (u, v) the piece matching value under be motion vector (u, v) descend sub-piece of B and the sub-piece of D piece matching value sum SAD_B (u, v)+SAD_D (u, v).
Step 206: with the SAD31 that is set to of the piece matching value minimum of the sub-piece of G in this neighborhood, with the SAD32 that is set to of the piece matching value minimum of the sub-piece of H in this neighborhood,
SAD3=SAD31+SAD32 then.
Step 207: the block size calculating kinematical vector according to 8 * 8 is (u, v) and-m≤u≤m, the piece matching value of-n≤v≤n, four sub-pieces of macro block are respectively: the sub-piece of A, the sub-piece of B, the sub-piece of C and the sub-piece of D, in step 201, write down four sub-pieces piece matching value under all motion vectors in neighborhood, so:
The sub-piece of A under motion vector (u, piece matching value v) be SAD_A (u, v);
The sub-piece of B motion vector (u, v) the piece matching value under be SAD_B (u, v);
The sub-piece of C motion vector (u, v) the piece matching value under be SAD_C (u, v);
The sub-piece of D motion vector (u, v) the piece matching value under be SAD_D (u, v).
Step 208: with the SAD41 that is set to of the piece matching value minimum of the sub-piece of A in this neighborhood, the piece matching value minimum of the sub-piece of B be set to SAD42, the piece matching value minimum of the sub-piece of C be set to SAD43, the piece matching value minimum of the sub-piece of D be set to SAD44,
SAD4=SAD41+SAD42+SAD43+SAD44 then.
Step 209:, and write down the motion vector of each sub-piece under this block mode with the block mode of the pairing block mode of the minimum value between SAD1, SAD2, SAD3 and the SAD4 as the current macro estimation.
In the embodiment of above-mentioned estimation, be example with full search, but the present invention not only is confined to the method for full search, also can be applicable to any searching method, for example three steps search, diamond search etc.As long as write down the piece matching value of boy's piece under each motion vector earlier, can in the subsequent searches step, utilize the data of the piece matching value of front, only need to do the simple addition computing.
But, when estimation, the piece matching value that might need to calculate new search point (motion vector) or calculate interpolation point, and do not write down corresponding piece matching value in the search step in front, this just can't utilize the piece matching value information that has write down, and needs the piece matching value of this computing block of pointwise again.So, calculating computing block before the piece matching value of certain search point at every turn, can add a step: judge whether there is the sub-piece of forming this computing block piece matching value in the record at this search point, if then the piece matching value addition of the sub-piece of forming this computing block is obtained the piece matching value of computing block; Otherwise the piece matching value of this computing block at this search point calculated in pointwise.
In addition, in the above-described embodiments, earlier carry out estimation, because the hunting zone of this block mode is bigger usually, so can utilize the piece matching value of record when calculating the piece matching value of the computing block under other block mode more since 16 * 16 block mode.But the present invention does not get rid of the execution mode that carries out estimation earlier since 8 * 8 block mode yet.
In concrete implementation process, can carry out suitable improvement, to adapt to the concrete needs of concrete condition to the method according to this invention.Therefore be appreciated that according to the specific embodiment of the present invention just to play an exemplary role, not in order to restriction protection scope of the present invention.

Claims (6)

1, the method for estimation in a kind of video data compression, this method comprises:
Each macro block is divided into the computing block that varies in size according to different block modes; Under every kind of block mode, the optimal match point of all computing blocks in the search macro block; The block mode and the motion vector thereof of the piece matching value sum minimum between record computing block and its optimal match point corresponding blocks;
It is characterized in that the method for all computing block optimal match points comprises the steps: in the described search macro block
The piece matching value between minimum of computation piece in all block modes and the search point corresponding blocks, record searching vector and the piece matching value of minimum of computation piece under search vector are simultaneously calculated in a, pointwise;
B, current computing block can be made up of and needs when calculating the piece matching value of this computing block under certain search vector the minimum of computation piece, judged whether to write down the piece matching value of minimum of computation piece under this search vector of forming this computing block, if then the piece matching value of this computing block is for forming the piece matching value sum of minimum of computation piece under this search vector of this computing block; Otherwise the piece matching value of this computing block under this search vector calculated in pointwise.
2, method according to claim 1 is characterized in that, the optimal match point of all computing blocks is in the described search macro block: the optimal match point of searching for all computing blocks in the macro block by certain searching method.
3, method according to claim 1 is characterized in that, described search vector is poor for the difference of search point and the abscissa in the computing block upper left corner and ordinate.
4, method according to claim 1 is characterized in that, the size of described macro block is 16 * 16 pixels.
5, method according to claim 4 is characterized in that, described block mode 16 * 16 pixels or 16 * 8 pixels or 8 * 16 pixels or 8 * 8 pixels or fours' combination in any.
6, method according to claim 1 is characterized in that, described matching value is the absolute value sum of the difference of picture element gray value one to one in two pieces.
CNB2004100803995A 2004-09-29 2004-09-29 Motion estimating method in video data compression Active CN100414998C (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CNB2004100803995A CN100414998C (en) 2004-09-29 2004-09-29 Motion estimating method in video data compression
KR20077008090A KR100903498B1 (en) 2004-09-29 2005-09-29 Motion estimation method
JP2007533856A JP4669517B2 (en) 2004-09-29 2005-09-29 How to realize motion estimation
EP05792234.6A EP1802127B1 (en) 2004-09-29 2005-09-29 Method for performing motion estimation
PCT/CN2005/001596 WO2006050651A1 (en) 2004-09-29 2005-09-29 Method for performing motion estimation
US11/692,719 US8804830B2 (en) 2004-09-29 2007-03-28 Method for performing motion estimation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100803995A CN100414998C (en) 2004-09-29 2004-09-29 Motion estimating method in video data compression

Publications (2)

Publication Number Publication Date
CN1756355A true CN1756355A (en) 2006-04-05
CN100414998C CN100414998C (en) 2008-08-27

Family

ID=36689237

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100803995A Active CN100414998C (en) 2004-09-29 2004-09-29 Motion estimating method in video data compression

Country Status (1)

Country Link
CN (1) CN100414998C (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101115206B (en) * 2007-08-30 2011-01-19 四川长虹电器股份有限公司 Method for setting flag bit in video coding motion estimation
CN103139562A (en) * 2011-11-30 2013-06-05 富士通株式会社 Motion estimation method and motion estimation device
CN111968151A (en) * 2020-07-03 2020-11-20 北京博雅慧视智能技术研究院有限公司 Motion estimation fine search method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1147159C (en) * 1999-04-27 2004-04-21 三星电子株式会社 Method and device for evaluate high speed motion of real time motion image coding
WO2003032628A1 (en) * 2001-10-08 2003-04-17 Koninklijke Philips Electronics N.V. Device and method for motion estimation
KR100955414B1 (en) * 2002-01-17 2010-05-04 엔엑스피 비 브이 Unit for and method of estimating a current motion vector

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101115206B (en) * 2007-08-30 2011-01-19 四川长虹电器股份有限公司 Method for setting flag bit in video coding motion estimation
CN103139562A (en) * 2011-11-30 2013-06-05 富士通株式会社 Motion estimation method and motion estimation device
CN103139562B (en) * 2011-11-30 2016-05-04 富士通株式会社 Method for estimating and device
CN111968151A (en) * 2020-07-03 2020-11-20 北京博雅慧视智能技术研究院有限公司 Motion estimation fine search method and device

Also Published As

Publication number Publication date
CN100414998C (en) 2008-08-27

Similar Documents

Publication Publication Date Title
CN100348051C (en) An enhanced in-frame predictive mode coding method
CN1675848A (en) Method and apparatus for performing high quality fast predictive motion search
CN1906948A (en) Image coding apparatus and method for predicting motion using rotation matching
CN100338957C (en) Complexity hierarchical mode selection method
CN1874519A (en) Intraprediction method and apparatus using video symmetry and encoding and decoding method and apparatus
CN1525762A (en) A coding/decoding end bothway prediction method for video coding
CN1283291A (en) Apparatus and method for performing scalable hierarchical motion estimation
CN101064849A (en) Dynamic image coding method, apparatus and computer readable record medium
CN100337482C (en) Fast motion assessment method based on object edge shape
CN1774933A (en) Method and apparatus for determining search range for adaptive motion vector for use in video encoder
CN1627825A (en) Motion estimation method for motion picture encoding
CN1320830C (en) Noise estimating method and equipment, and method and equipment for coding video by it
CN1325220A (en) Motion-vector coding method
CN1181691C (en) Vidio motion estimation method
CN1758759A (en) Switching detection method of video scene
CN1194544C (en) Video encoding method based on prediction time and space domain conerent movement vectors
CN1665299A (en) Method for designing architecture of scalable video coder decoder
CN1604650A (en) Method for hierarchical motion estimation
CN1212014C (en) Video coding method based on time-space domain correlation quick movement estimate
CN1968420A (en) Methods of image processing for video encoder and decoder
CN1520179A (en) Method and appts. for coding/decoding interlaced scanning video signal
CN1756355A (en) Motion estimating method in video data compression
CN1756353A (en) Quantization method for video data compression
CN1449197A (en) B image mode determining method and apparatus of video coding system
CN1263309C (en) Motion vector prediction method used for video coding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant