The present invention relates generally to image processing and, in particular, to a method and apparatus for estimating motion from image blur. An image sensor with a capability to capture multiple concurrent (overlapping in time) images which forms part of a system used to estimate a uniform lineal motion using error minimisation is also disclosed.
Motion estimation is a useful tool in many aspects of image processing. Motion estimation is used in video compression (for example MPEG2). Motion estimation is also useful in identifying those portions of an image that may require updating on a display. Motion estimation further permits various portions of an image to have assigned to them motion vectors, for example as metadata, that are interpretable to provide for enhanced image processing. Motion detection may also be used for object tracking and content analysis and many other computer vision applications.
Known arrangements for performing motion estimation of video images typically use one of the following methods:
(i) estimation of illumination partial derivatives in combination with optical flow;
(ii) local (block based) calculation of a cross-correlation between successive images and using maxima to estimate the shift between images; or
(iii) estimation of the motion blur in any one image (using a variety of methods such as blind de-convolution, maximum likelihood estimation etc) to then use as a motion vector in optical flow.
One deficiency of existing motion estimation arrangements is that they operate between adjacent frames of an image sequence, or between odd and even fields of an interlaced image within such a sequence, As a consequence, known arrangements are limited to the image sampling rate either as frames or fields. However, motion may yet occur during the sampling of, or between, such frames or fields. Known arrangements also lack fine resolution of the magnitude of motion. For high quality reproduction, which includes consideration of issues such as storage efficiency, such motion is desired to be considered.
It is an object of the present invention to substantially overcome, or at least ameliorate, one or more disadvantages of existing arrangements.
According to a first aspect of the invention, there is provided a method of estimating motion of a moving object, said method comprising the steps of:
capturing at least first and second blurred images of said moving object, the blur in said images arising from at least motion blur of said object, wherein exposure durations of said first and second blurred images overlap at least partially;
generating an error function, said error function being a function of said first blurred image and said second blurred image;
minimising said error function; and
estimating said motion of said object from said minimised error function.
According to a second aspect of the invention, there is provided an apparatus for estimating motion of a moving object, said apparatus comprising;
one or more capture devices for capturing at least first and second blurred images of said moving object, the blur in said blurred images arising from at least motion blur of said object, wherein exposure durations of said blurred images overlap at least partially;
means for generating an error function, said error function being a function of said first blurred image and said second blurred image;
means for minimising said error function; and
means for estimating said motion of said object from said minimised error function.
According to another aspect of the invention, there is provided an apparatus for estimating motion of a moving image, said apparatus comprising:
an image sensor for capturing pixels of at least first and second images in which one of said images is sampled during a formation of at least one other of said images;
means for comparing said images to determine at least one motion vector for association with one of said images.
Other aspects of the invention are also disclosed.
A number of embodiments of the present invention will now be described with reference to the drawings, in which:
Consider an ideal two-dimensional digital image signal, represented as a function ƒ(x,y), where x and y are the horizontal and vertical image coordinates. The image signal ƒ(x,y) is defined for all integer values of x and y, and undefined for all non-integer values of x and y. The digital image signal ƒ(x,y) is typically obtained by sampling an analog image, for instance, an image on film.
In practice, this ideal image signal ƒ(x,y) is distorted by various image degradations. In this specification, image blurring is considered as well as additive noise. The image blurring to be considered is a special form of blur, namely uniform lineal blur typically caused by motion in a plane at an oblique angle to a line of sight of a camera used for capturing the image. The blurred image is represented as g1. In the preferred implementation, two different blurred images are used, namely g1 and g2.
The blurred images g1 and g2 can be represented as the result of a pair of blur functions b1 and b2 operating on the image signal ƒ(x,y). The blurred images g1 and g2 can therefore be represented using the convolution (*) operator as:
g1(x,y)=ƒ(x,y)*b1(x,y)+n1(x,y) (1)
g2(x,y)=ƒ(x,y)*b2(x,y)+n2(x,y) (2)
where n1 and n2 are additive noise signals.
An assumption is made that the motion is lineal and uniform over the image region under consideration. The blur functions b1 and b2 represent one dimensional (motion) blur of spatial extent 2a1 and 2a2 respectively occurring in a direction at angle θ to the x axis as illustrated in FIG. 1. Consequently the blur functions b1 and b2 can be represented as follows:
wherein
δ(p) is the Dirac delta function such that:
wherein ƒ is any function. (x′, y′) are rotated coordinates having the following relations:
As will be apparent from
The two dimensional Fourier transform G(u,v) of an arbitrary signal g(x,y) is defined as:
where u and v are the spatial frequency coordinates. Consequently, the transforms G1 and G2 of the blurred images g1 and g2 can be written as:
G1(u,v)=F(u,v).B1(u,v)+N1(u,v) (9)
G2(u,v)=F(u,v).B2(u,v)+N2(u,v) (10)
The discrete Fourier transforms B1 and B2 of the blur functions b1 and b2 have a simple (one dimensional) form when expressed in relation to rotated frequency axes, namely:
From Equations (9), (10), (12) and (13), the blurred image transforms G1 and G2 can be rewritten as:
For simplification, the additive noise spectra terms N1 and N2 in Equations (9) and (10) have been substituted by a single noise spectrum term N in Equation (15). From the two blurred images g1 and g2, two equations and four “unknowns” (viz the function F(u,v), as well as the parameters a1, a2, and x′0) are derived. By constraining the parameters a1, a2, and x′0, the unknowns can be reduced to two, and a unique solution thus exists for the simultaneous Equations (14) and (15).
The above deduction can be performed upon two or more images. Implementations using two images include:
Case (a) above is, illustrated in
Applying these parameters to Equations (14) and (15) gives the Fourier spectra:
Using a trigonometric expansion, a relationship between blurred image transforms G1 and G2 can be found as:
G2(u,v)=G1(u,v).cos(2πu′a)+N(u,v) (20)
The difference between blurred images g1 and g2 can be measured using total modulus-squared spectral “deviation” t, integrated over a representative region of the spatial frequency. The modulus-squared spectral “deviation” t can be written as a function of the blur parameter a;
t(a)=∫∫R|N(u,v)|2dudv=∫∫R|G2(u,v)−G1(u,v).cos(2πu′a)|2dudv. (21)
The blur estimation problem can now be expressed in terms of a least-squares estimation, in which the image “discrepancy” t(a) is minimised with respect to the blur parameter a. The stationary condition at a minimum is simply
∂t/∂a=0. (22)
However, Equation (21) can be further expanded as:
The blurred images g1 and g2 are real even functions, resulting in the Fourier spectra thereof G1 and G2 having Hermitian symmetry. Hence, the following apply:
Equation (24) can be expressed in terms of a complex exponential, because the imaginary sine components identically sum to zero when the symmetry conditions of Equation (25) apply.
Applying the coordinate transforms of Equation (11), the transformation can be rewritten as:
u′a=ua cos θ+va sin θ (27)
The image “discrepancy” t in Equation (26) is a function of two variables, and therefore t(a,θ) must be minimised with respect to both parameters, a and θ. Since a and θ have a polar structure, such allows the introduction of two new parameters X and Y with a rectilinear form as follows:
Applying Equation (28) to Equation (26) results in the following:
The first term in Equation (30) is a constant term related to the total “energy” in the two blurred image signals g1 and g2, which may be ignored in order to minimise the image “discrepancy” t. The second term is the (two-dimensional) auto-correlation of blurred image g1 which has been scaled by a factor of one half, while it's coordinates have been scaled by two. The third term is the cross-correlation of the blurred images g1 and g2 plus the corresponding 180 degrees rotated form.
Therefore, in the preferred embodiment, the image “discrepancy” t function can be minimised with respect to X and Y by calculating the image “discrepancy” t for all values of X and Y using the Fast Fourier Transform, which is the most efficient way to calculate large kernel correlations If only a small blur is expected, then the correlation calculations can be limited to a small zone, and advantage can be taken of computational efficiencies available. Additional efficiencies are possible using the symmetries apparent in Equation (30).
In another implementation, the exposures or blur functions are chosen to be uniform, to have the same start times, but blur function b2 has twice the duration of blur function b1.
It is noted that these exposures or blur functions b1 and b2 can be synthesised from Case (a) discussed above. The first exposure is just blur function b1, whereas the first and second exposures of
Applying these parameters to Equations (14) and (15) gives the Fourier spectra:
From Equations (32) and (33), the noise tern N(u,v) may be expressed as follows:
N(u,v)=G2(u,v)−G1(u,v).cos(2πu′a).exp(−2πiu′a) (34)
Again, the modulus-squared error or “deviation” t can be written as a function of the blur parameter a:
However, Equation (35) can be further expanded as:
Applying Equation (28) to Equation (37) results in the following:
Because the blurred images g1 and g2 are both real functions, the following properties exist:
G*n(u,v)=Gn(−u,−v)|Gn(−u,−v)|=|Gn(u,v)| (39)
The full (or at least symmetrical) limits in frequency space allows the last two terms of Equation (38) to be joined.
Only the last two terms of Equation (40) are functions of X and Y. These are therefore the only terms determining where the minimum of the deviation function ε(X,Y) is located, In particular, the last two terms can be recognised as having the form of auto and cross-correlation functions).
Equation (41) represents the convolution of blur image g1(−x,−y) with the difference of (g1−x,−y) and 2g2(x,y) evaluated at coordinates (X′,Y′), where
Blur functions having such a result are illustrated in
A person skilled in the art would recognise that many variations of the above implementations exist. For example, the blur function b2 can be chosen such that its duration comprises multiples of the duration of blur function b1, wherein the multiples are greater than two which correspond with the implementations described above.
By considering implementations with higher durations for blur function b2 relative to the blur function b1, a sequence of auto-correlations and cross-correlations are evaluated with various integer resealing factors. However, the overall method is similar in that a direct calculation of the minimisation is possible using fast correlation techniques.
In order to illustrate the above, yet another implementation is described.
This particular relationship between the two exposures results in the following parameters:
Applying the parameters of Equations (43) to Equations (14) and (15) gives the Fourier spectra.
Using the following trigonometric expansion:
sin(6πu′a)=└4 cos2(2πu′a)−1┘sin(2πu′a)=[2 cos(4πu′a)+1]sin(2πu′a). (46)
the following total modulus-squared spectral “deviation” t, integrated over a representative region of the spatial frequency, must be minimised:
Expanding Equation (47) gives:
Thus, by examining each of the terms above, the blur parameter can be directly estimated, in a manner similar to the previous implementations. Equation (48) includes two cross-correlations rescaled by factor two and two auto-correlations rescaled by factors four and two respectively.
When blur functions are considered with the duration of one of the blur functions a larger integer value of that of the other, the number of rescaled auto and cross-correlations to be evaluated also increase, but otherwise similar relationships exist.
Non-uniform exposures can similarly be used.
The typical non-uniform exposure pattern is derived from just one convolution. The method is readily extended to multiple convolutions.
The Fourier spectra in this implementation is as follows:
wherein the integer value m represents the number of times a uniform exposure pattern has to be convolved to produce the required non-uniform exposure pattern. The implementation illustrated in
Minimisation needs to be applied to the following total modulus-squared spectral “deviation” t:
Using similar argument to those in previous implementations, Equation (51) will, in general, expand into a series of auto and cross-correlation with various integer rescaling factors:
Using m=2 gives:
Specifically in this the case with m=2, from Equation (53), the cross-correlation is rescaled by a factor of two, and the auto-correlation rescaled by factors of two and four.
The foregoing provide direct computational methods for estimating blur parameters over an infinite plane. For general implementation, the algorithms are desirably modified for use with finite and discrete datasets typical of digitally sample images. The computation may be modified to work over regions, typically rectangular blocks of pixels, which are significantly larger than the blur parameter sought to be estimated, yet small enough so that the blur parameter remains substantially constant over the region. Also, edge effects which are not present in the infinite plane, may be mitigated by suitable image padding and windowing methods. These constraints are typical of other correlation-based image analysis techniques and consequently need not be discussed further herein.
It follows from the foregoing that where two images are captured in direct association, either overlapping, immediately adjacent or closely adjacent with respect to capture time, and assuming linear motion over each area of interest, the blur in either image may be determined.
The present inventors have realised that where more than one image can be captured within a field or frame period, motion blur may therefore be estimated for at least that field or frame. Thus, motion vectors may be obtained from multiple sub-field or sub-frame images, thereby improving motion vector accuracy and associating such vectors with a single (traditional) field or frame image, as opposed to a pair of such traditional images. In this fashion, the motion vector obtained much more accurately represents the motion that occurred during the capture of the respective image, as opposed to the motion that occurred between capture of adjacent traditional field/frame images.
In a first arrangement, two image sensors 10 are used for capturing the blurred images g1 and g2 respectively. The image sensors 10 are arranged to view the matching co-ordinated of the image signal ƒ(x,y). Their respective spatial extents 2a1 and 2a2, are controlled by controlling their relative exposure times. The offset (x0,y0) is controlled by controlling the time of exposure.
In an alternative arrangement, a single image sensor 10 is used, implemented with CMOS technology. The operation of this image sensor 10, will be further explained with references to
The pixel cell 60 is formed of a photodiode 63 which acts as an image pixel sensor and which connects to a transistor 64 to discharge a parasitic capacitor Cp according to the intensity of illumination falling upon the photodiode 63. The parasitic capacitor Cp may be formed by a floating diffusion. A transistor switch 62, operated by a reset signal ‘res’, acts to reset the capacitor Cp by applying a supply rail potential to the capacitor Cp. A signal “TX” is applied to the parasitic capacitor Cp enabling the capacitor Cp to discharge through the operation of the photodiode 63. It will be appreciated therefore that the sensor 10 operates according to negative logic principles where the charge on the capacitor Cp is the inverse of the light intensity-duration function applied to the photodiode 63. A select signal ‘sel’ operates a transistor switch 65a which, together with a source-follower transistor 65b, couples the voltage on the parasitic capacitor Cp to a pixel data bus 61. The duration that the signal ‘TX’ is applied is usually called the exposure time, and the charge of the parasitic capacitor Cp is the value of the pixel cell 60. A number of the pixel cells 60 may be connected to the pixel data bus 61.
In order to provide a sequence of output pixel values of an image, a switching arrangement 66 is provided to couple such values to an output 67 of the part 12. The sequence may, for example, be a raster sequence.
Signals “N1” and “N2” are applied to transistor switches SW1 and SW3, causing them to conduct, thereby providing for noise charge values to be stored on capacitors C1 and C3 respectively. Such noise values are representative of circuit noise and are available on the pixel data bus 61 when the ‘sel’ signal of each of the cells 60 connected to the bus 61 are all disabled or riot selected.
Signals ‘S1’ and ‘S2’ are applied to turn ON switches SW0 or SW2 respectively, so that capacitors C0 and C2 are selectively charged according to the pixel value as present on the pixel bus 61.
Signals ‘HST0’ and ‘HST1’ are applied to turn ON switch pairs SW4 and SW5, and SW6 and SW7 respectively. The switches SW5 and SW7 act to couple the noise values on the capacitors C1 and C3 respectively to a buffer ‘bufn’, while the pixel values present on the capacitors C0 and C2 are coupled via operation of the switches SW4 and SW6 respectively to a buffer ‘bufs’. A differential amplifier ‘diffamp’, connected to the buffers ‘bufn’ and ‘bufs’, finds the difference between the two signals to output a signal indicative of the light fallen upon the photodiode 63.
By forming the image sensor 10 as a matrix of pixel cells 60 formed in rows (lines) and columns, overlapped double sampling of an image that gives rise to blur functions illustrated in
When a signal ‘sel0’ is asserted, all the pixel cells 60 in row 0 of the matrix are enabled, and each drive a corresponding pixel data bus 61 in the corresponding column.
The signal ‘res’ is then asserted, causing all the pixel cells 60 in line 0 to be reset, and leaving each cell 60 driving a noise value on the corresponding pixel data bus 61.
As the signal ‘res’ is de-asserted, the signals ‘N1’ and ‘N2’ are then asserted to latch the noise values into capacitors C1 and C3. The signal ‘TX’ is then asserted for a period ‘Tex’. During the period ‘Tex’, all the pixel cells 60 in line 0 discharge their corresponding parasitic capacitors Cp according to the light intensity on line 0. The signal ‘S1’ is asserted in the middle of the exposure time to store the pixel values at that time in the respective capacitors C0. At the end of the exposure time ‘Tex’, the pixel values at that time are stored in capacitors C2 by asserting signal ‘S2’. The signal ‘HST0’ is then asserted to switch on SW4 and SW5 to find the true values of the pixels during the first half of exposure time ‘Tex’ The signal ‘HST1’ is asserted to switch on SW6 and SW7 to find the true values of the pixels during the second half of exposure time ‘Tex’. The signals ‘HST0’ and ‘HST1’ are asserted progressively along line 0 for each pixel to output a sequence of pixel values for the line. This is repeated until all the pixels in line 0 are read.
Such a mode of operation results ill a pixel sequence as follows, for n pixels in the line:
Pixel_1_half, Pixel_1_full, Pixel_2_half, Pixel_2_full, . . . Pixel_n_full.
A next line (line 1) is selected by asserting ‘sel1’, and the above is repeated.
Alternatively, the mode of operation may be altered to provide the following sequence:
Pixel_1_half, Pixel-2_half . . . Pixel_n_half, Pixel 1_full, Pixel 2_full, . . . Pixel_n_full.
It will be apparent from the forgoing that where S1 is activated at the middle of TX and S2 at the end, the first image obtained by virtue of S1, for a stationary target which presents no blur, will have half the intensity of the second image obtained at S2. As such, any image derived at S1 will include, for all intents and purposes, the same components of the image obtained at S2. This is to be contrasted with prior art arrangements where single frames or fields are captured one after the other in which case the entire sensor reset and newly illuminated.
As is apparent from the signal sequence shown in
The circuit 12 of
The circuit 69 commences operation by shifting into the registers 70 to 73 the pixel data from the image p. After the whole image p is shifted in, the barrel shifters 74 to 77 are configured to rearrange the pixel data of image p to calculate various correlation values. In the situation where the barrel shifters 74 to 77 are not shifting its input p, the correlator calculates (p∘q)(0,0). With the row barrel shifters 74 to 77 shifted one position to the right, and the column barrel shifters 78 to S1 not shifted, the circuit 69 calculates (p∘q)(0,1), which is the same as (p∘q)(0,N−1), with N being the number of rows in the images p and q. When the row shifters 74 to 77 are not shifting their input p, and the column shifters 78 to 81 are shifting their input q by k positions to the right, then the circuit 69 calculates both (p∘q)(k,0) and (p∘q)(M−k,0), with M being the number of column in the images p and q.
In terms of hardware, for images of dimension M×N pixel cells 60, this implementation of the circuit 69 requires:
c(x,y)∘d(x,y)⇄C*(u,v)D(u,v) (54)
the cross-correlation of the two images c and d can be calculated by inputting pixels from the images c and d into respective row buffers 86. A Fourier transform 87 is then performed on both images c and d to obtain their Fourier coefficients C and D. The coefficients are multiplied 88 on a one by one basis and an inverse Fourier transform 89 is performed on the output of the multiplier 88. The results of the inverse transform 89 comprise cross correlation coefficients that are retained in a result buffer. Again, for an autocorrelator implementation, the inputs c and d are connected to the same image input.
The implementation of the 1-dimensional Fourier transform and inverse Fourier transform blocks are well known to persons in the art.
In terms of hardware, to correlate two images c and d of dimension M×N, the arrangement 85 of
The error function calculator 40 of
The evaluation of the error function for every point in the domain of the correlation function provides identification of two minima in the error function, one opposite to the other with respect to the origin. Either one of these minima can indicate the displacement (blur) between the two images. To find these minima, all the error function values are searched for the smallest error function value, and the displacement that result in the minima are recorded This takes M×N clock cycles, where M is the number of rows (lines) in the image and N is the number of columns in the image.
However, to increase the accuracy in the estimation, the true minimum in sub-pixel precision can be found. A typical method used is curve fitting, which is a method well known to people skilled in the art.
Before the implementation of such an extreme locater is considered, the theory behind the extreme locator will be examined. Consider for example a (2n+1)×(2n+1) neighbourhood around pixel (x,y) wherein the neighbourhood is defined by all the pixels in a square with corners at (x−n,y−n), (x−n,y+n), (x+n,y+n) and (x+n,y−n). Typically n=1 or 2. A quadratic surface can be fitted locally around the minimum, after which a location of a best-fit surface minimum is calculated. This is effectively interpolation of the minimum position.
A second order surface can be expressed as:
P(x,y)=a00+a10x+a01y+a11xy+a20x2+a02y2 (55)
which represents a local region with an elliptical paraboloid of arbitrary orientation and axes. A ‘least squares fit’ is applied to the function ƒ(x,y) on a discrete grid of points:
expressed as:
Stationary points for all values of k and l are found by:
Six simultaneous equations can be derived. Typically M=N=1 or 2.
Equation (59) is expanded into:
It is noted that the square matrix in Equation (60) can be greatly simplified if the chosen polynomials are orthogonal over the discrete range chosen. However, in this case they are not quite orthogonal, but all odd summations do cancel out. Therefore:
Equation (61) is further simplified using the known relationships:
A=B.C (62)
and
B−1.A=C (63)
The dominant diagonal in matrix B simplifies the calculation of the matrix inversion B−1.
Differentiation of Equation (64) results in:
Equation (64) can explicitly be rewritten for the location of the extreme (x0,y0)=(m0Δ,n0Δ) as;
For M=N=1, the components of matrix B are:
Similarly, for M=N=2 the components of matrix B are calculated as:
The linear summations of the sampled function (matrix A in Equation (62)) can now be calculated.
Explicitly, Equation (61) can be written as follows for the 3×3 neighbourhood (M=N=1):
and matrix inversion of Equation (69) gives:
Given the foregoing, curve fitting may be used to locate the extremes of the error function. An implementation of an implementation of an extreme locater 50 operating using the curve fitting method is shown in FIG. 13.
A minimum neighbourhood locater 97 finds the smallest one of the error coefficients output from the error function calculator 40. The minimum neighbourhood locater 90 further stores the coefficients in a number of line stores 91 (which preferably holds between 3 and 5 lines). When a new minimum is located, the locator 97 writes the 3×3 or 5×5 coefficients surrounding the minimum to a Minimum Neighbourhood buffer 92.
The buffer 92 outputs to an image moment calculator 93 which calculates the following terms:
which are seen as one primary component of Equation (70).
A matrix multiplier 94 multiplies the terms of equation (71) with the known matrix coefficients derived from Equation (66) or (67), and which are stored in a matrix coefficients memory 95. The coefficients a00, a10, a01, a20, a11, and a02 can then be calculated using Equation (70).
A displacement calculator 96 accepts the outputs of the matrix multiplier 94 and implements Equation (39) (reproduced below) using adders, multipliers and dividers to implement the desired functions:
The outputs of the displacement calculator 96 are the horizontal and vertical displacements (xo,yo) of the input images g1 and g2 of
Once the blur parameters have been estimated from the two sub-frame images, a new, de-blurred image may be generated. This will not be required for typical video image sequences, because the sub-frame blur will be much smaller than the inter-frame movement blur. However, if a still image with minimal motion blur is required, then various de-convolution methods may be used to generate such an image. Such methods can utilise the estimated blur parameters to obtain a direct solution. Alternatively, iterative methods may be used with a first iteration using the estimated blur parameters to accelerate convergence.
Accordingly, by utilizing sub-frame or sub-field sampling of an image through the arrangement of
The above can be readily seen from
According to an implementation, as shown in
Whilst
The multiple capture ability of the described arrangement derives from the duplication of the switching arrangements 66 of FIG. 9. As a consequence, further duplication can result in further images being captured in association. Such may be useful in high speed photography of transient events where the capture time permits capturing the event, but where the time required to output buffer the image data exceeds the time available to enable use of traditional video systems.
A specific advantage afforded is that the image sensor 10 used to capture the images from which motion blur is estimated, can be implemented in a number of configurations. In one configuration, shown in
Alternatively, as shown in the digital video camera 170 of
The blur image processing methods described above and schematically illustrated in
The computer system 200 comprises a computer module 202, input devices such as a keyboard 210 and mouse 212, output devices including a display device 204. The computer module 202 typically includes at least one processor unit 214, a memory unit 218, for example formed from semiconductor random access memory (RAM) and read only memory (ROM), input/output (I/O) interfaces including a video interface 222, and an I/O interface 216 for the keyboard 210 and mouse 212 and peripherals interface 232, to which an appropriate image sensor(s) 234 is connected to provide image pixel data to the computer module 202. A storage device 224 is provided and typically includes a hard disk drive 226 and a floppy disk drive 228. A magnetic tape drive (not illustrated) may also be used. A CD-ROM drive 220 is typically provided as a nonvolatile source of data. The components 214 to 228 of the computer module 202, typically communicate via an interconnected bus 230 and in a manner which results in a conventional mode of operation of the computer system 200 known to those in the relevant art. Examples of computers on which the implementations can be practised include IBM-PC's and compatibles, San Sparcstations or alike computer systems evolved therefrom.
Typically, the application program of the preferred implementation is resident on the hard disk drive 226 and read and controlled in its execution by the processor 214. Intermediate storage of the program may be accomplished using the semiconductor memory 218, possibly in concert with the hard disk drive 228. In some instances, the application program may be supplied to the user encoded on a CD-ROM or floppy disk and read via the corresponding drive 220 or 228. Still further, the software can also be loaded into the computer system 200 from other computer readable medium including magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infrared transmission channel between the computer module 202 and another device, a computer readable card such as a PCMCIA card, and the Internet and Intranets including email transmissions and information recorded on websites and the like. The foregoing is merely exemplary of relevant computer readable mediums. Other computer readable mediums may be practiced without departing from the scope and spirit of the invention.
The calculation of the Fourier transforms as well as the auto-correlation and the cross-correlation may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing these functions or parts thereof. Such dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
The implementations described permit the estimation of motion of an object captured in an image through obtaining at least two blur images where traditionally only a single image would be obtained. The blur images are then processed to determine motion parameters across the pair of images. The motion parameters may then be associated with one of the images, usually the second of the two, two provide an image with corresponding motion parameters obtained during the generation of the (second) image. The motion parameters may then be used as desired for object identification within the image, for example. Where the images for a sequence of such images, the motion parameters permit the tracking or other monitoring of moving objects contained within the image sequence. Motion detection using an implementation is desirable because such associates one motion vector map to each frame or field, which not only is smaller in magnitude thereby affording finer resolution, but also a more accurate representation of motion.
The foregoing describes only some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the embodiments being illustrative and not restrictive.
In the context of this specification, the word “comprising” means “including principally but not necessarily solely” or “having” or “including” and not “consisting only of”. Variations of the word comprising, such as “comprise” and “comprises” have corresponding meanings.
Number | Date | Country | Kind |
---|---|---|---|
PQ4641 | Dec 1999 | AU | national |
PQ4643 | Dec 1999 | AU | national |
Number | Name | Date | Kind |
---|---|---|---|
5321515 | Kusaka et al. | Jun 1994 | A |
5712474 | Naneda | Jan 1998 | A |
5861916 | Sekine et al. | Jan 1999 | A |
6049354 | Sekine et al. | Apr 2000 | A |
6778210 | Sugahara et al. | Aug 2004 | B1 |
Number | Date | Country | |
---|---|---|---|
20010021224 A1 | Sep 2001 | US |