CN101061722B - Fast multi-frame motion estimation with adaptive search strategies - Google Patents
Fast multi-frame motion estimation with adaptive search strategies Download PDFInfo
- Publication number
- CN101061722B CN101061722B CN200480044126.3A CN200480044126A CN101061722B CN 101061722 B CN101061722 B CN 101061722B CN 200480044126 A CN200480044126 A CN 200480044126A CN 101061722 B CN101061722 B CN 101061722B
- Authority
- CN
- China
- Prior art keywords
- image data
- frame
- data frame
- motion vector
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/533—Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
To conduct a RAM test during operation through the addition of few hardware resources without affecting memory-access performance by providing a save buffer for the RAM (memory), and conducting a test for each (or every two or four, etc.) word. A RAM test circuit includes a save register 16 for saving and retaining data in the RAM 13 during tests; an address comparison part 15 that detects if a requested address 32 and an address for use during the execution of the test match; and a data comparison part 18 for making comparisons to see if the test data written in the RAM is correct. First the RAM 13 is read and stored in the save register 16. Next, the test data is written into the RAM 13, the RAM is read, and the data comparison part 18 determines whether or not the data is normal. Then the data in the save register 16 is written back into the RAM 13. A series of these procedures is repeated if there is no RAM request or if the addresses match.
Description
Background technology
Motion compensation often is combined with Data Compression.An example 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 joint video team (JVT) exploitation that forms by the Video coding expert group (VCEG) of the telecommunication standardization sector (ITU-T) of the Motion Picture Experts Group of International Standards Organization (ISO) and International Telecommunications Union).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 the entropy coding, to be used for transmission and/or record.
In order to utilize the redundancy of time in the vision signal, even when having motion and/or mobile camera moving in image, 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 the search window) which block of pixels and current piece optimum Match of encoding in the definite formerly frame 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 so that the difference between current pixel piece and reference block minimize, thereby can so that the data volume that needs to send/record minimize.
A problem of motion compensation video compression coding is the required treating capacity of coding.Estimation can comprise a sizable part of processing load, when particularly adopting so-called " full search " algorithm.Also propose so-called " fast search " algorithm, wherein adopted the searching graphic (pattern) that dwindles, slightly reduced picture quality.
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 situations, 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 such as video camera, telecine, digital video tape reclaim equiment etc.
System 100 also comprises transmission channel 106.The compressed encoding partial coupling is used to provide the view data through compressed encoding to transmission channel.Transmission channel can also be used for will sending to through the view data of compressed encoding the another location and/or will storing through the view data of compressed encoding recording medium (not illustrating separately) into.
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 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 described program command control processor is so that processor is according to some embodiment carries out image data compression codings as 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 as 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 process respectively each " macro block " (block of pixels of 16 * 16).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.
Whether no matter carried out dividing, each macro block can adopt " in the frame " pattern or " interframe " pattern (that is, infra-frame prediction or inter prediction) to encode again.304 expressions have been selected frame mode to specific.Be illustrated between the reference block of inter prediction and the prediction reference piece in the frame with switch 306 and select.The output of switch 306 is reference blocks of prediction.The reference block of prediction is to take out from the frame of rebuilding, 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 previous frame 310 in 314, it also may 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 according to the order opposite with the time " Ref0 ", " Ref1 ", " Ref2 ", " Ref3 " and " Ref4 ".Ref0 can be the frame that was close to most before the current just frame at compressed encoding in the sequence of image data frames of input; Ref1 can be the frame that was close to most before Ref0 in this sequence of image data frames; Ref2 can be the frame that was close to most before Ref1 in this sequence of image data frames; Ref3 can be the frame that was close to most before Ref2 in this sequence of image data frames; And Ref4 can be the frame that was close to most before Ref3 in this sequence of image data frames.
Shown in 316, can use motion estimation algorithm to reference frame, best matching blocks or the sub-block in reference frame for the current block in present frame or sub-block searching.The details of the motion estimation algorithm that provides according to some embodiment below has been provided.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 setting forth in standard is H.264 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.By switching function 306, can be applied to difference function 320 with reference to piece, 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 by from the piece of present encoding, deducting the difference data piece that reference block generates, and quantize resulting conversion coefficient, shown in 324.Then the conversion coefficient that quantizes 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 for example side information of predictive mode, quantization step, block size, motion vector etc.Then this bit stream is sent to network abstraction layer (NAL), is used for transmission or storage.
Rebuild the conversion coefficient that branching process 330 obtains quantizing, 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, with difference data and reference block addition, generate the piece of rebuilding.The piece of resulting reconstruction can be used for the infra-frame prediction at 308 places, perhaps merge to form the frame of reconstruction with other pieces, carries out filtering at the frame of 312 pairs of reconstructions, and 314 it is stored as reference frame for inter prediction.
The common flow chart that forms the motion estimation algorithm 316 that Fig. 3 is shown of Fig. 4 A-4C is as providing according to some embodiment.
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 expression applies to each possible different masses or sub-block size or shape with motion estimation algorithm, to allow from so that the minimized angle of difference data amount is selected 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.The order of considering the different masses size can be followed the order that from 16 * 16 to 4 * 4 size descends, in order to 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 is so that consider complete set of reference frames or the set of reference frames of brachymemma for current block/sub-block.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, select between the set of reference frames of complete set of reference frames and brachymemma according to criterion described below.From another perspective, can consider that Ref0, Ref1 and Ref2 form the first set of reference frames, all to check it in all cases in certain embodiments, and can consider that Ref3 and Ref4 form second (being more early in the reality) set of reference frames, in these embodiments, sometimes it is not checked.It is " last " in the frame in the first set of reference frames that Ref0 can be called; Ref1 can be called " middle " in the frame that is in the first set of reference frames; It is " the earliest " in the frame in the first set of reference frames that Ref2 can be called; It is " rear " in the second set of reference frames that Ref3 can be called; It is " previous " in the second set of reference frames that Ref4 can be called.The order of considering reference frame can be described in in this section second (that is, at first considering nearest).
As used in this and used in the subsidiary claim, " set of reference frames " is not to comprise more than one frame.
Therefore, just for the macro block of compressed encoding, for the whole macro block of considering or sub-macro block, and for the current reference frame of considering, carry out following process for current.At first, at piece 408, for the motion vector that when motion estimation algorithm is applied to the current reference frame of considering, generates, carry out statistical analysis.Can expected motion vector roughly obey the symmetry index distribution.Can suppose that motion vector is independent on directions X and Y-direction, thereby so that combinative probability distribution can be defined as:
P
MV(x,y)=P
X(x)P
Y(y) (1)
At this, P
x(x) and P
Y(y) be respectively the probability distribution of motion vector on directions X and Y-direction.P
x(x) and P
Y(y) can obey such as undefined exponential distribution
P (n)=λ is during n=0 (2a)
P (n)=(1/2) λ β
| n|, n is not equal to (2b) at 0 o'clock
From the angle of the physical significance of probability distribution, it is 1 restriction that equation (2) should satisfy probability summation in search window.In other words, if search box 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 known to those skilled in the art, " probability Distribution Model " of variable also can be called " probabilistic model " or " 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 used as the parameter of the feature of predict future frame (for example current frame of encoding).Motion vector probably is distributed in the diamond-shaped area.Therefore, can find the minimum diamond-shaped area at least 99% motion vector place.That is, can the value of obtaining M, it is so that 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(equation (3)) that item is expressed.
The value of the resulting 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 at the piece of each the following stated of the frame of compressed encoding: 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; What know is that all the piece with current consideration is adjacent for these three pieces;
(B) (if the piece of current consideration is 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 block of pixels corresponding with the block of pixels of current consideration; And
(D) superset of some candidate motion vectors, wherein, each candidate motion vector be by 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 block of pixels corresponding with the block of pixels of current consideration.Calibration coefficient in each case can and reference frame and present frame between temporal distance proportional.
At decision block 412, determine the maximum quantity of the candidate motion vector that is equal to each other, and determine whether this motion vector quantity surpasses threshold value.If so, then shown in 414, think the motion vector that this general motion vector is the piece of current consideration.Otherwise then the estimation of the current piece of considering proceeds to decision block 416 (Fig. 4 B).At decision block 416, the block of pixels of determining current consideration is zero piece (all pixel datas all equal 0) whether.If so, 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, determine the difference between the reference pixel block of the block of pixels of current consideration and current check.Candidate motion vector that temporarily will be corresponding with minimal difference is selected as the block of pixels of (shown in 420) current consideration or the motion vector of present frame, and as described below it is further searched for, to find the reference pixel block of optimum Match.
Next, determine at the 420 interim candidate motion vectors of selecting zero motion vector whether at decision block 422.If so, then shown in 424, use cross search pattern as 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 may determine whether to wish little region of search (judging 425) based on other factors.For example, as preliminary test, obtain the mean value for the corresponding sports vector of adjacent pixel blocks listed below in the frame of present encoding each: 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.If this mean value hypothesis equals 4 at least, then adopt hexagonal search pattern as described below to carry out further piece match search.Otherwise, then will compare at 408 ADL that calculate and a threshold value (that is, 4), 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 example 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 example of hexagonal search pattern in the people such as Ce Zhu " Hexagon-Based SearchPattern for Fast Block Motion Estimation ".
In Fig. 5, each crosspoint of grid is 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 candidate motion vector of selecting of 420 (Fig. 4 B).Continuation is with reference to figure 5, in other 6 pixels 504,506,508,510,512,514 each has consisted of 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 up or down two pixels and pixel of lateral separation.Each (candidate) reference pixel block that will be corresponding with these seven initial search points is considering that with current the block of pixels of encoding compares respectively, then, with the corresponding search point of current candidate's reference pixel block of considering the block of pixels optimum Match of encoding be defined as " victor ".For this example, postulated point 506 is victors.Then carry out the expansion of hexagonal search pattern in victor's direction, obtain in this case the search point 516,518 and 520 that adds.Then determine the victor among these three new points and previous victor 506.Or for this example, 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 again.The search point that these are new and up-to-date victor compare again.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 mutually, and with 520 compare, the victor in these 5 points is selected the motion vector of considering the block of pixels of encoding as current.
Above-described hexagonal search pattern can provide effective search when relatively large regional of needs traversals.As another example of hexagonal search pattern, can be around 502 90-degree rotation, so that the initial hexagonal searching graphic of replacement to be provided by 502,504,506,508,510,512 and 514 figures that form.
In Fig. 6, schematically show the example of cross search pattern.
In Fig. 5, the crosspoint of grid each 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.Each (candidate) reference pixel block that will be corresponding with these 5 initial search points is considering that with current the block of pixels of encoding compares respectively, then with the corresponding search point of current candidate's reference pixel block of considering the block of pixels optimum Match of encoding is defined as the victor.For this example, postulated point 604 is victors.Then carry out the expansion of cross search pattern in victor's direction, obtain in this case extra search point 612,614 and 616.Then, determine victor in these 3 new search points and previous victor 604.For this example, postulated point 612 is new victors again.Expanded search figure on victor's direction obtains new search point 618,620 again.(if 614 is victors, then will have 3 new search points).Next suppose considering point 618 and 620: 612 or the winner, thereby search finishes, and with 612 selections as the current motion vector of considering the block of pixels of encoding.
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 current frame of encoding, can in hexagon figure and cross figure, select probably adaptively better searching graphic at least in part.This can utilize the time prediction value of the motion vector distribution in frame early to predict may distribute in present frame.Replacedly, can use threshold value outside 4.
In case the block of pixels in the present frame of processing and the current reference frame of considering have been determined motion vector, have just determined next whether (decision block 430, Fig. 4 C) has finished reference frame loop.This can comprise that determine whether should be by for example omitting Ref3 and Ref4 shortens reference frame loop from consider.When the consideration finished Ref2, just can carry out definite step of the above-mentioned latter, at this constantly, be the current pixel piece of present frame, determined 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)|(2×MV
ref0)-MV
Ref1|<T
MV;
(B)|(3×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 with respect to Ref0 of determining for the block of pixels of present encoding; MV
Ref1It is the motion vector with respect to Ref1 of determining for the block of pixels of present encoding; MV
Ref2It is the motion vector with respect to Ref2 of determining for the block of pixels of present encoding; T
MVTo shorten threshold value (in certain embodiments, the T that judges for reference frame loop
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 consisted of the assessment for the result of the performed estimation of present frame (more specifically, the current pixel piece of present frame) for reference Ref0, Ref1 and Ref2.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 may obtain better piece coupling hardly.Therefore determine and shorten reference frame loop by the consideration of skipping Ref3 and Ref4, process resource and accelerate finishing of estimation in order to save.
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 finish, then the process of Fig. 4 A-4C turns back to 408 among Fig. 4 A, then considers next (i.e. next more morning) reference frame.If reference frame loop ends, then process enters 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 when the reference frame quantity of skipping when considering that the result of the reference frame in evening guarantees to skip reference frame can be 2 in addition values.
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 enters 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 finishing 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 finishing according to routine.Therefore finished now the estimation of current macro, and the process of Fig. 4 A-4C can 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 can obtain analogous result aspect picture quality.
The execution sequence of the various parts of this motion estimation algorithm can change in the order from 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 to be selected, and can select in other searching graphics outside hexagonal search pattern and cross search pattern.
Several embodiment described herein only is for illustrative purposes.Various feature described herein does not need to use together, any one in these features 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 modifications and variations from this specification.
Claims (16)
1. method of selecting piece match search figure comprises:
The Distribution Statistics of the motion vector that the motion compensation of inspection in the first image data frame adopted, described inspection step is used for being created on the distributed model of motion vector described in described the first image data frame; And
At least in part according to described distributed model, selection is for employed match search figure of the second image data frame, wherein, when described distributed model indicates that motion vector is small-sized distribution described in described the first image data frame, selection is for the employed first match search figure of described the second image data frame, when described distributed model indicates that motion vector is not small-sized distribution described in described the first image data frame, selection is for the employed second match search figure of described the second image data frame, described the second image data frame is in sequence of image data frames after described the first image data frame, wherein said first match search figure can provide effective search when relatively little regional of needs traversals, described second match search figure can provide effective search when relatively large regional of needs traversal.
2. the method for claim 1, wherein described selection step is included between hexagonal search pattern and the cross search pattern and selects.
3. the method for claim 1, wherein described inspection step comprises the mean value that calculates the motion vector that the motion compensation in described the first image data frame adopts.
4. the method for claim 1, wherein described inspection step comprises the size of calculating at least 99% the diamond-shaped area be included in motion vector that the motion compensation in described the first image data frame adopts.
5. the method for claim 1 also comprises:
Determine for the employed motion vector of the pixel data blocks of described the second image data frame, described determining step adopts selected match search figure to carry out.
6. method as claimed in claim 5 also comprises:
Described pixel data blocks to described the second image data frame is carried out the motion compensation compressed encoding, and described motion compensation compressed encoding has utilized the employed motion vector of described pixel data blocks for described the second image data frame.
7. method of selecting piece match search figure comprises:
Determine the feature of the first image data frame, wherein, described determining step comprises the Distribution Statistics of the motion vector of analyzing described the first image data frame; And
According to determined feature, at employed first match search figure and select between employed second match search figure for described the second image data frame for the second image data frame, wherein, when determined feature indicates that motion vector is small-sized distribution described in described the first image data frame, selection is for the employed first match search figure of described the second image data frame, when determined feature indicates that motion vector is not small-sized distribution described in described the first image data frame, selection is for the employed second match search figure of described the second image data frame, described the second image data frame is being close in sequence of image data frames after described the first image data frame, wherein said first match search figure can provide effective search when relatively little regional of needs traversals, described second match search figure can provide effective search when relatively large regional of needs traversal.
8. method as claimed in claim 7, wherein, described selection step is included between hexagonal search pattern and the cross search pattern to be selected.
9. method as claimed in claim 7 also comprises,
Determine for the employed motion vector of the pixel data blocks of described the second image data frame described selected match search figure execution of step employing of determining for the employed motion vector of pixel data blocks of described the second image data frame.
10. method as claimed in claim 9 also comprises,
Described pixel data blocks to described the second image data frame is carried out the motion compensation compressed encoding, and described motion compensation compressed encoding has utilized the employed motion vector of described pixel data blocks for described the second image data frame.
11. an equipment of selecting piece match search figure comprises:
For the module of the Distribution Statistics that checks the motion vector that adopts in the motion compensation of the first image data frame, described module for checking is used for being created on the distributed model of motion vector described in described the first image data frame; And
Be used at least in part according to described distributed model, selection is for the module of employed match search figure of the second image data frame, wherein, when described distributed model indicates that motion vector is small-sized distribution described in described the first image data frame, selection is for the employed first match search figure of described the second image data frame, when described distributed model indicates that motion vector is not small-sized distribution described in described the first image data frame, selection is for the employed second match search figure of described the second image data frame, described the second image data frame is in sequence of image data frames after described the first image data frame, wherein said first match search figure can provide effective search when relatively little regional of needs traversals, described second match search figure can provide effective search when relatively large regional of needs traversal.
12. equipment as claimed in claim 11, wherein, described module for selecting comprises the module of selecting between hexagonal search pattern and cross search pattern.
13. equipment as claimed in claim 11, wherein, described module for checking comprises the module of size that is included at least 99% diamond-shaped area of motion vector that the motion compensation of described the first image data frame adopts for calculating.
14. a fast multi-frame method for estimating comprises:
Execution is for the first estimation of present frame in the sequence of image data frames, and described the first motion estimation reference the first set of reference frames is carried out, and described the first set of reference frames in described sequence of image data frames was before described present frame;
Assess the result of described the first estimation; And
According to described assessment result, determine whether to carry out the second estimation for described present frame, described the second motion estimation reference is different from the second set of reference frames of described the first set of reference frames to be carried out, and described the second set of reference frames is in described sequence of image data frames before described the first set of reference frames;
Wherein, described the first estimation comprises:
The first block of pixels in the described present frame is determined a plurality of candidate motion vectors, and described candidate motion vector comprises with lower two at least:
(a) motion vector of the block of pixels adjacent with described the first block of pixels;
(b) as the motion vector of the block of pixels of the superset of described the first block of pixels;
(c) motion vector of the second block of pixels, described the second block of pixels is as the latest the part of reference frame of frame in described the first set of reference frames, and described the second block of pixels has the position corresponding with the position of described the first block of pixels in described present frame in described reference frame; And
(d) motion vector of the calibration of the 3rd block of pixels, described the 3rd block of pixels is the part of another reference frame, described another reference frame is before the described frame the latest in described the first set of reference frames, and described the 3rd block of pixels has the position corresponding with the position of described the first block of pixels in described present frame in described another reference frame;
Determine the quantity of same movement vector in described a plurality of candidate motion vector;
With described quantity and a threshold ratio;
And wherein, described the first estimation also comprises:
Determine the feature of an image data frame before described present frame in described frame sequence, wherein, describedly determine that in described frame sequence the step in the feature of an image data frame before the described present frame comprises the Distribution Statistics of the motion vector of the described image data frame before analyzing described present frame; And
According to determined feature, selection is for employed match search figure of described present frame, wherein, when motion vector is small-sized distribution described in the described image data frame before determined feature is indicated described present frame, selection is for the employed first match search figure of described present frame, when motion vector is not small-sized distribution described in the described image data frame before determined feature is indicated described present frame, selection is for the employed second match search figure of described present frame, described image data frame before the described present frame is being close to before the described present frame in described frame sequence, wherein said first match search figure can provide effective search when relatively little regional of needs traversals, described second match search figure can provide effective search when relatively large regional of needs traversal.
15. method as claimed in claim 14, wherein, described selection step is included between hexagonal search pattern and the cross search pattern to be selected.
16. method as claimed in claim 15, wherein,
Described the first set of reference frames is included in and is being close to described present frame 3 reference frames before in the described sequence of image data frames;
Described the second set of reference frames is included in and is being close to described the first set of reference frames 2 reference frames before in the described sequence of image data frames.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2004/001172 WO2006039843A1 (en) | 2004-10-14 | 2004-10-14 | Fast multi-frame motion estimation with adaptive search strategies |
Related Child Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910222052 Division CN101754011B (en) | 2004-10-14 | 2004-10-14 | Rapid multiframe motion estimation adopting self-adaptive search strategy |
CN201210109252.9A Division CN102685495B (en) | 2004-10-14 | 2004-10-14 | Rapid multiframe motion estimation adopting self-adaptive search policy |
CN 200910222053 Division CN101754012B (en) | 2004-10-14 | 2004-10-14 | Rapid multiframe motion estimation adopting self-adaptive search strategy |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101061722A CN101061722A (en) | 2007-10-24 |
CN101061722B true CN101061722B (en) | 2013-03-27 |
Family
ID=36148039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480044126.3A Expired - Fee Related CN101061722B (en) | 2004-10-14 | 2004-10-14 | Fast multi-frame motion estimation with adaptive search strategies |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN101061722B (en) |
DE (1) | DE112004002977T5 (en) |
WO (1) | WO2006039843A1 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9313526B2 (en) | 2010-02-19 | 2016-04-12 | Skype | Data compression for video |
US9078009B2 (en) | 2010-02-19 | 2015-07-07 | Skype | Data compression for video utilizing non-translational motion information |
US9819358B2 (en) | 2010-02-19 | 2017-11-14 | Skype | Entropy encoding based on observed frequency |
US9609342B2 (en) | 2010-02-19 | 2017-03-28 | Skype | Compression for frames of a video signal using selected candidate blocks |
CN102387361B (en) * | 2010-09-02 | 2016-06-01 | 乐金电子(中国)研究开发中心有限公司 | The reference frame processing method of coding and decoding video and Video Codec |
CN102045568B (en) * | 2010-12-30 | 2012-08-08 | 福州瑞芯微电子有限公司 | Matching circuit structure and method for realizing diagonal matching motion estimation by double-slant grid scanning |
CN104811726B (en) * | 2015-04-24 | 2018-12-18 | 宏祐图像科技(上海)有限公司 | The candidate motion vector selection method of estimation in frame per second conversion |
CN106604028A (en) * | 2015-10-16 | 2017-04-26 | 中兴通讯股份有限公司 | Encoding processing method and device, decoding processing method and device, encoder, and decoder |
CN111652905B (en) * | 2020-04-27 | 2023-07-07 | 长春理工大学 | One-dimensional block matching motion estimation method and device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1151664A (en) * | 1995-08-16 | 1997-06-11 | 索尼公司 | Method and apparatus for setting search range for detecting motion vectors utilized for encoding picture data |
CN1318948A (en) * | 2000-03-28 | 2001-10-24 | 日本电气株式会社 | Device and method for searching motion vector |
CN1381145A (en) * | 2000-03-23 | 2002-11-20 | 皇家菲利浦电子有限公司 | Motion estimation algorithm |
CN1518363A (en) * | 2003-01-10 | 2004-08-04 | ��ʽ���������Ƽ� | Motion detection device and search area variable motion detecter |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE230140T1 (en) * | 1998-09-07 | 2003-01-15 | Thomson Multimedia Sa | MOTION ESTIMATION METHOD FOR REDUCING TRANSMISSION COSTS OF MOTION VECTORS |
CN1147159C (en) * | 1999-04-27 | 2004-04-21 | 三星电子株式会社 | Method and device for evaluate high speed motion of real time motion image coding |
WO2001054418A1 (en) * | 2000-01-21 | 2001-07-26 | Nokia Corporation | A motion estimation method and a system for a video coder |
-
2004
- 2004-10-14 DE DE112004002977T patent/DE112004002977T5/en not_active Withdrawn
- 2004-10-14 CN CN200480044126.3A patent/CN101061722B/en not_active Expired - Fee Related
- 2004-10-14 WO PCT/CN2004/001172 patent/WO2006039843A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1151664A (en) * | 1995-08-16 | 1997-06-11 | 索尼公司 | Method and apparatus for setting search range for detecting motion vectors utilized for encoding picture data |
CN1381145A (en) * | 2000-03-23 | 2002-11-20 | 皇家菲利浦电子有限公司 | Motion estimation algorithm |
CN1318948A (en) * | 2000-03-28 | 2001-10-24 | 日本电气株式会社 | Device and method for searching motion vector |
CN1518363A (en) * | 2003-01-10 | 2004-08-04 | ��ʽ���������Ƽ� | Motion detection device and search area variable motion detecter |
Also Published As
Publication number | Publication date |
---|---|
DE112004002977T5 (en) | 2007-09-20 |
WO2006039843A1 (en) | 2006-04-20 |
CN101061722A (en) | 2007-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100727989B1 (en) | Method and apparatus for inter-mode decision in video coding | |
KR100728031B1 (en) | Method and apparatus for deciding encoding mode for variable block size motion estimation | |
JP4752631B2 (en) | Image coding apparatus and image coding method | |
US8619855B2 (en) | Fast multi-frame motion estimation with adaptive search strategies | |
KR101208863B1 (en) | Selecting encoding types and predictive modes for encoding video data | |
US8391362B2 (en) | Motion vector estimation apparatus and motion vector estimation method | |
EP3399747B1 (en) | Decoding method | |
US9066099B2 (en) | Methods for efficient implementation of skip/direct modes in digital video compression algorithms | |
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 | |
US7924918B2 (en) | Temporal prediction in video coding | |
US20060120455A1 (en) | Apparatus for motion estimation of video data | |
US20120076207A1 (en) | Multiple-candidate motion estimation with advanced spatial filtering of differential motion vectors | |
US20070217702A1 (en) | Method and apparatus for decoding digital video stream | |
KR20050053297A (en) | Method and apparatus of video encoding | |
US20060171680A1 (en) | Image processing apparatus and method | |
US20060140275A1 (en) | Motion vector operation devices and methods including prediction | |
CN101061722B (en) | Fast multi-frame motion estimation with adaptive search strategies | |
JP4294743B2 (en) | Motion vector search apparatus and moving picture coding apparatus | |
US20100309978A1 (en) | Video encoding apparatus and video encoding method | |
CN104754337A (en) | Video encoding method | |
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 | |
CN102685495B (en) | Rapid multiframe motion estimation adopting self-adaptive search policy | |
JP2002010260A (en) | Motion vector detection method and motion picture encoding apparatus | |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130327 Termination date: 20171014 |