# US 9,038,908 B2 · Methods and systems for optimizing visual data communication

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

- Number: US 9,038,908 B2
- Document ID: US9038908B2
- Status: Granted
- Kind: B2
- Application number: 13/860,296
- Filed: 2013-04-10
- Published: 2014-10-16
- Granted: 2015-05-26
- Earliest claimed: 2013-04-10
- Assignees: Xerox Corporation
- Applicants: Xerox Corporation
- Inventors: Peter J. Zehler; Gavan L. Tredoux; Premkumar Rajendran; Zhigang Fan
- Web page: https://patentgrep.com/patent/US9038908B2

## CPC

- H04N 5/04: Synchronising (for television systems using pulse code modulation H04N7/56)
- H04N 21/41407: {embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop (constructional details of equipment or arrangements specially adapted for portable computer application G06F1/1626; arrangements specially adapted for mobile receivers in broadcast systems H04H20/57)}
- H04N 21/42224: {Touch pad or touch panel provided on the remote control}
- H04N 21/478: Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A system and method for transmitting visual data by displaying a synchronization video that includes synchronization code sequences on a first device, capturing the synchronization video using a video camera of a second device, parsing and decoding the synchronization code sequences on the second device, displaying an indication of which of the synchronization code sequences are compatible for visual data transmission on the second device, receiving a selected synchronization code sequence of the synchronization code sequences on the first device, and displaying a data code sequence corresponding to the selected synchronization code sequence on the first device, wherein the data code sequence includes encoded data, and capturing and decoding the data code sequence on the second device.

## Claims

### Claim 1

A method of transmitting visual data, the method comprising:
displaying a synchronization video comprising one or more synchronization code sequences, wherein each of the one or more synchronization code sequences is displayed at a one or more of a different frame rate, a different resolution, and a different format;
receiving a selected synchronization code sequence of the one or more synchronization code sequences; and
displaying, using one or more processors, a data code sequence corresponding to the selected synchronization code sequence, wherein the data code sequence comprises encoded data.

### Claim 2 (depends on 1)

The method of claim 1, wherein a subset of the one or more synchronization code sequences are displayed concurrently, the method further comprising:
receiving an input to scroll through available synchronization code sequences;
and
displaying a different subset of the one or more synchronization code sequences based on the input.

### Claim 3 (depends on 1)

The method of claim 1, wherein each synchronization code sequence of the one or more synchronization code sequences is repeatedly looped in the synchronization video.

### Claim 4 (depends on 1)

The method of claim 1, wherein the data code sequence is displayed using a frame rate corresponding to the selected synchronization code sequence, a resolution corresponding to the selected synchronization code sequence, a format corresponding to the selected synchronization code sequence, or a combination thereof.

### Claim 5 (depends on 1)

The method of claim 1, the method further comprising displaying an indication that at least one of the one or more synchronization code sequences is beginning.

### Claim 6 (depends on 1)

The method of claim 1, wherein displaying the synchronization video is in response to an input from a user.

### Claim 7 (depends on 1)

The method of claim 1, wherein the encoded data is a file selected by a user.

### Claim 8

A method of transmitting visual data, the method comprising:
capturing a synchronization video comprising one or more synchronization code sequences using a video camera;
parsing and decoding the one or more synchronization code sequences;
determining, using one or more processors, which of the one or more synchronization code sequences are compatible for visual data transmission based on decoding the one or more synchronization code sequences, wherein determining that a synchronization code sequence is compatible for visual data transmission comprises determining that there are no errors in decoding the synchronization code sequence;
displaying an indication of which of the one or more synchronization code sequences are compatible for visual data transmission;
capturing a data code sequence using the video camera; and
decoding the data code sequence.

### Claim 9 (depends on 8)

The method of claim 8, the method further comprising:
determining which of the one or more synchronization code sequences is optimal for visual data transmission based on decoding the one or more synchronization code sequences; and
displaying an indication of which of the one or more synchronization code sequences is optimal for visual data transmission.

### Claim 10 (depends on 9)

The method of claim 9, wherein determining which of the one or more synchronization code sequences is optimal for visual data transmission comprises determining that the synchronization code sequence uses a higher frame rate compared to other synchronization code sequences, requires a higher resolution camera compared to other synchronization code sequences, or a combination thereof.

### Claim 11 (depends on 9)

The method of claim 9, wherein determining that a synchronization code sequence is compatible for visual data transmission comprises determining that the video camera captured a complete set of code sequences frames for the synchronization code sequence.

### Claim 12

A system for transmitting visual data comprising:
a processing system comprising one or more processors; and
a memory system comprising one or more computer-readable media, wherein the one or more computer-readable media contain instructions that, when executed by the processing system, cause the processing system to perform operations comprising:
displaying a synchronization video comprising one or more synchronization code sequences, wherein each of the one or more synchronization code sequences is displayed at a one or more of a different frame rate, a different resolution, and a different format;
receiving a selected synchronization code sequence of the one or more synchronization code sequences; and
displaying a data code sequence corresponding to the selected synchronization code sequence, wherein the data code sequence comprises encoded data.

### Claim 13 (depends on 12)

The system of claim 12, wherein a subset of the one or more synchronization code sequences are displayed concurrently, the processing system further performs operations comprising:
receiving an input to scroll through available synchronization code sequences;
and
displaying a different subset of the one or more synchronization code sequences based on the input.

### Claim 14 (depends on 12)

The system of claim 12, wherein each synchronization code sequence of the one or more synchronization code sequences is repeatedly looped in the synchronization video.

### Claim 15 (depends on 12)

The system of claim 12, wherein the data code sequence is displayed using a frame rate corresponding to the selected synchronization code sequence, a resolution corresponding to the selected synchronization code sequence, a format corresponding to the selected synchronization code sequence, or a combination thereof.

### Claim 16 (depends on 12)

The system of claim 12, the processing system further performs operations comprising displaying an indication that at least one of the one or more synchronization code sequences is beginning.

### Claim 17 (depends on 12)

The system of claim 12, wherein displaying the synchronization video is in response to an input from a user.

### Claim 18 (depends on 12)

The system of claim 12, wherein the encoded data is a file selected by a user.
