Motion vector detecting method, record medium on which motion vector calculating program has been recorded, motion detecting apparatus, motion detecting method, picture encoding apparatus, picture encoding method, motion vector calculating method, record medium on which motion vector calculating program has been recorded
First Claim
1. A motion vector calculating method, comprising the steps of:
- (a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a motion vector;
(d) orthogonally transforming pixel data of a block of the reference picture and pixel data of a block of the current picture; and
(e) obtaining a residual between orthogonally transformed data of the block of the reference picture and orthogonally transformed data of each block of the current picture.
1 Assignment
0 Petitions
Accused Products
Abstract
A motion vector calculating method is disclosed which includes the steps of: (a) extracting a reference block from a reference picture corresponding to a current block of a current picture to be processed, the size and origin of the reference block matching those of the current block; (b) while moving the reference block in a predetermined search area, obtaining a residual between the current block; (c) detecting a block with the minimum residual from the reference picture so as to calculate a motion vector; (d) orthogonally transforming pixel data of a reference block and pixel data of a current block of the current picture and (e) obtaining a residual between orthogonally transformed data of the reference block and orthogonally transformed data of each block of the current picture. In some embodiments, the motion vector calculation stops when a residual is larger than a predetermined value, which may be based on a characteristic of a picture. A motion vector for an entire picture may be calculated based on a motion vector detected in a plurality of macro blocks, or vice versa. The orthogonal transformation may be skipped if the residual is smaller than a predetermined value. Various methods of increasing the speed of calculation by using fewer than all pixels in a macro block are provided, such as using only those pixels on the circumference of a macro block. Media with computer programs according to the foregoing methods and apparatuses for performing the foregoing methods are provided.
-
Citations
44 Claims
-
1. A motion vector calculating method, comprising the steps of:
-
(a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a motion vector;
(d) orthogonally transforming pixel data of a block of the reference picture and pixel data of a block of the current picture; and
(e) obtaining a residual between orthogonally transformed data of the block of the reference picture and orthogonally transformed data of each block of the current picture. - View Dependent Claims (2, 3)
-
-
4. A record medium on which a motion vector calculating program has been recorded, the motion vector calculating program causing a system that has the record medium to perform the steps of:
-
(a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a motion vector;
(d) orthogonally transforming pixel data of a block of the reference picture and pixel data of a block of the current picture; and
(e) obtaining a residual between orthogonally transformed data of the block of the reference picture and orthogonally transformed data of each block of the current picture. - View Dependent Claims (5, 6)
-
-
7. A motion vector calculating method, comprising the steps of:
-
(a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a motion vector;
(d) while calculating a residual between pixels of a block of the reference picture and pixels of a block of the current picture, comparing the obtained residual with a predetermined threshold value; and
(e) when the residual is larger than the predetermined threshold value, stopping the calculation of the motion vector; and
(f) setting the initial value of the predetermined threshold value corresponding to a characteristic of a picture. - View Dependent Claims (8, 9, 10, 11, 13, 14, 15, 16, 18, 19)
-
-
12. A record medium on which a motion vector calculating program has been recorded, the motion vector calculating program causing a system that has the record medium to perform the steps of:
-
(a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a motion vector;
(d) while calculating a residual between pixels of a block of the reference picture and pixels of a block of the current picture, comparing the obtained residual with a predetermined threshold value; and
(e) when the residual is larger than the predetermined threshold value, stopping the calculation of the motion vector; and
(f) setting the initial value of the predetermined threshold value corresponding to a characteristic of a picture.
-
-
17. A motion detecting apparatus, comprising:
-
extracting means for extracting a plurality of macro blocks from a picture;
first motion detecting means for detecting a motion vector of each of the plurality of macro blocks extracted by said extracting means;
motion calculating means for calculating a motion vector of the entire picture with motion vectors of individual macro blocks detected by said first motion detecting means; and
second motion detecting means for calculating a motion vector of each macro block with the motion vector calculated by said motion calculating means.
-
-
20. A motion detecting method, comprising the steps of:
-
(a) extracting a plurality of macro blocks from a picture;
(b) detecting a motion vector of each of the plurality of macro blocks that have been extracted;
(c) calculating a motion vector of the entire picture with motion vectors of individual macro blocks that have been detected; and
(d) calculating a motion vector of each macro block with the motion vector that have been calculated. - View Dependent Claims (21, 22, 24, 25, 27, 28, 30, 31)
-
-
23. A picture encoding apparatus, comprising:
-
motion detecting means for detecting a motion vector of a predetermined pixel block of input picture data and generating motion residual information;
determining means for comparing the motion residual information received from said motion detecting means with a predetermined value and generating a determined result;
picture data process means for performing a predetermined process for picture data, the predetermined process being required for an encoding process;
encoding means for performing the encoding process for picture data; and
controlling means for skipping the predetermined process performed by said picture data process means corresponding to the determined result of said determining means and causing said encoding means to perform the encoding process.
-
-
26. A picture encoding method, comprising the steps of:
-
(a) detecting a motion vector of a predetermined pixel block of input picture data and generating motion residual information;
(b) comparing the motion residual information with a predetermined value and generating a determined result;
(c) performing a predetermined process for picture data, the predetermined process being required for an encoding process; and
(d) skipping the predetermined process corresponding to the determined result and performing the encoding process for the picture data.
-
-
29. A motion vector calculating method, comprising the steps of:
-
(a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a motion vector;
(d) extracting N pixels of the current picture and N pixels of the reference picture at a time (where N is an integer);
(e) storing the N pixels of the current picture and the N pixels of the reference picture as successive data to a memory; and
(f) reading pixels of the block of the current picture and pixels of the block of the reference picture as successive data from the memory so as to obtain a residual.
-
-
32. A record medium on which a motion vector calculating program has been recorded, the motion vector calculating program causing a system that has the record medium to perform the steps of:
-
(a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a motion vector;
(d) extracting N pixels of the current picture and N pixels of the reference picture at a time (where N is an integer);
(e) storing the N pixels of the current picture and the N pixels of the reference picture as successive data to a memory; and
(f) reading pixels of the block of the current picture and pixels of the block of the reference picture as successive data from the memory so as to obtain a residual. - View Dependent Claims (33, 34, 36, 37, 39, 40)
-
-
35. A motion vector calculating method, comprising the steps of:
-
(a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a coarse motion vector;
(d) while moving the block of the reference picture in the vicinity of the coarse motion vector obtained at step (c), obtaining a residual between the block of the current picture and the block of the reference picture;
(e) detecting a block with the minimum residual from the reference picture so as to detect a fine motion vector;
(f) storing pixels of the current picture and pixels of the reference picture to a first memory;
(g) extracting N pixels of the current picture and N pixels of the reference picture at a time (where N is an integer); and
(h) storing the N pixels of the current picture and the N pixels of the reference picture as successive data to a second memory, wherein step (c) is performed with the N pixels of the current picture and the N pixels of the reference picture stored as successive data in the second memory, and wherein step (e) is performed with the pixels of the current picture and the pixels of the reference picture stored in the first memory.
-
-
38. A record medium on which a motion vector calculating program has been recorded, the motion vector calculating program causing a system that has the record medium to perform the steps of:
-
(a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a coarse motion vector;
(d) while moving the block of the reference picture in the vicinity of the coarse motion vector obtained at step (c), obtaining a residual between the block of the current picture and the block of the reference picture;
(e) detecting a block with the minimum residual from the reference picture so as to detect a fine motion vector;
(f) storing pixels of the current picture and pixels of the reference picture to a first memory;
(g) extracting N pixels of the current picture and N pixels of the reference picture at a time (where N is an integer); and
(h) storing the N pixels of the current picture and the N pixels of the reference picture as successive data to a second memory, wherein step (c) is performed with the N pixels of the current picture and the N pixels of the reference picture stored as successive data in the second memory, and wherein step (e) is performed with the pixels of the current picture and the pixels of the reference picture stored in the first memory.
-
-
41. A motion vector calculating method, comprising the steps of:
-
(a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a motion vector; and
(d) comparing contour pixels of the block of the reference picture with contour pixels of the block of the current picture so as to obtain a residual therebetween. - View Dependent Claims (42)
-
-
43. A record medium on which a motion vector calculating program has been recorded, the motion vector calculating program causing a system that has the record medium to perform the steps of:
-
(a) extracting a block from a reference picture corresponding to a block of a current picture to be processed, the size of the block of the reference picture being the same as the size of the block of the current picture, the origin of the block of the reference picture matching the origin of the block of the current picture;
(b) while moving the block of the reference picture in a predetermined search area, obtaining a residual between the block of the current picture and the block of the reference picture;
(c) detecting a block with the minimum residual from the reference picture so as to calculate a motion vector; and
(d) comparing contour pixels of the block of the reference picture with contour pixels of the block of the current picture so as to obtain a residual therebetween. - View Dependent Claims (44)
-
Specification