IP Library Granted Patent US 11,670,012
Granted Patent B2
US 11,670,012 · App. 17/302,361 · Granted Jun 6, 2023

Encoding and decoding a stylized custom graphic

Inventors: Drake Austin Rehfeld (Glendora, CA); Rahul Bhupendra Sheth (Los Angeles, CA); Ning Zhang (Los Angeles, CA)
Assignee: Snap Inc.
G06T9/002G06N3/047H04L51/52
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,670,012
App. No.
17/302,361
Granted
Jun 6, 2023
Kind
B2
Abstract

Disclosed are methods for encoding information in a graphic image. The information may be encoded so as to have a visual appearance that adopts a particular style, so that the encoded information is visually pleasing in the environment in which it is displayed. An encoder and decoder are trained during an integrated training process, where the encoder is tuned to minimize a loss when its encoded images are decoded. Similarly, the decoder is also trained to minimize loss when decoding the encoded images. Both the encoder and decoder may utilize a convolutional neural network in some aspects to analyze data and/or images. Once data is encoded, a style from a sample image is transferred to the encoded data. When decoding, the decoder may largely ignore the style aspects of the encoded data and decode based on a content portion of the data.

Claims (66)

1. A method comprising:

accessing a set of bits;

generating using an encoder, image data encoding the set of bits, the encoder trained to minimize a loss in relation to training data to update a first set of weights defining convolution and deconvolution layers of the encoder based on the loss, and to update a second set of weights defining convolution and deconvolution layers of a decoder based on the loss;

incorporating, by hardware processing circuitry, characteristics of a style from a sample image into the image data, wherein the incorporating the characteristics of the style from the sample image into the image data comprises minimizing a first loss function of the style and a second style of the image data by modifying the image data, and minimizing a second loss function of first content of the image data and second content of the modified image data;

generating a graphic image based on the image data that encodes the set of bits and comprises characteristics of the style; and

associating the set of bits with an operation to be performed, by a social network, upon decoding of the encoded set of bits.

2. The method of claim 1 , wherein the decoder is trained to minimize the loss in relation to training data being decoded by the decoder.

3. The method of claim 1 , further comprising writing the graphic image to an output device.

4. The method of claim 1 , wherein the style of the sample image and a second style of the image data are based on feature correlations between multiple layers of a convolutional neural network applied to each of the sample image and the image data respectively.

5. The method of claim 1 , wherein the convolutional layers of the encoder comprise:

a) dense layer at (32*32) units

b) reshape to 1, 32, 32, 1

c) convolution of 64 units, 3×3

d) max pooling at 2×2, stride 2

e) deconvolution at 64, 3×3, stride 2

f) convolution of 64 units, 3×3

g) max pooling at 2×2 stride 2

h) deconvolution at 64, 3×3, stride 2

i) convolution of 64 units, 3×3

j) max pooling at 2×2 stride 2

k) deconvolution at 3, 3×3, stride 2.

6. The method of claim 1 , wherein the encoder is configured to return an image tensor of (1, 32, 32, 3) based on a hyperbolic tangent.

7. The method of claim 1 , wherein the decoder includes layers comprising:

a) convolution of 64 filters at 3×3

b) convolution of 64 filters at 3×3

c) pooling filter stride 2, 2×2

d) convolution of 64 filters at 3×3

e) convolution of 64 filters at 3×3

f) pooling filter stride 2, 2×2

g) convolution of 64 filters at 3×3

h) convolution of 64 filters, 3×3

i) pooling filter stride 2, 2×2

j) dense layer at 128 units

k) dense layer at 9 units.

8. The method of claim 1 , wherein the decoder is configured to return a tensor of shape (1,1,1,9).

9. The method of claim 1 , wherein the loss is minimized via a stochastic gradient descent algorithm.

10. A system, comprising:

hardware processing circuitry;

a hardware memory storing instructions that when executed configure the hardware processing circuitry to perform operations comprising:

accessing a set of bits;

generating using an encoder, image data encoding the set of bits, the encoder trained to minimize a loss in relation to training data to update a first set of weights defining convolution and deconvolution layers of the encoder based on the loss and to update a second set of weights defining convolution and deconvolution layers of a decoder based on the loss;

incorporating, by hardware processing circuitry, characteristics of a style from a sample image into the image data, wherein the incorporating the characteristics of the style from the sample image into the image data comprises minimizing a first loss function of the style and a second style of the image data by modifying the image data, and minimizing a second loss function of first content of the image data and second content of the modified image data; and

generating a graphic image based on the image data that encodes the set of bits and comprises characteristics of the style; and

associating the set of bits with an operation to be performed, by a social network, upon decoding of the encoded set of bits.

11. The system of claim 10 , wherein the decoder is trained to minimize the loss in relation to training data being decoded by the decoder.

12. The system of claim 10 , the operations further comprising writing the graphic image to an output device.

13. The system of claim 10 , wherein the style of the sample image and a second style of the image data are based on feature correlations between multiple layers of a convolutional neural network applied to each of the sample image and the image data respectively.

14. The system of claim 10 , wherein the convolutional layers of the encoder comprise:

a) dense layer at (32*32) units

b) reshape to 1, 32, 32, 1

c) convolution of 64 units, 3×3

d) max pooling at 2×2, stride 2

e) deconvolution at 64, 3×3, stride 2

f) convolution of 64 units, 3×3

g) max pooling at 2×2 stride 2

h) deconvolution at 64, 3×3, stride 2

i) convolution of 64 units, 3×3

j) max pooling at 2×2 stride 2

k) deconvolution at 3, 3×3, stride 2.

15. The system of claim 10 , wherein the encoder is configured to return an image tensor of (1, 32, 32, 3) based on a hyperbolic tangent.

16. A non-transitory computer readable medium comprising non-transitory computer readable instructions that, when executed by one or more processors, configured the one or more processors to perform operations comprising:

accessing a set of bits;

generating using an encoder, image data encoding the set of bits, the encoder trained to minimize a loss in relation to training data to update a first set of weights defining convolution and deconvolution layers of the encoder based on the loss and to update a second set of weights defining convolution and deconvolution layers of a decoder based on the loss;

incorporating, by hardware processing circuitry, characteristics of a style from a sample image into the image data, wherein the incorporating the characteristics of the style from the sample image into the image data comprises minimizing a first loss function of the style and a second style of the image data by modifying the image data, and minimizing a second loss function of first content of the image data and second content of the modified image data; and

generating a graphic image based on the image data that encodes the set of bits and comprises characteristics of the style;

associating the set of bits with an operation to be performed, by a social network, upon decoding of the encoded set of bits.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2021
From: REHFELD, DRAKE AUSTIN; SHETH, RAHUL BHUPENDRA; ZHANG, NING
To: SNAP INC.
Reel/Frame 056145/0792 →
Continuity (3)
Continuation 16846949 · Apr 13, 2020
Continuation 16022536 · Jun 28, 2018
Related Publication 20210256736A1 · Aug 19, 2021
Cited By (1)
US 12,347,151