CN101754012B - Rapid multiframe motion estimation adopting self-adaptive search strategy - Google Patents

Rapid multiframe motion estimation adopting self-adaptive search strategy Download PDF

Info

Publication number
CN101754012B
CN101754012B CN 200910222053 CN200910222053A CN101754012B CN 101754012 B CN101754012 B CN 101754012B CN 200910222053 CN200910222053 CN 200910222053 CN 200910222053 A CN200910222053 A CN 200910222053A CN 101754012 B CN101754012 B CN 101754012B
Authority
CN
China
Prior art keywords
block
pixels
frame
motion vector
image data
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.)
Expired - Fee Related
Application number
CN 200910222053
Other languages
Chinese (zh)
Other versions
CN101754012A (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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Priority to CN 200910222053 priority Critical patent/CN101754012B/en
Publication of CN101754012A publication Critical patent/CN101754012A/en
Application granted granted Critical
Publication of CN101754012B publication Critical patent/CN101754012B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a method comprising the step of checking the statistical distribution of a motion vector adopted by motion compensation in a first image data frame. The check is used for generating a distribution model of the motion vector in the first frame. The method also comprises the step of at least selecting a block matching search graph used by a second image frame partially according to the distribution model. The second frame is behind the first frame in an image data frame sequence.

Description

Adopt the fast multi-frame method for estimating of adaptive search strategies
The application is to be on October 14th, 2004 applying date, is entitled as the fast multi-frame estimation of adaptive search strategies " adopt ", and application number is dividing an application of 200480044126.3 patent application.
Technical field
The present invention relates to view data and handle, more specifically relate to the fast multi-frame estimation that adopts adaptive search strategies.
Background technology
Motion compensation often is used in combination with Data Compression.An instance that adopts the Data Compression technology of motion compensation is the H.264 standard that proposed (more formally is called advanced video coding (AVC) standard, unites the joint video team (JVT) that forms by the video coding expert group (VCEG) of the Motion Picture Experts Group of International Organization for Standardization and the telecommunication standardization sector of International Telecommunications Union (ITU-T) and develop).In coding H.264, the pixel data of rectangular block is deducted from the reference block of previous frame, and the difference information that obtains is carried out conversion to obtain coefficient data.Quantize this coefficient data, then to the rearrangement of the information that obtains and carry out entropy coding, to be used for transmission and/or record.
In order to utilize the time redundancy property in the vision signal, even when in image, having motion and/or mobile camera moving, reference block also can carry out displacement from current piece of encoding in picture frame.The displacement of reference block is called " motion compensation ".(in search window) which block of pixels and current piece optimum Match of encoding in the definite frame formerly of " estimation " process.Displacement in the piece of present encoding and previous frame between the best matching blocks is with " motion vector " expression, and it is the result that motion estimation process obtains.Motion vector is included in " side information ", and " side information " sends with the difference information through conversion, quantification, rearrangement, entropy coding of current block.Motion compensation makes the difference between current pixel piece and reference block minimize, thereby can make and need transmission/data recorded amount to minimize.
A problem of motion compensation video compression coding is the required treating capacity of coding.Estimation can comprise a sizable part of handling load, when particularly adopting so-called " full search " algorithm.Also propose so-called " search fast " algorithm, wherein adopted the searching graphic (pattern) that dwindles, slightly reduced picture quality.
Summary of the invention
Embodiments of the invention provide a kind of method for estimating, comprising:
First block of pixels in the present frame in the sequence of image data frames is confirmed a plurality of candidate motion vectors, and said candidate motion vector comprises at least two in following:
(a) with the motion vector of the said first block of pixels adjacent pixels piece;
(b) as the motion vector of the block of pixels of the superset of said first block of pixels;
(c) motion vector of second block of pixels; Said second block of pixels is a part that in said sequence of image data frames, is being close to the first reference image data frame before the said present frame, and said second block of pixels has the corresponding position, position with said first block of pixels in said present frame in said first reference frame; And
(d) motion vector of the calibration of the 3rd block of pixels; Said the 3rd block of pixels is the part of second reference frame; Before said first reference frame, said the 3rd block of pixels has the corresponding position, position with said first block of pixels in said present frame to said second reference frame in said second reference frame in said sequence of image data frames;
Confirm the quantity of same movement vector in said a plurality of candidate motion vector;
With said quantity and a threshold ratio;
If said quantity surpasses said threshold value, then set the value of the motion vector of said first block of pixels, said value equals the value of said identical candidate motion vector.
Embodiments of the invention provide a kind of method for estimating, comprising:
Execution is for first estimation of present frame in the sequence of image data frames, and said first estimation is carried out with reference to first set of reference frames, and said first set of reference frames in said sequence of image data frames was before said present frame;
Assess the result of said first estimation; And
According to said assessment result; Determine whether to carry out second estimation for said present frame; Said second estimation is carried out with reference to second set of reference frames that is different from said first set of reference frames, and said second set of reference frames is in said sequence of image data frames before said first set of reference frames;
Wherein, said first estimation comprises:
First block of pixels in the said present frame is confirmed a plurality of candidate motion vectors, and said candidate motion vector comprises at least two in following:
(a) with the motion vector of the said first block of pixels adjacent pixels piece;
(b) as the motion vector of the block of pixels of the superset of said first block of pixels;
(c) motion vector of second block of pixels; Said second block of pixels is as the latest the part of reference frame of frame in said first set of reference frames, and said second block of pixels has the corresponding position, position with said first block of pixels in said present frame in said reference frame; And
(d) motion vector of the calibration of the 3rd block of pixels; Said the 3rd block of pixels is the part of another reference frame; Said another reference frame is before the said frame the latest in said first set of reference frames, and said the 3rd block of pixels has the corresponding position, position with said first block of pixels in said present frame in said another reference frame;
Confirm the quantity of same movement vector in said a plurality of candidate motion vector;
With said quantity and a threshold ratio;
If said quantity surpasses said threshold value, then set the value of the motion vector of said first block of pixels, said value equals the value of said identical candidate motion vector;
And wherein, said first estimation also comprises:
Confirm the characteristic of an image data frame before said present frame in said frame sequence; And
According to determined characteristic, to select for employed match search figure of said present frame, the said image data frame before the said present frame is being close to before the said present frame in said frame sequence.
Description of drawings
Fig. 1 is the high-level block diagram according to the image data processing system of some embodiment;
Fig. 2 is the block diagram of the Data Compression part of system among Fig. 1;
Fig. 3 adopts the form of functional block to show the operation of the compressed encoding part of Fig. 2;
Fig. 4 A-4C forms flow chart jointly, shows the compressed encoding part motion estimation process performed according to some embodiment of Fig. 2;
Fig. 5 schematically shows in the motion estimation process of Fig. 4 A-4C, the hexagonal search pattern of using in some cases; And
In the motion estimation process of the schematically illustrated Fig. 4 A-4C of Fig. 6, the cross that in other situation, uses (cross) searching graphic.
Embodiment
Fig. 1 is the block diagram according to the image data processing system 100 of some embodiment.Image data processing system 100 comprises compressed encoding part 102, and it provides according to some embodiment.System 110 also comprises source of image data frames 104.Source of image data frames is coupled to the compressed encoding part, and being used for partly provides sequence of image data frames for compressed encoding.Source of image data frames can be, for example video camera, telecine, digital video tape reclaim equiment etc.
System 100 also comprises transmission channel 106.Compressed encoding partly is coupled to transmission channel, is used to provide the view data through compressed encoding.Transmission channel can also be used for the image data storage that sends to another position through the view data of compressed encoding and/or will pass through compressed encoding to recording medium (not illustrating separately).
Fig. 2 is the block diagram of the embodiment of Data Compression part 102.Compressed encoding part 102 can comprise processor 202.Processor 202 can be a general processor for example, such as custom microprocessor, and/or digital signal processor (DSP).Compressed encoding part 102 can also comprise memory device 204, and it is coupled to processor.Memory device 204 can stored program instruction, and said program command processor controls makes processor according to some embodiment carries out image data compression codings that are described below.
The compressed encoding part can also comprise working storage 206 (that is, the RAM-random access memory), and it is coupled to processor 202.
In another embodiment, compressed encoding part 102 can be implemented as application-specific IC (ASIC), and it is configured to according to some embodiment carries out image data compression codings that are described below.
Fig. 3 adopts the form of functional block to show the operation of compressed encoding part 102.
In Fig. 3, currently just represent with 302 at the input image data frame of compressed encoding.According to standard H.264, can handle each " macro block " (block of pixels of 16 * 16) respectively.In addition, if favourable, each macro block can be further divided into 8 * 16,16 * 8 or 8 * 8 piece.If also favourable, each piece of 8 * 8 can also be further divided into 8 * 4,4 * 8 or 4 * 4 piece.
No matter whether carried out again dividing, each macro block can adopt " in the frame " pattern perhaps " interframe " pattern (that is, infra-frame prediction or inter prediction) encode.304 expressions have been selected frame mode to particular block.Be illustrated in switch 306 between the prediction reference piece in reference block and the frame of inter prediction and select.The output of switch 306 is reference blocks of prediction.The reference block of prediction is from the frame of rebuilding, to take out; The frame of this reconstruction is the frame (unfiltered) when pre-treatment in the situation of infra-frame prediction 308; Or carried out filtering at 312 places and be stored in the previous frame 310 in 314, it also possibly be to be stored in 314 with one or more other previous frames.
In certain embodiments, can therefrom select to be up to 5 previous frame, the reference block of prediction is provided in inter-frame mode.These 5 previous frames can be called " Ref0 ", " Ref1 ", " Ref2 ", " Ref3 " and " Ref4 " according to the order opposite with the time.Ref0 can be the frame that in the sequence of image data frames of input, before the current just frame at compressed encoding, is close to most; Ref1 can be the frame that in this sequence of image data frames, before Ref0, is close to most; Ref2 can be the frame that in this sequence of image data frames, before Ref1, is close to most; Ref3 can be the frame that in this sequence of image data frames, before Ref2, is close to most; And Ref4 can be the frame that in this sequence of image data frames, before Ref3, is close to most.
Shown in 316, can use motion estimation algorithm to reference frame, be current block in present frame or best matching blocks or the sub-piece of sub-piece searching in reference frame.Below set forth the details of the motion estimation algorithm that provides according to some embodiment.Except the motion estimation algorithm of the following stated, the whole compression encoding processes shown in Fig. 3 on the whole can be according to conventional principles, and the principle of for example in standard H.264, being set forth is carried out.
The motion vector that employing is produced by motion estimation process 316 can carry out motion compensation 318 to reference frame, selects reference block.Through switching function 306, can reference block be applied to difference function 320, difference function 320 just deducts reference block from current the piece of compressed encoding.(noting, in frame mode, is the reference block that adopts from present frame.) adopt piece conversion (shown in 322) to carrying out conversion through from the piece of present encoding, deducting the difference data piece that reference block generates, and quantize resulting conversion coefficient, shown in 324.Then quantized transform coefficients is resequenced (piece 326) to improve code efficiency, then it is carried out entropy coding (piece 328).At this some place, obtained compression bit stream, it comprises the conversion coefficient through quantification, rearrangement, entropy coding, and identifies the for example side information of predictive mode, quantization step, block size, motion vector or the like.Then this bit stream is sent to network abstraction layer (NAL), is used for transmission or storage.
Rebuild branching process 330 and obtain quantized transform coefficients, and carry out re-quantization (piece 332), then the data of de-quantization are carried out inverse transformation (piece 334), generate difference data.At summation function 336 places,, generate the piece of rebuilding with difference data and reference block addition.The piece of resulting reconstruction can be used for the infra-frame prediction at 308 places, perhaps merges the frame that forms reconstruction with other pieces, carries out filtering at the frame of 312 pairs of reconstructions, and 314 it is stored as the reference frame that is used for inter prediction.
Fig. 4 A-4C common flow chart that forms the motion estimation algorithm 316 that Fig. 3 is shown is as according to some embodiment provided.
In Fig. 4 A, piece 402 expression for current just at a macro block setting in motion algorithm for estimating of the image data frame of compressed encoding.Piece 404 expressions apply to each possible different masses or sub-block size or shape with motion estimation algorithm, to allow from making the minimized angle of difference data amount select optimum block size/shape.In certain embodiments, each in the block size/shape of block size selection circulation 404 considerations 16 * 16,8 * 16,16 * 8,8 * 8,4 * 8,8 * 4 and 4 * 4.Consider that the different masses size sequence can follow the order that from 16 * 16 to 4 * 4 size descends, so that can utilize the motion vector information on upper strata.
Select nested reference frame loop 406 in the circulation 404 at block size, reference frame loop 406 makes considers the complete set of reference frames or the set of reference frames of brachymemma for current block/sub-piece.In certain embodiments, complete set of reference frames comprises Ref0, Ref1, Ref2, Ref3 and Ref4, and the set of reference frames of brachymemma comprises Ref0, Ref1 and Ref2.According to some embodiment, between the set of reference frames of complete set of reference frames and brachymemma, select according to the criterion of following description.See from another angle; Can consider that Ref0, Ref1 and Ref2 form first set of reference frames; All to check in all cases in certain embodiments it; And can consider that Ref3 and Ref4 form second (being more early in the reality) set of reference frames, in these embodiment, do not check it sometimes.It is " last " in the frame in first set of reference frames that Ref0 can be called; It is " middle " in the frame in first set of reference frames that Ref1 can be called; It is " the earliest " in the frame in first set of reference frames that Ref2 can be called; It is " back " in second set of reference frames that Ref3 can be called; It is " previous " in second set of reference frames that Ref4 can be called.The order of considering reference frame can be described in second in this section (that is, at first considering nearest).
As used in this used and subsidiary claim, " set of reference frames " is not to comprise more than one frame.
Therefore, just for the macro block of compressed encoding,, and, carry out following process for current for the current reference frame of considering for whole macro block of considering or sub-macro block.At first, at piece 408,, carry out statistical analysis for the motion vector that when motion estimation algorithm being applied to the current reference frame of considering, is generated.Can expected motion vector roughly obey the symmetry index distribution.Can suppose that motion vector is independent on directions X and Y direction, can be defined as thereby make combined probability distribute:
P MV(x,y)=P x(x)P Y(y) (1)
At this, P x(x) and P Y(y) be the probability distribution of motion vector on directions X and Y direction respectively.P x(x) and P Y(y) can obey exponential distribution as giving a definition
P (n)=λ is during n=0 (2a)
P (n)=(1/2) λ β | n|, n is not equal to (2b) at 0 o'clock
See that from the angle of the physical significance of probability distribution it is 1 restriction that equality (2) should satisfy probability summation in search window.In other words, if search window size is W, then at the n of scope-W in the W, the summation of P (n) equals 1.
The mean absolute value MV of motion vector MeanCan be defined as for the P (n) of the n of scope-W in the W (| summation n|+1).
From above-mentioned, below can obtaining:
λ=1/MV mean (3a)
β=1-(1/MV mean) (3b)
The probability Distribution Model of the motion vector in the current reference frame of considering can be from MV MeanDerive.(as well-known to those skilled in the art, " probability Distribution Model " of variable also can be called " probabilistic model " perhaps " distributed model ", and it is the scope of variable and relevant probability.) because in common frame sequence, MV MeanWhat change is quite slow, so MV MeanCan be as the parameter of the characteristic of predicting future frame (for example current frame of encoding).Motion vector is distributed in the diamond-shaped area probably.Therefore, can find the minimum diamond-shaped area at least 99% motion vector place.That is, can the value of obtaining M, it is to make to be not less than 0.99 minimum value for the summation at the P (n) of the n of scope-M in the M.This condition can also be expressed as:
λ(1+β+β 2+...+β M)>=0.99 (4)
Be noted that expression formula λ (1+ β+β 2+ ...+β M) can be according to MV MeanValue calculate because λ and β use MV Mean(equality (3)) that item is expressed.
The value of the resultant M of this process can also be called " ADL " (self-adaptive rhombic length).The ADL to the current reference frame of considering that calculates according to The above results is the output of the statistical analysis of piece 408.
At piece 410, assemble one group of candidate motion vector.In certain embodiments, this motion vector set comprise following all:
(A) from the current corresponding sports vector (amounting to 3) that is just coming: the piece on the left of the piece of the piece of the piece top of current consideration, top-right of the piece of current consideration and current consideration at the piece of each the following stated of the frame of compressed encoding; What know is that all the piece with current consideration is adjacent for these three pieces;
(B) (if the piece of current consideration is a macro block self, then there is not the piece as its superset in the corresponding sports vector as each piece of the superset of the piece of present encoding; If current consideration piece is 8 * 16 piece, then 16 * 16 of the frame of present encoding macro block is the superset of the piece of current consideration but for example; Similarly, if the piece of current consideration is 8 * 8 piece, then the superset of the piece of current consideration is 16 * 16,8 * 16 and 16 * 6 piece);
(C) in Ref0 in size with picture frame in the position on the motion vector of the corresponding block of pixels of block of pixels of current consideration; And
(D) superset of some candidate motion vectors; Wherein, each candidate motion vector all be through will calibrate (scaling) coefficient impose in Ref1, Ref2, Ref3 and Ref4 in each in size with picture frame in the position on the corresponding sports vector of the corresponding block of pixels of block of pixels of current consideration.Calibration coefficient in every kind of situation can and reference frame and present frame between temporal distance proportional.
At decision block 412, the maximum quantity of the candidate motion vector of confirming to be equal to each other, and confirm whether this motion vector quantity surpasses threshold value.If then shown in 414, think the motion vector that this general motion vector is the piece of current consideration.Otherwise the estimation of the then current piece of considering proceeds to decision block 416 (Fig. 4 B).At decision block 416, confirm whether the block of pixels of current consideration is zero piece (all pixel datas all equal 0).If think that then zero motion vector is the motion vector of the block of pixels of current consideration, shown in 418.Otherwise, then check each indicated reference pixel block of one of them candidate motion vector, confirm the difference between the reference pixel block of block of pixels and current check of current consideration.Temporarily will select as the block of pixels of (shown in 420) current consideration or the motion vector of present frame, and be described below it is further searched for, to find the reference pixel block of optimum Match with the corresponding candidate motion vector of minimal difference.
Next, confirm at decision block 422 whether at the 420 interim candidate motion vectors of selecting are zero motion vectors.If then shown in 424, use the cross search pattern that is described below in the reference frame of current consideration, to carry out the piece match search, to find the reference pixel block of optimum Match.Otherwise, then according to the statistical analysis (Fig. 4 A) of piece 408 and possibly determine whether to hope little region of search (judging 425) based on other factors.For example; As preliminary test, obtain mean value: the piece in the block of pixels left side of the piece of the block of pixels top of current consideration, top-right of the block of pixels of current consideration and current consideration for the corresponding sports vector of adjacent pixel blocks listed below in the frame of present encoding each.If this mean value hypothesis equals 4 at least, then adopt the hexagonal search pattern that is described below to carry out further piece match search.Otherwise, then will compare in 408 ADL and the threshold values (that is, 4) calculated, if ADL equals this threshold value at least, then adopt hexagonal search pattern (as Fig. 4 B 426 shown in).(otherwise that is, if ADL<this threshold value) then adopts cross search pattern, shown in 428.
Fig. 5 schematically shows an instance of hexagonal search pattern.At IEEETransactions on Circuits and Systems for Video Technology; Vol.12; No5; In May, 2002, the 349-355 page or leaf has also been described an instance of hexagonal search pattern in people such as Ce Zhu " Hexagon-Based Search Pattern for Fast Block Motion Estimation ".
In Fig. 5, each crosspoint of grid is all corresponding to a location of pixels in the reference frame of current consideration.In the search starting point 502 of initial hexagonal searching graphic center corresponding at the temporary transient indicated location of pixels of selecting of candidate motion vector of 420 (Fig. 4 B).Continuation is with reference to figure 5; In other 6 pixels 504,506,508,510,512,514 each has constituted the balance of initial hexagonal searching graphic; 502 two pixels of in these 6 pixels each or lateral separation search starting point, or range search starting point 502 two pixels and pixel of lateral separation up or down.To consider that with current the block of pixels of encoding compares respectively with corresponding each (candidate) reference pixel block of these seven initial search points; Confirm as " victor " then, with the corresponding search point of candidate's reference pixel block of the current block of pixels optimum Match of considering to encode.For this instance, postulated point 506 is victors.On victor's direction, carry out the expansion of hexagonal search pattern then, obtain the search point 516,518 and 520 that adds in this case.Confirm the victor among these three new points and previous victor 506 then.Still for this instance, postulated point 520 is new victors.Expanded search figure on this new victor's direction obtains new search point 522,524,526 in this case once more.Once more that these are new search point and up-to-date victor compare.Now hypothesis new one is taken turns at this, and point 520 remains the victor.Thereby; 4 points 528,530,532 and 534 in the little figure of and then victor 520 tops, below, both sides are compared each other; And with 520 compare, will select motion vector the victor in these 5 points as the current block of pixels of considering to encode.
Above-described hexagonal search pattern can provide effective search when big relatively regional of needs traversals.As another instance of hexagonal search pattern, can revolve around point 502 by 502,504,506,508,510,512 and 514 figures that form and to turn 90 degrees, so that the initial hexagonal searching graphic of replacement to be provided.
In Fig. 6, schematically show the instance of cross search pattern.
In Fig. 5, the crosspoint of grid each all corresponding to a location of pixels in the reference frame of current consideration.Search starting point 602 is corresponding to the indicated location of pixels of candidate motion vector in the temporary transient selection of 420 (Fig. 4 B).Continuation is with reference to figure 6, and the balance of initial cross search (being cross shape) shape comprises 4 points 604,606,608 and 610, these 4 points above the starting point 602 and then, below and both sides.To consider that with current the block of pixels of encoding compares respectively with corresponding each (candidate) reference pixel block of these 5 initial search points, confirm as the victor then with the corresponding search point of candidate's reference pixel block of the current block of pixels optimum Match of considering to encode.For this instance, postulated point 604 is victors.On victor's direction, carry out the expansion of cross search pattern then, obtain extra search point 612,614 and 616 in this case.Then, confirm victor in these 3 new search points and previous victor 604.For this instance, postulated point 612 is new victors once more.Expanded search figure on victor's direction obtains new search point 618,620 once more.(if 614 is victors, then will have 3 new search points).Next suppose considering that point 618 and 620: 612 still be the winner, thus the search end, and with the motion vector of 612 selections as the current block of pixels of considering to encode.
Above-described cross search pattern can provide effective search when relatively little regional of needs traversals.In certain embodiments, according to the Distribution Statistics of the motion vector in the reference frame before the current frame of encoding, can in hexagon figure and cross figure, select probably better searching graphic adaptively at least in part.This time prediction value that can be utilized in the motion vector distribution in the frame is early predicted possibly distribute in present frame.Replacedly, can use threshold value outside 4.
In case block of pixels in the present frame of handling and the current reference frame of considering have been confirmed motion vector, have just confirmed next whether (decision block 430, Fig. 4 C) has accomplished reference frame loop.This can comprise that determine whether should be through for example omitting Ref3 and Ref4 shortens reference frame loop from consider.When the consideration accomplished Ref2, just can carry out definite step of the above-mentioned latter, at this constantly, be the current pixel piece of present frame, confirmed each motion vector for Ref0, Ref1 and Ref2.
In certain embodiments, just can skip the consideration of Ref3 and Ref4 if meet the following conditions:
(A)|(2x?MV ref0)-MV Ref1|<T MV
(B)|(3x?MV ref0)-MV Ref2|<T MV
(C) Cost Ref0<Cost Ref1And
(D)Cost Ref0<Cost Ref2
In the above in the set condition, MV Ref0It is the motion vector of confirming for the block of pixels of present encoding with respect to Ref0; MV Ref1It is the motion vector of confirming for the block of pixels of present encoding with respect to Ref1; MV Ref2It is the motion vector of confirming for the block of pixels of present encoding with respect to Ref2; T MVBe to be used for reference frame loop to shorten the threshold value (T in certain embodiments, that judges MVCan equal 4).In addition, " Cost " is cost function, and it measures the cost that the block of pixels of present encoding is encoded, and it is that the block of pixels of present encoding is with respect to the difference for the determined motion vector of this frame reference pixel block in each reference frame pointed.In other words, " Cost " function representation in the block of pixels of present encoding and each reference frame the piece matching degree between the proposed reference pixel block.Should also be understood that for what whether above-mentioned 4 conditions satisfied and definitely constituted for reference to Ref0, Ref1 and Ref2 assessment for the result of the performed estimation of present frame (the current pixel piece of present frame more specifically).In other embodiments, the assessment of this estimation can adopt other modes to carry out.
If all 4 conditions all satisfy, then can reach a conclusion: the consideration of Ref1 and Ref2 can not obtain the better piece coupling than Ref0, and the consideration of Ref3 and Ref4 possibly obtain better piece coupling hardly.Therefore confirm and shorten reference frame loop through the consideration of skipping Ref3 and Ref4, so that save the completion of handling resource and accelerating estimation.
Therefore, at decision block 430, if the reference frame of just having considered is Ref4, if the reference frame of perhaps just having considered is Ref2 and satisfies for the condition that shortens reference frame loop, then reference frame loop ends.If reference frame loop does not have to finish, then the process of Fig. 4 A-4C turns back to 408 among Fig. 4 A, considers next (promptly next more morning) reference frame then.If reference frame loop ends, then process gets into decision block 432 from decision block 430 (Fig. 4 C).
It should be understood that in certain embodiments the sum of the reference frame of potential consideration can be the value beyond 5, and/or the reference frame quantity of when guaranteeing to skip reference frame according to the result who considers later reference frame, being skipped can be the value beyond 2.
At decision block 432, consider whether considered the block size/shape that all are different for the pixel macroblock of present encoding.If no, then the process of Fig. 4 A-4C returns 406, and considers next block size/shape.(otherwise that is, if considered all block size/shape), then process gets into the piece 434 among Fig. 4 C.
At piece 434, for coding current pixel macro block is selected best block size/shape (obtaining the block size/shape of optimum Match).In certain embodiments, this can realize accomplishing according to routine.Should also be understood that each size/shape for piece is selected optimum Match reference block from each reference block of the various reference frames considered.This also can realize accomplishing according to routine.Therefore accomplished the estimation of current macro now, and can the process of Fig. 4 A-4C be applied on the next macro block of present frame now.
Adopt with reference to the described process of figure 4A-4C, what estimation can be than other " fast " motion estimation algorithms execution is rapider, and aspect picture quality, can obtain analogous result.
The execution sequence of the various parts of this motion estimation algorithm can change from the order Fig. 4 A-4C.
The selection of the piece match search figure in piece 424 (Fig. 4 B) is not limited in 2 searching graphics, select, and can select in other searching graphics outside hexagonal search pattern and cross search pattern.
Said several embodiment only are for illustrative purposes.Said various characteristics do not need to use together, any one in these characteristics or a plurality of can be incorporated among the single embodiment.Therefore, those skilled in the art should recognize other embodiment that can realize having various changes and variation from this specification.

Claims (6)

1. method for estimating comprises:
First block of pixels in the present frame in the sequence of image data frames is confirmed a plurality of candidate motion vectors, and said candidate motion vector comprises at least two in following:
(a) with the motion vector of the said first block of pixels adjacent pixels piece;
(b) as the motion vector of the block of pixels of the superset of said first block of pixels;
(c) motion vector of second block of pixels; Said second block of pixels is a part that in said sequence of image data frames, is being close to the first reference image data frame before the said present frame, and said second block of pixels has the corresponding position, position with said first block of pixels in said present frame in said first reference frame; And
(d) motion vector of the calibration of the 3rd block of pixels; Said the 3rd block of pixels is the part of second reference frame; Before said first reference frame, said the 3rd block of pixels has the corresponding position, position with said first block of pixels in said present frame to said second reference frame in said second reference frame in said sequence of image data frames;
Confirm the quantity of same movement vector in said a plurality of candidate motion vector;
With said quantity and a threshold ratio;
If said quantity surpasses said threshold value, then set the value of the motion vector of said first block of pixels, said value equals the value of said identical candidate motion vector.
2. the method for claim 1, wherein said candidate motion vector comprise following each:
(a) motion vector separately of each in 3 block of pixels adjacent with said first block of pixels;
(b) as the motion vector of the block of pixels of the superset of said first block of pixels;
(c) motion vector of second block of pixels; Said second block of pixels is a part that in said sequence of image data frames, is being close to the first reference image data frame before the said present frame, and said second block of pixels has the corresponding position, position with said first block of pixels in said present frame in said first reference frame; And
(d) motion vector of the calibration of the 3rd block of pixels; Said the 3rd block of pixels is the part of second reference frame; Before said first reference frame, said the 3rd block of pixels has the corresponding position, position with said first block of pixels in said present frame to said second reference frame in said second reference frame in said sequence of image data frames.
3. method for estimating comprises:
Execution is for first estimation of present frame in the sequence of image data frames, and said first estimation is carried out with reference to first set of reference frames, and said first set of reference frames in said sequence of image data frames was before said present frame;
Assess the result of said first estimation; And
According to said assessment result; Determine whether to carry out second estimation for said present frame; Said second estimation is carried out with reference to second set of reference frames that is different from said first set of reference frames, and said second set of reference frames is in said sequence of image data frames before said first set of reference frames;
Wherein, said first estimation comprises:
First block of pixels in the said present frame is confirmed a plurality of candidate motion vectors, and said candidate motion vector comprises at least two in following:
(a) with the motion vector of the said first block of pixels adjacent pixels piece;
(b) as the motion vector of the block of pixels of the superset of said first block of pixels;
(c) motion vector of second block of pixels; Said second block of pixels is as the latest the part of reference frame of frame in said first set of reference frames, and said second block of pixels has the corresponding position, position with said first block of pixels in said present frame in said reference frame; And
(d) motion vector of the calibration of the 3rd block of pixels; Said the 3rd block of pixels is the part of another reference frame; Said another reference frame is before the said frame the latest in said first set of reference frames, and said the 3rd block of pixels has the corresponding position, position with said first block of pixels in said present frame in said another reference frame;
Confirm the quantity of same movement vector in said a plurality of candidate motion vector;
With said quantity and a threshold ratio;
If said quantity surpasses said threshold value, then set the value of the motion vector of said first block of pixels, said value equals the value of said identical candidate motion vector;
And wherein, said first estimation also comprises:
Confirm the characteristic of an image data frame before said present frame in said frame sequence; And
According to determined characteristic, to select for employed match search figure of said present frame, the said image data frame before the said present frame is being close to before the said present frame in said frame sequence.
4. method as claimed in claim 3, wherein, the step of the characteristic of said definite said previous frame comprises the Distribution Statistics of the motion vector of analyzing said previous frame.
5. method as claimed in claim 4, wherein, said selection step is included between hexagonal search pattern and the cross search pattern to be selected.
6. method as claimed in claim 5, wherein,
Said first set of reference frames is included in and is being close to said present frame 3 reference frames before in the said sequence of image data frames;
Said second set of reference frames is included in and is being close to said first set of reference frames 2 reference frames before in the said sequence of image data frames.
CN 200910222053 2004-10-14 2004-10-14 Rapid multiframe motion estimation adopting self-adaptive search strategy Expired - Fee Related CN101754012B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910222053 CN101754012B (en) 2004-10-14 2004-10-14 Rapid multiframe motion estimation adopting self-adaptive search strategy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910222053 CN101754012B (en) 2004-10-14 2004-10-14 Rapid multiframe motion estimation adopting self-adaptive search strategy

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200480044126.3A Division CN101061722B (en) 2004-10-14 2004-10-14 Fast multi-frame motion estimation with adaptive search strategies

Publications (2)

Publication Number Publication Date
CN101754012A CN101754012A (en) 2010-06-23
CN101754012B true CN101754012B (en) 2012-06-20

Family

ID=42480286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910222053 Expired - Fee Related CN101754012B (en) 2004-10-14 2004-10-14 Rapid multiframe motion estimation adopting self-adaptive search strategy

Country Status (1)

Country Link
CN (1) CN101754012B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5691775A (en) * 1995-03-30 1997-11-25 Intel Corporation Reduction of motion estimation artifacts
CN1221290A (en) * 1997-12-22 1999-06-30 大宇电子株式会社 Interlaced binary shape coding method and apparatus
CN1293518A (en) * 1999-10-19 2001-05-02 德国汤姆森-布兰特有限公司 Motion estimation method used for digital input video frequency signal
CN1302509A (en) * 1999-04-30 2001-07-04 皇家菲利浦电子有限公司 Low bit rate video coding method and system
CN1302510A (en) * 1999-04-30 2001-07-04 皇家菲利浦电子有限公司 Video encoding method with selection of B-frame encoding mode

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5691775A (en) * 1995-03-30 1997-11-25 Intel Corporation Reduction of motion estimation artifacts
CN1221290A (en) * 1997-12-22 1999-06-30 大宇电子株式会社 Interlaced binary shape coding method and apparatus
CN1302509A (en) * 1999-04-30 2001-07-04 皇家菲利浦电子有限公司 Low bit rate video coding method and system
CN1302510A (en) * 1999-04-30 2001-07-04 皇家菲利浦电子有限公司 Video encoding method with selection of B-frame encoding mode
CN1293518A (en) * 1999-10-19 2001-05-02 德国汤姆森-布兰特有限公司 Motion estimation method used for digital input video frequency signal

Also Published As

Publication number Publication date
CN101754012A (en) 2010-06-23

Similar Documents

Publication Publication Date Title
US8619855B2 (en) Fast multi-frame motion estimation with adaptive search strategies
JP4752631B2 (en) Image coding apparatus and image coding method
JP4127818B2 (en) Video coding method and apparatus
KR101177031B1 (en) Method and apparatus for minimizing number of reference pictures used for inter-coding
JP4898467B2 (en) Coding mode determination method and apparatus for variable block size motion prediction
RU2408161C1 (en) Method of image coding/image decoding, device of image coding/image decoding
CN101513071B (en) Method and apparatus for determining expected distortion in decoded video blocks
JP4851741B2 (en) Method and apparatus for encoding a sequence of source images
EP3554076B1 (en) Image decoding method with hierarchical reference picture selection
US20060159354A1 (en) Method and apparatus for predicting frequency transform coefficients in video codec, video encoder and decoder having the apparatus, and encoding and decoding method using the method
US20120057631A1 (en) Method and device for motion estimation of video data coded according to a scalable coding structure
US7924918B2 (en) Temporal prediction in video coding
JP2007267414A (en) In-frame image coding method, and apparatus thereof
WO2017122604A1 (en) Moving image encoding device, moving image encoding method, and recording medium for recording moving image encoding program
KR100597397B1 (en) Method For Encording Moving Picture Using Fast Motion Estimation Algorithm, And Apparatus For The Same
JP2011526757A (en) Image coding method and apparatus for implementing improved prediction, corresponding decoding method and apparatus, signal and computer program
JP4677932B2 (en) Moving picture coding method, moving picture coding apparatus, program, and medium
CN104754337B (en) Method for video coding
US9106917B2 (en) Video encoding apparatus and video encoding method
JP3940657B2 (en) Moving picture encoding method and apparatus and moving picture decoding method and apparatus
JPH0638194A (en) Encoder
CN101061722B (en) Fast multi-frame motion estimation with adaptive search strategies
JP4709179B2 (en) Encoding parameter selection method, encoding parameter selection device, encoding parameter selection program, and recording medium therefor
CN101754011B (en) Rapid multiframe motion estimation adopting self-adaptive search strategy
CN101754012B (en) Rapid multiframe motion estimation adopting self-adaptive search strategy

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120620

Termination date: 20171014

CF01 Termination of patent right due to non-payment of annual fee