# US 10,482,569 B2 · Image data encryption and rendering system

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

- Number: US 10,482,569 B2
- Document ID: US10482569B2
- Status: Granted
- Kind: B2
- Application number: 15/643,113
- Filed: 2017-07-06
- Published: 2018-01-11
- Granted: 2019-11-19
- Earliest claimed: 2016-07-11
- Assignees: Disc Intellectual Properties, LLC
- Applicants: DISC Intellectual Properties, LLC
- Inventors: Steven B. Dunham; Darren P. Ehlers
- Web page: https://patentgrep.com/patent/US10482569B2

## CPC

- G06T 1/60: Memory management
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06T 1/0021: {Image watermarking}
- H04N 19/00: Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N 19/60: using transform coding
- G06F 2221/032: Protect output to user by software means
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Systems, devices, and techniques are generally described to transmit image data. An image file including image data may be identified. The image data may be divided into a plurality of portions. The plurality of portions may include a first portion corresponding to a first position in the image data and a second portion corresponding to a second position in the image data. The image data may be modified to produce a shuffled image. The shuffled image may indicate that the first portion corresponds to a third position and the second portion corresponds to a fourth position. The shuffled image may be sent to a recipient computing device. The recipient computing device may render the first portion at the first position and the second portion at the second position to display the image data.

## Claims

### Claim 1

A computer-implemented method of rendering image data, the method comprising:
receiving, at a computing device, shuffled image data, wherein the shuffled image data comprises a plurality of portions, wherein the plurality of portions comprises a first portion corresponding to a first position in the shuffled image data and a second portion corresponding to a second position in the shuffled image data;
receiving, at the computing device, a memory hash, wherein the memory hash comprises first data indicating that the first portion corresponds to a third position and second data indicating that the second portion corresponds to a fourth position;
determining, based on the first data, that the first portion corresponds to the third position;
determining, based on the second data, that the second portion corresponds to the fourth position; and
rendering, by a browser of the computing device, the first portion at the third position and the second portion at the fourth position to display an unshuffled image.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the memory hash further comprises identification data effective to identify the image data from among other image data.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the first portion and the second portion are vertical or horizontal strips of pixels of image data.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein:
the first portion and the second portion are blocks of pixels comprising a height in terms of a first number of pixels and a width in terms of a second number of pixels;
the first number of pixels is less than a third number of pixels, wherein the third number of pixels represents a width of the unshuffled image; and
the second number of pixels is less than a fourth number of pixels, wherein the fourth number of pixels represents a height of the unshuffled image.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein:
the first data comprises a first pseudo-random number, the first pseudo-random number indicating that the first portion corresponds to the third position in the unshuffled image; and
the second data comprises a second pseudo-random number, the second pseudo-random number indicating that the second portion corresponds to the fourth position in the unshuffled image.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein the first pseudo-random number is associated with a first index value of the shuffled image data and the second pseudo-random number is associated with a second index value of the shuffled image data.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the unshuffled image is not stored in a memory accessible by the computing device.

### Claim 8

A system, comprising:
at least one processor; and
a non-transitory computer-readable memory storing instructions that, when executed by the at least one processor, are effective to cause the at least one processor to perform a method, comprising:
receiving shuffled image data, wherein the shuffled image data comprises a plurality of portions, wherein the plurality of portions comprises a first portion corresponding to a first position in the shuffled image data and a second portion corresponding to a second position in the shuffled image data;
receiving a memory hash, wherein the memory hash comprises first data indicating that the first portion corresponds to a third position and second data indicating that the second portion corresponds to a fourth position;
determining, based on the first data, that the first portion corresponds to the third position;
determining, based on the second data, that the second portion corresponds to the fourth position; and
rendering, by a browser, the first portion at the third position and the second portion at the fourth position to display an unshuffled image.

### Claim 9 (depends on 8)

The system of claim 8, wherein the memory hash further comprises identification data effective to identify the shuffled image data from among other image data.

### Claim 10 (depends on 8)

The system of claim 8, wherein the first portion and the second portion are vertical or horizontal strips of pixels of image data.

### Claim 11 (depends on 8)

The system of claim 8, wherein:
the first portion and the second portion are blocks of pixels comprising a height in terms of a first number of pixels and a width in terms of a second number of pixels;
the first number of pixels is less than a third number of pixels, wherein the third number of pixels represents a width of the unshuffled image; and
the second number of pixels is less than a fourth number of pixels, wherein the fourth number of pixels represents a height of the unshuffled image.

### Claim 12 (depends on 8)

The system of claim 8, wherein:
the first data comprises a first pseudo-random number, the first pseudo-random number indicating that the first portion corresponds to the third position in the unshuffled image; and
the second data comprises a second pseudo-random number, the second pseudo-random number indicating that the second portion corresponds to the fourth position in the unshuffled image.

### Claim 13 (depends on 12)

The system of claim 12, wherein the first pseudo-random number is associated with a first index value of the shuffled image data and the second pseudo-random number is associated with a second index value of the shuffled image data.

### Claim 14 (depends on 8)

The system of claim 8, wherein the unshuffled image is not stored in a memory accessible by the computing device.

### Claim 15

A computer-implemented method comprising:
receiving, at a computing device, shuffled image data, wherein the shuffled image data comprises a plurality of portions, wherein the plurality of portions comprises a first portion corresponding to a first position in the shuffled image data and a second portion corresponding to a second position in the shuffled image data;
receiving, at the computing device, a memory hash, wherein the memory hash comprises first data indicating that the first portion corresponds to a third position and second data indicating that the second portion corresponds to a fourth position; and
rendering, by a browser of the computing device based at least in part on the memory hash, the first portion at the third position and the second portion at the fourth position to display an unshuffled image.

### Claim 16 (depends on 15)

The computer-implemented method of claim 15, wherein the memory hash further comprises identification data effective to identify the shuffled image data from among other image data.

### Claim 17 (depends on 15)

The computer-implemented method of claim 15, wherein the first portion and the second portion are vertical or horizontal strips of pixels of image data.

### Claim 18 (depends on 15)

The computer-implemented method of claim 15, wherein:
the first portion and the second portion are blocks of pixels comprising a height in terms of a first number of pixels and a width in terms of a second number of pixels;
the first number of pixels is less than a third number of pixels, wherein the third number of pixels represents a width of the unshuffled image; and
the second number of pixels is less than a fourth number of pixels, wherein the fourth number of pixels represents a height of the unshuffled image.

### Claim 19 (depends on 15)

The computer-implemented method of claim 15, wherein:
the first data comprises a first pseudo-random number, the first pseudo-random number indicating that the first portion corresponds to the third position in the unshuffled image; and
the second data comprises a second pseudo-random number, the second pseudo-random number indicating that the second portion corresponds to the fourth position in the unshuffled image.

### Claim 20 (depends on 19)

The computer-implemented method of claim 19, wherein the first pseudo-random number is associated with a first index value of the shuffled image data and the second pseudo-random number is associated with a second index value of the shuffled image data.
