Method and apparatus for determining motion vectors for image sequences
AssigneeThe Trustees of Princeton University
InventorsAndre Zaccarin, Bede Liu
Life of this patent
Estimating the term…
Abstract
In an imaging system, block based motion estimation is used to determine motion vectors for blocks of pixels in a current frame or field. Only a portion of blocks from a predetermined pattern of blocks in a current frame or field are searched for a match with a block of pixels in a previous frame or field over a designated search area. Motion vectors for the blocks of the current frame or field not selected for searching are obtained by interpolation from motion vectors obtained for associated searched neighboring blocks, respectively.
Claims25
A method for determining motion vectors in an imaging system producing successive frames and/or fields each of a lattice of pixels, said method comprising the steps of:
- dividing each frame or field into blocks of pixels;
- forming a pattern of first and second groups of said blocks for each of said frames or fields;
- selecting one of said first and second groups of said blocks in said pattern of a current frame or field for further processing;
- identifying for each selected block a block from a previous frame or field representative of said selected block;
- and
- calculating from the difference in position of each of said selected blocks and associated representative blocks, respectively, the motion vectors for each of said selected blocks in the current frame or field.
A method for determining motion vectors in an imaging system, said imaging system producing successive frames and/or fields each of a lattice of pixels, with each frame or field representing an image at a given instant in time, said method comprising the steps of:
- dividing each frame or field into blocks of pixels;
- forming a pattern of first and second groups of said blocks for each of said frames or fields;
- identifying one of said first and second groups of said blocks in said pattern as blocks to be involved for further processing in a full search;
- designating a search area in a previous frame or field;
- selecting from a current frame or field one of said blocks identified for a full search;
- searching in said designated search area of said previous frame or field for a block of pixels therein that best matches the selected block from said current frame or field;
- and
- determining the difference between relative positions of said selected block in said current frame or field, and the block best matched thereto in the search area of said previous frame or field, for obtaining the motion vector indicative of movement of said selected block between said previous and current frames or fields.
A block motion estimation system for motion compensation coding image sequences comprising:
- a first memory for storing a current frame or field of pixels;
- a second memory for storing a previous frame or field of pixels for an associated image;
- selection means for selecting one of a first and second groups of blocks from a predetermined pattern of said blocks in said first memory, for further processing;
- identification means for identifying for each selected block a block of pixels from said previous frame or field stored in said second memory, that is representative of said selected block;
- and
- means for calculating from the difference in position of each of said selected blocks in said current frame or field, and associated representative blocks in said previous frame or field, respectively, the motion vectors for each of said selected blocks in the current frame or field.
A method for determining motion vectors in an imaging system producing successive frames and/or fields each of a lattice of pixels, said method comprising the steps of:
- dividing each frame or field into blocks of pixels;
- selecting one of said blocks at a time from a current frame or field for processing;
- forming a sparse pattern of pixels for each one of said selected block of pixels;
- selecting a portion of said pattern of pixels for said selected block;
- designating a search area in said previous frame or field for said selected block in said current frame or field;
- searching in said designated search areas for the block that best matches or represents the associated selected sparse pattern portion of the selected block in said current frame or field;
- calculating from the difference in position of said selected block and identified representative block, the motion vector for said selected block in the current frame or field;
- and
- repeating said selecting, designating, searching, and calculating steps for each block of said current frame or field.
A method for determining motion vectors in an imaging system producing successive frames and/or fields each of a lattice of pixels, said method comprising the steps of:
- dividing each frame or field into blocks of pixels;
- forming a pattern of said blocks for each of said frames or fields;
- selecting a portion of various ones of said blocks in said pattern of a current frame or field;
- identifying for each selected block a block from a previous frame or field representative of said selected block;
- calculating from the difference in position of each of said selected blocks and associated representative blocks, respectively, the motion vectors for each of said selected blocks in the current frame or field;
- and
- determining the motion vectors for each one of unselected blocks in said pattern by using the motion vectors for associated neighboring selected blocks of said unselected blocks, respectively.
A method for determining motion vectors in an imaging system, said imaging system producing successive frames and/or fields each of a lattice of pixels, with each frame or field representing an image at a given instant in time, said method comprising the steps of:
- dividing each frame or field into blocks of pixels;
- forming a pattern of said blocks for each of said frames or fields;
- identifying a portion of various ones of said blocks in said pattern as blocks to be involved in a full search;
- designating a search area in a previous frame or field;
- selecting from a current frame or field one of said blocks identified for a full search;
- searching in said designated search area of said previous frame or field for a block of pixels therein that best matches the selected block from said current frame or field;
- determining the difference between relative positions of said selected block in said current frame or field, and the block best matched thereto in the search area of said previous frame or field, for obtaining the motion vector indicative of movement of said selected block between said previous and current frames or fields;
- successively repeating said designating, selecting, searching, and determining steps in a repetitive manner, for obtaining the motion vectors for each of said block identified for a full search;
- selecting one of said blocks of said pattern not identified for a full search;
- and
- determining the motion vector associated with the selected unsearched block by either selecting from amongst motion vectors from neighboring blocks that were fully searched, or by interpolating from these motion vectors.
A method for determining motion vectors in an imaging system, said imaging system producing successive frames and/or fields each of a lattice of pixels, with each frame or field representing an image at a given instant in time, said method comprising the steps of:
- dividing each frame or field into blocks of pixels;
- forming a pattern of said blocks for each of said frames or fields;
- identifying a portion of various ones of said blocks in said pattern as blocks to be involved in a full search;
- designating a search area in a previous frame or field;
- selecting from a current frame or field one of said blocks identified for a full search;
- searching in said designated search area of said previous frame or field for a block of pixels therein that best matches the selected block from said current frame or field;
- determining the difference between relative positions of said selected block in said current frame or field, and the block best matched thereto in the search area of said previous frame or field, for obtaining the motion vector indicative of movement of said selected block between said previous and current frames or fields;
- successively repeating said designating, selecting, searching, and determining steps in a repetitive manner, for obtaining the motion vectors for each of said blocks identified for a full search;
- selecting one of said blocks of said pattern not identified for a full search;
- determining the motion vector associated with the selected unsearched block by either selecting from amongst motion vectors from neighboring blocks that were fully searched, or by interpolating from these motion vectors;
- and
- successively repeating said selecting and motion vector determining steps for an unsearched block, in a repetitive manner for each of said blocks not identified for a full search.
A block motion estimation system for motion compensation coding image sequences comprising:
- a first memory for storing a current frame or field of pixels;
- a second memory for storing a previous frame or field of pixels for an associated image;
- selection means for selecting from a predetermined pattern of said blocks in said first memory, either all or a portion of various ones of said blocks in said pattern;
- identification means for identifying for each selected block a block of pixels from said previous frame or field stored in said second memory, that is representative of said selected block;
- means for calculating from the difference in position of each of said selected blocks in said current frame or field, and associated representative blocks in said previous frame or field, respectively, the motion vectors for each of said selected blocks in the current frame or field;
- and
- said calculating means further including means for determining motion vectors for the unselected ones of said blocks from the predetermined pattern thereof, the determination being made by using motion vectors of neighboring ones of selected blocks relative to unselected blocks, respectively.
Dependencies are inferred from the claim text.