IP Library › Granted Patent US 9,704,286
Granted Patent B2
US 9,704,286 · App. 14/368,695 · Granted Jul 11, 2017

Information processing apparatus, method, and storage medium for generating a viewpoint independent map

Inventor: Jean-François F Fortin (Montreal, CA)
Assignee: SQUARE ENIX HOLDINGS CO., LTD.
G06T15/20A63F13/525G06T15/04A63F13/52G06T2210/36G06T2215/12
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,704,286
App. No.
14/368,695
Granted
Jul 11, 2017
Kind
B2
Abstract

An information processing apparatus acquires viewpoint information indicating a viewpoint for which rendering of a 3D scene is performed and generates, by a predetermined calculation, a viewpoint independent map for an object included in a rendering scope based on the acquired viewpoint information. And then the apparatus stores each pixel of the generated viewpoint independent map in association with a distance between an object corresponding to the pixel and the viewpoint indicated by the acquired viewpoint information. The apparatus does not perform the predetermined calculation in a case where a pixel of the viewpoint independent map for the object included in the rendering scope corresponding to the distance from the viewpoint indicated by the acquired viewpoint information is already stored.

Claims (69)

1. An information processing apparatus, comprising:

at least one processor; and

a memory including executable instructions that, when executed by the processor, cause the processor to perform operations including:

acquiring viewpoint information indicating a viewpoint for which rendering of a 3D scene is performed;

determining that a pixel of a viewpoint independent map for a target object included in a rendering scope, corresponding to a distance from the viewpoint indicated by the acquired viewpoint information, is not stored in the memory;

generating, by a predetermined calculation and in response to the determining, the viewpoint independent map for the target object included in the rendering scope based on the acquired viewpoint information;

storing, in the memory, each pixel of the generated viewpoint independent map in association with the distance between a pixel object corresponding to the pixel and the viewpoint indicated by the acquired viewpoint information; and

performing rendering processing of a screen corresponding to the viewpoint using the generated viewpoint independent map,

wherein the processor does not perform the predetermined calculation in a case where the pixel of the viewpoint independent map for the target object included in the rendering scope, corresponding to the distance from the viewpoint indicated by the acquired viewpoint information, is already stored in the memory.

2. The information processing apparatus according to claim 1 , wherein the memory stores, in a case where the pixel of the viewpoint independent map for the target object included in the rendering scope, corresponding to the distance from the viewpoint indicated by the acquired viewpoint information, is not stored in the memory, a corresponding pixel of the generated viewpoint independent map.

3. The information processing apparatus according to claim 1 , wherein

the viewpoint independent map is comprised of a plurality of maps, each associated with a different distance, and

the memory stores, for a map corresponding to the distance between the pixel object corresponding to the pixel in the plurality of maps and the viewpoint indicated by the acquired viewpoint information, each pixel of the generated viewpoint independent map.

4. The information processing apparatus according to claim 3 , wherein the plurality of maps includes maps that each has a different resolution.

5. The information processing apparatus according to claim 3 , wherein the plurality of maps includes maps having a higher resolution with respect to a same object as an associated distance is shorter.

6. The information processing apparatus according to claim 3 , wherein, from the plurality of maps, a pixel value of a pixel of a first map with which a first distance is associated, corresponds to an average value of pixel values of pixels of corresponding positions of a second map with which a second distance, which is shorter than the first distance, is associated.

7. The information processing apparatus according claim 3 , the operations further including:

newly generating a target pixel of a first map, with which a first distance is associated, from the plurality of maps, based on at least one of:

a pixel of a position corresponding to the target pixel of a second map with which a second distance, which is shorter than the first distance, is associated; or

a pixel of a position corresponding to a peripheral pixel of the target pixel of the first map, and to the target pixel of a third map with which a third distance, which is longer than the first distance, is associated, wherein

the memory stores the target pixel newly generated by the processor, in association with the first distance.

8. The information processing apparatus according to claim 7 , wherein, in the newly generating, the processor generates, in a case where all of the pixels of locations corresponding to the target pixel of the second map are stored by the memory, the target pixel making the pixel value be an average value of all of the pixels.

9. The information processing apparatus according to claim 7 , wherein, in the newly generating, the processor generates, in a case where a pixel of a position corresponding to the target pixel of the third map, and peripheral pixels other than the target pixel corresponding to the pixel of the first map are stored by the memory, the target pixel making the pixel value be a value obtained by subtracting an average value of the peripheral pixels from a pixel value of the pixel of the corresponding position of the third map.

10. The information processing apparatus according to claim 1 , further comprising:

a communication interface which is able to perform communication with an external apparatus;

a central processor which is able to determine the viewpoint for which to perform rendering of the 3D scene for the external apparatus, with which communication is performed; and

a graphics processor which is able to perform rendering of the screen corresponding to the viewpoint using the generated viewpoint independent map, wherein

the processor acquires the viewpoint information indicating the determined viewpoint, and

the communication interface transmits the rendered screen to the external apparatus, with which communication is performed.

11. The information processing apparatus according to claim 10 , wherein

the communication interface communicates with a plurality of external devices,

the memory stores each pixel of the generated viewpoint independent map for different external devices as a single data item, and

the processor does not perform the predetermined calculation in the case where the pixel of the viewpoint independent map, corresponding to the distance from the viewpoint indicated by the acquired viewpoint information, is generated and stored previously for one of the plurality of external devices.

12. The information processing apparatus according to claim 1 , wherein the viewpoint independent map includes a shadow map or a light map based on an object and a static light source arranged in the 3D scene.

13. The information processing apparatus according to claim 1 , wherein the memory, in a case where a pixel, from the pixels of the viewpoint independent map, is not used for rendering satisfies a predetermined condition, deletes the pixel.

14. A method of controlling an information processing apparatus, the method comprising:

acquiring viewpoint information indicating a viewpoint for which rendering of a 3D scene is performed;

determining that a pixel of a viewpoint independent map for a target object included in a rendering scope, corresponding to a distance from the viewpoint indicated by the acquired viewpoint information, is not stored in a memory;

generating, by a predetermined calculation and in response to the determining, the viewpoint independent map for the target object included in the rendering scope based on the acquired viewpoint information;

storing, in a memory, each pixel of the generated viewpoint independent map in association with the distance between a pixel object corresponding to the pixel and the viewpoint indicated by the acquired viewpoint information;

performing rendering processing of a screen corresponding to the viewpoint using the generated viewpoint independent map, wherein

the predetermined calculation is not performed in a case where the pixel of the viewpoint independent map for the target object included in the rendering scope, corresponding to the distance from the viewpoint indicated by the acquired viewpoint information, is already stored in the memory.

15. The method of controlling the information processing apparatus according to claim 14 , wherein, in the storing, in a case where the pixel of the viewpoint independent map for the target object included in the rendering scope, corresponding to the distance from the viewpoint indicated by the acquired viewpoint information, is not stored in the memory, a corresponding pixel of the generated viewpoint independent map is stored in the memory.

16. The method of controlling the information processing apparatus according to claim 14 , wherein

the viewpoint independent map is comprised of a plurality of maps, each associated with a different distance, and

in the storing, for a map corresponding to the distance between the pixel object corresponding to the pixel in the plurality of maps and the viewpoint indicated by the acquired viewpoint information, each pixel of the generated viewpoint independent map is stored in the memory.

17. The method of controlling the information processing apparatus according to claim 16 , wherein the plurality of maps includes maps that each has a different resolution.

18. The method of controlling the information processing apparatus according to claim 16 , wherein the plurality of maps includes maps having a higher resolution with respect to a same object as an associated distance is shorter.

19. The method of controlling the information processing apparatus according to claim 16 , wherein, from the plurality of maps, a pixel value of a pixel of a first map with which a first distance is associated, corresponds to an average value of pixel values of pixels of corresponding positions of a second map with which a second distance, which is shorter than the first distance, is associated.

20. The method of controlling the information processing apparatus according to claim 16 , further comprising:

newly generating a target pixel of a first map, with which a first distance is associated, from the plurality of maps, based on at least one of:

a pixel of a position corresponding to the target pixel of a second map with which a second distance, which is shorter than the first distance, is associated; or

a pixel of a position corresponding to a peripheral pixel of the target pixel of the first map, and to the target pixel of a third map with which a third distance, which is longer than the first distance, is associated, wherein

in the storing, the target pixel generated in the newly generating, is stored in the memory in association with the first distance.

21. The method of controlling the information processing apparatus according to claim 20 , wherein, in the newly generating, in a case where all of the pixels of locations corresponding to the target pixel of the second map are stored in the storing, the target pixel is generated making the pixel value be an average value of all of the pixels.

22. The method of controlling the information processing apparatus according to claim 20 , wherein, in the newly generating, in a case where a pixel of a position corresponding to the target pixel of the third map, and peripheral pixels other than the target pixel corresponding to the pixel of the first map are stored in the storing, the target pixel is generated making the pixel value be a value obtained by subtracting an average value of the peripheral pixels from a pixel value of the pixel of the corresponding position of the third map.

23. The method of controlling the information processing apparatus according to claim 14 , further comprising:

performing communication with an external apparatus;

determining the viewpoint for which to perform the rendering of the 3D scene for the external apparatus, with which communication is performed; and

performing rendering of the screen corresponding to the viewpoint using the generated viewpoint independent map, wherein

in the acquiring, the viewpoint information indicating the determined viewpoint is acquired, and

in the communicating, the rendered screen is transmitted to the external apparatus, with which communication is performed.

24. The method of controlling the information processing apparatus according to claim 23 , wherein

in the communicating, communication is performed with a plurality of external devices,

in the storing, each pixel of the generated viewpoint independent map is stored in the memory as a single data item for different external devices, and

in the generating, the predetermined calculation is not performed in the case where the pixel of the viewpoint independent map, corresponding to the distance from the viewpoint indicated by the acquired viewpoint information, is generated and stored previously for one of the plurality of external devices.

25. The method of controlling the information processing apparatus according to claim 14 , wherein the viewpoint independent map includes a shadow map or a light map based on an object and a static light source arranged in the 3D scene.

26. The method of controlling the information processing apparatus according to claim 14 , wherein in the storing, in a case where a pixel, from the pixels of a viewpoint independent map, that is not used for rendering satisfies a predetermined condition, the pixel is deleted.

27. A non-transitory computer-readable storage medium for storing a program for causing a computer to execute each step of the method of controlling the information processing apparatus according to claim 14 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2014
From: FORTIN, JEAN-FRANCOIS F
To: SQUARE ENIX HOLDINGS CO., LTD.
Reel/Frame 033178/0192 →
Continuity (2)
Provisional Application 61761338 · Feb 6, 2013
Related Publication 20150097825A1 · Apr 9, 2015