# Patent

## Title
Time-varying barcode in an active display

## Abstract

Embodiments of the present invention provide time-varying barcodes in an active display for information exchange. Specifically, embodiments of the present invention provide a system and method for communicating information between electronic devices via a barcode image sequence. In a typical embodiment, a barcode image sequence is displayed on the display screen of a first electronic device. A second electronic device reads and decodes the barcode image sequence. The second electronic device displays an acknowledgement on the display screen of the second electronic device. The acknowledgement is read by the first electronic device.

## Background
FIELD OF THE INVENTION
In general, the present invention relates to barcodes. Specifically, the present invention relates to time-varying barcodes in an active display for information exchange.
BACKGROUND OF THE INVENTION
A barcode is a static, optical machine-readable representation (image) of data. The bars are read by variances in reflected light. Barcode readers are relatively inexpensive and more accurate than key entry. However, issues arise when the barcode image is low resolution or has become obstructed or damaged in some way, causing a failed read or misread of the barcode information. Barcodes are also susceptible to limitations of the printer and reader. For example, barcodes printed on dark backgrounds like corrugated cardboard may be difficult to read. Heretofore, several unsuccessful attempts have been made to address these shortcomings.
U.S. Patent Application 20110000958 discloses a method and system for communicating encoded information through “animated” barcodes wherein a single bar code area on an electronics' display or television is scanned multiple times while the bar code area changes from one bar code image to another.
U.S. Patent Application 20100020970 discloses a system and method for creating a camera imaging data channel by encoding a sequence of bar codes from a display screen and captured by a camera, then decoded by software on a cell phone or similar device.
U.S. Patent Application 20060054695 discloses a dynamic bar code display apparatus that includes a storage medium and means for displaying at least two or more bar codes continuously.
U.S. Pat. No. 7,360,706 and U.S. Pat. No. 7,273,180 disclose a hand-supportable digital imaged-based bar code symbol reading device.
U.S. Pat. No. 5,591,952 discloses a bar code reader that utilizes a CCD imager device to capture the image and the memory data from the imager device is analyzed to recognize and decode any symbols included within the image.
U.S. Pat. No. 5,278,397 discloses a multi-resolution bar code reader in which the bar code reader's optics and sensing elements are organized to send two channels of data derived from a bar code scan.
U.S. Pat. No. 5,073,954 discloses the bar code location and recognition processing system in which a bar code is optically scanned and a digital video processor converts the scan to binary data and determines the location and pattern of the bar code in the scan image.
U.S. Patent Application 20080277475 discloses a digital image capture and processing system that combines video and snapshot image captures into a single bar code data capture cycle.
U.S. Patent Application 20070199993 and U.S. Patent Application 20070187509 disclose a hand-supportable digital bar code reader that has multiple modes of image processing capabilities that include reading both 1D and 2D bar code symbols.
None of these references, however, teach the use of an error-identifying or two-way communication feed-back loop in a dual electronic device apparatus that uses image display and image capturing devices to communicate between the devices via bar codes in at least one direction. Furthermore, none of these references teach the use of bar codes that have varying sections of bar code image pattern resolution within a single bar code pattern.
SUMMARY OF THE INVENTION
In general, embodiments of the present invention provide time-varying barcodes in an active display for information exchange. Specifically, embodiments of the present invention provide a system and method for communicating information between electronic devices via a barcode image sequence. In a typical embodiment, a barcode image sequence is displayed on the display screen of a first electronic device. A second electronic device reads and decodes the barcode image sequence. The second electronic device displays an acknowledgement on the display screen of the second electronic device. The acknowledgement is read by the first electronic device.
A first aspect of the present invention provides a data communication system for communicating information between electronic devices via a barcode image sequence, said system comprising: a first electronic device, comprising: a display screen; a display component configured to display a barcode image sequence on the display screen of the first electronic device; a second electronic device, comprising: a display screen; a camera configured to read the barcode image sequence; a barcode decoding component configured to decode the barcode image sequence; and a display component configured to display an acknowledgement on the display screen of the second electronic device.
A second aspect of the present invention provides a method for communicating information between electronic devices via a barcode image sequence, comprising: displaying a barcode image sequence on the display screen of a first electronic device; reading and decoding the barcode image sequence by a second electronic device; and displaying an acknowledgement on the display screen of the second electronic device.
A third aspect of the present invention provides a method for providing a data communication system for communicating information between electronic devices via a barcode image sequence, said system comprising: providing a first electronic device, comprising: a display screen; a display component configured to display a barcode image sequence on the display screen of the first electronic device; providing a second electronic device, comprising: a display screen; a camera configured to read the barcode image sequence; a barcode decoding component configured to decode the barcode image sequence; and a display component configured to display an acknowledgement on the display screen of the second electronic device.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
FIG. 1 depicts dual electronic devices having image display and image capturing components according to an embodiment of the present invention.
FIG. 2A depicts intended data divided into packets according to an embodiment of the present invention.
FIG. 2B depicts error correcting code information according to an embodiment of the present invention.
FIG. 3 depicts a camera resolution checkup sequence according to an embodiment of the present invention.
FIG. 4 depicts a camera detection location sequence according to an embodiment of the present invention.
FIG. 5 depicts time-varying barcodes that are sequentially displayed according to an embodiment of the present invention.
FIG. 6 depicts a process flow diagram according to an embodiment of the present invention.



The drawings are not necessarily to scale. The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
DETAILED DESCRIPTION OF THE INVENTION
Illustrative embodiments will now be described more fully herein with reference to the accompanying drawings, in which exemplary embodiments are shown. This disclosure may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete and will fully convey the scope of this disclosure to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of this disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, the use of the terms “a”, “an”, etc., do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced items. It will be further understood that the terms “comprises” and/or “comprising”, or rectify “includes” and/or “including”, when used in this specification, specify the presence of stated features, regions, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, regions, integers, steps, operations, elements, components, and/or groups thereof.
Hereinafter, a camera includes any electronic device or component configured to capture and provide signals and/or data representative of video images. Video images include, but are not limited to, barcode images.
The barcode can be traced back to 1948, but it did not have a large impact until the 1970's when it became a tool in alleviating manual inventories. Grocery store owners began to see it as a way to save time and money in tracking product levels within the store. Throughout the 1970's, barcode scanning systems became more affordable and practical with the continued price reduction and miniaturization of barcode readers.
However, the barcode reader usually needs a fairly good picture of the symbol to decode these barcodes. Barcodes can store a large amount of data, but grow in size and complexity relative to the amount of data stored. The bigger and more complex the barcode, the better the picture required to decode it.
As indicated above, embodiments of the present invention provide a system and method for communicating information between electronic devices via a barcode image sequence. In a typical embodiment, a barcode image sequence is displayed on the display screen of a first electronic device. A second electronic device reads and decodes the barcode image sequence. The second electronic device displays an acknowledgement on the display screen of the second electronic device. The acknowledgement is read by the first electronic device.
Referring now to FIG. 1, dual electronic devices having image display and image capturing components according to an embodiment of the present invention are depicted. Barcode terminal 1 (T1) 100 includes camera 1 (C1) 102 and display screen 1 (S1) 104. Barcode terminal 2 (T2) 110 includes camera 2 (C2) 112 and display screen 2 (S2) 114. T1 100 and T2 110 are facing each other. S1 104 covers C2 112 and S2 114 covers C1 102. T1 100 and T2 110 each use image display and image capturing capabilities which enable two-way communication. For simplicity, hereinafter, Barcode Terminal 1 100 is referred to as T1 and Barcode Terminal 2 110 is referred to as T2.
FIG. 2A depicts intended data divided into packets according to an embodiment of the present invention. The data to be communicated/transmitted is divided into packets. The size of each packet is dependent upon several factors including, but not limited to, display screen resolution, barcode image size, and data communication channel quality (i.e., the quality of the display screen and camera).
FIG. 2B depicts error correcting code information according to an embodiment of the present invention. Each packet has redundancy to the previous and next packet (when applicable). This means that each packet will include information from the previous and next packet (when applicable). If a packet is lost, then the missing information may be reconstructed at the receiver from the error correcting code data contained in the other packet(s), provided that the average number of consecutively lost packets is small.
Each data packet is coded as a barcode image with additional error-correcting code. For example, T1 displays an image on its display screen. The camera on T2 reads the image. Any errors that are introduced are detected and corrected based on the remaining codes. The display screen of T2 displays a check sum which is read by the camera of T1. T1 verifies the transmission results. If error increases, the image resolution may be decreased or the cameras need to be realigned.
FIG. 3 depicts a camera resolution checkup sequence according to an embodiment of the present invention. The resolution calibration is used to determine the resolution capability of a camera. T1 displays a sequence of images on its display screen. T1 displays the images beginning from the simplest image to the most complex image in increasing complexity. The camera on T2 reads each image as they are displayed and responds through its display screen with a spatial and temporal code. T1 determines the resolution capability of the camera of T2 based on the codes read from the display screen of T2.
A similar camera resolution checkup sequence is also ran to determine the resolution capability of the camera on T1. T2 displays a sequence of images on its display screen. T2 displays the images beginning from the simplest image to the most complex image in increasing complexity. The camera on T1 reads each image as they are displayed and responds through its display screen with a spatial and temporal code. T2 determines the resolution capability of the camera on T1 based on the codes read from the display screen of T1.
FIG. 4 depicts a camera detection location sequence according to an embodiment of the present invention. Each barcode terminal must perform an alignment detection algorithm to determine the camera location of the other barcode terminal on its own screen. To accomplish this task, T1 displays an image or multiple images on its screen. The camera of T2 reads part of the display screen of T1 and generates a whole screen response on the display screen of T2. T1 reads the response from the display of T2 to determine the camera location of T2 on the screen of T1.
T2 repeats the process to determine the camera location of T1 on the screen of T2. T2 displays an image or multiple images on its screen. The camera of T1 reads part of the display screen of T2 and generates a whole screen response on the display screen of T1. T2 reads the response from the display of T1 to determine the camera location of T1 on the screen of T2.
FIG. 5 depicts time-varying codes that are sequentially displayed according to an embodiment of the present invention. The images within the barcode sequence do not have to have the same specifications (e.g., resolution, size, etc.). Each image in the sequence may have its own set of characteristics. For example, information to be communicated may be divided into three packets. Since each packet has less data, the images generated from the packets will be less complex (and thus, easier to read) than an image generated from the whole message. An image generated from the whole message would be complex and require a higher resolution. Since each packet contains only part of the whole information, the images generated from each packet may be readable by a lower resolution reader. Also, image code display periods do not have to be constant. More time may be given to more complex codes and less time for simpler codes.
FIG. 6 depicts a process flow diagram according to an embodiment of the present invention. Whole information is divided by a group of packets (step S1). Each packet has redundancy to previous and next packet. Each data packet is coded as an image with additional error-correcting code. The first barcode terminal (T1) display shows coded images sequentially (step S2). The second barcode terminal (T2) reader periodically samples display and completes scanning when whole sequence is read and decoded (step S3). T2 reader displays readout acknowledgement to reader screen (step S4). T1 reader scans T2 display to get feedback on transmission result (step S5). T1 adjusts image code characteristics (e.g., resolution, size, location) dynamically to maximize error-corrected data transmission (step S6).
The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed and, obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims.

## Claims

1. A data communication system for communicating information between electronic devices via a barcode, said system comprising:
a first electronic device, comprising:
a display screen;
a display component configured to display a barcode image sequence on the display screen of the first electronic device;

a second electronic device, comprising:
a display screen;
a camera configured to read the barcode image sequence;
a barcode decoding component configured to decode the barcode image sequence; and
a display component configured to display an acknowledgement on the display screen of the second electronic device,

wherein at least one of the following occurs: the first electronic device determines the camera location of the second electronic device on the display screen of the first electronic device and the second electronic device determines a camera location of the first electronic device on the display screen of the second electronic device, by performing an alignment detection algorithm.

2. The data communication system of claim 1, wherein the first electronic device further comprises a camera configured to read the acknowledgement.

3. The data communication system of claim 1, wherein the first electronic device further comprises a barcode generating component configured to generate the barcode image sequence from the information.

4. The data communication system of claim 3, wherein the information is divided into packets, each packet being encoded as a barcode image.

5. The data communication system of claim 4, wherein each packet includes redundancy information.

6. The data communication system of claim 3, wherein each packet includes error correction data.

7. The data communication system of claim 1, wherein the first electronic device further comprises a display resolution component configured to adjust barcode image resolution based on a resolution calibration test.

8. The data communication system of claim 1, wherein the first electronic device further comprises a display size component configured to adjust barcode image size based on a size calibration test.

9. The data communication system of claim 1, wherein the first electronic device further comprises a display location component configured to adjust barcode image location based on a location calibration test.

10. The data communication system of claim 1, wherein the display component is further configured to display the barcode image sequence with varying time intervals between images.

11. A method for communicating information between electronic devices via a barcode, comprising:
displaying a barcode image sequence on the display screen of a first electronic device;
determining the camera location of a second electronic device on the display screen of the first electronic device or of the second electronic device on the display screen of the first electronic device by performing an alignment detection algorithm;
reading the barcode image sequence by a camera of the second electronic device;
decoding the barcode image sequence by the second electronic device; and
displaying an acknowledgement on the display screen of the second electronic device.

12. The method of claim 11, further comprising reading the acknowledgement by a camera of the first electronic device.

13. The method of claim 11, further comprising generating the barcode image sequence from information to be communicated.

14. The method of claim 13, further comprising dividing the information into packets, each packet being encoded as a barcode image.

15. The method of claim 14, wherein each packet includes redundancy information.

16. The method of claim 13, wherein each packet includes error correction data.

17. The method of claim 11, further comprising adjusting a barcode image resolution based on a resolution calibration test.

18. The method of claim 11, further comprising adjusting a barcode image size based on a size calibration test.

19. The method of claim 11, further comprising adjusting barcode image location based on a location calibration test.

20. The method of claim 11, wherein the barcode image sequence is displayed with varying time intervals between images.

21. A method for providing a data communication system for communicating information between electronic devices via a barcode, said system comprising:
providing a first electronic device, comprising:
a display screen;
a display component configured to display a barcode image sequence on the display screen of the first electronic device;

providing a second electronic device, comprising:
a display screen;
a camera configured to read the barcode image sequence;
a barcode decoding component configured to decode the barcode image sequence; and
a display component configured to display an acknowledgement on the display screen of the second electronic device,

wherein at least one of the following occurs: the first electronic device determines the camera location of the second electronic device on the display screen of the first electronic device and the second electronic device determines a camera location of the first electronic device on the display screen of the second electronic device, by performing an alignment detection algorithm.

22. The method of claim 21, wherein the first electronic device further comprises a camera configured to read the acknowledgement.