throbber
des brevets (11)
`
`Patentamt
`Europaisches
`European
`Patent Office
`Office européen
`
`EUROPEANPATENT APPLICATION
`
`(1 9)
`
`(12)
`
`(43) Date of publication:
`08.04.2009 Bulletin 2009/15
`
`(51) Int CL:
`HOAN 7/26 (2006.01)
`
`EP 2 046 047 A1
`
`(21) Application number: 07301432.6
`
`(22) Date offiling: 04.10.2007
`
`(84) Designated Contracting States:
`AT BE BG CH CY CZ DE DK EE ES FIFR GB GR
`HU IE ISITLILT LU LV MC MT NL PL PT ROSE
`SISK TR
`
`Designated Extension States:
`AL BA HR MK RS
`
`(71) Applicant: Thomson Licensing
`92100 Boulogne-Billancourt (FR)
`
`Inventors:
`(72)
`* Zou, Jilin
`100085 Beijing (CN)
`
`
`
`¢ Yang, Libo
`100085 Beijing (CN)
`¢ Chen, Zhi Bo
`100085 Beijing (CN)
`
`(74) Representative: Rittner, Karsten
`Deutsche Thomson OHG
`
`European Patent Operations
`Karl-Wiechert-Allee 74
`
`30625 Hannover (DE)
`
`(54) Method and device for performing motion estimation
`
`(57)—In motion estimation, the number of search
`
`TH8 with TH1<TH2<THS3), and depending on the results
`points should be kept low in order to accelerate the ME
`of the comparison, skips further search stepsif the first
`process, while the flexibility of the ME process should be
`threshold (TH1) is met, or performs a simple nearby
`improved and the complexity of the required hardware
`search if not the first but the second threshold (TH2) is
`reduced. A method for performing motion estimation for
`met, or performs a wider range search before said simple
`a picture element selects an initial reference element
`nearby searchif also not the second threshold is met.
`having an initial distortion value, comparesthe initial dis-
`The wider range search comprises selecting, depending
`tortion value with three different thresholds (TH1,TH2,
`on the third threshold (TH3), one among two different
`search patterns with horizontally different search ranges.
`
`fe
`
`S4|Diamond refinement
`
`y eT
`eanSADSTHI?o>
`N
`
`gq!
`END
`
`||i |
`
`
`
`Select point with minSAD |
`| (SADm) as initial search center
`L S2
`n<TH1?
`
`|L
`
`-
`
`Y aSiADn
`N
`EN ep
`“<<SADm< TH27>
`_¥_N
`Y eemo, a.
`N
`=SADm<TH3?
`Ww——~<~"Canter is optimal ?7_->——
`ee
`eeel
`
` aphex. r_N
`
`PNEX,
`|
`12-p hexagon
`
`
`search |
`search
`$3b
`83a
`|
`
`
`EP2046047Al
`
`Fig.2
`
`Printed by Jouve, 75001 PARIS (FR)
`
`

`

`EP 2 046 047 A1
`
`Description
`
`Field of the invention
`
`[0001] This invention relates to a method and a device for performing motion estimation, which is a sub-processwithin
`predictive video encoding.
`
`Background
`
`10
`
`15
`
`20
`
`25
`
`30
`
`[0002] Motion estimation aims at determining for a current picture element, e.g. macroblock (MB), another picture
`element that showssimilarities in terms of luminance/chrominance values and that will be decoded earlier, so that it can
`be used for reconstruction of the current picture elementat the decoder. Usually the single pixels of the current and the
`previously encoded picture element are compared to each other, and the absolute difference values are calculated and
`added up. The sum, known as sum-of-absolute-differences (SAD), gives a measure for the similarity, or rather the
`distortion. This is because one of the previously encoded elements is chosen as reference for encoding the current
`picture element, where the encoding comprises defining the reference element, calculating the pixel differences or
`residual and encoding the residual. The definition of the reference element is usually done by a motion vector (MV) as
`result of a motion estimation (ME) process. The MV is then transmitted together with the residual.
`[0003] Motion estimation is a very complex process that uses many search points. Conventional motion estimation
`therefore requires complex hardware or long processing time. Thus it is often limited with respect to the search range
`or processing time. Usually, a certain range around the corresponding picture element of a previous picture is defined
`as search area. In "Predictive block matching discrepancy based rhombus pattern searchfor block motion estimation",
`IEEE 2005, Jang-Jer Tsai and Hsin-Chia Chen apply a threshold to the minimum of zero-MV (ZMV) and predicted MV
`(PMV), and alsoto all further search points in subsequent searches. If a distortion value or SADis below the threshold,
`the search is terminated.
`
`[0004] Though numerous other fast algorithms have been proposed to improve the speed of ME, including three step
`search, four step search, diamond search and hexagon-based search, theystill can’t meet the requirements of real-time
`applications by software. Thus, also an optimized hardware structure is desirable.
`
`Summary of the Invention
`
`35
`
`It is desirable to accelerate the ME process. On the other hand, the flexibility of the ME process should be
`[0005]
`improved. It is particularly desirable to find a solution that achieves both these goals. The present invention as disclosed
`in claim 1 provides such solution.
`[0006] Basically, the number of search points is a criterion of fast ME algorithm. Therefore the present invention
`reduces the search points as much as possible while maintaining performance degradation acceptable. Besides, data
`reuse and I/O bandwidth have also been considered for complexity evaluation in hardware implementation.
`[0007] According to the invention, a method for performing motion estimation for a current picture element comprises
`steps of
`40
`selecting an initial reference element based onafirst initial motion vector and having an initial distortion value when
`compared with the current picture element,
`comparing the initial distortion value with different first, second and third thresholds, wherein subsequent thresholds
`indicate more distortion than previous, and
`depending on the results of the comparison skipping further search stepsif the first threshold is met(i.e. initial distortion
`is below a minimum), or performing a simple nearby search, e.g. diamond search or rhombus search, if not the first but
`the second threshold is met, or performing a wide search before said simple nearby search if also not the second
`threshold is met, wherein the wide search comprises selecting, depending on the third threshold, one among twodifferent
`search patterns with horizontally different search ranges.
`[0008]
`In one embodiment, the step of selecting an initial reference element comprises steps of
`calculating a first distortion value for a first position based on a first initial motion vector, e.g. zero MV, calculating a
`second distortion value for a second position based on different a second initial motion vector, e.g. a predicted motion
`vector either from a previous picture or neighbor blocks, and
`selecting among the first and second position the one that better matchesthe picture element, based on said first and
`second distortion values. The corresponding distortion value is then selected asinitial distortion value.
`[0009]
`In one embodiment, the method further comprises steps of determining that the wider range search yields a
`position with lower distortion than the initial distortion value,
`selecting the position with lowest distortion as new search centre,
`performing an additional horizontal hexagon search around the new search centre, and
`
`45
`
`50
`
`55
`
`

`

`EP 2 046 047 A1
`
`selecting as updated new search centrefor the final simple nearby search the position with the lowest distortion value.
`[0010]
`Further,it is also desirable to reduce the complexity of the required hardware.
`[0011] According to another aspect of the invention, pairs of horizontally adjacent search points can be processed
`simultaneously. For this purpose, the ME hardware may be doubled. This feature reduces the number of processing
`cycles for a given number of search points drastically. It is particularly advantageous to use horizontally neighbouring
`search points, since this makesit easier to implement search patterns with horizontal range higher than vertical range,
`which reflects the higher probability of horizontal motion within natural video scenes.
`[0012] According to one aspect of the invention, a device for performing motion estimation for a current picture element
`comprises
`means for selecting an initial reference element based on a firstinitial motion vector, the initial reference element having
`an initial distortion value when compared with the current picture element,
`means for comparing the initial distortion value with different first, second and third thresholds, wherein subsequent
`thresholds indicate more distortion than previous,
`means for skipping further search stepsif the first threshold is met(i.e. initial distortion is below a minimum),
`means for performing a simple nearby search, e.g. diamond search or rhombus search, if not the first but the second
`threshold is met, and
`means for performing a wide range search before said simple nearby search if also not the second threshold is met,
`wherein the meansfor performing a wide range search comprises means for selecting, depending on the third threshold,
`one among twodifferent search patterns with horizontally different search ranges.
`[0013]
`In one embodiment, the meansfor selecting an initial reference element comprises
`means for calculating a first distortion value for a first position based on a first initial motion vector, e.g. zero MV,
`means for calculating a second distortion value for a second position based on different a second initial motion vector,
`é.g. a predicted motion vector either from a previous picture or neighbor blocks, and
`means for selecting among the first and second position the one that better matchesthe picture element, based on said
`first and second distortion values. The corresponding distortion value is then selected asinitial distortion value by a
`selection means.
`
`In one embodiment, the device further comprises
`[0014]
`means for determining that the wider range search yields a position with lower distortion than the initial distortion value,
`means for selecting the position with lowest distortion as new searchcentre,
`means for performing an additional horizontal hexagon search around the new search centre, and
`means for selecting as updated new search centre forthe final simple nearby search the position with the lowestdistortion
`value.
`
`Each of the above-mentioned means may be software means or hardware means.
`[0015]
`[0016] Advantageous embodiments of the invention are disclosed in the dependentclaims, the following description
`and the figures.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`
`Brief description of the drawings
`
`40
`
`[0017]
`show in
`
`Exemplary embodiments of the invention are described with reference to the accompanying drawings, which
`
`45
`
`50
`
`55
`
`Fig.1 the framework of a video compression system;
`
`Fig.2 a flowchart of the general motion estimation process according to the invention;
`
`Fig.3 the generation of the initial predicted MV;
`
`Fig.4 a typical small diamond refinement process;
`
`Fig.6 a flowchart of an enhanced motion estimation process according to the invention;
`
`Fig.6 extended hexagon search patterns;
`
`Fig.7 a block diagram of a processing elementfor parallel processing of two adjacent search points; and
`
`Fig.8 an exemplary hardware architecture of the fast motion estimation unit.
`
`

`

`
`Detailed description of the invention
`
`EP 2 046 047 A1
`
`Fig.1 shows the framework of a video compression system. The motion estimation block is the heart of the
`[0018]
`video compression system, and it is also useful in some modules of video pre-analysis like complexity analysis, ROI
`(region of interest) extraction, true motion detection, etc. However, the computational complexity of ME is pretty high,
`which often preventsit from real-time applications. Although mostof the available ME algorithms improve the speed of
`ME greatly, theystill can’t meet the requirements of real-time applications by software.
`It is necessary to introduce
`hardware implementation to further speed up the ME process, but these fast ME algorithms rarely address hardware
`implementation constraints. A good fast ME algorithm can improve search speed by reducing search points, decreasing
`data throughput and storage.
`[0019]
`In a general video compression system framework, an input video frame is compared with a reconstructed,
`previously encoded video frame, and the difference or residual is transformed, scaled and quantized TSQ. Then the
`encoder performs inverse quantization, inverse scaling, inverse transforming iTSQ and deblocking D, in order to recon-
`struct a video frame for the next prediction. The reconstructed frame is motion compensated C, wherein MVsare applied
`to obtain a temporal prediction, and the result is used as reference for the next frame. The entropy coder EC encodes
`the transformed, scaled and quantized input video and the MVs, which is sufficient for the decoder to reconstruct the
`original video. The better the ME process works, the higher is the compression efficiency of the whole encoding process.
`Therefore it is vital to find the best matching reference block for any current MB. This requires usually very complex
`computations.
`[0020] To reduce the computational complexity of ME in a hardware (HW) implementation, this invention provides a
`compact fast ME approach with low memory bandwidth and fast search speed. Memory bandwidth is important since
`the reference data must usually be retrieved from external memories, which takes time. A simplified search pattern and
`early termination is used. The computational load can further be reduced byutilizing a parallel processing architecture.
`The sum-of-absolute-differences (SAD) of two adjacent search positions (preferably horizontal, but in principle also
`vertical) can be calculated simultaneously, therefore the "HW equivalent” average number of search points can be further
`reduced. Compared with full search algorithm (search range +32 pixel, integer search, the number offull search points
`per MB is 65x65=4225), the disclosed method can reducethe search pointsto 8.4 (from processing time or HW equivalent
`point of view: one effective search pair can be considered as one search point, which can be executed simultaneously),
`with a maximum average PSNR degradation of 0.05dB and max. bit rate increase of 3.3%. In the fast ME architecture,
`there are less, e.g. only 32, cycles to finish the SAD calculation of one MV with a 64 bit data bus. The PSNR performance
`of the newalgorithm is suitable for video compression, and its HW architecture is small and fast.
`[0021]
`In one aspect, owing to a novel memory schemefor video data in the search area, parallel processing on the
`two adjacent search positions is possible without additional HW resource, thus improving the speed of ME greatly.
`In
`our algorithm, two novel search patterns are provided that are particularly suitable for HW implementation. Generally,
`because of the algorithmic and architecture co-design of mction estimation, the proposed hardware-oriented fast ME
`approach has small area and fast search speed, and also good quality performance.
`[0022]
`In one embodiment, the proposed fast ME algorithm includesinitial predictive search, adaptive extended hex-
`agon search, small diamond search refinement and early termination.
`[0023] This is shownin Fig.2. The first motion estimation step S1 is the selection of aninitial reference block, having
`an initial distortion value in comparison with the current MB. The initial reference block is defined by an initial motion
`vector. The initial starting search point is very important for the search process. It affects the ME process greatly.
`In
`principle, any MV prediction method can be used in this step. Preferably, the step may include selection of an easily
`obtainable standard value, e.g. the Zero vector (0,0) ZMV, meaning that the reference for a MB at position x,y is the MB
`at the same position x,y in previous picture. It may also include a simple choice between two or more easily obtainable
`values, e.g. Zero vector ZMV or standard predicted motion vector (Pred_MV_x, Pred_MV_y) PMV, which exploits the
`spatial correlation of MVs within a frame. In this embodiment, zero vector (0,0) ZMV and predicted motion vector PMV
`are checked respectively asinitial search points, and the one with smaller matching error is selected as the starting point
`for the following ME procedure.
`[0024] Thepredicted MV (Pred_MV_x, Pred_MV_y)is e.g. the median value of the MVsof neighbour blocks, as shown
`in Fig.3.
`[0025] Thenextstep S2 comprises comparing the initial distortion value with different first, second and third thresholds
`TH1,TH2,TH3, wherein subsequent thresholds mean more distortion than previous. Thatis, the first comparison is initial
`distortion value SADm against TH1, the second comparison SADm against TH2 the third comparison SADm against
`TH3, with TH1<TH2<THS. It is not necessary that all comparisons are executed, e.g. if "SADm<TH1" is true then the
`subsequent comparisons can be skipped. It is also possible to execute all three comparisons in a single multi-branch
`selection, according to e.g.
`switch (SADm)
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`

`

`EP 2 046 047 A1
`
`case (SADm < TH1)
`
`
`
`{
`
`... // 1°° branch: SADm<TH1}
`
`
`case (SADm < TH2)
`
`case (SADm < TH3)
`
`
`{
`
`{
`
`... // 2°° branch: TH1<SADm<TH2}
`
`... // 3°° branch: TH2<SADm<TH3 }
`
`
`default
`
`{
`
`... // 4branch: TH3<SADm}
`
`[0026] Depending on the results of the comparison, further search steps are skipped if the first threshold TH1 is met
`(i.e.
`if SADm<TH1), or a simple nearby search is performed if not the first but the second threshold is met
`(TH1<SADm<TH2), or a wider range search $3A,33B is performed before said simple nearby search if also not the
`second threshold is met(i.e. TH2<SADm). The wider range search comprises selecting, depending on the third threshold
`TH3, one among twodifferent search patterns S3A,$3B with horizontally different search ranges, as described below.
`[0027]
`SAD is adopted as the measurement of matching error, though also another distortion measure can be used.
`If SAD is less than a given first threshold TH1, all of the following search process is skipped to reduce the complexity
`while keeping the image quality high.
`[0028]
`For the wider range search, a horizontal hexagon type of search pattern is advantageous, which basically
`means that the search points cover a wider range in horizontal than in vertical direction, with the maximum range at
`current line (Ay=0) so that the outer shape of the pattern is a hexagon. The number of search points on the currentline
`should be at least twice the number of search points on any other line. This takes accountof the fact that plain horizontal
`motion appears very often, and has therefore a better chance to be detected. However, the algorithm may also be
`optimized for vertical motion in other applications than natural video. Examples of horizontal hexagon patterns are shown
`in Fig.6.
`Fig.6 a) shows an extended horizontal 8-p hexagon search pattern. Exemplarily, four pairs of horizontally
`[0029]
`adjacent search points are shown that are simultaneously processed by a doubled HW structure, as proposed by one
`aspectof the invention. The search points may howeveras well be processed in a single manner. Fig.6 b) shows a 12-
`p hexagon search pattern, whichis horizontally even wider, and thus optimized for detecting faster horizontal motion.
`[0030] Returning now to Fig.3, a simple nearby search S4 is performed unless the first threshold TH1 was met. At
`this point, the best position that was found so far is selected as search centre. The nearby searchis usually a so-called
`diamond search, which checks the direct neighbor pixels in the reference image. This step is terminated as soon as the
`distortion value of a current search point is below the above-mentionedfirst threshold TH1, since this is the bestcriterion
`for a picture element that is sufficiently similar to provide a good prediction. On the other hand, this step is terminated
`if the centre of the diamond is the optimal position, i.e. if all search points around the center have higher distortion values.
`[0031] Additionally, in one embodimentthat is shownin Fig.5 another termination criterion for this step may be that a
`maximum number of search points have been processed S6a, S6b,S6c.
`[0032]
`In one embodiment, as also shownin Fig.5, it is possible to perform an additional hexagon search before the
`final diamond search, in order to update the search centre in the case that the search centre that was usedfor the wider
`range searches S3a,S83b is not optimal. This means that at least one of the checked hexagon search positions of Fig.6
`has a lower distortion value than the search centre, whichis indicated by a triangle in Fig.6.
`In this embodiment, the
`optimal search centre is determined S5a and updated S5b, and an additional hexagon search is performed S5c around
`the updated search centre.
`[0033]
`Fig.5 shows a flowchart according to an embodiment of an enhanced version of the proposed ME method. The
`whole algorithm can be decomposedinto the following steps:
`
`First, check the ZMV (0,0) and the predicted MV (one search point is checked if PMV equals to ZMV). Set the one
`with the minimum distortion/matching error SADm as the search centre of the following steps.
`Second, if SADm is less than TH1, skip all the following ME process; otherwise, if SADm is less than TH2, skip all
`the hexagon search and go to diamond refinementdirectly; otherwise, if SADm is less than TH3, perform 8-p hexagon
`search of Fig.6 a). Otherwise, choose 12-p hexagon searchof Fig.6 b).
`Among all the search points (8 or 12) of hexagon pattern and the central point,
`
`if the central point is the optimal
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`

`

`EP 2 046 047 A1
`
`point (with the minimum SAD), then go to the diamond refinementdirectly. Otherwise, set the point with minimum
`SADas the new search centre and perform an additional 8-point hexagon search.
`Finally, perform the small diamond refinement. Terminate the refinement process when anyof the following conditions
`is satisfied: (1) The SAD of any search point is less than TH1; (2) the search point with the minimum SADlocates
`in the diamond centre; or (3) the number of iterations reaches MAX_COUNT.
`
`[0034] Atypical small refinement process is shownin Fig.4. From the start point shownascircle, the upper,left, lower
`and right neighbour points are checked, and the best is selected. Exemplarily, it is the left point in Fig.4.
`[0035] Therefore this point is selected as new search centre for the second step. In the second step, the upper,left,
`lower and right neighbour points of the new search centre are checked, wherein however the initial starting point of the
`first step is skipped becauseit was already checked. In Fig.4, exemplarily the upper neighbour point of the new search
`centre is best. It is selected as new search centre. Again, in a third step the left, lower and right neighbour points of the
`new search centre are checked, wherein previously points are skipped. Since this process may continue very long, it
`can be limited by counting the steps or SAD calculations and terminating after reaching a maximum number.
`[0036]
`In the following, the above mentioned consequencesof the results of said comparison with first, second and
`third thresholds are described in more detail.
`
`10
`
`15
`
`20
`
`25
`
`[0037]_If the initial distortion value is below the first threshold, the corresponding MVis selected as final MV, and the
`ME processfor said picture elementis terminated.
`[0038] Otherwise, if the initial distortion value is below the second threshold, the corresponding position is selected
`as initial search centre, and the ME process continues with the step of performing the simple nearby search, so that the
`step of performing a wide search (such as hexagon search) is skipped.
`[0039] Otherwise, if the initial distortion value is not below the second threshold then a wider search is performed. In
`this case, two different wider search options exist which differ in the range that they cover: If the initial distortion value
`is below the third threshold, a first wider range search is performed with a smaller horizontal hexagon pattern, anda first
`hexagon distortion value is determined. If the initial distortion value is not below the third threshold, a second wider range
`search is performed with a larger horizontal hexagon, and a second hexagon distortion value is determined.
`[0040]
`Instead of the horizontal hexagon pattern for the wider range search, it may also be a similar horizontal pattern,
`as long as the horizontal range is higher than the vertical range. This has the advantage that the properties of natural
`video scenes are better matched, where horizontal motion is more probable than vertical.
`[0041]
`Among the initial, the first andthe second hexagon distortion values, the best position is selected as new search
`centre. Finally, a diamond search is performed around the selected new search centre. The diamond search may be
`small, e.g. four points (upper, lower, left, right).
`[0042]
`If the distortion value of any search point is below the above-mentionedfirst threshold, or the best distortion
`value is found in the centre of said diamond search, then the respective motion vector is selected as final motion vector
`and the ME processis terminated.
`[0043]
`In one embodiment, the number of iterations (or different search positions) is counted and the motion estimation
`may also be terminated if the number of iterations reaches a predefined maximum value. Then the best determined
`position (having minimum distortion value) and corresponding motion vector is selected as final position and motion vector.
`[0044]
`In one embodiment, an additional step before the diamond search step comprises if the new search centre
`after said first or second hexagon search is different from the initial search centre, performing an additional hexagon
`search around the new search centre, and selecting as updated new search centre the best position, based on the
`additional hexagon search distortion values. Then the final diamond search mayalso be performed around this updated
`new search centre.
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`Inone embodiment, horizontal pairs of search points are processed simultaneously. An exemplary block diagram
`[0045]
`of a processing elementis shownin Fig.7. Two computation units SAD_81,SAD_82 simultaneously comparethe current
`MB with twodifferent reference MBs adjacent to each other. For vertical motion however it is necessary to delay the
`input data with a pipeline 2d-REG, since the architecture is optimized for horizontal motion, as explained above. The
`MV prediction module gives the predicted motion vector from the neighbour MBs, while the MV of MBsof the previous
`line are stored circularly for calculating the predicted MV. Three 64 bit single port SRAMs are used: two (ref_ramA and
`ref_ramb) store the data of reference frame in the search area (search range +32pixel), and one (curr_MB)stores the
`video data of current MB. This memory scheme allows for data reuse and reduces the need to reload the same reference
`data from the external frame memory, which would take more time.
`[0046]
`In Fig.8, the address generator module Addr_gen generates the SRAM read addresses based on the candidate
`search position signal from search engine module SE. The search engine module SE is a kernel algorithm module,
`which decides the next candidate search position by search pattern and the two result SADsfrom the processing element
`module PE. This module PE includes two sub processing units, which can compute the sum-of-absolute-differences
`(SAD) of two adjacent candidate positions (vertical or horizontal) simultaneously. With a 64 bit data bus, the SAD of 8
`pixels can be calculated in one cycle, so that the SAD of a MB can be finished in 32 cycles. For computing two vertical
`
`

`

`EP 2 046 047 A1
`
`positions, total time is 36 cycles because of the delay register. Each computation unit SAD_81,SAD_82 can calculate
`the SAD of 8 pixels at the same time.
`[0047]
`In hardware implementations, it may be useful if the first, second and third thresholds are software program-
`mable. In this case the hardware can be used in a moreflexible manner. Reasonable SAD valuesfor the thresholds are
`
`e.g. 256 for TH1, 768 for TH2 and 2048 for TH3 for average video sequences. Advantageously, the values may be
`changed for different types of sequences, e.g. for faster motion and/or stronger textures. Thus, higher flexibility is given.
`[0048] Thus, according to one aspect of the invention, a method for performing motion estimation for a picture element
`comprises the steps of
`calculating a first distortion value for a first position based on a first initial motion vector, e.g. zero MV,
`calculating a second distortion value for a second position based on different a second initial motion vector, e.g. a
`predicted motion vector either from previous picture or neighbor blocks,
`selecting among the first and second position the one that better matchesthe picture element, based on said first and
`second distortion values, wherein the corresponding distortion value is the initial distortion value,
`comparing the initial distortion value with differentfirst, second and third thresholds, wherein subsequentthresholds are
`higher than previous,
`if the initial distortion value is below the first threshold, selecting the corresponding MV asfinal MV and terminating the
`motion estimation for said picture element;
`otherwise, if the initial distortion value is below the second threshold, selecting the corresponding position asinitial
`search centre, skipping the following steps of performing first or second hexagon search and continuing with the step
`of performing diamond search,
`otherwise, if the initial distortion value is not below the second threshold but below the third threshold, performing a first
`horizontal hexagon search and determining first hexagon distortion values,
`otherwise, if the initial distortion value is not below the second threshold and not below the third threshold, performing
`a different second horizontal hexagon search and determining second hexagon distortion values,
`selecting as new search centre the best position based on the initial and the first or second hexagon distortion values,
`performing a diamond search around said initial or new search centre, depending on the previous step; and
`if the distortion value of any search point is below thefirst threshold, or the best distortion value is found in the centre
`of said diamond search, then selecting the respective motion vector as final motion vector and terminating the motion
`estimation. The diamond search may be small, e.g. four points (upper, lower, left, right).
`[0049] Additionally, it may be advantageous to perform after the step of performing a diamond search around said
`initial or new search centre following further steps:
`
`if the new searchcentreis different from the initial search centre, performing an additional hexagon search around
`the new search centre,
`selecting as updated new search centre the best position based on the initial and the additional hexagon search
`distortion values, and
`performing a (small) diamond search around said initial or new search centre, depending on the previous step.
`
`It will be understocd that the present invention has been described purely by way of example, and modifications
`[0050]
`of detail can be made without departing from the scope of the invention.
`[0051]
`Each feature disclosed in the description and (where appropriate) the claims and drawings may be provided
`independently or in any appropriate combination. Features may, where appropriate be implemented in hardware, soft-
`ware, or a combination of the two. Reference numerals are by wayofillustration only and shall have no limiting effect
`on the scope of the claims.
`
`Claims
`
`1. Amethod for performing motion estimation for a picture element, comprising the steps of
`
`- selecting (S1), based on an initial motion vector, an initial reference element having an initial distortion value
`in comparison with the current picture element;
`- comparing (S2) the initial distortion value with different first, second and third thresholds (TH1, TH2,THS3),
`wherein subsequent thresholds mean more distortion than previous; and
`- depending on the results of the comparison, skipping further search stepsif the first threshold (TH1) is met,
`or performing a simple nearby search (S4) if not the first but the second threshold (TH2) is met, or performing
`a wider range search (S3a,S3b) before said simple nearby search if also not the second threshold is met,
`wherein the wider range search comprises selecting, depending on the third threshold (TH3), one among two
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`

`

`EP 2 046 047 A1
`
`different search patterns (S3a,S3b) with horizontally different search ranges.
`
`2. Method according to the previous claim, further com

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket