Enhanced motion estimation method, video encoding method and apparatus using the same
AssigneeSamsung Electronics Co., Ltd.
InventorsJin-young Kim, Hyo-jung Song, Jun-sung Park
Life of this patent
Estimating the term…
Abstract
A motion estimation method for enhancing a video compression speed, and a video encoder using the same are provided. The motion estimation method includes determining a global motion type of a previous frame from motion vectors of the previous frame, setting a search area for a specified motion block included in a current frame based on the global motion type, and searching for a motion vector within the set search area.
Claims26
A motion estimation method comprising:
- determining whether a global motion type of a previous frame based on motion vectors of the previous frame exists;
- if it is determined that the global motion type exists, setting a search area, and then setting a preferential area for preferentially searching for a motion vector for a motion block included in a current frame in the search area based on the global motion type;
- if it is determined that the global motion type does not exist, determining a representative direction of motion vectors obtained through full search of a partial area of the current frame, and determining a preferential area for another area among the current frame in accordance with the representative direction of the motion vectors obtained through full search of the partial area of the current frame;
- determining whether the preferential area exists in the motion block;
- if it is determined that the preferential area exists in the motion block, searching for the motion vector within the preferential area, and if the motion vector is not found in the preferential area, searching for the motion vector in another area in the search area;
- and
- if it is determined that the preferential area does no exist in the motion block, searching for the motion vector in an entire area of the search area.
A motion estimation method comprising:
- determining a global motion type of a previous frame based on motion vectors of the previous frame;
- setting a search area, and then setting a preferential area for preferentially searching for a motion vector for a motion block included in a current frame in the search area based on the global motion type;
- and
- searching for the motion vector within the preferential area, and if the motion vector is not found in the preferential area, searching for the motion vector in another area in the search area,
- wherein the determining the global motion type of the previous frame comprises:
- determining direction classes to which the motion vectors of the previous frame belong;
- determining a representative direction that represents the direction classes belonging to a specified area among the direction classes;
- and
- determining the global motion type based on the representative direction,
- wherein the direction class is one of eight direction classes formed by dividing 360 degrees into eight sections, and
- wherein the eight sections are created by four lines:
- y=kx, y=kx, y=x/m, and y=x/m, wherein k and m are positive, real numbers.
A video encoding method comprising:
- obtaining a motion vector of a current frame based on a reference frame;
- performing motion compensation on the reference frame using the motion vector and generating a predicted frame;
- and
- encoding a difference between the current frame and the predicted frame,
- wherein the obtaining the motion vector comprises:
- determining whether a global motion type of a previous frame based on motion vectors of the previous frame exists;
- if it is determined that the global motion type exists, setting a search area, and then setting a preferential area for preferentially searching for a motion vector for a motion block included in the current frame in the search area based on the global motion type;
- if it is determined that the global motion type does not exist, determining a representative direction of motion vectors obtained through full search of a partial area of the current frame, and determining a preferential area for another area among the current frame in accordance with the representative direction of the motion vectors obtained through full search of the partial area of the current frame;
- determining whether the preferential area exists in the motion block;
- if it is determined that the preferential area exists in the motion block, searching for the motion vector within the preferential area, and if the motion vector is not found in the preferential area, searching for the motion vector in another area in the search area;
- and
- if it is determined that the preferential area does not exist in the motion block, searching for the motion vector in an entire area of the search area.
A video encoder comprising:
- a motion estimation unit which obtains a motion vector of a current frame with reference to a reference frame;
- a motion compensation unit which motion-compensates the reference frame using the motion vector obtained through the motion estimation and generating a predicted frame;
- and
- an encoding unit which encodes a difference between the current frame and the predicted frame,
- the motion estimation unit comprising:
- a global motion judgment unit which determines a global motion type of a previous frame based on motion vectors of the previous frame;
- a search area setting unit which sets a search area, and then sets a preferential area for preferentially searching for a motion vector for a motion block included in the current frame in the search area based on the global motion type if it is determined that the global motion type exists;
- and
- a motion vector searching unit which searches for the motion vector,
- wherein the search area setting unit determines a representative direction of motion vectors obtained through full search of a partial area of the current frame and determines a preferential area for another area among the current frame in accordance with the representative direction of the motion vectors obtained through full search of the partial area of the current frame if it is determined that the global motion type does not exist, and
- wherein the motion vector searching unit searches for the motion vector within the preferential area if it is determined that the preferential area exists in the motion block, searches for the motion vector in another area in the search area if the motion vector is not found in the preferential area, and if it is determined that the preferential area does not exist in the motion block, searches for the motion vector in an entire area of the search area.
A non-transitory recording medium recording a computer-readable program for executing a motion estimation method, the motion estimation method comprising:
- determining whether a global motion type of a previous frame based on motion vectors of the previous frame exists;
- if it is determined that the global motion type exists, setting a search area, and then setting a preferential area for preferentially searching for a motion vector for a motion block included in a current frame in the search area based on the global motion type;
- if it is determined that the global motion type does not exist, determining a representative direction of motion vectors obtained through full search of a partial area of the current frame, and determining a preferential area for another area among the c ent frame in accordance with the representative direction of the motion vectors obtained through full search of the partial area of the current frame;
- determining whether the preferential area exists in the motion block;
- if it is determined that the preferential area exists in the motion block, searching for the motion vector within the preferential area, and if the motion vector is not found in the preferential area, searching for the motion vector in another area in the search area;
- and
- if it is determined that the preferential area does not exist in the motion block, searching for the motion vector in an entire area of the search area.
Dependencies are inferred from the claim text.