CN100505881C - Motion vector searching device and method - Google Patents

Motion vector searching device and method Download PDF

Info

Publication number
CN100505881C
CN100505881C CN 200510111087 CN200510111087A CN100505881C CN 100505881 C CN100505881 C CN 100505881C CN 200510111087 CN200510111087 CN 200510111087 CN 200510111087 A CN200510111087 A CN 200510111087A CN 100505881 C CN100505881 C CN 100505881C
Authority
CN
China
Prior art keywords
difference
pass filter
bank
input
filters
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 200510111087
Other languages
Chinese (zh)
Other versions
CN1980389A (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.)
Pixelworks Semiconductor Technology Shanghai Co Ltd
Original Assignee
Pixelworks Semiconductor Technology Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pixelworks Semiconductor Technology Shanghai Co Ltd filed Critical Pixelworks Semiconductor Technology Shanghai Co Ltd
Priority to CN 200510111087 priority Critical patent/CN100505881C/en
Publication of CN1980389A publication Critical patent/CN1980389A/en
Application granted granted Critical
Publication of CN100505881C publication Critical patent/CN100505881C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

The device includes following parts: multiway selectors; filter banks connected to corresponding multiway selectors respectively; a second filter bank; module summation difference processing units (MSDPU) connected to filter banks correspondingly, and all the said processing units connected to the second filter bank; a parallel minimal value searcher (PMVS) connected to MSDPU; a serial minimal value searcher (SMVS) connected to PMVS. The invention also discloses method for searching motion vector includes steps: multiway selectors pick up pixel data; filter banks filter pixel data; the second filter bank filters pixel data inside window; MSDPU obtains a difference summation of absolute value; PMVS has searched minimal difference summation of absolute value; SMVS calculates out minimal value from continuous difference summation of absolute value, and motion vector. The invention realizes motion estimation in large range in simple steps.

Description

Motion-vector search device and searching method
Technical field
The present invention relates to motion-vector search device and searching method, especially utilize the motion-vector search device and the searching method of time division multiplexing principle and parallel organization.
Background technology
Motion-vector search be moving image compression, video interlacing scan change line by line scan and technology such as 3D video decode in key technology and basis, therefore how calculating kinematical vector is exactly the problem that must solve in the Video processing.
And because calculating kinematical vector is calculating the most loaded down with trivial details in the Video processing, therefore how calculating motion vector fast is that the researcher pursues always.
The patent application number is that 200410096713.9 Chinese patent application discloses a kind of equipment that calculates absolute difference, comprises a plurality of pseudo-absolute difference computation unit; Adder tree comprises that at least one is used for the adder of the output valve of a plurality of pseudo-absolute difference computation of addition unit, and each of this at least one adder receives by one of symbol determined value of a plurality of pseudo-absolute difference computation unit generation as input carry; With additional adder, it is with the final value of adder tree and the symbol determined value addition that is generated by one of a plurality of pseudo-absolute difference computation unit, to calculate absolute difference.
Therefore, above-mentioned existing motion-vector search device need very large hardware configuration resource, and little hunting zone is not suitable for the calculating of big motion vector when big hunting zone.
So the motion vector search method calculating kinematical vector based on present motion vector device is very loaded down with trivial details and complicated, computational speed is very slow, and computational accuracy is poor, can't realize half-pixel accuracy.Can not satisfy the requirement of quick calculating.
Summary of the invention
The objective of the invention is provides a kind of motion-vector search device and searching method in order to overcome the defective of existing motion-vector search device and searching method, can very simply realize large-scale estimation, reduces hardware resource significantly.
Another object of the present invention is in order to overcome the defective of existing motion-vector search device and searching method, and provide a kind of motion-vector search device and searching method, can very simply realize large-scale estimation, and computational speed is fast, and can reaches the half pixel searching precision.
For realizing above-mentioned first purpose, the invention provides a kind of motion-vector search device, comprising:
Several first MUX are used for selecting pixel data according to the time division multiplexing control signal of input from the multichannel pixel data;
Several first bank of filters connect one to one with described several first MUX, are used for the pixel data that described first MUX is selected is carried out Filtering Processing;
One second bank of filters is used for the raw pixel data in the window is carried out Filtering Processing;
Several first module difference and arithmetic units connect one to one with described several first bank of filters, and all are connected with described second bank of filters, be used to calculate absolute value difference and;
One parallel minimum value searcher is connected with arithmetic unit with described several first module differences, be used for calculating each first module difference and arithmetic unit absolute value difference and minimum value;
One serial minimum value searcher is connected with described parallel minimum value searcher, be used to calculate continuously all absolute value differences and minimum value and index motion vector.
The first above-mentioned bank of filters can comprise a parallel low pass filter, a low band pass filter, a band pass filter and a high pass filter, all connect one to one, and all connect one to one with described first module difference and arithmetic unit with described several first MUX; Described second bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter and a high pass filter, all is connected with arithmetic unit with the described first module difference; Perhaps comprise a parallel low pass filter, a low band pass filter, a band pass filter, a high pass filter, a colourity u extractor and a colourity v extractor, all connect one to one, and all connect one to one with described first module difference and arithmetic unit with described several first MUX; Described second bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter, a high pass filter, a colourity u extractor and a colourity v extractor, all is connected with arithmetic unit with the described first module difference.
The above-mentioned first module difference and arithmetic unit comprise: a second adder is connected with described parallel minimum value searcher; Several first adders are connected with described second adder; And several first difference signed magnitude arithmetic(al) devices that each connects on each first adder, all be connected with second bank of filters with described first bank of filters.
And serial minimum value searcher can comprise one first comparator, is connected with described parallel minimum value searcher; One latch is connected with described first comparator; One 2:1 selector is connected with first comparator with described latch; One second latch is connected with described 2:1 selector.
For realizing above-mentioned first purpose, the present invention also provides a kind of motion vector search method, comprises the steps:
Step 1, several first parallel MUX are extracted several pixel datas separately according to the time multiplexing signal of importing and are input in first bank of filters that connects separately from parallel pixel data;
Step 2, each first bank of filters are carried out Filtering Processing with each pixel data of connected described first MUX input, obtain several filtering result of each pixel, be input in the first module difference and arithmetic unit that each first bank of filters connects separately; Second bank of filters is carried out Filtering Processing with pixel data in the window of input, obtains several filtering result of each pixel in the window, is input in all first module differences and the arithmetic unit;
Step 3, each first module difference and arithmetic unit obtain an absolute value difference and, all be input to then in the parallel minimum value searcher;
Step 4, parallel minimum value searcher search minimum absolute value difference and, be input to then in the serial minimum value searcher;
Step 5, serial minimum value searcher according to the clock cycle from the absolute value difference of continuous input with calculate minimum value and relative position, the relative position of this minimum value is exactly the pixel motion vector of being calculated.
Above-mentioned step 2 can be specially: low pass filter, low band pass filter, band pass filter and the high pass filter in each first bank of filters carries out the filtering of four frequency ranges to each pixel data by described first MUX input respectively, obtain four filtering results of each pixel, four filtering results of each pixel are input in four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter and high pass filter carry out the filtering of four frequency ranges to pixel data in each window respectively, also obtain four filtering results of each pixel, all be input in four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit.Described step 3 can be specially: four poor signed magnitude arithmetic(al) devices that step 31, each first module difference are connected with first adder in the arithmetic unit, four filtering results of the respective pixel of four the filtering results of respective pixel of first bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, send in this first adder and sue for peace, obtain respective pixel difference absolute value and, be input at last in the second adder that each first adder connects; Second adder in step 32, each first module difference and the arithmetic unit with the absolute value of the difference of connected all first adders input and summation, obtain each first module difference and arithmetic unit absolute value difference and, then all in the parallel minimum value searcher that is connected with each second adder of input.
Above-mentioned step 2 can also be specially: the low pass filter in each first bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to each pixel data by described first MUX input respectively, obtain six filtering results of each pixel, six filtering results of each pixel are input in six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to pixel data in each window respectively, also obtain six filtering results of each pixel, all be input in six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit.Therefore above-mentioned step 3 can be specially: six poor signed magnitude arithmetic(al) devices that step 31, each first module difference are connected with first adder in the arithmetic unit, six filtering results of the respective pixel of six the filtering results of respective pixel of first bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, send in this first adder and sue for peace, obtain respective pixel difference absolute value and, be input at last in the second adder that each first adder connects; Second adder in step 32, each first module difference and the arithmetic unit with the absolute value of the difference of connected all first adders input and summation, obtain each first module difference and arithmetic unit absolute value difference and, then all in the parallel minimum value searcher that is connected with each second adder of input.
The step 5 of above-mentioned each technical scheme can be specially: the absolute value difference of step 50, the minimum that searches by parallel minimum value searcher and, input in first comparator in the serial minimum value searcher; Step 51, this first comparator relatively this input absolute value difference and with first latch in the absolute value difference that stores and, with less absolute value difference with send in described first latch; Step 52,2:1 selector call the absolute value difference that stores in first latch and, with the absolute value difference that stores in second latch and, if do not satisfy the clock cycle, then export last time of storing in second latch of minimum relatively absolute value difference and, if satisfy the clock cycle, then export in first latch absolute value difference and, and relative position, the absolute value difference in this first latch and relative position be exactly the pixel motion vector of being calculated.
For realizing above-mentioned second purpose, the invention provides a kind of motion-vector search device, comprising:
Several first MUX are used for selecting pixel data according to the time division multiplexing control signal of input from the multichannel pixel data;
Several first bank of filters connect one to one with described several first MUX, are used for the pixel data that described first MUX is selected is carried out Filtering Processing;
One second bank of filters is used for the raw pixel data in the window is carried out Filtering Processing;
Several first module difference and arithmetic units connect one to one with described several first bank of filters, and all are connected with described second bank of filters, be used to calculate absolute value difference and;
Several second MUX are used for selecting pixel data according to the time division multiplexing control signal of input from the half-pixel data of being carried out interpolation by original pixels and drawing;
Several the 3rd bank of filters connect one to one with described several second MUX, are used for the pixel data that described second MUX is selected is carried out Filtering Processing;
Several second module difference and arithmetic units connect one to one with described several the 3rd bank of filters, and all are connected with described second bank of filters, be used to calculate absolute value difference and;
Several second comparators, connect one to one with described several first module differences and arithmetic unit and several second module differences and arithmetic unit, be used for absolute value difference that more described first module difference and arithmetic unit and the second module difference and arithmetic unit calculate and;
One parallel minimum value searcher is connected with described several second comparators, be used to calculate absolute value difference that described second comparator sends and minimum value;
One serial minimum value searcher is connected with described parallel minimum value searcher, be used to calculate continuously all absolute value differences and minimum value and index motion vector.
Above-mentioned first bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter and a high pass filter, all connect one to one, and all connect one to one with described first module difference and arithmetic unit with described several first MUX; Described second bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter and a high pass filter, all is connected with arithmetic unit with the second module difference with arithmetic unit with the described first module difference; Described the 3rd bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter and a high pass filter, all connect one to one, and all connect one to one with described second module difference and arithmetic unit with described several second MUX; Can also described first bank of filters comprise a parallel low pass filter, a low band pass filter, a band pass filter, a high pass filter, a colourity u extractor and a colourity v extractor, all connect one to one, and all connect one to one with described first module difference and arithmetic unit with described several first MUX; Described second bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter, a high pass filter, a colourity u extractor and a colourity v extractor, all is connected with arithmetic unit with the second module difference with arithmetic unit with the described first module difference; Described the 3rd bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter, a high pass filter, a colourity u extractor and a colourity v extractor, all connect one to one, and all connect one to one with described second module difference and arithmetic unit with described several second MUX.
The above-mentioned first module difference and arithmetic unit comprise: a second adder is connected with described second comparator; Several first adders are connected with described second adder; And several difference signed magnitude arithmetic(al) devices that each connects on each first adder, all be connected with second bank of filters with described first bank of filters; Described second module difference and arithmetic unit comprise: one the 4th adder is connected with described second comparator; Several the 3rd adders are connected with described the 4th adder; And several second difference signed magnitude arithmetic(al) devices that each connects on each the 3rd adder, all be connected with second bank of filters with described the 3rd bank of filters.
Wherein the serial minimum value searcher of above-mentioned each technical scheme can comprise: one first comparator is connected with described parallel minimum value searcher; One latch is connected with described first comparator; One 2:1 selector is connected with first comparator with described latch; One second latch is connected with described 2:1 selector.
For realizing above-mentioned second purpose, the present invention also provides a kind of motion vector search method, comprises the steps:
Step 1, several first parallel MUX are extracted several pixel datas separately according to the time multiplexing signal of importing and are input in first bank of filters that connects separately from parallel pixel data; Several second parallel MUX are extracted several pixel datas separately and are input in the 3rd bank of filters that connects separately from parallel half pixel point data that is obtained by the original pixels interpolation;
Step 2, each first bank of filters are carried out Filtering Processing with each pixel data of connected described first MUX input, obtain several filtering result of each pixel, be input in the first module difference and arithmetic unit that each first bank of filters connects separately; Each the 3rd bank of filters is carried out Filtering Processing with each pixel data of connected described second MUX input, obtain several filtering result of each pixel, be input in the second module difference and arithmetic unit that each the 3rd bank of filters connects separately; Second bank of filters is carried out Filtering Processing with pixel data in the window of input, obtains several filtering result of each pixel in the window, is input in all first module differences and arithmetic unit and all second module differences and the arithmetic unit;
Step 3, each first module difference and arithmetic unit obtain an absolute value difference and, all be input to then separately in second comparator that connects; Each second module difference and arithmetic unit also obtain an absolute value difference and, also all be input to then separately in second comparator that connects;
Step 4, each second comparator relatively by the absolute value difference of the corresponding first module difference and arithmetic unit and the second module difference and arithmetic unit input and, with less absolute value difference be input in the parallel minimum value searcher;
Step 5, parallel minimum value searcher search minimum absolute value difference and, be input to then in the serial minimum value searcher;
Step 6, serial minimum value searcher according to the clock cycle from the absolute value difference of continuous input with calculate minimum value and relative position, the relative position of this minimum value is exactly the pixel motion vector of being calculated.
Above-mentioned steps 2 can be specially: low pass filter, low band pass filter, band pass filter and the high pass filter in each first bank of filters carries out the filtering of four frequency ranges to each pixel data by described first MUX input respectively, obtain four filtering results of each pixel, four filtering results of each pixel are input in four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter, low band pass filter, band pass filter and high pass filter in each the 3rd bank of filters carries out the filtering of four frequency ranges to each pixel data by described second MUX input respectively, obtain four filtering results of each pixel, four filtering results of each pixel are input in four poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter and high pass filter carry out the filtering of four frequency ranges to pixel in each window respectively, also obtain four filtering results of each pixel, all be input to four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit, in four poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit.Described step 3 can be specially: four poor signed magnitude arithmetic(al) devices that step 31, each first module difference are connected with first adder in the arithmetic unit, four filtering results of the respective pixel of four the filtering results of respective pixel of first bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, send in this first adder and sue for peace, obtain respective pixel difference absolute value and, be input at last in the second adder that each first adder connects; Four poor signed magnitude arithmetic(al) devices that each second module difference is connected with the 3rd adder in the arithmetic unit, four filtering results of the respective pixel of four the filtering results of respective pixel of the 3rd bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, be passed at last in each the 3rd adder and sue for peace, obtain respective pixel difference absolute value and, be input in the 4th adder that each the 3rd adder connects; Second adder in step 32, each first module difference and the arithmetic unit with the absolute value of the difference of connected all first adders input and summation, obtain each first module difference and arithmetic unit absolute value difference and, in second comparator that is connected with second adder of input; The 4th adder of each second module difference and arithmetic unit with the absolute value of the difference of connected all the 3rd adders input and summation, also obtain each second module difference and arithmetic unit absolute value difference and, in input and second comparator that the 4th adder is connected.
Described step 2 can also be specially: the low pass filter in each first bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to each pixel data by described first MUX input respectively, obtain six filtering results of each pixel, six filtering results of each pixel are input in six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter in each the 3rd bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to each pixel data by described second MUX input respectively, obtain six filtering results of each pixel, six filtering results of each pixel are input in six poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to pixel in each window respectively, also obtain six filtering results of each pixel, all be input to six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit, in six poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit.Therefore described step 3 is specially: six poor signed magnitude arithmetic(al) devices that step 31, each first module difference are connected with first adder in the arithmetic unit, six filtering results of the respective pixel of six the filtering results of respective pixel of first bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, send in this first adder and sue for peace, obtain respective pixel difference absolute value and, be input at last in the second adder that each first adder connects; Six poor signed magnitude arithmetic(al) devices that each second module difference is connected with the 3rd adder in the arithmetic unit, six filtering results of the respective pixel of six the filtering results of respective pixel of the 3rd bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, be passed at last in each the 3rd adder and sue for peace, obtain respective pixel difference absolute value and, be input in the 4th adder that each the 3rd adder connects; Second adder in step 32, each first module difference and the arithmetic unit with the absolute value of the difference of connected all first adders input and summation, obtain each first module difference and arithmetic unit absolute value difference and, in second comparator that is connected with second adder of input; The 4th adder of each second module difference and arithmetic unit with the absolute value of the difference of connected all the 3rd adders input and summation, also obtain each second module difference and arithmetic unit absolute value difference and, in input and second comparator that the 4th adder is connected.
Step 6 in the technique scheme can be specially: the absolute value difference of step 60, the minimum that searches by parallel minimum value searcher and, input in first comparator in the serial minimum value searcher; Step 61, this first comparator relatively this input absolute value difference and with first latch in the absolute value difference that stores and, with less absolute value difference with send in described first latch; Step 62,2:1 selector call the absolute value difference that stores in first latch and, and second last time that stores in the latch minimum relatively absolute value difference and, if do not satisfy the clock cycle, then export in second latch absolute value difference and, if satisfy the clock cycle, then export in first latch absolute value difference and, and relative position, the absolute value difference in this latch and relative position be exactly the pixel motion vector of being calculated.
Therefore, motion-vector search device of the present invention and searching method have very simply been realized large-scale estimation, and reduce hardware resource significantly.And can calculate fast and reach half-pixel accuracy.
Below by drawings and Examples, technical scheme of the present invention is described in further detail.
Description of drawings
Fig. 1 is the structural representation of motion-vector search device embodiment 1 of the present invention.
Fig. 2 is the structural representation of first bank of filters among the motion-vector search device embodiment 1 of the present invention.
Fig. 3 is the structural representation of second bank of filters among the motion-vector search device embodiment 1 of the present invention.
Fig. 4 is the structural representation of first module difference among the motion-vector search device embodiment 1 of the present invention and arithmetic unit.
Fig. 5 is the structural representation of 5 tunnel parallel minimum value searchers among the motion-vector search device embodiment 1 of the present invention.
Fig. 6 is the structural representation of serial minimum value searcher among the motion-vector search device embodiment 1 of the present invention.
Fig. 7 is the method flow diagram of motion vector search method embodiment 1 of the present invention.
Fig. 8 is the method flow diagram of motion vector search method embodiment 2 of the present invention.
Fig. 9 is the structural representation of the embodiment 2 of motion-vector search device of the present invention.
Figure 10 is the structural representation of the 3rd bank of filters among the embodiment 2 of motion-vector search device of the present invention.
Figure 11 is the structural representation of second module difference among the embodiment 2 of motion-vector search device of the present invention and arithmetic unit.
Figure 12 is the method flow diagram of motion vector search method embodiment 3 of the present invention.
Figure 13 is the method flow diagram of motion vector search method embodiment 4 of the present invention.
Embodiment
The present invention is based on the parallel organization and the time-multiplexed principle of digital circuit, utilize the difference of different clock frequencies, in slower data clock, come the method for multiplexing arithmetic unit, realized the quick search of grand movement vector, and reduced hardware resource with computing clock faster.
In order to reduce hardware resource, at first to determine the frequency proportions R of fast computing clock mC1k and slow data clock iC1k.This ratio R and search width [N, N] have determined the hardware resource that can reduce, if R=12, the hunting zone is [31,31], then can save (59-5-4=50) individual arithmetic unit.
Because relatively the size of two numerals needs a comparator, relatively the size of three numerals then needs two comparators, and the rest may be inferred, and relatively the size of 60 numerals then needs 59 comparators.Owing to adopted time-multiplexed method, each comparator can be handled the big or small comparison operation of R=i2 numeral, so only need 5 parallel comparators just can obtain 5 minimum values of 60 numerals, and then utilize 4 comparators just can obtain minimum value in all 60 numerals, therefore, used comparator sum is 5+4=9, has saved 50 comparators than original used 59.The pass of number of comparators No and R and N is: No=2 (N-1)/R+2 (N-1)/R-1.
As shown in Figure 1, structural representation for motion-vector search device embodiment 1 of the present invention, comprise that 5 the one 74:15 MUX 1, each 74:15 MUX 1 connect one first bank of filters 2, each first bank of filters 2 connects one first module difference and arithmetic unit 3, each first module difference all is connected with second bank of filters 4 with arithmetic unit 3,5 first module difference and arithmetic unit 3 all are connected to 5 tunnel parallel minimum value searcher 5,5 tunnel minimum value searchers 5 and are connected with serial minimum value searcher 6.
Because in the present embodiment, the search width is [31,31], therefore the hunting zone is that (31-1)-(31-1), equal 60, calculating absolute value difference is 15 with the window width that (SAD) needs, therefore, each needs outwards 7 pixels of expansion left and right edges, therefore needs the data of 60+2 * 7=74 pixel altogether, and the frequency proportions R of speed clock is 12.
Wherein each 74:15 MUX 1 according to the input time division multiplexing control signal Srcsel[3:0] from the input 74 parallel pixel data ref_n-36_n+37 (ref_n-36, ... select 15 pixel data mux_ref0_0_14 (mux_ref0_0 ref_n+37), ... mux_ref0_14), mux_ref1_0_14, mux_ref2_0_14, mux_ref3_0_14 and mux_ref4_0_14 send in first bank of filters 2 and carry out filtering, then with filtering i_ref0_0_14 (i_ref0_0 as a result, ... i_ref0_14), i_ref1_0_14, i_ref2_0_14, i_ref3_0_14 and i_ref4_0_14 import the first module difference and arithmetic unit 3, second bank of filters 4 is with 15 pixel mux_cur_0_14 in the window, (mux_cur_0..., mux_cur_14), carry out filtering, obtain filtering i_cur_0_14 as a result, import in each first module difference and the arithmetic unit 3, the first module difference and arithmetic unit 3 calculate absolute value difference and (Sum of abstract difference, SAD, refer to the picture element brightness value that all picture elements and the corresponding window size scope in the arbitrary position hunting zone in the window are interior difference absolute value with), parallel 5 first module differences and arithmetic unit 3 calculate 5 groups of 15 pixels of 12 pixels of being separated by in twos and absolute value difference and the SAD_0 between the search pixel simultaneously, SAD_1, SAD_2, SAD_3 and SAD_4, promptly each module difference and arithmetic unit 3 calculate one group of 15 pixel.
Because the hunting zone is 60 pixels, each pixel is respectively expanded 7 pixels forwards, backwards, be 15 pixels altogether, thus, expansion 7 pixels before and after first pixel are also respectively expanded 7 pixels in front and back with the 13 pixel of its 12 pixels of being separated by backward, by that analogy, 7 pixels of expansion are formed 5 groups of 15 pixels before and after the 49 pixel; Pixel in the hunting zone postpones one backward then, also form 5 groups of 15 pixels, pixel in the hunting zone is divided into 12 5 groups of 15 pixels altogether like this, with the frequency ratio of speed clock is the same, like this through cycle all the time, promptly through after 12 comparisons, 60 pixels in the hunting zone just can relatively be over.
Referring to shown in Figure 2, be the detailed structure schematic diagram of first bank of filters among the motion-vector search device embodiment 1 of the present invention.
Each first bank of filters 2 comprises parallel low pass 1p filter 21, low strap leads to 1bp filter 22, the logical mbp filter 23 of band, high pass hp filter 24, colourity u extractor 25 and colourity v extractor 26, each 74:15 MUX is from 74 raw pixel data ref_n-36_n+37 (ref_n-36, ... 15 pixel data mux_refn_0_14 (mux_refn_0 that select simultaneously ref_n+37), ... mux_refn_14), the low-pass filtering that obtains 15 pixels through low pass 1p filter 21 is i_y_1p_ref_0_14 (i_y_1p_ref_0 as a result, ... i_y_1p_ref_14); The lower passband filtering that obtains 15 pixels through the logical 1bp filter 22 of low strap as a result i_y_1bp_ref_0_14 (i_y_1bp_ref_0 ... i_y_1bp_ref_14); The bandpass filtering that obtains 15 pixels through the logical mbp filter 23 of band as a result i_y_mbp_ref_0_14 (i_y_mbp_ref_0 ... i_y_mbp_ref_14); The high-pass filtering that obtains 15 pixels through low pass high pass hp filter 24 as a result i_y_1p_ref_0_14 (i_y_1p_ref_0 ... i_y_1p_ref_14); The colourity u filtering that obtains 15 pixels through colourity u extractor 25 as a result i_u_ref_0_14 (i_u_ref_0 ... i_u_ref_14); The colourity v filtering that obtains 15 pixels through colourity v extractor 26 as a result i_v_ref_0_14 (i_v_ref_0 ... i_v_ref_14), these data are all imported in the first module difference and the arithmetic unit 3 then.
Referring to shown in Figure 3, be the structural representation of second bank of filters among the motion-vector search device embodiment 1 of the present invention.
Each second bank of filters 4 comprises the logical 1bp filter 42 of parallel low pass 1p filter 41, low strap, the logical mbp filter 43 of band, high pass hp filter 44, colourity u extractor 45 and colourity v extractor 46, the low-pass filtering that 15 pixel data mux_cur_0_14 in the window, (mux_cur_0..., mux_cur_14) obtain 15 pixels through low pass 1p filter 41 as a result i_y_1p_ref_0_14 (i_y_1p_ref_0 ... i_y_1p_ref_14); The lower passband filtering that obtains 15 pixels through the logical 1bp filter 42 of low strap as a result i_y_1bp_cur_0_14 (i_y_1bp_cur_0 ... i_y_1bp_cur_14); The bandpass filtering that obtains 15 pixels through the logical mbp filter 43 of band as a result i_y_mbp_cur_0_14 (i_y_mbp_cur_0 ... i_y_mbp_cur_14); The high-pass filtering that obtains 15 pixels through low pass high pass hp filter 44 as a result i_y_1p_cur_0_14 (i_y_1p_cur_0 ... i_y_1p_cur_14); The colourity u filtering that obtains 15 pixels through colourity u extractor 45 as a result i_u_cur_0_14 (i_u_cur_0 ... i_u_cur_14); The colourity v filtering that obtains 15 pixels through colourity v extractor 46 as a result i_v_cur_0_14 (i_v_cur_0 ... i_v_cur_14), these data are all imported in the first module difference and the arithmetic unit 3 then.
Referring to shown in Figure 4, be the structural representation of the first module difference and arithmetic unit among the motion-vector search device embodiment 1 of the present invention.
6 poor signed magnitude arithmetic(al) devices 32 that first first adder 31 of each first module difference and arithmetic unit 3 is connected are with the low-pass filtering of first pixel of first bank of filters 2 input i_y_1p_ref_0 as a result, with by the low-pass filtering of first pixel of correspondence of second bank of filters 4 input as a result i_y_1p_cur_0 carry out the absolute value sub_y_1p that difference operation obtains difference then and import in first first adder 31, in like manner low bandpass filtering i_y_1bp_ref_0 and i_y_1bp_cur_0 as a result carries out the absolute value sub_y_1bp that difference operation obtains difference then, bandpass filtering i_y_mbp_ref_0 and i_y_mbp_cur_0 as a result carries out the absolute value sub_y_mbp that difference operation obtains difference then, the absolute value sub_y_hp that difference operation obtains difference is then carried out in high-pass filtering i_y_hp_ref_0 and i_y_hp_cur_0 as a result, the absolute value sub_u that difference operation obtains difference is then carried out in colourity u filtering i_u_ref_0 and i_u_cur_0 as a result, the absolute value sub_v that difference operation obtains difference is then carried out in colourity v filtering i_v_ref_0 and i_v_cur_0 as a result, all be input in first first adder 31, obtain the difference absolute value and sum6_0, thus Dui Ying first adder 31 obtain each the contrast pixel difference absolute value and sum6_1, sum6_2... the 15 first adder 31 of straight way obtain corresponding the 15 pixel difference absolute value and sum6_14, these the difference absolute value and sum6_1, sum6_2...sum6_14 all is input in the second adder and sues for peace, obtain the absolute value difference and the SAD_n of this first module difference and arithmetic unit, import in the 5 tunnel parallel minimum value searchers.
In the present embodiment, first bank of filters, second bank of filters can include only parallel low pass 1p filter 21, low strap leads to 1bp filter 22, logical mbp filter 23 of band and high pass hp filter 24, equally, each second bank of filters 4 also includes only parallel low pass 1p filter 41, low strap leads to 1bp filter 42, logical mbp filter 43 of band and high pass hp filter 44,30 of second adders only need be connected with 4 poor signed magnitude arithmetic(al) devices 32 like this, and only carry out the calculating of these difference absolute values, may reduce some matching precisions thus, but hardware cost can reduce, and still can use.
Referring to shown in Figure 5, be the structural representation of 5 tunnel parallel minimum value searchers among the motion-vector search device embodiment 1 of the present invention.Comprise two the 3rd comparators 50, the 4th comparator 51 and one the 5th comparator 52.Compare by one the 3rd comparator 50 by 5 absolute value difference of 5 first module differences and arithmetic unit 3 inputs and SAD_0 and SAD_1, select both smaller value min_0_1, SAD_2 and SAD_3 are compared by another the 3rd comparator 50, select both smaller value min_2_3, these two smaller value min_0_1 and min_2_3 are compared by the 4th comparator 51 and obtain smaller value min_0_1_2_3 then, at last this minimum value and SAD_4 by the 5th comparator 52 relatively obtain these 5 absolute value differences and minimum value min5 and relative position min5_index thereof, import at last in the serial minimum value searcher 6.
As shown in Figure 6, be the structural representation of serial minimum value searcher 6 among the motion-vector search device embodiment 1 of the present invention.Comprise one first comparator 60, first latch 61,2:1 selector 62 and second latch 63.Absolute value difference that 5 tunnel parallel minimum value searchers send and minimum value min5 and relative position mvsubpix thereof, input in first comparator 60, the absolute value difference of the last time that first comparator 60 stores this minimum value and first latch 61 and minimum value compare, this first latch 61 of less input is stored, this first latch 61 is with in this minimum value input 2:1 selector 62, this 2:1 selector 62 relatively this minimum value and from last time that second latch 63 stores relatively least absolute value difference and, time division multiplexing control signal Srcsel[3:0 according to input], if do not satisfy the clock cycle, then least absolute value difference and the output that will compare last time, if do not satisfy the clock cycle the last time of output relatively least absolute value difference and, if satisfy the clock cycle then export this minimum value difference and minall and relative position o_mv thereof, the location of pixels of the SAD minimum that this minimum value relative position is whole hunting zone and current pixel, just the motion vector o_mv of current pixel.
Because the frequency ratio of speed clock is 12, therefore serial minimum value searcher have only comparison by 5 tunnel parallel minimum value searchers continuously input 12 least absolute value differences and just can compare the motion vector that this will calculate, therefore when not satisfying the clock cycle, absolute value difference that must the output last time of minimum relatively and and relative position, when having only the clock cycle of satisfying, then can be with the absolute value difference and the output of the minimum that compares by first comparator, its relative position is only the pixel motion vector o_mv that is this time relatively asked.
In order to reduce hardware resource, at first to determine the frequency proportions R of fast computing clock mC1k and slow data clock iC1k.This ratio R and search width [N, N] have determined the hardware resource that can reduce, if R=12, the hunting zone is [31,31], then can save (59-5-4=50) individual arithmetic unit.
The present invention utilizes time division multiplexing principle, the frequency proportions of fast computing clock and slow computing clock is R, the hunting zone is [n, n], the number of pixels of hunting zone width is N=(n-1)+(n+1), calculating the required window size width of SAD is M, therefore abducent number of pixels is m=(M-1)/2, search for the pixel data that needs and then be D=N+2*m, the type of MUX is D:M, and the number of the first module difference and arithmetic unit is N/R, and parallel minimum value searcher is the N/R road, the number of difference signed magnitude arithmetic(al) device is 4*M when calculating 4 components, is 6*M when calculating 6 components.
For example, if the hunting zone is [20,20], and the window size width is 9 o'clock, and the border extended pixel then needs (40+ (9-1)/2+ (9-1)/2): the MUX of 9=48:9 by window size decision (left and right edges respectively is 9/2).And the quantity of difference and arithmetic unit and comparator is determined by hunting zone and clock ratio, if the clock ratio is 10:1, the quantity of difference and arithmetic unit just is 40:10=4, and difference signed magnitude arithmetic(al) device quantity is 6*9=54; Parallel minimum value searcher has just become 4 tunnel parallel minimum value searchers.
Therefore very simply realize large-scale estimation, and reduced hardware resource significantly.
As shown in Figure 7, be the method flow diagram of motion vector search method embodiment 1 of the present invention, concrete steps are as follows:
Step 101,5 first parallel MUX are according to 74 the pixel data ref_n-36s of the time multiplexing signal of importing from walking abreast, ... extract 15 pixel data mux_ref_0_14 among the ref_n+37, (mux_ref_0...mux_ref14) be input in first bank of filters that connects separately;
15 pixel datas that step 102, each first bank of filters will be imported carry out Filtering Processing, 4 filtering that obtain each pixel are i_ref0_0_14, i_ref1_0_14, i_ref2_0_14, i_ref3_0_14 and i_ref4_0_14 as a result, is input in the first module difference and arithmetic unit that connects separately; Second bank of filters is carried out Filtering Processing with 15 pixel data mux_cur_0_14 in the window of input, and 4 filtering that obtain each pixel are i_cur_0_14 as a result, is input in the first module difference and arithmetic unit that connects separately;
Step 103, each first module difference and arithmetic unit obtain an absolute value difference and SAD_0, SAD_1, SAD_2, SAD_3 and SAD_4, are input to then in the 5 tunnel parallel minimum value searchers;
Step 104,5 tunnel parallel minimum value searchers search minimum absolute value difference and min5 and relative position mvsubpix, are input to then in the serial minimum value searcher;
Step 105, serial minimum value searcher according to the clock cycle from the absolute value difference of continuous input with calculate minimum value minall and relative position o_mv, the relative position of this minimum value is exactly the pixel motion vector of being calculated.
Thus, realized large-scale estimation.
As shown in Figure 8, be the method flow diagram of motion vector search method embodiment 2 of the present invention, concrete steps are as follows:
Step 201,5 parallel 74:15 MUX are from 74 tunnel parallel pixel data ref_n-36, ... extract 15 pixel data mux_ref_0_14 among the ref_n+37, (mux_ref_0...mux_ref14), be input in first bank of filters that connects separately;
Because handle 74 pixels each time, finished by whole the extraction through 5 selectors, again because 5 the one 74:15 MUX are arranged, therefore 5 first bank of filters are arranged also;
Step 202, low pass filter in each first bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to each pixel data by described 74:15 MUX input respectively, six filtering that obtain each pixel are i_y_1p_ref_0_14 as a result, i_y_1bp_ref_0_14, i_y_mbp_ref_0_14, i_y_hp_ref_0_14, i_u_ref_0_14 and i_v_ref_0_14, six filtering results of each pixel are input in six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to 15 pixel datas in each window respectively, six filtering that also obtain each pixel are i_y_1p_cur_0_14 as a result, i_y_1bp_cur_0_14, i_y_mbp_cur_0_14, i_y_hp_cur_0_14, i_u_cur_0_14 and i_v_cur_0_14 all are input in six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit;
Step 203, six poor signed magnitude arithmetic(al) devices that each first module difference is connected with first adder in the arithmetic unit, with six filtering of respective pixel of first bank of filters input i_y_1p_ref as a result, i_y_1bp_ref, i_y_mbp_ref, i_y_hp_ref, six filtering of the respective pixel of i_u_ref and i_v_ref and the input of second bank of filters are i_y_1p_cur as a result, i_y_1bp_cur, i_y_mbp_cur, i_y_hp_cur, i_u_cur and i_v_cur carry out subtraction, obtain each absolute value sub_y_1p then, sub_y_1bp, sub_y_mbp, sub_y_hp, sub_u and sub_v, send in this first adder and sue for peace, obtain respective pixel difference absolute value and sum6 (sum6_0...sum6_14), be input at last in the second adder that each first adder connects;
Second adder in step 204, each first module difference and the arithmetic unit with the absolute value of the difference of connected all first adders input and sum6 (sum6_0...sum6_14) summation, obtain the absolute value difference and the SAD_n of each first module difference and arithmetic unit, then in the parallel minimum value searcher that all input is connected with each second adder;
Step 205,5 tunnel parallel minimum value searchers are searched for absolute value difference and SAD_0, SAD_1, SAD_2, SAD_3 and the SAD_4 of each first module difference and arithmetic unit, obtain absolute value difference and the min5 and the relative position mvsubpix of minimum, be input to then in the serial minimum value searcher;
The searching method of parallel minimum value searcher is a lot, is for example compared by one the 3rd comparator by 5 absolute value difference of 5 first module differences and arithmetic unit input and SAD_0 and SAD_1, selects both smaller value min_0_1; SAD_2 and SAD_3 are compared by another the 3rd comparator, select both smaller value min_2_3, these two smaller value min_0_1 and min_2_3 are compared by the 4th comparator and obtain smaller value min_0_1_2_3 then, at last this minimum value and SAD_4 by the 5th comparator relatively obtain these 5 absolute value differences and minimum value min5 and relative position min5_index thereof, import at last in the serial minimum value searcher 6;
The absolute value difference and the min5 of step 206, the minimum that searched by 5 tunnel parallel minimum value searchers input in first comparator in the serial minimum value searcher;
Step 207, this first comparator relatively this input absolute value difference and with first latch in last time of storing the less absolute value difference that relatively draws and, with absolute value difference less among both with send in described first latch;
Step 208,2:1 selector call the absolute value difference that stores in first latch and, with last time of storing in second latch minimum relatively absolute value difference and, if the time division multiplexing control signal according to input does not satisfy the clock cycle, then export in second latch absolute value difference and, if satisfy the clock cycle, then export absolute value difference and minall in first latch, and relative position o_mv, the relative position of this minimum value is exactly the pixel motion vector o_mv that is calculated.
Because the frequency ratio of speed clock is 12, thus serial minimum value searcher must more continuous 12 absolute value differences and, the absolute value difference that just can draw the minimum the hunting zone at last with.Include parallel low pass filter in first bank of filters among this embodiment and second bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor, therefore each pixel data is carried out low-pass filtering, low bandpass filtering, bandpass filtering, high-pass filtering, colourity u filtering and colourity v filtering, also can be without colourity u extractor and colourity v extractor, promptly need not carry out colourity u filtering and colourity v filtering, carry out computing and get final product so each first adder only connects 4 poor signed magnitude arithmetic(al) devices, though reduced search precision like this, but can reduce hardware resource, also can use corresponding detailed process to be:
Step 202, low pass filter in each first bank of filters, low band pass filter, band pass filter and high pass filter carry out the filtering of four frequency ranges to each pixel data by described 74:15 MUX input respectively, four filtering that obtain each pixel are i_y_1p_ref_0_14 as a result, i_y_1bp_ref_0_14, i_y_mbp_ref_0_14 and i_y_hp_ref_0_14, four filtering results of each pixel are input in four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter and high pass filter carry out the filtering of four frequency ranges to 15 pixel datas in each window respectively, four filtering that also obtain each pixel are i_y_1p_cur_0_14, i_y_1bp_cur_0_14, i_y_mbp_cur_0_14 and i_y_hp_cur_0_14 as a result, all is input in four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit;
Step 203, four poor signed magnitude arithmetic(al) devices that each first module difference is connected with first adder in the arithmetic unit, with four filtering of respective pixel of first bank of filters input i_y_1p_ref as a result, i_y_1bp_ref, four filtering of the respective pixel of i_y_mbp_ref and i_y_hp_ref and the input of second bank of filters are i_y_1p_cur as a result, i_y_1bp_cur, i_y_mbp_cur and i_y_hp_cur carry out subtraction, obtain each absolute value sub_y_1p then, sub_y_1bp, sub_y_mbp and sub_y_hp, send in this first adder and sue for peace, obtain respective pixel difference absolute value and sum6 (sum6_0...sum6_14), be input at last in the second adder that each first adder connects.
As shown in Figure 9, structural representation for the embodiment 2 of motion-vector search device of the present invention, comprise 5 the one 74:15 MUX 1, each 74:15 MUX 1 connects one first bank of filters 2, each first bank of filters 2 connects one first module difference and arithmetic unit 3,5 the 2nd 74:15 MUX 7, each 74:15 MUX 7 connects one the 3rd bank of filters 8, each the 3rd bank of filters 8 connects one second module difference and arithmetic unit 9, also comprise second bank of filters 4 that is connected with arithmetic unit 9 with all first module difference and the arithmetic unit 3 and the second module difference, each corresponding first module difference is connected one second comparator 10 with arithmetic unit 3 with second difference with arithmetic unit, 5 second comparators connect one 5 tunnel parallel minimum value searcher 5,5 tunnel parallel minimum value searchers 5 and also are connected with serial minimum value searcher.
Wherein each 74:15 MUX 1 according to the input time division multiplexing control signal Srcsel[3:0] from the input 74 parallel pixel data ref_n-36_n+37 (ref_n-36, ... select 15 pixel data mux_ref0_0_14 (mux_ref0_0 ref_n+37), ... mux_ref0_14), mux_ref1_0_14, mux_ref2_0_14, mux_ref3_0_14 and mux_ref4_0_14 send in first bank of filters 2 and carry out filtering, then with filtering i_ref0_0_14 (i_ref0_0 as a result, ... i_ref0_14), i_ref1_0_14, i_ref2_0_14, i_ref3_0_14 and i_ref4_0_14 import the first module difference and arithmetic unit 3; Wherein each the 2nd 74:15 MUX 1 is according to the time division multiplexing control signal Srcsel[3:0 of input] carry out the parallel pixel data ref_up_n-36_n+37 (ref_up_n-36 of the half-pix point that interpolation draws from 74 original pixels of input, ... select 15 pixel data mux_refu0_0_14 (mux_refu0_0 ref_up_n+37), ... mux_refu0_14), mux_reful_0_14, mux_refu2_0_14, mux_refu3_0_14 and mux_ref4u_0_14 send in the 3rd bank of filters 8 and carry out filtering, then with filtering i_refu0_0_14 (i_refu0_0 as a result, ... i_refu0_14), i_refu1_0_14, i_refu2_0_14, i_refu3_0_14 and i_refu4_0_14 import the second module difference and arithmetic unit 9; Second bank of filters 4 is with 15 pixel mux_cur_0_14 in the window, (mux_cur_0..., mux_cur_14), carry out filtering, obtain filtering i_cur_0_14 as a result, import in each first module difference and arithmetic unit 3 and each second module difference and the arithmetic unit 9, the first module difference and arithmetic unit 3 calculate absolute value difference and (Sum of abstract difference, SAD, refer to the picture element brightness value that all picture elements and the corresponding window size scope in the arbitrary position hunting zone in the window are interior difference absolute value with), parallel 5 first module differences and arithmetic unit 3 calculate 5 groups of 15 pixels of 12 pixels of being separated by in twos and absolute value difference and the SAD_0 between the search pixel simultaneously, SAD_1, SAD_2, SAD_3, SAD_4 and SAD_5, be that each module difference and arithmetic unit 3 calculate one group of 15 pixel, parallel 5 second module differences and arithmetic unit 9 calculate 5 groups of 15 pixels of 12 pixels of being separated by in twos and absolute value difference and the SAD_up_0 between the search pixel simultaneously, SAD_up_1, SAD_up_2, SAD_up_3 and SAD_up_4, promptly each module difference and arithmetic unit 9 calculate one group of 15 pixel data.
As shown in figure 10, be the detailed structure schematic diagram of the 3rd bank of filters among the motion-vector search device embodiment 2 of the present invention.
Each the 3rd bank of filters 8 comprises parallel low pass 1p filter 81, low strap leads to 1bp filter 82, the logical mbp filter 83 of band, high pass hp filter 84, colourity u extractor 85 and colourity v extractor 86, pixel data ref_up_n-36_n+37 (the ref_up_n-36 of the half-pix point that each the 2nd 74:15 MUX 7 draws from 74 raw pixel data interpolation, ... 15 pixel data mux_refun_0_14 (mux_refun_0 that select simultaneously ref_up_n+37), ... mux_refun_14), the low-pass filtering that obtains 15 pixels through low pass 1p filter 81 is i_y_1p_refu_0_14 (i_y_1p_refu_0 as a result, ... i_y_1p_refu_14); The lower passband filtering that obtains 15 pixels through the logical 1bp filter 82 of low strap as a result i_y_1bp_refu_0_14 (i_y_1bp_refu_0 ... i_y_1bp_refu_14); The bandpass filtering that obtains 15 pixels through the logical mbp filter 83 of band as a result i_y_mbpu_ref_0_14 (i_y_mbp_refu_0 ... i_y_mbp_refu_14); The high-pass filtering that obtains 15 pixels through low pass high pass hp filter 84 as a result i_y_1pu_ref_0_14 (i_y_1pu_ref_0 ... i_y_1p_refu_14); The colourity u filtering that obtains 15 pixels through colourity u extractor 85 as a result i_u_refu_0_14 (i_u_refu_0 ... i_u_refu_14); The colourity v filtering that obtains 15 pixels through colourity v extractor 86 as a result i_v_refu_0_14 (i_v_refu_0 ... i_v_refu_14), these data are all imported in the second module difference and the arithmetic unit 9 then.
Referring to shown in Figure 11, be the second module difference among the motion-vector search device embodiment 2 of the present invention and the structural representation of arithmetic unit.
6 poor signed magnitude arithmetic(al) devices 92 that first first adder 91 of each second module difference and arithmetic unit 9 is connected are with the low-pass filtering of first pixel of second bank of filters 8 input i_y_1p_refu_0 as a result, with by the low-pass filtering of first pixel of correspondence of second bank of filters 4 input as a result i_y_1p_cur_0 carry out the absolute value sub_y_1p that difference operation obtains difference then and import in first the 3rd adder 91, in like manner low bandpass filtering i_y_1bp_refu_0 and i_y_1bp_cur_0 as a result carries out the absolute value sub_y_1bp that difference operation obtains difference then, bandpass filtering i_y_mbpu_ref_0 and i_y_mbp_cur_0 as a result carries out the absolute value sub_y_mbp that difference operation obtains difference then, the absolute value sub_y_hp that difference operation obtains difference is then carried out in high-pass filtering i_y_hp_refu_0 and i_y_hp_cur_0 as a result, the absolute value sub_u that difference operation obtains difference is then carried out in colourity u filtering i_u_refu_0 and i_u_cur_0 as a result, the absolute value sub_v that difference operation obtains difference is then carried out in colourity v filtering i_v_ref_0 and i_v_cur_0 as a result, all be input in first the 3rd adder 91, obtain the difference absolute value and sum6_0, thus Dui Ying the 3rd adder 91 obtain each the contrast pixel difference absolute value and sum6_1, sum6_2... the 15 the 3rd adder 91 of straight way obtain corresponding the 15 pixel difference absolute value and sum6_14, these the difference absolute value and sum6_1, sum6_2...sum6_14 all is input in the 4th adder and sues for peace, obtain the absolute value difference and the SAD_up_n of this second module difference and arithmetic unit, import in second comparator 10.
10 pairs of second comparators are by the absolute value difference of the corresponding first module difference and arithmetic unit 3 and the second module difference and arithmetic unit 9 inputs and compare, and less comparative result imported in the 5 tunnel parallel minimum value searchers compare.
First bank of filters 2, second bank of filters 4 and the first module difference and arithmetic unit 3 in the present embodiment, all identical with structure and the working method of the embodiment of a last invention motion-vector search device, repeat no more herein.The structure of 5 tunnel minimum value searchers and serial minimum value searcher also repeats no more with relatively flow process is all identical with structure and the working method of the embodiment of a last invention motion-vector search device herein.
In the present embodiment, first bank of filters and the 3rd bank of filters can include only parallel low pass 1p filter, low strap leads to the 1bp filter, logical mbp filter of band and high pass hp filter, equally, each second bank of filters also includes only parallel low pass 1p filter, low strap leads to the 1bp filter, logical mbp filter of band and high pass hp filter, such the 4th adder then only need be connected with 4 poor signed magnitude arithmetic(al) devices, and only carry out the calculating of these difference absolute values, may reduce some matching precisions thus, but hardware cost can reduce, and still can use.
Because of the data of the half-pix point that has utilized interpolation to obtain, therefore can realize large-scale estimation, and reduce hardware resource in the present embodiment with the precision of half-pix point.
As shown in figure 12, be the method flow diagram of motion vector search method embodiment 3 of the present invention, concrete steps are as follows:
Step 301,5 first parallel MUX are extracted 15 pixel datas separately according to the time multiplexing signal of importing and are input in first bank of filters that connects separately from 74 road parallel pixel datas; 5 second parallel MUX are extracted 15 pixel datas separately and are input in second bank of filters that connects separately from the parallel half picture element pixel data that is obtained by 74 road original pixels interpolation;
Step 302, each first bank of filters are carried out Filtering Processing with each pixel data of connected described first MUX input, obtain several filtering result of each pixel, be input in the first module difference and arithmetic unit that each first bank of filters connects separately; Each the 3rd bank of filters is carried out Filtering Processing with each pixel data of connected described second MUX input, obtain several filtering result of each pixel, be input in the second module difference and arithmetic unit that each the 3rd bank of filters connects separately; Second bank of filters is carried out Filtering Processing with pixel data in the window of input, obtains 4 filtering results of each pixel in the window, is input in all first module differences and arithmetic unit and all second module differences and the arithmetic unit;
Step 303, each first module difference and arithmetic unit obtain an absolute value difference and, all be input to then separately in second comparator that connects; Each second module difference and arithmetic unit also obtain an absolute value difference and, also all be input to then separately in second comparator that connects;
The absolute value difference that step 304, each second comparator are relatively imported and, with less absolute value difference be input in the 5 tunnel parallel minimum value searchers;
Step 305,5 tunnel parallel minimum value searchers search minimum absolute value difference and, be input to then in the serial minimum value searcher;
Step 306, serial minimum value searcher according to the clock cycle from the absolute value difference of continuous input with calculate minimum value and relative position, the relative position of this minimum value is exactly the pixel motion vector of being calculated.
The estimation of large-scale motion vector has thus realized moving.
As shown in figure 13, be the method flow diagram of motion vector search method embodiment 4 of the present invention, concrete steps are as follows:
Step 401,5 first parallel MUX according to the time multiplexing signal of input from 74 tunnel parallel pixel data ref_n-36 ... extract 15 pixel data mux_ref_0_14 (mux_ref_0...mux_ref14) among the ref_n+37 separately and be input in first bank of filters that connects separately; 5 second parallel MUX from the parallel half pixel point data ref_up_n-36_n+37 that obtains by original 74 picture element interpolations (ref_up_n-36 ... extract separately ref_up_n+37) 15 pixel data mux_refu0_0_14 (mux_refu0_0 ... mux_refu0_14), mux_refu1_0_14, mux_refu2_0_14, mux_refu3_0_14 be input in second bank of filters that is connected separately with mux_ref4u_0_14;
Because handle 74 pixels each time, finished by whole the extraction through 5 selectors, again because 5 the one 74:15 MUX are arranged, therefore 5 first bank of filters are arranged also;
Step 402, low pass filter in each first bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to each pixel data by described 74:15 MUX input respectively, six filtering that obtain each pixel are i_y_1p_ref_0_14 as a result, i_y_1bp_ref_0_14, i_y_mbp_ref_0_14, i_y_hp_ref_0_14, i_u_ref_0_14 and i_v_ref_0_14, six filtering results of each pixel are input in six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter in each the 3rd bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to each pixel data by described the 2nd 74:15 MUX input respectively, six filtering that obtain each pixel are i_y_1p_refu_0_14 as a result, i_y_1bp_refu_0_14, i_y_mbp_refu_0_14, i_y_hp_refu_0_14, iurefu_0_14 and i_v_refu_0_14, six filtering results of each pixel are input in six poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to pixel in each window respectively, six filtering that also obtain each pixel are i_y_1p_cur_0_14 as a result, i_y_1bp_cur_0_14, i_y_mbp_cur_0_14, i_y_hp_cur_0_14, i_u_cur_0_14 and i_v_cur_0_14, all be input to six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit, in six poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit;
Step 403, six poor signed magnitude arithmetic(al) devices that each first module difference is connected with first adder in the arithmetic unit, with six filtering of respective pixel of first bank of filters input i_y_1p_ref as a result, i_y_1bp_ref, i_y_mbp_ref, i_y_hp_ref, six filtering of the respective pixel of i_u_ref and i_v_ref and the input of second bank of filters are i_y_1p_cur as a result, i_y_1bp_cur, i_y_mbp_cur, i_y_hp_cur, i_u_cur and i_v_cur carry out subtraction, obtain each absolute value sub_y_1p then, sub_y_1bp, sub_y_mbp, sub_y_hp, sub_u and sub_v, send in this first adder and sue for peace, obtain respective pixel difference absolute value and sum6 (sum6_0...sum6_14), be input at last in the second adder that each first adder connects; Six poor signed magnitude arithmetic(al) devices that each second module difference is connected with the 3rd adder in the arithmetic unit, with six filtering of respective pixel of the 3rd bank of filters input i_y_1p_refu as a result, i_y_1bp_refu, i_y_mbp_refu, i_y_hp_refu, six filtering of the respective pixel of i_u_refu and i_v_refu and the input of second bank of filters are i_y_1p_cur as a result, i_y_1bp_cur, i_y_mbp_cur, i_y_hp_cur, i_u_cur and i_v_cur carry out subtraction, obtain each absolute value sub_y_1p then, sub_y_1bp, sub_y_mbp, sub_y_hp, sub_u and sub_v, be passed to the sum_up_6 (sum6_0...sum6_14) that sues for peace in each the 3rd adder at last, obtain respective pixel difference absolute value and, be input in the 4th adder that each the 3rd adder connects;
Second adder in step 404, each first module difference and the arithmetic unit with the absolute value of the difference of connected all first adders input and sum6 (sum6_0...sum6_14) summation, obtain the absolute value difference and the SAD_n of each first module difference and arithmetic unit, in second comparator that input is connected with second adder; The 4th adder of each second module difference and arithmetic unit with the absolute value of the difference of connected all the 3rd adders input and sum6 (sum6_0...sum6_14) summation, also obtain the absolute value difference and the SAD_up_n of each second module difference and arithmetic unit, in input and second comparator that the 4th adder is connected;
Step 405, each second comparator relatively by the absolute value difference of the corresponding first module difference and arithmetic unit and the second module difference and arithmetic unit input and, with less absolute value difference be input in the parallel minimum value searcher;
Step 406,5 tunnel parallel minimum value searchers search minimum absolute value difference and, be input to then in the serial minimum value searcher;
The searching method of parallel minimum value searcher is a lot, is for example compared by one the 3rd comparator by 5 absolute value difference of 5 second comparators inputs and SAD0 and SAD1, selects both smaller value min_0_1; SAD2 and SAD3 are compared by another the 3rd comparator, select both smaller value min_2_3, these two smaller value min_0_1 and min_2_3 are compared by the 4th comparator and obtain smaller value min_0_1_2_3 then, at last this minimum value and SAD4 by the 5th comparator relatively obtain these 5 absolute value differences and minimum value min5 and relative position min5_index thereof, import at last in the serial minimum value searcher 6;
The absolute value difference of step 407, the minimum that searches by parallel minimum value searcher and, input in first comparator in the serial minimum value searcher;
Step 408, this first comparator relatively this input absolute value difference and with first latch in the absolute value difference that stores and, with less absolute value difference with send in described first latch;
Step 409,2:1 selector call the absolute value difference that stores in first latch and, and second last time that stores in the latch minimum relatively absolute value difference and, if do not satisfy the clock cycle, then export in second latch absolute value difference and, if satisfy the clock cycle, then export in first latch absolute value difference and, and relative position, the relative position of this minimum value is exactly the pixel motion vector of being calculated.
Because the frequency ratio of speed clock is 12, thus serial minimum value searcher must more continuous 12 absolute value differences and, the absolute value difference that just can draw the minimum the hunting zone at last with.Include parallel low pass filter in first bank of filters among this embodiment and second bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor, therefore each pixel data is carried out low-pass filtering, low bandpass filtering, bandpass filtering, high-pass filtering, colourity u filtering and colourity v filtering, also can be without colourity u extractor and colourity v extractor, promptly need not carry out colourity u filtering and colourity v filtering, carry out computing and get final product so each first adder only connects 4 poor signed magnitude arithmetic(al) devices, though reduced search precision like this, but can reduce hardware resource, also can use corresponding detailed process to be:
Step 402, low pass filter in each first bank of filters, low band pass filter, band pass filter and high pass filter carry out the filtering of four frequency ranges to each pixel data by described 74:15 MUX input respectively, four filtering that obtain each pixel are i_y_1p_ref_0_14 as a result, i_y_1bp_ref_0_14, i_y_mbp_ref_0_14 and i_y_hp_ref_0_14, four filtering results of each pixel are input in four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter, low band pass filter, band pass filter and high pass filter in each the 3rd bank of filters carries out the filtering of four frequency ranges to each pixel data by described the 2nd 74:15 MUX input respectively, four filtering that obtain each pixel are i_y_1p_refu_0_14, i_y_1bp_refu_0_14, i_y_mbp_refu_0_14 and i_y_hp_refu_0_14 as a result, and four filtering results of each pixel are input in four poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter and high pass filter carry out the filtering of four frequency ranges to pixel in each window respectively, four filtering that also obtain each pixel are i_y_1p_cur_0_14 as a result, i_y_1bp_cur_0_14, i_y_mbp_cur_0_14 and i_y_hp_cur_0_14, all be input to four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit, in four poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit;
Step 403, four poor signed magnitude arithmetic(al) devices that each first module difference is connected with first adder in the arithmetic unit, with four filtering of respective pixel of first bank of filters input i_y_1p_ref as a result, i_y_1bp_ref, four filtering of the respective pixel of i_y_mbp_ref and i_y_hp_ref and the input of second bank of filters are i_y_1p_cur as a result, i_y_1bp_cur, i_y_mbp_cur and i_y_hp_cur carry out subtraction, obtain each absolute value sub_y_1p then, sub_y_1bp, sub_y_mbp and sub_y_hp, send in this first adder and sue for peace, obtain respective pixel difference absolute value and sum6 (sum6_0...sum6_14), be input at last in the second adder that each first adder connects; Four poor signed magnitude arithmetic(al) devices that each second module difference is connected with the 3rd adder in the arithmetic unit, with four filtering of respective pixel of the 3rd bank of filters input i_y_1p_refu as a result, i_y_1bp_refu, four filtering of the respective pixel of i_y_mbp_refu and i_y_hp_refu and the input of second bank of filters are i_y_1p_cur as a result, i_y_1bp_cur, i_y_mbp_cur, i_y_hp_cur, i_u_cur and i_v_cur carry out subtraction, obtain each absolute value sub_y_1p then, sub_y_1bp, sub_y_mbp and sub_y_hp, be passed to the sum_up_6 (sum6_0...sum6_14) that sues for peace in each the 3rd adder at last, obtain respective pixel difference absolute value and, be input in the 4th adder that each the 3rd adder connects.
The data of present embodiment utilization difference frame picture element compare, so search precision can be higher, and promptly the precision at half-pix point has realized large-scale estimation, and has reduced hardware resource.
It should be noted last that, above embodiment is only unrestricted in order to technical scheme of the present invention to be described, although the present invention is had been described in detail with reference to preferred embodiment, those of ordinary skill in the art is to be understood that, can make amendment or be equal to replacement technical scheme of the present invention, and not break away from the spirit and scope of technical solution of the present invention.

Claims (22)

1, a kind of motion-vector search device, comprising:
Several first MUX are used for selecting pixel data according to the time division multiplexing control signal of input from the multichannel pixel data;
Several first bank of filters connect one to one with described several first MUX, are used for the pixel data that described first MUX is selected is carried out Filtering Processing;
One second bank of filters is used for the raw pixel data in the window is carried out Filtering Processing;
Several first module difference and arithmetic units connect one to one with described several first bank of filters, and all are connected with described second bank of filters, be used to calculate absolute value difference and;
One parallel minimum value searcher is connected with arithmetic unit with described several first module differences, be used for calculating each first module difference and arithmetic unit absolute value difference and minimum value;
One serial minimum value searcher is connected with described parallel minimum value searcher, be used to calculate continuously all absolute value differences and minimum value and index motion vector.
2, motion-vector search device according to claim 1, wherein said first bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter and a high pass filter, all be connected, and all be connected with arithmetic unit with the described first module difference that is connected with this bank of filters with described first MUX that is connected with this bank of filters; Described second bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter and a high pass filter, all is connected with arithmetic unit with the described first module difference.
3, motion-vector search device according to claim 1, wherein said first bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter, a high pass filter, a colourity u extractor and a colourity v extractor, all be connected, and all be connected with arithmetic unit with the described first module difference that is connected with this bank of filters with described first MUX that is connected with this bank of filters; Described second bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter, a high pass filter, a colourity u extractor and a colourity v extractor, all is connected with arithmetic unit with the described first module difference.
4, motion-vector search device according to claim 1, wherein said first module difference and arithmetic unit comprise:
One second adder is connected with described parallel minimum value searcher;
Several first adders are connected with described second adder; And
Several first difference signed magnitude arithmetic(al) devices that each connects on each first adder all are connected with second bank of filters with described first bank of filters.
5, according to claim 1,2,3 or 4 described motion-vector search devices, wherein said serial minimum value searcher comprises:
One first comparator is connected with described parallel minimum value searcher;
One latch is connected with described first comparator;
One 2:1 selector is connected with first comparator with described latch;
One second latch is connected with described 2:1 selector.
6, a kind of motion-vector search device, comprising:
Several first MUX are used for selecting pixel data according to the time division multiplexing control signal of input from the multichannel pixel data;
Several first bank of filters connect one to one with described several first MUX, are used for the pixel data that described first MUX is selected is carried out Filtering Processing;
One second bank of filters is used for the raw pixel data in the window is carried out Filtering Processing;
Several first module difference and arithmetic units connect one to one with described several first bank of filters, and all are connected with described second bank of filters, be used to calculate absolute value difference and;
Several second MUX are used for selecting pixel data according to the time division multiplexing control signal of input from the half-pixel data of being carried out interpolation by original pixels and drawing;
Several the 3rd bank of filters connect one to one with described several second MUX, are used for the pixel data that described second MUX is selected is carried out Filtering Processing;
Several second module difference and arithmetic units connect one to one with described several the 3rd bank of filters, and all are connected with described second bank of filters, be used to calculate absolute value difference and;
Several second comparators, connect one to one with described several first module differences and arithmetic unit and several second module differences and arithmetic unit, be used for absolute value difference that more described first module difference and arithmetic unit and the second module difference and arithmetic unit calculate and;
One parallel minimum value searcher is connected with described several second comparators, be used to calculate absolute value difference that described second comparator sends and minimum value;
One serial minimum value searcher is connected with described parallel minimum value searcher, be used to calculate continuously all absolute value differences and minimum value and index motion vector.
7, motion-vector search device according to claim 6, wherein said first bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter and a high pass filter, all be connected, and all be connected with arithmetic unit with the described first module difference that is connected with this bank of filters with described first MUX that is connected with this bank of filters; Described second bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter and a high pass filter, all is connected with arithmetic unit with the second module difference with arithmetic unit with the described first module difference; Described the 3rd bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter and a high pass filter, all be connected, and all be connected with arithmetic unit with the described second module difference that is connected with this bank of filters with described second MUX that is connected with this bank of filters.
8, motion-vector search device according to claim 6, wherein said first bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter, a high pass filter, a colourity u extractor and a colourity v extractor, all be connected, and all be connected with arithmetic unit with the described first module difference that is connected with this bank of filters with described first MUX that is connected with this bank of filters; Described second bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter, a high pass filter, a colourity u extractor and a colourity v extractor, all is connected with arithmetic unit with the second module difference with arithmetic unit with the described first module difference; Described the 3rd bank of filters comprises a parallel low pass filter, a low band pass filter, a band pass filter, a high pass filter, a colourity u extractor and a colourity v extractor, all be connected, and all be connected with arithmetic unit with the described second module difference that is connected with this bank of filters with described second MUX that is connected with this bank of filters.
9, motion-vector search device according to claim 6, wherein said first module difference and arithmetic unit comprise:
One second adder is connected with described second comparator;
Several first adders are connected with described second adder; And
Several difference signed magnitude arithmetic(al) devices that each connects on each first adder all are connected with second bank of filters with described first bank of filters;
Described second module difference and arithmetic unit comprise:
One the 4th adder is connected with described second comparator;
Several the 3rd adders are connected with described the 4th adder; And
Several second difference signed magnitude arithmetic(al) devices that each connects on each the 3rd adder all are connected with second bank of filters with described the 3rd bank of filters.
10, according to claim 6,7,8 or 9 described motion-vector search devices, wherein said serial minimum value searcher comprises:
One first comparator is connected with described parallel minimum value searcher;
One latch is connected with described first comparator;
One 2:1 selector is connected with first comparator with described latch;
One second latch is connected with described 2:1 selector.
11, a kind of motion vector search method, comprising following steps:
Step 1, several first parallel MUX are extracted several pixel datas separately according to the time multiplexing signal of importing and are input in first bank of filters that connects separately from parallel pixel data;
Step 2, each first bank of filters are carried out Filtering Processing with each pixel data of connected described first MUX input, obtain several filtering result of each pixel, be input in the first module difference and arithmetic unit that each first bank of filters connects separately; Second bank of filters is carried out Filtering Processing with pixel data in the window of input, obtains several filtering result of each pixel in the window, is input in all first module differences and the arithmetic unit;
Step 3, each first module difference and arithmetic unit obtain an absolute value difference and, all be input to then in the parallel minimum value searcher;
Step 4, parallel minimum value searcher search minimum absolute value difference and, be input to then in the serial minimum value searcher;
Step 5, serial minimum value searcher according to the clock cycle from the absolute value difference of continuous input with calculate minimum value and relative position, the relative position of this minimum value is exactly the pixel motion vector of being calculated.
12, motion vector search method according to claim 11, wherein said step 2 is specially: low pass filter, low band pass filter, band pass filter and the high pass filter in each first bank of filters carries out the filtering of four frequency ranges to each pixel data by described first MUX input respectively, obtain four filtering results of each pixel, four filtering results of each pixel are input in four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter and high pass filter carry out the filtering of four frequency ranges to pixel data in each window respectively, also obtain four filtering results of each pixel, all be input in four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit.
13, motion vector search method according to claim 12, wherein said step 3 is specially:
Four poor signed magnitude arithmetic(al) devices that step 31, each first module difference are connected with first adder in the arithmetic unit, four filtering results of the respective pixel of four the filtering results of respective pixel of first bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, send in this first adder and sue for peace, obtain respective pixel difference absolute value and, be input at last in the second adder that each first adder connects;
Second adder in step 32, each first module difference and the arithmetic unit with the absolute value of the difference of connected all first adders input and summation, obtain each first module difference and arithmetic unit absolute value difference and, then all in the parallel minimum value searcher that is connected with each second adder of input.
14, motion vector search method according to claim 11, wherein said step 2 is specially: the low pass filter in each first bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to each pixel data by described first MUX input respectively, obtain six filtering results of each pixel, six filtering results of each pixel are input in six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to pixel data in each window respectively, also obtain six filtering results of each pixel, all be input in six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit.
15, motion vector search method according to claim 14, wherein said step 3 is specially:
Six poor signed magnitude arithmetic(al) devices that step 31, each first module difference are connected with first adder in the arithmetic unit, six filtering results of the respective pixel of six the filtering results of respective pixel of first bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, send in this first adder and sue for peace, obtain respective pixel difference absolute value and, be input at last in the second adder that each first adder connects;
Second adder in step 32, each first module difference and the arithmetic unit with the absolute value of the difference of connected all first adders input and summation, obtain each first module difference and arithmetic unit absolute value difference and, then all in the parallel minimum value searcher that is connected with each second adder of input.
16, according to claim 11,12,13,14 or 15 described motion vector search methods, wherein said step 5 is specially:
The absolute value difference of step 50, the minimum that searches by parallel minimum value searcher and, input in first comparator in the serial minimum value searcher;
Step 51, this first comparator relatively this input absolute value difference and with first latch in the absolute value difference that stores and, with less absolute value difference with send in described first latch;
Step 52,2:1 selector call the absolute value difference that stores in first latch and, with the absolute value difference that stores in second latch and, if do not satisfy the clock cycle, then export last time of storing in second latch of minimum relatively absolute value difference and, if satisfy the clock cycle, then export in first latch absolute value difference and, and relative position, the absolute value difference in this first latch and relative position be exactly the pixel motion vector of being calculated.
17, a kind of motion vector search method, comprising following steps:
Step 1, several first parallel MUX are extracted several pixel datas separately according to the time multiplexing signal of importing and are input in first bank of filters that connects separately from parallel pixel data; Several second parallel MUX are extracted several pixel datas separately and are input in the 3rd bank of filters that connects separately from parallel half pixel point data that is obtained by the original pixels interpolation;
Step 2, each first bank of filters are carried out Filtering Processing with each pixel data of connected described first MUX input, obtain several filtering result of each pixel, be input in the first module difference and arithmetic unit that each first bank of filters connects separately; Each the 3rd bank of filters is carried out Filtering Processing with each pixel data of connected described second MUX input, obtain several filtering result of each pixel, be input in the second module difference and arithmetic unit that each the 3rd bank of filters connects separately; Second bank of filters is carried out Filtering Processing with pixel data in the window of input, obtains several filtering result of each pixel in the window, is input in all first module differences and arithmetic unit and all second module differences and the arithmetic unit;
Step 3, each first module difference and arithmetic unit obtain an absolute value difference and, all be input to then separately in second comparator that connects; Each second module difference and arithmetic unit also obtain an absolute value difference and, also all be input to then separately in second comparator that connects;
Step 4, each second comparator relatively by the absolute value difference of the corresponding first module difference and arithmetic unit and the second module difference and arithmetic unit input and, with less absolute value difference be input in the parallel minimum value searcher;
Step 5, parallel minimum value searcher search minimum absolute value difference and, be input to then in the serial minimum value searcher;
Step 6, serial minimum value searcher according to the clock cycle from the absolute value difference of continuous input with calculate minimum value and relative position, the relative position of this minimum value is exactly the pixel motion vector of being calculated.
18, motion vector search method according to claim 17, wherein said step 2 is specially: low pass filter, low band pass filter, band pass filter and the high pass filter in each first bank of filters carries out the filtering of four frequency ranges to each pixel data by described first MUX input respectively, obtain four filtering results of each pixel, four filtering results of each pixel are input in four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter, low band pass filter, band pass filter and high pass filter in each the 3rd bank of filters carries out the filtering of four frequency ranges to each pixel data by described second MUX input respectively, obtain four filtering results of each pixel, four filtering results of each pixel are input in four poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter and high pass filter carry out the filtering of four frequency ranges to pixel in each window respectively, also obtain four filtering results of each pixel, all be input to four poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit, in four poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit.
19, motion vector search method according to claim 18, wherein said step 3 is specially:
Four poor signed magnitude arithmetic(al) devices that step 31, each first module difference are connected with first adder in the arithmetic unit, four filtering results of the respective pixel of four the filtering results of respective pixel of first bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, send in this first adder and sue for peace, obtain respective pixel difference absolute value and, be input at last in the second adder that each first adder connects; Four poor signed magnitude arithmetic(al) devices that each second module difference is connected with the 3rd adder in the arithmetic unit, four filtering results of the respective pixel of four the filtering results of respective pixel of the 3rd bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, be passed at last in each the 3rd adder and sue for peace, obtain respective pixel difference absolute value and, be input in the 4th adder that each the 3rd adder connects;
Second adder in step 32, each first module difference and the arithmetic unit with the absolute value of the difference of connected all first adders input and summation, obtain each first module difference and arithmetic unit absolute value difference and, in second comparator that is connected with second adder of input; The 4th adder of each second module difference and arithmetic unit with the absolute value of the difference of connected all the 3rd adders input and summation, also obtain each second module difference and arithmetic unit absolute value difference and, in input and second comparator that the 4th adder is connected.
20, motion vector search method according to claim 17, wherein said step 2 is specially: the low pass filter in each first bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to each pixel data by described first MUX input respectively, obtain six filtering results of each pixel, six filtering results of each pixel are input in six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit; Low pass filter in each the 3rd bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to each pixel data by described second MUX input respectively, obtain six filtering results of each pixel, six filtering results of each pixel are input in six poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit; Low pass filter in second bank of filters, low band pass filter, band pass filter, high pass filter, colourity u extractor and colourity v extractor carry out the filtering of six frequency ranges to pixel in each window respectively, also obtain six filtering results of each pixel, all be input to six poor signed magnitude arithmetic(al) devices that first adder was connected of each pixel correspondence in the first module difference and the arithmetic unit, in six poor signed magnitude arithmetic(al) devices that the second module difference is connected with the 3rd adder of each pixel correspondence in the arithmetic unit.
21, motion vector search method according to claim 20, wherein said step 3 is specially:
Six poor signed magnitude arithmetic(al) devices that step 31, each first module difference are connected with first adder in the arithmetic unit, six filtering results of the respective pixel of six the filtering results of respective pixel of first bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, send in this first adder and sue for peace, obtain respective pixel difference absolute value and, be input at last in the second adder that each first adder connects; Six poor signed magnitude arithmetic(al) devices that each second module difference is connected with the 3rd adder in the arithmetic unit, six filtering results of the respective pixel of six the filtering results of respective pixel of the 3rd bank of filters input and the input of second bank of filters are carried out subtraction, obtain absolute value then, be passed at last in each the 3rd adder and sue for peace, obtain respective pixel difference absolute value and, be input in the 4th adder that each the 3rd adder connects;
Second adder in step 32, each first module difference and the arithmetic unit with the absolute value of the difference of connected all first adders input and summation, obtain each first module difference and arithmetic unit absolute value difference and, in second comparator that is connected with second adder of input; The 4th adder of each second module difference and arithmetic unit with the absolute value of the difference of connected all the 3rd adders input and summation, also obtain each second module difference and arithmetic unit absolute value difference and, in input and second comparator that the 4th adder is connected.
22, according to claim 17,18,19,20 or 21 described motion vector search methods, wherein said step 6 is specially:
The absolute value difference of step 60, the minimum that searches by parallel minimum value searcher and, input in first comparator in the serial minimum value searcher;
Step 61, this first comparator relatively this input absolute value difference and with first latch in the absolute value difference that stores and, with less absolute value difference with send in described first latch;
Step 62,2:1 selector call the absolute value difference that stores in first latch and, and second last time that stores in the latch minimum relatively absolute value difference and, if do not satisfy the clock cycle, then export in second latch absolute value difference and, if satisfy the clock cycle, then export in first latch absolute value difference and, and relative position, the absolute value difference in this first latch and relative position be exactly the pixel motion vector of being calculated.
CN 200510111087 2005-12-02 2005-12-02 Motion vector searching device and method Expired - Fee Related CN100505881C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200510111087 CN100505881C (en) 2005-12-02 2005-12-02 Motion vector searching device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200510111087 CN100505881C (en) 2005-12-02 2005-12-02 Motion vector searching device and method

Publications (2)

Publication Number Publication Date
CN1980389A CN1980389A (en) 2007-06-13
CN100505881C true CN100505881C (en) 2009-06-24

Family

ID=38131355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200510111087 Expired - Fee Related CN100505881C (en) 2005-12-02 2005-12-02 Motion vector searching device and method

Country Status (1)

Country Link
CN (1) CN100505881C (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860746B (en) * 2009-04-08 2012-05-23 晨星软件研发(深圳)有限公司 Motion estimation method

Also Published As

Publication number Publication date
CN1980389A (en) 2007-06-13

Similar Documents

Publication Publication Date Title
RU2182727C2 (en) Method for searching motion vectors of parts in amplitude images
WO2014098976A1 (en) Motion estimation engine for video encoding
WO2011020647A1 (en) Method and apparatus for estimation of interframe motion fields
US6118901A (en) Array architecture with data-rings for 3-step hierarchical search block matching algorithm
JP2000106674A (en) Method and device for detecting motion
Akin et al. High performance hardware architectures for one bit transform based single and multiple reference frame motion estimation
Chatterjee et al. Low power VLSI architectures for one bit transformation based fast motion estimation
CN100505881C (en) Motion vector searching device and method
CN1852442A (en) Layering motion estimation method and super farge scale integrated circuit
Zhang et al. Reusable architecture and complexity-controllable algorithm for the integer/fractional motion estimation of H. 264
Akin et al. High performance hardware architectures for one bit transform based motion estimation
Lu et al. Reconfigurable system-on-a-chip motion estimation architecture for multi-standard video coding
CN100394797C (en) Method of realizing VLSI of brightness interpolator based on AVS movement compensation
Baek et al. A fast array architecture for block matching algorithm
CN110737869B (en) DCT/IDCT multiplier circuit optimization method and application
CN101860746B (en) Motion estimation method
Liu et al. A frame-level FSBM motion estimation architecture with large search range
JP4228705B2 (en) Motion vector search method and apparatus
Beric et al. A technique for reducing complexity of recursive motion estimation algorithms
CN114727115B (en) Integer motion estimation method, system and storage medium for video coding
Hegde et al. An efficient hardware realization of diamond search algorithm for motion estimation task in video compression applications
Deng et al. An efficient VLSI implementation for MC interpolation of AVS standard
Akin et al. A reconfigurable hardware for one bit transform based multiple reference frame Motion Estimation
US11956452B2 (en) System and method for H.265 encoding
Tasdizen et al. Computation reduction techniques for vector median filtering and their hardware implementation

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: 20090624

Termination date: 20171202

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