Motion estimation using block matching indexing
AssigneeSkype
InventorsLazar Bivolarsky, Renat Vafin, Mattias Nilsson, Soren Vang Andersen
Life of this patent
Estimating the term…
Abstract
A method of compressing video data, the method comprising: providing image data for each of a plurality of image portions; determining an index value for each of said image portions based on the respective image data; for a target image portion to be encoded, identifying a matching image portion having an index value within a search threshold of the index value of the target image portion; and generating difference data for the target image portion relative to the matching image portion, and including the difference data in an encoded video signal.
Claims19
A method of compressing video data, the method being performed by a computer, the method comprising:
- providing image data for each of a plurality of image portions;
- determining an index value for each of said image portions based on the respective image data, the index value representing an aggregate of coefficients for each of said image portions, the aggregate of coefficients comprising one of:
- a number of zero or non-zero coefficients in each of said image portions,
- an average of a moduli of coefficients in each of said image portions, or
- a total value of the moduli of coefficients in each of said image portions;
- for one of said image portions being a target image portion to be encoded and having a determined index value, setting a threshold value and searching all of said image portions having index values inside a range of index values for a matching image portion that matches the target image portion, the range of index values being defined by the determined index value of the target image portion to be encoded minus the threshold value to the determined index value of the target image portion to be encoded plus the threshold value, the threshold value being set so that the range of index values does not include index values for all of said image portions;
- and
- generating difference data for the target image portion relative to the matching image portion, and including the difference data in an encoded video signal.
A computer storage memory having instructions stored thereon that, when executed by a processor, performs a method comprising:
- providing image data for each of a plurality of image portions;
- determining an index value for each of said image portions based on the respective image data, the index value representing an aggregate of coefficients for each of said image portions;
- for one of said image portions being a target image portion to be encoded and having a determined index value, set a threshold value and search all of said image portions having index values inside a range of index values for a matching image portion that matches the target image portion, the range of index values being defined by the determined index value of the target image portion to be encoded minus the threshold value to the determined index value of the target image portion to be encoded plus the threshold value, the threshold value being set so that the range of index values does not include index values for all of said image portions;
- and
- generating difference data for the target image portion relative to the matching image portion, and including the difference data in an encoded video signal.
A method of transmitting video data from a transmitting terminal to a recipient terminal, the method comprising:
- generating a stream of video data representing a moving image;
- compressing the video data by:
- providing image data for each of a plurality of image portions of the video data;
- determining an index value for each of said image portions based on the respective image data, the index value representing an aggregate of coefficients for each of said image portions;
- for one of said image portions being a target image portion to be encoded and having a determined index value, setting a threshold value and searching all of said image portions having index values inside a range of index values for a matching image portion that matches the target image portion, the range of index values being defined by the determined index value of the target image portion to be encoded minus the threshold value to the determined index value of the target image portion to be encoded plus the threshold value, the threshold value being set so that the range of index values does not include index values for all of said image portions;
- and
- generating difference data for the target image portion relative to the matching image portion, and including the difference data in an encoded video signal;
- and
- transmitting the difference data as part of an encoded video stream.
Dependencies are inferred from the claim text.