IP Library Granted Patent US 9,934,757
Granted Patent B2
US 9,934,757 · App. 15/460,996 · Granted Apr 3, 2018

Method and system of downloading image tiles onto a client device

Inventor: Anton Vasilyevich Korzunov (Podolsk, RU)
Assignee: YANDEX EUROPE AG
G09G5/006G06T3/40G09G2370/022
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 9,934,757
App. No.
15/460,996
Granted
Apr 3, 2018
Kind
B2
Abstract

There is disclosed a method for downloading image tile data from a server to a client device, the data being organized, by the server, in a hierarchal structure, where each level of the hierarchal structure stores a subset of image tiles associated with a particular resolution level. The method comprises, where the client device requests a new image view of a larger resolution, determining an anchor point of the first image view; based on the anchor point, determining a first anchor image tile of the first-level image tiles; using the hierarchical structure, determining a corresponding four child second-level image tiles, the corresponding four-child second-level image tiles forming a second anchor image tile; sending to the client device the second anchor image tile, the sending causing the client device to: replace, in the memory and on the output device, the first anchor image tile with the second anchor image tile.

Claims (70)

1. A method for downloading image tile data from a server to a client device,

the image tile data being organized, by the server, in a hierarchal structure, where each level of the hierarchal structure stores a subset of image tiles associated with a particular resolution level;

the client device including a memory and an output device, the client device being connectable to the server via a communication network, the output device displaying a first image view, the first image view being associated with a first viewport and a first resolution level, the first image view being generated using a portion of the plurality of the first-level image tiles associated with the first resolution level, the portion being determined by the first viewport;

the portion of the plurality of the first-level image tiles having been (i) downloaded by the client device from the server and (ii) stored by the client device in the memory to enable rendering thereof;

the method being executable by the server;

the method comprising:

receiving, from the client device, a request for a plurality of second-level image tiles to replace the plurality of first-level image tiles to display a second image view, the second image view being associated with a second view port and a second resolution level, the second resolution level being larger than the first resolution level; each image tile of the plurality of first-level image tiles having four child second-level image tiles within the plurality of second-level image tiles as defined by the hierarchal structure;

determining an anchor point of the first image view;

based on the anchor point, determining a first anchor image tile of the first-level image tiles;

using the hierarchical structure, determining a corresponding four child second-level image tiles, the corresponding four-child second-level image tiles forming a second anchor image tile;

sending to the client device the second anchor image tile, the sending configured to cause the client device to:

replace, in the memory, the first anchor image tile with the second anchor image tile;

replace, on the output device, the first anchor image tile with the second anchor image tile.

2. The method of claim 1 , further comprising, after the sending to the client device the second anchor image tile:

determining a first adjacent image tile of the first-level image tiles, the first adjacent image tile being adjacent to the first anchor image tile of the first-level image tiles;

using the hierarchical structure, determining a corresponding four child second-level image tiles for the first adjacent image tile, the corresponding four-child second-level image tiles forming a second adjacent image tile;

sending to the client device the second adjacent image tile, the sending configured to cause the client device to:

replace, in the memory, the first adjacent image tile with the second adjacent image tile;

replace, on the output device, the first adjacent image tile with the second adjacent image tile.

3. The method of claim 2 , further comprising, after the sending to the client device the second adjacent image tile:

determining a third adjacent image tile of the first-level image tiles, the third adjacent image tile being adjacent to the first anchor image tile of the first-level image tiles;

using the hierarchical structure, determining a corresponding four child second-level image tiles for the third adjacent image tile, the corresponding four-child second-level image tiles forming a fourth adjacent image tile;

sending to the client device the fourth adjacent image tile, the sending configured to cause the client device to:

replace, in the memory, the third adjacent image tile with the fourth adjacent image tile;

replace, on the output device, the third adjacent image tile with the fourth adjacent image tile.

4. The method of claim 1 , wherein the determining the anchor point of the first image view comprises receiving an indication of the anchor point from the client device.

5. The method of claim 4 , wherein the indication of the anchor point corresponds to a center-point of the first viewport.

6. The method of claim 4 , wherein the indication of the anchor point corresponds to a cursor position over the first viewport.

7. The method of claim 1 , wherein the hierarchical structure is a quad tree data structure.

8. The method of claim 1 , wherein the image tiles comprise map tiles and the resolution level comprises a zoom level.

9. The method of claim 1 , wherein the image tiles comprise game textures and the resolution level comprises a detailing level.

10. The method of claim 1 , wherein the sending to the client device the second anchor image tile further comprises sending an instruction, the instruction to cause the client device to:

replace, in the memory, the first anchor image tile with the second anchor image tile;

replace, on the output device, the first anchor image tile with the second anchor image tile.

11. The method of claim 1 , wherein the sending to the client device the second anchor image causes the client device to:

replace, in the memory, the first anchor image tile with the second anchor image tile;

replace, on the output device, the first anchor image tile with the second anchor image tile;

the steps of replacing being executed based on computer-executable instructions stored by the client device.

12. The method of claim 1 , wherein the memory comprises a cache memory.

13. The method of claim 1 , wherein the sending to the client device the second anchor image tile is further configured to cause the client device to:

render the second anchor image tile.

14. A server comprising:

a processor;

a memory storage coupled to the processor, the memory storage for storing image tile data; the image tile data being organized, by the server, in a hierarchal structure, where each level of the hierarchal structure stores a subset of image tiles associated with a particular resolution level;

a communication interface for allowing the server be connectable to a client device via a communication network, the client device including a memory and an output device, the output device displaying a first image view, the first image view being associated with a first viewport and a first resolution level, the first image view being generated using a portion of the plurality of the first-level image tiles associated with the first resolution level, the portion being determined by the first viewport;

the portion of the plurality of the first-level image tiles having been (i) downloaded by the client device from the server and (ii) stored by the client device in the memory to enable rendering thereof;

the processor being configured to:

receive, from the client device, a request for a plurality of second-level image tiles to replace the plurality of first-level image tiles to display a second image view, the second image view being associated with a second view port and a second resolution level, the second resolution level being larger than the first resolution level; each image tile of the plurality of first-level image tiles having four child second-level image tiles within the plurality of second-level image tiles as defined by the hierarchal structure;

determine an anchor point of the first image view;

based on the anchor point, determine a first anchor image tile of the first-level image tiles;

using the hierarchical structure, determine a corresponding four child second-level image tiles, the corresponding four-child second-level image tiles forming a second anchor image tile;

send to the client device the second anchor image tile, the sending configured to cause the client device to:

replace, in the memory, the first anchor image tile with the second anchor image tile;

replace, on the output device, the first anchor image tile with the second anchor image tile.

15. The server of claim 14 , the processor being further configured, after the sending to the client device the second anchor image tile, to:

determine a first adjacent image tile of the first-level image tiles, the first adjacent image tile being adjacent to the first anchor image tile of the first-level image tiles;

using the hierarchical structure, determine a corresponding four child second-level image tiles for the first adjacent image tile, the corresponding four-child second-level image tiles forming a second adjacent image tile;

send to the client device the second adjacent image tile, the sending configured to cause the client device to:

replace, in the memory, the first adjacent image tile with the second adjacent image tile;

replace, on the output device, the first adjacent image tile with the second adjacent image tile.

16. The server of claim 15 , the processor being further configured, after the sending to the client device the second adjacent image tile, to:

determine a third adjacent image tile of the first-level image tiles, the third adjacent image tile being adjacent to the first anchor image tile of the first-level image tiles;

using the hierarchical structure, determine a corresponding four child second-level image tiles for the third adjacent image tile, the corresponding four-child second-level image tiles forming a fourth adjacent image tile;

send to the client device the fourth adjacent image tile, the sending configured to cause the client device to:

replace, in the memory, the third adjacent image tile with the fourth adjacent image tile;

replace, on the output device, the third adjacent image tile with the fourth adjacent image tile.

17. The server of claim 14 , wherein to determine the anchor point of the first image view, the processor is configured to receive an indication of the anchor point from the client device.

18. The server of claim 17 , wherein the indication of the anchor point corresponds to a center-point of the first viewport.

19. The server of claim 17 , wherein the indication of the anchor point corresponds to a cursor position over the first viewport.

20. The server of claim 14 , wherein the hierarchical structure is a quad tree data structure.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2024
From: DIRECT CURSUS TECHNOLOGY L.L.C
To: Y.E. HUB ARMENIA LLC
Reel/Frame 068525/0349 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2023
From: YANDEX EUROPE AG
To: DIRECT CURSUS TECHNOLOGY L.L.C
Reel/Frame 065692/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2017
From: KORZUNOV, ANTON VASILYEVICH
To: YANDEX LLC
Reel/Frame 042121/0732 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2017
From: YANDEX LLC
To: YANDEX EUROPE AG
Reel/Frame 042122/0001 →
Priority Claims (1)
RU 2016112612 · Apr 4, 2016 · national
Continuity (1)
Related Publication 20170287437A1 · Oct 5, 2017