IP Library Granted Patent US 9,971,507
Granted Patent B2
US 9,971,507 · App. 15/194,390 · Granted May 15, 2018

Systems and methods for reducing storage requirement for storing information defining a virtual space

Inventor: Andi Smithers (Burbank, CA)
Assignee: Disney Enterprises, Inc.
G06F3/0604G06F3/067G06F3/0626G06F3/0629G06F3/0664
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,971,507
App. No.
15/194,390
Granted
May 15, 2018
Kind
B2
Abstract

Systems and methods of reducing storage requirements for storing information defining a virtual space are presented herein. In particular, a compressed format of information defining a virtual space may be generated. The virtual space may include virtual space content modeled as polygons. An individual polygon may be defined by an individual set of vertices. The information defining the virtual space may include vertex position information, and/or other information. The vertex position information may comprise individual positions of individual vertices of individual polygons represented as vectors having vector components.

Claims (49)

1. A system configured for reducing storage requirements for storing information defining a virtual space, the system comprising:

non-transitory electronic storage storing information defining a virtual space, the virtual space including virtual space content modeled as polygons, an individual polygon being defined by individual vertices of the individual polygon, the information defining the virtual space including vertex position information, the vertex position information comprising individual positions of individual vertices of the individual polygons, the individual positions being represented as vectors having vector components, individual values of the individual vector components being represented in floating-point format, the individual values being encoded in bits within the electronic storage; and

one or more physical processors configured by machine-readable instructions to:

identify a first set of polygons of the model of the virtual space, the first set of polygons having a first set of vertices, individual vertices in the first set of vertices having individual positions within the virtual space, the individual positions of the individual vertices in the first set of vertices being represent by individual values of the individual vector components;

obtain, from the non-transitory electronic storage, individual values of a subset of the vector components of the individual positions of the individual vertices of the first set of vertices, the individual values being encoded in a first quantity of bits;

normalize the individual values of the subset of vector components;

convert the individual normalized values to individual integer representations of the individual normalized values, the individual integer representations of the individual normalized values being encoded in a second quantity of bits, the second quantity of bits being less than the first quantity of bits;

identify individual portions of the encoded bits of the individual integer representations of the individual normalized values, such that, for individual integer representations of the individual normalized values, individual first portions and individual second portions of the encoded bits are identified, an individual first portion being a third quantity of bits and an individual second portion being a fourth quantity of bits; and

for individual vertices of the first set of vertices, effectuate storage of the individual first portions of the encoded bits of the individual integer representations as the encoded bits for the individual values of individual vector components included in the subset of vector components of the positions of the individual vertices in the first set of vertices of the first set of polygons, and effectuate storage of the individual second portions of the encoded bits of the individual integer representations as the encoded bits of an individual value of another one of the vector components not included in the subset of vector components.

2. The system of claim 1 , wherein normalizing individual values of the one or more vector components of the individual vertices of the first set of polygons is based on a bounding volume of the first set of polygons.

3. The system of claim 2 , wherein normalizing the individual values of the vector components of the vertices of the first set of polygons is based on a length of the bounding volume and a centroid of the bounding volume, the centroid having a centroid position in the virtual space, the centroid position being represented as a vector having vector components.

4. The system of claim 1 , wherein:

the vertex components of the individual vertices comprise a first vector component, a second vector component, a third vector component, and a fourth vector component;

the subset vector components includes the first vector component, the second vector component, and the third vector component; and

the other one of the vector components not included in the subset of vector components includes the fourth vector component.

5. The system of claim 4 , wherein the vertex components are defined with respect to a three-dimensional coordinate system, and wherein the fourth vector component is otherwise not used to encode information.

6. The system of claim 4 , wherein the vertex components are defined within a three-dimensional Cartesian coordinate system such that the first vector component is an x-component, the second vector component is a y-component, the third vector component is a z-component, and the fourth vector component is a w-component.

7. The system of claim 1 , wherein converting the individual normalized values to individual integer representations of the individual normalized values comprises one or more bitwise operations.

8. The system of claim 1 , wherein identifying individual portions of the encoded bits of the individual integer representations of the individual normalized values comprises identifying most significant bits and least significant bits.

9. The system of claim 1 , wherein an individual polygon is defined by an individual set of three vertices.

10. The system of claim 1 , wherein:

the individual values of the individual vector components are represented in single-precision floating-point format, such that the first quantity of bits is 32 bits;

the second quantity of bits for encoding the individual integer representations of the individual normalized values is 21 bits;

the third quantity of bits of the individual first portions of the encoded bits of the individual integer representations of the individual normalized values is 16 bits; and

the fourth quantity of bits of the individual second portions of the encoded bits of the individual integer representations of the individual normalized values is 5 bits.

11. A method of reducing storage requirements for storing information defining a virtual space, the method being implemented in a computer system comprising one or more physical processors and non-transitory electronic storage storing machine-readable instructions, the method comprising:

storing information defining a virtual space, the virtual space including virtual space content modeled as polygons, an individual polygon being defined by individual vertices of the individual polygon, the information defining the virtual space including vertex position information, the vertex position information comprising individual positions of individual vertices of the individual polygons, the individual positions being represented as vectors having vector components, individual values of the individual vector components being represented in floating-point format, the individual values being encoded in bits within the electronic storage; and

identifying a first set of polygons of the model of the virtual space, the first set of polygons having a first set of vertices, individual vertices in the first set of vertices having individual positions within the virtual space, the individual positions of the individual vertices in the first set of vertices being represent by individual values of the individual vector components;

obtaining, from the non-transitory electronic storage, individual values of a subset of the vector components of the individual positions of the individual vertices of the first set of vertices, the individual values being encoded in a first quantity of bits;

normalizing the individual values of the subset of vector components;

converting the individual normalized values to individual integer representations of the individual normalized values, the individual integer representations of the individual normalized values being encoded in a second quantity of bits, the second quantity of bits being less than the first quantity of bits;

identifying individual portions of the encoded bits of the individual integer representations of the individual normalized values, including, for individual integer representations of the individual normalized values, identifying individual first portions and individual second portions of the encoded bits, an individual first portion being a third quantity of bits and an individual second portion being a fourth quantity of bits; and

for individual vertices of the first set of vertices, storing the individual first portions of the encoded bits of the individual integer representations as the encoded bits for the individual values of individual vector components included in the subset of vector components of the positions of the individual vertices in the first set of vertices of the first set of polygons, and storing the individual second portions of the encoded bits of the individual integer representations as the encoded bits of an individual value of another one of the vector components not included in the subset of vector components.

12. The method of claim 11 , wherein normalizing individual values of the one or more vector components of the individual vertices of the first set of polygons is based on a bounding volume of the first set of polygons.

13. The method of claim 12 , wherein normalizing the individual values of the vector components of the vertices of the first set of polygons is based on a length of the bounding volume and a centroid of the bounding volume, the centroid having a centroid position in the virtual space, the centroid position being represented as a vector having vector components.

14. The method of claim 11 , wherein:

the vertex components of the individual vertices comprise a first vector component, a second vector component, a third vector component, and a fourth vector component;

the subset vector components includes the first vector component, the second vector component, and the third vector component; and

the other one of the vector components not included in the subset of vector components includes the fourth vector component.

15. The method of claim 14 , wherein the vertex components are defined with respect to a three-dimensional coordinate system, and wherein the fourth vector component is otherwise not used to encode information.

16. The method of claim 14 , wherein the vertex components are defined within a three-dimensional Cartesian coordinate system such that the first vector component is an x-component, the second vector component is a y-component, the third vector component is a z-component, and the fourth vector component is a w-component.

17. The method of claim 11 , wherein converting the individual normalized values to individual integer representations of the individual normalized values comprises performing one or more bitwise operations.

18. The method of claim 11 , wherein identifying individual portions of the encoded bits of the individual integer representations of the individual normalized values comprises identifying most significant bits and least significant bits.

19. The method of claim 11 , wherein an individual polygon is defined by an individual set of three vertices.

20. The method of claim 11 , wherein:

the individual values of the individual vector components are represented in single-precision floating-point format, such that the first quantity of bits is 32 bits;

the second quantity of bits for encoding the individual integer representations of the individual normalized values is 21 bits;

the third quantity of bits of the individual first portions of the encoded bits of the individual integer representations of the individual normalized values is 16 bits; and

the fourth quantity of bits of the individual second portions of the encoded bits of the individual integer representations of the individual normalized values is 5 bits.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2026
From: DISNEY ENTERPRISES, INC.
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075575/0145 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2016
From: SMITHERS, ANDI
To: DISNEY ENTERPRISES, INC.
Reel/Frame 039314/0868 →
Continuity (1)
Related Publication 20170371545A1 · Dec 28, 2017