OUTLINE Now speaking:
Kayvan LEFT INTRODUCTION (Kayvan)
THEORY (Johan)
DSP (Eugenio)
PC (Johannes)
Demonstration (in the lab, by Nicola)
Introduction Now speaking:
Kayvan LEFT Gaming is one of the major industries that pushes image processing to its limits.
Complex and flexible games
Implement cool features
Research – new idea or significant improvement of an old one
Lack of game specific research
Problem Now speaking:
Kayvan SHOTS
Design and implement a Laser Game
Create moving targets
User shall hit it with a laser pointer
A webcam that captures a picture
Detect hits and generate sounds
Welcome to the new improved DUCK HUNT
Theory Now speaking:
Johan SHOTS
Exploding computations320x240 = 76800 pixels, 20 fps 1.5 miljon iterations.
Smart and compact algorithms
Use the a prioriWe control whats on the screen. Asume that the laser is white.Do not put bright objects in the game.
What color to useRGB, Grayscale, One RGB component?
Now speaking:
Johan
SHOTS
Theory Detection algorithm
if thres
Now speaking:
Johan
SHOTS
Theory Transforming the image
Now speaking:
Johan
SHOTS
Theory Numerical solution.
Over determined system, SVD.
Precisely determined system. Null vector.
Using the corners.
Now speaking:
Eugenio
SHOTS
DSP:
INTERCONNECTION & COMMUNICATION evm6x_hpi_write() and evm6x_hpi_read()
Structure at know address:
- values to read
- pointers to write
#pragma DATA_SECTION()
Now speaking:
Eugenio SHOTS
DSP:
MEMORY ISSUES 320x240x8b = 76.8 KB
But we want to use the 64KB IDM!!!
Solution: ”pipelining”
Reference image: SBSRAM (discarded pipelining to IDM with DMA).
Now speaking:
Eugenio SHOTS
DSP:
AUDIO Load buffers from PC into memory.
DMA transfers in background.
Long or shorts buffers?
DSP:
MAIN PROGRAM Now speaking:
Eugenio SHOTS
After initializing the audio and some variables…
Ready_flag is polled all the time.
When a task is finished:
- Ready_flag = IDLE
- message sent to PC.
Programming the PC Now speaking:
Johannes SHOTS
The PC application consists of three different parts: Capture video from the web cam
Communication with the DSP board
The game!!
Programming the PC Now speaking:
Johannes SHOTS
Web cam Fast access to the video frames
Use DirectShow, a component of the Microsoft DirectX 9 library
DirectShow is very complex and competent,we only use two filters:
Source and SampleGrabber filters
Programming the PC Now speaking:
Johannes SHOTS
How to draw the duck behind the tree OR AND
Programming the PC Now speaking:
Johannes SHOTS
System delay Shooting area
Area used for detection The time it takes for something to be captured by the web cam (1 or 2 frames = 40-80 ms).
Processing time in the DSP ( 40-55 ms).
Solution: Use a circular buffer with the 10 previous positions of each duck.
Programming the PC Now speaking:
Johannes SHOTS
Logical part of the Game Proceed() Timer (60 ms) detectHit() fly() Invalidate()
Project members
Kayvan
Nicola
Johannes
Johan
Eugenio
Sponsors
Special thanks to
Comments