[go: up one dir, main page]

MXPA97000011A - Process for the correction and estimation of movement in pictures that have structures periodi - Google Patents

Process for the correction and estimation of movement in pictures that have structures periodi

Info

Publication number
MXPA97000011A
MXPA97000011A MXPA/A/1997/000011A MX9700011A MXPA97000011A MX PA97000011 A MXPA97000011 A MX PA97000011A MX 9700011 A MX9700011 A MX 9700011A MX PA97000011 A MXPA97000011 A MX PA97000011A
Authority
MX
Mexico
Prior art keywords
blocks
field
vector
block
error
Prior art date
Application number
MXPA/A/1997/000011A
Other languages
Spanish (es)
Other versions
MX9700011A (en
Inventor
Heimburger Catherine
Original Assignee
Thomson Multimedia
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
Priority claimed from FR9515402A external-priority patent/FR2742901B1/en
Application filed by Thomson Multimedia filed Critical Thomson Multimedia
Publication of MX9700011A publication Critical patent/MX9700011A/en
Publication of MXPA97000011A publication Critical patent/MXPA97000011A/en

Links

Abstract

The invention relates to a method for correcting movement estimation in frames comprising periodic structures in a system for determining motion vectors by comparing frame blocks, an error matrix being associated with each frame. The method is characterized in that it comprises the steps to determine adjacent periodic blocks and to select an individual motion vector for all of these blocks. The invention applies, in particular, in the field of television

Description

PROCEDURE FOR THE CORRECTION AND STIMULATION OF MOVEMENT IN FRAMEWORKS THAT HAVE PERIODICAL STRUCTURES DESCRIPTION OF THE INVENTION This invention relates to a method for correcting movement estimation in frames having periodic structures. This method is particularly suitable for frame conversion systems comprising a field frequency change, in particular to convert an interlaced 50 Hz format into a progressive 75 Hz format. The invention applies in particular in the field of television. Motion estimation in the context of a frame conversion system allows the performance of this system to be substantially improved. However, the presence of periodic structures in the frame may cause the procedure for motion estimation to fail and this may result in a very distorted vector field unsuitable for temporary interpolation of input fields. Consider, for example, a zebra (with vertical stripes) running from left to right over a field of uniform savanna and filmed in approach in order to cover a plurality of main blocks. Therefore, it is difficult to determine the correct motion vectors in these main blocks. If the successive strips of the zebra are destined as a, b, c, respectively, a correct vector must mark the strip a of the first frame corresponding to the strip a of the next frame and so on for all the strips. A minimum is obtained in the error matrix comprising errors that correspond to each of the motion vectors tested. However, the vector that causes the line a of the first frame corresponds to line b of field 2/3, and line b of field 1 to line c of field 2/3 etc, also creates a minimum in the matrix . In view of the digitization noise and the inherent noise in the frame, the error corresponding to the correct motion vector may be greater than the minimum error of the real matrix, this latter error, therefore, corresponding to an incorrect vector. Selecting the vector only by the minimum error criterion, therefore an error is created, which will be reproduced and will be visible during the temporary interpolation of the input fields of the procedure on all the parts of the animal in question, where it is not has solved this ambiguity. The detection of periodic structures and correction of the resulting estimate have been described in two European applications EP-A-93402507 of October 11, 1993 and EP-A-95400721 of March 31, 1995, both filed in the name of Thomson Consumer Electronics SA In both requests, once a block is considered to belong to a periodic structure, the motion vector of this block is determined from a group of candidate vectors. Of the candidate vectors, one is given the smallest error, the candidate vectors are the vectors of adjacent blocks or combinations thereof. Now, this method for correcting the periodic block of movement blocks by means of the periodic block can introduce different vectors for the blocks of the same structure. They can also locate these periodic blocks to a vector that has nothing to do in the desired movement, if the adjacent block contains an object that has a different movement. The present invention relates to a method for correcting motion estimation in frames comprising periodic structures in a system for determining motion vectors by comparing frame blocks, an error matrix being associated with each block, characterized in that it comprises stages of: - determining the adjacent blocks and - selecting an individual movement vector for all these blocks.
In this way, the correction of motion vectors is only applied once the periodic structure has been defined. There will be a good homogenity of movement in this structure. According to a particular modality, the step of selecting a movement vector comprises in itself the step of totalizing the error matrices of the periodic blocks article by article. The totalization of article-by-article matrices allows a matrix to be obtained for all the blocks and consequently allows the selection criteria of a motion vector to be related to this group. The totalized matrix is equivalent to the matrix, which could have been obtained if the movement had been estimated in a "macroblock" composed of all the periodic blocks. According to a particular embodiment, all adjacent periodic blocks in the same block line are considered. This case is restricted to periodic structures on the same line. However, as will be seen below, since the vector determined for a possible periodic structure of the previous line is allowed, it does not prevent a homogeneous vector field from being obtained in the region of the periodic zone, combined lines.
The limitation to a periodic line allows the increase in the complexity of the system and the required memory, in comparison with a system of estimation of movement without correction being limited. In fact, conventional motion estimation systems generally proceed line by line and block by block. It is obvious that the method according to the invention also applies to block columns. Terms such as those presented above or later will be replaced to the left and to the right, etc. According to a particular embodiment, the step of selecting a motion vector also comprises the step of determining r. group of candidate and selection vectors as an individual vector of the candidate vector giving the minimum error in the totalized matrix. According to a particular embodiment, the step of selecting a motion vector also comprises the step of selecting as individual vector of one of the two vectors of the blocks on the left and right of the periodic blocks, if the error in the totalized matrix , which corresponds to one of the two vectors, is a local minimum in its line. According to a particular embodiment, if none of these two vectors satisfies the previous condition, the vector that gives the minimum error of the totalized matrix is selected as the individual vector. According to a particular embodiment, the individual vector finally retained is the vector of a block immediately above one of the adjacent periodic blocks, if it is also periodic or if the error associated with this block in the totalized matrix is a local minimum. in your line. As mentioned above, this step allows an escape from the limitation to a block line. The invention also relates to a method for detecting periodic structures in a styling system. of movement, based on frame blocks comprising the step of determining an error matrix for several motion vectors for a current block, the step of determining the matrix line comprising the minimum error of the matrix, determining the maximum error of said line as well as the stage of determining the smallest secondary minimum of said line, a condition of periodicity of a block being that in which two minimums are close in value. the estimation of movements in blocks considered periodic being corrected by the aforementioned procedure, such detection procedure is characterized because it comprises the steps of: - determining the largest secondary maximum of the line. - evaluate the noise level of the frame, - use the additional condition to determine the periodicity of a block: the difference between at least one of the minimum and the secondary maximum must be significantly relative to the noise level of the frame. The use of the secondary maximum to detect a periodic structure avoids, on the one hand, the untimely detection of periodic structures in noisy uniform zones and, on the other hand, the cases of secondary minima created by the presence of noise. According to a particular modality, a third condition has to be satisfied: the maximum error must be significantly relative to the noise level of the frame. According to a particular modality, the noise level of the frame is equal to the minimum, on all the blocks of a frame, of the minimum errors for each block and the difference: Errminabs = min. { Errmin (i, j), (Errmax-Errmin (i, j) i = l, ..., aj = l, ..., b where Errmin is the minimum error determined by the 'block (i, j) , and where Errmax is the maximum error determined by the block (i, J), a and b the number of horizontal and vertical blocks of the frame It is obvious that the detection and correction procedures can be applied independently of each other. advantages of the invention will emerge from of the description of the non-limiting embodiments described below and illustrated in the drawings. Figure 1 is a diagram representing the input and output fields of the present procedure with respect to the time axis. Figure 2 is a block diagram of a device employing the method according to the present invention. Figure 3 is a time diagram of the fields at certain points of the device in Figure 2. Figure 4 shows a frame comprising periodic structures, as well as an example of motion vectors, which can be generated by the frame. Figure 5 is a histogram of the errors of a line of an error matrix associated with a vertical component of a given motion vector containing the smallest error of the matrix. Figure 6 illustrates the procedure used to allow periodic blocks in the determination of the motion vector field of the frame. Figure 7 shows two low pass filters. Figure 8 shows fields 1, 2 and 2/3 and the position of a sub-block in relation to the main blocks, of which the vectors are selected as candidate vectors for the sub-block. Figure 9 shows fields 1, 2/3 and 3 and the position of an intermediate block relative to the main blocks, of which the vectors are used as candidate vectors. Figure 10 (a) shows a non-linear function used by the procedure to reduce recursive time noise. Figure 10 (b) is a block diagram of a filter to reduce recursive time noise. Figure 11 shows a spatial and temporal filter for the medium type used for the interpolarió :: of field 1. Figure 12 illustrates a problem associated with the presence of periodic structures in the frame.
Figure 13 shows 2 modalities of the spatial and temporal filter used for the interpolation of field 2. Figure 14 shows 2 modalities of the spatial and temporal filter used for the interpolation of field 3. Figure 15 shows a time control diagram of the fields at certain points of the device shown in Figure 2 during the filming mode. Figure 16 comprises 3 diagrams (a, b, c) of the fields in relation to time, illustrating the normal mode of operation for video fields, the normal mode of operation for film files and the specific mode of operation for movie fields, respectively. The invention will be explained with reference to a method for converting an interlaced television frame frequency of 50 Hz to 75 Hz of progressive frames. Two patent applications filed jointly the same day have to do with other aspects of this procedure.
Conventions A period is defined as the time that allows an output field to be displayed, that is 1/75 seconds. A cycle is defined as the time required for a complete cycle of the algorithm, ie three periods of 1/25 second. The procedure is repeated identically every three fields of exit or every two fields of entrance. By convention, the first output field bears the number 1, the second field bears the number 2, and so on. However, since the processing is cyclical, fields 1, 4, ... sor. generated er. identical shape; will be ^ nc-ined fields of type 1. Sirr.ilarmente fields 2, 5, £ ... or fields 3, 6, 9 ..., respectively will be generated in identical form and will be called fields of type 2 and 3, respectively. By convention, the input fields will be numbered with reference to the position they occupy in relation to the output fields. In this way, ur. input field temporarily corresponding to a field to output will carry the same number as this output field. An appropriate input field between two output fields will carry the numbers of these two fields: for example, an input field located between the output fields 2 and 3 will be called field 2/3. Figure 1 illustrates the respective positions of the input and output fields. The entry field of number 1 comprises the first line displayed on a television screen; has been identified as line 0. This field, therefore the odd entry field is formed by lines 0, 2, 4, ..., 624. A field pair 2/3 will comprise lines 1, 3, 5 , ..., 623. The variable y will represent the line numbers increasing from the top to the bottom of the screen in the direction of the scan. The variable x will be used to denote the abscissa of a pixel and will increase from left to right also in the direction of the scan, t will represent the time, normalized to that unit of time that represents a cycle. Field 1 will be adequate at time 0, field 2/3 at time 1/2 and field 4 at time 1. The output fields will include all line numbers, since they are progressive fields. The immanence signal at the position of a given pixel will be represented by the variable P (x, y, t).
General Diagram The described conversion process and the device for performing it advantageously require only a single field memory. This aspect is explained by the fact that the procedure is intended to be implemented in articles to be consumed, mass produced. The reduction in production costs with respect to equipment is therefore an important factor. Figure 2 is a block diagram of the device for carrying out the invention. Each element will be seen in detail later. The device comprises a random access method 1 organized as FIFO and aims to increase the field frequency from 50 to 75 Hz by repeating a field in two by reading. Thus, the memory 1 receives input fields at a frequency of 50 Hz and supplies fields at a frequency of 75 Hz. The device also comprises a noise reduction circuit 2 comprising two filters: a spatial filter that primarily aims to reduce pulsed noise and a recursive time filter. The spatial filter receives the fields sent from memory 1, then transmits the filtered fields to the time filter. The time filter also receives a field known as a projected field, composed of previously processed field information. The operation of the time filter will be described in more detail below. A temporarily filtered field is stored in a field memory 3 and transmitted to an interpolator 4. The interpolator 4 interpolates between two input fields to supply the output fields of the device. The interpolator 4 receives motion vectors in favor of a movement estimator circuit 5. The movement is estimated between the field stored in the field memory 3 and the "real" field is read in memory 1. Some amount of information in relation to the estimation of the movement, it is used during noise reduction. Figure 3 comprises time control diagrams that relate to the fields processed by the various elements of the devices in Figure 5. The letters that identify each time control diagram correspond to the letters that identify the connections between the elements of this Last Figure. A field is shown in the shape of a sawtooth that corresponds to the scanning of this camp. The first time control diagram (I) corresponds to the input fields of memory 1, that is to say to the fields interleaved at 50Hz. Field 1 is odd, field 2/3 pair, etc.
The second time control diagram (A) corresponds to the output of memory 1. The fields are read again at a speed of 75 Hz. Field 1 (and fields 4, 7 ...) is read once , reading beginning before the writing is completed. Field 2/3 (and fields 5/6, 8/9 ...) are read twice. The third time control diagram (G) shows the output of the field memory 3. This memory keeps a time deviation of a field between its input field and its output field, so interpolation can be carried out correctly. Up to this point, memory does not behave simply as a delay of a field. If this were the case, the 2/3 filtered field could be present in the memory input and in its output. Therefore, this is the filtered field 1, which is repeated twice in the output of the field memory. The fourth time control diagram (B) shows the calculation periods of information supplied by the movement estimator to the rest of the device. As will be seen later in detail, the movement estimator behaves differently in each period of a given cycle. For type 1 fields, thicker motion vectors (reference "MB") are calculated for wide blocks (known as main blocks), while finer motion vectors are determined by the other two fields (reference "SB") for sub-blocks of the main blocks. The calculation of the vectors for the sub-blocks is based on the thickest vectors of the main blocks. The reference "MB1 // 2/3" of the time control diagram indicates, for example, the "gross" movement estimation period between field 1 and field 2/3. The fifth timing control diagram (C) refers to the output of the spatial filter of the noise reducing circuit. This filtering is carried out directly on the field read in memory 1. The sixth time control diagram (D) shows the projected field compared by the noise reducing circuit with the spatially filtered field. The seventh time control diagram (E) indicates the time filter output and consequently the input of the interpolator 4 and the field memory 3. The last time control diagram indicates the output of the interpolator and therefore the output from the same device.
Movement Estimator The movement estimator operates through the multi-level block comparison procedure. This procedure takes place in two stages. The first frame is divided into thick blocks or main blocks of 16 * 32 pixels from which movement can be determined, then these main blocks are divided into sub-blocks to refine the vector field. The estimation is carried out for the luminescence signal, which generally contains enough information to describe the movements of the objects on the screen. Obviously, it is also possible to use the chrominance information or combine the chrominance and luminance information for the estimation. First of all, sub-sampling of input fields can be carried out by a factor 2 in horizontal and vertical directions. The calculations required for the estimation are therefore divided by four. However, the sub-sampled fields will only be used to estimate the movement. The output fields will be interpolated from the complete fields. This sub-sampling obviously restricts the components of the motion vectors to even values. This is not a problem in the vertical direction, since this constraint is already imposed by the interlacing of the fields during broadcasting. During sub-sampling, only odd lines and even columns will be retained. However, the points in the frame will remain tagged by means of the coordinate system used so far, while pixels that do not belong to the sub-sampled domain are prohibited. In accordance with the present invention, before proceeding with sub-sampling, a low pass filter suppresses the high spatial frequencies, and will be applied to the spectral superimposition source field. To achieve this horizontally, a triangular window is used that has seven coefficients, for example: PhorizontaKx .v.o-¿? 2 3 4 3 2 Also, the filtration is done in the vertical direction. Since only odd lines are retained, this corresponds to the vertically interpolated line numbers of input field 1 and the numbers of input lines of field 2/3. In order to harmonize the spectral contents of the two sub-sampled input fields, the low pass filtering of the 2/3 input field is done as follows: 1 Phorizontal (x, y- 2, -) 2 »- .taJ-J + 2Phorizontal (x, y, -) + Phorizontal (x, y + 2, -) 2 For type 1 fields, odd lines are generated using a simple vertical average: Psub-sampled (x.y, o) = - | Phorizontal (?, Y-1, o) + Phor¡zontaHx, y + 1,0)] The sub-sampled functions (x, y, o) and (x, y, M) are only defined by x and y in par. For simplicity, the sub-sampled fields will be annotated P '(x, y, t). The filters used are shown in Figure 7. As already mentioned, the multi-level estimation procedure behaves differently during the three periods of a cycle: - the vectors that correspond to the main blocks representative of the movement between the fields 1 and 2/3 are calculated during period 1, - the vectors corresponding to sub-blocks more precisely representative of the movement between fields 1 and 2/3 are calculated during period 2, the calculation is made by means of the vectors determined during period 1, - the vectors corresponding to the representative sub-blocks of movement between fields 2/3 and 4 are calculated during period 3. In the latter case, the calculation is made from intermediate block vectors , which consist of updated values of vectors corresponding to the main blocks.
Determination of the Wide Vector Field between Fields 1 and 2/3 First, the frame is divided into main blocks of 32 * 16 pixels. Since the size of an active frame is 720 * 576 pixels for the normal sampling frequency, there are therefore 23 main blocks per line and 36 per column. For an indexed main block (i, j) i being between 0 and 22 and j being between 0 and 35, and belonging by definition to the input field (the most recent field in time), therefore, a field 2 / 3 or equivalent, the error committed for a motion vector (u, v) is defined by: 2 Where Mx = 32, size on the abscissa of a main block, and My = 16, size on the ordinate of a main block. The error matrix is then calculated for each main block: each element of this matrix corresponds to an error linked to a possible movement vector, that is: Err (i, j) - = (E (i, j) (u, v)) When = -16, -14 / ... l14,16, v = -4, -2,0,2,4.
The components of the motion vectors are even and are between -16 and +16, and -4 and +4, respectively. The main block under consideration is therefore compared to blocks of a search window of a previous field, this search window is placed around the position of the main block related to its previous field. The vector retained for all vectors is registered (u1, V) and corresponds to the minimum of the error function.
Errmin = min (E (¡, j) { U, v)) = Err (i, j) (u ', v') cuandou == - 16.-14 14,16 yv = -4, -2 , 0,2,4 The vector field of the entire frame is calculated by scanning, block by block and applying this search to each main block. Frame noise is also estimated during the calculation of the vector field of the main block level. An additional value is calculated for this purpose: maximum error of the matrix: Err? Nax-max (E (jrj) (ufv)) when u = -16, -14, ..., 14,16; v = -4 , -2,0,2,4 Errmin represents an estimate of the sum of two noises: the noise inherent in the luminance signal and the noise to digitize the motion vectors. Actually, if the motion vector, which has been calculated, corresponds to the movement actually present in the frame, Errmin will be the sum of the differences in the luminosity existing in the two identical areas of the capacity of a main block: these differences will, therefore, have the noise of the frame as an individual origin. On the other hand, if the movement is poorly represented by the calculated vector belonging to the digitization of the possible vectors, a component, due to the error made in this vector, will be added to the previous noise. Errmin will be too accurate to define the actual noise of the frame. Consequently, a second estimator is defined, which is Errmax-Errmin. This depends on the digitalisation noise of the frame. On a uniform area, the difference between the maximum error and the minimum error, originates only from the noise of the frame. If the digitization noise is high, ie Errmin and Errmax are both affected, it is expected that this estimator will be less sensitive to the digitization noise, eliminated by differentiation. Two estimators Errminabs and Noiseest are also defined: Errminabs = mtn. { Errmin (¡, j), (Errmax-Errm¡n) (i, j)} i = 0 22 ¡= 0 35 Noiseest = min. { Errm¡n (¡, j)} Corrections made to the Calculations of Period 1 According to a variation, a first correction is made when the frame comprises uniform zones. On a uniform area, such as a piece of blue sky, the error matrix is approximately constant. The fluctuations are due to the presence of noise in the frame. The vector calculated by the method according to the invention is therefore unpredictable and can result in pronounced heterogeneity of the vector field, which is harmful to the rest of the process. In the presence of such heterogeneity, it was decided to force the vector corresponding to zero. This force is in fact applied from component to component. In fact, if a horizontal limit is considered in the frame (a cliff with a blue sky, for example), the u component of the motion vector is not fixed, since the errors are constant on each line of the matrix. Therefore, this component is forced to zero. Similarly for the component v in the case of a vertical limit. According to the present embodiment, the criterion used to determine if a vector component must be forced to zero is associated with the noise level calculated above.
If Err (¡, jKO, v) -Err. { ¡, J) (u # v) < Errminabs * threshold_x then u = 0 If Err [i.jKu, 0) -Ert (i, jK?, VK Errminabs' threshold _and then v = 0 where Errminabs ^ minfErrmin MErrmax-ErrminMi)} i = 0 22 j - 0, ..., 35 The values of threshold_x and threshold_y are equal to multiples of 2: 2, 4, 8, ..., for example. In a simple language, if the difference between the errors caused by the zero vector component and the vector found by the motion estimate is of the same order of magnitude as the estimated noise inherent in the frame, the correction is made. In accordance with the embodiment of the present invention, a correction is made when the frame contains periodic structures. The problem possessed by this type of structure has already been addressed in the introduction. However, Figures 4 and 12 allow it to be clarified so that the visualized detection and correction can be better understood. The shaded block in figure 4 represents the block, from which the movement will be determined, while the two blocks in dotted lines represent two blocks in the reference frame that give rise to a minimum error in the error matrix. An incorrect vector will generate very noticeable defects during the interpolation of the output fields. These defects are illustrated in close manner in Figure 12, where the actual movement in a block between two fields of opposite parity is given by a vector having a horizontal component of +2. If the motion vector is zero, the defects illustrated in the part to the right of the figure appear during the interlacement. The height of the line has been exaggerated to show the defects clearly. In the context of the present modality, we will restrict ourselves to the horizontal periodicity (for example, a zebra with vertical strips), since the size of the main blocks and the scale of possible vertical components of the moving vectors make this type of error or probably in the vertical direction. The scale of vertical components is too restricted to allow effective detection or correction. However, one skilled in the art can easily adapt the correction described herein to the vertical periodicity, in particular. Now two stages will be presented: detection after correction of this type of error. This type of defect is detected from the Err error matrix. Actually, the line that contains the minimum elements of the matrix will also contain one or more secondary minima as explained above. First, the line (Row (u)) of error containing the minimum, where -16 < = u < = +16, will be extracted from the matrix. Let umin as the index of the minimum in Row (u). The secondary minimum is initially detected. It is characterized by being a local minimum: Row (u-1) > Row. { u) and Ro (u + 1) > Row (u > Only the smallest of the secondary minimums that satisfy the criteria will be retained. Let Usec_min be your index on the Row (u) line. The secondary maximum located between the positions umin and usec min, is then detected. It is characterized by being a local maximum: Row (u-1) < Row (u) and Row (u + 1) < Ro (u) Only the highest of the secondary maxima satisfies the criterion, and is retained. Leave usec_max that is your index in Row (u). The histogram in Figure 5 represents a typical example of such a situation. The secondary minimum and the absolute minimum, as well as the secondary maximum, are subjected to two additional tests to confirm the presence of a periodic structure: - the two minimums must be close in value (Cl), - the difference between them and the secondary maximum must be significantly relative to the actual noise level (C2) These precautions should be taken to prevent a main block on the edge of the zebra from being considered periodic. In revalidation, a main block can support the edge of the zebra, half belonging to the animal and the other half to the savanna. This block can give a minimum of error, which, however, will be greater than the minimum associated by the periodicity. Therefore, a noise error matrix is not considered as periodic. The following was observed: Errmin = Row (umin) Errmax = Row (umax) Err_sec_min = Row. { usec_m¡n) Err sec max «Row (usec max) The following conditions were imposed: (Cl) Err sec min - Errmin < a * Errmax (C2) Err_sec_max - Err_sec_min > b * Errminabs (C3) Errmax > c * Errminabs According to the present example, a = 0.5 b = 2 c = 4 An error line that verifies all conditions will be issued from a matrix associated with a block probably containing a periodic structure. According to one variation, only two first conditions are combined.
The vector associated with this main block is then corrected. For this purpose, it is not enough to take into account only the periodic main block. With reference to the drawing of the zebra, imagining that all the portion of the animal not contained in the main block is erased, a rectangle with vertical strips is obtained.
When looking for the portion of the previous frame to which the rectangle corresponds, several possible rectangles with strips will be found and it will be impossible to decide which one should be taken into consideration. To make this choice, the main block is gradually enlarged to remove the uncertainty. The procedure is illustrated in Figure 6, where the shaded blocks are periodic blocks of a frame line. In a given line, the detection of a periodic main block will indicate that an entire area of the frame, which contains a periodic structure, has been found. The movement vector of this main block will not be retained immediately. Otherwise, the error matrix corresponding to this block will be stored. We will go to the next main block on the same line. Also, if this is periodic, its error matrix is again stored. Finally, the end of the periodic structure is reached, the edge to the right of the zebra in this case. Let (il, jl) be the coordinates of the first periodic main block found and (i2, j2) those of the last. All stored matrices are totaled item by article. A matrix is obtained of which the components are: paratodou6 [-16, -14, ..., 14l16] andparatodove [-4, ... r4] Sum (u, v) =? Err (¡, jHu, v) i = i1, i2 i = ji The same matrix error could be obtained if the basic algorithm is applied to a main width block (i2-il + 1 ) times the width of a single main block. The error matrix is obviously the same size. This matrix is not yet enough to determine a good movement vector. The blocks at the beginning and at the end of the periodic structure must be considered. In reality, these blocks usually contain the edge of the periodic zone in motion, and therefore allow the ambiguity of the information contained in the error matrix to be removed.
After having determined the previous matrix, the procedure is as follows: The vectors of two main blocks are considered at the beginning and end of the periodic structure. The corresponding error is extracted from the sum matrix for each one. The vector, of which the error is the smallest, will be retained. - If this vector does not correspond to a local minimum of its line of the error matrix Sum, the minimum of the error matrix is selected and the corresponding vector is retained. - Finally, to obtain a vertical coherence between the adjacent periodic blocks, it is tested whether one of the blocks immediately above this row of periodic blocks is also periodic and, if so, its vector is retained with the condition that it corresponds to a minimum in the line of the error matrix. The vector retained in this way will be the vector used for all the blocks of the periodic structure. After having made the determination of the vectors and possibly the first c the second correction, an annotated vector field is obtained: - > B { i, j) where 0 = i = 22 and 0 < j < 35 Refining the Vector Field Space Solution This procedure phase is used twice in succession for periods 2 and 3. Attempts are made to characterize the movement more finely by assigning vectors to smaller elements: the sub-blocks (which have a size of 4 * 4 pixels in the example) of the present) . This will allow the vector field to be better adapted to the edges of moving objects. According to the example herein, there are 180 sub-blocks in a frame width and 144 sub-blocks in the height. According to the present embodiment, the errors associated with the entire scale of possible motion vectors are not all recalculated, since they are effected for the main blocks. For each sub-block, candidate vectors are selected from among the vectors of the main blocks and the error generated by each of these candidate vectors is determined. In the context of the present, example, the candidate vectors for a sub-block are the vectors of the four main blocks closest to this sub-block. The vector that generates the smallest error will be attributed to the sub-block.
The fact that the candidate vectors associated with the main blocks adjacent to the block containing the sub-block under consideration are used, allows the edges of the objects in motion to be precisely determined and, consequently, the boundaries of the moving areas. uniform. If the edge of a moving object projects just slightly toward a main block, the vector found by it will be a vector that indicates the background and not the moving object, since most of the pixels in this main block belong to this antecedent, of which, the movement may be different from that of the object. Consequently, the edge of the object will not be correctly reconstituted. On the other hand, if the vectors of the adjacent main blocks are also considered for the sub-blocks of the edge of the object, the movement of these sub-blocks will be estimated correctly, since at least one of the adjacent main blocks will be part of the object under consideration.
Pimpo Attempts were made to determine the vector field by minimizing the difference in the luminances of the sub-blocks between fields 1 and 2/3. However, the output field 2 will be finally displayed. To improve the accuracy, the sub-blocks are consequently considered to be part of this field 2. For each sub-block of field 2, four adjacent main blocks are determined in the following way: the sub-block is projected orthogonally on the field 2/3 (see figure 8). The four closest blocks, therefore, will be selected as follows: When speaking of the sub-block (i, j) (0 <i <180, 0 <j <144), it will be said that the four blocks Relevant main ones are: If mod 8 < 4 then i '= -1 of the conr / ario i' = 1 If j od 4 < 2 then j * = -1 of the cut j '= 1 Relii? Fl (1) = B (v8, jv4) Rel (i.μ (2.}. = MB (¡v8 + i \ jv4) RelftS ( 3) = MB (iv8, jv4 + j ') where the cornilla of the Euclidean division of a by b is annotated avb and the rest is amodb. Once the candidate vectors have been selected, they must be compared with each other. As mentioned above, the sub-block is part of the deployed field. The vector of the main block in question is therefore placed on a scale. 2/3 of it are initially calculated and the result is rounded. The vector of movement between field 1 and field 2 is thus obtained. The remaining vector corresponds to the movement between field 2 and field 2/3. If these two vectors are called posterior vector and frontal vector, respectively, we will have: When m = 1,2,3 Frorrt On) = Rel (ij) (m) -Rear ^ ..}. (m) The four errors associated with these four vectors are then calculated: Amount m = 1,2,3,4 Where Sx and Sy represent the sizes in the pixels of the abscissa and the ordinate of a sub-block. The vector of the sub-block will be the vector giving a minimum error. Scanning all the sub-blocks, you get an annotated vector field Ro (i, j). According to a variation, the components of the field vectors are subjected to average filtering to eliminate false values: in reality, a small error in a sub-block is less visible than the local heterogeneity of the vector field. Assuming: a = (1 0 Raw (¡-? j): a '= (0 l), Raw (¡-? Í b = fl?) «Raw ,.; b' = (? l)« Ra,. 0 = (1 0> Raw (j + l; t '= (0 1 Raw (¡ti j The vector field is thus described Therefore, the average filtration is carried out for a given sub-block taking into consideration the previously calculated vector for this sub-block and the horizontally adjacent sub-block vectors. On field of vector parai sub-blocks of 4 * 4 pixels is thus obtained. The error associated with the selected vector is also defined for each sub-block. This error is a measure of the confidence placed in each movement vector. The error is written like this: 1 = 0.2 Field 3 As it is done for field 2, the calculation of the vectors in the region of the sub-blocks is done for field 3, while the movement between fields 2/3 and 4 is estimated. However, the calculation is different to from the one previously made. Actually, according to the present modality, the motion vectors are not calculated for the main blocks between the fields 2/3 and 4, in order to save delay lines. Actually, if the vectors of the main blocks and those of the adjacent sub-blocks have to be calculated for field 3, the vectors for all the adjacent main blocks could have been calculated for a given sub-block, and this could introduce a delay corresponding approximately to the number of lines contained in a row of main blocks. The vectors of sub-blocks for field 3 will be calculated from the previously calculated vector field for the main blocks between fields 1 and 2/3. This presents problems in the case of fast movements, since the vectors of the sub-blocks will thus be calculated from vectors that do not reflect the real movement. According to the present modality, the information referring to the main blocks is updated by creating a vector field for blocks known as intermediate blocks, from which the size is exactly intermediate between that of a main block and that of a sub-block. In agreement with the present modéilidad, the intermediate blocks have a size of 32 pixels, 4 lines: they have the width of a main block and the height of a sub-block. The vector field that has average spatial resolution associated with these intepneous blocks, is calculated from the fields 2/3 and 4, and from the vector field of the main blocks determined for fields 1 and 2/3. The vector field of the sub-blocks will be deduced from them in a second stage. It can be seen that if the determined vector field between fields 1 and 2/3 is taken as the source of candidate vectors, the error calculations will be made from the information of fields 2/3 and 4. As with the sub-blocks from field 2, it is considered that the calculations are made for intermediate blocks that belong to the output field, that is, field 3. As in the previous, the motion vectors will be applied to the intermediate blocks that will be separated into two vectors. In this way, for a vector (u, v), an anterior vector and a posterior vector will be determined as follows: Front = - (u, v) Rear = (u, v) - Front The error associated with the moving vector (u, v) for an intermediate block (i, j) will be written like this: pntermediatev 'i) = For a given intermediate block of field 3, the corresponding main block is determined: that main block, which, projected orthogonally on field 3, contains this intermediate block. A number of candidate vectors is determined for a given intermediate block (i, j): - the vector of the corresponding main block, - the vector deduced from the aforementioned vector of the main block, modifying its horizontal component by a digitization step in the direction positive, - the vector deduced from the aforementioned vector of! main block, modifying its horizontal component by a digitization step in the negative direction, the vector of the closest main block (up or down) of the intermediate block, - the vector deduced from the aforementioned main block by modifying its horizontal component by a step of digitization in the positive direction, - the vector deduced from the aforementioned main block by modifying its horizontal component by a digitization step in the negative direction. According to the present embodiment, there will therefore be six candidate vectors: If jmod4 < then j '• = -1 otherwise j' = 1 Rel, B (ij) (2) = MB (.. jv4) + ^] -2 Rel, Bí (3) = B | 1, jv4) + \ 0v, / Rel K4) = MBvÍv +?) where the quotient of the Euclidean division of a between b is annotated as avb and its remainder as amodb. The second and third vectors have the same vertical component as the first vector, the horizontal components being modified, Similarly, the fifth and the sixth vector have the same vertical component as the fourth vector, the horizontal components being modified. This choice is due to the size of the intermediate blocks, which only have two lines of height. If the intermediate blocks, which have a larger vertical size, have been selected, the correction of the vertical component can be considered. Here, however, only with two lines per intermediate block, it is difficult to reliably determine a vertical component and therefore a fortune to correct it. The error associated with each of the six vectors is thus calculated for each intermediate block. The vector retained for an intermediate block from among the six candidate vectors is that which gives the minimum error. According to a variation, the correction of the horizontal components is eliminated. This avoids excessive discontinuity in the vector field in the case of noisy frames.
A vector field having an average spatial resolution annotated as IB (i, j) is finally obtained. The last step of estimating field movement 3 involves determining a sub-block level vector field from the vector field with intermediate blocks. A sub-block will obviously be attributed to the intermediate block, from which it is a part. In accordance with the example herein, two candidate vectors are determined for each sub-block. The first candidate vector is that of the intermediate block of which the sub-block forms part, while the second block is that of the adjacent intermediate block as defined above. For a sub-block that has coordinates (i, j), the two candidate vectors will be If imod8 < 4 then i '= -1 otherwise i1 = 1 Rel (l # j) (1) = IB (iv8, jv4) Rel (i (j) (2) = IB | iv8 + i ', jv4) The vectors: When m = 1, 2 Rear (jj) (m ) = Rel (j) (m) - Front ^) (m) thus they would be calculated Then the errors: When m = 1, 2 The vector that gives the smallest error will be retained. The vector field (SB3 (i, j)) is also subjected to medium filtering, and the corresponding error field will be calculated (Errj (i, j)).
Noise reduction Noise reduction involves two stages: - a reduction of spatial noise, - a reduction of noise of time compensated in movement. The first stage makes use of the information contained in a single field, while the second stage makes use of the information contained in several successive fields, two in this case. From now on, only the luminance filtering will be described. In the context of this example, the chrominance spatial filtering is not considered necessary, the chrominance samples being too far apart from each other for the directional type medium filter to have a direction. It is obvious that the chrominance can also be filtered, particularly if the chrominance information is denser, in particular if it has a resolution identical to that of the luminance. The temporal filtering of the chrominance is directly deduced from the luminance test considering the input fields, of which the size is divided by the sub-sampling factor of the chrominance (that is, between 2 in the abscissa direction x for an input format 4: 2: 2). The x component of the motion vectors must also be divided between this same factor.
Space noise reduction The spatial reduction of noise aims to reduce the pulsed noise in the input fields. According to the present embodiment, the spatial filter is a directional medium filter, which has the advantage that it does not degrade the frontal and fine textures of a frame. The simple or average linear filtration could not present this advantage. The average directional filtering is carried out here on three pixels: the "real" pixel, as well as the two adjacent pixels located on the same straight line that passes through the real pixel. In view of these restrictions, four filtration directions are possible: horizontal, vertical and two diagonal. The choice of the direction to be considered is made as a function of the correlation that exists between the three pixels of the same address: The following table shows the real pixel (X22) surrounded by its adjacent pixels: The horizontal direction (called di) passes through pixels X21, X22 and X23. The vertical direction (called d2) passes through the pixels X12, X22 and X32. The first diagonal direction (d3) passes through pixels X31, X22 and X13. The second diagonal direction (d4) passes through the pixels Xll, X22 and X23. The correlation coefficients associated with each of the addresses are respectively annotated cl a c4 and filtered values mi a m4. According to DI: c1 = min (| x21-x22 |, | x23-x22l) m1 = med (x21, x22, x23) According to d2: c2 = min x12- 22t | x32- x22 |) m2 = med (x12, x22, x32) According to d3: m3 = med (x13, x22, x3l) According to < J4: c4 = min (| x11-x22j, | x33-x22 |) m4 = med (x11, x22, x33) The direction in which the correlation coefficient is weakest will be retained. Other correlation functions can also be selected. Similarly, filtering can be carried out on more than three pixels or in more than three directions if the window used allows it.
Temporal noise reduction compensated in the movement A significant advantage in the estimation of movement is that which allows the application of noise reduction procedures compensated in movement. The hypothesis that noise distorts a television image has a statistical expectation of approximately zero, is used as a starting point, that is, its average time on several images tends to be zero. The high-frequency components of this noise can therefore be reduced by temporarily low-pass filtering of the frame. A known filtering procedure involves performing recursive digital filtering from pixel to pixel. This procedure involves the storage, for each pixel, of a certain number of samples and the application of a recursion equation between these stored values and a real pixel. A filtered value can thus be determined for this real pixel and the stored values can be updated. The choice of the recursion equation and the number of stored terms determines the effectiveness of the filter. However, the application of a low-pass time filter to a sequence of television images has a major defect: belonging to the nature of this filtering, it creates a trajectory that follows all objects in motion, this phenomenon being similar to that observed in a cathode ray tube that has pronounced remanence. This effect is very visible in certain commercial television sets. According to the modality of the present, this effect is reduced by using the movement vectors already calculated, when the recursion equation is used. The recursion will be done not on the pixels of the fixed coordinates but on * the pixels translated by motion vectors. In other words, the displacement of the objects is followed, so that the pixels that are the frames of the same point of the corresponding moving object. In the context of the example of this, the noise of time is reduced by means of an individual field memory on the input fields (spatially filtered). The vector field with maximum precision will be used, that is, the vector field of the sub-blocks. The vectors will be initially calculated from the stored field and from the input field from which the noise is not reduced. The vector field thus obtained will be used to reduce the noise of the input field. The interpolation will be carried out between the field of. input processed in this way and between the stored field. The two fields used for interpolation will therefore be subject to noise reduction. In the context of the example herein, an individual field memory is used: only a single sample in the past is retained for each pixel. Therefore, the recursion will be related to two terms: the pixel "real" and a stored sample. The noise reduction is articulated in two parts: - matching the pixels, to which the recursion equation will be related - applying the recursion equation. The pixels match from sub-block to sub-block of the input field. The pixels of a sub-block of the input field and the pixels of the sub-block designated by the corresponding motion vector in the stored field are coincident. The stored field is therefore projected according to the field of motion vectors.
If the luminance of the input field is designated by that of the field reduced in noise contained in memory by and that of the field projected by t the last one is written, for the field 2/3 Vxe. { 0.1, ..., 720} Vye. { l, 3,5, ..., 575} where i = xmod4 j = ymod4 and for field 4: Vxe. { 0.1, ..., 720} where i = xmod4 j = ymod4 Now a recursive equation will be defined and applied. It will relate to As mentioned above, and will assume that the appearance of an object rarely changes from one frame to another, and in any case slowly in relation to the time constant of the filter, the differences in brightness are due only to noise. In the context of the example of the present, the recursion equation used is, therefore: where f is a non-linear function adapted to noise, emitted from the non-linear function NL shown in Figure 10 (a), with the recursive filter diagram used (Figure 10 (b)). This function has a linear portion at the beginning of its curve: for slight differences between the received frame and its projection, the correction is maximum and the output pixel is linearly interpolated with a factor of 3/4 for the projection and 1/4 for the received pixel. If the difference is increased, the probability of eliminating a real transition in the frame is also increased, and the received pixel is protected until the estimate is not considered at all if the deviation is too large.
According to the modality of the present, this function adapts to the variety in the noise estimated in the movement, when the motion vectors are calculated: the difference between the noise that is going to be reduced and the formation that is going to be saved it can be thus found. NL is therefore: NL: R * -R x aNL (x) V0 < x < 1: NL (x) - = mi 3 9 í i? < Vx > 1: NL (x) = 0, where f is the odd function of R in R defined on R + by: • »-S" tea-) where s is the standard deviation of the noise measured by the algorithm and xM is the local maximum of the NL function.
It will have: s = Noiseest According to a variation of the example of the present, noise in time is not reduced when the confidence in a motion vector is too low in relation to the noise of the frame. According to a further variation, the spatial filtering of the stored field is carried out before the projection along the motion vector field. In fact, in view of the sub-sampling carried out before the estimation of the movement, the precision of the motion vectors and consequently the projection is of two pixels. The finest details are eliminated by means of a low-pass linear filter. The measurement has shown that low pass filtration reduces the noise level by approximately two additional dE.
Interpolation After having obtained a vector field, which is as accurate as possible for each field to be interpolated, the fields that will be displayed will be dd- -dcs to par. R of this information and the fields * input . The same objectives will be claimed, depending on the field that is taken into consideration. In particular, the following conduction lines will be followed: - Attempts will be made to maintain homogeneity in the various interpolation procedures adapted to each field: a too large difference between two types of interpolation leads to differences in appearances of one field over the other , which, repeated 75 times per second, creates an oscillation, which is more annoying than that which is going to be reduced; - Steps are taken to avoid an error on a movement vector, even if the value is greater but sufficiently localized, or a difference between the real field vector and that measure due, for example, to the digitization, from the creation of the excessively visible disorder. In addition, the presence of noise in the frame should not damage the interpolation processing.
Interpolation of field 1 (luminance) Bl field 1 is a particular case since its even lines are picked up as they are presented. However, the odd lines must be reconstituted. The luminance of a pixel of field 1 will be annotated as P1 (x, y) where (Osxs719; Osys575). According to the embodiment of the present, several types of interpolation are used to reconstitute the missing lines: - vertical linear interpolation by average (pure spatial filtering) - interlacing of fields 1 and 3 in the immobile zones (pure temporal filtration) - interpolation using the motion vectors (spatial and temporal filtering). The choice of the type of interpolation is made from the main block to the main block as a function of the criterion linked to the vector and the error associated with the block. The vector associated with a main block of field 1 is that associated with the main block in the same position in field 2/3. Although the movement is not estimated for the blocks of field 1, but for the blocks of field 2/3, these vectors are still under consideration. Actually, if they move away from the edges of moving objects and if the movement is regular, the vectors obtained by direct estimation on the blocks of field 1 will be similar to the vectors calculated for field 2/3. L * vertical linear interpolation (pure spatial filtering) is a partial solution used when the confidence in the motion vector detected is too low. Interpolation: it is used for the modality of the present. The vertical average has the disadvantage of causing the appearance of "steps" very visible on the diagonal lines. In addition, it presents a mediocre definition, mostly equal to that of a conventional television set. Finally, it necessarily causes the oscillation of the line since fields 2 and 3 can not be interpolated in this way. Therefore, attempts will be made to avoid, if possible, the vertical average. This pure spatial filtering is used within the spatial and temporal filter described above. If the motion vector associated with a main block is zero, the filtration known as pure temporal filtration is carried out in the missing lines of field 1 and are selected in a different field. In this way the lines of two fields are interlaced. The criterion selected to determine the static character of a main block is compared to the error in. estimation of movement relative to a threshold. If the error is lower than this threshold, the block is considered as static. Actually, if only one portion of the block is static, the other portion will create a significant error.
The criteria is: MBError (i, j) < threshold x noiseest and the interpolated pixel will be written, when and is even: Pií .y) = P (x, y, 0) odd: This type of interpolation allows a double vertical definition to be presented and the oscillation of the line to be eliminated, in comparison with the vertical type interpolation by means of an average. If the motion vector is not zero, or if the motion vector is zero but the criterion that refers to the associated error defined above is not filled, spatial and temporal filtering is used for interpolation. This is a medium type filtration in the context of the example hereof. A medium type filter allows a good definition to be maintained and allows the frame fronts to be respected, contrary to purely linear filters. Figure 11 illustrates this type of interpolation. In this figure, an "X" designates the pixel to be interpolated, a circle designates the pixel of field 1 and a triangle the pixel of field 2/3.
The value of an interpolated pixel is determined in two stages: - In a first stage, three values that correspond to three filters Fl, F2 and F3 are determined. Fl produces an average of the pixel values (bl) located above the pixel to be interpolated and the pixel (b2) located below the pixel to be interpolated. F2 gives the average value between bl, b2 and the value of the pixel (b) of field 2/3 that corresponds to the translation by the appropriate motion vector of the pixel to be interpolated from field 1. F3 gives the average value of the value of the pixel (b) and l * values of the four pixels (al, cl, a2, c2) diagonally adjacent to the pixel to be interpolated. In a second stage, the average value is determined from the three values given by these filters. MB (i, j) is presented, which is the vector of the main block, of which the pixel to be interpellated is part. ? smiesdo: v? «(1 0) -MB (i, j) vy = (0 l) -MB (i, j) when y is even: when y is odd: Finally P1 (x, y) = med 3 (Fl (x, y); F2 (x, y); F3 (x, y)) In this way a filter is built in relation to seven pixel values, of which only one does not belong to the real field. In this way the effects are reduced due to the poor estimation of movement. On the other hand, the definition will be well maintained and the contours of the objects well followed by the average directional filtration, which acts in vertical and diagonal directions.
Interpolation of field 2 (luminance) Field 2 is interpolated from the vector field in the sub-block region. All the pixels of the field must be interpolated since the field is not temporarily combined with an input field, as is the case for field 1. For security of homogeneity, the interpolation mechanisms used for field 2 have similar characteristics to those already used for field 1. Therefore, sub-block is continued by sub-block. As with field 1, if the error associated with the motion vector of a sub-block is greater, the interpolation is carried out with the spatial and temporal filter already used for field 1. However, since field 2 is temporarily located between field 1 and the field 2/3, the movement vector between fields 1 and 2/3 is separated into two vectors, one (front vector) indicating movement between field 1 and field 2, and the other indicating movement between field 2 and the field 2/3. Each of these two vectors is rounded to an integer value. It will be recalled that the identical break of a moving vector in two vectors was used during the calculation of the motion vectors associated with the sub-blocks of field 2. The rounding will be carried out in the same way in both cases to avoid the addition of errors. If (i, j) represents coordinates of the sub-block containing the pixel to be interpolated, the vectors: Rear (i,]) = in [| sB2 ^ j)] Front (Í, j) = SB2 (i , j) -Rear (i, j) they will be calculated. Then, three determined values are determined (a, b, c). The calculation differs depending on whether the pixel to be interpolated is located on an even or odd line. it is assumed so : When and is odd, similarly it is assumed: so : This filtration is illustrated in Figure 13. P2Í ??) is the value of the interpolated pixel and corresponds to the average value of three values: the results of the two linear filters and a medium filter of the values of the pixels a, b and c . The two linear filters effect the time interpolation with weight coefficients corresponding to the relative positions of the pixel to be interpolated with respect to the pixels a, b, c. It should be noted that these are two pure time filters, ie using a single pixel in each of the input fields. This allows a loss of vertical resolution to be avoided. The average filter also allows the generated field to maintain good spatial resolution. However, it also allows some homogenity to be maintained among the various interpolation mechanisms of the three fields.
If the motion vector associated with a sub-block is zero or if the confidence in a vector is high (low error), the interpolation will be of the pure time interpolation type as it is in the case of field 1: the lines of fields 1 and 2/3 are interlaced: When and is even: P'2 (x, y) = P (x, y, 0) When y is odd: P'2 (? 'and >; = P (x, y, l / 2) A second possible value is also calculated for this pixel, known as a partial value. This value, noted as Recovery2 (x, y) corresponds to linear filtering, which severely cuts high spatial frequencies in two fields that refer to: Recovery 2 (x, y) = - (l 2 3 4 3 2 The confidence attributed to a motion vector is also defined as: Error2 (x, y) Conf (x, y) = PixelNB where PixelNB represents the number of pixels contained in a sub-sampled sub-block Conf (x, y) represents the error carried to a pixel.The value P2 (x, y) of the interpolated pixel will therefore be: P2 (x, y) = mßd3 ( p-2 (x, y) -5 ^ lR «¥ ^ xy) r2 (x, y) + - C ^) The value P2 (x, y) is equal to the value of the pixel compensated in the movement, but at the beginning, so that it is not able to remove itself from the value of the partial pixel by a value greater than the confidence divided between the correction factor.
Interpolation of field 3 (luminance) The mechanisms are very similar to those used for field 2. Field 3 is interpolated from fields 2/3 and 4 (that is, field 1 of the next cycle) and vectors of SB3 sub-blocks ( i, j). Only the interpolation coefficients and the appearances of the line parity will change.
Therefore, the vectors will be calculated Rear (í, j) = SB3 (i, j) -Front (¡, j) and the points will be calculated it is assumed so med3l - 3 -; med3 (a, b, c) - - - When and is even, it is similarly assumed: J-Reard,]) - so : Figure 14 illustrates this filtering. If the confidence is very high and the vector is zero, it will choose the pure time interpolation again: and pair: P3 (x, y) = P (x, y, l) and odd: P3 (x, y) = P (x, y, l / 2) After, the recovery pixel will be calculated: Recovery3 (x, y) = - Í- (1 2 3 4 3 2 and the confidence in the vector movement, Error3 (i, j) Conf (i, j) = PixelNB Finally, the value of the displayed pixel will be established, while preventing this pixel from moving too far from the value of the recovery pixel if the confidence is low: It can be seen that the continuity of the interpolation is well assured with the previous field, since the algorithm is modeled in the interpolation of field 2. However, the vectors of sub-blocks have a deviation of time, due to the fact that they have been calculated from the main blocks determined by the previous exit field, which presents the definition of this field poorer than that of the previous field, particularly in the case of rapidly changing movements.
Chroma processing Chrominance interpolation is subject to restrictions, which are much less severe than those of luminance. Actually, the definition of the eye is much weaker. In addition, the standard used for the transition in the radio frequency network known as the 4: 1: 1 format, includes the sub-sampling ending with the transmission of a piece of chrominance information for each of the four pieces of the luminance information, with the repetition of chrominance information identical to itself over 2 lines. The tolerances in the filters used are thus much greater. Therefore, we will be satisfied with simplified filters. The chrominance interpolation algorithms are therefore directly extrapolated from the luminance interpolation algorithms, considering the fields containing two smaller times of pixels horizontally and therefore dividing the horizontal component of the movement vectors between two. For field 1, the filter that has 7 input pixels used in luminance is limited to 3 pixels of input. Assuming: x = ¿(l 0> MB (i, j) vy = (0 l) 'MB (i, j) When and is even: When and is odd; Finally: P ^^ ix ^) = med3 (Fl (x, y), -F2 (x, y); F3 (x, y)) For fields 2 and 3, the luminance average time filters are maintained, but the partial filter is eliminated. The horizontal filter is eliminated in the temporary noise reduction filter, since it would filter the spatial frequencies too slowly.
Movie mode The case of movie mode is that of the video sequences generated not in the 625/50/2 format but in the 625/25/1 format. These sequences are therefore in a format that is progressive in the input which means that each input frame contains two fields that correspond to the same moment. This gives rise to a complete problem: actually, if the algorithm described above is applied to these sequences without modification, the estimation of the movement will be completely inhibited, since the calculation of the main blocks will take place between the two fields of the same frame and all subsequent successive estimates will generate only vectors of zero. Therefore, if no movement is detected, no time interpolation or movement compensation can be made. This is very annoying since each input frame can only be repeated three times on the screen when such sequences are displayed. This results in an abrupt effect, which is particularly undesirable in any sequence that involves movement. A simple, inexpensive solution that allows this abrupt effect to be considerably reduced is as follows: the information processing phase will be modified so that movement between two different frames is detected and estimated and therefore interpolation is possible. weather. Consequently, the main movement estimate (the phase of the main blocks) must take place between a field 1 pair and an odd 2/3 field and not between an odd field 1 and a field pair 2/3. The timing diagrams in Figure 15 illustrate this particular mode of operation. All processing will therefore be diverted by a 50 Hz field. This means that, in the output, the lines that will be interpolated, will have parity opposite to that of which they have during the normal processing. However, the filters and the motion estimator will operate strictly in identical fashion. The following will be successively generated: • a progressive field 1 that uses the vector field of main blocks, while maintaining the input lines and interpolating the others with the spatial and temporal 7-point filter described above. • a progressive field 2 using the vector field of estimated sub-blocks with input fields 1 and 2/3. The 3-point average time filter described above will also be used here. On the other hand, the 1/2 and 1/2 coefficients will be used instead of applying the ordinary weight coefficients 2/3 and 1/3; this means that the field 2 thus generated is located at an equal distance between the input fields 1 and 2/3. This simple modification of the coefficients by itself constitutes a significant reduction in the abrupt effect, which is easily distinguishable and perceptible in all the frames that have been processed. See the diagram explaining this reduction in the abrupt effect in Figure 16, and finally a progressive field 3 normally using the vector field of the sub-blocks corrected by the intermediate blocks. Actually, since fields 2/3 and 4 issued from the same frame here, there is no movement between these two maircos. Therefore, it is sufficient to force the vector to zero as well as confidence: in this way, the previously described filter will purely and simply interlace the two input fields to generate a perfect progressive frame. To conclude, a film mode can be processed without the modification of the filters and mechanisms for the estimation of the movement: it is sufficient to inspect the processing phase, the interpolation coefficients of the field filter 2 and the vectors and confidences of the fields 3 once the presence of the movie mode has been detected. The reduction in the abrupt effect thus obtained will therefore be inexpensive to implement.

Claims (10)

1. A method for correcting motion estimation in frames comprising periodic structures in a system for determining motion vectors by comparing frame blocks, an error matrix being associated with each block, characterized in that it comprises the steps of determining adjacent periodic blocks and select a single motion vector for all these blocks.
2. The method according to claim 1, characterized in that the step of selecting a motion vector comprises by itself the step of totalizing the error matrices of periodic blocks from article to article.
3. The method according to claim 2, characterized in that all adjacent periodic blocks of the same block line are considered.
4. The method according to claim 3, characterized in that the step of selecting a motion vector also comprises, the step of determining a group of candidate vectors and of selecting as the only vector the candidate vector that gives the minimum error in the totalized matrix .
5. The method according to claim 3, characterized in that the step of selecting a motion vector also comprises the step of selecting as individual vector of one of the two vectors of the blocks to the left and to the right of the periodic blocks, if the error in the totalized matrix that corresponds to one of the two vectors is a local minimum in its line.
6. The method according to claims 4 and 5, characterized in that if neither of the two vectors satisfies the condition of the claim 5, the vector that gives the minimum error of the totalized matrix is selected as the individual vector.
7. The method according to one of claims 3 to 6, characterized in that the individual vector finally retained is the vector of a block immediately above one of the adjacent periodic blocks, if this is also periodic and if the error associated with this block in the totalized matrix it is a local minimum in its line.
8. A method for detecting periodic structures in a movement estimation system based on frame blocks comprising the step of determining an error matrix for several motion vectors for a real block, the step to determine the line (Row) of the matrix comprising the minimum error (Err_min) of the matrix, to determine the maximum error (Err_max) of the line as well as the stage to determine the smallest secondary minimum (Err_sec_min) of the line, a condition for the periodicity of a block being the one in which two minima are close in value (Cl), the estimation of the movement of blocks considered periodic being corrected by the method according to one of the preceding claims, the detection method characterized in that it comprises the steps of determining the highest secondary maximum (Err_sec_max) of the line, evaluating the noise level of the frame (Errminabs), using the condition Additional n (C2) for determining the periodicity of a block: the difference between at least one minimum (Err_min, Err_sec_min) and the secondary maximum must be significant relative to the noise level of the frame.
9. The method according to claim 8, characterized in that a third condition (C3) has to be satisfied: the maximum error (Errmax) must be significantly relative to the noise level of the frame (Errminabs).
10. The method according to claim 9 or 10, characterized in that the noise level of the frame is equal to the minimum, on all blocks of a frame, of the minimum errors of each block and of the difference: Errminabs = min. { Errmin (i, j), (Errmax- Errmin) (i, j)} i = 1, ..., aj = 1, ..., b where Errmin is the minimum error determined by the block (i, j) and where Errmax is the maximum error determined by the block (i, j) , a and b is the number of horizontal and vertical blocks of the frame.
MXPA/A/1997/000011A 1995-12-22 1997-01-07 Process for the correction and estimation of movement in pictures that have structures periodi MXPA97000011A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9515402A FR2742901B1 (en) 1995-12-22 1995-12-22 CORRECTION METHOD OF MOTION ESTIMATION IN IMAGES WITH PERIODIC STRUCTURES
FR9515402 1995-12-22

Publications (2)

Publication Number Publication Date
MX9700011A MX9700011A (en) 1997-09-30
MXPA97000011A true MXPA97000011A (en) 1998-07-03

Family

ID=

Similar Documents

Publication Publication Date Title
US5995154A (en) Process for interpolating progressive frames
De Haan et al. True-motion estimation with 3-D recursive search block matching
Ojo et al. Robust motion-compensated video upconversion
US8649437B2 (en) Image interpolation with halo reduction
US6377621B2 (en) Motion compensated interpolation
US6442203B1 (en) System and method for motion compensation and frame rate conversion
US5784114A (en) Motion compensated video processing
CN1846445B (en) Temporal interpolation of a pixel on basis of occlusion detection
US7075993B2 (en) Correction system and method for enhancing digital video
US7667773B2 (en) Apparatus and method of motion-compensation adaptive deinterlacing
US20100271554A1 (en) Method And Apparatus For Motion Estimation In Video Image Data
US20080211968A1 (en) Image Processor and Image Display Apparatus Comprising the Same
KR101161390B1 (en) Reduced memory and bandwidth motion adaptive video deinterlacing
EP1585326A1 (en) Motion vector estimation at image borders for frame rate conversion
van Roosmalen et al. Correction of intensity flicker in old film sequences
US5889890A (en) Process for correction and estimation of movement in frames having periodic structures
GB2450121A (en) Frame rate conversion using either interpolation or frame repetition
US7701508B2 (en) Accurate motion detection for the combination of motion adaptive and motion compensation de-interlacing applications
KR20040078690A (en) Estimating a motion vector of a group of pixels by taking account of occlusion
US8102915B2 (en) Motion vector fields refinement to track small fast moving objects
JPH09233435A (en) Method for evaluating motion
AU2004200237B2 (en) Image processing apparatus with frame-rate conversion and method thereof
US8917354B2 (en) Motion detection in video fields
MXPA97000011A (en) Process for the correction and estimation of movement in pictures that have structures periodi
CN1512766A (en) Device and method for converting frame rate