Download Multimedia hardware

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

OpenGL wikipedia , lookup

Dither wikipedia , lookup

Edge detection wikipedia , lookup

InfiniteReality wikipedia , lookup

Computer vision wikipedia , lookup

Rendering (computer graphics) wikipedia , lookup

Indexed color wikipedia , lookup

Stereoscopy wikipedia , lookup

Mesa (computer graphics) wikipedia , lookup

Free and open-source graphics device driver wikipedia , lookup

2.5D wikipedia , lookup

Stereo display wikipedia , lookup

Molecular graphics wikipedia , lookup

Hold-And-Modify wikipedia , lookup

Apple II graphics wikipedia , lookup

Image editing wikipedia , lookup

Original Chip Set wikipedia , lookup

Tektronix 4010 wikipedia , lookup

Video card wikipedia , lookup

BSAVE (bitmap format) wikipedia , lookup

Waveform graphics wikipedia , lookup

Framebuffer wikipedia , lookup

Spatial anti-aliasing wikipedia , lookup

Graphics processing unit wikipedia , lookup

General-purpose computing on graphics processing units wikipedia , lookup

Transcript
3/19/2010
Multimedia
Graphic and Audio I/O
COMP375
• “A display connected to a digital computer gives us a
chance to gain familiarity with concepts not realizable
in the physical world. It is a looking glass into a
mathematical wonderland.”
• “The ultimate display would, of course, be a room
within which the computer can control the existence
of matter. A chair displayed in such a room would be
good enough to sit in. Handcuffs displayed in such a
room would
o ld be confining,
confining and a bullet
b llet displayed
displa ed in
such a room would be fatal.”
Ivan Sutherland
considered by many to be the creator of Computer Graphics
Graphics Throughput
• The monitor is the I/O device with the highest data throughput.
data throughput.
• Consider a 1200x1024 pixel display with 32 bit color that is refreshed 24 times a second. This requires 118 M bytes/sec or about 1 G bit/sec
• The challenge is to build a system that can handle that much data
• Far less data is actually transferred to the graphics controller
Graphics Processing Unit
• The Graphics Processing Unit (GPU) is a specialized processor that offloads 2D and 3D i li d
th t ffl d 2D d 3D
graphics rendering from the CPU
• Most computers have a GPU built into the mother board. Some computers have a p
separate video card for the GPU
1
3/19/2010
History of Graphics Hardware
• The original IBM PC of 1982 could display only characters
h
t
• Boxes and primitive shapes could be created by displaying special characters such as ┌ ┐└ ┘─│
• An area of memory contained the data that was displayed on the monitor There were two
displayed on the monitor. There were two bytes per character: data and attributes
• Programs could write directly to this display buffer First Graphics Controller
• The IBM Professional Graphics Controller was one of the very first 2D/3D graphics
one of the very first 2D/3D graphics accelerators available for the IBM PC in 1984.
• 10 years before hardware 3D acceleration became a standard
• Unable to succeed in the mass‐market
– High price ($4,500 in 1984 currency or $9,150 now)
– Slow processor (Intel 8088 running at 8 MHz)
– Lack of compatibility
CPU Control of Early Graphics
Blitter
• The CPU had to do all of the processing for graphics in early computers
hi i
l
t
• The screen images were stored in RAM as framebuffers
• To move an object on the screen the CPU would have to move the bits representing the
would have to move the bits representing the image
• Games would have to size the bit images to ensure the CPU could move them fast enough
• The Commodore Amiga was the first mass‐
market computer to include a blitter
k t
t t i l d blitt in its i it
video hardware
• Bit‐Block Image Transfer (Bit BLIT) is a computer graphics operation in which several p
g g
bitmaps are combined into one using logical operations such as AND, OR, XOR or NOT
• Useful for 2D graphics
2
3/19/2010
Bit BLIT Example
• The goal is to insert several copies of the small sprite into the larger image
sprite into the larger image
Bit BLIT Example
• The mask is ANDed with the image. This forms holes in the image.
forms holes in the image.
The sprite above is shown The
sprite above is shown
with a one bit mask
Bit BLIT Example
• The sprite is ORed with the image which copies the image into the holes
copies the image into the holes
The mask defines the area The
mask defines the area
the sprite will occupy.
OpenGL
• OpenGL software appeared in the early 1990s as a professional graphics API
f i
l
hi API
• The influence of OpenGL eventually led to widespread hardware support
• OpenGL supports both 2D and 3D graphics
A bit mask with more than A
bit mask with more than
1 bit would allow for partial transparency 3
3/19/2010
Linear Algebra
• Most 3D graphic functions can be defined as a matrix operation on an array containing the ti
ti
t i i th
image
• Translation, rotation, scaling and other actions can be implemented by matrix multiplication
GPU I/O
• The input to a GPU is
– Data representing a model of the image to be displayed
– Commands specifying how the image should be displayed
• The output of the GPU is sent to the monitor display
Modern Graphics Processing Unit
• A GPU is designed to perform high speed matrix manipulation
matrix manipulation
• The GPU may connect to the CPU through a specialized bus such as such as PCI Express (PCIe) or Accelerated Graphics Port (AGP)
• NVIDIA and ATI control nearly 100% of the GPU market
• The goal is to provide movie‐like quality in a real‐time game
GPU Architecture
• To rapidly render an i
image, a GPU has many GPU h
parallel processors.
• The Nvidia GF100 has 512 processor cores
– Digital through a Digital Video Input (DVI)
– Analog through VGA and other formats
4
3/19/2010
Polygons
• The graphic image is modeled as a collection of objects in 3D space
• The image displayed is determined by the point of view and lighting in the 3D space
• 3D graphic images can be composed of triangles or polygons
• Polygons can be smoothed and textured by the GPU
Anti‐aliasing
• Anti‐aliasing improves how an image is viewed by smoothing the image when details are
by smoothing the image when details are below the image resolution
Without Anti‐aliasing
With Anti‐aliasing
Anti‐aliasing by the GPU
GPU
• Anti‐aliasing is one of the features provided by a modern GPU
d
GPU
• A GPU can perform matrix manipulation faster th
than most CPUs.
t CPU
• As the processing power of GPUs has increased, so has their demand for electrical power. High performance GPUs often gy
consume more energy than current CPUs.
• Some researchers doing high performance matrix computation have built systems that use a GPU to do the computation.
without anti‐aliasing with anti‐aliasing Edge pixels are gray
5
3/19/2010
Vector and Pixel Graphics
Images can be defined as pixels or vectors
i l
t
• Pixels define how each dot should be colored
• Vectors define the objects in an image A circle might
in an image. A circle might be defined by its center and radius
Audio
• Computer audio usually has a digital‐to‐analog converter (DAC), which converts recorded or t (DAC) hi h
t
d d
generated digital data into an analog format
• The output signal is connected to an amplifier, headphones, or external device
• Input can be converted from analog to digital
Input can be converted from analog to digital
6