# US 2019/0318538 A1 · Presenting image transition sequences between viewing locations

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

- Number: US 2019/0318538 A1
- Document ID: US20190318538A1
- Status: Published application
- Kind: A1
- Application number: 15/950,881
- Filed: 2018-04-11
- Published: 2019-10-17
- Earliest claimed: 2018-04-11
- Assignees: Zillow Group, Inc.
- Applicants: Zillow Group, Inc.
- Inventors: Yuguang Li; Li Guan
- Web page: https://patentgrep.com/patent/US20190318538A1

## CPC

- G06T 19/003: {Navigation within 3D models or images}
- G06T 13/80: Two-dimensional [2D] animation, e.g. using sprites
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06T 2207/10028: Range image; Depth image; 3D point clouds
- G06T 2219/028: Multiple view windows (top-side-front-sagittal-orthogonal)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Techniques are described for, given two images taken at two viewing locations, generating and presenting an image transition sequence that simulates viewer movement between the viewing locations, such as without using information about relative distance between the viewing locations and other depth information to objects in an environment around the viewing locations. The start and end images for an image transition sequence may be part of panorama images acquired at the viewing locations, and generating of the image transition sequence may include selecting and using one of multiple types of transition sequences to perform rotating (e.g., from a start image's viewing direction to face toward the viewing location for the end image), zooming (e.g., to simulate moving forward), and/or blending of the end image with a modified version of the start image, with the resulting image transition sequence played as a video or other animation.

## Claims

### Claim 1

A computer-implemented method comprising:
displaying, by a computing device and to a user, a first panorama image previously taken from a first location in a building, including modifying, in response to one or more user interactions, a current direction of view for the first panorama image to cause display of an area of the building that includes a second location from which a second panorama image was previously taken;
receiving, by the computing device and from an additional interaction of the user with the displayed first panorama image, a selection to change to the second panorama image;
generating, by the computing device, a visual transition sequence that simulates movement from the first location to the second location, including:
determining, by the computing device, and relative to a direct view to the second location in a straight line from the first location, an amount of an angle between the current direction of view for the first panorama image and the direct view, and that the determined amount of the angle exceeds a defined threshold for use of zooming without rotation in the visual transition sequence;
selecting, by the computing device, the current direction of view for the first panorama image as a beginning of the visual transition sequence;
selecting, by the computing device, and as an end of the visual transition sequence, a portion of the second panorama image that is in a direction of view away from the first location and corresponding to the direct view;
defining, by the computing device, and based at least in part on the determined amount of the angle exceeding the defined threshold, a first period of time for rotating and zooming that includes progressively rotating, from the beginning of the visual transition sequence at the current direction of view in the first panorama image, to the direct view to the second location and that simultaneously includes progressively increasing an amount of zoom in the first panorama image, resulting in a zoomed portion of the first panorama image centered on the direct view to the second location; and
defining, by the computing device, a second period of time for blending that begins with the zoomed portion of the first panorama image centered on the direct view to the second location and that includes progressively blending the selected portion of the second panorama image by increasing a relative proportion of the portion of the second panorama image in the direction of view corresponding to the direct view, resulting in the selected portion of the second panorama image at an end of the second period of time; and
displaying, by the computing device, and to the user over an amount of time that includes the first and second periods of time, the visual transition sequence to simulate the movement from the first location to the second location, and ending with a display of the selected portion of the second panorama image.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1 wherein the defining of the second period of time further includes performing further rotating and further zooming while progressively blending the selected portion of the second panorama image, wherein a first rate of zoom for the zooming during the first period of time is different from a second rate of zoom for the further zooming during the second period of time, and wherein a first rate of rotation for the rotating during the first period of time is different from a second rate of rotation for the further rotating during the second period of time.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2 wherein the generating of the visual transition sequence further includes selecting, by the computing device and based at least in part on the determined amount of the angle exceeding the defined threshold, to use a rotate-zoom type of transition that includes the rotating and zooming for the first period of time and the further rotating and further zooming during the second period of time, and wherein the method further comprises, after the displaying of the visual transition sequence:
modifying, by the computing device and in response to one or more further user interactions, a direction of view for the second panorama image to cause display of an additional area of the building that includes a third location from which a third panorama image was previously taken; and
generating, by the computing device, a second visual transition sequence that simulates movement from the second location to the third location, including:
determining, by the computing device, and relative to a second direct view to the third location in a straight line from the second location, an amount of a second angle between the modified direction of view for the second panorama image and the second direct view, and that the determined amount of the second angle does not exceed the defined threshold for use of zooming without rotation in the second visual transition sequence;
selecting, by the computing device and based at least in part on the determined amount of the second angle not exceeding the defined threshold, a center-zoom type of transition to use for the second visual transition sequence that is different from the rotate-zoom type of transition used for the visual transition sequence;
selecting, by the computing device, the modified direction of view for the second panorama image as a beginning of the second visual transition sequence, and a portion of the third panorama image that is in a direction of view away from the second location as an end of the second visual transition sequence;
defining, by the computing device, and based at least in part on the selected center-zoom type of transition, a third period of time for zooming without rotating that includes progressively increasing an amount of zoom in the second panorama image, resulting in a zoomed portion of second first panorama image centered on the second direct view to the third location; and
defining, by the computing device and based at least in part on the selected center-zoom type of transition, a fourth period of time for blending that begins with the zoomed portion of the second panorama image and that includes progressively blending the selected portion of the third panorama image over the fourth period of time while performing further zooming from a zoomed-out version of the selected portion of the third panorama image, resulting in the selected portion of the third panorama image at an end of the fourth period of time; and
displaying, by the computing device, and to the user over an amount of time that includes the third and fourth periods of time, an animation of the second visual transition sequence to simulate the movement from the second location to the third location, and ending with a display of the selected portion of the third panorama image.

### Claim 4

A computer-implemented method comprising:
presenting, by a computing system and to a user, a first image taken from a first location that includes a view of a second location;
determining, by the computing system, to present a second image taken from the second location in a direction away from the first location; and
presenting, by the computing system, and to the user over a period of time, a visual transition sequence that simulates movement from the first location to the second location, wherein the presenting of the visual transition sequence includes performing zooming during a first subset of the period of time that begins with the first image and progressively increases an amount of zoom within the first image to reach an enlarged portion of the first image, and includes performing blending during a second subset of the period of time that begins with the enlarged portion of the first image and changes from the enlarged portion of the first image to the second image by progressively increasing a relative proportion of the second image that is shown until only the second image is shown, ending with a display of the second image.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4 wherein the presenting of the first image by the computing system includes transmitting, by the computing system and over one or more computer networks, the first image to a client computing device of the user for display on the client computing device, and wherein the determining to present the second image is based at least in part by an interaction of the user with the first image displayed on the client computing device.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5 wherein the first image displayed on the client computing device includes a user-selectable control displayed on the first image at a position corresponding to the view of the second location, and wherein the interaction of the user with the first image displayed on the client computing device includes selecting the user-selectable control displayed on the first image.

### Claim 7 (depends on 5)

The computer-implemented method of claim 5 wherein the first image is a first subset of a starting panorama image that is taken from the first location, and wherein the presenting of the first image by the computing system includes, before displaying of the first image on the client computing device:
displaying, on the client computing device, a third image from a second subset of the starting panorama image corresponding to a view direction that does not include the view of the second location;
receiving one or more initial interactions of the user with the displayed second subset, including to change the view direction within the starting panorama image toward the second location; and
selecting, in response to the one or more initial interactions, the first subset of the starting panorama image based on the changed view direction, and initiating the displaying of the first image on the client computing device.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7 wherein the second image is a subset of an ending panorama image that is taken from the second location, and wherein the presenting of the visual transition sequence includes determining a view direction within the ending panorama image away from the first location, and selecting the subset of the ending panorama image with the second image based on the determined view direction.

### Claim 9 (depends on 4)

The computer-implemented method of claim 4 wherein the presenting of the visual transition sequence includes selecting first parameters to use for the zooming during the first subset of the period of time that include at least one of a first rate of zoom for the zooming or a zoom-in scale to reach by an end of the first subset of the period of time, and includes selecting second parameters to use for additional zooming during the second subset of the period of time that begins with a zoomed-out image of which the second image is a part and ends with the second image, the second parameters including at least one of a second rate of zoom for the additional zooming or a zoom-out scale to use for the zoomed-out image at a start of the second subset of the period of time.

### Claim 10 (depends on 9)

The computer-implemented method of claim 9 wherein the first image is part of a starting panorama image and the second image is part of an ending panorama image, wherein the method further comprises pre-computing and storing, before the presenting of the first image, the first and second parameters as part of analysis of the starting and ending panorama images to identify a link connecting the starting and ending panorama images, and wherein the selecting of the first and second parameters includes retrieving the stored pre-computed first and second parameters.

### Claim 11 (depends on 9)

The computer-implemented method of claim 9 wherein the selecting of the first parameters includes selecting the zoom-in scale, wherein the selecting of the second parameters includes selecting the zoom-out scale to be a multiplicative inverse of the zoom-in scale, and wherein the presenting of the visual transition sequence further includes determining the period of time to be a received transition length and computing the first and second rates of zoom based on the period of time, the zoom-in scale and the zoom-out scale.

### Claim 12

A non-transitory computer-readable medium having stored contents that cause one or more computing systems to perform automated operations, the automated operations including at least:
presenting, by the one or more computing systems and to a user, a first panorama image that is taken from a first location and includes a view of a second location in a first subset of the first panorama image, to allow the user to modify a view direction in the first panorama image to display different subsets of the first panorama image;
determining, by the one or more computing systems, and in response to an instruction from the user to present a second panorama image taken from the second location, a degree of overlap between a current subset of the first panorama image that is being displayed to the user and the first subset of the first panorama image that includes the view of the second location;
selecting, by the one or more computing systems and based at least in part on the determined degree of overlap, and from multiple types of transition sequences, a transition sequence type to use to simulate moving from the current subset of the first panorama image to a second subset of the second panorama image in a view direction away from the first location; and
presenting, by the one or more computing systems, and to the user over a period of time, an image transition sequence of the selected transition sequence type, wherein the presenting of the image transition sequence includes performing zooming during a first subset of the period of time that begins with the current subset of the first panorama image and progressively increases an amount of zoom to reach an enlarged portion of the current subset of the first panorama image, and includes performing blending during a second subset of the period of time that begins with the enlarged portion of the current subset of the first panorama image and changes to the second subset of the second panorama image by progressively increasing a relative proportion of the second subset of the second panorama image that is shown.

### Claim 13 (depends on 12)

The non-transitory computer-readable medium of claim 12 wherein the determining of the degree of overlap includes determining that the degree of overlap is below a center-zoom transition threshold in which the current subset of the first panorama image includes all of the second subset of the second panorama image, wherein the selected transition sequence type is a center-zoom transition such that the zooming performed during the first subset of the period of time occurs at a center of the first subset of the first panorama image and after rotating from the current subset of the first panorama image to reach the first subset of the first panorama image, and wherein the performing of the blending during the second subset of the period of time further includes performing additional zooming from a zoomed-out version of the second subset of the second panorama to reach the second subset of the second panorama after the additional zooming.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13 wherein the determining of the degree of overlap includes measuring an angular difference between a straight line direction from the first location to the second location and a current view direction for the displayed first panorama image that results in the current subset of the first panorama image.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13 wherein the stored contents include software instructions that, when executed, further cause the one or more computing systems to generate the image transition sequence by retrieving and using pre-computed parameters for a link from the first panorama image to the second panorama image, the pre-computed parameters including at least one of a first rate of zoom for the zooming or a zoom-in scale to reach by an end of the first subset of the period of time, and further including at least one of a second rate of zoom for the additional zooming or a zoom-out scale to use for the zoomed-out version of the second subset of the second panorama image.

### Claim 16 (depends on 12)

The non-transitory computer-readable medium of claim 12 wherein the determining of the degree of overlap includes determining that the degree of overlap is below a rotate-zoom transition threshold in which the current subset of the first panorama image includes some of the second subset of the second panorama image, wherein the selected transition sequence type is a rotate-zoom transition such that the zooming occurs at a location away from a center of the first subset of the first panorama image and is performed simultaneously with rotating from the current subset of the first panorama image toward the first subset of the first panorama image, and wherein the performing of the blending during the second subset of the period of time further includes performing additional zooming from a zoomed-out version of the second subset of the second panorama to reach the second subset of the second panorama after the additional zooming.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16 wherein the determining of the degree of overlap includes measuring an angular difference between a straight line direction from the first location to the second location and a current view direction for the displayed first panorama image that results in the current subset of the first panorama image.

### Claim 18 (depends on 12)

The non-transitory computer-readable medium of claim 12 wherein the stored contents include software instructions that, when executed, further cause the one or more computing systems to present a second image transition sequence to an end image from a start image that does not include any of the end image, wherein the second image transition sequence is of a fade type of image transition sequence, and wherein presenting of the second image transition sequence includes fading from the start image to the end image without performing zooming or rotation.

### Claim 19 (depends on 18)

The non-transitory computer-readable medium of claim 18 wherein the stored contents further cause the one or more computing systems to determine to use the fade type of image transition sequence from the multiple types of transition sequences based at least in part on a measured angular difference exceeding a rotate-zoom transition threshold, and wherein the measured angular difference is between a straight line direction from a location of the start image to a location of the end image and a current view direction for the start image.

### Claim 20 (depends on 12)

The non-transitory computer-readable medium of claim 12 wherein the one or more computing systems are part of an image locations transition manager system, wherein the presenting of the first panorama image by the one or more computing systems includes transmitting the first panorama image over one or more computer networks to a client computing device of the user for display on the client computing device, and wherein the instruction from the user to present the second panorama image is based at least in part by an interaction of the user with a user-selectable control displayed on the first panorama image at a position corresponding to the view of the second location.

### Claim 21

A system comprising:
one or more hardware processors of one or more computing systems; and
one or more memories with stored instructions that, when executed by at least one of the one or more hardware processors, cause the one or more computing systems to perform automated operations to implement at least some functionality of an image locations transition manager system, including at least:
presenting, to a user, an initial subset of a first panorama image, wherein the first panorama image is taken from a first location and includes a view of a second location in a corresponding subset of the first panorama image, to allow the user to modify a view direction in the first panorama image to display different subsets of the first panorama image;
determining, in response to an indication to present a second panorama image taken from the second location, an amount of difference between a current view direction of the first panorama image and an inter-panorama view direction from the first panorama image to the corresponding subset that includes the view of the second location;
selecting, based at least in part on the determined amount of difference, and from multiple types of transition sequences, a transition sequence type to use to simulate moving from a current subset of the first panorama image resulting from the current view direction to a subset of the second panorama image in a view direction away from the first location; and
presenting, to the user over a period of time, an image transition sequence of the selected transition sequence type, including performing zooming during a first subset of the period of time that begins with the current subset of the first panorama image and progressively increases an amount of zoom to reach an enlarged portion of the current subset of the first panorama image, and including performing blending during a second subset of the period of time that begins with the enlarged portion of the current subset of the first panorama image and changes to the subset of the second panorama image by progressively increasing a relative proportion of the subset of the second panorama image that is shown.

### Claim 22 (depends on 21)

The system of claim 21 wherein the software instructions further cause the one or more computing systems to perform automated operations to implement at least some functionality of an interior capture and analysis system, including to generate the first and second panorama images and to determine a link between the first and second panorama images in the inter-panorama view direction from the first panorama image to the corresponding subset that includes the view of the second location.

### Claim 23 (depends on 21)

The system of claim 21 further comprising a client computing device of the user, wherein the presenting of the initial subset of a first panorama image to the user includes receiving, by the client computing device, the first panorama image from the one or more computing systems and displaying the initial subset of the first panorama image on the client computing device and changing the displayed initial subset to a display of the current subset in response to interactions by the user, and wherein the presenting of the image transition sequence to the user includes receiving, by the client computing device, the image transition sequence from the one or more computing systems and displaying the image transition sequence on the client computing device over the period of time, including to display a plurality of images during the displaying of the image transition sequence.
