CA2479240A1 - Data aware clustered architecture for an image generator - Google Patents

Data aware clustered architecture for an image generator Download PDF

Info

Publication number
CA2479240A1
CA2479240A1 CA002479240A CA2479240A CA2479240A1 CA 2479240 A1 CA2479240 A1 CA 2479240A1 CA 002479240 A CA002479240 A CA 002479240A CA 2479240 A CA2479240 A CA 2479240A CA 2479240 A1 CA2479240 A1 CA 2479240A1
Authority
CA
Canada
Prior art keywords
data
substructure
progressive
active
data structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002479240A
Other languages
French (fr)
Other versions
CA2479240C (en
Inventor
David L. Morgan, Iii
Ignacio Sanz-Pastor
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aechelon Technology Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2479240A1 publication Critical patent/CA2479240A1/en
Application granted granted Critical
Publication of CA2479240C publication Critical patent/CA2479240C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Abstract

A data aware clustered system architecture is described for an image generation system (Fig. 2). The architecture leverages commodity personal computers (209) to provide the processing capability of the image generator such as may be used in a flight simulator. The architecture supports a data pipeline (202, 208, 210 ~) for processing stages of a progressive data structure for the transformation of data from abstract to a more concrete form for the generation of an image. The architecture provides a multi-staged data flow that extends transparently from a single node system to multiple CPUs in a single node system, to multiple nodes in a clustered system or to multiple CPUs on each node of a clustered system.

Claims (38)

1. A system for processing different versions of a progressive data structure in a data pipeline in an image generation system, the progressive data structure comprising attributes for one or more components of a scene and having a format comprising a header section with a table having one or more pointers to one or more data substructures, the system comprising:
a computer system having a programmable processor, a graphics pipeline subsystem communicatively coupled via a communication infrastructure to the processor, and a memory accessible via the communication infrastructure to the processor and the graphics pipeline;
a progressive data builder module being stored in said memory comprising instructions for execution by the computer system for determining whether each substructure in a first progressive structure is active, and for, responsive to the substructure being active, performing rendering computations producing resulting rendering data.
2. The system of claim 1 wherein the progressive data builder further comprises instructions for execution by the computer system for, responsive to the substructure being active, storing the resulting rendering data for the substructure in a second progressive data structure, and for, responsive to the substructure not being active, setting a pointer to the substructure to a special value in the second progressive data structure.
3. A method for processing different versions of a progressive data structure in a data pipeline in an image generation system, the progressive data structure comprising attributes for one or more components of a scene and having a format comprising a header section with a table having one or more pointers to one or more data substructures, the method comprising:
determining whether each substructure in a first progressive structure is active; and responsive to the substructure being active, performing rendering computations producing resulting rendering data.
4. The method of claim 3 further comprising:

responsive to the substructure being active, storing the resulting rendering data for the substructure in a second progressive data structure;
and responsive to the substructure not being active, setting a pointer to the substructure to a special value in the second progressive data structure.
5. A system for processing different versions of a progressive data structure in a data pipeline in an image generation system, the progressive data structure comprising attributes for one or more components of a scene and having a format comprising a header section with a table having one or more pointers to one or more data substructures, the system comprising:
means for determining whether each substructure in a first progressive structure is active; and means for, responsive to the substructure being active, performing rendering computations producing resulting rendering data.
6. The system of claim 5 further comprising:
means for, responsive to the substructure being active, storing the resulting rendering data for the substructure in a second progressive data structure; and means for, responsive to the substructure not being active, setting a pointer to the substructure to a special value in the second progressive data structure.
7. A computer usable medium comprising instructions embodied thereon for performing a method for processing different versions of a progressive data structure in a data pipeline in an image generation system, the progressive data structure comprising attributes for one or more components of a scene and having a format comprising a header section with a table having one or more pointers to one or more data substructures, the method comprising:
determining whether each substructure in a first progressive structure is active; and responsive to the substructure being active, performing rendering computations producing resulting rendering data.
8. The computer usable medium of claim 7 further comprising instructions embodied thereon for performing:
responsive to the substructure being active, storing the resulting rendering data for the substructure in a second progressive data structure;
and responsive to the substructure not being active, setting a pointer to the substructure to a special value in the second progressive data structure.
9. A method for processing different versions of a progressive data structure in a data pipeline in an image generation system, the progressive data structure comprising attributes for one or more components of a scene and having a format comprising a header section with a table having one or more pointers to one or more data substructures comprising:
formatting incoming data having attributes for one or more components of a scene into a first stage progressive data structure including a substructure having attributes for one or more components of the scene;
determining whether each substructure in the first stage progressive structure is active or not for a current frame;
responsive to the substructure not being active, setting a pointer to the substructure to a special value in a second stage progressive data structure;
and responsive to the substructure being active, performing rendering computations producing resulting rendering data, and storing the resulting rendering data for the substructure in the second stage progressive data structure.
10. The method of claim 9 wherein formatting incoming data further comprises formatting current viewpoint data in the incoming data into one or more substructures of the first stage progressive data structure.
11. The method of claim 10 further comprising locating current viewpoint data in the second stage progressive data structure; and determining memory locations in a graphics database for data in a displayable vicinity of a current viewpoint for the frame.
12. The method of claim 11 further comprising:
retrieving the data in the vicinity of the current viewpoint; and transferring the retrieved data to a memory accessible by one or more channels.
13. The method of claim 11 further comprising:
responsive to the data in the vicinity of the current viewpoint having changed from a previous retrieval, retrieving the data in the vicinity of the current viewpoint; and transferring the retrieved data to a memory accessible by one or more channels.
14. The method of claim 9 further comprising:

identifying an intersection request within a substructure of the second stage progressive structure;
for each substructure in the second stage structure eligible for the intersection request, storing the eligible substructure in an intersection progressive data structure;
for each substructure in the second stage structure ineligible for the intersection request, setting the pointer to each ineligible substructure to a special value within the intersection progressive structure;
for the identified intersection request, performing an intersection analysis based on the substructures eligible for the request resulting in intersection data; and building a subsequent second stage progressive structure based upon the intersection data.
15. The method of claim 9 further comprising:
determining channel view parameters;
determining whether a substructure in the second stage structure is active or not based upon the channel view parameters;
responsive to the substructure not being active, setting a pointer to the substructure to a special value in a rendering progressive data structure; and responsive to the substructure being active, performing rendering computations for the substructure and storing resulting rendering data for the substructure in the rendering progressive data structure, the resulting rendering data having a format usable by a graphics pipeline.
16. A system for processing different versions of a progressive data structure in a data pipeline in an image generation system, the progressive data structure comprising attributes for one or more components of a scene and having a format comprising a header section with a table having one or more pointers to one or more data substructures comprising:
a computer system having a programmable processor, a graphics pipeline communicatively coupled via a communication infrastructure to the processor, and a memory accessible via the communication infrastructure to the processor and the graphics pipeline;
a first stage progressive data builder module being stored in said memory comprising instructions for execution by the computer system for formatting incoming data having attributes for one or more components of a scene into a first stage progressive data structure including a substructure having attributes for one or more components of the scene; and a second stage progressive builder module being stored in said memory comprising instructions for execution by the computer system for determining whether each substructure in the first stage progressive structure is active or not for a current frame, responsive to the substructure not being active, setting a pointer to the substructure to a special value in a second stage progressive data structure, responsive to the substructure being active, performing rendering computations producing resulting rendering data, and storing the resulting rendering data for the substructure in the second stage progressive data structure.
17. The system of claim 16 further comprising a builder module for data retrieval being stored in said memory comprising instructions for execution by the computer system for locating current viewpoint data in the second stage progressive data structure, and determining memory locations in a graphics database for data in a displayable vicinity of a current viewpoint for the frame.
18. The system of claim 17 wherein the builder module for data retrieval further comprises instructions for retrieving the data in the vicinity of the current viewpoint, and transferring the retrieved data to a memory accessible by one or more channels.
19. The system of claim 17 wherein the builder module for data retrieval further comprises responsive to the data in the vicinity of the current viewpoint having changed from a previous retrieval, retrieving the data in the vicinity of the current viewpoint, and transferring the retrieved data to a memory accessible by one or more channels.
20. The system of claim 16 further comprising:
a builder module being stored in said memory comprising instructions for execution by the computer system for identifying an intersection request within a substructure of the second stage progressive structure, for each substructure in the second stage structure eligible for the intersection request, storing the eligible substructure in an intersection progressive data structure, for each substructure in the second stage structure ineligible for the intersection request, setting the pointer to each ineligible substructure to a special value within the intersection progressive structure; and an intersection unit being stored in said memory comprising instructions for execution by the computer system for performing an intersection analysis for the identified intersection request based on the substructures eligible for the request resulting in intersection data.
21. The system of claim 16 further comprising a rendering builder module being stored in said memory comprising instructions for execution by the computer system for determining channel view parameters, determining whether a substructure in the second stage structure is active or not based upon the channel view parameters, responsive to the substructure not being active, setting a pointer to the substructure to a special value in a rendering progressive data structure, and responsive to the substructure being active, performing rendering computations for the substructure and storing resulting rendering data for the substructure in the rendering progressive data structure, the resulting rendering data having a format usable by a graphics pipeline.
22. A system for processing different versions of a progressive data structure in a data pipeline in an image generation system, the progressive data structure comprising attributes for one or more components of a scene and having a format comprising a header section with a table having one or more pointers to one or more data substructures comprising:
means for formatting incoming data having attributes for one or more components of a scene into a first stage progressive data structure including a substructure having attributes for one or more components of the scene;
means for determining whether each substructure in the first stage progressive structure is active or not for a current frame;
means for, responsive to the substructure not being active, setting a pointer to the substructure to a special value in a second stage progressive data structure; and means for, responsive to the substructure being active, performing rendering computations producing resulting rendering data, and storing the resulting rendering data for the substructure in the second stage progressive data structure.
23. The system of claim 22 wherein the means for formatting incoming data further comprises means for formatting current viewpoint data in the incoming data into one or more substructures of the first stage progressive data structure.
24. The system of claim 23 further comprising means for locating current viewpoint data in the second stage progressive data structure; and means for determining memory locations in a graphics database for data in a displayable vicinity of a current viewpoint for the frame.
25. The system of claim 24 further comprising:
means for retrieving the data in the vicinity of the current viewpoint; and means for transferring the retrieved data to a memory accessible by one or more channels.
26. The system of claim 24 further comprising:
means for, responsive to the data in the vicinity of the current viewpoint having changed from a previous retrieval, retrieving the data in the vicinity of the current viewpoint; and means for transferring the retrieved data to a memory accessible by one or more channels.
27. The system of claim 22 further comprising:
means for identifying an intersection request within a substructure of the second stage progressive structure;
means for, for each substructure in the second stage structure eligible for the intersection request, storing the eligible substructure in an intersection progressive data structure;
means for, for each substructure in the second stage structure ineligible for the intersection request, setting the pointer to each ineligible substructure to a special value within the intersection progressive structure; and means for, for the identified intersection request, performing an intersection analysis based on the substructures eligible for the request resulting in intersection data.
28. The system of claim 22 further comprising:
means for determining channel view parameters;
means for determining whether a substructure in the second stage structure is active or not based upon the channel view parameters;
means for, responsive to the substructure not being active, setting a pointer to the substructure to a special value in a rendering progressive data structure; and means for, responsive to the substructure being active, performing rendering computations for the substructure and storing resulting rendering data for the substructure in the rendering progressive data structure, the resulting rendering data having a format usable by a graphics pipeline.
29 29. An image generation system comprising:
a plurality of nodes networked in a clustered system architecture, the plurality of nodes including a front end node having a data interface for communication with the image generation system, and one or more back end nodes for performing different functions related to image generation;
the plurality of nodes being networked via a progressive data structure network for the communication from the front end node to the one or more back end nodes of data having a progressive data structure format, the format comprising a header section with a table having one or more pointers to one or more data substructures; and the plurality of nodes being networked via a system network for the communication of data including status data.
30. The image generation system of claim 29 wherein the data of the progressive data structure network is transmitted using a multicast transmission data protocol.
31. The image generation system of claim 29 wherein the data of the progressive data structure network is transmitted using a broadcast transmission data protocol.
32. The image generation system of claim 29 wherein the front end node comprises:
a first stage progressive data builder module for formatting incoming data having attributes for one or more components of a scene into a first stage progressive data structure including a substructure having attributes for one or more components of the scene;
a second stage progressive builder module for determining whether each substructure in the first stage progressive structure is active or not for a current frame, responsive to the substructure not being active, setting a pointer to the substructure to a special value in a second stage progressive data structure, responsive to the substructure being active, performing rendering computations producing resulting rendering data, and storing the resulting rendering data for the substructure in the second stage progressive data structure; and the front-end node transmitting the second stage structure to the back-end node via the progressive data structure network.
33. The system of claim 32 wherein a back-end node comprises:
a builder module for traversing the second stage structure resulting in a set of data; and a functional module for performing processing based on the set of data.
34. The system of claim 33 wherein the front end node comprises a computer system, comprising a plurality of programmable processors and a graphics pipeline subsystem, a first programmable processor of the plurality executing the first stage builder and a second programmable processor of the plurality executing the second stage builder.
35. The system of claim 33 wherein one of the back end nodes comprises a computer system, comprising a plurality of programmable processors, a first programmable processor of the plurality executing the builder and a second programmable processor executing the functional module.
36. The system of claim 29 wherein the plurality of nodes comprises a data retrieval node and a rendering node networked in a third network providing asynchronous database access.
37. In an image generation system, a computer usable medium comprising a data structure for organizing data for the rendering of one or more image components, the data structure comprising a progressive data structure having a format comprising a header section having a table having one or more pointers to one or more data substructures, the data substructures including a substructure having attributes for one or more components of a scene
38. A data transmission medium having a data structure for organizing data for the rendering of one or more image components in an image generation system, the data structure comprising:
a progressive data structure having a format comprising a header section having a table having one or more pointers to one or more data substructures, the data substructures including a substructure having attributes for one or more components of a scene.
CA2479240A 2002-03-19 2003-03-19 Data aware clustered architecture for an image generator Expired - Fee Related CA2479240C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/102,421 US6714203B1 (en) 2002-03-19 2002-03-19 Data aware clustered architecture for an image generator
US10/102,421 2002-03-19
PCT/US2003/008798 WO2003081445A1 (en) 2002-03-19 2003-03-19 Data aware clustered architecture for an image generator

Publications (2)

Publication Number Publication Date
CA2479240A1 true CA2479240A1 (en) 2003-10-02
CA2479240C CA2479240C (en) 2010-08-10

Family

ID=28452349

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2479240A Expired - Fee Related CA2479240C (en) 2002-03-19 2003-03-19 Data aware clustered architecture for an image generator

Country Status (4)

Country Link
US (2) US6714203B1 (en)
AU (1) AU2003220459A1 (en)
CA (1) CA2479240C (en)
WO (1) WO2003081445A1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7796133B1 (en) 2002-11-18 2010-09-14 Ati Technologies Ulc Unified shader
US7061495B1 (en) * 2002-11-18 2006-06-13 Ati Technologies, Inc. Method and apparatus for rasterizer interpolation
US8933945B2 (en) * 2002-11-27 2015-01-13 Ati Technologies Ulc Dividing work among multiple graphics pipelines using a super-tiling technique
US7633506B1 (en) 2002-11-27 2009-12-15 Ati Technologies Ulc Parallel pipeline graphics system
US7180529B2 (en) * 2002-12-19 2007-02-20 Eastman Kodak Company Immersive image viewing system and method
US20050091279A1 (en) * 2003-09-29 2005-04-28 Rising Hawley K.Iii Use of transform technology in construction of semantic descriptions
US20050206648A1 (en) * 2004-03-16 2005-09-22 Perry Ronald N Pipeline and cache for processing data progressively
US7673060B2 (en) * 2005-02-01 2010-03-02 Hewlett-Packard Development Company, L.P. Systems and methods for providing reliable multicast messaging in a multi-node graphics system
US7710418B2 (en) * 2005-02-04 2010-05-04 Linden Acquisition Corporation Systems and methods for the real-time and realistic simulation of natural atmospheric lighting phenomenon
US20060178758A1 (en) * 2005-02-08 2006-08-10 Israel Aircraft Industries Ltd. Training methods and systems
US9213519B2 (en) * 2005-02-28 2015-12-15 Hewlett-Packard Development Company L.P. Systems and methods for evaluating the operation of a multi-node graphics system
US20070097106A1 (en) * 2005-11-03 2007-05-03 Honeywell International Inc. Constant point in space lateral map lighting
US20070229520A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Buffered Paint Systems
US20070236502A1 (en) * 2006-04-07 2007-10-11 Huang Paul C Generic visualization system
US8776188B2 (en) * 2008-03-13 2014-07-08 Microsoft Corporation Remote desktop access
KR101361270B1 (en) * 2009-12-23 2014-02-11 한국전자통신연구원 Method and apparatus for providing iptv reception information over hfc network
US10799797B2 (en) * 2018-08-02 2020-10-13 Wargaming.Net Limited Expanding progression in a video game

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5101493A (en) * 1989-06-19 1992-03-31 Digital Equipment Corporation Digital computer using data structure including external reference arrangement
JP2839943B2 (en) * 1990-08-10 1998-12-24 富士通株式会社 Image data restoration method and apparatus
US5819283A (en) * 1993-05-11 1998-10-06 Apple Computer, Inc. Method and system for the extensibility of objects
US5995996A (en) * 1993-06-15 1999-11-30 Xerox Corporation Pipelined image processing system for a single application environment
US6393495B1 (en) * 1995-11-21 2002-05-21 Diamond Multimedia Systems, Inc. Modular virtualizing device driver architecture
US5963209A (en) * 1996-01-11 1999-10-05 Microsoft Corporation Encoding and progressive transmission of progressive meshes
US5991465A (en) * 1996-08-29 1999-11-23 Apple Computer, Inc. Modular digital image processing via an image processing chain with modifiable parameter controls
US5987458A (en) * 1996-09-26 1999-11-16 Lockheed Martin Corporation Automated cable schematic generation
US6154215A (en) * 1997-08-01 2000-11-28 Silicon Graphics, Inc. Method and apparatus for maintaining multiple representations of a same scene in computer generated graphics
JPH11120185A (en) * 1997-10-09 1999-04-30 Canon Inc Information processor and method therefor
US6023704A (en) * 1998-01-29 2000-02-08 International Business Machines Corporation Apparatus and method for swapping identities of two objects to reference the object information of the other
US6075540A (en) * 1998-03-05 2000-06-13 Microsoft Corporation Storage of appearance attributes in association with wedges in a mesh data model for computer graphics
US6292200B1 (en) * 1998-10-23 2001-09-18 Silicon Graphics, Inc. Apparatus and method for utilizing multiple rendering pipes for a single 3-D display
US6753878B1 (en) * 1999-03-08 2004-06-22 Hewlett-Packard Development Company, L.P. Parallel pipelined merge engines
JP2002095018A (en) * 2000-09-12 2002-03-29 Canon Inc Image display controller, image display system and method for displaying image data

Also Published As

Publication number Publication date
AU2003220459A1 (en) 2003-10-08
CA2479240C (en) 2010-08-10
US6940513B2 (en) 2005-09-06
US20040169657A1 (en) 2004-09-02
US6714203B1 (en) 2004-03-30
WO2003081445A1 (en) 2003-10-02

Similar Documents

Publication Publication Date Title
CA2479240A1 (en) Data aware clustered architecture for an image generator
CN109492040B (en) System suitable for processing mass short message data in data center
US10346156B2 (en) Single microcontroller based management of multiple compute nodes
US10200460B2 (en) Server-processor hybrid system for processing data
CN101453488B (en) Memory to memory communication and storage for hybrid systems
TW200921432A (en) Query execution and optimization utilizing a combining network in a parallel computer system
CN106982356B (en) Distributed large-scale video stream processing system
CN107016027A (en) The method and apparatus for realizing business information fast search
CN101277272A (en) Method for implementing magnanimity broadcast data warehouse-in
US20090150556A1 (en) Memory to storage communication for hybrid systems
CN110134737A (en) Data variation monitor method and device, electronic equipment and computer readable storage medium
CN111259022A (en) Information synchronization method, synchronization system, computer equipment and medium
CN109189347A (en) A kind of sharing storage module, server and system
CN111352951A (en) Data export method, device and system
CN111666344A (en) Heterogeneous data synchronization method and device
US20040139144A1 (en) Using web services to access computational grids by non-members of the grid
CN111314495A (en) Communication method, device, equipment, storage medium and system based on LoRaWAN of Internet of things
US6011871A (en) Method and apparatus for compressing digital data
CN203377910U (en) Mass high-speed remote-sensing data real-time baseband processing system
KR20220028875A (en) Distributed Processing Technique for Small-scale Distributed Resource Brokerage Platform
Zhang et al. Artificial intelligence and big data driven digital media design
CN111241044A (en) Method, device and equipment for building heterogeneous database and readable storage medium
CN114745438B (en) Cache data processing method, device and system of multi-data center and electronic equipment
CN107645499A (en) The rearward end frame and its protocol implementing method of a kind of distributed memory system
JP2941293B2 (en) High-speed still image transfer method

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20160321

MKLA Lapsed

Effective date: 20160321