Method of detecting the movement of an entity equipped with an image sensor and device for implementing same
AssigneeSTMicroelectronics S.r.l.
InventorPascal Mellot
Life of this patent
Estimating the term…
Abstract
In relation to a current image from a sequence of images captured by an image sensor, in a first step, a temporary motion vector is determined as a function of reference data comprising a preceding image and a motion vector associated to the preceding image. Then, in a second step, if the temporary motion vector does not satisfy a reliability criterion, the first step is repeated in relation to a following image, on the basis of the same reference data. Otherwise, the temporary motion vector is associated with the current image.
Claims41
A method for detecting motion of an entity equipped with a sensor capturing a sequence of images to be processed, the method comprising using at least one processor to perform the following steps:
- determining a temporary motion vector relating to a current image as a function of reference data comprising a preceding image and a movement vector associated with the preceding image, wherein determining the temporary motion vector relating to the current image comprises:
- generating k candidate vectors by adding, to a reference motion vector selected from among a set of vectors including at least one movement vector associated with a previous processed image, respectively k search vectors, k being an integer greater than 1;
- and
- selecting a motion vector from among the k candidate vectors as a function of a selection rule;
- when the temporary motion vector relating to the current image does not satisfy a reliability criterion, indicating the temporary motion vector relating to the current image is not reliable, determining a temporary motion vector relating to a following image, on the basis of the same reference data;
- and
- when the temporary motion vector relating to the current image satisfies the reliability criterion, indicating the temporary motion vector relating to the current image is reliable, setting a movement vector associated with the current image equal to the temporary motion vector, wherein an amplitude of search vectors of a first generating of k candidate vectors is determined by selecting a highest value from amongst a threshold amplitude, a horizontal component divided by two of the movement vector associated with the preceding processed image and a vertical component divided by two of the movement vector associated with the preceding processed image.
A device for detecting movement of an entity equipped with a mobile sensor comprising:
- a determination unit configured to:
- receive a current image and reference data at an input;
- generate k motion candidate vectors by adding to a reference motion vector selected from among a set of vectors including at least one movement vector associated with a previous processed image, respectively k search vectors, k being an integer greater than 1;
- select a motion vector from among the k candidate vectors as a function of a selection rule;
- repeat the generating k candidate vectors and selecting m times, the reference motion vector being for repetitions of the generating k candidate vectors, the motion vector selected in a previous iteration, m being an integer greater than or equal to 1;
- and
- provide a temporary motion vector which is a vector obtained in a last iteration of the repeating and selecting;
- a test unit configured to receive the temporary motion vector provided by the determination unit and,
- if the temporary motion vector satisfies a reliability criteria indicating the temporary motion vector is reliable, to set a movement vector associated with the current image equal to the temporary motion vector and store the current image associated with the movement vector and the movement vector in a memory;
- and
- to supply another current image to the determination unit via an image selection unit if the temporary motion vector does not satisfy the reliability criterion, indicating the temporary motion vector is not reliable;
- an image selection unit configured to select the image within the sequence of captured images and to supply the image to the determination unit;
- and
- a reference data selection unit configured to select reference data comprising the selected image and the associated movement vector and to deliver the selected reference data to the determination unit after each data storing in the memory, wherein an amplitude of search vectors of a first generating of k candidate vectors is determined by selecting a highest value from amongst a threshold amplitude, a horizontal component divided by two of the movement vector associated with the preceding processed image and a vertical component divided by two of the movement vector associated with the preceding processed image.
A system for processing image sequences, comprising:
- a memory configured to store reference data associated with images in an image sequence, the reference data comprising reference vectors associated with respective images;
- a temporary motion vector generator configured to generate a temporary motion vector for an image in the image sequence based on stored reference data associated with a previous image in the image sequence, wherein the temporary motion vector generator comprises a candidate vector generator configured to generate a sequence of sets of a plurality of candidate vectors associated with the image in the image sequence, the candidate vector generator configured to generate the first set of candidate vectors associated with the image by adding a set of search vectors to a reference vector associated with a previous image, wherein the candidate vector generator is configured to determine an amplitude of the set of search vectors by selecting a highest value from amongst a threshold amplitude, a horizontal component divided by two of the reference vector associated with the previous image and a vertical component divided by two of the reference vector associated with the previous image;
- and
- a motion vector verifier configured to determine whether a temporary motion vector generated by the temporary motion vector generator satisfies a reliability criteria indicating the temporary motion vector generated by the temporary motion vector generator is reliable, wherein when the reliability criteria indicates the temporary motion vector is reliable, the system is configured to set a reference vector equal to the temporary motion vector and associate the reference vector with the image, and when the reliability criteria indicates the temporary motion vector is not reliable, the temporary motion vector generator is configured to generate a revised temporary motion vector for a subsequent image in the image sequence based on the stored reference data associated with the previous image in the image sequence.
A system for processing image sequences, comprising:
- means for receiving an image sequence;
- means for generating a temporary motion vector including means for iteratively selecting a motion vector for an image in the image sequence from a sequence of sets of candidate vectors, wherein a first set of candidate vectors is generated by adding a set of search vectors to a movement vector associated with a previous image and an amplitude of the set of search vectors is determined by selecting a highest value from amongst a threshold amplitude, a horizontal component divided by two of the movement vector associated with the previous image and a vertical component divided by two of the movement vector associated with the previous image;
- and
- means for determining whether the temporary motion vector satisfies a reliability criteria indicating the temporary motion vector is reliable, wherein when the reliability criteria indicates the temporary motion vector is reliable, the means for determining causes the system to set a movement vector equal to the temporary motion vector and associate the movement vector with the image, and when the reliability criteria indicates the temporary motion vector is not reliable, the means for determining causes the means for generating motion vector generator to generate a revised temporary motion vector for a subsequent image in the image sequence based on the motion vector associated with the previous image.
A non-transitory computer-readable memory medium containing instructions for causing a controller to process an image sequence by performing a method comprising:
- determining a temporary motion vector relating to a current image as a function of reference data comprising a preceding image and a movement vector associated with the preceding image, wherein the determining comprises:
- generating a first set of candidate vectors by adding a set of search vectors to the movement vector associated with the preceding image, wherein an amplitude of the set of search vectors is determined by selecting a highest value from amongst a threshold amplitude, a horizontal component divided by two of the movement vector associated with the preceding image and a vertical component divided by two of the movement vector associated with the preceding image;
- and
- selecting a first motion vector from the first set of candidate vectors as a function of a selection criteria;
- when the temporary motion vector relating to the current image does not satisfy a reliability criterion, indicating the temporary motion vector is not reliable, determining a temporary motion vector relating to a following image, on the basis of the same reference data;
- and
- when the temporary motion vector relating to the current image satisfies the reliability criterion, indicating the temporary motion vector is reliable, setting a movement vector equal to the temporary motion vector and associating the movement vector with the current image.
A method, comprising:
- selecting, using at least one processor, images in a sequence of images captured by a sensor, the selecting including:
- determining a temporary motion vector relating to a current image as a function of reference data comprising a preceding image and a movement vector associated with the preceding image, wherein determining the temporary motion vector relating to the current image includes generating k candidate vectors by adding, to a reference motion vector, respectively k search vectors, a first set of k search vectors having an amplitude determined by selecting a highest value from amongst a threshold amplitude, a horizontal component divided by two of the movement vector associated with the preceding image and a vertical component divided by two of the movement vector associated with the preceding image;
- determining whether the temporary motion vector satisfies a reliability criteria;
- when the temporary motion vector does not satisfy the reliability criteria, not selecting the current image;
- and
- when the temporary motion vector satisfies the reliability criteria, selecting the current image and associating a movement vector with the current image, the movement vector associated with the current image being equal to the temporary motion vector, wherein the reliability criteria is not satisfied when a magnitude of the temporary motion vector is less than a threshold value;
- and
- generating display control signals based on a set of movement vectors limited to movement vectors based on temporary motion vectors satisfying the reliability criteria.
A device, comprising:
- a memory configured to store images and reference data including movement vectors;
- a determination unit configured to receive stored images and reference data and to generate temporary motion vectors relating to respective images, the temporary motion vectors being determined as a function of the reference data, wherein the determination unit is configured to generate k candidate vectors by adding, to a reference motion vector, respectively k search vectors and to determine an amplitude of a first set of k search vectors by selecting a highest value from amongst a threshold amplitude, a horizontal component divided by two of a movement vector associated with a preceding image and a vertical component divided by two of the movement vector associated with the preceding image;
- a test unit configured to:
- receive temporary motion vectors generated by the determination unit;
- determine whether received temporary motion vectors satisfy a reliability criteria, wherein the test unit is configured to determine a received motion vector does not satisfy the reliability criteria when a magnitude of the received temporary motion vector is less than a threshold value;
- when the test unit determines the reliability criteria is satisfied by the received temporary motion vector, associate a movement vector based on the received temporary motion vector with the related image and store the associated movement vector and related image in the memory;
- when the test unit determines the reliability criteria is not satisfied by the received temporary motion vector, cause a subsequent image to be provided to the determination unit;
- and
- provide a set of the movement vectors to generate display control signals, the set limited to movement vectors based on temporary motion vectors satisfying the reliability criteria.
A system for processing image sequences, comprising:
- a memory configured to store reference data associated with images in an image sequence, the reference data comprising reference vectors associated with respective images;
- a temporary motion vector generator configured to generate temporary motion vectors for images in the image sequence based on stored reference data associated with a previous image in the image sequence, wherein the temporary motion vector generator is configured to generate k candidate vectors by adding, to a reference motion vector, respectively k search vectors and to determine an amplitude of a set of k search vectors by selecting a highest value from amongst a threshold amplitude, a horizontal component divided by two of a reference vector associated with a preceding image and a vertical component divided by two of the reference vector associated with the preceding image;
- and
- a motion vector verifier configured to:
- determine whether temporary motion vectors generated by the temporary motion vector generator satisfy a reliability criteria, wherein the motion vector verifier is configured to determine that a generated temporary motion vector does not satisfy the reliability criteria when a magnitude of the generated temporary motion vector is less than a threshold value;
- when the test unit determines the reliability criteria is satisfied by the generated temporary motion vector, storing the generated temporary motion vector in the memory as a reference vector associated with an image in the image sequence;
- and
- when the test unit determines the reliability criteria is not satisfied by the generated temporary motion vector, generate control signals to cause the temporary motion vector generator to generate a temporary motion vector for a subsequent image in the image sequence;
- and
- a video processor configured to generate video signals based on a set of temporary motion vectors, the set limited to temporary motion vectors satisfying the reliability criteria.
A system, comprising:
- means for selecting images in a sequence of images captured by a sensor, the means for selecting including:
- means for generating temporary motion vectors relating to current images as a function of reference data comprising a preceding image and a movement vector associated with the preceding image, the means for generating temporary motion vectors including means for determining an amplitude of a set of search vectors by selecting a highest value from amongst a threshold amplitude, a horizontal component divided by two of the movement vector associated with the preceding image and a vertical component divided by two of the movement vector associated with the preceding image;
- means for determining whether temporary motion vectors satisfy a reliability criteria, wherein the reliability criteria is not satisfied when a magnitude of a respective temporary motion vector is less than a threshold value;
- and
- means for selecting images with related temporary motion vectors that satisfy the reliability criteria and associating the respective images with movement vectors based on the related temporary motion vectors;
- and
- means for generating video control signals based on a set of movement vectors, the set limited to movement vectors based on temporary motion vectors satisfying the reliability criteria.
A non-transitory computer-readable memory medium containing instructions for causing a controller to process an image sequence by performing a method comprising:
- selecting images in a sequence of images captured by a sensor, the selecting including:
- determining a temporary motion vector relating to a current image as a function of reference data comprising a preceding image and a movement vector associated with the preceding image, wherein determining the temporary motion vector relating to the current image includes generating k candidate vectors by adding, to a reference motion vector, respectively k search vectors and determining an amplitude of the k search vectors by selecting a highest value from amongst a threshold amplitude, a horizontal component divided by two of the movement vector associated with the preceding image and a vertical component divided by two of the movement vector associated with the preceding image;
- determining whether the temporary motion vector satisfies a reliability criteria;
- when the temporary motion vector does not satisfy the reliability criteria, not selecting the current image;
- and
- when the temporary motion vector satisfies the reliability criteria, selecting the current image and associating a movement vector with the current image based on the temporary motion vector, wherein the reliability criteria is not satisfied when a magnitude of the temporary motion vector is less than a threshold value;
- and
- generating display control signals based on a set of temporary motion vectors limited to the temporary motion vectors satisfying the reliability criteria.
Dependencies are inferred from the claim text.