(12) United States Patent (10) Patent No.: US 9,036,898 B1 Beeler Et Al

Total Page:16

File Type:pdf, Size:1020Kb

(12) United States Patent (10) Patent No.: US 9,036,898 B1 Beeler Et Al USOO9036898B1 (12) United States Patent (10) Patent No.: US 9,036,898 B1 Beeler et al. (45) Date of Patent: May 19, 2015 (54) HIGH-QUALITY PASSIVE PERFORMANCE 2009.0153655 A1 6/2009 Ike et al. ......................... 348,77 CAPTURE USING ANCHOR FRAMES 2010.0189342 A1* 7, 2010 Parr et al. ...................... 382,154 2010/0284607 A1* 1 1/2010 Van Den Hengel et al. ... 382/154 (75) Inventors: Thabo Beeler, Zurich (CH); Bernd OTHER PUBLICATIONS Bickel, Zurich (CH); Fabian Hahn, Regensdorf (CH); Derek Bradley, High Resolution Passive Facial Performance Capture. Derek Brad Zurich (CH); Paul Beardsley, Zurich eXander,Wigg ... Hsieh,This 6 e digital RP emilys Allaproject: Sheth photoreal Iacia (CH), Bob Sumner, Zurich (CH): modeling and animation.” ACM SIGGRAPH, 2009, Courses 1-15. Markus Gross, Zurich (CH) Anuar, N., et al., “Extracting animated meshes with adaptive motion (73) Assi DISNEY ENTERPRISES INC estimation.” Proc. Vision, Modeling, and Visualization, 2004, pp. SS1gnee: 9 es 63-71 Burbank, CA (US) Beeler, T., et al., "High-quality single-shot capture of facial geom etry.” ACM Trans. Graphics, 2010, Proc. SIGGRAPH, 9 pages. (*) Notice: Subject to any disclaimer, the term of this (Continued) patent is extended or adjusted under 35 U.S.C. 154(b) by 535 days. Primary Examiner — Stephen R Koziol 21) Appl. No.: 13/287,774 Assistant Examiner — Delomia Gilliard (21) Appl. No.: 9 (74) Attorney, Agent, or Firm — Kilpatrick Townsend & (22) Filed: Nov. 2, 2011 Stockton LLP Related U.S. Application Data (57) ABSTRACT High-quality passive performance capture using anchor (60) Provisional application No. 61/433,926, filed on Jan. frames derives in part from a robust tracking algorithm. 18, 2011. Tracking is performed in image space and uses an integrated result to propagate a single reference mesh to performances (51) G06TInt. Cl. I7/00 (2006.01) represented in the image space. Image-space tracking is com puted for each camera in multi-camera setups. Thus, multiple (52) U.S. Cl. hypotheses can be propagated forward in time. If one flow CPC - - - - - - - - - - - - - - grgr. G06T 1700 (2013.01) computation develops inaccuracies, the others can compen (58) Field of Classification Search sate. This yields results Superior to mesh-based tracking tech CPC ....................................................... GO6T 17/OO niques because image data typically contains much more USPC . ... 382/154 detail, facilitating more accurate tracking. Moreover, the See application file for complete search history. problem of error propagation due to inaccurate tracking in (56) Ref Cited image space can be dealt with in the same domain in which it eerees e occurs. Therefore, there is less complication of distortion due to parameterization, a technique used frequently in mesh U.S. PATENT DOCUMENTS processing algorithms. 2009, OOO3686 A1* 1/2009 Gu ................................ 382,154 2009, OO16435 A1* 1/2009 Brandsma et al. ....... 375,240.12 21 Claims, 20 Drawing Sheets IMAGE ACQUISETION STAGE20 MESHRE CONSERUCON STAGE 220 WESH REFINEMENT STAGE260 N PROPAGATION STAGE 250 FRAME SEQUENCE US 9,036,898 B1 Page 2 (56) References Cited Ma, W., et al., “Facial performance synthesis using deformation driven polynomial displacement maps.” ACM Trans. Graphics, 2008, OTHER PUBLICATIONS Proc. SIGGRAPH Asia, vol. 27, No. 5, 10 pages. Pighin, F. H., et al., “Resynthesizing facial animation through 3d Bickel, B., et al., “Multi-scale capture of facial geometry and model-based tracking.” ICCV, 1999, pp. 143-150. motion.” ACM Trans. Graphics, 2007, Proc. SIGGRAPH, vol.33, pp. Popa, T., et al., “Globally consistent space-time reconstruction.” 10 pages. Eurographics Symposium on Geometry Processing, 2010, 10 pages. Blanz, V., et al., “Reanimating faces in images and video. Computer Rav-Acha, A., et al., “Unwrap mosaics: A new representation for Graphics Forum, 2003, Proc. Eurographics, vol. 22, No. 3, pp. 641 video editing.” ACM Transactions on Graphics, 2008, SIGGRAPH 650. Aug. 2008, 12 pages. Bradley, D., et al., “High resolution passive facial performance cap Sumner, R. W., et al., “Deformation transfer for triangle meshes.” ture.” ACM Trans. Graphics, 2010, Proc. SIGGRAPH, pp. 10 pages. ACM Trans Graph., 2004, vol. 23, pp. 399-405. Decarlo, D., et al., “The integration of optical flow and deformable Wand, M., et al., “Efficient reconstruction of nonrigid shape and models with applications to human face shape and motion estima motion from real-time 3d scanner data.” ACM Trans. Graph, 2009, tion.” CVPR, 1996, vol. 231, pp. 8 pages. vol. 28, No. 2, pp. 1-15. Essa, I., et al., “Modeling, tracking and interactive animation of faces Wang.Y., et al., “High resolution acquisition, learning and transfer of and heads using input from video. Proceedings of Computer Ani dynamic 3-d facial expressions.” Computer Graphics Forum, 2004, mation, 1996, vol. 68, pp. 12 pages. vol. 23, No. 3, pp. 677-686. Furukawa, Y, et al., “Dense 3d motion capture for human faces.” Williams, L., “Performance-driven facial animation.” Computer CVPR, 2009, pp. 8 pages. Graphics, 1990, Proceedings of SIGGRAPH 90, vol. 24, pp. 235 Guenter, B., et al., “Making faces.” Computer Graphics, 1998, ACM 242. Press, New York, SIGGRAPH 98 Proceedings, pp.55-66. Winkler, T., et al., “Mesh massage.” The Visual Computer, 2008, vol. Hernandez, C., et al., “Self-calibrating a real-time monocular 3d 24, pp. 775-785. facial capture system.” Proceedings International Symposium on 3D Zhang, L., et al., “Spacetime faces: High resolution capture for mod Data Processing, Visualization and Transmission, 2010, pp. 8 pages. eling and animation.” ACM Transactions on Graphics, 2004, vol. 23. Kraevoy, V., et al., “Cross-parameterization and compatible remesh No. 3, pp. 548-558. ing of 3d models.” ACM Trans. Graph., 2004, vol. 23, pp. 861-869. Ekman, Paul, et al., “Facial Action Coding System. The Manual on Li, H., et al., “3-d motion estimation in model-based facial image CD Rom, HTML Demonstration Version.” online), published by A coding.” IEEE Trans. Pattern Anal. Mach. Intell., 1993, vol. 15, No. Human Face, 2002, ISBN 0-93.1835-01-1, retrieved on Oct. 3, 6, pp. 545-555. 2013, retrieved from the internet:<URL: http://face-and-emotion. Lin, I. C., et al., “Mirror mocap: Automatic and efficient capture of com/datafaceffacs/manual.html <, 8 pages. dense 3d facial motion parameters from video,” 2005. The Visual Computer, vol. 21, No. 6, pp. 355-372. * cited by examiner U.S. Patent May 19, 2015 Sheet 1 of 20 US 9,036,898 B1 OBJECT MODELING SYSTEM(S) 130 OBJECT ARTICULATON SYSTEM(S) 140 OBJECT DESGN ANMATON COMPUTER(S) SYSTEM(S) 110 150 OBJECT SMUATION SYSTEM(S) 160 OBJECT BRARES 120 OBJECT RENDERING SYSTEM(S) 170 F.G. 1 U.S. Patent May 19, 2015 Sheet 2 of 20 US 9,036,898 B1 U.S. Patent May 19, 2015 Sheet 3 of 20 US 9,036,898 B1 BEGIN 310 CAPTURE PERFORMANCE TO GENERATE A SEOUENCE OF FRAMES 320 IDENTFY OBJECTS IN EACH FRAME IN THE 330 SEOUENCE OF FRAMES GENERATE GEOMETRY FOREACH IDENT FED 340 OBJECT STORE GEOMETRY GENERATED FOREACH 350 DENT FED OBJECT END 360 FIG. 3 U.S. Patent May 19, 2015 Sheet 4 of 20 US 9,036,898 B1 ( 400 BEGIN 410 DETERMINE AREFERENCE FRAME INA SEOUENCE OF FRAMES CAPTURING A 420 PERFORMANCE IDENTIFY ANCHOR FRAMES INSEQUENCE OF FRAMES BASED ON REFERENCE FRAME 430 GENERATE CPS BASED ON ANCHOR FRAMES 440 STORE GENERATED CPS 450 END 460 FG. 4 U.S. Patent May 19, 2015 Sheet 5 of 20 US 9,036,898 B1 BEGIN 510 DETERMNE FEATURE SET OF REFERENCE FRAME 520 RECEIVE PLURALITY OF TARGET FRAMES 530 PERFORM CORRESPONDENCE MATCHING BETWEEN FEATURE SET OF REFERENCE 540 FRAME AND EACH TARGET FRAME DETERMINE AMOUNT OF CORRESPONDENCE BETWEEN FEATURE SET OF REFERENCE 550 FRAME AND EACH TARGET FRAME GENERATE INFORMATION DENTFYING EACH TARGET FRAMEAS AN ANCHOR FRAME WHEN AMOUNT OF CORRESPONDENCE SATSFES 560 SELECTION CRITERA END 570 F.G. 5 U.S. Patent May 19, 2015 Sheet 6 of 20 US 9,036,898 B1 §§§§ 9' 099 & 8:008 ca. U.S. Patent May 19, 2015 Sheet 7 of 20 US 9,036,898 B1 Y-s s S U.S. Patent May 19, 2015 Sheet 8 of 20 US 9,036,898 B1 ( 800 BEGIN 810 RECEIVE PLURALITY OF CPS 820 FOREACH CLP N THE PLURALITY OF CLIPS, PERFORM IMAGE-SPACE TRACKING BETWEEN 830 REFERENCE FRAME AND ANCHOR FRAMES OF CLIP TO GENERATE MOTON ESTIMATION FOREACH CLP IN THE PLURALITY OF CLIPS, PERFORM IMAGE-SPACE TRACKING BETWEEN REFERENCE FRAME AND UNANCHOREO 840 FRAMES OF CLP TO GENERATE MOTON ESTEMATON GENERATE TRACKING INFORMATION FOR 850 EACH CIPN THE PLURALITY OF CPS END 860 FG. 8 U.S. Patent May 19, 2015 Sheet 9 of 20 US 9,036,898 B1 BEGIN 910 PERFORM FEATURE MATCHING BETWEEN REFERENCE FRAME AND ANCHOR FRAME OF A CP TO GENERATE FORWARD MOTION 920 ESTMATON AND BACKWARD MOTION ESTMATON FTER FEATURE MATCHES BASED ON 930 SELECTION CRITERA PERFORM RE-MATCHING OF UNMATCHED 940 FEATURES PERFORM MATCH REFINEMENT 950 GENERATE FEATURE TRACKING INFORMATION 96.O FROM REFERENCE FRAME TO ANCHOR FRAME END 970 FIG. 9 U.S. Patent May 19, 2015 Sheet 10 of 20 US 9,036,898 B1 (? 1000 BEGIN 1010 PERFORM INCREMENTAL FRAME-BY-FRAME FEATURE MATCHING FROMA PRECEONG ANCHOR FRAME TO AN. UNANCHORED FRAME 1 O2O OF ACLIP TO GENERATE FORWARD MOTON ESTIMATON PERFORM MATCH REFINEMENT 1030 PERFORM INCREMENTAL FRAME-BY-FRAME FEATURE MATCHING FROMA SUCCEEONG ANCHOR FRAME TO THE UNANCHORED FRAME 1040 OF ACP TO GENERATE BACKWARD MOTION ESTIMATON PERFORM MATCH REFINEMENT 1050 CHOOSE FORWARD MOTON EST MATONOR BACKWARD MOTON ESTMATON BASED ON 1060 SELECTION CRITERA GENERATE FEATURE TRACKING INFORMATION FROMANCHOR FRAME TO THE UNANCHORED 1070 FRAME END 108O FIG 10 U.S. Patent May 19, 2015 Sheet 11 of 20 US 9,036,898 B1 U.S.
Recommended publications
  • HELLAS: a Specialized Architecture for Interactive Deformable Object Modeling
    HELLAS: A Specialized Architecture for Interactive Deformable Object Modeling Shrirang Yardi Benjamin Bishop Thomas Kelliher Department of Electrical and Department of Computing Department of Mathematics Computer Engineering Sciences and Computer Science Virginia Tech University of Scranton Goucher College Blacksburg, VA Scranton, PA Baltimore, MD [email protected] [email protected] [email protected] ABSTRACT more realistic models, it is likely that the computational Applications involving interactive modeling of deformable resources required by these simulations may continue to ex- objects require highly iterative, floating-point intensive nu- ceed those provided by the incremental advances in general- merical simulations. As the complexity of these models in- purpose systems [12]. This has created an interest in the creases, the computational power required for their simula- use of specialized hardware that provides high performance tion quickly grows beyond the capabilities of current gen- computational engines to accelerate such floating-point in- eral purpose systems. In this paper, we present the design tensive applications [6, 7]. of a low–cost, high–performance, specialized architecture to Our research focuses on the design of such specialized sys- accelerate these simulations. Our aim is to use such special- tems. However, our approach has several important differ- ized hardware to allow complex interactive physical model- ences as compared to previous work in this area: (i) we ing even on consumer-grade PCs. In this paper, we present specifically target algorithms that are numerically stable, details of the target algorithms, the HELLAS architecture, but are much more computationally intensive than those simulation results and lessons learned from our implemen- used by existing hardware implementations [3,6]; (ii) we aim tation.
    [Show full text]
  • Multiprocessing Contents
    Multiprocessing Contents 1 Multiprocessing 1 1.1 Pre-history .............................................. 1 1.2 Key topics ............................................... 1 1.2.1 Processor symmetry ...................................... 1 1.2.2 Instruction and data streams ................................. 1 1.2.3 Processor coupling ...................................... 2 1.2.4 Multiprocessor Communication Architecture ......................... 2 1.3 Flynn’s taxonomy ........................................... 2 1.3.1 SISD multiprocessing ..................................... 2 1.3.2 SIMD multiprocessing .................................... 2 1.3.3 MISD multiprocessing .................................... 3 1.3.4 MIMD multiprocessing .................................... 3 1.4 See also ................................................ 3 1.5 References ............................................... 3 2 Computer multitasking 5 2.1 Multiprogramming .......................................... 5 2.2 Cooperative multitasking ....................................... 6 2.3 Preemptive multitasking ....................................... 6 2.4 Real time ............................................... 7 2.5 Multithreading ............................................ 7 2.6 Memory protection .......................................... 7 2.7 Memory swapping .......................................... 7 2.8 Programming ............................................. 7 2.9 See also ................................................ 8 2.10 References .............................................
    [Show full text]
  • Graphics Hardware
    Department of Computer Engineering Graphics Hardware Ulf Assarsson Graphics hardware – why? l About 100x faster! l Another reason: about 100x faster! l Simple to pipeline and parallelize l Current hardware based on triangle rasterization with programmable shading (e.g., OpenGL acceleration) l Ray tracing: there are research architetures, and few commercial products – Renderdrive, RPU, (Gelato), NVIDIA OptiX 2 3 Perspective-correct texturing l How is texture coordinates interpolated over a triangle? l Linearly? Linear interpolation Perspective-correct interpolation l Perspective-correct interpolation gives foreshortening effect! l Hardware does this for you, but you need to understand this anyway! 4 5 Recall the following l Before projection, v, and after p (p=Mv) l After projection pw is not 1! l Homogenization: (px /pw , py /pw , pz /pw , 1) l Gives (px´, py ´ , pz´ , 1) 6 Texture coordinate interpolation l Linear interpolation does not work l Rational linear interpolation does: – u(x)=(ax+b) / (cx+d) (along a scanline where y=constant) – a,b,c,d are computed from triangle’s vertices (x,y,z,w,u,v) l Not really efficient l Smarter: – Compute (u/w,v/w,1/w) per vertex – These quantities can be linearly interpolated! – Then at each pixel, compute 1/(1/w)=w – And obtain: (w*u/w,w*v/w)=(u,v) – The (u,v) are perspectively-correct interpolated l Need to interpolate shading this way too – Though, not as annoying as textures l Since linear interpolation now is OK, compute, e.g., Δ(u/w)/ Δx, and use this to update u/w when stepping in the x- direction (similarly for other parameters) 7 Put differently: l Linear interpolation in screen space does not work for u,v l Solution: – We have applied a non-linear transform to each vertex (x/w, y/w, z/w).
    [Show full text]
  • Corporate Backgrounder
    AGEIA PhysX FAQs for System and Board Partners For use in partner marketing materials KEY QUESTIONS 1: What exactly is the AGEIA PhysX Processor? 2: What is the Gaming Power Triangle? 3: What is physics for gaming? 4: What is a physics processor? 5: What makes the AGEIA PhysX hardware special? 6: Why do I need physics in my game? 7: Isn’t physics just juiced up graphics? 8: Can I get PhysX enabled games today? 9: Why do I need dedicated hardware for physics? 10: How do I get the new AGEIA PhysX processor into my PC? 11: How much does AGEIA PhysX cost? 12: How do games get PhysX-optimized? 13: Do I have to buy new hardware every year just to get new physics features? AGEIA Confidential March 2006 . 1 What exactly is the AGEIA PhysX Processor? The AGEIA PhysX processor is the first dedicated hardware accelerator for PC games that enables dynamic motion and interaction for a totally new gaming experience. Exciting immersive physical gaming feature that you can expect to see in next generation cutting edge titles will include groundbreaking physics features such as: * Explosions that cause dust and collateral debris * Characters with complex, jointed geometries for more life-like motion and interaction * Spectacular new weapons with unpredictable effects * Cloth that drapes and tears the way you expect it to * Lush foliage that sways naturally when brushed against * Dense smoke & fog that billow around objects in motion What is the Gaming Power Triangle The gaming triangle represents the three critical PC processors that enable the best possible gaming experience.
    [Show full text]
  • Introduction
    A D V A N C E D C O M P U T E R G R A P H I C S Introduction (Thanks to Professions Andries van Dam and John Hughes) CMSC 635 January 15, 2013 Introduction ‹#›/16 A D V A N C E D C O M P U T E R G R A P H I C S What is Computer Graphics? • Computer graphics generally means creation, storage and manipulation of models and images • Such models come from diverse and expanding set of fields including physical, mathematical, artistic, biological, and even conceptual (abstract) structures Frame from animation by William Latham, shown at SIGGRAPH 1992. Latham uses rules that govern patterns of natural forms to create his artwork. CMSC 635 January 15, 2013 Introduction ‹#›/16 A D V A N C E D C O M P U T E R G R A P H I C S Modeling vs. Rendering • Modeling – Create models – Apply materials to models – Place models around scene – Place lights in scene – Place the camera • Rendering – Take “picture” with camera • Both can be done by modern commercial software: – Autodesk MayaTM ,3D Studio MaxTM, BlenderTM, etc. Point Light Spot Light Directional Light Ambient Light CS128 lighting assignment by Patrick Doran, Spring 2009 CMSC 635 January 15, 2013 Introduction ‹#›/16 A D V A N C E D C O M P U T E R G R A P H I C S Solved problem: Rendering Avatar 2009 CMSC 635 January 15, 2013 Introduction ‹#›/16 A D V A N C E D C O M P U T E R G R A P H I C S What is Interactive Computer Graphics? (1/2) • User controls contents, structure, and appearance of objects and their displayed images via rapid visual feedback • Basic components of an interactive graphics system – input (e.g., mouse, tablet and stylus, multi-touch…) – processing (and storage) – display/output (e.g., screen, paper-based printer, video recorder…) • First truly interactive graphics system, Sketchpad, pioneered at MIT by Ivan Sutherland for his 1963 Ph.D.
    [Show full text]
  • Multicore: Why Is It Happening Now? Eller Hur Mår Moore’S Lag?
    Multicore: Why is it happening now? eller Hur Mår Moore’s Lag? Erik Hagersten Uppsala Universitet Are we hitting the wall now? Pop: Can the transistors be made even smaller and faster? Performance Possible path, [log] but requires a paradigm shift 1000 ? Business as 100 ” w usual… La s re o Well uhm … 10 o M “ The transistors can p: Po be made smaller and PDC 1 Summer faster, but there are School other problems / 2010 Institutionen för informationsteknologi | www.it.uu.seNowMC 2 ©Erik Hagersten| user.it.uu.se/~ehYear Darling, I shrunk the computer Mainframes Super Minis: Microprocessor: Mem Multicore: Many CPUs on a Mem PDC Summer chip! School 2010 Institutionen för informationsteknologi | www.it.uu.se MC 3 ©Erik Hagersten| user.it.uu.se/~eh Multi-core CPUs: Ageia PhysX, a multi-core physics processing unit. Ambric Am2045, a 336-core Massively Parallel Processor Array (MPPA) AMD Athlon 64, Athlon 64 FX and Athlon 64 X2 family, dual-core desktop processors. Opteron, dual- and quad-core server/workstation processors. Phenom, triple- and quad-core desktop processors. Sempron X2, dual-core entry level processors. Turion 64 X2, dual-core laptop processors. Radeon and FireStream multi-core GPU/GPGPU (10 cores, 16 5-issue wide superscalar stream processors per core) ARM MPCore is a fully synthesizable multicore container for ARM9 and ARM11 processor cores, intended for high-performance embedded and entertainment applications. Azul Systems Vega 2, a 48-core processor. Broadcom SiByte SB1250, SB1255 and SB1455. Cradle Technologies CT3400 and CT3600, both multi-core DSPs. Cavium Networks Octeon, a 16-core MIPS MPU.
    [Show full text]
  • Gputerasort: High Performance Graphics Co-Processor Sorting For
    GPUTeraSort: High Performance Graphics Co­processor Sorting for Large Database Management Naga K. Govindaraju ∗ Jim Gray † Ritesh Kumar ∗ Dinesh Manocha ∗ naga,ritesh,dm @cs.unc.edu, [email protected] { } http://gamma.cs.unc.edu/GPUTERASORT ABSTRACT advanced memory units, and multi-processors to improve sorting performance. The current Indy PennySort record We present a new algorithm, GPUTeraSort, to sort billion- 1 record wide-key databases using a graphics processing unit benchmark , sorts a 40 GB database in 1541 seconds on a (GPU) Our algorithm uses the data and task parallelism $614 Linux/AMD system. on the GPU to perform memory-intensive and compute- However, current external memory sort performance is intensive tasks while the CPU is used to perform I/O and limited by the traditional Von Neumann style architecture resource management. We therefore exploit both the high- of the CPU. Computer architects use data caches to amelio- bandwidth GPU memory interface and the lower-bandwidth rate the CPU and the main memory bottleneck; but, CPU- CPU main memory interface and achieve higher memory based sorting algorithms incur significant cache misses on bandwidth than purely CPU-based algorithms. GPUTera- large datasets. Sort is a two-phase task pipeline: (1) read disk, build keys, This article shows how to use a commodity graphics pro- sort using the GPU, generate runs, write disk, and (2) read, cessing unit (GPU) as a co-processor to sort large datasets. merge, write. It also pipelines disk transfers and achieves GPUs are programmable parallel architectures designed for near-peak I/O performance. We have tested the perfor- real-time rasterization of geometric primitives - but they mance of GPUTeraSort on billion-record files using the stan- are also highly parallel vector co-processors.
    [Show full text]
  • The Hardware Accelerated Physics Engine with Operating Parameters Controlling the Numerical Error Tolerance 1
    International Journal of Advanced Science and Technology Vol.119 (2018), pp.145-152 http://dx.doi.org/10.14257/ijast.2018.119.13 The Hardware Accelerated Physics Engine with Operating Parameters Controlling the Numerical Error Tolerance 1 Youngsik Kim Department of Game and Multimedia Engineering, Korea Polytechnic University [email protected] Abstract This paper designed the dedicated hardware pipeline for interactive 3D entertainment system considering parallelization characteristics of rigid body physics simulation. This paper also analyzed the large parallelization characteristics of independent rigid group units connected to joints in hierarchical collision detection and design a hardware structure suitable for each parallel processing stage by extracting small data parallelization characteristics of each constraint row unit of LCP equation. Also, this paper performed control such as the number of loop repetitions by performing hardware trade-off in which numerical error is reduced within visual error tolerance by setting error attenuation parameter (ERP) and constraint force mixing (CFM) as driving parameters. Keywords: Hardware Accelerator, Physics Engine, Open Dynamics Engine, Numerical Error Tolerance 1. Introduction The importance of physics engine for simulating the motion of an object about physical phenomena (mass, speed, friction, collision) of nature in the interactive 3D game, virtual reality, 3D animation and robotics industry is becoming more and more important [1-4]. In a car racing game, it is better to use a physics engine simulation than a keyframe animation created by an artist, as it slips by centrifugal force when cornering and collides head-on with other cars. It would be much more natural to model an automobile as a rigid body with mass, a moment of inertia, velocity, etc., and simulate the kinematic motion of the body due to collision or friction.
    [Show full text]
  • F06 Physics Processor
    Nicholas Bannister, Vinay Chaudhary, Aaron Hoy, Charles Norman, Jeremy Weagley Team VerchuCom PPU + Demo Final Report What We Built Game Description Overall Implementation Our original plan of action was to implement the game of Worms that utilized a customized Physics Processing Unit (PPU) built on the FPGA. We had planned to run the game on the Workstation, send objects back and forth to a shared bank of memory on the board, and update the objects’ state using the PPU. However, we came to realize that Worms would not fully show off our main feature of the project, which is the PPU. Therefore, we decided to create a “demo” which basically consisted of a bunch of squares interacting with each other, wind resistance and gravity within a confined area. We then took it to the next level and implemented a simple 2-player shooter game. The object of the game is for each player to destroy all of their squares, either blue or square, before their opponent. Each person has unlimited regular ammo along with 2 “nuclear bombs,” which destroy all of the bombs within a certain radius. Physics Processing Unit (PPU) We designed a specialized CPU (A PPU) that operates on structs representing 2 dimensional objects (position, velocity, acceleration, orientation, etc.). It modeled various particle effects, such as • Model collisions between particles and elastic/inelastic collisions • Effects of Gravity • Wind Resistance The accelerator sits in a basic iteration loop that applies each of the various effects on all the particles in memory, updating their positions, velocities, etc. based on physics.
    [Show full text]
  • PC Hardware Contents
    PC Hardware Contents 1 Computer hardware 1 1.1 Von Neumann architecture ...................................... 1 1.2 Sales .................................................. 1 1.3 Different systems ........................................... 2 1.3.1 Personal computer ...................................... 2 1.3.2 Mainframe computer ..................................... 3 1.3.3 Departmental computing ................................... 4 1.3.4 Supercomputer ........................................ 4 1.4 See also ................................................ 4 1.5 References ............................................... 4 1.6 External links ............................................. 4 2 Central processing unit 5 2.1 History ................................................. 5 2.1.1 Transistor and integrated circuit CPUs ............................ 6 2.1.2 Microprocessors ....................................... 7 2.2 Operation ............................................... 8 2.2.1 Fetch ............................................. 8 2.2.2 Decode ............................................ 8 2.2.3 Execute ............................................ 9 2.3 Design and implementation ...................................... 9 2.3.1 Control unit .......................................... 9 2.3.2 Arithmetic logic unit ..................................... 9 2.3.3 Integer range ......................................... 10 2.3.4 Clock rate ........................................... 10 2.3.5 Parallelism .........................................
    [Show full text]
  • A Comprehensive Survey of Various Processor Types & Latest
    International Journal of Research and Scientific Innovation (IJRSI) | Volume V, Issue IV, April 2018 | ISSN 2321–2705 A Comprehensive Survey of Various Processor types & Latest Architectures Harisha M.S1, Dr. D. Jayadevappa2 1Research Scholar, Jain University, Bangalore, Karnataka, India 2Professor, Electronics Instrumentation, Dept., JSSATE, Bangalore, Karnataka, India Abstract- This technology survey paper covers application based Processors- ASIP, Processor based on Flynn’s classification which includes SISD, SIMD, MISD, MIMD, Special processors like Graphics processing unit (GPU), Physics processing unit (PPU), Digital signal processor (DSP), network processor, front end processor, co-processor and processor based on number of cores which includes- single core, multi core, multi- processor, hyper threading and multi core with shared cache processors. Keywords- ASIP, SISD, SIMD, MISD, MIMD, GPU, PPU, DSP, Network processor, coprocessor. I. INTRODUCTION A. Types of processors- Processor based on application Application-specific instruction-set processor (ASIP) Application-specific instruction set processor is a component Fig.2 Flynn’s classification used in system-on-a-chip design. The instruction set of an SISD & SIMD ASIP is designed to benefit a specific application [1]. This specialization of the core provides a tradeoff between the flexibility of a general purpose CPU and the performance of an ASIC. Fig.3 SISD and SIMD SISD SISD is a computer architecture in which a single uni-core processor executes a single instruction . Fig.1 ASIP stream, to operate on data stored in a single memory. A sequential computer which exploits no parallelism B. Processor types based on Flynn’s classification in either the instruction or data streams. In Flynn's taxonomy, the processors are classified based on Examples of SISD architecture are the traditional the number of concurrent instruction and data streams uniprocessor machines like PC or old mainframes available in the architecture: Single Instruction Single Data [3].
    [Show full text]
  • Revisiting the Future ☺
    Revisiting the Future ☺ Erik Hagersten Uppsala University Sweden DARK2 in a nutshell 1. Memory Systems (caches, VM, DRAM, microbenchmarks, …) 2. Multiprocessors (TLP, coherence, interconnects, scalability, clusters, …) 3. CPUs (pipelines, ILP, scheduling, Superscalars, VLIWs, embedded, …) 4. Future: (physical limitations, TLP+ILP DARK in the CPU,…) 2009 Dept of Information Technology| www.it.uu.se 2 ©Erik Hagersten| user.it.uu.se/~eh How do we get good performance? Creating and exploring: 1) Locality a) Spatial locality b) Temporal locality c) Geographical locality 2) Parallelism a) Instruction level (ILP) b) Thread level (TLP) DARK c) Memory level (MLP) 2009 Dept of Information Technology| www.it.uu.se 3 ©Erik Hagersten| user.it.uu.se/~eh Ray Kurzweil pictures www.KurzweilAI.net/pps/WorldHealthCongress/ DARK 2009 Dept of Information Technology| www.it.uu.se 4 ©Erik Hagersten| user.it.uu.se/~eh Ray Kurzweil pictures www.KurzweilAI.net/pps/WorldHealthCongress/ DARK 2009 Dept of Information Technology| www.it.uu.se 5 ©Erik Hagersten| user.it.uu.se/~eh Ray Kurzweil pictures www.KurzweilAI.net/pps/WorldHealthCongress/ DARK 2009 Dept of Information Technology| www.it.uu.se 6 ©Erik Hagersten| user.it.uu.se/~eh Ray Kurzweil pictures www.KurzweilAI.net/pps/WorldHealthCongress/ DARK 2009 Dept of Information Technology| www.it.uu.se 7 ©Erik Hagersten| user.it.uu.se/~eh Doubling (or Halving) times Dynamic RAM Memory (bits per dollar) 1.5 years Average Transistor Price 1.6 years Microprocessor Cost per Transistor Cycle 1.1 years Total Bits Shipped
    [Show full text]