System and method for encoding and authenticating a digital image
First Claim
Patent Images
1. A method for encoding a digital image, comprising:
- capturing a digital image comprising a plurality of pixels;
partitioning the digital image into two or more working areas, the two or more working areas including a first working area having a first set of one or more pixels and a second working area having a second set of one or more pixels;
generating a first code from the first set of one or more pixels;
overlaying the second set of one or more pixels with an image representing the first code; and
encoding the first code into the second set of one or more pixels, wherein the digital image is overlaid with identifying information and embedded with metadata, and wherein encoding the first code into the second set of one or more pixels comprises;
collecting the metadata in a character string;
selecting a first character of the metadata for encoding;
selecting a first randomly-ordered character set from an ordered plurality of randomly ordered-character sets based on an index for the first randomly-ordered character set, wherein each character in the first randomly ordered character set is assigned a position code;
matching the first character of the metadata to a corresponding character in the first randomly-ordered character set;
converting the position code of the corresponding character in the first randomly-ordered character set into a three-digit base-n number; and
encoding a first pixel in the second set of one or more pixels with an RGB color code comprising the three-digit base-n number.
1 Assignment
0 Petitions
Accused Products
Abstract
An encoding apparatus partitions a digital image into multiple regions for subsequent encoding. A first encryption code is associated with a first region, a second encryption code is associated with a second region and the first code, and a third code is associated with the first code, the second code and a third region. An authentication apparatus authenticates the digital image in an inverse process.
26 Citations
64 Claims
-
1. A method for encoding a digital image, comprising:
-
capturing a digital image comprising a plurality of pixels; partitioning the digital image into two or more working areas, the two or more working areas including a first working area having a first set of one or more pixels and a second working area having a second set of one or more pixels; generating a first code from the first set of one or more pixels; overlaying the second set of one or more pixels with an image representing the first code; and encoding the first code into the second set of one or more pixels, wherein the digital image is overlaid with identifying information and embedded with metadata, and wherein encoding the first code into the second set of one or more pixels comprises; collecting the metadata in a character string; selecting a first character of the metadata for encoding; selecting a first randomly-ordered character set from an ordered plurality of randomly ordered-character sets based on an index for the first randomly-ordered character set, wherein each character in the first randomly ordered character set is assigned a position code; matching the first character of the metadata to a corresponding character in the first randomly-ordered character set; converting the position code of the corresponding character in the first randomly-ordered character set into a three-digit base-n number; and encoding a first pixel in the second set of one or more pixels with an RGB color code comprising the three-digit base-n number. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus for encoding a digital image, comprising:
-
a processor; and a memory comprising processor executable code that, when executed by the processor, configures the apparatus to; capture a digital image comprising a plurality of pixels; partition the digital image into two or more working areas, the two or more working areas including a first working area having a first set of one or more pixels and a second working area having a second set of one or more pixels; generate a first code from the first set of one or more pixels; overlay the second set of one or more pixels with an image representing the first code; and encode the first code into the second set of one or more pixels, wherein the digital image is overlaid with identifying information and embedded with metadata, and wherein encoding the first code into the second set of one or more pixels comprises; collecting the metadata in a character string; selecting a first character of the metadata for encoding; selecting a first randomly-ordered character set from an ordered plurality of randomly ordered-character sets based on an index for the first randomly-ordered character set, wherein each character in the first randomly ordered character set is assigned a position code; matching the first character of the metadata to a corresponding character in the first randomly-ordered character set; converting the position code of the corresponding character in the first randomly-ordered character set into a three-digit base-n number; and encoding a first pixel in the second set of one or more pixels with an RGB color code comprising the three-digit base-n number. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. An article of manufacture, comprising a non-transitory machine-readable storage medium containing instructions that, when executed by a machine configures the machine to perform operations, comprising:
-
capturing a digital image comprising a plurality of pixels; partitioning the digital image into two or more working areas, the two or more working areas including a first working area having a first set of one or more pixels and a second working area having a second set of one or more pixels; generating a first code from the first set of one or more pixels; overlaying the second set of one or more pixels with an image representing the first code; and encoding the first code into the second set of one or more pixels, wherein the digital image is overlaid with identifying information and embedded with metadata, and wherein encoding the first code into the second set of one or more pixels comprises; collecting the metadata in a character string; selecting a first character of the metadata for encoding; selecting a first randomly-ordered character set from an ordered plurality of randomly ordered-character sets based on an index for the first randomly-ordered character set, wherein each character in the first randomly ordered character set is assigned a position code; matching the first character of the metadata to a corresponding character in the first randomly-ordered character set; converting the position code of the corresponding character in the first randomly-ordered character set into a three-digit base-n number; and encoding a first pixel in the second set of one or more pixels with an RGB color code comprising the three-digit base-n number. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
-
-
61. A method for encoding a digital image for subsequent authentication, comprising:
-
encoding information derived from the digital image into the digital image itself, wherein encoding the information derived from the digital image into the digital image itself comprises; collecting metadata associated with the digital image in a character string; selecting a first character of the metadata for encoding; selecting a first randomly-ordered character set from an ordered plurality of randomly ordered-character sets based on an index for the first randomly-ordered character set, wherein each character in the first randomly ordered character set is assigned a position code; matching the first character of the metadata to a corresponding character in the first randomly-ordered character set; converting the position code of the corresponding character in the first randomly-ordered character set into a three-digit base-n number; and encoding a first pixel in the digital image with an RGB color code comprising the three-digit base-n number; wherein the digital image is authenticated based only on the encoded information such that no information external to the digital image is required for the authentication. - View Dependent Claims (62)
-
-
63. A method for encoding a digital image, comprising:
-
(1) capturing a digital image comprising a plurality of pixels; (2) partitioning the digital image into two or more working areas, the two or more working areas including a first working area having a first set of one or more pixels and a second working area having a second set of one or more pixels; (3) generating a first code from the first set of one or more pixels by; (a) extracting first pixel data from the first set of one or more pixels and hashing the first pixel data using a first hashing function to generate a first hash code; (b) selecting a first character of the first hash code; (c) randomly selecting a first randomly-ordered character set from an ordered plurality of randomly ordered-character sets, wherein each character in the first randomly-ordered character set is assigned a position code; (d) matching the first character of the first hash code to a corresponding character in the first randomly ordered character set; (e) replacing the first character of the first hash code with a character from a reference character set at the position code of the corresponding character in the first randomly-ordered character set; (f) selecting a next character of the first hash code; (g) matching the next character of the first hash code to a corresponding character in a next randomly ordered character set; (h) replacing the next character of the first hash code with a character from the reference character set at the position code of the corresponding character in the next randomly ordered character set; and (i) repeating operations (f) through (h) until the first hash code is exhausted, such that the first code is generated; (4) overlaying the second set of one or more pixels with an image representing the first code, the overlaying comprising; (a) initializing each pixel in the second set of one or more pixels; (b) partitioning the second set of one or more pixels into a first subset of pixel rows and a second subset of pixel rows; (c) mapping an image of the first code to the first subset of pixels; (d) collecting metadata in a character string, wherein the metadata comprises one or more of GPS coordinates, a GPS accuracy, a date and time, a date and time source name, a device ID, a device operating system and version, a user ID, an organization ID, an assigned group name, and a reverse geocoded address; and (e) encoding the metadata into the second subset of pixel rows, the encoding the metadata into the second subset of pixel rows comprising; (i) selecting a first character of the metadata for encoding; (ii) selecting a second randomly-ordered character set from the ordered plurality of randomly ordered-character sets, wherein each character in the second randomly ordered character set is assigned a position code; (iii) matching the first character of the metadata to a corresponding character in the second randomly-ordered character set; (iv) converting the position code of the corresponding character in the second randomly-ordered character set into a three-digit base-n number; and (v) encoding a first pixel in the second subset of pixel rows with an RGB color code comprising the three-digit base-n number; and (5) encoding the first code into the second set of one or more pixels, wherein the digital image is overlaid with identifying information and/or embedded with metadata.
-
-
64. A method for encoding a digital image, comprising:
-
(1) capturing a digital image comprising a plurality of pixels; (2) partitioning the digital image into two or more working areas, the two or more working areas including a first working area having a first set of one or more pixels and a second working area having a second set of one or more pixels; (3) generating a first code from the first set of one or more pixels; (4) overlaying the second set of one or more pixels with an image representing the first code, the overlaying comprising; (a) initializing each pixel in the second set of one or more pixels; (b) partitioning the second set of one or more pixels into a first subset of pixel rows and a second subset of pixel rows; (c) mapping an image of the first code to the first subset of pixels; (d) collecting metadata in a character string; and (e) encoding the metadata into the second subset of pixel rows, the encoding the metadata into the second subset of pixel rows comprising; (i) selecting a first character of the metadata for encoding; (ii) selecting a first randomly-ordered character set from an ordered plurality of randomly ordered-character sets, wherein each character in the first randomly ordered character set is assigned a position code; (iii) matching the first character of the metadata to a corresponding character in the first randomly-ordered character set; (iv) converting the position code of the corresponding character in the first randomly-ordered character set into a three-digit base-n number; and (v) encoding a first pixel in the second subset of pixel rows with an RGB color code comprising the three-digit base-n number; and (5) encoding the first code into the second set of one or more pixels, wherein the digital image is overlaid with identifying information and/or embedded with metadata.
-
Specification