# US 10,319,149 B1 · Augmented reality anamorphosis system

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

- Number: US 10,319,149 B1
- Document ID: US10319149B1
- Status: Granted
- Kind: B1
- Application number: 15/436,363
- Filed: 2017-02-17
- Granted: 2019-06-11
- Earliest claimed: 2017-02-17
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Piers Cowburn; Qi Pan; Eitan Pilipski
- Web page: https://patentgrep.com/patent/US10319149B1

## CPC

- G06T 19/006: {Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00)}
- G06T 7/73: using feature-based methods
- G06T 7/74: {involving reference images or patches}
- G06T 13/20: Three-dimensional [3D] animation
- G06T 15/20: Perspective computation
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T 2207/30244: Camera pose
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Systems, methods, devices, and media for anamorphosis systems to generate and cause display of anamorphic media are disclosed. In one embodiment, an anamorphosis system is configured to identify a set of features of a space, determine relative positions of the set of features, determine a perspective of the mobile device within the space based on the relative positions of the set of features, retrieve anamorphic media based on the location of the mobile device, and apply the anamorphic media to a presentation of the space at the mobile device. The anamorphic media may include media items such as images and videos, configured such that the media items are only visible from one or more specified perspectives. The anamorphic media may include a stylized text string projected onto surfaces of a space such that the stylized text string is correctly displayed when viewed through a user device from a specified perspective.

## Claims

### Claim 1

A system comprising:
a memory; and
at least one hardware processor couple to the memory and comprising instructions that cause the system to perform operations comprising:
causing display of an ephemeral message that comprises a presentation of a space within a graphical user interface on an output display of a mobile device, the ephemeral message comprising a first display duration that defines a first period of time;
determining a location of the mobile device, the location corresponding to the space;
identifying a set of features of the space;
determining relative positions of the set of features, the relative positions indicating distances between each feature of the set of features and locations of each feature of the set of features in the space;
determining a perspective of the mobile device based on the relative positions of the set of features;
retrieving anamorphic media based on the location of the mobile device, the anamorphic media including a second display duration;
applying the anamorphic media within the presentation of the space based on the perspective of the mobile device for a second period of time, the second period of time based on the display duration of the anamorphic media, and wherein the first period of time defined by the first display duration exceeds the second period of time defined by the second display duration.

### Claim 2 (depends on 1)

The system of claim 1, wherein the applying the anamorphic media to the presentation of the space includes:
accessing a surface model of the space based on the location of the mobile device, the surface model including a three-dimensional representation of the space; and
causing display of the anamorphic media in the presentation of the space based on the three-dimensional representation of the space.

### Claim 3 (depends on 2)

The system of claim 2, wherein the accessing the surface model of the space includes:
determining the three-dimensional representation of the space based on computer vision, the computer vision based on an image sensor of the mobile device;
generating the surface model of the space based on the three-dimensional representation of the space; and
assigning the surface model to the location of the space based on a set of coordinates of the space.

### Claim 4 (depends on 2)

The system of claim 2, wherein the accessing the surface model of the space includes:
accessing a surface model database in response to the determining the location of the mobile device; and
retrieving the surface model from the surface model database based on the location of the mobile device.

### Claim 5 (depends on 1)

The system of claim 1, wherein the anamorphic media includes an animation, the animation configured to play when the mobile device is at an optimal viewing perspective.

### Claim 6 (depends on 1)

The system of claim 1, wherein the set of features include at least three distinct feature elements, and the determining the perspective of the mobile device based on the relative positions of the set of features is based on triangulation of the three distinct feature elements.

### Claim 7 (depends on 1)

The system of claim 1, wherein the mobile device is a first mobile device, and the first mobile device is associated with a first user profile of a first user, and the retrieving the anamorphic media based on the location of the mobile device includes:
receiving the anamorphic media from a second mobile device, the second mobile device associated with a second user associated with a second user profile, wherein the second user profile is linked to the first user profile;
assigning the anamorphic media to the location of the space; and
retrieving the anamorphic media at the first mobile device in response to the determining the location of the first mobile device.

### Claim 8 (depends on 1)

The system of claim 1, wherein the applying the anamorphic media to the presentation of the space based on the perspective of the mobile device includes:
applying a transformation to the anamorphic media based on the perspective of the mobile device; and
causing display of the transformed anamorphic media in the presentation of the space.

### Claim 9

A method including:
causing display of an ephemeral message that comprises a presentation of a space within a graphical user interface on an output display of a mobile device, the ephemeral message comprising a first display duration that defines a first period of time;
determining a location of the mobile device, the location corresponding to the space;
identifying a set of features of the space;
determining relative positions of the set of features, the relative positions indicating distances between each feature of the set of features and locations of each feature of the set of features in the space;
determining a perspective of the mobile device based on the relative positions of the set of features;
retrieving anamorphic media based on the location of the mobile device, the anamorphic media including a second display duration;
applying the anamorphic media within the presentation of the space based on the perspective of the mobile device for a second period of time, the second period of time based on the display duration of the anamorphic media, and wherein the first period of time defined by the first display duration exceeds the second period of time defined by the second display duration.

### Claim 10 (depends on 9)

The method of claim 9, wherein the applying the anamorphic media to the presentation of the space includes:
accessing a surface model of the space based on the location of the mobile device, the surface model including a three-dimensional representation of the space; and
causing display of the anamorphic media in the presentation of the space based on the three-dimensional representation of the space.

### Claim 11 (depends on 10)

The method of claim 10, wherein the accessing the surface model of the space includes:
determining the three-dimensional representation of the space based on computer vision;
generating the surface model of the space based on the three-dimensional representation; and
assigning the surface model to the location of the space based on a set of coordinates of the space.

### Claim 12 (depends on 10)

The method of claim 10, wherein the accessing the surface model of the space includes:
accessing a surface model database in response to the determining the location of the mobile device; and
retrieving the surface model from the surface model database based on the location of the mobile device.

### Claim 13 (depends on 9)

The method of claim 9, wherein the anamorphic media includes an animation, the animation configured to play when the mobile device is at a specified viewing perspective.

### Claim 14 (depends on 9)

The method of claim 9, wherein the set of features include at least three distinct feature elements, and the determining the perspective of the mobile device based on the relative positions of the set of features is based on triangulation of the three distinct feature elements.

### Claim 15 (depends on 9)

The method of claim 9, wherein the mobile device is a first mobile device, and the first mobile device is associated with a first user profile of a first user, and the retrieving the anamorphic media based on the location of the mobile device includes:
receiving the anamorphic media from a second mobile device, the second mobile device associated with a second user associated with a second user profile, wherein the second user profile is linked to the first user profile;
assigning the anamorphic media to the location of the space; and
retrieving the anamorphic media at the first mobile device in response to the determining the location of the first mobile device.

### Claim 16 (depends on 9)

The method of claim 9, wherein the applying the anamorphic media to the presentation of the space based on the perspective of the mobile device includes:
applying a transformation to the anamorphic media based on the perspective of the mobile device; and
causing display of the transformed anamorphic media in the presentation of the space.

### Claim 17

A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations including:
causing display of an ephemeral message that comprises a presentation of a space within a graphical user interface on an output display of a mobile device, the ephemeral message comprising a first display duration that defines a first period of time;
determining a location of the mobile device, the location corresponding to the space;
identifying a set of features of the space;
determining relative positions of the set of features, the relative positions indicating distances between each feature of the set of features and locations of each feature of the set of features in the space;
determining a perspective of the mobile device based on the relative positions of the set of features;
retrieving anamorphic media based on the location of the mobile device, the anamorphic media including a second display duration;
applying the anamorphic media within the presentation of the space based on the perspective of the mobile device for a second period of time, the second period of time based on the display duration of the anamorphic media, and wherein the first period of time defined by the first display duration exceeds the second period of time defined by the second display duration.

### Claim 18 (depends on 17)

The non-transitory machine-readable storage medium of claim 17, wherein the instructions for applying the anamorphic media to the presentation of the space include:
accessing a surface model of the space based on the location of the mobile device, the surface model including a three-dimensional representation of the space; and
causing display of the anamorphic media in the presentation of the space based on the three-dimensional representation of the space.

### Claim 19 (depends on 18)

The non-transitory machine-readable storage medium of claim 18, wherein the instructions for accessing the surface model of the space include:
determining the three-dimensional representation of the space based on computer vision;
generating the surface model of the space based on the three-dimensional representation; and
assigning the surface model to the location of the space based on a set of coordinates of the space.
