Klas Skogmar, Lund Institute of Technology Real-time Video Effects Using Programmable Graphics Cards Master of Science Thesis Klas Skogmar

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Digital Media Dr. Jim Rowan ITEC 2110 Video. Works because of persistence of vision Fusion frequency –~ 40 frames.
GRAPHICS AND COMPUTING GPUS Jehan-François Pâris
Working with Huge Digital Prototypes: Autodesk Inventor Large-Assembly Best Practices Dan Miles INCAT Autodesk Practice Manager =
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Real-Time Geometric and Color Calibration for Multi-Projector Displays Christopher Larson, Aditi Majumder Large-Area High Resolution Displays Motivation.
Video on DSP and FPGA John Johansson April 12, 2004.
Shadow Volumes on Programmable Graphics Hardware Speaker: Alvin Date: 2003/11/3 EUROGRAPHICS 2003.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
ATI GPUs and Graphics APIs Mark Segal. ATI Hardware X1K series 8 SIMD vertex engines, 16 SIMD fragment (pixel) engines 3-component vector + scalar ALUs.
Evolutions of GPU Architectures Andrew Coile CMPE220 3/2007.
The Graphics Pipeline CS2150 Anthony Jones. Introduction What is this lecture about? – The graphics pipeline as a whole – With examples from the video.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
 Monitor displays use liquid crystal display (LCD) or cathode ray tube (CRT) technology  Resolution is also a factor when it comes to monitors. It’s.
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
Digital Media Dr. Jim Rowan ITEC 2110 Video. Works because of persistence of vision Fusion frequency –~ 40 frames.
Unit 30 P1 – Hardware & Software Required For Use In Digital Graphics
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
GPU Programming Robert Hero Quick Overview (The Old Way) Graphics cards process Triangles Graphics cards process Triangles Quads.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Modern Consumer Video Card Cheng-Han Du. What Is Video Card? A separated card to generate and output image to display. Not the integrated graphic processor.
Computer Graphics Graphics Hardware
How to Choose Frame Grabber …that’s right for your application Coreco Imaging.
Creating Flash Movies for Pocket PC Presentation by: JOSE BARRIGA.
Programmable Pipelines. 2 Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Nick Sims Like a motherboard, a graphics card is a printed circuit board that houses a processor and RAM.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Chapter 16 Creating Desktop Video and Animation. Getting Started FAQs: – What is digital video? – How do I transfer video footage to my computer? – How.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Advanced Computer Graphics Depth & Stencil Buffers / Rendering to Textures CO2409 Computer Graphics Week 19.
MULTIMEDIA TECHNOLOGY SMM 3001 MEDIA - VIDEO. In this chapter How digital video differs from conventional analog video How digital video differs from.
XP Practical PC, 3e Chapter 15 1 Creating Desktop Video and Animation.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
GRAPHICS PIPELINE & SHADERS SET09115 Intro to Graphics Programming.
Rick Parent - CIS681 Background Perception Display Considerations Film and Video, Analog and Digital Technology.
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
Programmable Pipelines Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
Tim Madden ODG/XSD.  Graphics Processing Unit  Graphics card on your PC.  “Hardware accelerated graphics”  Video game industry is main driver.  More.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
A SEMINAR ON 1 CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Lecture.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Ray Tracing using Programmable Graphics Hardware
An Introduction to the Cg Shading Language Marco Leon Brandeis University Computer Science Department.
1. 2  Video is an excellent tool for delivering multimedia.  Video places the highest performance demand on computer and its memory and storage.  Digital.
Postmortem: Deferred Shading in Tabula Rasa Rusty Koonce NCsoft September 15, 2008.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
Computer Graphics Lecture 03 Graphics Systems Cont… Taqdees A. Siddiqi
 Many people like the flexibility of digital images. For example:  They can be shared by attaching to /uploading to Internet  Sent via mobiles.
Graphics Pipeline Bringing it all together. Implementation The goal of computer graphics is to take the data out of computer memory and put it up on the.
Computer Graphics Graphics Hardware
Chapter 1 An overview on Computer Graphics
Creating Desktop Video and Animation
Understanding Theory and application of 3D
Introduction to Computer Graphics with WebGL
Graphics Processing Unit
Computer Graphics Graphics Hardware
Ray Tracing on Programmable Graphics Hardware
RADEON™ 9700 Architecture and 3D Performance
Computer Graphics Introduction to Shaders
Graphics Processing Unit
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

Klas Skogmar, Lund Institute of Technology Real-time Video Effects Using Programmable Graphics Cards Master of Science Thesis Klas Skogmar

Klas Skogmar, Lund Institute of Technology Introduction Graphics cards have much computing power but are only used by 3D applications Video and image editing programs often needs to perform per pixel operations that are ideal for graphics cards

Klas Skogmar, Lund Institute of Technology Problems How can graphics cards be used for displaying and altering video? What kinds of effects are suitable for a 3D environment? Is it possible to speed up effects by using the graphics card? How are the transfer rates affecting the system? How much disc space is required and how does this affect the system?

Klas Skogmar, Lund Institute of Technology Programmable graphics cards Graphics cards can do massive parallel calculations 3D developers required more flexibility 3D card producers introduced “Vertex shaders” and “Pixel shaders” Makes it possible to program graphics cards in a similar way to processors

Klas Skogmar, Lund Institute of Technology Effects on graphics cards Color correction Masking Color keying Compositing Transitions Painting 3D effects

Klas Skogmar, Lund Institute of Technology High resolution challenges HDTV standard 1080p requires throughput of 156 Mb/sec uncompressed. Current broadcasts takes approximately 30 Mb/sec uncompressed Challenges: Disc space Transfer speed Other problems (e.g. dynamic range)

Klas Skogmar, Lund Institute of Technology Working practice Real-time Expensive Scanning film Many formats High resolution Proxies and AOI Specialized hardware

Klas Skogmar, Lund Institute of Technology Available technologies Dedicated hardware OpenGL (Imaging subset) DirectX (Direct3D and DirectShow) Quicktime ATI’s and Nvidia’s

Klas Skogmar, Lund Institute of Technology DirectShow Microsoft’s media development environment Built up of filters – each with its own task Filters are assembled in a filter graph Is supported by many video and image formats

Klas Skogmar, Lund Institute of Technology My program Built using MFC Uses a DirectShow filter Shows how DirectShow can be used

Klas Skogmar, Lund Institute of Technology Performance My program was slow ATI has developed a program that is fast (uses VMR-9) Serious Magic’s Texture Download Benchmark Matt Craighead’s program

Klas Skogmar, Lund Institute of Technology Performance Results: ATI’s program shows the potential – adding effects do not give visible frame drops The other programs shows the transfer speed from the graphics card to the processor – it is not enough, but driver updates enhances the performance

Klas Skogmar, Lund Institute of Technology Conclusions It is already a technique that can be used! Drivers has to be enhanced to allow the modifications to be written back to memory Graphics cards are more flexible than dedicated hardware Effects have to be rewritten Many effects are more suitable to do using graphics cards

Klas Skogmar, Lund Institute of Technology Conclusions The transfer to and from disc can be a problem There is a need for modules (e.g. DirectShow filters), that makes it easy to use programmable graphics cards