1. Field of Invention
The present invention relates to image processing. More particularly, the present invention relates to a method for performing a motion estimation combined with a Walsh-Hadamard transform (WHT), so as to at least reduce the computation load and increase the operation speed.
2. Description of Related Art
As the fabrication technology have been greatly improved, the displaying device now has allowed a displaying manner in digital format, such as the liquid crystal display (LCD) panel or HDTV. The image is composed of a large number of image pixels. Each of the image pixels can be separately controlled. However, the image usually is displayed in motion, then the image processing is necessary to transform each of the pixels.
Motion estimation (ME) and discrete cosine transformation (DCT)-coding have been developed and adopted to eliminate the temporal redundancy in image sequences by most video encoding algorithms, such as MPEG 1, MPEG 2, H.261, H.263, and so on. In this motion estimation algorithm, the sum of absolute difference (SAD) of the luminance pixels has been widely used as matching criterion in ME. It generates a different block with minimum energy, but there might be large special redundancies and it requires more encoding bit-amounts.
The algorithm for the conventional motion estimation is shown in
where C is the current image, R is the reference image, and E is the difference macro block (MB) of the current MB and reference MB, (x, y) is the location of current MB, (i,j) is the candidate motion vector, i.e., the location of reference MB, and N is the MB size.
As the technologies of ME and DCT-coding have been adopted to eliminate the temporal and special redundancies in image sequence by most of video compression algorithms, the ME plays a key role for computation complexity, compression efficiency and image quality. Due to the heavy operation load of full search (FS), lots of fast algorithms are developed for real time video coding. Generally, along with reduction of computation complex of ME, the image quality gets poor.
There are several factors which affect image quality. One of the factors is the matching between conventional ME and DCT coding. For example, SAD of luminance pixels has been used as the criterion in ME, due to simplicity and regularity. It generates luminance difference block with globe or local minimum energy, i.e., minimum DC coefficient after DCT, but the DC coefficients might be large and requires bigger encoding bit-amount. In other words, the property of DCT is not taken into account during conventional ME procedure. There might be great special redundancies in the resulted difference block. This causes a poor efficiency of DCT coding.
In the conventional motion estimation, the operation speed, due to much redundant computation in data transformation, is still not sufficiently fast. It should still have some way to improve the operation speed in motion estimation.
The invention provides a method for performing a motion estimation combined with a Walsh-Hadamard transform algorithm. The present invention can then result in low spatial redundancy difference block and high encoding efficiency, wherein the subsampling algorithm is employed to reduce the operation load while maintaining the high image quality.
As embodied and broadly described herein, the invention provides a method for performing a motion estimation combined with a Walsh-Hadamard transform algorithm. In the image frame, which includes a pixel array to display an image object, the method includes fetching a current image pixel content C and a reference image pixel content R. A Walsh-Hadamard transform algorithm is used to transform the current image pixel content C and the reference image pixel content R, so that a WHT SAD(i, j), WSAD(i,j) is computed to serve as a matching criterion. The formula for computing a matching criterion of WSAD(i,j) is
W
E(k,l)=WHT(E)=WHT(C−R(i,j))=WC−WR(i,j),
where E is the difference macro block (MB) of a current MB and a reference MB, (x, y) is the location of current MB, (i,j) is the candidate motion vector, i.e., the location of reference MB, N is the MB size, and tkl=tk·t′l, where tkl is a matrix by a product of two basis tk and Trans[tl], wherein when N is equal to 8, then the bases tk and tl are selected from eight bases of:
In the forgoing method for performing the motion estimation, when a size of N*N MB is used for the motion estimation, and four (N/2)*(N/2) blocks are used in discrete cosine transform (DCT) computation, the matching criterion WASD(i,j) is computed by
WSAD(i, j)=WSAD1,1(i, j)+WSAD1,2(i, j)+WSAD2,1(i, j)+WSAD2,2(i, j),
where N can be, for example, 8, 16, 32, and so on. The WC11(kl), WC12(k,l), WC21(k,l), and WC22(k,l) are transformed coefficients of four (N/2)*(N/2) blocks of current MB, and the formula of WR(i,j)11, WR(i,j)12, WR(i,j)21, and WR(i,j)22 are similar to those of WC11(k,l), WC12(k,l), WC21(k,l), and WC22(k,l), wherein tkl=tk·t′l, where tkl is a matrix by a product of two basis tk and Trans[t1], wherein when N is equal to 16, then the bases tk and tl are selected from eight bases of:
It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the invention as claimed.
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. In the drawings,
The present invention is directed to the technology in motion estimation for the video signal processing. The motion estimation usually has a heavy computation load. In order to reduce the computation load and increase the operation efficiency, the present invention combines the Walsh-Hadamard transform (WHT) algorithm and results in low spatial redundancy difference block and high encoding efficiency. Also and, the subsampling algorithm is employed to reduce the operation load while maintaining the high image quality.
The conventional motion estimation (ME) algorithm has been shown in
WHT is the simplest orthogonal transform and illuminates special redundancies of image and could be treated as some kind of coarse approximator of DCT. As a result, ME combined with WHT (WHT_ME) could find optimal difference blocks with lower special redundancies, which are more suitable for subsequent DCT coding. According to the study of the present invention, the computation load and the hardware cost of WHT_ME are greatly reduced by utilizing the liner property and energy packing property of WHT. The simulation results also show that the hierarchical subsampling WHT_ME performs better than conventional ME algorithm. Compared with full search (FS), higher image quality could be obtained with lower operation load by about 90% by hierarchical subsampling WHT_ME.
The WHT used in the invention for combination is following. WHT is one kind of orthogonal transform, and packs energy in low frequency coefficients (LFC), which is similar as DCT does.
As the simplest orthogonal transform, WHT uses 1 and −1 values to build up basis function, and only addition and subtraction are involved. The definition of, for example, 8*8 WHT has a basis matrix T=[t0, t1, t2, t3, t4, t5, t6, t7], the eight bases are following:
A transform matrix T is a matrix product of ti,j=ti*t′j, where ti and tj are selected from bases. The transform matrix T is for the transform coefficient Xi,j is
For example, the transform matrix of t0,0 and t7,7 are
In
The actual calculation of WHT is continuously described here. Although only addition and subtraction are involved, the computation load of WHT is still heavy. For example, in 8*8 WHT, it needs 63 additions or subtractions to get one Xi,j, and it needs 63*64 operations in total. This is still a large burden for the video process.
Fortunately, it is similar to the fast Fourier transform (FFT), there are great intermediate results, which could be shared in the calculation of WHT. Thus, butterfly structure could be employed to perform WHT. For a simple situation for description, a 4*4 WHT is taken as an example. The definition of 4*4 WHT is:
The butterfly structure of 4*4 WHT is shown in
1. Linear property: only additions and subtractions are involved.
2. The butterfly structure of 4*4 WHT could be divided into 3 levels. In level 1, only one line is manipulate in each B1; in level 2, the operators in each B2 relate to two lines; and only in level 3, all of 4 lines are required to calculate WHT coefficients.
3. In level 1, the structures of all B1's are uniform, same does B2 in level 2.
As butterfly structure is employed, the computation load of 4*4 WHT is reduced from 15*16 to 4*16. For 8*8 WHT, it should be reduced from 63*64 to 6*64.
As described in equation (1), the quantity of the conventional sum of absolute difference (SAD) of luminance pixels, serving as the matching criterion, is following
where C is the current image, R is the reference image, and E is the difference macro block (MB) of the current MB and reference MB, (x, y) is the location of current MB, (i,j) is the candidate motion vector, i.e., the location of reference MB, and N is the MB size.
In the above formula, the data in both C and R is original luminance pixels. The WHT transformed coefficients of the invention are used instead of the original pixels. Then the WSAD can be computed by following formula:
where E is a difference macro block (MB) of a current MB and a reference MB, (x, y) is a location of the current MB, (i,j) is a candidate motion vector, N is the MB size can be 2M, M=2, 3, 4, . . . , and tk,l=tk·t′l, where tk,l is a matrix product of two basis tk and t′l=Trans[tl] in WHT transformation. WC, WR and WE are the WHT transformed coefficients of current MB, reference MB, and difference MB, WSAD is the SAD of WC and WR.
For the current common situation for the MPEG 1 or MPEG 2 standard, for example, it has 16*16 MB used in ME, and 8*8 block in DCT. The Above formula (2) of matching criterion then should be modified into formula (3):
where N is an integer of 2M, M is equal to or greater than 3 and M=4 is for this example, wherein the WC11(k,l), WC12(k,l), WC21(k,l), and WC22(k,l) are transformed coefficients of four (N/2)*(N/2) blocks of current MB, and the formula of WR(i,j)11, WR(i,j)12, WR(i,j)21, and WR(i,j)22 are similar to those of WC11(k,l), WC12(k,l), WC21(k,l), and WC22(k,l). The four blocks are used in the WHT_ME algorithm as also shown in
In the current situation for WHT_ME, the computation load is increased due to the additional operation for WHT. Every candidate reference MB requires four 8*8 WHT's. The computation is still heavy. There are, for example, two ways to reduce the ME computation load, one is only using low frequency coefficients (LFC), and the other one is using overlapped data.
If one uses the LFC, then the details are following. Similarly to DCT, most of energy is concentrated in LFC in WHT. The WSAD greatly depends on the sum of LFC, and it is not necessary to calculate all coefficients in WSAD function.
Analysis shows that if only LFC are calculated, it is equivalent to perform low WHT on subsampled image. To be brief, 4*4 WHT is used as demonstration. If only the 2*2 LFC of 4*4 WHT are desired, the butterfly structure in
Even though the LFC manner has reduced the computation load by a large amount. The computation load can further be reduced by using overlapped data to search window. In
In many ME algorithms, the reference MB's within search window are overlapped. Foe 16*16 MB, a MB shared 15 lines with its upper or lower adjacent MB, so that there great reduplicate operations between adjacent MB's WHT. If the redundancy is omitted, the operation load for WHT can be further greatly reduced.
In
In a similar way, in level 1 and level 2 of following blocks, only the lowest element (RBm.B1d, M>1; RBn.B2b, n>2) should be calculated, and the butterfly structure of 4*4 WHT can be modified as shown in
According to the WHT_ME algorithm as described above, the WHT_ME algorithm is very suitable for use in processing the low-resolution image associating with a hierarchical subsampled algorithm as shown in
1. A Wide-rage search is performed on 16:1 subsampled image and results in 4-pixels precision MV (coarse MV). 2*2 WHT is combined for 2*2 blocks, computation load and hardware costs are greatly reduced due to the high ratio of subsampling.
2. A small (middle)-range (9 points) search centering on the MV, which is obtained from the first step, is performed on 4:1 subsampled image and results in 2-pixels precision MV. 4*4 WHT is then obtained.
3. A fine (9 points) search centering on the MV, which is obtained from the second step, is performed on full resolution image and results in 0.5-pixels precision MV. 8*8 WHT or 4*4 WHT is combined.
Likewise, for the hierarchical 4:1 subsampling, the WHT_ME algorithm includes two steps:
1. Wild-range search performs on 4:1 subsampled image and results in 2-pixels precision MV. 4*4 WHT is combined.
2. Fine (small-range) search centering on the MV, which is obtained from the first step, performs on full resolution image and results in 0.5-pixels precision MV. 8*8 WHT or 4*4 WHT is combined.
In different steps, different schemes could be employed. Several combined algorithms are shown in Table 1.
In table 1, WHT 4:1 and WHT 16:1 mean by the WHT_ME algorithm. FS/FS4:1/FS16:1 mean by the conventional full precision/4:1 subsampling/16:1 subsampling full search ME algorithm. WHT4_WS means wild-range search combined with 4*4 WHT. 1P means only 1 candidate MV is generated, and 4P means four candidate MV are generated. 4WGT4_SS, 4P, 4WHT4_SS mean 4 small-range search should be performed because there are 4 candidate MVs generated in former steps. SAD16_WS means wild-range conventional search, and so on. The last column in Table 1 shows operation load of different algorithms. The ME procedure is based on C-programmed mpeg2 encoder released by MPEG Software Simulation Group (MSSG).
The simulation results show WHT_ME performs better than conventional ME algorithm. Comparing with FS, the computation for WHT4:1 algorithm has been reduced by about 10 times less, and the computation for WHT16:1 algorithm has been reduced by about 50 times less.
In conclusions, the novel WHT_ME algorithm of the present invention is appropriate for searching motion vector in DCT based video compressing system. Using linear property of WHT and overlapped data in search window, the computation load, the hardware cost, bandwidth and power consumption of ME including compute unit and local memory are reduced, depending on the ratio of subsampling. Therefore, this algorithm is useful for real-time wide-range search video encoding applications such as HDTV.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention covers modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
5097331 | Chen et al. | Mar 1992 | A |
5815602 | Ueda et al. | Sep 1998 | A |
6040864 | Etoh | Mar 2000 | A |
6380986 | Minami et al. | Apr 2002 | B1 |
6687296 | Sato et al. | Feb 2004 | B1 |
6693954 | King et al. | Feb 2004 | B1 |
6950469 | Karczewicz et al. | Sep 2005 | B2 |
Number | Date | Country | |
---|---|---|---|
20040081361 A1 | Apr 2004 | US |