Variable size block matching motion estimation apparatus

Abstract: An apparatus for detecting motion vectors between a current frame and a previous frame of video signals based on a block matching motion estimation approach comprises a variable block formation section for defining a variable search block from the current frame, said variable search block is extended from a selected search block which is a plain picture block without having an edge of an object within the current frame; and a motion-estimation section for estimating the variable search block with respect to each of candidate blocks included in the previous frame to provide a number motion vector and an error function corresponding thereto, said motion vector representing the displacement of pixels between the search block and a candidate block which yield a minimum error function.

Description: Field of the Invention The present invention relates to a motion estimation apparatus for use in an image signal encoding system; and, more particularly, to a motion estimation apparatus for detecting a motion vector of a variable block based on a block matching algorithm according to the preamble of claim 1. Description of the Prior Art When an image signal comprising a sequence or image "frames" is expressed in a digital form, substantial amounts of data are generated for transmission, especially in the case of a high definition television system. Since, however, the available frequency bandwidth of a conventional transmission channel is limited, in order to transmit the substantial amounts of digital data through the limited channel bandwidth, it is inevitable to compress or reduce the volume of the transmission data. Among various video compression techniques, a motion compensated interframe coding technique, which utilizes temporal redundancies of the video signals between two adjacent video frames for the compression of the signals, is known to be one of the effective compression techniques. In the motion compensated interframe coding scheme, current frame data is predicted from a previous frame data based on an estimation of the motion between the current and the previous frames. Such estimated motion may be described in terms of two dimensional motion vectors representing the displacement of pixels between the previous and the current frames. One of the motion vector estimation schemes which have been proposed in the art is the block matching algorithm. According to the block matching algorithm, a current frame is divided into a plurality of equal-sized search blocks. The size of a search block typically ranges between 8x8 and 32x32 pixels. To determine a displacement for a given search block from the current frame, a similarity calculation is performed between the search block of the current frame and each of a multiplicity of equal-sized candidate blocks included in a generally larger search region within a previous frame. In carrying out the similarity measurement, there are many error function such as a MSE (mean square error) or a MAE (mean absolute error) which may be employed. And a motion vector, by definition, represents the displacement between the search block and a candidate block which yields a minimum error function. The motion vector is then used in a receiver to reconstruct a picture from the previous frame on a block-by-block basis. In such a block-by-block basis motion estimation, it would be desirable or convenient to employ an equal-sized search block. Sometimes, there may be a plain picture pattern without having any edges of an object in the current frame over several adjacent blocks or with a slight edge therein. In the former case, however, the block matching motion estimation may yield motion vectors different from one another for each block; and, in the latter case, it may produce a motion vector identical to that of the plain picture pattern with no edge. The document JP-A-05 328 334 shows the features of the preamble of claim 1. In particular, this document discloses an apparatus for detecting a motion vector of a search block by motion estimating an expanded search block. The expanded search block is detected by calculating motion estimation errors between the non-expanded search block and each of candidate blocks by using the block matching algorithm. If the difference between a maximum motion estimation error and a minimum motion estimation error is smaller than a predetermined threshold, the search block and the candidate blocks are expanded and motion estimation errors between the expanded search block and each of the expanded candidate blocks are calculated. This expansion procedure is repeated until the difference between a maximum error and a minimum error exceeds the predetermined threshold. The journal of the Korean Institute of Telematics and Electronics, vol. 29b, no. 7, July 1992, South Korea, pages 540-547, Jin Tae Kim Et Al., "A variable size block matching algorithm using local characteristics of images" shows a merging procedure for merging two adjacent blocks if their means and their variances are similar to each other. The merging procedure is repeated until the differences of the means and the variances of the merged block and adjacent blocks are greater than predetermined thresholds. The motion estimation is carried out with the merged block. Summary of the Invention It is, therefore, a primary object of the invention to provide an improved motion estimation apparatus capable of precisely detecting a motion vector through the use of a variable block. The invention achieves this object with the subject-matter of claim 1. Preferred embodiments of the invention are described in the dependent claims. Brief Description of the Drawings The above and other objects and features of the present invention will become apparent from the following description of preferred embodiments given in conjunction with the accompanying drawings, in which: FIG. 1 shows a schematic block diagram of a variable block motion vector measurement apparatus for use in a motion estimation system in accordance with the invention; FIG. 2 illustrates a detailed block diagram of the variable block formation section shown in FIG. 1; and FIGs. 3A and 3B represent an exemplary diagram explaining a variable block expanded on a pixel basis. Detailed Description of the Preferred Embodiments Referring to FIG. 1, there is shown a preferred embodiment of a variable block motion vector measurement apparatus incorporated in a motion estimation scheme which is used to achieve a significant data compression by utilizing redundancies between successive frames, i.e., a current frame and its adjacent or previous frame. That is to say, there may be differences between the current frame and the previous frame, which are induced by a displacement or motion of an object; however, such differences may be confined to a relatively small region within a frame. Therefore, it is not necessary to transmit the entire image data of a current frame to a receiver (not shown). Instead, it may suffice to transmit the displacement information, i.e., motion vectors. The receiver then reconstructs the current frame from its previous frame whose image data is stored in a frame memory within the receiver, utilizing the motion vectors. The current frame signal is provided through a line 12 to a variable block formation section 100. The variable block formation section 100 serves to divide the current frame into a number of search blocks of an identical size which will be used to carry out a block matching in a sequence. In FIG. 3A, the current frame, depicted generally as a reference numeral 200, is illustrated to have, e.g., twenty (20) divided search blocks S1 to S20, each comprising H x V pixels. For the sake of illustration, it is assumed that H and V are both an equal number 16 for each search block of pixels in the current frame 200. Further, the variable block formation section 100 sequentially selects a search block which represents a plain picture block without having an edge of an object within the current frame and expands the selected search block per one pixel basis until the boundary of the search block includes an edge. As can be seen from FIG. 3B, when search blocks, e.g., S7 and S14 are selected in sequence, the search block S7 and S14 are extended to the boundaries E7 and E14 which include an edge portion of objects 202 and 204, respectively. Each of the expanded blocks of pixels is provided to a number of block matching sections 41 to 49 in sequence. In accordance with the invention, inclusion of an edge can be detected by calculating a variance for the expanded block, which will be further described with reference to FIG. 2 hereinbelow. FIG. 2 shows a detailed block diagram of the variable block formation section 100. In order to select a search block representing the plain picture, the variable block formation section 100 goes through a series of block formation stages, only three 111, 112 and 119 of which are exemplarily shown therein, which divide the current frame on a line 12 into a number of search blocks as shown in FIG. 3A. At each of the block formation stages 111, 112 and 119, a search block is increasingly expanded in one pixel step from 0 to N in its horizontal and vertical directions. More specifically, a first block formation stage 111 generates search blocks in an H x V pixel pattern; a second block formation stage 112 expands the search blocks in the (H+1) x (V+1) pixel pattern; and a last block formation stage 119 generates the search blocks in the (H+N) x (V+N) pixel pattern. The search blocks generated and expanded by the block formation stages 111 to 119 are fed to a variable block selector 160 and a series of variance detectors 121 to 129 which calculate the variances for those search blocks to detect the presence of an edge therein, respectively. Each of the variances calculated by the variance detectors 121 to 129 may be defined as follows: var = 1 EH × EV i =1 EH j =1 EV ( I ( i , j ) -mean ) 2 wherein var represents the variance of an expanded search block; EH x EV is the size of an expanded block; I(i,j) is a luminance level at a pixel coordinate (i,j) in the expanded block; and mean represents the mean luminance level for pixels in the expanded block. The mean luminance level is defined as follows: mean = 1 EH × EV i =1 EH j =1 EV I ( i , j ) All of the calculated variances of the expanded search blocks from the variance detectors 121 to 129 are applied to a variance selector 150. The variance selector 150 compares the variances of the expanded search blocks with a predetermined threshold. In accordance with the invention, the predetermined threshold is chosen to have a value greater than and closest to the variance of the search block representing the plain picture. Accordingly, the variance selector 150 selects a variance satisfying the threshold and produces a selection signal indicative of the selected variance to the variable block selector 160. The variance can be selected such that the selected variance is greater than the threshold and the size of a corresponding expanded search block is smallest among expanded search blocks whose variances are greater than a threshold. The variable block selector 160, which is of a conventional multiplexer, in response to the selection signal, chooses the search block which corresponds to the selected variance. The selected expanded search block and the size thereof are respectively provided from the variable block selector 160 to the block matching section 41 to 49 via a line L110 and to the search area formation section 10 and candidate block formation sections 21 to 29 via line L120 as shown in FIG. 1. Referring back to FIG. 1, meanwhile, the previous frame stored in a memory (not shown) is fed to a search area formation section 10 through a line 13. In response to the size of the selected expanded search block, the search area formation section 10 defines a generally large search region of the previous frame, whereby the search or comparison will be carried out. After the search region is determined at the search area formation section 10, the search region data is also applied to a corresponding number of candidate block formation sections, only three 21, 22 and 29 of which are illustratively shown in FIG. 1. At each candidate block formation section responsive to the size of the selected expanded search block, a candidate block of pixels is generated from the search region as the search block sweeps through the search region starting at the upper left-most position moving horizontally one pixel position at a time, and then vertically down through the search region moving one scan line at a time, until finally reaching the lower right-most position within the search region. All the possible candidate blocks with the size of the selected expanded search block are formed within the determined search region. And then, the relative displacement corresponding to each candidate block from the location of the search block provided from the variable block formation section 100 is derived and then provided to a multiplexer 60 through lines 31 to 39 as a motion vector of that candidate block. The pixel data of each candidate block is also provided from each of the candidate block formation sections 21 to 29 to each of the block matching sections 41 to 49. At each of the block matching sections 41 to 49, an error function is calculated between the search block from the variable block formation section 100 and the candidate block from each of the candidate block formation sections 21 to 29. Conventionally, comparison of the luminance level or light intensity is performed between corresponding pixels in the search block and the candidate block to yield the error function for that candidate block. The error function indicates the degree of similarity between the search block and the selected candidate block. All the error functions from the block matching sections 41 to 49 are supplied to a minimum error detector 50. The minimum error detector 50 compares the error functions to select an error function which has a smallest error. The minimum error detector 50 outputs a selection signal which indicates the block corresponding to the minimum error function to the motion vector selector 60. The motion vector selector 60, which is of a conventional multiplexer, in response to the selection signal, chooses the displacement vector of the candidate block, which corresponds no the minimum error function. As described above, if a candidate block has the minimum error function, that candidate block will be most similar to the search block; consequently, the displacement vector of the candidate block will be chosen as the motion vector. In this connection, the motion compensation to be performed in a transmitter and a receiver will be achieved with respect to the search block instead of the expanded block which is utilized for the main purpose of precisely detecting a motion displacement between a search block and a candidate block.

Claims: An apparatus for detecting a motion vector of a search block (S7; S14) of a current frame employing a block matching motion estimation approach between the current frame and a previous frame of video signals, wherein the current frame is divided into a number of search blocks (S7; S14) of H × V pixels and the previous frame is divided into a corresponding number of search areas, each search area having a plurality of candidate blocks, characterised in that the apparatus comprises: a) means (100) for detecting an expanded search block (E7; E14) for the search block (S7; S14) if the latter is a plain picture block without having an edge of an object within the current frame, wherein the expanded search block (E7; E14) is detected by expanding the boundary of the search block (S7; S14) until the latter includes an edge therein and is thereby of (H+i) × (V+i) pixels, i being a non-negative integer; b) means (10) for generating a search area corresponding to the expanded search block (E7; E14); c) means (21-29) for providing candidate blocks of (H+i) × (V+i) pixels from the search area; d) means (41-49, 50, 60) for motion estimating the expanded search block (E7; E14) with respect to the candidate blocks of (H+i) × (V+i) pixels to provide the motion vector for the search block (S7; S14) to be motion compensated, the motion vector representing the displacement of pixels between the expanded search block (E7; E14) and a candidate block which yields a minimum error function in the block matching algorithm. The apparatus of claim 1, wherein said means (100) for detecting the expanded search block (E7; E14) includes: a1) means (111-119) for expanding the search block (S7; S14) per one pixel basis in a horizontal and a vertical directions to thereby produce N+1 number of expanded search blocks (E7; E14), the expanded search blocks (E7; E14) having sizes ranging from H × V pixels to (H+N) × (V+N) pixels, N being a positive integer; a2) means (121-129) for deriving variances for each of the expanded search blocks (E7; E14); and a3) means (150, 160) for determining whether an expanded search block (E7; E14) includes the edge therein based on a variance thereof thereby selecting the expanded search block (E7; E14) of (H+i) × (V+i) pixels as an expanded search block (E7; E14) having the edge. The apparatus of claim 2, wherein the determining means (150, 160) comprises: a31) means (150) for comparing the variances with a predetermined threshold to thereby generate a selection signal indicating the expanded search block (E7; E14) of (H+i) × (V+i) pixels; and a32) means (160) for selecting the expanded search block (E7; E14) of (H+i) × (V+i) pixels among the N+1 number of expanded search blocks. The apparatus of claim 3, wherein the expanded search block (E7; E14) of (H+i) × (V+i) pixels corresponds to a smallest expanded search block among the expanded search blocks having variances greater than the predetermined threshold. The apparatus according to any one of claims 2 to 4, wherein a variance is defined as follows: var = 1 EHxEV i = 1 EV j = 1 EV (I(i , j) - mean) 2 wherein var represents the variance of an expanded search block (E7; E14); EH × EV is the size of the expanded search block (E7; E14); I(i,j) is a luminance level of a pixel located at (i,j) in the expanded search block (E7; E14), i and j being positive integers indicating a horizontal and a vertical coordinates, respectively; and mean represents the mean luminance level for the expanded search block (E7; E14). The apparatus of claim 5, wherein the mean luminance level for the expanded search block is defined as follows: mean = 1 EHxEV i = 1 EH j = 1 EV I(i , j)

Inventors: JUNG HAE-MOOK, JUNG, HAE-MOOK
Applicants: DAEWOO ELECTRONICS CO LTD, DAEWOO ELECTRONICS CO., LTD
Application year: 1994
Main classification: H04N7
IPC codes: H04N7, H04N11