IP Library Granted Patent US 10,657,678
Granted Patent B2
US 10,657,678 · App. 16/128,202 · Granted May 19, 2020

Method, apparatus and device for creating a texture atlas to render images

Inventors: Decai Jin (Hangzhou, CN); Xu Zeng (Shanghai, CN); Qinghe Xu (Shanghai, CN)
Assignee: Alibaba Group Holding Limited
G06T11/001G06T11/60G06T15/04
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 10,657,678
App. No.
16/128,202
Granted
May 19, 2020
Kind
B2
Abstract

A method, device, and system for rending images. The method includes obtaining, by one or more processors, image data comprised in a data frame to be rendered, determining, by the one or more processors, one or more dimensions for a texture atlas based at least in part on the dimensions of the obtained image data, creating, by the one or more processors, the texture atlas based at least in part on the determined dimensions, and rendering, by the one or more processors, the data frame based at least in part on the texture atlas.

Claims (74)

1. A method, comprising:

obtaining, by one or more processors, image data comprised in a data frame to be rendered, the image data comprising data for a plurality of objects in the data frame;

determining, by the one or more processors, a first set of the plurality of objects to be rendered using a texture atlas, and a second set of the plurality of objects to be rendered from the corresponding image data without use of the texture atlas, the determining of the first set and the second set comprising determining, for an object in the plurality of objects in the data frame, whether the image data for the corresponding object exceeds a preset size threshold;

determining, by the one or more processors, one or more dimensions for the texture atlas based at least in part on one or more dimensions of the image data for the first set of the plurality of objects;

creating, by the one or more processors, the texture atlas based at least in part on the determined dimensions; and

rendering, by the one or more processors, the data frame based at least in part on the texture atlas.

2. The method of claim 1 , wherein the obtaining of the image data comprised in the data frame to be rendered comprises:

obtaining image data to be added to the texture atlas from among the image data comprised in the data frame to be rendered.

3. The method of claim 2 , wherein the obtaining of the image data to be added to the texture atlas comprises:

determining the image data to be added to the texture atlas based at least in part on the one or more dimensions of the image data comprised in the data frame.

4. The method of claim 3 , wherein the determining the image data to be added to the texture atlas based at least in part on the one or more dimensions of the image data comprised in the data frame comprises:

determining the image data to be added to the texture atlas based at least in part on determining one or more image data that respectively have one or more dimensions less than or equal to a preset dimension threshold, the one or more image data being determined from among the image data comprised in the data frame to be rendered.

5. The method of claim 2 , further comprising:

obtaining image data that is not to be added to the texture atlas from among the image data comprised in the data frame to be rendered; and

creating texture with respect to the image data that is not to be added to the texture atlas.

6. The method of claim 5 , further comprising:

determining, with respect to a piece of image data to be added to the texture atlas, whether an existing texture atlas wait set can accommodate the piece of image data;

in response to determining that the existing texture atlas wait set can accommodate the piece of image data, placing the piece of image data in the existing texture atlas wait set; and

in response to determining that the existing texture atlas wait set cannot accommodate the piece of image data, creating a new texture atlas wait set, and placing the piece of image data in the new texture atlas wait set.

7. The method of claim 6 , wherein the creating the texture atlas comprises creating a separate texture atlas with respect to each texture atlas wait set.

8. The method of claim 6 , the determining, with respect to a piece of image data to be added to the texture atlas, whether an existing texture atlas wait set can accommodate the piece of image data comprises:

determining, after the piece of image data is added to the existing texture atlas wait set, whether at least one of the one or more dimensions of the image data contained in the existing texture atlas wait set exceed a preset maximum capacity corresponding to the existing texture atlas wait set; and

in response to determining that the dimensions of the image data contained in the existing texture atlas wait set do not exceed the preset maximum capacity, determining that the existing texture atlas wait set can accommodate the piece of image data.

9. The method of claim 8 , wherein the determining whether the images at least one of the one or more dimensions of the image data contained in the existing texture atlas wait set exceed the preset maximum capacity corresponding to the existing texture atlas wait set comprises:

determining an area of the existing texture atlas wait set based at least in part on the one or more dimensions of the existing texture atlas wait set; and

determining whether the area of the existing texture atlas wait set exceeds a preset maximum area corresponding to the existing texture atlas wait set.

10. The method of claim 8 , wherein the determining whether the images at least one of the one or more dimensions of the image data contained in the existing texture atlas wait set exceed the preset maximum capacity corresponding to the existing texture atlas wait set comprises:

determining a total length and total width of the image data added to the existing texture atlas wait; and

determining whether the total length exceeds a preset maximum total length, or whether the total width exceeds a preset maximum total width.

11. The method of claim 6 , further comprises:

in response to creating the texture atlas, deleting the texture atlas wait set corresponding to the texture atlas.

12. The method of claim 1 , further comprising:

including the obtained image data in a texture atlas wait set,

wherein the determining the one or more dimensions of the texture atlas comprises:

determining the dimensions of the texture atlas based at least in part on dimensions of the image data comprised in the texture atlas wait set.

13. The method of claim 1 , wherein the determining the one or more dimensions of the texture atlas to be created comprises:

determining required texture atlas dimensions based at least in part on a preset texture merging process.

14. The method of claim 13 , wherein the determining the required texture atlas dimensions comprises:

determining a smallest texture atlas dimension requirement, and the one or more texture atlas dimensions being a power of two.

15. The method of claim 1 , wherein the creating the texture atlas comprises:

creating a texture atlas object;

requesting memory space to be allocated for the texture atlas object based on the one or more dimensions of the texture atlas; and

uploading the obtained image data to the memory space allocated for the texture atlas object.

16. The method of claim 1 , further comprises:

determining texture coordinates for a piece of image data to be comprised in the texture atlas,

wherein the creating the texture atlas comprises: setting the texture coordinates for the piece of image data contained in the texture atlas.

17. The method of claim 1 , wherein the rendering the data frame comprises using the texture atlas in connection with rendering of images comprised in the data frame.

18. The method of claim 1 , wherein the rendering the data frame comprises:

rendering, by the one or more processors, the first set of the plurality of objects based at least in part on the texture atlas, wherein a respective size of image data for objects within the first set of the plurality of objects is less than the preset size threshold; and

rendering, by the one or more processors, the second set of the plurality of objects without using the texture atlas, wherein a respective size of image data for objects within the second set of the plurality of objects exceeds the preset size threshold.

19. A device, comprising:

one or more processors configured to:

obtain image data comprised in a data frame to be rendered, the image data comprising data for a plurality of objects in the data frame;

determine a first set of the plurality of objects to be rendered using a texture atlas, and a second set of the plurality of objects to be rendered from the corresponding image data without use of the texture atlas, the determining of the first set and the second set comprising determining, for an object in the plurality of objects in the data frame, whether the image data for the corresponding object exceeds a preset size threshold;

determine one or more dimensions for the texture atlas based at least in part on one or more dimensions of the image data for the first set of the plurality of objects;

create the texture atlas based at least in part on the determined dimensions; and

render the data frame based at least in part on the texture atlas; and

one or more memories coupled to the one or more processors, configured to provide the one or more processors with instructions.

20. The device of claim 19 , wherein:

to obtain the image data comprised in the data frame to be rendered comprises obtaining image data to be added to the texture atlas from among the image data comprised in the data frame to be rendered; and

the obtaining of the image data to be added to the texture atlas comprises determining the image data to be added to the texture atlas based at least in part on the one or more dimensions of the image data comprised in the data frame.

21. The device of claim 20 , wherein the one or more processors are further configured to:

obtain image data that is not to be added to the texture atlas from among the image data comprised in the data frame to be rendered; and

create texture with respect to the image data that is not to be added to the texture atlas.

22. The device of claim 19 , wherein the one or more processors are further configured to:

include the obtained image data in a texture atlas wait set,

wherein to determine the one or more dimensions of the texture atlas comprises:

determining the dimensions of the texture atlas based at least in part on dimensions of the image data comprised in the texture atlas wait set.

23. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

obtaining, by one or more processors, image data comprised in a data frame to be rendered, the image data comprising data for a plurality of objects in the data frame;

determining, by the one or more processors, a first set of the plurality of objects to be rendered using a texture atlas, and a second set of the plurality of objects to be rendered from the corresponding image data without use of the texture atlas, the determining of the first set and the second set comprising determining, for an object in the plurality of objects in the data frame, whether the image data for the corresponding object exceeds a preset size threshold;

determining, by the one or more processors, one or more dimensions for the texture atlas based at least in part on one or more dimensions of the image data for the first set of the plurality of objects;

creating, by the one or more processors, the texture atlas based at least in part on the determined dimensions; and

rendering, by the one or more processors, the data frame based at least in part on the texture atlas.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: BANMA ZHIXING NETWORK (HONGKONG) CO., LIMITED
Reel/Frame 054384/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2018
From: JIN, DECAI; ZENG, XU; XU, QINGHE
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 048268/0720 →
Priority Claims (1)
CN 2016 1 0146095 · Mar 15, 2016 · national
Continuity (2)
Continuation In Part PCTCN2017075467 · Mar 2, 2017
Related Publication 20190080489A1 · Mar 14, 2019