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

Motion estimating method in video data compression Download PDF

Info

Publication number
CN100414998C
CN100414998C CNB2004100803995A CN200410080399A CN100414998C CN 100414998 C CN100414998 C CN 100414998C CN B2004100803995 A CNB2004100803995 A CN B2004100803995A CN 200410080399 A CN200410080399 A CN 200410080399A CN 100414998 C CN100414998 C CN 100414998C
Authority
CN
China
Prior art keywords
block
computing
piece
matching value
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.)
Active
Application number
CNB2004100803995A
Other languages
Chinese (zh)
Other versions
CN1756355A (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 EP05792234.6A priority patent/EP1802127B1/en
Priority to PCT/CN2005/001596 priority patent/WO2006050651A1/en
Priority to JP2007533856A priority patent/JP4669517B2/en
Priority to KR20077008090A priority patent/KR100903498B1/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

Abstract

The present invention discloses a motion estimating method in video data compression. When the optimal matching point of all computing blocks in a macro block is searched every time in the method, the block matching values of the minimum computing block in all block modes at a search point is computed point by point firstly, and simultaneously search vector and the block match values of the minimal computing block under the search vector are recorded. When a current computing block can be composed of the minimal computing block, if the block matching values of the minimal computing block for forming the computing block under the search vector is judged in the record, the block matching values of the computing block is the sum of the block matching values of the minimal computing block forming the computing block under the search vector; if not, the block matching values of the computing block under the search vector is computed point by point. After the motion estimating method in video data compression of the present invention is used, the recorded block matching value data is used for computing the block matching values of a new computing block. Thus, the time of the matching values of the computing block is reduced, and compression speed is improved.

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 are made up of the minimum of computation piece and needs when calculating the piece matching value of this computing block under certain search vector, 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 is computing block or the computing block of 16 * 8 pixels or computing block or the computing block of 8 * 8 pixels or four the combination in any of 8 * 16 pixels of 16 * 16 pixels.
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 the 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 are made up of the minimum of computation piece and needs when calculating the piece matching value of this computing block under certain search vector, 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 is computing block or the computing block of 16 * 8 pixels or computing block or the computing block of 8 * 8 pixels or four the combination in any of 8 * 16 pixels of 16 * 16 pixels.
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
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
JP2007533856A JP4669517B2 (en) 2004-09-29 2005-09-29 How to realize motion estimation
KR20077008090A KR100903498B1 (en) 2004-09-29 2005-09-29 Motion estimation method
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 CN1756355A (en) 2006-04-05
CN100414998C true 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)

Families Citing this family (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
CN103139562B (en) * 2011-11-30 2016-05-04 富士通株式会社 Method for estimating and device
CN111968151B (en) * 2020-07-03 2022-04-05 北京博雅慧视智能技术研究院有限公司 Motion estimation fine search method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1272031A (en) * 1999-04-27 2000-11-01 三星电子株式会社 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
WO2003061293A1 (en) * 2002-01-17 2003-07-24 Koninklijke Philips Electronics N.V. Unit for and method of estimating a current motion vector

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1272031A (en) * 1999-04-27 2000-11-01 三星电子株式会社 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
WO2003061293A1 (en) * 2002-01-17 2003-07-24 Koninklijke Philips Electronics N.V. Unit for and method of estimating a current motion vector

Also Published As

Publication number Publication date
CN1756355A (en) 2006-04-05

Similar Documents

Publication Publication Date Title
KR100897880B1 (en) Bi-directional predicting method for video coding/decoding
US20220217337A1 (en) Method, codec device for intra frame and inter frame joint prediction
CN100468982C (en) Method and apparatus for performing high quality fast predictive motion search
KR100393125B1 (en) Image sequence coding method and decoding method
CN101378504B (en) Method for estimating block matching motion of H.264 encode
US6785333B2 (en) Motion vector coding method
EP1359770B1 (en) Signaling for fading compensation in video encoding
US20060291563A1 (en) Interpolation apparatus and method for motion vector compensation
CN100591136C (en) Video frequency intraframe coding method based on null field decomposition
US6480543B1 (en) Detection of a change of scene in a motion estimator of a video encoder
CN110365982A (en) The different transform of intraframe coding selects accelerated method in a kind of multipurpose coding
CN1181691C (en) Vidio motion estimation method
CN1194544C (en) Video encoding method based on prediction time and space domain conerent movement vectors
WO2000034920A1 (en) Motion vector estimation
CN100414998C (en) Motion estimating method in video data compression
US20020168008A1 (en) Method and apparatus for coding moving pictures
Guan et al. VVC fast ME algorithm based on spatial texture features and time correlation
Huang et al. An adaptively refined block matching algorithm for motion compensated video coding
US20070153909A1 (en) Apparatus for image encoding and method thereof
KR100744435B1 (en) An improved early detection of all-zero dct coefficients for fast video encoding
CN108432252A (en) Motion vector selection and forecasting system in Video coding and method
KR0185841B1 (en) A motion extimator for a video coder
CN101291433A (en) Modular movement vector matching and evaluating method in video coding technique
KR100767503B1 (en) Motion vector compensation system and method using the 3-dimension fitting technique
KR100617177B1 (en) Motion estimation method

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