News Column

Patent Issued for Method of Calculating 3D Object Data within Controllable Constraints for Fast Software Processing on 32 Bit RISC CPUS

September 10, 2014



By a News Reporter-Staff News Editor at Journal of Engineering -- From Alexandria, Virginia, VerticalNews journalists report that a patent by the inventor Russell, Stuart (Kanata, CA), filed on February 10, 2011, was published online on August 26, 2014.

The patent's assignee for patent number 8817074 is You I Labs, Inc. (Kanata, CA).

News editors obtained the following quote from the background information supplied by the inventors: "3D graphics requires a large amount of vertex data for objects to be processed from original, or object location, through camera positioning, perspective, and final transformation into 2D space for presentation to the viewer. Since the data is in 3 dimensional space, the standard Cartesian coordinate system (three perpendicular axis -X, Y, Z), as well as the spherical coordinate system (.rho., .theta., .phi.) may be used for representation.

"A point whose rectangular coordinates are given by (X, Y, Z) will have homogenous coordinates (X, Y, Z, 1) which can be represented by 4.times.4 matrices. This format allows for ease of representing the transformations required for scaling, rotating, and translating the coordinates from object space to final pixel (2D) space.

"When rendering an object or scene from 3D onto a 2D viewport the object coordinates must be transformed according to the camera's position and orientation and then projected onto a 2D plane. Transforming each coordinate requires a large amount of processing power.

"The processing requirements necessary to transform 3D points make 3D graphics difficult or expensive to provide on a mobile device, or other device having a limited processor capability. Therefore there is a need for an improved method and apparatus for processing 3D vertex data on computationally limited processors."

As a supplement to the background information on this patent, VerticalNews correspondents also obtained the inventor's summary information for this patent: "In accordance with the present disclosure there is provided a method for rendering 3-dimensional (3D) vertex data to a 2-dimensional (2D) viewport using integer based arithmetic of a 32-bit load store architecture processing unit lacking a floating-point processing unit (FPU). The method comprising receiving at the processing unit 3D vertex data comprising a plurality of vertices and connections between vertices conforming to coordinate processing constraints limiting a maximum length of the connections between vertices to 1/2 of a maximum vertex coordinate range of -2.sup.x to +2.sup.x; receiving at the processing unit a position of a camera to render the 3D vertex data from; culling from rendering to the 2D viewport each vertex of the plurality of vertices having a distance from the camera position along at least one axis greater than the maximum length constraint; and rendering to the 2D viewport remaining vertices using a transformation matrix comprising a plurality of values having a maximum value of 2.sup.y, wherein x+y

"In accordance with the present disclosure there is also provided a method of processing 3D vertex data to conform to coordinate processing constraints for further processing using integer arithmetic using a processor, the processor executing instructions stored in a memory implementing the method comprising receiving 3D vertex data comprising a plurality of vertices and connections; adding one or more vertices to the 3D vertex data to subdivide connections between two vertices so that the all connections have a maximum size determined by a maximum length constraint of 215; and assigning each of the vertices of 3D data to at least one respective processing zone of a plurality of processing zones, wherein the 3D vertex data is provided to a 32-bit load store architecture processor lacking a floating-point processing unit (FPU).for rendering to a 2D viewport.

"In accordance with the present disclosure there is also provided a device for rendering 3D vertex data, the device comprising: a display for displaying information; a 32-bit load-store architecture processor lacking a floating-point processing unit (FPU) for executing instructions; a memory for storing instructions that when executed by the processor configure the device to implement a method of processing 3D vertex data for rendering to the display using integer arithmetic comprising: receiving at the processing unit 3D vertex data comprising a plurality of vertices and connections between vertices conforming to coordinate processing constraints limiting a maximum length of the connections between vertices to a maximum length constraint of -2.sup.x to +2.sup.x; receiving at the processing unit a position of a camera to render the 3D vertex data from; culling from rendering to the 2D viewport each vertex of the plurality of vertices having a distance from the camera position along at least one axis greater than the maximum length constraint; and rendering to the 2D viewport remaining vertices using a transformation matrix comprising a plurality of values having a maximum value of 2.sup.y; wherein x+y

"In accordance with the present disclosure there is also provided a device for processing 3D vertex data, the device comprising: a processor for executing instructions; and a memory for storing instructions that when executed by the processor configure the device to implement a method of pre-processing 3D vertex data for eventual rendering to a display of a device having a 32-bit load-store architecture processor lacking a floating-point processing unit (FPU), the method comprising: receiving 3D vertex data comprising a plurality of vertices and connections; adding one or more vertices to the 3D vertex data to subdivide connections between two vertices so that the all connections have a maximum size determined by a maximum length constraint of 2.sup.15; and assigning each of the vertices of 3D data to at least one respective processing zone of a plurality of processing zones; wherein the 3D vertex data is provided to a 32-bit load store architecture processor lacking a floating-point processing unit (FPU).for rendering to a 2D viewport."

For additional information on this patent, see: Russell, Stuart. Method of Calculating 3D Object Data within Controllable Constraints for Fast Software Processing on 32 Bit RISC CPUS. U.S. Patent Number 8817074, filed February 10, 2011, and published online on August 26, 2014. Patent URL: http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=8817074.PN.&OS=PN/8817074RS=PN/8817074

Keywords for this news article include: Software, You I Labs, You I Labs Inc.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC


For more stories covering arts and entertainment, please see HispanicBusiness' Arts & Entertainment Channel



Source: Journal of Engineering


Story Tools






HispanicBusiness.com Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters