# US 2017/0255805 A1 · Transferring Data Files Using a Series of Visual Codes

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0255805 A1
- Document ID: US20170255805A1
- Status: Published application
- Kind: A1
- Application number: 15/208,580
- Filed: 2016-07-12
- Published: 2017-09-07
- Earliest claimed: 2016-03-07
- Assignees: ShoCard, Inc.
- Applicants: ShoCard, Inc.
- Inventors: Armin Ebrahimi; Gaurav Khot
- Web page: https://patentgrep.com/patent/US20170255805A1

## CPC

- G06K 7/1439: {including a method step for retrieval of the optical code}
- G06K 7/1095: {the scanner comprising adaptations for scanning a record carrier that is displayed on a display-screen or the like}
- G06K 19/06037: {multi-dimensional coding}
- G06K 19/06112: {the marking being simulated using a light source, e.g. a barcode shown on a display or a laser beam with time-varying intensity profile}
- G09C 5/00: Ciphering apparatus or methods not provided for in the preceding groups, e.g. involving the concealment or deformation of graphic data such as designs, written or printed messages
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3247: {involving digital signatures}
- H04L 9/3271: {using challenge-response}
- G06K: GRAPHICAL DATA READING (image or video recognition or understanding G06V); PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G09C: CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Software on an image-capturing device iteratively captures a visual code in a series of visual codes displayed in a repeating progression on a screen of a mobile device. The visual code was generated from a display block that resulted from a partition of an original data file into a series of display blocks of at least a specified size. The software converts the visual code back into a display block and reads a header for the display block, discarding the display block if it has already been captured, as determined by the ordered identifying block number in a header. The software stops the iterative capturing when all of the display blocks in the series have been captured, as determined by the count in the header and coalesces the captured display blocks into the original data file, using an order determined by the ordered identifying block numbers.

## Claims

### Claim 1

A method, comprising operations of:
iteratively capturing visual codes in a series of visual codes displayed in a repeating progression on a screen of a mobile device, wherein a corresponding captured visual code was generated from a display block that resulted from a partition of an original data file into a series of display blocks of at least a specified size and wherein each display block is converted to a corresponding string and corresponding header that includes an ordered identifying block number and a count of the display blocks in the series, wherein each corresponding string is converted to a corresponding visual code;
converting the corresponding captured visual code into a corresponding string and reading a header for the corresponding string;
discarding the corresponding string if it has already been captured, as determined by the ordered identifying block number in the header;
removing the header of the corresponding string and recording the ordered identifying block number and converting the corresponding string to a corresponding display block, if the corresponding string has not been discarded;
stopping the iterative capturing when all of the display blocks in the series have been captured, as determined by the count in the header;
coalescing the captured display blocks into the original data file, using an order determined by the ordered identifying block numbers; and
comparing the original data file that is coalesced with a copy of the original data file obtained from another source, wherein each of the operations is performed by an image-capturing device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the visual code is a 2D barcode.

### Claim 3 (depends on 1)

The method of claim 1, wherein the visual code is a QR code.

### Claim 4 (depends on 1)

The method of claim 1, wherein the original data file contains information about a user of the mobile device or a document held by a user of the mobile device

### Claim 5 (depends on 1)

The method of claim 1, wherein the image-capturing device is a mobile device or a hand-held device that scans QR-Codes.

### Claim 6 (depends on 1)

The method of claim 1, wherein the image-capturing device is a kiosk.

### Claim 7 (depends on 1)

The method of claim 1, wherein the original data file is an image file.

### Claim 8 (depends on 1)

The method of claim 1, wherein the original data file contains biometric data.

### Claim 9 (depends on 1)

The method of claim 1, wherein the specified size is determined by a standard for the visual code.

### Claim 10

A method, comprising operations of:
partitioning an original data file into a series of display blocks of at least a specified size;
converting each display block into a corresponding string;
adding a corresponding header to each string of a corresponding display block in the series, wherein the corresponding header includes an ordered identifying block number and a count of the display blocks in the series;
generating a corresponding visual code for each string; and
iteratively presenting each of the visual codes in the series in a repeating progression displayed on a screen of a mobile device for capture by an image-capturing device which converts each visual code that is captured to a corresponding string and back into a corresponding display block and coalesces the captured display blocks into the original data file, using an order determined by the ordered identifying block numbers, wherein each of the operations is performed by the mobile device.

### Claim 11 (depends on 10)

The method of claim 10, wherein the image-capturing device compares the original data file with a copy of the original data file obtained from another source.

### Claim 12 (depends on 10)

The method of claim 10, wherein the visual code is a 2D barcode.

### Claim 13 (depends on 10)

The method of claim 10, wherein the visual code is a QR code.

### Claim 14 (depends on 10)

The method of claim 10, wherein the image-capturing device is a mobile device.

### Claim 15 (depends on 10)

The method of claim 10, wherein the image-capturing device is a kiosk.

### Claim 16 (depends on 10)

The method of claim 10, wherein the original data file is an image file.

### Claim 17 (depends on 10)

The method of claim 10, wherein the original data file contains biometric data.

### Claim 18 (depends on 10)

The method of claim 10, wherein the specified size is determined by a standard for the visual code.

### Claim 19

A method, comprising operations of:
iteratively capturing QR codes in a series of codes displayed in a repeating progression on a screen of a mobile device, wherein a corresponding captured QR code was generated from a display block that resulted from a partition of an original data file which had been digitally signed with a private key into a series of display blocks of at least a specified size and wherein each display block is converted to a corresponding string and corresponding header that includes an ordered identifying block number and a count of the display blocks in the series, wherein each corresponding string is converted to a corresponding visual code;
converting the corresponding captured QR code into a corresponding string and reading a header for the display block;
discarding the corresponding string if it has already been captured, as determined by the ordered identifying block number in the header;
removing the header of the corresponding string and recording the ordered identifying block number and converting the corresponding string to a corresponding display block, if the display block has not been discarded;
stopping the iterative capturing when all of the display blocks in the series have been captured, as determined by the count in the header;
coalescing the captured display blocks into the original data file, using an order determined by the ordered identifying block numbers; and
hashing a copy of the original data file and using the hashed copy and a public key matching the private key to verify the original data file that had been digitally signed and the digital signing, wherein each of the operations is performed by an image-capturing device.

### Claim 20 (depends on 19)

The method of claim 19, wherein the original data file is an image file.

### Claim 21 (depends on 18)

The method of claim 18, wherein the specified size is determined by a standard for QR codes.
