US20010004385A1 - Motion vector detection system - Google Patents

Motion vector detection system Download PDF

Info

Publication number
US20010004385A1
US20010004385A1 US09/771,550 US77155001A US2001004385A1 US 20010004385 A1 US20010004385 A1 US 20010004385A1 US 77155001 A US77155001 A US 77155001A US 2001004385 A1 US2001004385 A1 US 2001004385A1
Authority
US
United States
Prior art keywords
motion vector
block
predicted
search range
detection system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/771,550
Other versions
US6414995B2 (en
Inventor
Seiji Okumura
Yoshiko Hatano
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Assigned to MITSUBISHI DENKI KABUSHIKI KAISHA reassignment MITSUBISHI DENKI KABUSHIKI KAISHA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HATANO, YOSHIKO, OKUMURA, SEIJI
Publication of US20010004385A1 publication Critical patent/US20010004385A1/en
Application granted granted Critical
Publication of US6414995B2 publication Critical patent/US6414995B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Definitions

  • This system relates to a motion vector detection system which reduces the amount of operations for detecting a motion vector for motion compensation in moving picture compression with the quality of an image being maintained.
  • a picture frame is divided into mesh-type blocks to be subjected to a block based motion compensation, orthogonal transform such as Discrete Cosine Transform (hereinafter referred to as DCT), quantization and variable-length encodation.
  • DCT Discrete Cosine Transform
  • the above mentioned method is employed in such international standards as H.261 dealing with a camera-input signal of an existing television, MPEG- 1 (Motion Picture Image Coding Experts Group) as an improvement of H.261 designed for dealing with storage media such as CD-ROM, MPEG- 2 designed for dealing with communication/broadcasting media, and MPEG- 4 designed for dealing with low bit rate data and multi-media data.
  • Motion compensation employed in this method is designed for high image quality compression and encodation, so that motion vector detection is needed to be involved. A typical motion vector detection method is now discussed.
  • FIG. 6 shows a full-matching method for detecting a motion vector 607 of a block 605 to be predicted in a current frame 601 through block matching based upon the information of a previous frame 602 having been encoded.
  • the motion vector of the block 605 to be predicted is detected through matching of the block 605 to be predicted and individual blocks within a search range 603 fixed surrounding a block 608 in the previous frame 602 located at an equivalent position to that of the block 605 to be predicted.
  • the motion vector 606 is only allowed to express itself within a range of ⁇ 15 pixels, which provides, in a general sense, a range of 30+M pixels vertically (in length) and 30+N pixels horizontally (in breadth) with the block to be predicted at the center for searching the block, where M designates the vertical pixel size of the block and N designates the horizontal pixel size of the block.
  • M designates the vertical pixel size of the block
  • N designates the horizontal pixel size of the block.
  • Each pixel based error of all or some of blocks within the search range for the block to be predicted from the block to be predicted is calculated sequentially to detect a block having a minimal error within the search range as a reference block 604 of the block to be predicted. Based upon the positions of the reference block 604 and the block to be predicted, the motion vector 607 of the block to be predicted is obtained.
  • the aforementioned method having all the blocks within the search range subjected to pixel based error calculation to determine the reference block is called the full-matching method, which is the most efficient approach of detecting a precise reference block.
  • a pixel based error between the block to be predicted and the reference block is minimized, which contributes to the prediction of the block to be predicted with a small amount of information.
  • the full-matching method involving a large amount of operations for detecting a motion vector, requires a large amount of processing time for motion compensation.
  • the full-matching method with the search range being fixed, performs an inefficient searching in an unnecessarily large area for a block to be predicted whose motion is static. This may result in a failure in detecting an appropriate motion vector, which may degrade the quality of the image or increase in the amount of bits for encoding.
  • the vertical and horizontal sides of an initially set area of the search range is extended by the average of the absolute values of the motion vectors of blocks adjacent to the block to be predicted.
  • This system as the search range is allowed to be set in accordance with the magnitude of the motion of a block, the search range is extended by the same distance from the block to be predicted on all sides vertically and horizontally, so that the directional property of the motion is neglected. Consequently, in the case of the average of the absolute values of motion vectors being large, the amount of operations for detecting a motion vector becomes no less than that of the full-matching method, which makes the detection of an appropriate motion vector difficult.
  • the search range is set to a fixed large area, then the amount of operations for detection becomes large. In particular, with a static moving picture, this is rather a waste of searching, and may result even, on the contrary, in a failure to detect an appropriate motion vector.
  • the search range is extended by the same distance on all sides vertically and horizontally based upon the average, maximum value or the like of the absolute values of adjacent motion vectors. Consequently, if the average or maximum value is large, then the extension margin becomes large, thereby posing the same problem as that of the full-matching method.
  • a motion vector detection system of this invention may be characterized with, a predicted motion vector calculator for retrieving the individual motion vectors of a plurality of reference blocks adjacent to the position of the block to be predicted from the motion vector memory and calculating a predicted motion vector predicting the motion vector of the block to be predicted based upon the individual motion vectors of the plurality of reference blocks retrieved, and a search range determiner for determining the search range in the reference frame based upon the predicted motion vector.
  • the predicted motion vector calculator may be characterized with calculating an averaged vector of the individual motion vectors of the plurality of reference blocks as the predicted motion vector.
  • the search range determiner may be characterized with determining the search range to be an area including a source block whose position in the reference frame is equal to the position of the block to be predicted and a destination block whose position in the reference frame is obtained by shifting the position of the source block based upon the predicted motion vector.
  • the search range determiner may be characterized with determining the search range to be an area obtained by adding a predetermined margin to a minimal rectangul including the source block and the destination block.
  • the predicted motion vector calculator may be characterized with calculating a motion vector error representing a prediction error of the predicted motion vector based upon the individual motion vectors of the plurality of reference blocks, and the motion vector detection system may be characterized further with a search range extension unit for extending the search range based upon the motion vector error.
  • the predicted motion vector calculator may be characterized with calculating the motion vector error being composed of an X-element error representing the absolute value of a maximum difference between individual X elements and a Y-element error representing the absolute value of a maximum difference between individual Y elements when the individual motion vectors of the plurality of reference blocks are represented each by two orthogonal elements of the X element and the Y element.
  • the search range extension unit may be characterized with extending the search range by an X-axis extension margin obtained by multiplying the X-element error by a predetermined value in an X-axis positive direction and an X-axis negative direction and extending the search range also by a Y-axis extension margin obtained by multiplying the Y-element error by the predetermined value in a Y-axis positive direction and a Y-axis negative direction.
  • FIG. 1 shows a block diagram of a motion vector detection system.
  • FIG. 2 shows a flow chart of the motion vector detection system.
  • FIG. 3 shows a diagram exemplifying predicted motion vectors calculated by a predicted motion vector calculator.
  • FIG. 4 shows a diagram exemplifying a search range determined by a search range determiner.
  • FIG. 5 shows a diagram exemplifying a search range extended by a search range extension unit.
  • FIG. 6 shows a diagram exemplifying a search range according to a conventional full-matching method.
  • FIG. 1 shows a block diagram of a motion vector detection system of the present invention.
  • a method for detecting the motion vector of a block to be predicted is now discussed.
  • a predicted motion vector detector 102 receives the motion vectors of blocks adjacent to the block to be predicted from a motion vector memory 101 and outputs the errors of the motion vectors and the predicted motion vector of the block to be predicted.
  • the predicted motion vector predicts the motion vector of the block to be predicted.
  • a search range determiner 103 receiving the predicted motion vector determines and outputs a search range for the motion vector of the block to be predicted.
  • a search range extension unit 104 receiving the search range and the errors of the motion vectors extends the search range inputted and outputs an extended search range.
  • a motion vector detector 105 receiving the expanded search range obtains a motion vector through block matching based upon the pixel data of the block to be predicted and the pixel data of a reference frame and outputs an obtained motion vector.
  • a block matching range in the reference frame is the search range inputted.
  • a motion vector storage unit 106 stores the motion vector in an appropriate memory map. Individual blocks to be predicted are subject to the foregoing operating flow.
  • FIG. 2 shows a flow chart illustrating a whole course of operation for detecting the motion vector of the block to be predicted.
  • FIG. 3 shows a frame exemplifying a predicted motion vector 319 and a motion vector error calculated by the predicted motion vector calculator.
  • already detected motion vectors 317 and 318 , respectively, of blocks 320 and 321 adjacent to a block 316 to be predicted are obtained from the motion vector memory.
  • blocks are selected sequentially to be predicted each from the top left of the frame to the right.
  • a block whose motion vector has been obtained is allowed to be used as a reference block.
  • blocks at the left side and at the upper side of the block to be predicted are used as the reference blocks.
  • blocks at the upper left and the upper right may also be used as the reference blocks.
  • FIG. 1 shows a frame exemplifying a predicted motion vector 319 and a motion vector error calculated by the predicted motion vector calculator.
  • a predicted motion vector PMV of the block to be predicted is the average of MV 1 and MV 2 .
  • the search range determiner utilizes the full-matching method.
  • blocks 302 through 308 in the first row of the frame of FIG. 3 are to be predicted, the respective blocks have their single adjacent blocks whose motion vectors have been detected only at the left side.
  • blocks 309 through 313 in the first column are to be predicted, the respective blocks have their single adjacent blocks whose motion vectors have been detected only at the upper side. In those cases, the motion vector of the single adjacent block is designated as the predicted motion vector of the block to be predicted.
  • the motion vector of the block to be predicted is obtained based upon the tendency of the motion vectors of adjacent blocks. Further, in use of this predicted motion vector, the area of the search range and the directional property can be predicted in an accurate manner. Consequently, the block based accurate determination of the search range allows a reduced amount of operations for motion vector detection.
  • the reference block is of an intra-block (i.e. when the reference block is not of a block obtained through prediction but of a block obtained through encoding the pixel value of the block), although the motion vector of the reference block can conventionally be used, it is possible and effective to consider the motion vector a zero vector or no motion vector.
  • the intra-block With the intra-block, it is indicated that the quality of an image appeared poor through prediction after detecting a motion vector or an amount of bits for encoding became too large as a result of prediction. Accordingly, it can be assumed that the motion vector of the intra-block has weak correlation with the block to be predicted. Hence, treating the motion vector of the intra-block as a zero vector or a detection failure may avoid wasteful efforts to detect a motion vector or detecting an inappropriate motion vector.
  • the errors of the motion vectors of the respective reference blocks are calculated.
  • the X-axis error of the motion vector is represented by X 1 -X 2 and the Y-axis error of the motion vector is represented by Y 1 -Y 2 . Consequently, in the case of N number of the reference blocks existed, the X-axis error of the motion vector is MIN (X 1 , X 2 , . . . , XN)-MAX (X 1 , X 2 , . . .
  • MIN (Y 1 , Y 2 , . . . , YN)-MAX (Y 1 , Y 2 , . . . , YN)
  • MIN denotes a minimal value of arguments
  • MAX denotes a maximal value of arguments
  • the predicted motion vector is outputted to the search range determiner 103 .
  • An error between the motion vectors of adjacent blocks is outputted to the search range extension unit 104 .
  • FIG. 4 shows an example of the search range determined by the search range determiner.
  • the search range determiner receiving a predicted motion vector 404 detected by the predicted motion vector detector 102 , determines a search range 401 for the motion vector of the block to be predicted to be an area obtained by extending a rectangle including a block 402 locating at the same position as that of the block to be predicted and a block 403 obtained by shifting the block 402 based upon the predicted motion vector in the reference frame on every side by d vertically and horizontally.
  • Some encoding systems such as MPEG, in pursuit of an efficient transmission of a motion-less picture, employ a system where information identifying the type of motion, static or dynamic, is transmitted on a block basis for transmitting a motion vector only with a dynamic block.
  • the motion vector is a zero vector and the prediction error is zero, then the block is not subjected to encodation.
  • it is advantageous for reducing an overall amount of bits for encoding to select a zero vector rather than a larger motion vector if the prediction error is similarly small.
  • this type of encoding system requires a zero-vector prioritized motion vector detection.
  • the amount of operations for detecting a motion vector can be reduced by extending the search range in the direction of the predicted motion vector rather than on all sides vertically and horizontally by the same length from the block to be predicted, which at the same time contributes to preventing an erroneous and inappropriate motion vector from being detected.
  • the length of d is to be controlled so that the horizontal or vertical length of the search range does not exceed 15+L where L designates the horizontal or vertical length of a block.
  • L designates the horizontal or vertical length of a block.
  • FIG. 5 shows an example of the search range extended by the search range extension unit.
  • a search range 501 determined by the search range determiner is extended by edx on the X-axis and edy on the Y-axis.
  • the length of edx or edy has to be controlled so that the horizontal or vertical length, respectively, of an extended search range 505 does not exceed 15+L. It is also effective to multiply edx and edy by a given value (e.g. a decimal value over zero) each to obtain an X-axis extension margin and a Y-axis extension margin.
  • the given value for multiplication may be different from each other.
  • the value of an error between the motion vectors of adjacent blocks can show the correlation between the adjacent blocks. Specifically, it can be said that in the case that an error between the motion vectors of adjacent blocks is large, then the adjacent blocks have weak correlation with each other, and in the case that an error between the motion vectors of adjacent blocks is small, then the adjacent blocks have strong correlation with each other. In addition to that, it can be assumed that in the case that a block has weak correlation with an adjacent block, then the block has weak correlation with a block to be predicted as well, and in the case that a block has strong correlation with an adjacent block, then the block has strong correlation with a block to be predicted as well.
  • the search range may be extended. This allows for ease in detecting an appropriate motion vector.
  • the motion vector detector 102 determines a block having a minimal sum of pixel based errors with the block to be predicted through block matching within the search range determined by the search range extension unit 104 .
  • the motion vector of the block to be predicted is detected based upon the position of the block determined and the position of the block to be predicted.
  • the motion vector storage unit 106 stores the motion vector detected by the motion vector detector in the motion vector memory 101 .
  • Any storable medium may be employed as the motion vector memory.
  • the motion memory may be so small in size as to store the motion vectors of a row of blocks.
  • the motion vector detection is performed on a row basis from the top left block in the frame. Accordingly, having at least only one motion vector stored of a block among blocks in each column, the motion vector of a block adjacent to the block to be predicted can be obtained.
  • a motion vector is detected through a multi-step approach involving various pixel units such as a sub-sampling-pixel unit, an integer-pixel unit and a half-pixel unit, or that the motion vectors of a sequence of blocks are detected in an asynchronous manner
  • the various pixel units are to be unified for storage to update a memory area allocated to the block with a current motion vector. Consequently, the size of the memory can be minimized so as to store the motion vectors of a row of blocks.
  • An effect of the motion vector detection system of this invention is the precise prediction of the area of the search range and the directional property for obtaining the motion vector of the block to be predicted made possible through calculating the predicted motion vector based upon the motion vector of a block adjacent to the block to be predicted.
  • the block based accurate determination of the search range produces the advantage of reducing the amount of operations for detecting a motion vector.
  • the employment of the average of the respective motion vectors of the embodiment achieves the accurate prediction based upon the tendency of the respective motion vectors.
  • the search range determiner determining that the search range includes the neighborhood of the position of the block to be predicted as well as the neighborhood of the predicted motion vector of the embodiment achieves an effective processing of the zero-vector prioritized detection.
  • the search range extension unit extending the search range in the case of the correlation assumedly weak between the block to be predicted and the reference block of the embodiment contributes to detecting an appropriate motion vector.

Abstract

The present invention relates to a motion vector detection system for detecting a motion vector for motion compensation in moving picture compression. It is the subject of the invention to provide with a motion vector detection system for reducing the amount of operations without degrading the quality of an image.
The vector memory 101 stores a motion vector having been obtained. The predicted motion vector calculator 102 predicts the motion vector of a block to be predicted based upon the motion vector of a block adjacent to the block to be predicted. The search range determiner 103 determines a search range based upon the motion vector predicted. The motion vector detector 105 performs block matching within the search range.

Description

  • This application is a continuation of International Application No. PCT/JP99/04063, filed on Jul. 29, 1999. [0001]
  • TECHNICAL FIELD
  • This system relates to a motion vector detection system which reduces the amount of operations for detecting a motion vector for motion compensation in moving picture compression with the quality of an image being maintained. [0002]
  • BACKGROUND ART
  • As a method conventionally used for digitizing a moving picture and then compressing and encoding the digitized data, a picture frame is divided into mesh-type blocks to be subjected to a block based motion compensation, orthogonal transform such as Discrete Cosine Transform (hereinafter referred to as DCT), quantization and variable-length encodation. [0003]
  • For example, the above mentioned method is employed in such international standards as H.261 dealing with a camera-input signal of an existing television, MPEG-[0004] 1 (Motion Picture Image Coding Experts Group) as an improvement of H.261 designed for dealing with storage media such as CD-ROM, MPEG-2 designed for dealing with communication/broadcasting media, and MPEG-4 designed for dealing with low bit rate data and multi-media data. Motion compensation employed in this method is designed for high image quality compression and encodation, so that motion vector detection is needed to be involved. A typical motion vector detection method is now discussed.
  • FIG. 6 shows a full-matching method for detecting a [0005] motion vector 607 of a block 605 to be predicted in a current frame 601 through block matching based upon the information of a previous frame 602 having been encoded. The motion vector of the block 605 to be predicted is detected through matching of the block 605 to be predicted and individual blocks within a search range 603 fixed surrounding a block 608 in the previous frame 602 located at an equivalent position to that of the block 605 to be predicted. The motion vector 606 is only allowed to express itself within a range of ±15 pixels, which provides, in a general sense, a range of 30+M pixels vertically (in length) and 30+N pixels horizontally (in breadth) with the block to be predicted at the center for searching the block, where M designates the vertical pixel size of the block and N designates the horizontal pixel size of the block. Each pixel based error of all or some of blocks within the search range for the block to be predicted from the block to be predicted is calculated sequentially to detect a block having a minimal error within the search range as a reference block 604 of the block to be predicted. Based upon the positions of the reference block 604 and the block to be predicted, the motion vector 607 of the block to be predicted is obtained.
  • The aforementioned method having all the blocks within the search range subjected to pixel based error calculation to determine the reference block is called the full-matching method, which is the most efficient approach of detecting a precise reference block. By detecting the reference block as precise as possible, a pixel based error between the block to be predicted and the reference block is minimized, which contributes to the prediction of the block to be predicted with a small amount of information. The full-matching method, however, involving a large amount of operations for detecting a motion vector, requires a large amount of processing time for motion compensation. Further, the full-matching method, with the search range being fixed, performs an inefficient searching in an unnecessarily large area for a block to be predicted whose motion is static. This may result in a failure in detecting an appropriate motion vector, which may degrade the quality of the image or increase in the amount of bits for encoding. [0006]
  • Among motion compensation methods other than the full-matching method, some approaches employ the same fixed search range as that of the full-matching method and reduce the amount of operations for motion vector detection more than that of the full-matching method through thinning the pixels of the reference frame and the block to be predicted at the same ratio, sub-sampling or the like. Those approaches achieving the amount of operations reduced still fail to detect an appropriate motion vector due to the fixed search range, which then causes to degrade the quality of an image or increase the amount of bits for encoding. [0007]
  • Another type of approach for motion compensation is disclosed in Japanese Unexamined Patent Publication No. 7-107484, Japanese Unexamined Patent Publication No. 8-9379, Japanese Unexamined Patent Publication No. 8-32969, Japanese Unexamined Patent Publication No. 9-55941, Japanese Unexamined Patent Publication No. 9-65339, and Japanese Unexamined Patent Publication No. 10-4554. According to this approach, the block to be predicted whose motion is assumedly static is assigned a smaller area of the search range and the block to be predicted whose motion is assumedly dynamic is assigned a larger area of the search range so that the motion vector is detected through an optimum amount of operations for the specific block to be subjected. [0008]
  • According to Japanese Unexamined Patent Publication No. 8-9379, for example, the vertical and horizontal sides of an initially set area of the search range is extended by the average of the absolute values of the motion vectors of blocks adjacent to the block to be predicted. This system, as the search range is allowed to be set in accordance with the magnitude of the motion of a block, the search range is extended by the same distance from the block to be predicted on all sides vertically and horizontally, so that the directional property of the motion is neglected. Consequently, in the case of the average of the absolute values of motion vectors being large, the amount of operations for detecting a motion vector becomes no less than that of the full-matching method, which makes the detection of an appropriate motion vector difficult. [0009]
  • As aforementioned, in pursuit of detecting a precise motion vector, if the search range is set to a fixed large area, then the amount of operations for detection becomes large. In particular, with a static moving picture, this is rather a waste of searching, and may result even, on the contrary, in a failure to detect an appropriate motion vector. Further, in the method that a motion vector is detected with the search range being varied, the search range is extended by the same distance on all sides vertically and horizontally based upon the average, maximum value or the like of the absolute values of adjacent motion vectors. Consequently, if the average or maximum value is large, then the extension margin becomes large, thereby posing the same problem as that of the full-matching method. [0010]
  • DISCLOSURE OF THE INVENTION
  • 1. In a motion vector detection system having a motion vector detector for obtaining the motion vector of a block to be predicted in a frame subjected to prediction through block matching of the block to be predicted and a search block within a search range in a reference frame, and a motion vector memory for storing the motion vector obtained in the motion vector detector being mapped onto the position of the block to be predicted, a motion vector detection system of this invention may be characterized with, a predicted motion vector calculator for retrieving the individual motion vectors of a plurality of reference blocks adjacent to the position of the block to be predicted from the motion vector memory and calculating a predicted motion vector predicting the motion vector of the block to be predicted based upon the individual motion vectors of the plurality of reference blocks retrieved, and a search range determiner for determining the search range in the reference frame based upon the predicted motion vector. [0011]
  • 2. The predicted motion vector calculator may be characterized with calculating an averaged vector of the individual motion vectors of the plurality of reference blocks as the predicted motion vector. [0012]
  • 3. The search range determiner may be characterized with determining the search range to be an area including a source block whose position in the reference frame is equal to the position of the block to be predicted and a destination block whose position in the reference frame is obtained by shifting the position of the source block based upon the predicted motion vector. [0013]
  • 4. The search range determiner may be characterized with determining the search range to be an area obtained by adding a predetermined margin to a minimal rectangul including the source block and the destination block. [0014]
  • 5. The predicted motion vector calculator may be characterized with calculating a motion vector error representing a prediction error of the predicted motion vector based upon the individual motion vectors of the plurality of reference blocks, and the motion vector detection system may be characterized further with a search range extension unit for extending the search range based upon the motion vector error. [0015]
  • 6. The predicted motion vector calculator may be characterized with calculating the motion vector error being composed of an X-element error representing the absolute value of a maximum difference between individual X elements and a Y-element error representing the absolute value of a maximum difference between individual Y elements when the individual motion vectors of the plurality of reference blocks are represented each by two orthogonal elements of the X element and the Y element. [0016]
  • 7. The search range extension unit may be characterized with extending the search range by an X-axis extension margin obtained by multiplying the X-element error by a predetermined value in an X-axis positive direction and an X-axis negative direction and extending the search range also by a Y-axis extension margin obtained by multiplying the Y-element error by the predetermined value in a Y-axis positive direction and a Y-axis negative direction. [0017]
  • BRIEF DESCRIPTION OF DRAWINGS
  • FIG. 1 shows a block diagram of a motion vector detection system. [0018]
  • FIG. 2 shows a flow chart of the motion vector detection system. [0019]
  • FIG. 3 shows a diagram exemplifying predicted motion vectors calculated by a predicted motion vector calculator. [0020]
  • FIG. 4 shows a diagram exemplifying a search range determined by a search range determiner. [0021]
  • FIG. 5 shows a diagram exemplifying a search range extended by a search range extension unit. [0022]
  • FIG. 6 shows a diagram exemplifying a search range according to a conventional full-matching method. [0023]
  • BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 shows a block diagram of a motion vector detection system of the present invention. A method for detecting the motion vector of a block to be predicted is now discussed. Initially, a predicted [0024] motion vector detector 102 receives the motion vectors of blocks adjacent to the block to be predicted from a motion vector memory 101 and outputs the errors of the motion vectors and the predicted motion vector of the block to be predicted. The predicted motion vector predicts the motion vector of the block to be predicted. Then, a search range determiner 103 receiving the predicted motion vector determines and outputs a search range for the motion vector of the block to be predicted. A search range extension unit 104 receiving the search range and the errors of the motion vectors extends the search range inputted and outputs an extended search range. A motion vector detector 105 receiving the expanded search range obtains a motion vector through block matching based upon the pixel data of the block to be predicted and the pixel data of a reference frame and outputs an obtained motion vector. A block matching range in the reference frame is the search range inputted. A motion vector storage unit 106 stores the motion vector in an appropriate memory map. Individual blocks to be predicted are subject to the foregoing operating flow.
  • FIG. 2 shows a flow chart illustrating a whole course of operation for detecting the motion vector of the block to be predicted. [0025]
  • FIG. 3 shows a frame exemplifying a predicted [0026] motion vector 319 and a motion vector error calculated by the predicted motion vector calculator. Initially, already detected motion vectors 317 and 318, respectively, of blocks 320 and 321 adjacent to a block 316 to be predicted are obtained from the motion vector memory. According to this example, blocks are selected sequentially to be predicted each from the top left of the frame to the right. A block whose motion vector has been obtained is allowed to be used as a reference block. According to this example, blocks at the left side and at the upper side of the block to be predicted are used as the reference blocks. Alternatively, blocks at the upper left and the upper right may also be used as the reference blocks. In FIG. 3, when the motion vector 317 of the upper block is represented by MV1 and the motion vector 318 of the left block is represented by MV2, a predicted motion vector PMV of the block to be predicted is the average of MV1 and MV2. Specifically, when MV1=(X1,Y1) and MV2=(X2,Y2) are given, PMV=(PX, PY) is expressed by substituting PX=(X1+X2)/2 and PY=(Y1+Y2)/2. Other than the arithmetic mean approach, it is also effective to use a function involving the directional property of the motion vector of the reference block for obtaining the predicted motion vector. It is particularly desirable to have an approach of obtaining the predicted motion vector based upon the tendency of the directional property of the motion vector. For example, various kinds of average such as the geometric mean and the harmonic mean may be utilized on an element basis.
  • When the block to be predicted has no reference block (i.e. when having no adjacent block whose predicted motion vector has been detected in such a case as a [0027] block 301 at the top left of FIG. 3 is selected to be predicted), then no detection is performed of the predicted motion vector, and instead, the search range determiner utilizes the full-matching method. When blocks 302 through 308 in the first row of the frame of FIG. 3 are to be predicted, the respective blocks have their single adjacent blocks whose motion vectors have been detected only at the left side. When blocks 309 through 313 in the first column are to be predicted, the respective blocks have their single adjacent blocks whose motion vectors have been detected only at the upper side. In those cases, the motion vector of the single adjacent block is designated as the predicted motion vector of the block to be predicted.
  • As aforementioned, by calculating the predicted motion vector, the motion vector of the block to be predicted is obtained based upon the tendency of the motion vectors of adjacent blocks. Further, in use of this predicted motion vector, the area of the search range and the directional property can be predicted in an accurate manner. Consequently, the block based accurate determination of the search range allows a reduced amount of operations for motion vector detection. [0028]
  • When the reference block is of an intra-block (i.e. when the reference block is not of a block obtained through prediction but of a block obtained through encoding the pixel value of the block), although the motion vector of the reference block can conventionally be used, it is possible and effective to consider the motion vector a zero vector or no motion vector. With the intra-block, it is indicated that the quality of an image appeared poor through prediction after detecting a motion vector or an amount of bits for encoding became too large as a result of prediction. Accordingly, it can be assumed that the motion vector of the intra-block has weak correlation with the block to be predicted. Hence, treating the motion vector of the intra-block as a zero vector or a detection failure may avoid wasteful efforts to detect a motion vector or detecting an inappropriate motion vector. [0029]
  • When there are two or more adjacent blocks whose motion vectors have been detected, namely, reference blocks, the errors of the motion vectors of the respective reference blocks are calculated. Referring to FIG. 3, the X-axis error of the motion vector is represented by X[0030] 1-X2 and the Y-axis error of the motion vector is represented by Y1-Y2 . Consequently, in the case of N number of the reference blocks existed, the X-axis error of the motion vector is MIN (X1, X2, . . . , XN)-MAX (X1, X2, . . . , XN) and the Y-axis error of the motion vector is MIN (Y1, Y2, . . . , YN)-MAX (Y1, Y2, . . . , YN) , where MIN denotes a minimal value of arguments and MAX denotes a maximal value of arguments.
  • The predicted motion vector is outputted to the [0031] search range determiner 103. An error between the motion vectors of adjacent blocks is outputted to the search range extension unit 104.
  • FIG. 4 shows an example of the search range determined by the search range determiner. The search range determiner, receiving a predicted [0032] motion vector 404 detected by the predicted motion vector detector 102, determines a search range 401 for the motion vector of the block to be predicted to be an area obtained by extending a rectangle including a block 402 locating at the same position as that of the block to be predicted and a block 403 obtained by shifting the block 402 based upon the predicted motion vector in the reference frame on every side by d vertically and horizontally. Some encoding systems such as MPEG, in pursuit of an efficient transmission of a motion-less picture, employ a system where information identifying the type of motion, static or dynamic, is transmitted on a block basis for transmitting a motion vector only with a dynamic block. According to another system also employed, if the motion vector is a zero vector and the prediction error is zero, then the block is not subjected to encodation. In those encoding systems, it is advantageous for reducing an overall amount of bits for encoding to select a zero vector rather than a larger motion vector if the prediction error is similarly small. Hence, this type of encoding system requires a zero-vector prioritized motion vector detection. It is effective, therefore, for detecting a zero vector prioritized to include the neighborhood of the position of the block to be predicted as well as the neighborhood of the predicted motion vector in the search range in the search range determiner 103. Further, the amount of operations for detecting a motion vector can be reduced by extending the search range in the direction of the predicted motion vector rather than on all sides vertically and horizontally by the same length from the block to be predicted, which at the same time contributes to preventing an erroneous and inappropriate motion vector from being detected.
  • The length of d is to be controlled so that the horizontal or vertical length of the search range does not exceed 15+L where L designates the horizontal or vertical length of a block. When no predicted motion vector is detected, i.e. when the top left block is the block to be predicted in FIG. 3, the search range is an area obtained by extending [0033] 15 vertically and horizontally from the block to be predicted. The search range is outputted to the search range extension unit.
  • FIG. 5 shows an example of the search range extended by the search range extension unit. When the X-axis and Y-axis errors of the motion vector of an adjacent block calculated in the [0034] motion vector detector 102 are edx and edy, respectively, a search range 501 determined by the search range determiner is extended by edx on the X-axis and edy on the Y-axis. The length of edx or edy has to be controlled so that the horizontal or vertical length, respectively, of an extended search range 505 does not exceed 15+L. It is also effective to multiply edx and edy by a given value (e.g. a decimal value over zero) each to obtain an X-axis extension margin and a Y-axis extension margin. The given value for multiplication may be different from each other.
  • The value of an error between the motion vectors of adjacent blocks can show the correlation between the adjacent blocks. Specifically, it can be said that in the case that an error between the motion vectors of adjacent blocks is large, then the adjacent blocks have weak correlation with each other, and in the case that an error between the motion vectors of adjacent blocks is small, then the adjacent blocks have strong correlation with each other. In addition to that, it can be assumed that in the case that a block has weak correlation with an adjacent block, then the block has weak correlation with a block to be predicted as well, and in the case that a block has strong correlation with an adjacent block, then the block has strong correlation with a block to be predicted as well. For that reason, in the case that the correlation can be assumed weak between a block and a block to be predicted, then the search range may be extended. This allows for ease in detecting an appropriate motion vector. The [0035] motion vector detector 102 determines a block having a minimal sum of pixel based errors with the block to be predicted through block matching within the search range determined by the search range extension unit 104. The motion vector of the block to be predicted is detected based upon the position of the block determined and the position of the block to be predicted.
  • The motion [0036] vector storage unit 106 stores the motion vector detected by the motion vector detector in the motion vector memory 101. Any storable medium may be employed as the motion vector memory. The motion memory may be so small in size as to store the motion vectors of a row of blocks. The motion vector detection is performed on a row basis from the top left block in the frame. Accordingly, having at least only one motion vector stored of a block among blocks in each column, the motion vector of a block adjacent to the block to be predicted can be obtained.
  • In the case that a motion vector is detected through a multi-step approach involving various pixel units such as a sub-sampling-pixel unit, an integer-pixel unit and a half-pixel unit, or that the motion vectors of a sequence of blocks are detected in an asynchronous manner, the various pixel units are to be unified for storage to update a memory area allocated to the block with a current motion vector. Consequently, the size of the memory can be minimized so as to store the motion vectors of a row of blocks. [0037]
  • Industrial Usability
  • An effect of the motion vector detection system of this invention is the precise prediction of the area of the search range and the directional property for obtaining the motion vector of the block to be predicted made possible through calculating the predicted motion vector based upon the motion vector of a block adjacent to the block to be predicted. Thus, the block based accurate determination of the search range produces the advantage of reducing the amount of operations for detecting a motion vector. [0038]
  • Further, the employment of the average of the respective motion vectors of the embodiment achieves the accurate prediction based upon the tendency of the respective motion vectors. [0039]
  • Furthermore, the search range determiner determining that the search range includes the neighborhood of the position of the block to be predicted as well as the neighborhood of the predicted motion vector of the embodiment achieves an effective processing of the zero-vector prioritized detection. [0040]
  • Still further, the search range extension unit extending the search range in the case of the correlation assumedly weak between the block to be predicted and the reference block of the embodiment contributes to detecting an appropriate motion vector. [0041]

Claims (7)

What is claimed is:
1. A motion vector detection system having a motion vector detector for obtaining a motion vector of a block to be predicted in a frame subjected to prediction through block matching of the block to be predicted and a search block within a search range in a reference frame, and a motion vector memory for storing the motion vector obtained in the motion vector detector being mapped onto a position of the block to be predicted, the motion vector detection system comprising:
a predicted motion vector calculator for retrieving individual motion vectors of a plurality of reference blocks adjacent to the position of the block to be predicted from the motion vector memory and calculating a predicted motion vector predicting the motion vector of the block to be predicted based upon the individual motion vectors of the plurality of reference blocks retrieved; and
a search range determiner for determining the search range in the reference frame based upon the predicted motion vector.
2. The motion vector detection system of
claim 1
, wherein the predicted motion vector calculator calculates an averaged vector of the individual motion vectors of the plurality of reference blocks as the predicted motion vector.
3. The motion vector detection system of
claim 1
, wherein the search range determiner determines the search range to be an area including a source block whose position in the reference frame is equal to the position of the block to be predicted and a destination block whose position in the reference frame is obtained by shifting the position of the source block based upon the predicted motion vector.
4. The motion vector detection system of
claim 3
, wherein the search range determiner determines the search range to be an area obtained by adding a predetermined margin to a minimal rectangule including the source block and the destination block.
5. The motion vector detection system of
claim 1
, wherein the predicted motion vector calculator calculates a motion vector error representing a prediction error of the predicted motion vector based upon the individual motion vectors of the plurality of reference blocks, and
wherein the motion vector detection system further includes,
a search range extension unit for extending the search range based upon the motion vector error.
6. The motion vector detection system of
claim 5
, wherein the predicted motion vector calculator, when the individual motion vectors of the plurality of reference blocks being represented each by two orthogonal elements of an X element and a Y element, calculates the motion vector error composed of an X-element error representing an absolute value of a maximum difference between individual X elements and a Y-element error representing an absolute value of a maximum difference between individual Y elements.
7. The motion vector detection system of
claim 6
, wherein the search range extension unit extends the search range by an X-axis extension margin obtained by multiplying the X-element error by a predetermined value in an X-axis positive direction and an X-axis negative direction and extends the search range also by a Y-axis extension margin obtained by multiplying the Y-element error by the predetermined value in a Y-axis positive direction and a Y-axis negative direction.
US09/771,550 1999-07-29 2001-01-30 Motion vector detection system Expired - Fee Related US6414995B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/004063 WO2001010135A1 (en) 1999-07-29 1999-07-29 Moving vector detecting method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/004063 Continuation WO2001010135A1 (en) 1999-07-29 1999-07-29 Moving vector detecting method

Publications (2)

Publication Number Publication Date
US20010004385A1 true US20010004385A1 (en) 2001-06-21
US6414995B2 US6414995B2 (en) 2002-07-02

Family

ID=14236329

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/771,550 Expired - Fee Related US6414995B2 (en) 1999-07-29 2001-01-30 Motion vector detection system

Country Status (3)

Country Link
US (1) US6414995B2 (en)
EP (1) EP1120976A4 (en)
WO (1) WO2001010135A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030142749A1 (en) * 2002-01-26 2003-07-31 Lg Electronics Inc. Adaptive decision method of motion vector search range
US20040013308A1 (en) * 2002-07-18 2004-01-22 Lg Electronics Inc. Calculation method for prediction motion vector
WO2004049730A1 (en) * 2002-11-27 2004-06-10 Tandberg Telecom As A method for vector prediction
KR100438572B1 (en) * 2001-09-28 2004-07-02 엘지전자 주식회사 Adaptive decision method for a range of motion vector
US20050062885A1 (en) * 2002-11-25 2005-03-24 Shinya Kadono Motion compensation method, picture coding method and picture decoding method
US20050094884A1 (en) * 2003-09-22 2005-05-05 Kddi Corporation Adaptable shape image encoding apparatus and decoding apparatus
EP1621022A1 (en) * 2003-04-10 2006-02-01 SK Telecom Co., Ltd. Method and apparatus for determining search range for adaptive motion vector for use in video encoder
WO2007035276A2 (en) 2005-09-16 2007-03-29 Sony Electronics, Inc. Adaptive motion search range
EP1925166A2 (en) * 2005-09-16 2008-05-28 Sony Electronics, Inc. Adaptive motion estimation for temporal prediction filter over irregular motion vector samples
CN100433835C (en) * 2005-03-01 2008-11-12 凌阳科技股份有限公司 Method and system for dynamically adjusting motion estimation
US20090136151A1 (en) * 2007-11-28 2009-05-28 Samsung Electronics Co., Ltd. Video processing apparatus and video processing method thereof
US20110170603A1 (en) * 2008-09-24 2011-07-14 Kazushi Sato Image processing device and method
US20110228851A1 (en) * 2010-03-18 2011-09-22 Amir Nusboim Adaptive search area in motion estimation processes
EP2831811A4 (en) * 2012-03-28 2016-02-17 Intel Corp Content aware selective adjusting of motion estimation
EP2770479A3 (en) * 2013-02-21 2017-08-09 Samsung Electronics Co., Ltd Electronic device and method of operating electronic device
US20180084274A1 (en) * 2015-05-21 2018-03-22 Olympus Corporation Image acquisition device, image processing device, image processing method, image processing program, and storage medium
US11461919B2 (en) * 2016-04-21 2022-10-04 Ramot At Tel Aviv University Ltd. Cascaded neural network

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4496595B2 (en) * 1999-03-29 2010-07-07 ソニー株式会社 Image processing apparatus, image processing method, and recording medium
AU2002250278A1 (en) * 2001-03-07 2002-09-19 Pts Corporation Local constraints for motion estimation
US8824553B2 (en) 2003-05-12 2014-09-02 Google Inc. Video compression method
JP4511842B2 (en) * 2004-01-26 2010-07-28 パナソニック株式会社 Motion vector detecting device and moving image photographing device
CN100385957C (en) * 2004-05-21 2008-04-30 中国科学院计算技术研究所 Kinematic vector predicting method
US7953152B1 (en) 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
KR100694059B1 (en) 2004-09-30 2007-03-12 삼성전자주식회사 Method and apparatus for encoding and decoding in inter mode based on multi time scan
KR100694058B1 (en) 2004-09-30 2007-03-12 삼성전자주식회사 Method and apparatus for encoding and decoding in intra mode based on multi time scan
US8036428B2 (en) * 2006-04-28 2011-10-11 Pixart Imaging Inc. Method and apparatus for detecting motion of image in optical navigator
KR100912429B1 (en) * 2006-11-09 2009-08-14 삼성전자주식회사 Image search method for reducing computational complexity of motion estimation
KR100860690B1 (en) * 2007-01-26 2008-09-26 삼성전자주식회사 Method and Apparatus of Motion Search for Reducing Access to External Memory
CN101632308B (en) 2007-03-14 2011-08-03 日本电信电话株式会社 Encoding bit rate control method and device
BRPI0808567A2 (en) * 2007-03-14 2014-09-02 Nippon Telegraph & Telephone MOVEMENT VECTOR SEARCH METHOD AND APPARATUS, PROGRAM FOR THE SAME, AND STORAGE MEDIA, STORING THE PROGRAM
CN101682772B (en) 2007-03-14 2012-03-21 日本电信电话株式会社 Code quantity estimating method and device, their program, and recording medium
EP3264772B1 (en) 2007-03-14 2022-09-07 Nippon Telegraph And Telephone Corporation Quantization control method and apparatus, program therefor, and storage medium which stores the program
KR101517768B1 (en) * 2008-07-02 2015-05-06 삼성전자주식회사 Method and apparatus for encoding video and method and apparatus for decoding video
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8326075B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
CA2810899C (en) 2010-10-05 2016-08-09 General Instrument Corporation Coding and decoding utilizing adaptive context model selection with zigzag scan
US8938001B1 (en) 2011-04-05 2015-01-20 Google Inc. Apparatus and method for coding using combinations
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8780971B1 (en) 2011-04-07 2014-07-15 Google, Inc. System and method of encoding using selectable loop filters
US8781004B1 (en) 2011-04-07 2014-07-15 Google Inc. System and method for encoding video using variable loop filter
US8780996B2 (en) 2011-04-07 2014-07-15 Google, Inc. System and method for encoding and decoding video data
US8891616B1 (en) 2011-07-27 2014-11-18 Google Inc. Method and apparatus for entropy encoding based on encoding cost
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
JP2013165340A (en) * 2012-02-09 2013-08-22 Sony Corp Image processor and image processing method
US9262670B2 (en) 2012-02-10 2016-02-16 Google Inc. Adaptive region of interest
JP5938935B2 (en) * 2012-02-21 2016-06-22 富士通株式会社 Moving picture coding apparatus and moving picture coding method
US9131073B1 (en) 2012-03-02 2015-09-08 Google Inc. Motion estimation aided noise reduction
US11039138B1 (en) 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
US9774856B1 (en) 2012-07-02 2017-09-26 Google Inc. Adaptive stochastic entropy coding
US9344729B1 (en) 2012-07-11 2016-05-17 Google Inc. Selective prediction signal filtering
US9509998B1 (en) 2013-04-04 2016-11-29 Google Inc. Conditional predictive multi-symbol run-length coding
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
US9392288B2 (en) 2013-10-17 2016-07-12 Google Inc. Video coding using scatter-based scan tables
US9179151B2 (en) 2013-10-18 2015-11-03 Google Inc. Spatial proximity context entropy coding
JP6394876B2 (en) * 2014-09-17 2018-09-26 株式会社ソシオネクスト Encoding circuit and encoding method
US10102613B2 (en) 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04150284A (en) * 1990-10-09 1992-05-22 Olympus Optical Co Ltd Moving vector detection method and its device
JP2950633B2 (en) * 1991-03-27 1999-09-20 沖電気工業株式会社 Motion vector detection device
DE69217150T2 (en) * 1991-09-30 1997-07-17 Philips Electronics Nv Motion vector estimation, motion picture coding and storage
JPH05328333A (en) * 1992-05-15 1993-12-10 Toshiba Corp Moving vector detector
JPH07107484A (en) 1993-10-01 1995-04-21 Mitsubishi Electric Corp Picture transmitter
US6091460A (en) * 1994-03-31 2000-07-18 Mitsubishi Denki Kabushiki Kaisha Video signal encoding method and system
US5537155A (en) * 1994-04-29 1996-07-16 Motorola, Inc. Method for estimating motion in a video sequence
JPH089379A (en) 1994-06-15 1996-01-12 Sanyo Electric Co Ltd Motion vector detection method
JPH0832969A (en) 1994-07-12 1996-02-02 Canon Inc Motion vector detector
JPH0955941A (en) 1995-08-16 1997-02-25 Sony Corp Picture encoding method/device and recording device for picture encoding data
JPH0965339A (en) 1995-08-18 1997-03-07 Mitsubishi Electric Corp Image block motion detector
JPH0970046A (en) 1995-08-31 1997-03-11 Victor Co Of Japan Ltd Motion vector detector
JPH104554A (en) 1996-06-14 1998-01-06 Oki Electric Ind Co Ltd Motion vector detector
US6195389B1 (en) * 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods

Cited By (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438572B1 (en) * 2001-09-28 2004-07-02 엘지전자 주식회사 Adaptive decision method for a range of motion vector
US20030142749A1 (en) * 2002-01-26 2003-07-31 Lg Electronics Inc. Adaptive decision method of motion vector search range
EP1335606A2 (en) * 2002-01-26 2003-08-13 Lg Electronics Inc. Motion vector estimation with adaptive search range
EP1335606A3 (en) * 2002-01-26 2004-09-01 Lg Electronics Inc. Motion vector estimation with adaptive search range
US8467620B2 (en) 2002-07-18 2013-06-18 Lg Electronics Inc. Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded
US8548264B2 (en) 2002-07-18 2013-10-01 Lg Electronics Inc. Apparatus for predicting a motion vector for a current block in a picture to be decoded
US8649621B2 (en) 2002-07-18 2014-02-11 Lg Electronics Inc. Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded
US8472738B2 (en) 2002-07-18 2013-06-25 Lg Electronics Inc. Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded
US10897613B2 (en) 2002-07-18 2021-01-19 Lg Electronics Inc. Method of predicting a motion vector for a current block in a current picture
US8509550B2 (en) 2002-07-18 2013-08-13 Lg Electronics Inc. Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded
US10425639B2 (en) 2002-07-18 2019-09-24 Lg Electronics Inc. Method of predicting a motion vector for a current block in a current picture
US8644630B2 (en) 2002-07-18 2014-02-04 Lg Electronics Inc. Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded
US9560354B2 (en) 2002-07-18 2017-01-31 Lg Electronics Inc. Method of predicting a motion vector for a current block in a current picture
US20080037885A1 (en) * 2002-07-18 2008-02-14 Jeon Byeong M Apparatus for predicting a motion vector for a current block in a picture to be decoded
US20080037636A1 (en) * 2002-07-18 2008-02-14 Jeon Byeong M Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded
US20080037646A1 (en) * 2002-07-18 2008-02-14 Jeon Byeong M Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded
US20080037645A1 (en) * 2002-07-18 2008-02-14 Jeon Byeong M Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded
US20080044094A1 (en) * 2002-07-18 2008-02-21 Jeon Byeong M Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded
US20080043849A1 (en) * 2002-07-18 2008-02-21 Byeong Moon Jeon Apparatus for predicting a motion vector for a current block in a picture to be decoded
US20080044093A1 (en) * 2002-07-18 2008-02-21 Jeon Byeong M Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded
US8644631B2 (en) 2002-07-18 2014-02-04 Lg Electronics Inc. Method of predicting a motion vector for a current block in a current picture
US9544590B2 (en) 2002-07-18 2017-01-10 Lg Electronics Inc. Method of predicing a motion vector for a current block in a current picture
US9544589B2 (en) 2002-07-18 2017-01-10 Lg Electronics Inc. Method of predicting a motion vector for a current block in a current picture
US9544591B2 (en) 2002-07-18 2017-01-10 Lg Electronics Inc. Method of predicting a motion vector for a current block in a current picture
US8639048B2 (en) 2002-07-18 2014-01-28 Lg Electronics Inc. Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded
US8634666B2 (en) 2002-07-18 2014-01-21 Lg Electronics Inc. Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded
US8634667B2 (en) 2002-07-18 2014-01-21 Lg Electronics Inc. Method of predicting a motion vector for a current block in a current picture
US8655089B2 (en) 2002-07-18 2014-02-18 Lg Electronics Inc. Apparatus for determining motion vectors and a reference picture index for a current block in a picture to be decoded
US8571335B2 (en) 2002-07-18 2013-10-29 Lg Electronics Inc. Calculation method for prediction motion vector
US8908983B2 (en) 2002-07-18 2014-12-09 Lg Electronics Inc. Method of predicting a motion vector for a current block in a current picture
US8565544B2 (en) 2002-07-18 2013-10-22 Lg Electronics Inc. Apparatus for predicting a motion vector for a current block in a picture to be decoded
US20060262981A1 (en) * 2002-07-18 2006-11-23 Jeon Byeong M Calculation method for prediction motion vector
US8649622B2 (en) 2002-07-18 2014-02-11 Lg Electronics Inc. Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded
US8712172B2 (en) 2002-07-18 2014-04-29 Lg Electronics Inc. Method of predicting a motion vector for a current block in a current picture
US8463058B2 (en) 2002-07-18 2013-06-11 Lg Electronics Inc. Calculation method for prediction motion vector
US8467621B2 (en) * 2002-07-18 2013-06-18 Lg Electronics Inc. Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded
US20040013308A1 (en) * 2002-07-18 2004-01-22 Lg Electronics Inc. Calculation method for prediction motion vector
US8467622B2 (en) 2002-07-18 2013-06-18 Lg Electronics Inc. Method of determining motion vectors and a reference picture index for a current block in a picture to be decoded
US8861607B2 (en) 2002-11-25 2014-10-14 Panasonic Intellectual Property Corporation Of America Motion compensation method, picture coding method and picture decoding method
US8660185B2 (en) 2002-11-25 2014-02-25 Panasonic Corporation Picture decoding apparatus and method for decoding a picture using motion compensation
US8897367B2 (en) 2002-11-25 2014-11-25 Panasonic Intellectual Property Corporation Of America Motion compensation method, picture coding method and picture decoding method
US8009731B2 (en) * 2002-11-25 2011-08-30 Panasonic Corporation Motion compensation method, picture coding method and picture decoding method
US9088795B2 (en) 2002-11-25 2015-07-21 Godo Kaisha Ip Bridge 1 Picture coding and decoding system for coding and decoding macroblocks in direct mode
US9204153B2 (en) 2002-11-25 2015-12-01 Godo Kaisha Ip Bridge 1 Motion compensation method, picture coding method and picture decoding method
US9241171B2 (en) 2002-11-25 2016-01-19 Godo Kaisha Ip Bridge 1 Motion compensation method, picture coding method and picture decoding method
US9473786B2 (en) 2002-11-25 2016-10-18 Godo Kaisha Ip Bridge 1 Coding and decoding system for coding and decoding a picture in direct mode
US9485516B2 (en) 2002-11-25 2016-11-01 Godo Kaisha Ip Bridge 1 Picture decoding apparatus and picture decoding method for decoding a current picture in direct mode
US9554148B2 (en) 2002-11-25 2017-01-24 Godo Kaisha Ip Bridge 1 Picture coding method and picture coding apparatus for coding a current picture in direct mode
US10057595B2 (en) 2002-11-25 2018-08-21 Godo Kaisha Ip Bridge 1 Motion compensation method, picture coding method and picture decoding method
US20050062885A1 (en) * 2002-11-25 2005-03-24 Shinya Kadono Motion compensation method, picture coding method and picture decoding method
WO2004049730A1 (en) * 2002-11-27 2004-06-10 Tandberg Telecom As A method for vector prediction
US7280598B2 (en) 2002-11-27 2007-10-09 Tandberg Telecom As Method for vector prediction
US20040146110A1 (en) * 2002-11-27 2004-07-29 Tandberg Telecom As Method for vector prediction
EP1621022A1 (en) * 2003-04-10 2006-02-01 SK Telecom Co., Ltd. Method and apparatus for determining search range for adaptive motion vector for use in video encoder
EP1621022A4 (en) * 2003-04-10 2011-06-22 Sk Telecom Co Ltd Method and apparatus for determining search range for adaptive motion vector for use in video encoder
US20050094884A1 (en) * 2003-09-22 2005-05-05 Kddi Corporation Adaptable shape image encoding apparatus and decoding apparatus
US7860326B2 (en) * 2003-09-22 2010-12-28 Kddi Corporation Adaptable shape image encoding apparatus and decoding apparatus
CN100433835C (en) * 2005-03-01 2008-11-12 凌阳科技股份有限公司 Method and system for dynamically adjusting motion estimation
WO2007035276A2 (en) 2005-09-16 2007-03-29 Sony Electronics, Inc. Adaptive motion search range
EP1932366A4 (en) * 2005-09-16 2011-03-16 Sony Electronics Inc Adaptive motion search range
EP1925166A2 (en) * 2005-09-16 2008-05-28 Sony Electronics, Inc. Adaptive motion estimation for temporal prediction filter over irregular motion vector samples
EP1925166A4 (en) * 2005-09-16 2010-06-30 Sony Electronics Inc Adaptive motion estimation for temporal prediction filter over irregular motion vector samples
EP1932366A2 (en) * 2005-09-16 2008-06-18 Sony Electronics, Inc. Adaptive motion search range
KR101342284B1 (en) * 2005-09-16 2013-12-16 소니 일렉트로닉스 인코포레이티드 adaptive motion search range
US20090136151A1 (en) * 2007-11-28 2009-05-28 Samsung Electronics Co., Ltd. Video processing apparatus and video processing method thereof
EP2068552A1 (en) 2007-11-28 2009-06-10 Samsung Electronics Co., Ltd. Video processing apparatus and video processing method
US8090154B2 (en) * 2007-11-28 2012-01-03 Samsung Electronics Co., Ltd. Video processing apparatus and video processing method thereof
US20110170603A1 (en) * 2008-09-24 2011-07-14 Kazushi Sato Image processing device and method
US20110228851A1 (en) * 2010-03-18 2011-09-22 Amir Nusboim Adaptive search area in motion estimation processes
EP2367357A3 (en) * 2010-03-18 2012-06-27 Ceva D.S.P. Ltd. Adaptive search area in motion estimation processes
EP2831811A4 (en) * 2012-03-28 2016-02-17 Intel Corp Content aware selective adjusting of motion estimation
EP2770479A3 (en) * 2013-02-21 2017-08-09 Samsung Electronics Co., Ltd Electronic device and method of operating electronic device
US20180084274A1 (en) * 2015-05-21 2018-03-22 Olympus Corporation Image acquisition device, image processing device, image processing method, image processing program, and storage medium
US10477236B2 (en) * 2015-05-21 2019-11-12 Olympus Corporation Image acquisition device, image processing device, image processing method, image processing program, and storage medium for generating high resolution image from low resolution images
US11461919B2 (en) * 2016-04-21 2022-10-04 Ramot At Tel Aviv University Ltd. Cascaded neural network

Also Published As

Publication number Publication date
EP1120976A1 (en) 2001-08-01
WO2001010135A1 (en) 2001-02-08
US6414995B2 (en) 2002-07-02
EP1120976A4 (en) 2006-03-29

Similar Documents

Publication Publication Date Title
US6414995B2 (en) Motion vector detection system
KR100752530B1 (en) Motion estimation algorithm
US5583580A (en) Method and apparatus for detecting motion vectors based on hierarchical motion estimation
KR100270247B1 (en) A device for deriving and using a motion vector in a differential pulse code modulation system
JP3277418B2 (en) Apparatus and method for detecting motion vector
KR950009699B1 (en) Motion vector detection method and apparatus
US5502492A (en) Motion vector detection apparatus
EP0645933A2 (en) Image reproducing apparatus
US20050249284A1 (en) Method and apparatus for generating motion vector in hierarchical motion estimation
JPH09179987A (en) Method and device for detecting motion vector
US20060008008A1 (en) Method of multi-resolution based motion estimation and recording medium storing program to implement the method
CN101326550A (en) Motion estimation using prediction guided decimated search
KR20030070278A (en) Apparatus and method of adaptive motion estimation
KR20070088321A (en) Apparatus and method for image coding
US6438254B1 (en) Motion vector detection method, motion vector detection apparatus, and data storage media
US5627591A (en) Image processing system using a pixel-by-pixel motion estimation based on feature points
US6370195B1 (en) Method and apparatus for detecting motion
JPH06205395A (en) Memory device for dynamic image signal processor using movement compensation
US8184709B2 (en) Low-power and high-throughput design of fast motion estimation VLSI architecture for multimedia system-on-chip design
US6611559B1 (en) Apparatus and method of detecting motion vectors by calculating a correlation degree between each candidate block
EP0632657A1 (en) Method of prediction of a video image
EP0577418B1 (en) Apparatus for motion compensation coding of digital video signal
US20050105620A1 (en) Motion vector detecting device and motion vector detecting program
JP2755851B2 (en) Moving picture coding apparatus and moving picture coding method
KR100286818B1 (en) Fast motion estimating method for real-time video coding

Legal Events

Date Code Title Description
AS Assignment

Owner name: MITSUBISHI DENKI KABUSHIKI KAISHA, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:OKUMURA, SEIJI;HATANO, YOSHIKO;REEL/FRAME:011494/0632;SIGNING DATES FROM 20001213 TO 20001218

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20100702