WO2014140893A2 - Documents and data backup using color space encoded image - Google Patents

Documents and data backup using color space encoded image Download PDF

Info

Publication number
WO2014140893A2
WO2014140893A2 PCT/IB2014/001124 IB2014001124W WO2014140893A2 WO 2014140893 A2 WO2014140893 A2 WO 2014140893A2 IB 2014001124 W IB2014001124 W IB 2014001124W WO 2014140893 A2 WO2014140893 A2 WO 2014140893A2
Authority
WO
WIPO (PCT)
Prior art keywords
image
color space
encoded
color
stream
Prior art date
Application number
PCT/IB2014/001124
Other languages
French (fr)
Other versions
WO2014140893A3 (en
Inventor
Alisa MESH-ILIESCU
Vladimir Kolmanovitch
Original Assignee
Mesh-Iliescu Alisa
Vladimir Kolmanovitch
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/844,168 external-priority patent/US9152613B2/en
Priority claimed from US13/844,127 external-priority patent/US9189721B2/en
Priority claimed from US13/844,000 external-priority patent/US9147143B2/en
Priority claimed from US13/844,207 external-priority patent/US9396169B2/en
Priority claimed from US13/844,184 external-priority patent/US9386185B2/en
Application filed by Mesh-Iliescu Alisa, Vladimir Kolmanovitch filed Critical Mesh-Iliescu Alisa
Publication of WO2014140893A2 publication Critical patent/WO2014140893A2/en
Publication of WO2014140893A3 publication Critical patent/WO2014140893A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/0614Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR

Definitions

  • the present disclosure relates to applications of and exchange devices for color space encoded images, and methods of encoding and decoding color space encoded images. More particularly, the present disclosure relates to encoding and decoding of machine-based data using high capacity multi-colored composite two-dimensional pictures having different symbols organized in specific order and sets in a color space.
  • Example data capture technologies include bar codes, QR codes, Radio Frequency Identification (RFID) and Near Field Communication (NFC). Most of these technologies are used as either a visible or an invisible tag to connect these databases and user devices.
  • RFID Radio Frequency Identification
  • NFC Near Field Communication
  • Wi-Fi Wireless Fidelity
  • End user devices such as smartphones and tablets are frequently equipped with photo and/or video cameras. These cameras can be used for capturing information presented in different visual forms.
  • Bar codes have been used for mobile applications to deliver a multitude of different mobile services over mobile phones and other mobile communication or computing devices. Such applications range from providing Uniform Resource Locator (URL) information to link a mobile device to the Internet, through to using a bar code as a form of e- ticket for airlines or event admissions.
  • URL Uniform Resource Locator
  • Traditional approaches to higher capacity bar codes include: (i) using a colored symbol set and (ii) increasing the size of the bar code.
  • the traditional data capacity of ID and 2D bar codes is severely limited. This severely limited data capacity constrains possible applications of ID and 2D bar codes, and their primary task is simply linking camera phones to designated Web sites. Additional tasks may then be performed based on the Web site. This operation again is based on using of Wi-Fi or 3G connectivity.
  • bar codes can be used to provide 2D encoded data, they have not been used to provide real storage devices and media.
  • e-readers are popular and widely used with constant growth of different devices. For example, some e-readers allow users to consume content rather than create content.
  • Non-limiting example e-readers can include the NOOK® e-reader from Barnes & Noble, Inc., in New York, United States of America, and the KINDLE® e-reader from Amazon, Inc.
  • the number of people reading books and magazines on such e-reader devices is also growing very fast.
  • most new books for e-readers are acquired online over the Internet, for example through connections such as a cellular network including 3G or 4G Long Term Evolution (LTE), or a wireless network including Wi-Fi, ultimately downloading content directly to an e-reader device. If needed, a copy of the book can be stored online, or "in the cloud.”
  • LTE Long Term Evolution
  • This traditional distribution model for e-readers requires content such as a book or video to be delivered, downloaded, and stored in electronic form. If an e-reader needs to perform additional downloading, for example to retrieve additional chapters of a book or video, again the cellular or wireless network is used.
  • a side effect of radio-based technologies such as cellular or wireless network includes immersing users in electromagnetic (EM) fields, health effects of which can be uncertain.
  • Embodiments of the present disclosure can include systems, methods, and non- transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper.
  • the present systems and methods allow users to perform data backup using color space encoded images.
  • the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images.
  • publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images.
  • the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images.
  • Certain embodiments include methods for creating a volume.
  • a method includes receiving content of a volume and creating colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in a color space for a cell in the image.
  • the method also includes creating one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image and providing the image on a medium.
  • the embodiments described herein can include additional aspects of the present invention.
  • the method also can include providing at least one of a front cover and a back cover for the volume.
  • the method can also include superimposing a picture related to the content of the volume over the image so that the image can still be registered for decoding.
  • the volume can include at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
  • Certain embodiments include methods of reading a volume.
  • a method includes receiving an image having colored cells corresponding to a stream of integers encoding contents of the volume, locating the image by locating one or more additional cells adjoining the image, and decoding contents of the volume based on the colored cells and the one or more additional cells adjoining the image.
  • the volume can include at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
  • Certain embodiments include a volume including a page having printed thereon an image having colored cells corresponding to a stream of integers encoding content of the volume.
  • the volume can include a front cover, and the volume can also include a back cover.
  • the image can further include one or more additional cells including a frame surrounding the image.
  • the image can further include one or more additional cells including color calibration cells adjoining the image.
  • Embodiments of the present disclosure can include systems, methods, and non- transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper.
  • the present systems and methods allow users to perform data backup using color space encoded images.
  • the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images.
  • publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images.
  • the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images.
  • Certain embodiments include methods for data backup.
  • a method includes receiving data for backup and creating colored cells within a color space to provide an encoded representation of the received data in an image by processing the received data to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image.
  • the method also includes creating one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image.
  • a system includes at least one processor configured to receive data for backup and create colored cells within a color space to provide an encoded representation of the received data in an image by processing the received data to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image.
  • the at least one processor is further configured to create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image.
  • the method can also include storing the image electronically.
  • the method can include printing the image onto a medium.
  • the at least one processor can be further configured to include storing the image electronically, the at least one processor can be further configured to print the image onto a medium.
  • Certain embodiments include methods for restoring data backed up.
  • a method includes receiving an image having colored cells corresponding to a stream of integers encoding contents of the volume, locating the image by locating one or more additional cells adjoining the image, and decoding data previously backed up based on the colored cells and the one or more additional cells adjoining the image.
  • Certain embodiments include systems for restoring data backed up.
  • a system includes at least one processor configured to receive an image having colored cells corresponding to a stream of integers encoding contents of the volume, locate the image by locating one or more additional cells adjoining the image, and decode data previously backed up based on the colored cells and the one or more additional cells adjoining the image.
  • Embodiments of the present disclosure can include systems, methods, and non- transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper.
  • the present systems and methods allow users to perform data backup using color space encoded images.
  • the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images.
  • publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images.
  • the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images.
  • Certain embodiments include methods for self-publication.
  • a method includes receiving content for self-publication and creating colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image.
  • the method also includes creating one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and publishing the image on a medium.
  • a system includes at least one processor configured to receive content for self-publication and create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image.
  • the at least one processor is further configured to create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and publish the image on a medium.
  • Certain embodiments include non-transitory computer program products for self- publication.
  • a non-transitory computer program product is tangibly embodied in a computer- readable medium.
  • the non-transitory computer program product includes instructions operable to cause a data processing apparatus to receive content for self-publication and create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image.
  • the instructions are operable to cause a data processing apparatus to create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and publish the image on a medium.
  • the medium can include at least one of paper, plastic, textiles, and fabrics.
  • the publishing can include at least one of storing the image electronically on the medium and printing the image on the medium.
  • Embodiments of the present disclosure can include systems, methods, and non- transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper.
  • the present systems and methods allow users to perform data backup using color space encoded images.
  • the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images.
  • publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images.
  • the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images.
  • Certain embodiments include methods for encoding documents.
  • a method includes receiving one or more documents and creating colored cells within a color space to provide an encoded representation of the received one or more documents in an image by processing the received documents to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image. The method also includes creating one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image.
  • Certain embodiments include systems for encoding documents.
  • a system includes at least one processor configured to receive one or more documents and create colored cells within a color space to provide an encoded representation of the received one or more documents in an image by processing the received documents to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image.
  • the at least one processor are further configured to create one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image.
  • Certain embodiments include non-transitory computer program products for encoding documents.
  • a non-transitory computer program product can be tangibly embodied in a computer-readable medium.
  • the non-transitory computer program product include instructions operable to cause a data processing apparatus to receive one or more documents and create colored cells within a color space to provide an encoded representation of the received one or more documents in an image by processing the received documents to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image.
  • the instructions are operable to further cause the data processing apparatus to create one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image.
  • the embodiments described herein can include additional aspects of the present invention.
  • the method can also include comprising printing the image onto a medium.
  • the at least one processor can be further configured to print the image onto a medium.
  • the instructions are operable to further cause the data processing apparatus to print the image onto a medium.
  • the medium can include at least one of paper and plastic.
  • the method can further include storing the image electronically.
  • the at least one processor can be further configured to store the image electronically.
  • the instructions are operable to further cause the data processing apparatus to store the image electronically.
  • the document can include a plurality of pages of content.
  • Embodiments of the present disclosure can include systems, methods, and non- transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper.
  • the present systems and methods allow users to perform data backup using color space encoded images.
  • the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images.
  • publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images.
  • the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images.
  • Certain embodiments include methods for creating a combination volume and electronic volume.
  • a method includes receiving content of an electronic volume and creating colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image.
  • the method also includes creating one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and printing the image onto a page of a volume.
  • Certain embodiments include systems for creating a combination volume and electronic volume.
  • a system includes at least one processor configured to receive content of an electronic volume and create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image.
  • the at least one processor is further configured to create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and print the image onto a page of a volume.
  • Certain embodiments include non-transitory computer program products for creating a combination volume and electronic volume.
  • the non-transitory computer program product can be tangibly embodied in a computer-readable medium.
  • the non-transitory computer program product include instructions operable to cause a data processing apparatus to receive content of an electronic volume and create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image.
  • the instructions are operable to further cause the data processing apparatus to create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and print the image onto a page of a volume.
  • the volume can include at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
  • FIG. 1 illustrates a system for storing, encoding, and decoding a 2D color space image in accordance with certain embodiments of the present disclosure.
  • FIGS. 2A-2B illustrate the 2D color space encoded image in accordance with certain embodiments of the present disclosure.
  • FIG. 3 illustrates a method that the system performs for encoding an image in accordance with certain embodiments of the present disclosure.
  • FIG. 4 illustrates a method that the system performs for decoding an image in accordance with certain embodiments of the present disclosure.
  • FIG. 5 illustrates a block diagram of color calibration cells for restoration of proper color based on distinguishable color samples in accordance with certain embodiments of the present disclosure.
  • FIG. 6 illustrates a block diagram of a frame arrangement for geometrical distortion correction of an encoded image in accordance with certain embodiments of the present disclosure.
  • FIG. 7 illustrates a block diagram for frame fragmentation for distortion correction in accordance with certain embodiments of the present disclosure.
  • FIG. 8 illustrates a book as an encoded image on a page in accordance with certain embodiments of the present disclosure.
  • FIG. 9A illustrates an example of a combination book with a digital book using a color space encoded image in accordance with certain embodiments of the present disclosure.
  • FIG. 9B illustrates an example of a greeting card using a color space encoded image in accordance with certain embodiments of the present disclosure.
  • FIG. 10 illustrates a block diagram of an example system for copying large documents using color space encoded images in accordance with certain embodiments of the present disclosure.
  • FIG. 1 1 illustrates a block diagram of an example system for data backup for e- books and other content using color space encoded images in accordance with certain embodiments of the present invention.
  • FIG. 12 illustrates a block diagram for information visualization using a color space encoded image in accordance with certain embodiments of the present disclosure.
  • the present systems and methods allow for use of 2D color- space codes to encode images with greater data capacity.
  • the 2D color-space encoded images described herein can provide a wide variety of applications, regardless of network connectivity.
  • the present systems and methods allow a sufficient amount of data or even an entire database to be encoded and placed in a storage device using the 2D images encoded and organized by color- space codes as described herein.
  • the present disclosure has utility in, for example, data back-up storage
  • Figure 1 illustrates a system 100 for storing, encoding, and decoding a 2D color space image in accordance with certain embodiments of the present disclosure.
  • System 100 includes a 2D color space image 102.
  • System 100 can encode any type of desired machine- based data.
  • Non-limiting examples of machine-based data include text 104a, books 104b (containing, for example, text and images), databases 104c, photographs 104d or other artwork, images, video, film, or movies, music 104e, or any other type of binary data 104f.
  • capturing of desired data can be done using a conventional camera or scanner, or a smartphone or tablet camera.
  • a user can encode selected information into a 2D color-space coded image and print the image on any desired media (e.g., paper, textile, plastic, etc.).
  • the 2D color-space coded image can also be depicted on any display, including posters, TV screens or computer monitors, as well as displayed on mobile devices such as smartphones or tablets.
  • Digital photo cameras can be used as display devices as well.
  • a capturing device e.g. , a conventional camera or scanner or a smartphone or tablet camera
  • the image code can be decoded and the encoded data can be read.
  • the present systems and methods allow information to be retrieved, decoded, and saved in the memory of a device or presented on a display for further use.
  • the decoded data can be read on a laptop computer 106a or a desktop computer 106b, a smart phone 106c, a photo camera 106d, a palmtop or handheld device 106e, or a tablet 106f. All this can be done without manual work. No network connectivity or additional cost is required.
  • the present systems and methods relate to a data storage device for storing 2D color space encoded images, methods of encoding and decoding the 2D color space encoded images, and application of the 2D color space encoded images to data exchange.
  • the present disclosure relates to encoding, transmission, and decoding of machine-based data using an appropriately formatted high capacity color image.
  • the present systems and methods can be utilized, for example, for compact backup of printed materials, and/or data exchange between a color-image-displaying device and a plurality of image-reading devices.
  • Figures 2A-2B illustrate the 2D color space encoded image 102 in accordance with certain embodiments of the present disclosure.
  • encoded image 102 includes a number of rectangular cells 202 of different colors.
  • encoded image 102 can include a black frame 204, a white frame 206, a "zebra frame" 208 having alternating colors, and color calibration cells 210.
  • Figure 2B illustrates a close-up view of the black frame 204, the white frame 206, the zebra frame 208, and the color calibration cells 210 in accordance with certain
  • Black frame 204 and white frame 206 can be used for rough localization of the data image including rectangular cells 202, determination of geometric distortion of the data image, and estimation of cell size and scale of rectangular cells 202.
  • Zebra frame 208 can be used for further calibration of cell size for rectangular cells 202.
  • Color calibration cells 210 can be used for determining a number of colors N c used for encoding the data, and for indexing the colors to map the colors to numbers for encoding and decoding.
  • rectangular cells 202 can use more than eight different colors.
  • the number of colors can be expressed as N c , for example N c > 8.
  • the number of colors is selected to be a power of two.
  • Figure 3 illustrates a method 300 that the system performs for encoding an image in accordance with certain embodiments of the present disclosure.
  • color-difference metrics can help achieve stable color resolution for image-source media and image-reading devices.
  • Most imaging devices operating in the visible spectrum are adapted to human eye color resolution.
  • a color space describes color capabilities of a particular device by relating numbers to actual colors.
  • Embodiments of the present disclosure utilize metrics based on low-cost non-Euclidean distance in red green blue (RGB) color space.
  • RGB red green blue
  • the present system uses color space metrics which are close to Commission International de l'eclairage (CIE) 1976 (L*,u*,v*) color space metrics.
  • CIE Commission International de l'eclairage
  • L*,u*,v* Commission International de l'eclairage
  • the present systems and methods are able to use any color space, including the CIE 1931 XYZ color space, CIELAB color space, and CIEUVW color space.
  • the color space used in certain embodiments is advantageously less sensitive to a color temperature of relevant image displaying media or device, and advantageously less sensitive to external illumination.
  • r describes an average red component value of C 1 and C 2 .
  • the present system first receives machine data for encoding into an image.
  • the machine data can be contained in a file.
  • the present system compresses the file (step 302).
  • the machine data can be compressed into a binary compressed file such as zip, rar, arc or any other archive format file.
  • the present system determines an appropriate color encoding, illustrated by box 310. For example, the present system maps the resulting code sequence to a stream of integers from 0 to N c -1 , inclusive. Using the stream of integers, the present system creates a bitmap with frame formatting. Generation of frame formatting is described in further detail later. The present system fills the interior of the frames with color bitmap cells, encoded as described following.
  • the encoding can use error correction.
  • a non- limiting example of error correction is the two-stage error correction described herein.
  • the encoding can use scrambling.
  • the encoding can use error correction in combination with scrambling.
  • the present system determines the color of each cell based on the color calibration cells. The resulting encoded image can then be sent to any display, including a color printer, display, or other color image output device.
  • the present system then performs a first level of error correction (step 304).
  • error correction is that the present system is able to decode an image properly, even if a portion of the image is damaged.
  • the present system can determine a header containing a cyclic redundancy check (CRC) error- detecting code, file name, format information, and sequence number (e.g., if the machine data and resulting encoded image represent only part of a larger data stream such as a video stream).
  • CRC cyclic redundancy check
  • the present system can use any error detecting code such as repetition codes, addition of parity bits, checksums, hash functions, or more powerful error correcting codes.
  • the present system can use a Reed-Solomon encoder of high order.
  • a Reed-Solomon error correction code is a cyclic error-correcting code capable of detecting and correcting multiple errors in a bit stream.
  • the present system can use other error-correcting codes such as low-density parity-check (LDPC) codes or turbo codes.
  • LDPC low-density parity-check
  • Reed-Solomon error correction codes are capable of detecting errors, erasures, and combinations thereof.
  • a word size for this high order level of Reed-Solomon encoding can be equal to k*log 2 (N c ) rounded down, where k > 1.
  • the two-stage error coding can perform high order Reed-Solomon encoding in a first stage, and low order Reed-Solomon encoding in a second stage.
  • the second stage can also include smaller words.
  • the word size can be equal to log 2 (N c ) bits, rounded down.
  • the present system then scrambles the obtained code (step 306).
  • the resulting code can be interleaved using a predefined pseudorandom sequence.
  • the present system scrambles the obtained code to spread out potential errors. Accordingly, the two-level error correction described herein can perform better. That is, when registering or capturing an image for decoding, there can be color distorgions due to non-uniform lighting, or damage on the media on which the image is printed. For example, the media can have spots, be wrinkled, and the like.
  • the scrambling provides that "bad" color cells with uncertain data can be distributed uniformly (i.e., independently) into different encoding blocks, thereby decreasing the number of errors per block. Because error correction can have upper limits of correctable errors, the present spreading improves the effectiveness of the error correction.
  • the present system then performs a second level of error correction (step 308).
  • the resulting scrambled code is encoded using a Reed- Solomon encoder with .
  • the word size can be selected to be smaller than the word size used in the first level of error correction.
  • this two-stage error correction allows the present system to mark unrecoverable blocks of data during a first stage as erasures.
  • the error correction described herein finds an index location of an error word inside a block, and also corrects the error word to its correct or true value.
  • the two-stage error correction allows the present system to correct twice as many erasures as errors, as described in more detail later.
  • the present system is able to use any kind of high definition (HD) color registration device to register an encoded image.
  • registration devices can include a digital camera, a smartphone camera, a tablet camera, a video camera, a webcam, a scanner (to scan a hard copy image), etc.
  • Figure 4 illustrates a method 400 that the system performs for decoding an image in accordance with certain embodiments of the present disclosure.
  • decoding method 400 includes two high-level processes: (1) image recognition, and (2) two-stage Reed-Solomon decoding.
  • the present system uses Viterbi decoding as a Reed-Solomon decoder.
  • the present system locates the main frame (step 402). For example, the present system can locate the black frame and the white frame vertices. The present system can further determine the middles of the corresponding edges of the black frame and the white frame. If the main frame is not found (step 404: No), the present system returns an error (step 406).
  • the error can be that the image cannot be decoded, or the error can be more specific such as that the main frame cannot be found.
  • the present system corrects geometric distortion based on the main frame and the zebra frame (step 412).
  • Geometric distortion can occur when a user uses a camera lens, for example on a smartphone or tablet camera, or on a digital camera, to decode an image. Accounting for distortion is described in further detail later, in connection with Figure 6.
  • the present system locates the color calibration cells (step 408).
  • the color calibration cells are located inside the black frame and the white frame, on the left of the rectangular cells encoding the machine data.
  • the color frame could be located outside the black frame, between the black and white frames, or in other locations within the white frame.
  • the present system decodes the colors in the rectangular cells (step 410). In general, for every pixel found in the encoded image, the present system finds the closest sample pixel based on the color calibration cells and substitutes the sample pixel for the detected pixel. In some embodiments, the present system obtains a color-value correspondence. The present system determines cell size calibration based on the zebra frame. The present system divides the data image into color cells. When decoding the image, the present system captures or collects all colors belonging to a given pixel rectangle. If most of the pixel colors in the pixel rectangle could be recognized as one color from the color calibration cells, that color from the color calibration cells is used. Otherwise, the present system marks the pixel as an erasure.
  • the present system treats the whole pixel block as an erasure.
  • the present system reads the rectangular cells sequentially and determines an index of the nearest color from the color calibration cells to the median cell color. In particular, the present system determines the nearest color according to nearest Euclidean distance in the appropriate color space, according to Equation (1), described earlier.
  • the present system decodes the bytes (step 414).
  • the present system applies a corresponding decoder to the error-correcting encoder described earlier.
  • the present system applies a low-level Reed-Solomon decoder to the code stream obtained from the decoded colors. Accordingly, due to the nature of the error- correcting code, the present system is able to restore erasures and errors in the code stream. If the present system detects unrepairable blocks, the unrepairable blocks are marked as "erasures.”
  • the present system then descrambles the bytes (step 416). In some embodiments, the present system de-interleaves the resulting byte stream.
  • the present system then decodes the original information based on the decoded byte stream (step 418).
  • the present system uses a corresponding decoder to the error-correcting encoder described earlier, to restore pixel-block- level erasures and errors.
  • the present system applies a high-level Reed-Solomon decoder. After applying the high-level Reed-Solomon decoder, if some pixel blocks remain un-repairable, the present system attempts to change the indices to those indices corresponding to the next nearest color in the color calibration cells, and then repeats Reed-Solomon decoding of the modified block. If error free data is obtained, the present system maps the resulting sequence of integers to a bit stream.
  • the present system then parses the resulting bit stream and computes a cyclic redundancy check (CRC) of the data.
  • CRC cyclic redundancy check
  • the present system compares the resulting CRC with the CRC contained in the header of the image.
  • the present system then saves or appends the file.
  • the two-level error correction used in the present system and described earlier in connection with Figures 3 and 4 allows the present system to correct two types of errors: errors and erasures.
  • the Reed-Solomon error-correction encoding used is able to detect errors (which correspond to wrong, incorrect, or unexpected
  • correcting erasures can be performed twice as effectively than correcting errors.
  • the present system uses a two-level error correction schema.
  • N c 16 (i.e., 2 4 ). Accordingly, there are sixteen distinctive colors which allow an encoded image to encode 4 bits of information per rectangular cell. Every byte of information (8 bits) is encoded by two color indices.
  • the group of half-bytes is then appended with Reed-Solomon source control data determined based on the group of half-bytes. Because the Reed-Solomon source control data can be about the same size as the input data, the addition of the Reed-Solomon source control data results in the size of the group reaching fifteen bytes. For example, the size of the input data and the control data block size can be fifteen bytes.
  • Each half-byte in the group is mapped to an appropriate color, for example by using the corresponding half-bytes as indices into the color array. Accordingly, the encoding process applies two levels of Reed-Solomon encoding, first at the byte array level and second at the half-byte level.
  • the present system collects all colors belonging to a detected pixel rectangle. If most of the colors in the pixel rectangle could be recognized as one of the colors in the color calibration cells, the present system uses the corresponding color in the color calibration cells. Otherwise, the pixel rectangle is marked as an erasure. If a pixel-level block cannot be decoded, the whole pixel block is treated as an erasure. As described earlier, the erasures can be further restored by an appropriate error-correction algorithm.
  • the two-level error correction and leveraging of erasure determinations significantly improves the quality of the decoding described earlier in connection with Figure 4. In particular, the two-level error correction described herein allows the present system to recover information which otherwise would be lost.
  • Figure 5 illustrates a block diagram of color calibration cells for restoration of proper color based on distinguishable color samples in accordance with certain embodiments of the present disclosure.
  • Figure 5 includes color calibration cells 210.
  • Color calibration cells 210 include all colors used to encode the rectangular cells.
  • a white frame or border surrounds color calibration cells 210 for the color white.
  • the present system may also include white as a color block in the color calibration cells arranged on the left hand side. The present system discerns each color based on its placement within color calibration cells 210. The present system then stores distorted pixels as color samples. Different variants of a distorted pixel are saved to point or refer to the same correct pixel. That is, distorted pixels are determined dynamically, based on the position of their colors among the color calibration cells. The distorted pixels are assigned estimated colors according to the color calibration cells.
  • the present system translates a distorted pixel into one of the original colors in color calibration cells 210 using the nearest original color to the distorted pixel.
  • color C (R, G, B) represent a red green blue (RGB) component representation of the color.
  • RGB red green blue
  • Equation (1) described earlier, a pseudo-Euclidean distance between two colors C; and C2 can be given by AC, as described in Equation (1):
  • a color mapping can be represented by the set of pairs: (distorted color)— > (correct color).
  • the distorted color can be Ci, and the correct color can be C2.
  • the number of such color pairs should be greater than or equal to N c , the total number of colors. This mapping can be determined based on the color calibration cells and on the color arrangement therein.
  • the present system iterates over all pairs of distorted colors and correct colors. In particular, the present system selects the pair in which the distorted color portion of the pair is closest to the correct or proper color c . In some embodiments, the determination of whether the distorted color portion is closest to the correct or proper color is made according to the pseudo-Euclidian metrics in the RGB color space. That is, the present system selects the pair in which AC is smallest according to Equation (1). The selected pair provides the correct color.
  • the present system allows the correct colors to be restored, because the present system saves the correspondence between the distorted values and the original values.
  • the present system is able to leverage information about the way in which the colors were distorted relative to the original values as captured in the color calibration cells.
  • Frame arrangement for automatic image geometrical distortion correction is able to leverage information about the way in which the colors were distorted relative to the original values as captured in the color calibration cells.
  • Figure 6 illustrates a block diagram of a frame arrangement for geometrical distortion correction of an encoded image in accordance with certain embodiments of the present disclosure.
  • the present system includes arrangements to recognize placement of rectangular cells and other elements in the encoded image.
  • these arrangements can include black frame 204, white frame 206, zebra frame 208, and color calibration sidebar 210 (shown in Figure 2).
  • the black frame and white frame surround the encoded rectangular cells.
  • the color calibration sidebar contains sample colors (described earlier, in connection with Figure 5).
  • the zebra frame surrounds the encoded rectangular cells to allow the present system to determine appropriate resolution and pixel division of the encoded image.
  • the black frame and white frame allow the present system to determine and correct nonlinear distortion.
  • nonlinear distortion can be introduced, for example, by camera lenses when registering an encoded image for decoding.
  • the present system uses the white frame as follows.
  • the white frame can be restricted by curve x le ft(y) 602, curve x r ight(y) 604, curve yt op (x) 606, and curve ybottom(x) 608.
  • the present system can determine parameters a and b (0 ⁇ a ⁇ l and 0 ⁇ b ⁇ l) according to the following equations:
  • the equation described above maps the area restricted by curves 602-608 to a unit rectangle defined by 0 ⁇ a ⁇ l , 0 ⁇ b ⁇ l .
  • the unit rectangle can represent what the image would look like when "straightened out,” by mapping the area restricted by curves 602-608 to the unit rectangle. That is, the distorted boundary of the image determined according to the area restricted by curves 602-608 can be mapped to the "straightened out" unit rectangle.
  • the zebra frame can be used to determine parameters a and b.
  • the present distortion correction therefore allows the original area having curved or non-linear sub-regions to be transformed according to the unit rectangle using parameters a and b.
  • the zebra frame allows the present system to determine a resolution of the embedded picture, and to divide the image into "bold” or unknown pixels. As described earlier, the color value of some pixels may be unknown. "Bold" pixels allow the present system to determine the proper color value of a pixel according to a voting process. In some embodiments, the voting process can choose the color value of the most frequent pixel close to the "bold" or unknown pixel to be the color value of the "bold" pixel. Otherwise, if the result of the voting is unclear— for example, if there is no pixel with a frequency much larger than the other pixels— the present system can mark the pixel as an erasure (i.e., missing). Therefore, using the two-level error correction described earlier, the pixel can be restored.
  • Image Fragmentation can choose the color value of the most frequent pixel close to the "bold" or unknown pixel to be the color value of the "bold" pixel. Otherwise, if the result of the voting is unclear— for example, if there is no
  • Figure 7 illustrates a block diagram for frame fragmentation for distortion correction in accordance with certain embodiments of the present disclosure.
  • the rectangular cells can be divided into sub-images 704 using separating lines 702.
  • Frame fragmentation or image fragmentation refers to a complementary technique to distortion correction (shown in Figure 6).
  • dividing the image into a set of sub-images 704 allows the present system to work with every sub-image 704, without requiring the distortion compensation technique described earlier because sub-images 704 are sufficiently small that there is not as much distortion as with the entire encoded image.
  • sub-images 704 can be separated with separating lines 702.
  • separating lines 702 can be black lines, which can also became part of the zebra border.
  • the present system can use the same encoding and decoding techniques described earlier (shown in Figures 3 and 4) for encoding and decoding of sub-images 704.
  • the present system can leverage the two-level error correction, scrambler, etc.
  • the present system can skip the distortion correction described earlier (shown in Figure 6).
  • the present system can leverage the relatively smaller size of sub-images 704 to skip non- linear distortion compensation of each sub-image 704. Accordingly, the present system can decode sub-images 704 with better accuracy.
  • the present encoded images can be applied to storing text and images of an entire book on a single piece of paper (or other medium). In other embodiments, the present encoded images can be applied to storing text and images onto a small number of pages of paper (or other medium).
  • Advantages of embodiments of the present disclosure include: reliable backup for e-books and other content, and faster and easier downloading of an e-book onto a reading device.
  • the downloading can be performed without requiring network connectivity such as cellular network usage or wireless network usage. Related costs can therefore be much more acceptable and lower to users.
  • Figure 8 illustrates a book 800 as an encoded image on a page in accordance with certain embodiments of the present disclosure.
  • Book 800 includes a front cover 802, a middle page 804, and a back cover 806.
  • book 800 can include a volume, a document, a textbook, a magazine, a flyer, a circular, or the like.
  • Embodiments of the present disclosure therefore include digital content of an entire book 104b, encoded into a 2D color space image 102, and printed on media.
  • Non- limiting examples of media for distribution can include paper, plastic, textiles, fabrics, and the like.
  • Non-limiting examples of digital content that can be included in book 800 include book 104b, text 104a, photo 104d (or other images or artwork), and any other binary data 104f.
  • book 800 can include only middle page 804 with encoded image 102, without front cover 802 or back cover 806. Due to the color space encoding used by the present system, the amount of media needed can be substantially lower than used in traditional printing. In other embodiments, book 800 includes more than one middle page 804 with encoded images.
  • book 800 including encoded image 102 can be registered or captured by an appropriate device having an appropriate camera lens, such as a digital camera, smartphone camera, or tablet camera.
  • an appropriate camera lens such as a digital camera, smartphone camera, or tablet camera.
  • encoded image 102 in book 800 can be scanned by a traditional scanner to a personal computer (PC).
  • PC personal computer
  • appropriate hardware or software on the PC can decode encoded image 102 according to the decoding process described in connection with Figure 4.
  • the encoded content such as book 104b can be transferred to an e-reader, as with any other content.
  • book 800 including encoded image 102 can be photographed, for example using a digital camera having a memory card for storing digital images.
  • the memory card from the digital camera can be placed in a compatible e-reader (e.g., an e-reader with a memory slot) or in a conventional PC having a compatible card slot.
  • a software application or particularized hardware can decode encoded image 102 directly on the e-reader or directly on the PC.
  • book 800 including encoded image 102 can be photographed by an embedded camera in a compatible reading device.
  • compatible reading devices include any smartphone or tablet with an embedded camera.
  • encoded image 102 can be decoded in hardware or using an appropriate software application on the reading device.
  • the reading device can include a tablet, a PDA, a notebook computer, a PC, a smartphone, a palmtop or handheld device, or the like.
  • Supported resolution Examples of supported or appropriate resolutions for a device for registering or capturing encoded image 102 in book 800 are described in the following examples.
  • some supported resolutions can be given if a scanner is set to 600 dpi or higher. Selecting a resolution of 600 dpi or higher from a scanning device assures that printed pixels of encoded image 102, printed at 300 dpi, can be scanned and therefore registered or captured.
  • a usable area can be about eight inches by about ten or eleven inches (8"xl0" or 8"xl l").
  • 8"xl0" or 8"xl 1 At 300 dots per inch and a usable area of about 8"xl0" or 8"xl 1", approximately 3300x2400 pixels (300 dpi x 11 in. by 300 dpi x 8 in.) can be printed on an appropriate page.
  • a "real" data pixel as encoded and decoded using the present systems and methods can consist of about 3x3 printed pixels.
  • Three pixels can be used for one "real" data pixel because one printed pixel may otherwise be too small to decode a proper color value.
  • printers or scanners may be of relatively lower quality, and printed pixels may not match pixels detected via a camera or scanner.
  • Using "bold" pixels including about 3x3 printed pixels can assist with determining an average color value for voting. Accordingly, the decoding process described can be more accurate by
  • the present system and methods can add 100% overhead (as explained) and use sixteen colors to build an appropriate color space encoding. Accordingly, the amount of data that can be encoded into an encoded image 102 able to fit on a usable area of a page is about 220 kilobytes (kB).
  • the content (i.e., text and/or images) of a typical book 102b can be represented by a similar number of bits. For example, for a book of about 200 pages, there can be about 1000-1100 characters on each page. For example, The Hound of the Baskervilles by Sir Arthur Conan Doyle is about 150 kB in ePub format. In some embodiments, for longer books (e.g., War and Peace by Leo Tolstoy), multiple pages with multiple encoded images 102 can be used. The space savings and savings in printed materials would still be significant due to the encoding process described earlier.
  • a single page can have printed on it, in some embodiments, about 3300 pixels x 2400 pixels ⁇ 7,920,000 pixels. Accordingly, a traditional digital camera with an image sensor of about 8 megapixels (MP) or more has enough resolution to register or capture a picture of encoded image 102 printed on suitable media of about such size.
  • MP megapixels
  • the two-level error correction described earlier helps avoid and/or correct decoding errors that can arise especially due to different light conditions encountered during registration or capture, or related to the quality of the paper used or due to properties of the other media.
  • the relevant printed pixel size was described to be about 80x80 microns.
  • good photo lenses can be capable of resolving details to about 10 microns. Accordingly, theoretically more than 60 times better resolution can be achieved.
  • a single page such as middle page 804 could contain about fifteen megabytes (MB) of information. Fifteen megabytes represents more than enough data capacity to print even the longest and most complex book on a single page.
  • the present systems and methods promote green technologies.
  • the book The Hound of the Baskervilles by Sir Arthur Conan Doyle is about 220 pages in a paper printed version.
  • the resulting encoded book uses only three pages. This represents a savings in paper of at least 70 times.
  • Bookstores could generate higher profits and revenue by switching over their stock or portions thereof to encoded books as described herein.
  • Book 800 as described herein represents a substantial reduction in printed media required to store and distribute a book or any other content.
  • Figure 9A illustrates an example of a combination book 900 with a digital book using a color space encoded image in accordance with certain embodiments of the present disclosure.
  • Figure 9A includes combination book 900, and encoded image 102.
  • Combination book 900 can include encoded image 102 in addition to a traditionally printed book.
  • Encoded image 102 can be printed inside combination book 900, for example on a front cover, a back cover, or on any intermediate page (as shown in Figure 9A).
  • Encoded image 102 having a digital copy of an e-book can be distributed to accompany a traditionally printed book.
  • encoded image 102 can also be distributed as an attachment or insert to newspapers, magazines, or any other traditionally printed matter.
  • Figure 9B illustrates an example of a greeting card 902 using a color space encoded image in accordance with certain embodiments of the present disclosure.
  • Figure 9B includes greeting card 902 and encoded image 102.
  • Greeting card 902 can include encoded image 102, in addition to a traditionally printed greeting card.
  • the digitally-encoded greeting card can include colorful text, animation, video, music, voice recordings of friends or family members, or any other binary data encoded in accordance with the encoding process described in Figure 3.
  • FIG. 10 illustrates a block diagram of an example system 1000 for copying large documents using color space encoded images in accordance with certain embodiments of the present disclosure.
  • System 1000 includes large documents 1002 and an encoded image 102.
  • the present systems and methods allow users to copy large documents 1002 using encoded image 102.
  • large documents 1002 can include technical manuals or other technical documents such as technical standards.
  • Technical standards in particular can be frequently updated and require significant amounts of paper for printing.
  • Certain large documents 1002 also need to be stored safely.
  • Example large documents 1002 can include technical manuals such as manuals for pilots.
  • large documents 1002 can be downloaded easily on devices in which all network connectivity has been disabled for safety reasons, also known as airplane mode on certain devices, so long as the devices have hardware or software modules implementing the decoding process described earlier, in connection with Figure 4.
  • Large documents 1002 can still be downloaded and shared easily on any device with an embedded camera, without requiring a network to transfer encoded data such as encoded image 102 or decoded data such as the machine content encoded into encoded image 102.
  • FIG. 11 illustrates a block diagram of an example system 1100 for data backup for e-books and other content using color space encoded images in accordance with certain embodiments of the present invention.
  • System 1100 includes data backup 1102, and encoded image 102. To perform data backup of a desired host system, system 1100 is able to compress machine data into color space encoded images such as encoded image 102.
  • data backup 1102 can include electronic copies of encoded image 102 and other encoded images.
  • data backup 1102 can include physical copies such as printouts of encoded image 102.
  • the printouts can be laminated, protected, or otherwise preserved so that they are able to be decoded and read for significantly longer amounts of time than a typical electronic storage device might be able to store electronic images.
  • any type of data can be encoded and stored in accordance with the color space encoding systems and methods described herein, and where the encoded images can be printed (or displayed or otherwise output) on proper media.
  • Figure 12 illustrates a block diagram for information visualization using a color space encoded image 1200 in accordance with certain embodiments of the present disclosure.
  • the present system allows for visualization of certain information. Because the color space encoded image appears to a human eye like an irregular combination of colored spots, some users might find the encoded images unattractive, or find the encoded images do not provide direct visual information about encoded data or subject matter.
  • a specific and subject-related picture can be combined from encoding spots (such as a book's name 1202, etc.).
  • a picture 1204 can be overlaid on encoded image 1200.
  • less useful information can be placed or displayed on a frame. The attractiveness and directness of encoded image 1200 can lead the subject of the encoded data to be more interesting or important for a user.
  • a similar approach of information visualization by combining a picture with an encoded image can be used for front and/or back covers of books.
  • Figures 3 and 4 include processes that, in various embodiments, are carried out by a processor under the control of computer-readable and computer-executable instructions.
  • Embodiments of the present disclosure may thus be stored as non-transitory computer-readable media or computer-executable instructions including, but not limited to, firmware updates, software update packages, or hardware (e.g., ROM).
  • the present systems and methods can be implemented in a variety of architectures and configurations.
  • the present systems and methods can be implemented as part of a distributed computing environment, a cloud computing environment, a client server environment, etc.
  • the embodiments described herein may be discussed in the general context of computer-executable instructions residing on some form of non-transitory computer-readable storage medium, such as program modules, executed by one or more computers, computing devices, or other devices.
  • non-limiting examples of computer-readable storage media may include storage media and communication media.
  • program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
  • the functionality of the program modules may be combined or distributed as desired in various embodiments.

Abstract

Embodiments of the present disclosure can include systems, methods, and non-transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper. In certain aspects, the present systems and methods allow users to perform data backup using color space encoded images. In other aspects, the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images. In certain aspects, publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images. In other aspects, the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images.

Description

DOCUMENTS AND DATA BACKUP USING COLOR SPACE ENCODED IMAGE
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of the following applications, the entire contents of which are incorporated by reference herein:
U.S. Patent Application Ser. No. 13/844,000, entitled "Book Using Color Space Encoded Image" and filed March 15, 2013;
U.S. Patent Application Ser. No. 13/844,127, entitled "Data Backup Using Color Space Encoded Image" and filed March 15, 2013;
U.S. Patent Application Ser. No. 13/844,168, entitled "Self-Publication Using Color Space Encoded Image" and filed March 15, 2013; and
U.S. Patent Application Ser. No. 13/844,184, entitled "Large Documents Using Color Space Encoded Image" and filed March 15, 2013
U.S. Patent Application Ser. No. 13/844,207, entitled "Combination Book With E- Book Using Color Space Encoded Image" and filed March 15, 2013.
[0002] This application is related to the following applications:
U.S. Patent Application Ser. No. 13/836,447, entitled "Data Storage and Exchange Device for Color Space Encoded Images" and filed March 15, 2013;
U.S. Patent Application Ser. No. 13/842,932, entitled "Broadcasting Independent of Network Availability Using Color Space Encoded Image" and filed March 15, 2013;
U.S. Patent Application Ser. No. 13/837,155, entitled "Image Encoding and Decoding Using Color Space" and filed March 15, 2013;
U.S. Patent Application Ser. No. 13/837,895, entitled "Color Restoration for Color Space Encoded Image" and filed March 15, 2013;
U.S. Patent Application Ser. No. 13/842,856, entitled "Two-Level Error Correcting Codes for Color Space Encoded Image" and filed March 15, 2013;
U.S. Patent Application Ser. No. 13/843,111, entitled "Frame of Color Space Encoded Image for Distortion Correction" and filed March 15, 2013;
U.S. Patent Application Ser. No. 13/842,817, entitled "Information Exchange Using Photo Camera as Display for Color Space Encoded Image" and filed March 15, 2013;
U.S. Patent Application Ser. No. 13/843,132, entitled "Information Exchange Display Using Color Space Encoded Image" and filed March 15, 2013;
U.S. Patent Application Ser. No. 13/841,338, entitled "Information Exchange Using Color Space Encoded Image" and filed March 15, 2013; U.S. Patent Application Ser. No. 13/837,769, entitled "Image Fragmentation for Distortion Correction of Color Space Encoded Image" and filed March 15, 2013.
U.S. Patent Application Ser. No. 13/840,504, entitled "Information Broadcast Using Color Space Encoded Image" and filed March 15, 2013.
FIELD OF THE DISCLOSURE
[0003] The present disclosure relates to applications of and exchange devices for color space encoded images, and methods of encoding and decoding color space encoded images. More particularly, the present disclosure relates to encoding and decoding of machine-based data using high capacity multi-colored composite two-dimensional pictures having different symbols organized in specific order and sets in a color space.
BACKGROUND
[0004] With smartphones and tablets having become widely deployed as well as 3G and Wi-Fi based access to Internet, data capture technologies work as an interface between databases and user devices. Example data capture technologies include bar codes, QR codes, Radio Frequency Identification (RFID) and Near Field Communication (NFC). Most of these technologies are used as either a visible or an invisible tag to connect these databases and user devices. The introduction of cloud storage adds extended use of data exchange between data storage and end user devices.
[0005] Many households include many different devices simultaneously connected to Wi-Fi access points. This ubiquitous Wi-Fi usage increases electromagnetic fields around the home environment. Despite the usefulness of Wi-Fi, long term consequences for the human body and general health are not clear.
[0006] End user devices such as smartphones and tablets are frequently equipped with photo and/or video cameras. These cameras can be used for capturing information presented in different visual forms. The other data capture technologies descried earlier, including bar codes and especially two dimensional (2D) bar codes such as QR codes, have attracted the attention of many researchers and companies due to the potential for inexpensive operation.
[0007] Bar codes have been used for mobile applications to deliver a multitude of different mobile services over mobile phones and other mobile communication or computing devices. Such applications range from providing Uniform Resource Locator (URL) information to link a mobile device to the Internet, through to using a bar code as a form of e- ticket for airlines or event admissions. Hence, there is an ever growing demand for higher capacity bar codes, suited for robust application on mobile devices. Traditional approaches to higher capacity bar codes include: (i) using a colored symbol set and (ii) increasing the size of the bar code. There are known limitations for either approach, especially related to mobile devices with compromised, low resolution cameras. The traditional data capacity of ID and 2D bar codes is severely limited. This severely limited data capacity constrains possible applications of ID and 2D bar codes, and their primary task is simply linking camera phones to designated Web sites. Additional tasks may then be performed based on the Web site. This operation again is based on using of Wi-Fi or 3G connectivity.
[0008] The maximum data capacity of 2D bar codes has been improving over the recent years, resulting in the introduction of newer applications.
[0009] Presently, the use of color-based bar code and other symbolic encoding in color space technologies using mobile devices such as camera mobile phones has been limited by the physical size of the actual bar code symbol in relation to the information encoded within, and also by the image capturing mechanism on mobile devices to discriminate or resolve effectively a greater multitude of colors, especially under varied lighting conditions by an inexperienced, lay user. Another limiting factor has been color fidelity of hard copy output devices, such as color printers, in reproducing the true colors of such color based bar code or symbol sets in a color space.
[0010] While bar codes can be used to provide 2D encoded data, they have not been used to provide real storage devices and media.
[0011] Today, e-readers are popular and widely used with constant growth of different devices. For example, some e-readers allow users to consume content rather than create content. Non-limiting example e-readers can include the NOOK® e-reader from Barnes & Noble, Inc., in New York, United States of America, and the KINDLE® e-reader from Amazon, Inc. The number of people reading books and magazines on such e-reader devices is also growing very fast. Still, most new books for e-readers are acquired online over the Internet, for example through connections such as a cellular network including 3G or 4G Long Term Evolution (LTE), or a wireless network including Wi-Fi, ultimately downloading content directly to an e-reader device. If needed, a copy of the book can be stored online, or "in the cloud."
[0012] This traditional distribution model for e-readers requires content such as a book or video to be delivered, downloaded, and stored in electronic form. If an e-reader needs to perform additional downloading, for example to retrieve additional chapters of a book or video, again the cellular or wireless network is used. As described earlier, a side effect of radio-based technologies such as cellular or wireless network includes immersing users in electromagnetic (EM) fields, health effects of which can be uncertain.
[0013] On the other hand, traditional books are becoming less popular due to their size and corresponding storage requirements. Sometimes the cost of traditional book and delivery costs can also be higher than for e-books. However, a benefit of traditional books includes durability. For example, some public and private libraries can contain traditional books as old as a few hundred years. It remains uncertain whether electronic storage devices can be as stable and durable as traditional paper and traditional books over the years. Compact discs (CDs), flash memory, and hard disk drives (HDD) all have limited time before major failure. Similarly, external storage devices are not guaranteed against catastrophic failure or damage.
[0014] Traditional book printing has related problems. Traditional paper production is expensive. Furthermore, serious ecological problems can arise, related to use of wood as a source for the paper production industry. Finally these problems can also be reflected in the cost of a traditional book, if traditional publishers and booksellers push these related costs on to consumers. Cost can also be a factor. For example, self-publishing has become popular in the United States. The cost of publishing traditional books makes self-publishing almost prohibitive. For example, publishing houses may not be willing to deal with small quantities of book printing when the risk of losing money can be relatively higher than with larger publishing runs.
SUMMARY
[0015] Embodiments of the present disclosure can include systems, methods, and non- transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper. In certain aspects, the present systems and methods allow users to perform data backup using color space encoded images. In other aspects, the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images. In certain aspects, publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images. In other aspects, the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images. [0016] In accordance with the disclosed subject matter, methods, volumes, and non- transitory computer program products are provided for creating a volume and a book is provided.
[0017] Certain embodiments include methods for creating a volume. A method includes receiving content of a volume and creating colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in a color space for a cell in the image. The method also includes creating one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image and providing the image on a medium.
[0018] The embodiments described herein can include additional aspects of the present invention. The method also can include providing at least one of a front cover and a back cover for the volume. The method can also include superimposing a picture related to the content of the volume over the image so that the image can still be registered for decoding. The volume can include at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
[0019] Certain embodiments include methods of reading a volume. A method includes receiving an image having colored cells corresponding to a stream of integers encoding contents of the volume, locating the image by locating one or more additional cells adjoining the image, and decoding contents of the volume based on the colored cells and the one or more additional cells adjoining the image.
[0020] The embodiments described herein can include additional aspects of the present invention. For example, the volume can include at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
[0021] Certain embodiments include a volume including a page having printed thereon an image having colored cells corresponding to a stream of integers encoding content of the volume. The volume can include a front cover, and the volume can also include a back cover. The image can further include one or more additional cells including a frame surrounding the image. The image can further include one or more additional cells including color calibration cells adjoining the image.
[0022] Embodiments of the present disclosure can include systems, methods, and non- transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper. In certain aspects, the present systems and methods allow users to perform data backup using color space encoded images. In other aspects, the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images. In certain aspects, publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images. In other aspects, the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images.
[0023] In accordance with the disclosed subject matter, methods, systems, and non- transitory computer program products are provided for data backup and for restoring data backed up.
[0024] Certain embodiments include methods for data backup. A method includes receiving data for backup and creating colored cells within a color space to provide an encoded representation of the received data in an image by processing the received data to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image. The method also includes creating one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image.
[0025] Certain embodiments include systems for data backup. A system includes at least one processor configured to receive data for backup and create colored cells within a color space to provide an encoded representation of the received data in an image by processing the received data to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image. The at least one processor is further configured to create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image.
[0026] The embodiments described herein can include additional aspects of the present invention. For example, the method can also include storing the image electronically. The method can include printing the image onto a medium. Also, the at least one processor can be further configured to include storing the image electronically, the at least one processor can be further configured to print the image onto a medium.
[0027] Certain embodiments include methods for restoring data backed up. A method includes receiving an image having colored cells corresponding to a stream of integers encoding contents of the volume, locating the image by locating one or more additional cells adjoining the image, and decoding data previously backed up based on the colored cells and the one or more additional cells adjoining the image. [0028] Certain embodiments include systems for restoring data backed up. A system includes at least one processor configured to receive an image having colored cells corresponding to a stream of integers encoding contents of the volume, locate the image by locating one or more additional cells adjoining the image, and decode data previously backed up based on the colored cells and the one or more additional cells adjoining the image.
[0029] Embodiments of the present disclosure can include systems, methods, and non- transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper. In certain aspects, the present systems and methods allow users to perform data backup using color space encoded images. In other aspects, the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images. In certain aspects, publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images. In other aspects, the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images.
[0030] In accordance with the disclosed subject matter, methods, systems, and non- transitory computer program products are provided for self-publication.
[0031] Certain embodiments include methods for self-publication. A method includes receiving content for self-publication and creating colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image. The method also includes creating one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and publishing the image on a medium.
[0032] Certain embodiments include systems for self-publication. A system includes at least one processor configured to receive content for self-publication and create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image. The at least one processor is further configured to create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and publish the image on a medium. [0033] Certain embodiments include non-transitory computer program products for self- publication. A non-transitory computer program product is tangibly embodied in a computer- readable medium. The non-transitory computer program product includes instructions operable to cause a data processing apparatus to receive content for self-publication and create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image. The instructions are operable to cause a data processing apparatus to create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and publish the image on a medium.
[0034] The embodiments described herein can include additional aspects of the present invention. For example, the medium can include at least one of paper, plastic, textiles, and fabrics. The publishing can include at least one of storing the image electronically on the medium and printing the image on the medium.
[0035] Embodiments of the present disclosure can include systems, methods, and non- transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper. In certain aspects, the present systems and methods allow users to perform data backup using color space encoded images. In other aspects, the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images. In certain aspects, publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images. In other aspects, the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images.
[0036] In accordance with the disclosed subject matter, methods, systems, and non- transitory computer program products are provided for encoding documents.
[0037] Certain embodiments include methods for encoding documents. A method includes receiving one or more documents and creating colored cells within a color space to provide an encoded representation of the received one or more documents in an image by processing the received documents to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image. The method also includes creating one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image. [0038] Certain embodiments include systems for encoding documents. A system includes at least one processor configured to receive one or more documents and create colored cells within a color space to provide an encoded representation of the received one or more documents in an image by processing the received documents to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image. The at least one processor are further configured to create one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image.
[0039] Certain embodiments include non-transitory computer program products for encoding documents. A non-transitory computer program product can be tangibly embodied in a computer-readable medium. The non-transitory computer program product include instructions operable to cause a data processing apparatus to receive one or more documents and create colored cells within a color space to provide an encoded representation of the received one or more documents in an image by processing the received documents to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image. The instructions are operable to further cause the data processing apparatus to create one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image.
[0040] The embodiments described herein can include additional aspects of the present invention. For example, the method can also include comprising printing the image onto a medium. The at least one processor can be further configured to print the image onto a medium. The instructions are operable to further cause the data processing apparatus to print the image onto a medium. The medium can include at least one of paper and plastic. The method can further include storing the image electronically. The at least one processor can be further configured to store the image electronically. The instructions are operable to further cause the data processing apparatus to store the image electronically. The document can include a plurality of pages of content.
[0041] Embodiments of the present disclosure can include systems, methods, and non- transitory computer program products for using color space encoded images to publish an entire book including text and images onto a single piece of paper, or onto few pieces of paper. In certain aspects, the present systems and methods allow users to perform data backup using color space encoded images. In other aspects, the present systems and methods allow users to self-publish desired content significantly cheaper by encoding the desired content using color space encoded images. In certain aspects, publishers or booksellers can include traditional books in combination with digital or electronic books distributed using color space encoded images. In other aspects, the present systems and methods allow users or administrators to compress and/or copy massive documents using color space encoded images.
[0042] In accordance with the disclosed subject matter, methods, systems, and non- transitory computer program products are provided for creating a combination volume and electronic volume.
[0043] Certain embodiments include methods for creating a combination volume and electronic volume. A method includes receiving content of an electronic volume and creating colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image. The method also includes creating one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and printing the image onto a page of a volume.
[0044] Certain embodiments include systems for creating a combination volume and electronic volume. A system includes at least one processor configured to receive content of an electronic volume and create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image. The at least one processor is further configured to create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and print the image onto a page of a volume.
[0045] Certain embodiments include non-transitory computer program products for creating a combination volume and electronic volume. The non-transitory computer program product can be tangibly embodied in a computer-readable medium. The non-transitory computer program product include instructions operable to cause a data processing apparatus to receive content of an electronic volume and create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers. Each integer in the stream of integers corresponds to a color in the color space for a cell in the image. The instructions are operable to further cause the data processing apparatus to create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image and print the image onto a page of a volume.
[0046] The embodiments described herein can include additional aspects of the present invention. For example, the volume can include at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Various objects, features, and advantages of the present disclosure can be more fully appreciated with reference to the following detailed description when considered in connection with the following drawings, in which like reference numerals identify like elements. The following drawings are for the purpose of illustration only and are not intended to be limiting of the invention, the scope of which is set forth in the claims that follow.
[0048] FIG. 1 illustrates a system for storing, encoding, and decoding a 2D color space image in accordance with certain embodiments of the present disclosure.
[0049] FIGS. 2A-2B illustrate the 2D color space encoded image in accordance with certain embodiments of the present disclosure.
[0050] FIG. 3 illustrates a method that the system performs for encoding an image in accordance with certain embodiments of the present disclosure.
[0051] FIG. 4 illustrates a method that the system performs for decoding an image in accordance with certain embodiments of the present disclosure.
[0052] FIG. 5 illustrates a block diagram of color calibration cells for restoration of proper color based on distinguishable color samples in accordance with certain embodiments of the present disclosure.
[0053] FIG. 6 illustrates a block diagram of a frame arrangement for geometrical distortion correction of an encoded image in accordance with certain embodiments of the present disclosure.
[0054] FIG. 7 illustrates a block diagram for frame fragmentation for distortion correction in accordance with certain embodiments of the present disclosure.
[0055] FIG. 8 illustrates a book as an encoded image on a page in accordance with certain embodiments of the present disclosure.
[0056] FIG. 9A illustrates an example of a combination book with a digital book using a color space encoded image in accordance with certain embodiments of the present disclosure. [0057] FIG. 9B illustrates an example of a greeting card using a color space encoded image in accordance with certain embodiments of the present disclosure.
[0058] FIG. 10 illustrates a block diagram of an example system for copying large documents using color space encoded images in accordance with certain embodiments of the present disclosure.
[0059] FIG. 1 1 illustrates a block diagram of an example system for data backup for e- books and other content using color space encoded images in accordance with certain embodiments of the present invention.
[0060] FIG. 12 illustrates a block diagram for information visualization using a color space encoded image in accordance with certain embodiments of the present disclosure.
DETAILED DESCRIPTION
[0061] The present systems and methods allow for use of 2D color- space codes to encode images with greater data capacity. The 2D color-space encoded images described herein can provide a wide variety of applications, regardless of network connectivity. The present systems and methods allow a sufficient amount of data or even an entire database to be encoded and placed in a storage device using the 2D images encoded and organized by color- space codes as described herein.
[0062] The present disclosure has utility in, for example, data back-up storage
applications or data exchange using mobile devices to provide color two-dimensional pictures for processing.
[0063] Figure 1 illustrates a system 100 for storing, encoding, and decoding a 2D color space image in accordance with certain embodiments of the present disclosure. System 100 includes a 2D color space image 102. System 100 can encode any type of desired machine- based data. Non-limiting examples of machine-based data include text 104a, books 104b (containing, for example, text and images), databases 104c, photographs 104d or other artwork, images, video, film, or movies, music 104e, or any other type of binary data 104f.
[0064] In some embodiments, capturing of desired data can be done using a conventional camera or scanner, or a smartphone or tablet camera.
[0065] For example, a user can encode selected information into a 2D color-space coded image and print the image on any desired media (e.g., paper, textile, plastic, etc.). The 2D color-space coded image can also be depicted on any display, including posters, TV screens or computer monitors, as well as displayed on mobile devices such as smartphones or tablets. Digital photo cameras can be used as display devices as well. [0066] Using a capturing device (e.g. , a conventional camera or scanner or a smartphone or tablet camera) with an external PC or internal processor having image reading or decoding software, the image code can be decoded and the encoded data can be read. The present systems and methods allow information to be retrieved, decoded, and saved in the memory of a device or presented on a display for further use. For example, the decoded data can be read on a laptop computer 106a or a desktop computer 106b, a smart phone 106c, a photo camera 106d, a palmtop or handheld device 106e, or a tablet 106f. All this can be done without manual work. No network connectivity or additional cost is required.
High volume Data storage and exchange device and encoding/decoding methods
[0067] The present systems and methods relate to a data storage device for storing 2D color space encoded images, methods of encoding and decoding the 2D color space encoded images, and application of the 2D color space encoded images to data exchange.
[0068] More particularly, the present disclosure relates to encoding, transmission, and decoding of machine-based data using an appropriately formatted high capacity color image. The present systems and methods can be utilized, for example, for compact backup of printed materials, and/or data exchange between a color-image-displaying device and a plurality of image-reading devices.
[0069] Figures 2A-2B illustrate the 2D color space encoded image 102 in accordance with certain embodiments of the present disclosure. As illustrated in Figure 2A, encoded image 102 includes a number of rectangular cells 202 of different colors. In some embodiments, encoded image 102 can include a black frame 204, a white frame 206, a "zebra frame" 208 having alternating colors, and color calibration cells 210.
[0070] Figure 2B illustrates a close-up view of the black frame 204, the white frame 206, the zebra frame 208, and the color calibration cells 210 in accordance with certain
embodiments of the present disclosure. Black frame 204 and white frame 206 can be used for rough localization of the data image including rectangular cells 202, determination of geometric distortion of the data image, and estimation of cell size and scale of rectangular cells 202. Zebra frame 208 can be used for further calibration of cell size for rectangular cells 202. Color calibration cells 210 can be used for determining a number of colors Nc used for encoding the data, and for indexing the colors to map the colors to numbers for encoding and decoding. [0071] In some embodiments, rectangular cells 202 can use more than eight different colors. The number of colors can be expressed as Nc, for example Nc > 8. Preferably, the number of colors is selected to be a power of two.
[0072] Figure 3 illustrates a method 300 that the system performs for encoding an image in accordance with certain embodiments of the present disclosure.
[0073] The choice of appropriate color-difference metrics can help achieve stable color resolution for image-source media and image-reading devices. Most imaging devices operating in the visible spectrum are adapted to human eye color resolution. A color space describes color capabilities of a particular device by relating numbers to actual colors.
Embodiments of the present disclosure utilize metrics based on low-cost non-Euclidean distance in red green blue (RGB) color space.
[0074] In some embodiments, the present system uses color space metrics which are close to Commission International de l'eclairage (CIE) 1976 (L*,u*,v*) color space metrics. The CIELUV color space distributes colors roughly proportional to perceived color
differences. In other embodiments, the present systems and methods are able to use any color space, including the CIE 1931 XYZ color space, CIELAB color space, and CIEUVW color space. Although embodiments of the present system are based on the CIELUV color space, according to experimentation, the color space used in certain embodiments is advantageously less sensitive to a color temperature of relevant image displaying media or device, and advantageously less sensitive to external illumination. Assuming R, G, and B are one byte (i.e., 0..255 or 0x0..0xFF) normalized intensity of red, green and blue color components correspondingly, a color difference AC between colors C1 = Rlt G B ) and C2 =
(R2, G2, B2) can be given by the following equations:
_ Ri + R2
AR = R2— R1
AG = G2— G1
AB = B2 - B1
Equation (1)
Figure imgf000015_0001
where r describes an average red component value of C1 and C2.
[0075] The present system first receives machine data for encoding into an image. For example, the machine data can be contained in a file. The present system compresses the file (step 302). For example, the machine data can be compressed into a binary compressed file such as zip, rar, arc or any other archive format file.
[0076] The present system then determines an appropriate color encoding, illustrated by box 310. For example, the present system maps the resulting code sequence to a stream of integers from 0 to Nc-1 , inclusive. Using the stream of integers, the present system creates a bitmap with frame formatting. Generation of frame formatting is described in further detail later. The present system fills the interior of the frames with color bitmap cells, encoded as described following. In some embodiments, the encoding can use error correction. A non- limiting example of error correction is the two-stage error correction described herein. In some embodiments, the encoding can use scrambling. In some embodiments, the encoding can use error correction in combination with scrambling. The present system determines the color of each cell based on the color calibration cells. The resulting encoded image can then be sent to any display, including a color printer, display, or other color image output device.
[0077] In some embodiments, the present system then performs a first level of error correction (step 304). One benefit of error correction is that the present system is able to decode an image properly, even if a portion of the image is damaged. For example, the present system can determine a header containing a cyclic redundancy check (CRC) error- detecting code, file name, format information, and sequence number (e.g., if the machine data and resulting encoded image represent only part of a larger data stream such as a video stream). In some embodiments, the present system can use any error detecting code such as repetition codes, addition of parity bits, checksums, hash functions, or more powerful error correcting codes.
[0078] In some embodiments, the present system can use a Reed-Solomon encoder of high order. A Reed-Solomon error correction code is a cyclic error-correcting code capable of detecting and correcting multiple errors in a bit stream. For example, the present system can use 8-bit words and blocks of size 255 bytes, if Nc = 16. In further embodiments, the present system can use other error-correcting codes such as low-density parity-check (LDPC) codes or turbo codes. Reed-Solomon error correction codes are capable of detecting errors, erasures, and combinations thereof. In some embodiments, a word size for this high order level of Reed-Solomon encoding can be equal to k*log2(Nc) rounded down, where k > 1. As described herein, in some embodiments the two-stage error coding can perform high order Reed-Solomon encoding in a first stage, and low order Reed-Solomon encoding in a second stage. The second stage can also include smaller words. For example, the word size can be equal to log2(Nc) bits, rounded down. [0079] In some embodiments, the present system then scrambles the obtained code (step 306). For example, the resulting code can be interleaved using a predefined pseudorandom sequence. The present system scrambles the obtained code to spread out potential errors. Accordingly, the two-level error correction described herein can perform better. That is, when registering or capturing an image for decoding, there can be color distorgions due to non-uniform lighting, or damage on the media on which the image is printed. For example, the media can have spots, be wrinkled, and the like. The scrambling provides that "bad" color cells with uncertain data can be distributed uniformly (i.e., independently) into different encoding blocks, thereby decreasing the number of errors per block. Because error correction can have upper limits of correctable errors, the present spreading improves the effectiveness of the error correction.
[0080] In some embodiments, the present system then performs a second level of error correction (step 308). For example, the resulting scrambled code is encoded using a Reed- Solomon encoder with . For the second level of error correction, the word size can be selected to be smaller than the word size used in the first level of error correction. As described earlier, this two-stage error correction allows the present system to mark unrecoverable blocks of data during a first stage as erasures. The error correction described herein finds an index location of an error word inside a block, and also corrects the error word to its correct or true value. The two-stage error correction allows the present system to correct twice as many erasures as errors, as described in more detail later.
Registration
[0081] The present system is able to use any kind of high definition (HD) color registration device to register an encoded image. Non-limiting example registration devices can include a digital camera, a smartphone camera, a tablet camera, a video camera, a webcam, a scanner (to scan a hard copy image), etc.
Decoding
[0082] Figure 4 illustrates a method 400 that the system performs for decoding an image in accordance with certain embodiments of the present disclosure.
[0083] Once an encoded image is registered, the present system can copy a registered image to any processing device containing a decoding module. An example processing device can include a computer, containing a decoding module with computer-readable instructions for decoding, where the computer-readable instructions are stored on a non- transitory computer storage medium, or containing hardware having hard-coded or embedded decoding instructions stored thereon. [0084] Generally, decoding method 400 includes two high-level processes: (1) image recognition, and (2) two-stage Reed-Solomon decoding. In some embodiments, the present system uses Viterbi decoding as a Reed-Solomon decoder.
[0085] The present system locates the main frame (step 402). For example, the present system can locate the black frame and the white frame vertices. The present system can further determine the middles of the corresponding edges of the black frame and the white frame. If the main frame is not found (step 404: No), the present system returns an error (step 406). For example, the error can be that the image cannot be decoded, or the error can be more specific such as that the main frame cannot be found.
[0086] If the main frame is found (step 404: Yes), the present system corrects geometric distortion based on the main frame and the zebra frame (step 412). Geometric distortion can occur when a user uses a camera lens, for example on a smartphone or tablet camera, or on a digital camera, to decode an image. Accounting for distortion is described in further detail later, in connection with Figure 6.
[0087] The present system locates the color calibration cells (step 408). As described earlier in connection with Figures 2A-2B, in some embodiments, the color calibration cells are located inside the black frame and the white frame, on the left of the rectangular cells encoding the machine data. In other embodiments, the color frame could be located outside the black frame, between the black and white frames, or in other locations within the white frame.
[0088] Based on the color frame, the present system decodes the colors in the rectangular cells (step 410). In general, for every pixel found in the encoded image, the present system finds the closest sample pixel based on the color calibration cells and substitutes the sample pixel for the detected pixel. In some embodiments, the present system obtains a color-value correspondence. The present system determines cell size calibration based on the zebra frame. The present system divides the data image into color cells. When decoding the image, the present system captures or collects all colors belonging to a given pixel rectangle. If most of the pixel colors in the pixel rectangle could be recognized as one color from the color calibration cells, that color from the color calibration cells is used. Otherwise, the present system marks the pixel as an erasure. If a pixel-level block cannot be decoded, the present system treats the whole pixel block as an erasure. The present system reads the rectangular cells sequentially and determines an index of the nearest color from the color calibration cells to the median cell color. In particular, the present system determines the nearest color according to nearest Euclidean distance in the appropriate color space, according to Equation (1), described earlier.
[0089] The present system decodes the bytes (step 414). In some embodiments, the present system applies a corresponding decoder to the error-correcting encoder described earlier. For example, the present system applies a low-level Reed-Solomon decoder to the code stream obtained from the decoded colors. Accordingly, due to the nature of the error- correcting code, the present system is able to restore erasures and errors in the code stream. If the present system detects unrepairable blocks, the unrepairable blocks are marked as "erasures."
[0090] The present system then descrambles the bytes (step 416). In some embodiments, the present system de-interleaves the resulting byte stream.
[0091] The present system then decodes the original information based on the decoded byte stream (step 418). In general, the present system uses a corresponding decoder to the error-correcting encoder described earlier, to restore pixel-block- level erasures and errors. In some embodiments, the present system applies a high-level Reed-Solomon decoder. After applying the high-level Reed-Solomon decoder, if some pixel blocks remain un-repairable, the present system attempts to change the indices to those indices corresponding to the next nearest color in the color calibration cells, and then repeats Reed-Solomon decoding of the modified block. If error free data is obtained, the present system maps the resulting sequence of integers to a bit stream. The present system then parses the resulting bit stream and computes a cyclic redundancy check (CRC) of the data. The present system compares the resulting CRC with the CRC contained in the header of the image. The present system then saves or appends the file.
Two-level COLOR error correction schema with erasures and statistical color restoration
[0092] The two-level error correction used in the present system and described earlier in connection with Figures 3 and 4 allows the present system to correct two types of errors: errors and erasures. In some embodiments, the Reed-Solomon error-correction encoding used is able to detect errors (which correspond to wrong, incorrect, or unexpected
information) and erasures (which correspond to absent or missing information).
[0093] In some embodiments, correcting erasures can be performed twice as effectively than correcting errors. To make use of this feature, the present system uses a two-level error correction schema.
[0094] For example, assume Nc=16 (i.e., 24). Accordingly, there are sixteen distinctive colors which allow an encoded image to encode 4 bits of information per rectangular cell. Every byte of information (8 bits) is encoded by two color indices. The error correction scheme has two levels. First, the byte array is divided into chunks, and every chunk is appended with Reed-Solomon source control data. Second, every byte is divided into two half-bytes (4 bits). The half-bytes are then gathered into groups or chunks which are appended with Reed-Solomon source control data. For example, the present system can process < Nc-1 half-bytes. That is, if Nc=16, the present system gathers less than fifteen half- bytes. The group of half-bytes is then appended with Reed-Solomon source control data determined based on the group of half-bytes. Because the Reed-Solomon source control data can be about the same size as the input data, the addition of the Reed-Solomon source control data results in the size of the group reaching fifteen bytes. For example, the size of the input data and the control data block size can be fifteen bytes. Each half-byte in the group is mapped to an appropriate color, for example by using the corresponding half-bytes as indices into the color array. Accordingly, the encoding process applies two levels of Reed-Solomon encoding, first at the byte array level and second at the half-byte level.
[0095] As described earlier, when decoding the image, the present system collects all colors belonging to a detected pixel rectangle. If most of the colors in the pixel rectangle could be recognized as one of the colors in the color calibration cells, the present system uses the corresponding color in the color calibration cells. Otherwise, the pixel rectangle is marked as an erasure. If a pixel-level block cannot be decoded, the whole pixel block is treated as an erasure. As described earlier, the erasures can be further restored by an appropriate error-correction algorithm. The two-level error correction and leveraging of erasure determinations significantly improves the quality of the decoding described earlier in connection with Figure 4. In particular, the two-level error correction described herein allows the present system to recover information which otherwise would be lost.
Restoration of proper color in the case of distinguishable color samples
[0096] Figure 5 illustrates a block diagram of color calibration cells for restoration of proper color based on distinguishable color samples in accordance with certain embodiments of the present disclosure. Figure 5 includes color calibration cells 210.
[0097] Color calibration cells 210 include all colors used to encode the rectangular cells. In some embodiments, a white frame or border surrounds color calibration cells 210 for the color white. In other embodiments, the present system may also include white as a color block in the color calibration cells arranged on the left hand side. The present system discerns each color based on its placement within color calibration cells 210. The present system then stores distorted pixels as color samples. Different variants of a distorted pixel are saved to point or refer to the same correct pixel. That is, distorted pixels are determined dynamically, based on the position of their colors among the color calibration cells. The distorted pixels are assigned estimated colors according to the color calibration cells.
[0098] As described earlier, during decoding (shown in Figure 4), the present system translates a distorted pixel into one of the original colors in color calibration cells 210 using the nearest original color to the distorted pixel. For example, let color C = (R, G, B) represent a red green blue (RGB) component representation of the color. According to Equation (1), described earlier, a pseudo-Euclidean distance between two colors C; and C2 can be given by AC, as described in Equation (1):
Figure imgf000021_0001
[0099] This distance generates a native pseudo-Euclidean metric in the color space. A color mapping can be represented by the set of pairs: (distorted color)— > (correct color). The distorted color can be Ci, and the correct color can be C2. The number of such color pairs should be greater than or equal to Nc, the total number of colors. This mapping can be determined based on the color calibration cells and on the color arrangement therein.
[0100] To restore a correct or proper color c from a distorted color, the present system iterates over all pairs of distorted colors and correct colors. In particular, the present system selects the pair in which the distorted color portion of the pair is closest to the correct or proper color c . In some embodiments, the determination of whether the distorted color portion is closest to the correct or proper color is made according to the pseudo-Euclidian metrics in the RGB color space. That is, the present system selects the pair in which AC is smallest according to Equation (1). The selected pair provides the correct color.
Accordingly, the present system allows the correct colors to be restored, because the present system saves the correspondence between the distorted values and the original values.
Therefore, the present system is able to leverage information about the way in which the colors were distorted relative to the original values as captured in the color calibration cells. Frame arrangement for automatic image geometrical distortion correction
[0101] Figure 6 illustrates a block diagram of a frame arrangement for geometrical distortion correction of an encoded image in accordance with certain embodiments of the present disclosure.
[0102] In some embodiments, the present system includes arrangements to recognize placement of rectangular cells and other elements in the encoded image. For example, these arrangements can include black frame 204, white frame 206, zebra frame 208, and color calibration sidebar 210 (shown in Figure 2). The black frame and white frame surround the encoded rectangular cells. The color calibration sidebar contains sample colors (described earlier, in connection with Figure 5). The zebra frame surrounds the encoded rectangular cells to allow the present system to determine appropriate resolution and pixel division of the encoded image.
[0103] The black frame and white frame allow the present system to determine and correct nonlinear distortion. As described earlier, nonlinear distortion can be introduced, for example, by camera lenses when registering an encoded image for decoding. In some embodiments, the present system uses the white frame as follows. The white frame can be restricted by curve xleft(y) 602, curve xright(y) 604, curve ytop(x) 606, and curve ybottom(x) 608. For every point (x ,y ) 610 which belongs to the area restricted by curves 602-608, the present system can determine parameters a and b (0<a<l and 0<b<l) according to the following equations:
(1-a) xieft(y*) +a Xright(y*) = x*
(1-b) ytoP(x*) +b ybottom(x*) = y*
The equation described above maps the area restricted by curves 602-608 to a unit rectangle defined by 0<a<l , 0<b<l . The unit rectangle can represent what the image would look like when "straightened out," by mapping the area restricted by curves 602-608 to the unit rectangle. That is, the distorted boundary of the image determined according to the area restricted by curves 602-608 can be mapped to the "straightened out" unit rectangle. The zebra frame can be used to determine parameters a and b. The present distortion correction therefore allows the original area having curved or non-linear sub-regions to be transformed according to the unit rectangle using parameters a and b.
[0104] The zebra frame allows the present system to determine a resolution of the embedded picture, and to divide the image into "bold" or unknown pixels. As described earlier, the color value of some pixels may be unknown. "Bold" pixels allow the present system to determine the proper color value of a pixel according to a voting process. In some embodiments, the voting process can choose the color value of the most frequent pixel close to the "bold" or unknown pixel to be the color value of the "bold" pixel. Otherwise, if the result of the voting is unclear— for example, if there is no pixel with a frequency much larger than the other pixels— the present system can mark the pixel as an erasure (i.e., missing). Therefore, using the two-level error correction described earlier, the pixel can be restored. Image Fragmentation
[0105] Figure 7 illustrates a block diagram for frame fragmentation for distortion correction in accordance with certain embodiments of the present disclosure. The rectangular cells can be divided into sub-images 704 using separating lines 702.
[0106] Frame fragmentation or image fragmentation refers to a complementary technique to distortion correction (shown in Figure 6). In some embodiments, dividing the image into a set of sub-images 704 allows the present system to work with every sub-image 704, without requiring the distortion compensation technique described earlier because sub-images 704 are sufficiently small that there is not as much distortion as with the entire encoded image. In some embodiments, sub-images 704 can be separated with separating lines 702. In some embodiments, separating lines 702 can be black lines, which can also became part of the zebra border.
[0107] The present system can use the same encoding and decoding techniques described earlier (shown in Figures 3 and 4) for encoding and decoding of sub-images 704. For example, the present system can leverage the two-level error correction, scrambler, etc.
described earlier.
[0108] In some embodiments, the present system can skip the distortion correction described earlier (shown in Figure 6). The present system can leverage the relatively smaller size of sub-images 704 to skip non- linear distortion compensation of each sub-image 704. Accordingly, the present system can decode sub-images 704 with better accuracy.
"Book on Page" and Storage of massive data
[0109] In some embodiments, the present encoded images can be applied to storing text and images of an entire book on a single piece of paper (or other medium). In other embodiments, the present encoded images can be applied to storing text and images onto a small number of pages of paper (or other medium).
[0110] Advantages of embodiments of the present disclosure include: reliable backup for e-books and other content, and faster and easier downloading of an e-book onto a reading device. In some embodiments, the downloading can be performed without requiring network connectivity such as cellular network usage or wireless network usage. Related costs can therefore be much more acceptable and lower to users.
[0111] Figure 8 illustrates a book 800 as an encoded image on a page in accordance with certain embodiments of the present disclosure. Book 800 includes a front cover 802, a middle page 804, and a back cover 806. In some embodiments, book 800 can include a volume, a document, a textbook, a magazine, a flyer, a circular, or the like. Embodiments of the present disclosure therefore include digital content of an entire book 104b, encoded into a 2D color space image 102, and printed on media. Non- limiting examples of media for distribution can include paper, plastic, textiles, fabrics, and the like. Non-limiting examples of digital content that can be included in book 800 include book 104b, text 104a, photo 104d (or other images or artwork), and any other binary data 104f. In some embodiments, book 800 can include only middle page 804 with encoded image 102, without front cover 802 or back cover 806. Due to the color space encoding used by the present system, the amount of media needed can be substantially lower than used in traditional printing. In other embodiments, book 800 includes more than one middle page 804 with encoded images.
[0112] Several options can be used to decode book 800 printed as described herein, to bring book 104b from encoded image 102 to an e-reader or other compatible device.
[0113] First, book 800 including encoded image 102 can be registered or captured by an appropriate device having an appropriate camera lens, such as a digital camera, smartphone camera, or tablet camera.
[0114] In some embodiments, encoded image 102 in book 800 can be scanned by a traditional scanner to a personal computer (PC). As described earlier, appropriate hardware or software on the PC can decode encoded image 102 according to the decoding process described in connection with Figure 4. After the content has been decoded, the encoded content such as book 104b can be transferred to an e-reader, as with any other content.
[0115] Second, book 800 including encoded image 102 can be photographed, for example using a digital camera having a memory card for storing digital images. The memory card from the digital camera can be placed in a compatible e-reader (e.g., an e-reader with a memory slot) or in a conventional PC having a compatible card slot. A software application or particularized hardware can decode encoded image 102 directly on the e-reader or directly on the PC.
[0116] Third, book 800 including encoded image 102 can be photographed by an embedded camera in a compatible reading device. Non-limiting examples of compatible reading devices include any smartphone or tablet with an embedded camera. Once photographed, encoded image 102 can be decoded in hardware or using an appropriate software application on the reading device. In some embodiments, the reading device can include a tablet, a PDA, a notebook computer, a PC, a smartphone, a palmtop or handheld device, or the like.
Supported resolution [0117] Examples of supported or appropriate resolutions for a device for registering or capturing encoded image 102 in book 800 are described in the following examples.
[0118] Many printers can print with a resolution of about 300 dots per inch (dpi).
Accordingly, some supported resolutions can be given if a scanner is set to 600 dpi or higher. Selecting a resolution of 600 dpi or higher from a scanning device assures that printed pixels of encoded image 102, printed at 300 dpi, can be scanned and therefore registered or captured.
[0119] On a typical page of A4-size or letter-size paper, a usable area can be about eight inches by about ten or eleven inches (8"xl0" or 8"xl l"). At 300 dots per inch and a usable area of about 8"xl0" or 8"xl 1", approximately 3300x2400 pixels (300 dpi x 11 in. by 300 dpi x 8 in.) can be printed on an appropriate page. In some embodiments, due the properties of the encoding algorithm explained earlier, a "real" data pixel as encoded and decoded using the present systems and methods can consist of about 3x3 printed pixels. Three pixels can be used for one "real" data pixel because one printed pixel may otherwise be too small to decode a proper color value. For example, printers or scanners may be of relatively lower quality, and printed pixels may not match pixels detected via a camera or scanner. Using "bold" pixels including about 3x3 printed pixels can assist with determining an average color value for voting. Accordingly, the decoding process described can be more accurate by
determining original colors, albeit at the expense of some printed resolution. In some embodiments, to implement error detection and correction, the present system and methods can add 100% overhead (as explained) and use sixteen colors to build an appropriate color space encoding. Accordingly, the amount of data that can be encoded into an encoded image 102 able to fit on a usable area of a page is about 220 kilobytes (kB).
[0120] The content (i.e., text and/or images) of a typical book 102b can be represented by a similar number of bits. For example, for a book of about 200 pages, there can be about 1000-1100 characters on each page. For example, The Hound of the Baskervilles by Sir Arthur Conan Doyle is about 150 kB in ePub format. In some embodiments, for longer books (e.g., War and Peace by Leo Tolstoy), multiple pages with multiple encoded images 102 can be used. The space savings and savings in printed materials would still be significant due to the encoding process described earlier.
[0121] As described earlier, a single page can have printed on it, in some embodiments, about 3300 pixels x 2400 pixels ~ 7,920,000 pixels. Accordingly, a traditional digital camera with an image sensor of about 8 megapixels (MP) or more has enough resolution to register or capture a picture of encoded image 102 printed on suitable media of about such size. [0122] In some embodiments, if a photo camera is used as a registering or capturing device, the two-level error correction described earlier helps avoid and/or correct decoding errors that can arise especially due to different light conditions encountered during registration or capture, or related to the quality of the paper used or due to properties of the other media.
[0123] The numbers and counts above have been presented by way of example only. In some embodiments, as optics, scanners, and cameras become more advanced, higher resolutions can be achieved in both the encoding process (shown in Figure 3) and the decoding process (shown in Figure 4) described herein.
[0124] For example, in the example presented earlier, the relevant printed pixel size was described to be about 80x80 microns. In theory, good photo lenses can be capable of resolving details to about 10 microns. Accordingly, theoretically more than 60 times better resolution can be achieved. As a result, a single page such as middle page 804 could contain about fifteen megabytes (MB) of information. Fifteen megabytes represents more than enough data capacity to print even the longest and most complex book on a single page.
[0125] In some embodiments, the present systems and methods promote green technologies. For example, the book The Hound of the Baskervilles by Sir Arthur Conan Doyle is about 220 pages in a paper printed version. In a book printed and encoded as described earlier, i.e. on a middle page with front and back covers, the resulting encoded book uses only three pages. This represents a savings in paper of at least 70 times.
Bookstores could generate higher profits and revenue by switching over their stock or portions thereof to encoded books as described herein.
[0126] As illustrated in Figure 8, in some embodiments, the present systems and methods promote low-cost self-publishing. Book 800 as described herein represents a substantial reduction in printed media required to store and distribute a book or any other content.
Accordingly, the cost of self-publishing a book can drop dramatically due to savings in materials and media used. With decorated covers and nice printing, book 800 can be highly appreciated on bookshelves as well as gifts.
[0127] Figure 9A illustrates an example of a combination book 900 with a digital book using a color space encoded image in accordance with certain embodiments of the present disclosure. Figure 9A includes combination book 900, and encoded image 102.
Combination book 900 can include encoded image 102 in addition to a traditionally printed book. Encoded image 102 can be printed inside combination book 900, for example on a front cover, a back cover, or on any intermediate page (as shown in Figure 9A). Encoded image 102 having a digital copy of an e-book can be distributed to accompany a traditionally printed book. In some embodiments, encoded image 102 can also be distributed as an attachment or insert to newspapers, magazines, or any other traditionally printed matter.
[0128] Figure 9B illustrates an example of a greeting card 902 using a color space encoded image in accordance with certain embodiments of the present disclosure. Figure 9B includes greeting card 902 and encoded image 102. Greeting card 902 can include encoded image 102, in addition to a traditionally printed greeting card. The digitally-encoded greeting card can include colorful text, animation, video, music, voice recordings of friends or family members, or any other binary data encoded in accordance with the encoding process described in Figure 3.
[0129] Figure 10 illustrates a block diagram of an example system 1000 for copying large documents using color space encoded images in accordance with certain embodiments of the present disclosure. System 1000 includes large documents 1002 and an encoded image 102. In some embodiments, the present systems and methods allow users to copy large documents 1002 using encoded image 102. For example, large documents 1002 can include technical manuals or other technical documents such as technical standards. Technical standards in particular can be frequently updated and require significant amounts of paper for printing. Certain large documents 1002 also need to be stored safely. Example large documents 1002 can include technical manuals such as manuals for pilots. Advantageously, large documents 1002 can be downloaded easily on devices in which all network connectivity has been disabled for safety reasons, also known as airplane mode on certain devices, so long as the devices have hardware or software modules implementing the decoding process described earlier, in connection with Figure 4. Large documents 1002 can still be downloaded and shared easily on any device with an embedded camera, without requiring a network to transfer encoded data such as encoded image 102 or decoded data such as the machine content encoded into encoded image 102.
[0130] Figure 11 illustrates a block diagram of an example system 1100 for data backup for e-books and other content using color space encoded images in accordance with certain embodiments of the present invention. System 1100 includes data backup 1102, and encoded image 102. To perform data backup of a desired host system, system 1100 is able to compress machine data into color space encoded images such as encoded image 102. In some embodiments, data backup 1102 can include electronic copies of encoded image 102 and other encoded images. In other embodiments, data backup 1102 can include physical copies such as printouts of encoded image 102. In further embodiments, the printouts can be laminated, protected, or otherwise preserved so that they are able to be decoded and read for significantly longer amounts of time than a typical electronic storage device might be able to store electronic images.
[0131] As described earlier, any type of data can be encoded and stored in accordance with the color space encoding systems and methods described herein, and where the encoded images can be printed (or displayed or otherwise output) on proper media.
[0132] Figure 12 illustrates a block diagram for information visualization using a color space encoded image 1200 in accordance with certain embodiments of the present disclosure. In some embodiments, the present system allows for visualization of certain information. Because the color space encoded image appears to a human eye like an irregular combination of colored spots, some users might find the encoded images unattractive, or find the encoded images do not provide direct visual information about encoded data or subject matter.
[0133] In some embodiments, a specific and subject-related picture can be combined from encoding spots (such as a book's name 1202, etc.). In other embodiments, a picture 1204 can be overlaid on encoded image 1200. In further embodiments, less useful information can be placed or displayed on a frame. The attractiveness and directness of encoded image 1200 can lead the subject of the encoded data to be more interesting or important for a user.
[0134] In some embodiments, a similar approach of information visualization by combining a picture with an encoded image can be used for front and/or back covers of books.
[0135] Although specific steps are disclosed in Figures 3 and 4, such steps are exemplary. That is, the present system is well-suited to performing various other steps or variations of the steps recited in Figures 3 and 4. The steps in Figures 3 and 4 may be performed in an order different than presented, and that not all of the steps may be performed. Figures 3 and 4 include processes that, in various embodiments, are carried out by a processor under the control of computer-readable and computer-executable instructions. Embodiments of the present disclosure may thus be stored as non-transitory computer-readable media or computer-executable instructions including, but not limited to, firmware updates, software update packages, or hardware (e.g., ROM).
[0136] Reference has been made in detail to various embodiments in accordance with the the present disclosure, examples of which are illustrated in the accompanying drawings. While the invention has been described in conjunction with various embodiments, these various embodiments are not intended to limit the invention. On the contrary, the invention is intended to cover alternatives, modifications, and equivalents, which may be included within the scope of the invention as construed according to the appended claims.
Furthermore, in the detailed description of various embodiments, numerous specific details have been set forth in order to provide a thorough understanding of the invention. However, the invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail, so as not to unnecessarily obscure aspects of the invention.
[0137] Some portions of the detailed descriptions have been presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a non-transitory computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present disclosure, a procedure, logic block, process, or the like, is conceived to be a self-consistent sequence of operations or steps or instructions leading to a desired result. The operations or steps are those utilizing physical manipulations and transformations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system or computing device. It has been convenient at times, principally for reasons of common usage, to refer to these signals as records, transactions, bits, values, elements, symbols, characters, samples, pixels, or the like.
[0138] All of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the foregoing discussions, it is appreciated that throughout the present disclosure, discussions utilizing terms such as "deactivating," "disabling," "reactivating," "enabling," "sending," "receiving," "determining," "flushing," "responding," "generating," "making," "blocking," "accessing," "taking a snapshot," "associating," "allowing," "updating," or the like, refer to actions and processes of a computer system or similar electronic computing device or processor. The computer system or similar electronic computing device manipulates and transforms data represented as physical (electronic) quantities within the system memories, registers or other such information storage, transmission or display devices.
[0139] The present systems and methods can be implemented in a variety of architectures and configurations. For example, the present systems and methods can be implemented as part of a distributed computing environment, a cloud computing environment, a client server environment, etc. The embodiments described herein may be discussed in the general context of computer-executable instructions residing on some form of non-transitory computer-readable storage medium, such as program modules, executed by one or more computers, computing devices, or other devices. As described earlier, non-limiting examples of computer-readable storage media may include storage media and communication media. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or distributed as desired in various embodiments.
[0140] The foregoing descriptions of specific embodiments of the present systems and methods have been presented for purposes of illustration and description. The specific embodiments are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and many modifications and variations are possible in light of the above description. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.
What is claimed is:

Claims

1. A computer-implemented method for creating a volume, the method comprising:
receiving content of a volume;
creating colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in a color space for a cell in the image;
creating one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image; and
providing the image on a medium.
2. The method of claim 1, further comprising providing at least one of a front cover and a back cover for the volume.
3. The method of claim 1, further comprising superimposing a picture related to the content of the volume over the image so that the image can still be registered for decoding.
4. The method of claim 1, wherein the volume includes at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
5. A computer-implemented method of reading a volume, the method comprising:
receiving an image having colored cells corresponding to a stream of integers encoding contents of the volume;
locating the image by locating one or more additional cells adjoining the image; and decoding contents of the volume based on the colored cells and the one or more additional cells adjoining the image.
6. The method of claim 5, wherein the volume includes at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
7. A volume comprising
a page having printed thereon an image having colored cells corresponding to a stream of integers encoding content of the volume.
8. The volume of claim 7, further comprising a front cover.
9. The volume of claim 7, further comprising a back cover.
10. The book of claim 7, wherein the image further comprises one or more additional cells including a frame surrounding the image.
11. The book of claim 7, wherein the image further comprises one or more additional cells including color calibration cells adjoining the image.
12. A computer-implemented method for data backup, the method comprising:
receiving data for backup;
creating colored cells within a color space to provide an encoded representation of the received data in an image by processing the received data to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image; and
creating one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image.
13. The method of claim 12, further comprising storing the image electronically.
14. The method of claim 12, further comprising printing the image onto a medium.
15. A computer-implemented method of restoring data backed up, the method comprising: receiving an image having colored cells corresponding to a stream of integers encoding contents of the volume;
locating the image by locating one or more additional cells adjoining the image; and decoding data previously backed up based on the colored cells and the one or more additional cells adjoining the image.
16. A system for data backup, the system comprising:
memory;
storage; and
at least one processor configured to use the memory and the storage to:
receive data for backup; create colored cells within a color space to provide an encoded representation of the received data in an image by processing the received data to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image; and
create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image.
17. The system of claim 16, wherein the at least one processor is further configured to store the image electronically.
18. The system of claim 16, wherein the at least one processor is further configured to print the image onto a medium.
19. A system for restoring data backed up, the method comprising:
memory;
storage; and
at least one processor configured to use the memory and the storage to:
receive an image having colored cells corresponding to a stream of integers encoding contents of the volume;
locate the image by locating one or more additional cells adjoining the image; and decode data previously backed up based on the colored cells and the one or more additional cells adjoining the image.
20. A computer-implemented method for self-publication, the method comprising:
receiving content for self-publication;
creating colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image;
creating one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image; and
publishing the image on a medium.
21. The method of claim 20, wherein the medium includes at least one of paper, plastic, textiles, and fabrics.
22. The method of claim 20, wherein the publishing includes at least one of storing the image electronically on the medium and printing the image on the medium.
23. A system for self-publication, the system comprising:
memory;
storage; and
at least one processor configured to use the memory and the storage to:
receive content for self-publication;
create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image;
create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image; and
publish the image on a medium.
24. The system of claim 23, wherein the medium includes at least one of paper, plastic, textiles, and fabrics.
25. The method of claim 23, wherein the at least one processor configured to publish includes
the at least one processor configured to at least one of store the image electronically on the medium and print the image on the medium.
26. A non-transitory computer program product for self-publication, the non-transitory computer program product tangibly embodied in a computer-readable medium, the non- transitory computer program product including instructions operable to cause a data processing apparatus to:
receive content for self-publication;
create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image;
create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image; and
publish the image on a medium.
27. The non-transitory computer program product of claim 26, wherein the medium includes at least one of paper, plastic, textiles, and fabrics.
28. The non-transitory computer program product of claim 26, wherein the data processing apparatus to publish includes the data processing apparatus to at least one of store the image electronically on the medium and print the image on the medium.
29. A computer-implemented method for encoding documents, the method comprising: receiving one or more documents;
creating colored cells within a color space to provide an encoded representation of the received one or more documents in an image by processing the received documents to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image; and
creating one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image.
30. The method of claim 29, further comprising printing the image onto a medium.
31. The method of claim 30, wherein the medium includes at least one of paper, plastic, textiles, and fabrics.
32. The method of claim 29, further comprising storing the image electronically.
33. The method of claim 29, wherein the document includes a plurality of pages of content.
34. A system for encoding documents, the system comprising:
memory;
storage; at least one processor configured to use the memory and the storage to:
receive one or more documents;
create colored cells within a color space to provide an encoded representation of the received one or more documents in an image by processing the received documents to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image; and
create one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image.
35. The system of claim 34, wherein the at least one processor is further configured to print the image onto a medium.
36. The system of claim 35, wherein the medium includes at least one of paper, plastic, textiles, and fabrics.
37. The system of claim 34, wherein the at least one processor is further configured to store the image electronically.
38. The system of claim 34, wherein the document includes a plurality of pages of content.
39. A non-transitory computer program product for encoding documents, the non-transitory computer program product tangibly embodied in a computer-readable medium, the non- transitory computer program product including instructions operable to cause a data processing apparatus to:
receive one or more documents;
create colored cells within a color space to provide an encoded representation of the received one or more documents in an image by processing the received documents to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image; and
create one or more additional cells adjoining the image, the one or more additional cells for assisting in decoding the encoded image.
40. The non-transitory computer program product of claim 39, wherein the instructions are operable to further cause the data processing apparatus to print the image onto a medium.
41. The non-transitory computer program product of claim 40, wherein the medium includes at least one of paper, plastic, textiles, and fabrics.
42. The non-transitory computer program product of claim 39, wherein the instructions are operable to further cause the data processing apparatus to store the image electronically.
43. The non-transitory computer program product of claim 39, wherein the document includes a plurality of pages of content.
44. A computer-implemented method for creating a combination volume and electronic volume, the method comprising:
receiving content of an electronic volume;
creating colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image;
creating one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image; and
printing the image onto a page of a volume.
45. The method of claim 44, wherein the volume includes at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
46. A system for creating a combination volume and electronic volume, the system comprising:
memory;
storage; and
at least one processor configured to use the memory and the storage to:
receive content of an electronic volume;
create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image; create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image; and
print the image onto a page of a volume.
47. The system of claim 46, wherein the volume includes at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
48. A non-transitory computer program product for creating a combination volume and electronic volume, the non-transitory computer program product tangibly embodied in a computer-readable medium, the non-transitory computer program product including instructions operable to cause a data processing apparatus to:
receive content of an electronic volume;
create colored cells within a color space to provide an encoded representation of the received content in an image by processing the received content to obtain a stream of integers, each integer in the stream of integers corresponding to a color in the color space for a cell in the image;
create one or more additional cells adjoining the encoded image, the one or more additional cells for assisting in decoding the encoded image; and
print the image onto a page of a volume.
49. The non-transitory computer program product of claim 48, wherein the volume includes at least one of a book, a textbook, a magazine, a flyer, a circular, and a document.
PCT/IB2014/001124 2013-03-15 2014-03-14 Documents and data backup using color space encoded image WO2014140893A2 (en)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US13/844,168 US9152613B2 (en) 2013-03-15 2013-03-15 Self-publication using color space encoded image
US13/844,168 2013-03-15
US13/844,127 US9189721B2 (en) 2013-03-15 2013-03-15 Data backup using color space encoded image
US13/844,000 2013-03-15
US13/844,207 2013-03-15
US13/844,000 US9147143B2 (en) 2013-03-15 2013-03-15 Book using color space encoded image
US13/844,127 2013-03-15
US13/844,207 US9396169B2 (en) 2013-03-15 2013-03-15 Combination book with e-book using color space encoded image with color correction using a pseudo-euclidean metric in the color space
US13/844,184 2013-03-15
US13/844,184 US9386185B2 (en) 2013-03-15 2013-03-15 Encoding large documents using color space encoded image with color correction using a pseudo-euclidean metric in the color space

Publications (2)

Publication Number Publication Date
WO2014140893A2 true WO2014140893A2 (en) 2014-09-18
WO2014140893A3 WO2014140893A3 (en) 2016-03-10

Family

ID=51538214

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2014/001124 WO2014140893A2 (en) 2013-03-15 2014-03-14 Documents and data backup using color space encoded image

Country Status (1)

Country Link
WO (1) WO2014140893A2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10796122B1 (en) 2019-03-18 2020-10-06 Capital One Services, Llc Optimizing detection of images in relation to targets based on colorspace transformation techniques
WO2020219851A1 (en) * 2019-04-24 2020-10-29 Capital One Services, Llc Colorspace encoding multimedia data on a physical page
US10833852B1 (en) 2019-10-03 2020-11-10 Capital One Services, Llc Encoded data along tape based on colorspace schemes
US10867226B1 (en) 2019-11-04 2020-12-15 Capital One Services, Llc Programmable logic array and colorspace conversions
US10878600B1 (en) 2019-12-10 2020-12-29 Capital One Services, Llc Augmented reality system with color-based fiducial marker utilizing local adaptive technology
US10977535B2 (en) 2019-03-18 2021-04-13 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing infrared light
US10977462B2 (en) 2019-03-18 2021-04-13 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet light
US10977536B2 (en) 2019-03-18 2021-04-13 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet and infrared light
US11024256B2 (en) 2019-06-20 2021-06-01 Capital One Services, Llc Adaptive image display based on colorspace conversions
US11184150B2 (en) 2019-04-18 2021-11-23 Capital One Services, Llc Transmitting encoded data along transmission mediums based on colorspace schemes
US11200751B2 (en) 2019-07-25 2021-12-14 Capital One Services, Llc Augmented reality system with color-based fiducial marker
US11302036B2 (en) 2020-08-19 2022-04-12 Capital One Services, Llc Color conversion between color spaces using reduced dimension embeddings
US11342943B2 (en) 2019-10-25 2022-05-24 Capital One Services, Llc Data encoding with error-correcting code pursuant to colorspace schemes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5624265A (en) * 1994-07-01 1997-04-29 Tv Interactive Data Corporation Printed publication remote contol for accessing interactive media
US5946414A (en) * 1998-08-28 1999-08-31 Xerox Corporation Encoding data in color images using patterned color modulated image regions
US7133563B2 (en) * 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US20050044499A1 (en) * 2003-02-23 2005-02-24 Anystream, Inc. Method for capturing, encoding, packaging, and distributing multimedia presentations
KR100914515B1 (en) * 2006-06-23 2009-09-02 주식회사 칼라짚미디어 Color classification method for color based image code recognition
JP4498371B2 (en) * 2007-03-13 2010-07-07 キヤノン株式会社 Image processing apparatus and image processing apparatus control method
US7913922B1 (en) * 2007-03-15 2011-03-29 Ncr Corporation Matching bar code colors to painted pixel filters
JP5120156B2 (en) * 2008-03-27 2013-01-16 株式会社デンソーウェーブ 2D code
WO2009144794A1 (en) * 2008-05-29 2009-12-03 Gmgカラー・テクノロジーズ株式会社 Information code

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10977536B2 (en) 2019-03-18 2021-04-13 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet and infrared light
US10796122B1 (en) 2019-03-18 2020-10-06 Capital One Services, Llc Optimizing detection of images in relation to targets based on colorspace transformation techniques
US10977535B2 (en) 2019-03-18 2021-04-13 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing infrared light
US10977462B2 (en) 2019-03-18 2021-04-13 Capital One Services, Llc Detection of images in relation to targets based on colorspace transformation techniques and utilizing ultraviolet light
US11184150B2 (en) 2019-04-18 2021-11-23 Capital One Services, Llc Transmitting encoded data along transmission mediums based on colorspace schemes
WO2020219851A1 (en) * 2019-04-24 2020-10-29 Capital One Services, Llc Colorspace encoding multimedia data on a physical page
US11003968B2 (en) 2019-04-24 2021-05-11 Capital One Services, Llc Colorspace encoding multimedia data on a physical page
US11024256B2 (en) 2019-06-20 2021-06-01 Capital One Services, Llc Adaptive image display based on colorspace conversions
US11200751B2 (en) 2019-07-25 2021-12-14 Capital One Services, Llc Augmented reality system with color-based fiducial marker
US10833852B1 (en) 2019-10-03 2020-11-10 Capital One Services, Llc Encoded data along tape based on colorspace schemes
US11342943B2 (en) 2019-10-25 2022-05-24 Capital One Services, Llc Data encoding with error-correcting code pursuant to colorspace schemes
US10867226B1 (en) 2019-11-04 2020-12-15 Capital One Services, Llc Programmable logic array and colorspace conversions
US10878600B1 (en) 2019-12-10 2020-12-29 Capital One Services, Llc Augmented reality system with color-based fiducial marker utilizing local adaptive technology
US11302036B2 (en) 2020-08-19 2022-04-12 Capital One Services, Llc Color conversion between color spaces using reduced dimension embeddings

Also Published As

Publication number Publication date
WO2014140893A3 (en) 2016-03-10

Similar Documents

Publication Publication Date Title
US9532060B2 (en) Two-level error correcting codes for color space encoded image
WO2014140893A2 (en) Documents and data backup using color space encoded image
US9161062B2 (en) Image encoding and decoding using color space
US9558438B2 (en) Information broadcast using color space encoded image
US9161061B2 (en) Data storage and exchange device for color space encoded images
US9152830B2 (en) Color restoration for color space encoded image
US20130301870A1 (en) Embedding visual information in a two-dimensional bar code
US9129346B2 (en) Image fragmentation for distortion correction of color space encoded image
US9147143B2 (en) Book using color space encoded image
US9514400B2 (en) Information exchange using color space encoded image
US9014473B2 (en) Frame of color space encoded image for distortion correction
US9027843B2 (en) Information exchange display using color space encoded image
US8973844B2 (en) Information exchange using photo camera as display for color space encoded image
US9386185B2 (en) Encoding large documents using color space encoded image with color correction using a pseudo-euclidean metric in the color space
US9396169B2 (en) Combination book with e-book using color space encoded image with color correction using a pseudo-euclidean metric in the color space
Melgar et al. High density two-dimensional color code
US9152613B2 (en) Self-publication using color space encoded image
US9189721B2 (en) Data backup using color space encoded image
Wu et al. Application of QR-code steganography using data embedding technique
US9027842B2 (en) Broadcasting independent of network availability using color space encoded image
Melgar et al. Channel capacity analysis of 2D barcodes: QR Code and CQR Code-5
WO2014140895A2 (en) Data storage and exchange device for color space encoded images
WO2014170761A2 (en) Information broadcast using color space encoded image
WO2014170763A2 (en) Information exchange using color space encoded image
Zhou et al. Method of multiple-image hiding in QR code based on compressed sensing and orthogonal modulation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14763863

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14763863

Country of ref document: EP

Kind code of ref document: A2

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 04.05.2016)

122 Ep: pct application non-entry in european phase

Ref document number: 14763863

Country of ref document: EP

Kind code of ref document: A2