WO2000024202A1 - Motion vector detecting method and device - Google Patents
Motion vector detecting method and device Download PDFInfo
- Publication number
- WO2000024202A1 WO2000024202A1 PCT/JP1999/005735 JP9905735W WO0024202A1 WO 2000024202 A1 WO2000024202 A1 WO 2000024202A1 JP 9905735 W JP9905735 W JP 9905735W WO 0024202 A1 WO0024202 A1 WO 0024202A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- motion vector
- search area
- block
- detecting
- area
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/112—Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
Definitions
- the present invention relates to a j-vector used when performing an image encoding process based on MPEG (Moving Picture Image Coding Experts Group).
- the present invention relates to a method and an apparatus for detecting a motion vector for detecting motion vector. Back ⁇ technology
- the MPEG method is a coding method that compresses image data by combining DCT (Discrete Cosine Transform) in a screen, motion compensation prediction in an image, and variable-length coding.
- DCT Discrete Cosine Transform
- the motion vector detection processing performed in the prediction of the long sleeves of an image has been performed by so-called block matching.
- This block matching is based on a reference block divided into a predetermined number of pixels in a reference image to be processed, and a reference block corresponding to a motion vector starting from the same position in the reference image as the reference block.
- the process of extracting an area having the same number of pixels as the number of pixels, calculating the absolute value of the difference between the reference block and the corresponding pixel of the reference block, and calculating the sum of the absolute values of the differences for all the pixels in the reference block Do.
- the block matrix described above is moved while moving the area to be extracted within the search area of the reference image one pixel at a time.
- the motion vector is detected using the point at which the sum of the absolute values of the differences has the smallest value as a base point.
- the search area when the motion vector for the reference image is obtained and the search area when the motion vector for the S sub-image is obtained are the same size. It is performed in the range of. Also, when calculating the motion vector of the reference image, even if the motion vector of the quasi-block can be predicted to some extent, an area of a certain size based on the edict vector of the reference image is used. The search vector was used as the search area to detect the reference vector. Furthermore, the process of detecting a motion vector by block matching described above ⁇ . Is extremely enormous in the process of obtaining the sum of absolute values of the ⁇ -marks performed when performing block matching. And
- a first object of the present invention has been proposed in view of the above-described circumstances, and has been made in consideration of a calculation for detecting a motion vector for a field image of an in-and-out race method.
- An object of the present invention is to provide a motion vector detection method and device capable of reducing the amount.
- a second object of the present invention is to provide a motion vector detection method capable of reducing the amount of calculation while maintaining the detection accuracy when detecting the motion vector. It is an object of the present invention to provide an exit method and an apparatus. .
- a third object of the present invention is to reduce the number of block matchings performed when detecting a motion vector to reduce the amount of calculation and the processing time when detecting a motion vector. It is an object of the present invention to provide a motion vector detection method and device that can be achieved.
- the present inventor has detected a motion vector for each field image constituting a Kei image in the in-line race method. At that time, I found that the high distance between the top-field image and the bottom-field image could be in the prediction of the Imperial Vector.
- the motion vector detection method and apparatus have been completed based on such knowledge, and have been developed to detect a motion vector of a field image conforming to the in-night lace method.
- a motion vector of a second field image is detected in a predetermined search area using a first field image, and a motion vector of a third field image is detected.
- the search area for detecting a vector is defined as the distance between the fields between the referenced field image and the third field image, the first field image and the second field.
- the third field image is calculated by comparing the distance between the image and the field with the image, and using the search area obtained by the above calculation starting from the point indicated by the motion vector for the second field image. It is characterized by detecting a motion vector for.
- a search area for detecting a motion vector for a field image is changed using a motion vector for another field image.
- set Block matching is performed in the set search area to detect a motion vector for the third field image.
- the method and apparatus for detecting a motion vector according to the present invention that achieves the second object described above provide a motion vector detection method for a reference block included in a reference frame temporally or spatially adjacent to a reference frame.
- the first search area around the point indicating the vector is determined, and the second search vector around the point where the motion vector of the reference block is extended according to the frame distance between the reference frame and the reference frame is determined.
- the motion vector search area including the first search area and the second search area the reference block image data and the reference frame included in the reference block included in the reference frame are determined.
- the image data of the reference block is calculated, and the j-vector of the reference block is detected.
- Such a method and apparatus for detecting a motion vector determine the first search area based on the motion vector of the reference block when detecting the motion vector of the reference block, and The second search area is determined according to the point where the motion vector of the reference block is extended, and the motion vector of the reference block is determined in the motion vector search area including the first search area and the second search area. Is performed.
- the present inventors have conducted intensive studies to achieve the third object described above, and as a result, when detecting a motion vector, the correlation between pixel blocks adjacent to each other is high in the motion vector. It has been found that it can be used to predict motion vectors.
- the motion vector detection method and apparatus have been completed based on such knowledge, and have been described in the first search area.
- the second search area for detecting the motion vector for the block is determined based on the motion vector for the first block adjacent to the second block in the horizontal or vertical direction.
- the motion vector for the second block is detected by performing block matching in the second search area.
- a motion vector is detected by performing block matching in the first search area, and the motion vector is detected by the first block.
- the second search area is set by setting the search vector of the adjacent first block to / [], and the second search area having the size given by the predetermined search area is set.
- the motion vector of the second block is detected by performing block matching in the search area.
- FIG. 1 is a block diagram showing a configuration of a motion vector detecting device according to a first embodiment of the present invention.
- FIG. 2 is a diagram for explaining the inter-field distance of the field image of the in-the-sun race method.
- FIG. 3 is a flowchart showing a processing procedure in which a CPU included in the motion vector detection device according to the first embodiment detects a motion vector according to a motion vector detection program.
- Figure 4 is a diagram for explaining a searching for the predetermined search area to determine the motion base-vector V TT.
- FIG. 5 is a diagram for explaining determining a starting point and a search area for searching for a motion vector VBB using the motion vector VTT.
- Figure 6 is a diagram for explaining that the decision of the start point and search area for searching the motion base-vector V TB using Ugokibeku torr V TT.
- Figure 7 is a diagram for explaining that to determine the starting point and the search region for searching the motion base-vector VBT using the motion vector V TT.
- FIG. 8 is a flow chart for explaining a process of detecting a motion vector by substituting a search area in the motion vector detection device S according to the embodiment of ⁇ 1.
- FIG. 9 is a flowchart illustrating a process of determining a search area and detecting a motion vector with the motion vector detection device according to the first embodiment.
- FIG. 10 is a diagram for explaining a process of creating a map using CPU.
- FIG. 11 is a diagram for explaining an example of a map created in the memory of the CPU.
- FIG. 12 is a diagram for explaining another example of the map created in the memory of the CPU.
- FIG. 13 is a block diagram illustrating a configuration of a motion vector detection device according to a second embodiment of the present invention.
- FIG. 14 shows that a frame image is divided into macroblock units when a motion vector detection process is performed by a CPU included in the motion vector detection device according to the third embodiment.
- FIG. 15 is a flowchart showing a processing procedure in which the CPU included in the motion vector detection device according to the third embodiment detects a motion vector according to a motion vector detection program.
- FIG. 16 is a flowchart showing a processing procedure in which a CPU included in the motion vector detection device according to the third embodiment detects a motion vector according to a motion vector detection program. is there.
- Figure 17 shows that when the adjacent macroblock in the horizontal direction is pointing in the direction of H, the motion vector is detected by setting the search area using the edict of the adjacent Mac mouth block. It is a diagram for explaining what to do.
- Figure 18 shows that, when adjacent macroblocks in the horizontal direction point in substantially the same direction, a search area is set using the motion vectors of the adjacent macroblocks to detect the motion vector. It is a figure for explaining.
- Fig. 19 shows that when the adjacent macroblocks in the vertical direction are pointing in the direction of 3 ⁇ 4, the motion vector is detected by setting the search area using the j vectors of the adjacent macroblocks.
- Fig. 20 explains how to detect a motion vector by setting a search area using the motion vector of an adjacent macroblock when adjacent macroblocks in the horizontal direction point in substantially the same direction.
- FIG. BEST MODE FOR CARRYING OUT THE INVENTION first, second, and third embodiments according to the first, second, and third objects of the present invention will be described in detail with reference to the drawings. Also, in the following description, a motion vector detecting apparatus that detects a motion vector by setting a search area by using a correlation between a top field image and a bottom field image according to the first embodiment is described.
- a motion vector detection device that sets a search area by using the correlation of frames or fields that are temporally preceding and succeeding to detect a motion vector is described as a second embodiment. The motion vector is detected by setting the search area using the phase difference between the work vectors of the pixel blocks adjacent to each other. This is explained as an embodiment.
- the motion vector detection device is configured, for example, as shown in FIG.
- the motion vector detection device 1 includes a CPU (Central Processing Unit) 2 that performs a process of detecting an I / vector in an image encoding process based on the MPEG 2 standard for a field image. .
- the CPU 2 performs a process of detecting a motion vector by starting a motion vector detection program.
- the CPU 2 uses the image data and motion vector detection program stored in the memory 3 when detecting the motion vector.
- the CPU 2 outputs a control signal to the memory 3 and the HDD (Hard Disc Drive) 4 so that the image data and motion vector detection program stored in the HDD 4 are stored in the memory 3. To control.
- a CPU Central Processing Unit
- the CPU 2 performs image processing such as an MPEG method
- image processing such as an MPEG method
- .1 (Intra) pictures are subjected to DCT (Discrete Cosine Transform) processing
- B (biairectionally predictive) and P (Predictive) pictures are subjected to motion compensation prediction.
- Perform compression processing when calculating a motion vector for one field image, the CPU 2 refers to a search area for searching for a motion vector by referring to a field interrogation distance of a temporally preceding and succeeding field image. To determine. Then, the CPU 2 detects a motion vector by performing block matching in a macroblock unit composed of, for example, 8 ⁇ 8 pixels in the search area.
- the CPU 2 When performing block matching, the CPU 2 generates a reference block divided into a predetermined number of pixels included in a reference field image to be subjected to a process of detecting an excitation vector, and a reference field image corresponding to the reference block.
- the reference block indicated by the motion vector is extracted from the position of the reference block, the absolute value of the difference between the reference block and the corresponding pixel of the reference block is calculated, and the difference is calculated for all the pixels in the reference block. Performs the process of calculating the sum of the absolute iifl of
- the CPU 2 when detecting the motion vector, the CPU 2 repeatedly performs the above-described block matching while moving the region to be extracted within the search region of the reference field image one pixel at a time, and obtains the absolute value of the difference.
- the motion vector is detected starting from the point at which the sum has the smallest value. The details of the procedure for detecting the motion vector by calculating the search area performed by the CPU 2 will be described later.
- the content stored in the memory 3 is controlled by the CPU 2.
- This memory 3 stores the motion vector detection program and image data from the HDD 4 according to the control signal from the CPU 2. At the same time, the stored motion vector detection program and image data are read.
- the HDD 4 stores image data and a motion vector detection program. Then, the HDD 4 outputs the designated image data to the memory 3 according to the control signal from the CPU 2.
- the image data stored in the HDD 4 has a top field image (T) and a bottom field image (B) that are alternately arranged according to the in-line lace method.
- This is time-series moving image data.
- the CPU 2 obtains the top field image T and the bottom field image T the field question the distance between the T 2 as a "1.5”, Botomufu I one field image B, and the field distance between the top field image T 2 is set to "0.5", bottom field image B, performs a process of calculating the search region the field Toi ⁇ away the board Tomufu Iru de image B 2 and as "1.0".
- the I / F (in-flight interface) circuit 5 shown in FIG. 1 receives image data from the outside, for example, and outputs image data to the outside according to a control signal from the CPU 2.
- the I / F circuit 5 outputs the image data to the HDD 4 when, for example, image data is input from the outside.
- step S1 the CPU 2 performs a process of setting the search start point to (0, 0) as shown in FIG. That is, the CPU 2 performs a process of setting the starting point of the search area when performing block matching to detect a motion vector as (0, 0) as an initial setting.
- CPU 2 for example click base motion torr V used when motion compensation top Fi one field image T 2 using the top Fi one field image T as shown in Figure 2 above
- the search area S 0 for searching TT is defined as, for example, a diagonal point between the point (1 32, -32) and the point (+32, +32) with the origin (0, 0) as the center. It is a rectangular area.
- CPU 2 may be any size to the extent that can be accurately and the detected child to Tsutomukibeku torr search area in detecting the ⁇ -out vector V TT.
- CPU 2 performs a process of detecting a valiant-out base-vector V TT by performing block matching in the search area determined in step S 2 described above. That is, the CPU 2 sets the top field image T, for example, to the above-mentioned reference field image, sets the top field image T2 to the above-mentioned reference field image, and generates the top field image T, for example. Block matching is performed in the search area using the reference block A having a predetermined number of pixels included. Thus CPU 2 searches the reference proc B contained in the top Fi one field image T 2, detects the Ugokibeku torr VTT.
- CPU 2 is a bottom field image B, relative to the the reference field image Botomufi one field image B 2 Fi - shifts to a process of detecting the base motion as field image-vector V BB.
- the CPU 2 searches for the motion vector VB B as shown in FIG.
- the origin of the detected at Sutedzupu S 3 described above the coordinate position of the tip of Ugokibeku Torr V TT (h TT, ⁇ ) a process of setting to do.
- CPU 2 includes a inter-field distance between the reference Fi one field picture image and the reference field image used when detecting a Ugokibeku torr V TT, bottom field image B, the bottom field image B 2 Is the same as the distance between the fields, the starting point of the motion vector VB B is searched without expanding / contracting the tip of the motion vector VTT, and the coordinate position of the tip of the motion vector VTT (h I ⁇ , V TT).
- the CPU 2 sets a search area S in FIG. 5 consisting of a predetermined number of pixels centered on the coordinate position (hTT, VTT) set in the above step S4.
- C P U 2 is, for example, centered on the point ⁇ ⁇ ⁇ ⁇ , V TT, the point (h ⁇ ⁇ 4, V ⁇ -4) and the point (h ⁇
- step S5 the CPU 2 may set the search area S for detecting the motion vector VnB to an arbitrary number of pixels.
- step S 6 CPU 2 detects the motion vector V B beta by performing pro click matching in the same manner as the search area S BB in in the above-described step S 3 set Oite to step S 5 above Processing.
- the CPU 2 proceeds to the process of detecting the motion vector V TB using the top field image T, as the reference field image and the bottom field image B 2 as the reference field image. I do.
- CPU 2 as shown in FIG. 6, the starting point of searching the motion vector V TB, the length of the detected motion base-vector VTT at step S 3 described above Performs processing to set a coordinate position that is 1.5 times the height. That is, the CPU 2 determines that the distance between the fields between the top field image T and the top field image T 2 and the distance between the fields between the top field image T and the bottom field image B 2 is 1.5 times. from, and sets the start point of searching the motion vector V TB at the coordinate position (1. 5 hn, 1. 5 ⁇ ⁇ ).
- the CPU 2 centers on the coordinate position (1.5 h TT , 1.5 ⁇ ) set in the above step S7, and sets the position of the search area set in the above step S5 to 1.
- a search area S T "consisting of five times the number of pixels is set. That is, the CPU 2 sets the coordinates (1.5 h, 1.5 V") as the center and coordinates (1.5 h TT — 6, 1, 1. 5 VT T-6) and the coordinates (h TT + 6, the rectangular area defined as ⁇ + 6) and the diagonal point and search area S TB.
- C PU 2 is the above-mentioned steps S 3 similarly to pro click matching motion base-vector V r »by performing within the search area S TH was Oite set to Step S 8 above Perform the detection process.
- CPU 2 may shift to processing of detecting the motion base-vector V BT bottom field picture image B, and Toppufu Iru de image T 2 and the reference field picture as a reference full I one field image I do.
- C PU 2 as shown in FIG. 7, the starting point for search probe motion vector V BT, was 5 times 0.5 the length of detected motion base-vector V TT at step S 3 described above A process for setting the coordinates is performed. In other words, CPU 2 uses the top field image T!
- the starting point for searching the moving vector VBT is set to the coordinate position (0.5 hn, 0.5 v ⁇ ). I do.
- the CPU 2 sets the coordinate position (0.5 h 1 T , 0.5 V ⁇ ) set in the above step S 10 as a center, and sets the coordinates in the above step S 5.
- Set the search area S ⁇ consisting of 0.5 times the number of pixels of the search area. That is, the CPU 2 has the coordinates (0.5 h TT — 2, 0.5 V TT -2) and the J3 ⁇ 4 target (h TT +2) centered on the coordinates (0.5 h ⁇ , 0.5 V ⁇ ⁇ ). , V TT + 2) as a diagonal point, and the search area S nr is a momme ⁇ -shaped area.
- step S12 CPU2 replaces step S1 described above.
- a process for detecting the motion vector VBT is performed by performing block matching in the search area S irr set in 1 in the same manner as in step S 3 described above.
- the CPU 2 predicts the motion vector for the top field image T from the relationship between the two field images of the top field image T, and the bottom field image B, 2 You get one motion vector. Then, CPU 2 selects an optimum motion vector from these two Tsunodo-out vector, the motion vector for the top field image T 2. The CPU 2 also calculates the motion vector of the bottom field image B 2 out of the motion vectors predicted from the two field images of the top field image T and the bottom field image B. The optimal motion vector will be selected.
- the Keiki Vector Detector 1 When performing a process of detecting a motion vector for a field image conforming to the Ink Race-method, the Keiki Vector Detector 1 performs the processing as described in steps S1 to S3 described above. First, when detecting the motion vector V TT and detecting the other motion vectors V BB , V BT , and V TB , the top position of the motion vector V TT is used as a search starting point, and -Since the search area for detecting other motion vectors ⁇ ⁇ , V BT , and V TB is changed by performing block matching according to the distance between the fields, the top field image and the bottom field The pixel size of the search area can be reduced using the correlation with the blank image. Therefore, according to the present invention, the operation vector for detecting the motion vector can be reduced and the processing time can be reduced by reducing the pixel size of the search area. Can be.
- the motion vector detecting device according to the second embodiment has a configuration as shown in FIG. 1, similarly to the motion vector detecting device 1 according to the above-described first embodiment.
- the CPU 2 has a memory inside, and performs a search area for detecting a motion vector by performing block matching according to a motion vector detection program, by using a reference block included in a reference frame temporally close to the reference frame. Determine the first search area around the point indicating the vector, and set the second search area around the point extended according to the field between the reference frame and the reference frame or the distance between the frames You.
- the CPU 2 generates, for each reference block constituting the reference frame, a flag indicating that it is a search area for performing block matching, stores the flag in the memory, and detects a key vector. As a result, the CPU 2 generates a map in the memory for determining whether or not the flag corresponding to the reference frame exists.
- the CPU 2 creates a map using, for example, “1” as a flag for performing block matching and “0” as a flag for not performing block matching. Then, the CPU 2 performs a block matching in the set search area with reference to the map composed of the flags to detect a moving vector.
- step S21 the CPU 2 determines whether or not a motion vector exists in the reference block in macroblock units.
- step S2 the CPU 2 determines that the motion vector exists in the reference block.
- step S23 the process proceeds to step S23.
- CPU 2 sets the center position of the motion vector search area to the tip position ⁇ of the motion vector of the reference block. That is, the CPU 2 sets a rectangular area having a predetermined prime number from the center position S to a j-vector search area and sets it as an area for creating a map including a flag indicating that block matching is performed. .
- the CPU 2 stores a map comprising a flag for storing the center of gravity ⁇ of the motion vector search area set in the above-mentioned step S22 in the memory. And set a rectangular area with (1 Sh, — Sv) and (+ Sh, + Sv) as diagonal points as the base area of the map. That is, the CPU 2 creates in the internal memory a map including a flag of “1” indicating that block matching is performed in the base area or a flag of “0” indicating not performing block matching in the base area. It will be.
- the CPU 2 sets the area occupying a predetermined number of pixels centered on the movement vector of the reference block as the first search area and the movement vector of the reference block.
- a second mining area is set with the point extended from the center as the center position.
- the CPU 2 determines the position of a point extended from the motion vector of the reference block according to the inter-frame distance between the reference frame from which the motion vector is to be detected and the reference frame where the reference block exists.
- the size of the second search area centered on the determined point is determined. That is, the CPU 2 sets an area having a size proportional to the distance between the reference frame and the reference frame as the size of the second search area.
- the CPU 2 in response to setting the first search area and the second search area, the CPU 2 generates a flag indicating that block matching is performed.
- the CPU 2 sets a connection line that narrows the set first search area and the second search area, and encloses the first search area, the ⁇ 2 search area, and the area surrounded by the connection line. Is used as a vector search area, and a flag is generated.
- the CPU 2 sets the first search area and the second search area set as described above to, for example, a circular shape, and increases the radius of the second search area according to the frame distance.
- a flag indicating the motion vector search area surrounded by the tangent connecting the first search area and the ⁇ 2 search area as a connection line in the base erlier of the memory, 11.
- a map showing a motion vector search area surrounded by a first search area A, a second search area B, and a connection line C as shown in 1 is created in the memory.
- the shaded area indicates the motion vector search area with the flag “1”
- the white area indicates the area with the flag “0”.
- step S23 where it is determined in step S21 that the motion vector does not exist in the reference block, the CPU 2 determines the center position of the motion vector search area as the coordinates (0, 0) Set. .
- step S26 the CPU 2 sets the center of the motion vector search area set in the above step S23 as the center position, and calculates (-Sh, Sv) and (+ Sh, + A rectangular area having S v) as a diagonal point is set as a map base area, and the flow advances to step S27. That is, since it is determined in step S21 that no motion vector exists in the reference block, the CPU 2 sets the center of the motion vector search area as the center position of the rectangular area, A map is created in memory with a rectangular area having diagonal points of ( ⁇ Sh, —Sv) and (+ Sh, + Sv) as the vector search area.
- step S27 the CPU 2 specifies the upper left coordinate position of the base gallery in the map created in step S26 as the initial position in step S25A described above. In other words, the CPU 2 starts searching for the block matching search position [S] to be detected when detecting a vector from the upper left coordinates (H, V) of the base area.
- H and V are variables indicating the coordinate position iS in the map.
- the CPU 2 reads from the memory 3 the image data of the reference block in macroblock units from the reference frame for detecting the motion vector.
- CPU 2 reads the flag at coordinates (H, V) from the map stored in the memory.
- step S30 the CPU 2 determines whether the flag read in step S29 is "1" or "0". In other words, this CPU 2 uses the coordinates of the map stored in the memory It is determined whether or not block matching is to be performed using the corresponding reference block pixel and reference block pixel. Then, when the flag is “1”, that is, when performing the block matching, the CPU 2 proceeds to step S31 shown in FIG. 9, and when the flag is “0”, that is, does not perform the block matching. Sometimes the process proceeds to step S35 shown in FIG.
- step S31 the CPU 2 retrieves the image data of the reference block corresponding to the coordinates (H, V) from the memory 3 from the reference frame.
- the CPU 2 determines the field image of the S sub-block corresponding to the locus (H, V) extracted in step S28, and The difference between each pixel constituting the reference block and each image constituting the reference block is calculated by comparing the image data of the reference block corresponding to the coordinates (H, V) input in step 1. And perform the sum of the absolute values of the differences.
- step S33 CPU 2 determines whether or not the sum of absolute values obtained in step S32 is the minimum. Then, when the CPU 2 determines that the absolute value sum of the difference is the minimum, the CPU 2 proceeds to step S34, stores the coordinates (H, V) with the absolute value sum of the difference as the minimum value, and determines that the coordinate is not the minimum. If so, the process proceeds to step S35. As a result, the CPU 2 detects the motion vector.
- step S35 the CPU 2 specifies the next pixel by incrementing the coordinates (H, V) of the map.
- step S36 the coordinates of the map are lower right, that is, the coordinates are (Right, Bottom). And CPU 2 makes the coordinates of the map If it is determined that the coordinates are not the lower right, the processing from step S29 is performed on the pixel specified in step S.35, and if it is determined that the coordinates of the map are the lower right, the motion vector is determined for the reference block. The detection process ends.
- the motion vector detection device 1 When detecting a motion vector for a certain reference block, the motion vector detection device 1 according to the second embodiment including the CPU 2 that performs such processing, The area to be subjected to block matching is determined using the motion vector, and the processing from step S29 to step S36 is repeated to perform the block matching only for the coordinates where the flag is generated.
- Step S3 The motion vector of the reference block is detected by using the coordinates of the reference block when the absolute value sum of the difference calculated in step 2 is the minimum.
- the motion vector detection device uses the motion vector of the reference block to Since the second search area is set and block matching is performed only in the search area including the first search area and the ⁇ 2 search area, compared with the case where the search area is set without the reference block.
- the search range can be reduced. Therefore, according to the motion vector detection device 1 according to the second embodiment, the number of times of performing block matching can be reduced, and the amount of calculation for detecting the motion vector is significantly reduced. can do.
- the amount of calculation can be reduced while maintaining the accuracy of the motion vector detection processing, and the processing time can be reduced. it can.
- the CPU 2 is configured as a CPU as described in the first embodiment.
- the search area is further reduced to reduce the number of times block matching is performed can do.
- the above-mentioned motion search in which the search area of 1 and the search area of 2 are rectangular areas, and a straight line connecting the search area of 1 and the search area of 2 and the search area of 1 and the search area of 2 Processing for detecting a motion vector in the area may be performed.
- the motion vector detection device ⁇ 1 can set the search area as compared with the case where the search area of the circular area is set.
- the processing S for setting can be reduced, and the processing time can be further shortened.
- the motion vector detection device 100 shown in FIG. 13 will be described using the vector detection device 1 as a functional block.
- the motion vector detecting device 100 is provided with a reference frame memory 1 for storing image data of a reference frame from which a motion vector is to be obtained.
- the image data of the reference frame stored by the motion detection unit 102 is read as a reference block in units of macroblocks, for example.
- the motion vector detecting device 100 detects the reference frame.
- a reference frame memory 103 for storing an image data of a reference frame used when detecting all motion vectors is provided.
- the reference frame memory 103 sets the image data of the reference frame as a reference block in units of macroblocks, for example. Output to 2.
- the motion detection unit 102 performs block matching on the reference block from the reference frame memory 101 and the reference block from the reference frame memory 103 to perform block matching. Detects motion vectors.
- the block matching is a process of dividing a reference frame and a reference frame into a predetermined fixed number of rectangular small areas (reference block, reference block) and detecting a motion vector for each block.
- the size of the reference block and the reference block include, for example, 8 pixels wide by 8 pixels high, 16 pixels wide by 16 pixels high, and the like. Then, the motion detection unit 102 outputs the motion vector detected for the reference block to the outside, and also outputs the motion vector to the search area determination unit 104.
- the search area determination unit 104 uses the motion vector from the motion detection unit 102 as the motion vector of the reference block, performs the above-described block matching in the motion detection unit 102, and performs the motion estimation of the reference block. Performs processing to determine the motion vector search area when detecting a vector. More specifically, the search area determination unit 104 determines the first search area centered on a point indicating the motion vector of the reference block by performing an operation using the motion vector of the reference block. In addition, the reference frame is calculated by calculating the distance between the reference frame and the reference frame. A second search area centered on a point extended from the motion vector is determined.
- the search area determination unit 104 generates a reference block read control signal as a motion vector search area including the first search area and the second search area, and outputs the control signal from the reference frame memory 103.
- the detection unit 102 outputs the reference block included in the motion vector search area.
- the search area determining unit 104 has an internal memory, determines each of the above search areas, and determines that the block matching is performed for each reference block constituting the reference frame. / ⁇ ; s flag is generated and stored in the above memory. As a result, the search area determining unit 104 generates a map for determining whether or not the flag corresponding to the serious frame exists in the memory.
- the search area determination unit 104 creates a map, for example, by setting “1” as a flag for performing block matching and “0” as a flag for not performing block matching.
- the search area determination unit 104 when performing block matching in the motion detection unit 102, the search area determination unit 104 generates a reference block extraction control signal with reference to the map composed of the flags and generates the reference frame memory 10 Output to 3.
- the processing for generating the above-described flag in the motion vector detecting device 100 configured as described above and detecting the motion vector for one reference block will be described with reference to the flowcharts of FIGS. 8 and 9 described above.
- the processing is substantially the same as that in FIG. 8, but the processing of the motion vector detection device 100 shown in FIG. 13 will be described with reference to FIGS. 8 and 9 again.
- step S21 the search area determination unit 104 determines that the motion vector exists for the reference block in macroblock units from the reference frame memory 103. You It is determined whether or not there is a motion vector. If it is determined that a motion vector exists, the process proceeds to step S22. If it is determined that no motion vector exists, the process proceeds to step S23.
- the search area determination unit 104 sets the center position of the motion vector search area to the leading end position of the motion vector of the reference block.
- the search area determining unit 104 stores the: 'center position of the key vector search area set in the above step S22 in the above memory.
- the search area determination unit 104 sets the area occupying a predetermined number of pixels centered on the tip of the motion vector of the reference block as the first search area, According to the distance, the second search area is set with the point extended from the movement vector of the reference block as the center position. Then, the search area determination unit 104 generates a flag indicating that block matching is to be performed in accordance with the setting of the first search area and the second search area. Further, the search area determination unit 104 sets a connection line connecting the set first search area and second search area, and sets the first search area, the second search area, and the connection line. The area enclosed by the line is used as the motion vector search area, and a flag is generated.
- the search area determination unit 104 sets the first search area and the second search area set as described above to, for example, circular shapes, and sets the size of the second search area to a radius according to the inter-frame distance. Is set to be large, and a flag indicating a motion vector search area surrounded by a tangent connecting the first search area and the second search area as a connection line is mapped in the base area of the memory.
- a map showing the first search area, the area A, the second search area B, and the motion vector search area ffled by the connection line C as shown in FIG. 11 is created in the memory. .
- the shaded area indicates the motion vector search area with the flag “1”
- the white area indicates the area with the flag “0 j”.
- step S23 where it is determined in step S21 that there is no vector in the reference block, the search area determination unit 104 determines the center position of the motion vector search area as a reference. Set to coordinates (0, 0) in block.
- step S26 the search area determining unit 104 sets the center of the vector search area set in step S23 to the subcenter; S, and (1 Sh, 1 S A rectangular area having v) and (+ Sh, + Sv) as diagonal points is set as a map base area, and the flow advances to step S27.
- step S26 the search area determining unit 104 determines that the motion vector does not exist in the reference block in step S21, so that the center of the motion vector search area is A map is created in the memory as a motion vector search area with a rectangular area with the center position as the diagonal point of (one Sh, —Sv) and (+ Sh, + Sv).
- step S27 the search area determination unit 104 performs the above-described steps.
- the coordinate position at the upper left of the base area in the map created in step S25 or step S26 is designated as the initial position. That is, the search area determination unit 104 starts a search position of block matching performed when the motion detection unit 102 detects a motion vector from the upper left coordinates (H, V) of the base area.
- H and V are variables indicating the coordinate position on the map.
- the motion detection unit 102 extracts the image data of the quasi-block at the macroblock level from the base frame for detecting the vector from the reference frame memory 101. I see.
- the search area determination unit 104 finds a flag in ⁇ (H, V) from the map stored in the memory.
- the search area determination unit 104 determines whether the flag read in step S29 is "1" or "0". That is, the search area determination unit 104 determines whether or not to perform block matching using the image M of the reference block corresponding to the target position of the map stored in the memory and the pixels of the reference block. Is determined. Then, when the flag is “1”, that is, when performing block matching, the search area determination unit 104 proceeds to step S31 shown in FIG. 9, and when the flag is “0”, When no matching is performed, the process proceeds to step S35 shown in FIG.
- step S35 the search area determination unit 104 specifies the next pixel by incrementing the coordinates (H, V) of the map, and in step S36, the coordinates of the map are changed. Determine whether the coordinates are (Right, Bottom) at the bottom right. Then, the search area determination unit 1 When 0 is determined that the coordinates of the map are not the lower right, the processing from step S 29 is performed on the pixel specified in step S 35, and when it is determined that the coordinates of the map are the lower right, The process of detecting the motion vector for the reference block ends.
- step S31 the search area determination unit 104 outputs the reference block read control signal to the reference frame memory 103, thereby outputting the image of the reference block corresponding to the coordinates (H, V) from the reference frame. Control is performed so that the entire frame is output from the reference frame memory 103 to the motion detector 102.
- the encouragement detection unit 102 determines the image data of the standard block corresponding to the coordinates (H, V) extracted in step S28 described above. By comparing the image data of the reference block corresponding to the coordinates (H, V) input in step S31 described above, the difference between each pixel forming the reference block and each pixel forming the reference block is calculated. Calculate the sum of the absolute values of the differences.
- step S33 the motion detection unit 102 determines whether or not the absolute value sum of the difference obtained in the above-described step S32 is minimum, and determines that the absolute value sum of the difference is minimum. If it is determined that the absolute value of the difference is satisfied, the process proceeds to step S34, and the absolute value sum of the difference is set to the minimum value, and the coordinates (H, V) are stored. Thereby, the motion detection unit 102 detects a motion vector.
- the search area determination unit 104 specifies the next reference block in the base area as described above, and the coordinates of the reference block specified in step S36 are set in step S36.
- the motion vector detection device 100 determines an area in which block matching is to be performed using the motion vector of the reference block in step S25. By repeating the processing from step S29 to step S36, block matching is performed only for the coordinates for which the flag was generated, and the reference block when the sum of absolute values of the differences calculated in step S32 is the minimum.
- the motion vector of the reference block is detected using the coordinates of ffl.
- the vector detection device ⁇ 100 that performs such processing if R, as described in the above-described step S 25, streams the vector of the reference block, and (1) Search area A and ⁇ 2 search area B are set, and block matching is performed only in the motion vector search area including the first search area A and the second search area B.
- the search range can be reduced as compared with the case where the search area is set without using. Therefore, according to the motion vector detection device 100, the number of times that block matching is performed can be reduced, and the amount of calculation for detecting the motion vector can be significantly reduced. According to 3 !, the motion vector detection device 100 that performs the above-described processing can reduce the amount of calculation while maintaining the accuracy of the detection processing of the vector and shorten the processing time. be able to.
- the region and the second search region are rectangular regions, and the motion search region is surrounded by a straight line connecting the first search region and the second search region and the first search region and the second search region.
- Movement vector Detection processing may be performed.
- a third embodiment for realizing the third object of the present invention will be described. In the following description of the third embodiment, an example will be described in which the present invention is applied to the motion vector detection device 1 having the configuration shown in FIG. 1 and used in the first embodiment.
- the motion vector detecting device detects a motion vector by setting a search area by utilizing a high correlation between motion vectors of pixel blocks adjacent to each other. .
- the CPU 2 sets a search area for searching for a motion vector when obtaining a work vector for a field image or a frame image, and for example, 8 ⁇ 8 pixels in the search area
- the work vector is detected by performing block matching on a macroblock basis.
- the CPU 2 divides the frame image for each macroblock in accordance with the motion vector detection program, and searches for a search area when performing block matching using the motion vectors of adjacent macroblocks. Set.
- the CPU 2 When detecting a motion vector, the CPU 2 first performs block matching in a predetermined search area for every other macroblock indicated by a shaded portion in FIG. 14 to detect the motion vector. 'Do Subsequently, the CPU 2 calculates a search area using the motion vector of the macroblock in the shaded area, and performs block matching in the search area to thereby obtain a white area in FIG. 14. Performs processing to detect motion vectors for macroblocks.
- the motion vector detection device 1 configured as described above, when the CPU 2 detects a motion vector for an image data of a frame image, By executing the motion vector detection program stored in the HDD 4, the processing shown in the flowcharts of FIGS. 15 and 16 is performed.
- the CPU 2 designates the address of a line (L ine) in which a plurality of MAC opening blocks are horizontally arranged as shown in FIG. Perform the process of specifying.
- the CPU 2 designates the ⁇ symbol of the top line “0” among the multiple lines in which the macroblock (MB) is horizontally aligned.
- '' in the above line consists of 0, 1, 2,..., Bottom (Bottm) from the top.
- the CPU 2 performs a process of designating a macroblock number ⁇ "0" for detecting a perceptual vector among the lines "0" designated in the above step S41.
- the numbers of the multiple block blocks that make up each line are 0, 1, 2, ..., Right from the left end to the right end.
- the CPU 2 sets a search area for the macroblock of the number specified in the above step S42.
- the CPU 2 sets the search area to a search range R including a predetermined number of pixels.
- the CPU 2 sets, for example, a rectangular area having a diagonal point of (Sat R, Sat R) from the coordinates indicating the center position of the macroblock as the search area.
- the CPU 2 sets, for example, a rectangular area including 32 ⁇ 32 pixels as a search area of the search range R.
- the CPU 2 performs a process of detecting a motion vector by performing the above-described block matching using a corresponding macroblock of a frame image that is temporally preceding and succeeding in a search area including a predetermined number of pixels. .
- the CPU 2 performs a process of designating the macroblock whose motion has been detected in the above step S43 and a macroblock shifted by two numbers to the left and right in the horizontal direction.
- step S45 the CPU 2 determines whether or not the macroblock designated in step S44 is located at the right end of the frame image.
- CPU 2 determines that the specified macroblock is located at the right end of the frame image, it proceeds to step S46, and when it determines that it is not at the right end, it returns to step S43. That is, the CPU 2 performs the processing shown in the above-described steps S43 to S45, so that the designated line is changed to two turns from the left side of the designated block to the right side.
- the processing for detecting a vector in the predetermined search area described in step S43 is performed.
- step S46 the CPU 2 performs a process of designating the macroblock of the number "1" adjacent to the right side of the macroblock of the number "0" specified in the above step S42.
- step S47 the CPU 2 determines whether or not there is a macroblock adjacent to the right side of the macroblock at the number specified in step S46 described above or step S54 described later. I do. If the CPU 2 determines that there is no macro block adjacent to the right side of the macro block at the specified number, the process proceeds to step S48, and determines that there is a macro block adjacent to the right side of the macro block at the specified number. When it is determined, the process proceeds to step S49.
- step S48 the CPU 2 proceeds to step S47 described above.
- the predetermined search area is set in step S43 described above, and block matching is performed in the search area.
- a process for detecting a motion vector is performed, and the process proceeds to step S54.
- step S49 the CPU 2
- the absolute value of the ⁇ minute of the above-mentioned vector ⁇ V is small when the working vectors of the adjacent macroblocks on both sides of the macroblock point in substantially the same direction. The value becomes larger as the direction in which the motion vector of the macroblock adjacent to both sides of is different.
- the CPU 2 determines whether or not the absolute value ⁇ V of the difference calculated in the above step S49 is sufficiently larger than the search range r.
- “r” is ffi of ignorance
- the search range r is a rectangular area having a point (1r, 1r) and a point (+ r, + r) at 1 ⁇ point.
- the rectangular area defined by the search range r occupies a smaller area than the rectangular area defined by the search range R in step S43 described above, and is, for example, a rectangular area composed of 6 ⁇ 6 pixels.
- CPU 2 is determined when the absolute value of the difference ⁇ is sufficiently larger than the search range r, that is, when the directions of the motion vectors of adjacent macroblocks are different.
- step S51 the CPU 2 compares each motion vector of the macroblock adjacent to both sides in the horizontal direction of the macroprogram specified in step S46 described above or step S54 described later in FIG.
- the search area A and B defined by the search range r are set at the upper left coordinate position of the specified macro block as shown in the figure, and the point indicated is the center. Then, the CPU 2 detects a motion vector by performing block matching in the ft search areas A and B, and proceeds to step S54.
- step S52 the CPU 2 determines that each step vector of the macroblock adjacent to both sides in the direction of the water and the direction of the macroblock pointed out in step S54 by the step S46. ffl and perform the average motion vector AveV (h, v) as shown in Figure 18.
- step S53 the CPU 2 sets a point (-r, -r) and a point (-r, -r) around the coordinate position (h, V) indicated by the tip of the f-equivalent motion vector Av eV (h, v).
- a rectangular search area C with (+ r, + r) as the diagonal point is settled.
- CPU 2 detects a motion vector for the macroblock specified in step S46 or step S54 by performing block matching in the set search area C.
- the CPU 2 performs a process of moving forward two numbers from the macroblock in which the motion vector is detected in the above step S53 toward the right side in the horizontal direction.
- step S55 the CPU 2 determines whether or not the macroblock with the number specified in the above step S54 is located at the right end of the line.
- the CPU 2 determines that the designated macro block is located at the right end of the line.
- the CPU 2 proceeds to step S Proceeding to 56, when it is determined that the specified macroblock is not located at the right end of the line, the flow returns to step S47. That is, the CPU 2 detects the motion vector for all the macroblocks constituting the line on which the above-described processing is being performed by repeating the above-described processing from step S42 to step S55.
- step S56 the CPU 2 performs a process of designating a new line by moving two lines from the line on which the processes from step S43 to step S55 are performed toward the bottom.
- step S57 the CPU 2 determines whether or not the number ⁇ of the line specified in the step S56 described above is the bottom.
- the CPU 2 proceeds to step S58 shown in FIG. 16, and when it determines that the specified line is not at the bottom, returns to step S42 to specify the specified line.
- the processing shown in steps S42 to S55 is performed on the line thus obtained. In other words, the CPU 2 performs the processing from step S41 to step S57, thereby performing the above-described steps for every two numbers from the line “0” of the frame image toward the bottom line.
- the processing shown in S42 to step S55 is performed.
- the CPU 2 performs a process of specifying a line number in which a plurality of macro blocks are vertically arranged as shown in FIG.
- CPU 2 designates the number of the line “1” which is one number below and adjacent to the macroblock in the horizontal direction and is adjacent to the macroblock by one number.
- step S59 the CPU 2 detects a motion vector from the line “1” specified in the above step S58. W 0
- step S60 CPU 2 determines whether or not a macroblock exists below the macroblock specified in step S59 described above. If the CPU 2 determines that no macroblock exists below the specified macroblock, the process proceeds to step S61, and if the CPU 2 determines that a macroblock exists below the specified macroblock, the process proceeds to step S6. Proceed to 2.
- step S61 the CPU 2 determines the search range R in step S43 described above for the macroblock determined to have no lower adjacent macroblock in step S60.
- a search area is set, a process of detecting a motion vector is performed by performing block matching in the search area, and the process proceeds to step S67.
- step S62 the CPU 2 performs the difference between the motion vectors of the adjacent macro blocks in the vertical direction of the mac mouth block specified in step S59 described above or step S67 described later. Then, the absolute value ⁇ V of the corresponding component is calculated.
- step S63 CPU 2 determines whether or not the absolute value ⁇ V of the difference calculated in step S62 is greater than search range r. Then, the CPU 2 proceeds to step S65 when the absolute value ⁇ of the difference is smaller than the search range r, and proceeds to step S64 when the absolute value ⁇ of the difference is not smaller than the search range r.
- step S64 the CPU 2 sets the vertical position of the mouthpiece block designated in step S59 described above or step S67 described later.
- the motion vector of the adjacent macroblock is the coordinate position of the upper left corner of the designated macroblock, and the search area defined by the search range r with the point indicated as the center. Set D and E respectively. Then, the CPU 2 detects a motion vector by performing block matching in each of the search areas D and E.
- step S65 the CPU 2 samples each motion vector of the macroblock adjacent in the vertical direction of the mac mouth block specified in step S59 or step S67, and Perform a uniform motion vector AveV (h, v).
- step S66 CPU2 is average!
- A) The vector is pointed by the tip of Av eV (h, v) .Position; centered on S (h, V), point (-r, -r) and point (+ r, + r) are diagonal.
- CPU 2 detects a motion vector for the macroblock specified in step S59 or step S67 by performing block matching in the set search area.
- step S67 the CPU 2 performs a process of advancing one number from the macroblock in which the j vector is detected in the above-described step S66 toward the right side in the horizontal direction.
- step S68 the CPU 2 determines whether or not the macroblock of the number specified in step S67 is located at the right end of the line.
- the process proceeds to step S69, and when it determines that the specified macro block is not located at the right end of the line, the process returns to step S60. That is, the CPU 2 repeats the processing from step S60 to step S68 described above. By returning, motion vectors are detected for all the macroblocks constituting the line performing the above processing.
- step S69 the CPU 2 performs a process of designating a new line by proceeding toward the lower end by two numbers from the line on which the processes from step S59 to step S68 described above are performed.
- step S70 CPU 2 determines whether or not the line number designated in step S69 is the bottom. And it, CPU 2 is punished when the specified line is determined to be bottom: Quit, above the line that ⁇ connection specified Step S 5 9 when the specified line is determined not to be the bottom.
- steps S42 to S68 The processing shown in steps S42 to S68 is performed. In other words, the CPU 2 performs the processing from step S58 to step S70, so that in the vertical direction of the frame image, two numbers from the line “0” toward the bottom line
- the processing shown in steps S59 to S68 is performed every time.
- the learning vector detection device ifi1 is a horizontal line among the lines specified by executing the processing shown in steps S41 to S57.
- the motion vectors are detected for all the macroblocks arranged in the direction, and the processing shown in Steps S58 to S70 is executed to execute the processing in Steps S41 to S57.
- the motion vectors are detected for all the macroblocks constituting the frame image by specifying the non-target line and detecting the motion vectors using the vertically adjacent macroblocks.
- the motion vector detecting device 1 has According to this, by performing the processing shown in step S43, processing for detecting a motion vector by performing block matching in a search area of a predetermined pixel size for a part of the mac mouth programs constituting the frame image For other macroblocks, reference is made to the motion vectors of adjacent macroblocks to perform block matching within the search area having a pixel size smaller than the predetermined pixel size. Therefore, the search area is compared with the case where a motion vector is detected by performing block matching in a search area of a predetermined pixel size that is set in advance for all the macroblocks constituting the frame image. Therefore, the number of times of performing block matching can be reduced.
- the process P ! time fii] required to detect the motion vector can be significantly reduced.
- the motion vector detecting device according to the third embodiment; 1 is that the search range R in the above step S 43 is 32 ⁇ 32 pixels, and that the reference range r when referring to the vector of adjacent macroblocks is 6 ⁇ 6 pixels. Then, the processing time for detecting a motion vector for all the macroblocks constituting the frame image can be reduced to about 1/1000.
- the processing shown in step S49 and step S50 is performed so as to be adjacent to the mac mouth block for detecting the motion vector. Judgment is made on the direction indicated by the motion vector of the macro mouth vector, and the search range set according to the direction indicated by each motion vector is changed. High-precision movement even when pointing Vector can be detected.
- the motion vector detection device according to the above-described first to third embodiments may perform only the processing described in the above-described first to third embodiments.
- the motion vector may be detected by setting a search area by performing the above processing.
- the motion vector detection device can detect a motion vector with a further reduced amount of calculation.
- the target vector detection method and apparatus is based on the target field for the third field image.
- a motion vector detection method and apparatus Determines the first search area around the point indicating the motion vector of the reference block included in the reference frame temporally or spatially confined to the reference frame, and determines the motion vector of the reference block.
- a second search area centered on a point where the vector is extended according to the frame distance is determined, and a reference block is set in the motion vector search area including the first search area and the second search area. Since the motion vector of the reference block is detected, the motion vector can be detected by transforming the motion vector search area according to the motion vector of the reference block. Therefore, according to the motion vector detection method and apparatus, the motion vector search area can be reduced as compared with the case where the area for searching the motion vector is fixed. In addition, the number of block matching performed to detect a motion vector can be reduced, and the number of operations can be reduced.
- the motion vector detecting method and device [S] include: the second search area when detecting the motion vector of the second vector; And the motion vector for the first block adjacent on both sides in the horizontal or vertical direction, and the motion vector for the second block is detected by performing block matching in the second search area. Therefore, block matching is performed in the second search area having a different pixel size from the search area when the motion vector for the first block is detected, and the motion vector for the second block is detected. Can be detected. Therefore, according to the motion vector detection method and apparatus, the second search area is compared with the first search area according to the motion vector of the first block adjacent to the second block. Small pixel size reduces the number of times block matching is performed when detecting motion vectors As a result, it is possible to reduce the amount of calculation when detecting a motion vector and shorten the processing time.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
- Television Systems (AREA)
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99947946A EP1051040A1 (en) | 1998-10-22 | 1999-10-18 | Motion vector detecting method and device |
AU61242/99A AU751909B2 (en) | 1998-10-22 | 1999-10-18 | Motion vector detecting method and device |
CA002314976A CA2314976C (en) | 1998-10-22 | 1999-10-18 | Motion vector detecting method and device |
KR1020007006895A KR100659627B1 (ko) | 1998-10-22 | 1999-10-18 | 이동 벡터 검출 방법 및 장치 |
US09/582,156 US6594314B1 (en) | 1998-10-22 | 1999-10-18 | Motion vector detection method and apparatus |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30147998A JP4078733B2 (ja) | 1998-10-22 | 1998-10-22 | 動きベクトル検出方法及び装置 |
JP30147898A JP4035903B2 (ja) | 1998-10-22 | 1998-10-22 | 動きベクトル検出方法及び装置 |
JP10/301478 | 1998-10-22 | ||
JP10/301479 | 1998-10-22 | ||
JP30147798A JP4196447B2 (ja) | 1998-10-22 | 1998-10-22 | 動きベクトル検出方法及び装置 |
JP10/301477 | 1998-10-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2000024202A1 true WO2000024202A1 (en) | 2000-04-27 |
Family
ID=27338461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP1999/005735 WO2000024202A1 (en) | 1998-10-22 | 1999-10-18 | Motion vector detecting method and device |
Country Status (9)
Country | Link |
---|---|
US (1) | US6594314B1 (ja) |
EP (1) | EP1051040A1 (ja) |
KR (1) | KR100659627B1 (ja) |
CN (3) | CN1222174C (ja) |
AU (1) | AU751909B2 (ja) |
CA (1) | CA2314976C (ja) |
MY (1) | MY125635A (ja) |
TW (1) | TW444507B (ja) |
WO (1) | WO2000024202A1 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW444507B (en) * | 1998-10-22 | 2001-07-01 | Sony Corp | Detecting method and device for motion vector |
US20030081685A1 (en) * | 2001-10-31 | 2003-05-01 | Montgomery Dennis L. | Method and apparatus for determining patterns within adjacent blocks of data |
JP4610195B2 (ja) | 2001-12-17 | 2011-01-12 | マイクロソフト コーポレーション | スキップマクロブロックコード化 |
US7817717B2 (en) * | 2002-06-18 | 2010-10-19 | Qualcomm Incorporated | Motion estimation techniques for video encoding |
JP4179548B2 (ja) * | 2003-09-24 | 2008-11-12 | Kddi株式会社 | 動きベクトル検出装置 |
US7894526B2 (en) * | 2004-02-27 | 2011-02-22 | Panasonic Corporation | Motion estimation method and moving picture coding method |
CN100373952C (zh) * | 2004-06-15 | 2008-03-05 | 中兴通讯股份有限公司 | 一种基于mpeg-4的视频对象快速运动估值方法 |
CN100433835C (zh) * | 2005-03-01 | 2008-11-12 | 凌阳科技股份有限公司 | 动态调整运动估计的方法及系统 |
JP4304528B2 (ja) * | 2005-12-01 | 2009-07-29 | ソニー株式会社 | 画像処理装置および画像処理方法 |
JP4389866B2 (ja) * | 2005-12-12 | 2009-12-24 | セイコーエプソン株式会社 | 画像処理方法、画像処理装置、表示装置およびプログラム |
US8416851B2 (en) * | 2006-12-20 | 2013-04-09 | Intel Corporation | Motion detection for video processing |
JP4985201B2 (ja) * | 2007-08-07 | 2012-07-25 | ソニー株式会社 | 電子機器、動きベクトル検出方法及びプログラム |
KR101446773B1 (ko) * | 2008-02-20 | 2014-10-02 | 삼성전자주식회사 | 영상 복구를 이용한 인터 예측 부호화, 복호화 방법 및장치 |
JP5268433B2 (ja) * | 2008-06-02 | 2013-08-21 | キヤノン株式会社 | 撮像装置、及び撮像装置の制御方法 |
US20100103323A1 (en) * | 2008-10-24 | 2010-04-29 | Ati Technologies Ulc | Method, apparatus and software for determining motion vectors |
JP5338684B2 (ja) * | 2010-01-08 | 2013-11-13 | ソニー株式会社 | 画像処理装置、画像処理方法、およびプログラム |
KR20120072205A (ko) * | 2010-12-23 | 2012-07-03 | 한국전자통신연구원 | 매크로블록 간의 예측 기법을 이용한 움직임 추정 장치 및 방법 |
US20140254678A1 (en) * | 2013-03-11 | 2014-09-11 | Aleksandar Beric | Motion estimation using hierarchical phase plane correlation and block matching |
TWI782974B (zh) | 2017-04-13 | 2022-11-11 | 美商松下電器(美國)知識產權公司 | 解碼裝置、解碼方法及非暫時性電腦可讀取媒體 |
JP6946419B2 (ja) | 2017-04-13 | 2021-10-06 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 復号装置、復号方法及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08223577A (ja) * | 1994-12-12 | 1996-08-30 | Sony Corp | 動画像符号化方法及び装置、並びに動画像復号方法及び装置 |
EP0804034A2 (en) * | 1996-04-26 | 1997-10-29 | Fujitsu Limited | Method and device for detecting motion vectors |
JPH09284777A (ja) * | 1996-04-15 | 1997-10-31 | Sony Corp | 動きベクトルなしで動き補償を用いるビデオ符号化方法とその装置 |
JPH1051792A (ja) * | 1996-07-31 | 1998-02-20 | Matsushita Electric Ind Co Ltd | 動画像符号化装置及び符号化方法 |
JPH10126787A (ja) * | 1996-10-14 | 1998-05-15 | Nec Eng Ltd | Pピクチャの予測ベクトルをオフセットベクトルとした双方向予測ベクトル検出回路 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108039A (en) * | 1996-05-23 | 2000-08-22 | C-Cube Microsystems, Inc. | Low bandwidth, two-candidate motion estimation for interlaced video |
TW444507B (en) * | 1998-10-22 | 2001-07-01 | Sony Corp | Detecting method and device for motion vector |
-
1999
- 1999-10-12 TW TW088117602A patent/TW444507B/zh not_active IP Right Cessation
- 1999-10-18 EP EP99947946A patent/EP1051040A1/en not_active Withdrawn
- 1999-10-18 CN CNB031530427A patent/CN1222174C/zh not_active Expired - Fee Related
- 1999-10-18 CA CA002314976A patent/CA2314976C/en not_active Expired - Fee Related
- 1999-10-18 WO PCT/JP1999/005735 patent/WO2000024202A1/ja active IP Right Grant
- 1999-10-18 AU AU61242/99A patent/AU751909B2/en not_active Ceased
- 1999-10-18 US US09/582,156 patent/US6594314B1/en not_active Expired - Fee Related
- 1999-10-18 KR KR1020007006895A patent/KR100659627B1/ko not_active IP Right Cessation
- 1999-10-18 CN CNB031530419A patent/CN1222173C/zh not_active Expired - Fee Related
- 1999-10-18 CN CNB998031798A patent/CN1148069C/zh not_active Expired - Fee Related
- 1999-10-20 MY MYPI99004526A patent/MY125635A/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08223577A (ja) * | 1994-12-12 | 1996-08-30 | Sony Corp | 動画像符号化方法及び装置、並びに動画像復号方法及び装置 |
JPH09284777A (ja) * | 1996-04-15 | 1997-10-31 | Sony Corp | 動きベクトルなしで動き補償を用いるビデオ符号化方法とその装置 |
EP0804034A2 (en) * | 1996-04-26 | 1997-10-29 | Fujitsu Limited | Method and device for detecting motion vectors |
JPH1051792A (ja) * | 1996-07-31 | 1998-02-20 | Matsushita Electric Ind Co Ltd | 動画像符号化装置及び符号化方法 |
JPH10126787A (ja) * | 1996-10-14 | 1998-05-15 | Nec Eng Ltd | Pピクチャの予測ベクトルをオフセットベクトルとした双方向予測ベクトル検出回路 |
Also Published As
Publication number | Publication date |
---|---|
EP1051040A1 (en) | 2000-11-08 |
KR100659627B1 (ko) | 2006-12-20 |
CA2314976A1 (en) | 2000-04-27 |
AU751909B2 (en) | 2002-08-29 |
CN1148069C (zh) | 2004-04-28 |
CN1222174C (zh) | 2005-10-05 |
US6594314B1 (en) | 2003-07-15 |
KR20010033415A (ko) | 2001-04-25 |
CN1496128A (zh) | 2004-05-12 |
MY125635A (en) | 2006-08-30 |
CN1222173C (zh) | 2005-10-05 |
CN1291409A (zh) | 2001-04-11 |
TW444507B (en) | 2001-07-01 |
CA2314976C (en) | 2008-04-08 |
CN1496129A (zh) | 2004-05-12 |
AU6124299A (en) | 2000-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2000024202A1 (en) | Motion vector detecting method and device | |
US8130835B2 (en) | Method and apparatus for generating motion vector in hierarchical motion estimation | |
US8019168B2 (en) | Motion detecting device and search region variable-shaped motion detector | |
US6418168B1 (en) | Motion vector detection apparatus, method of the same, and image processing apparatus | |
US20060098886A1 (en) | Efficient predictive image parameter estimation | |
JP2006020095A (ja) | 動きベクトル検出回路、画像符号化回路、動きベクトル検出方法および画像符号化方法 | |
JP2005072726A (ja) | 動きベクトル検出装置及び動きベクトル検出方法 | |
US5739872A (en) | High-speed motion estimating apparatus for high-definition television and method therefor | |
US7852939B2 (en) | Motion vector detection method and device of the same | |
JP2004356747A (ja) | 画像のマッチング方法および装置 | |
KR100994771B1 (ko) | 블록정합에 의한 움직임 벡터 탐색방법 및 탐색장치 | |
JP2950633B2 (ja) | 動きベクトル検出装置 | |
JPH07154801A (ja) | 階層型動きベクトル検出方法 | |
JP4035903B2 (ja) | 動きベクトル検出方法及び装置 | |
JP4196447B2 (ja) | 動きベクトル検出方法及び装置 | |
JPH10327401A (ja) | 動きベクトル検出方法及びそれを用いた画像信号の符号化方法及び装置 | |
JP4053925B2 (ja) | 映像符号化方法,映像符号化装置,映像符号化プログラムおよび映像符号化プログラムの記録媒体 | |
JP4241021B2 (ja) | 動きベクトル検出方法、動きベクトル検出装置、画像符号化装置 | |
JPH11243546A (ja) | 画像符号化装置及び方法 | |
JPH09238346A (ja) | 動きベクトル探索方法および装置 | |
JPH11205816A (ja) | 動きベクトル検出装置 | |
JPH09182078A (ja) | 動きベクトル検出装置及び動きベクトル検出方法 | |
JP2006262198A (ja) | 動画圧縮符号化装置 | |
JP2000134629A (ja) | 動きベクトル検出方法及び装置 | |
US20150365681A1 (en) | Method of encoding and decoding video stream for image compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 99803179.8 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AU CA CN KR US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 61242/99 Country of ref document: AU |
|
ENP | Entry into the national phase |
Ref document number: 2314976 Country of ref document: CA Ref document number: 2314976 Country of ref document: CA Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1999947946 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 1020007006895 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 09582156 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 1999947946 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020007006895 Country of ref document: KR |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1999947946 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 61242/99 Country of ref document: AU |
|
WWG | Wipo information: grant in national office |
Ref document number: 1020007006895 Country of ref document: KR |