Method for inconspicuously adding tracking data in coded images
AssigneeSharp Laboratories of America, Inc.
InventorsLarry Alan Westerman, Wenjun Zeng
Life of this patent
Estimating the term…
Abstract
A method embeds tracking data into image graphics data that represents the image according to a first colorspace. The tracking data is embedded during encoding in black or white locations of the image, as variations of the chrominance coefficients. When the resulting data is converted into a second color space, the user tracking data does not alter the eventual visual image. Decoding methods are also provided for extracting the tracking data.
Claims22
A method for adding to graphics data representing an image according to a first colorspace tracking data that does not represent the image, for subsequent mapping of the graphics data into a second colorspace distinct from the first colorspace according to a predefined gamut transform, the second colorspace including a limited usable range of values for color representation, the method comprising:
- identifying a host color within the first colorspace corresponding to a value that is in the usable range of the second colorspace according to the predefined gamut transform, the host color being associated with at least one null point within the first colorspace, the null point corresponding to a blind point that is outside the usable range of the second colorspace according to the predefined gamut transform;
- identifying at least one host location in the image having an image color similar to the host color;
- and
- modulating the graphics data with the tracking data such that the host image location will subsequently map data into the blind point of the second colorspace according to the predefined gamut transform.
A method for encoding graphics data representing an image while adding tracking data unrelated to representing the image comprising:
- encoding a substantially non-zero luminance component and a chrominance component for the graphics data according to a first colorspace;
- and
- determining whether a usable range for color representation in a second colorspace distinct from the first colorspace for values of a generic chrominance component corresponding to the encoded luminance component is more limited than a preset nominally available range for encoding in the first colorspace, and if so embedding the tracking data into the encoded chrominance component such that a resulting chrominance component corresponds to a value outside the usable range of the second colorspace prior to any truncation.
A method for encoding graphics data representing an image while adding tracking data unrelated to representing the image comprising:
- encoding a luminance component and a chrominance component for the graphics data according to a first colorspace;
- determining whether a usable range for color representation in a second colorspace distinct from the first colorspace for values of a generic chrominance component corresponding to the encoded luminance component is more limited than a preset nominally available range for encoding in the first colorspace, and if so, embedding the tracking data into the encoded chrominance component such that a resulting chrominance component corresponds to a value outside the usable range of the second colorspace prior to any truncation, and
- wherein the tracking data is embedded in connection with an End-Of-Block pattern of the encoded chrominance component.
A method for encoding graphics data representing an image while adding tracking data unrelated to representing the image comprising:
- encoding a luminance component and a chrominance component for the graphics data according to a first colorspace;
- determining whether a usable range for color representation in a second colorspace distinct from the first colorspace for values of a generic chrominance component corresponding to the encoded luminance component is more limited than a preset nominally available range for encoding in the first colorspace, and if so, embedding the tracking data into the encoded chrominance component such that a resulting chrominance component corresponds to a value outside the usable range of the second colorspace prior to any truncation, and
- wherein the tracking data is embedded in connection with an Escape sequence of the encoded chrominance component.
A method for encoding graphics data representing an image while adding tracking data unrelated to representing the image comprising:
- encoding a substantially non-zero luminance component for the graphics data according to a first colorspace;
- and
- determining whether a usable range for representing color in a second colorspace distinct from the first colorspace for values of a generic chrominance component corresponding to the luminance component is more limited than a preset nominally available range in the first colorspace, and if so preparing an encoded chrominance component that corresponds to the luminance component, includes the tracking data, and corresponds to a value outside the usable range of the second colorspace prior to any truncation.
A method for encoding graphics data representing an image while adding tracking data unrelated to representing the image comprising:
- encoding a luminance component for the graphics data according to a first colorspace;
- determining whether a usable range for representing color in a second colorspace distinct from the first colorspace for values of a generic chrominance component corresponding to the luminance component is more limited than a preset nominally available range in the first colorspace, and if so preparing an encoded chrominance component that corresponds to the luminance component, includes the tracking data, and corresponds to a value outside the usable range of the second colorspace prior to any truncation;
- and
- wherein the tracking data is placed in connection with an End-Of-Block pattern of the encoded chrominance component.
A method for encoding graphics data representing an image while adding tracking data unrelated to representing the image comprising:
- encoding a luminance component for the graphics data according to a first colorspace;
- determining whether a usable range for representing color in a second colorspace distinct from the first colorspace for values of a generic chrominance component corresponding to the luminance-component is more limited than a preset nominally available range in the first colorspace, and if so preparing an encoded chrominance component that corresponds to the luminance component, includes the tracking data, and corresponds to a value outside the usable range of the second colorspace prior to any truncation;
- and
- wherein the tracking data is placed in connection with an Escape sequence of the encoded chrominance component.
A method for decoding data comprising:
- decoding a block of a substantially non-zero luminance component of the data that was encoded according to a first colorspace;
- selecting a block of a chrominance component of the data that corresponds to the luminance block data;
- determining whether a usable range for representing color in a second colorspace distinct from the first colorspace for values of a generic chrominance data block corresponding to the luminance data block is more limited than a preset nominally available range for encoding in the first colorspace, and if so, extracting from the selected chrominance block tracking data corresponding to a value that is outside the usable range of the second colorspace prior to any truncation.
A method for decoding data comprising:
- decoding a block of a luminance component of the data that was encoded according to a first colorspace;
- selecting a block of a chrominance component of the data that corresponds to the luminance block data;
- determining whether a usable range for representing color in a second colorspace distinct from the first colorspace for values of a generic chrominance data block corresponding to the luminance data block is more limited than a preset nominally available range for encoding in the first colorspace, and if so, extracting from the selected chrominance block tracking data corresponding to a value that is outside the usable range of the second colorspace prior to any truncation;
- and
- decoding the selected chrominance block after extracting the tracking data.
A method for decoding data comprising:
- decoding a block of a luminance component of the data that was encoded according to a first colorspace;
- selecting a block of a chrominance component of the data that corresponds to the luminance block data;
- determining whether a usable range for representing color in a second colorspace distinct from the first colorspace for values of a generic chrominance data block corresponding to the luminance data block is more limited than a preset nominally available range for encoding in the first colorspace, and if so, extracting from the selected chrominance block tracking data corresponding to a value that is outside the usable range of the second colorspace prior to any truncation;
- and
- further comprising setting coefficients of the chrominance block data to preset values after extracting the tracking data.
A method for decoding data comprising:
- decoding a block of a luminance component of the data that was encoded according to a first colorspace;
- selecting a block of a chrominance component of the data that corresponds to the luminance block data;
- determining whether a usable range for representing color in a second colorspace distinct from the first colorspace for values of a generic chrominance data block corresponding to the luminance data block is more limited than a preset nominally available range for encoding in the first colorspace, and if so, extracting from the selected chrominance block tracking data corresponding to a value that is outside the usable range of the second colorspace prior to any truncation;
- and
- setting coefficients of the chrominance block data to a midrange value after extracting the tracking data.
Dependencies are inferred from the claim text.