Start with some basics: display devices

Similar documents
Recap. Source. (Behavior) Code. Three big ideas that glue GUIs together. Events Widgets Interactor Trees. Events. Mouse Software.

Comp 410/510. Computer Graphics Spring Introduction to Graphics Systems

Reading. 1. Displays and framebuffers. History. Modern graphics systems. Required

Displays. History. Cathode ray tubes (CRTs) Modern graphics systems. CSE 457, Autumn 2003 Graphics. » Whirlwind Computer - MIT, 1950

3. Displays and framebuffers

Reading. Displays and framebuffers. Modern graphics systems. History. Required. Angel, section 1.2, chapter 2 through 2.5. Related

CS2401-COMPUTER GRAPHICS QUESTION BANK

Reading. Display Devices. Light Gathering. The human retina

Types of CRT Display Devices. DVST-Direct View Storage Tube

Computer Graphics Hardware

PTIK UNNES. Lecture 02. Conceptual Model for Computer Graphics and Graphics Hardware Issues

Part 1: Introduction to Computer Graphics

Part 1: Introduction to computer graphics 1. Describe Each of the following: a. Computer Graphics. b. Computer Graphics API. c. CG s can be used in

Display Technologies CMSC 435. Slides based on Dr. Luebke s slides

Downloads from:

Introduction to Computer Graphics

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 5 CRT Display Devices

Computer Graphics: Overview of Graphics Systems

2.2. VIDEO DISPLAY DEVICES

Graphics Concepts. David Cairns

Computer Graphics. Introduction

CMPE 466 COMPUTER GRAPHICS

CS 4451A: Computer Graphics. Why Computer Graphics?

Objectives: Topics covered: Basic terminology Important Definitions Display Processor Raster and Vector Graphics Coordinate Systems Graphics Standards

Display Systems. Viewing Images Rochester Institute of Technology

1. Introduction. 1.1 Graphics Areas. Modeling: building specification of shape and appearance properties that can be stored in computer

MODULE I MCA COMPUTER GRAPHICS ADMN APPLICATIONS OF COMPUTER GRAPHICS

Computer Graphics : Unit - I

Overview of Graphics Systems

VGA Port. Chapter 5. Pin 5 Pin 10. Pin 1. Pin 6. Pin 11. Pin 15. DB15 VGA Connector (front view) DB15 Connector. Red (R12) Green (T12) Blue (R11)

2.4.1 Graphics. Graphics Principles: Example Screen Format IMAGE REPRESNTATION

Computer Graphics. Raster Scan Display System, Rasterization, Refresh Rate, Video Basics and Scan Conversion

Display Technology. Images stolen from various locations on the web... Cathode Ray Tube

Introduction & Colour

Graphics Devices and Visual Perception. Human Vision. What is visual perception? Anatomy of the Eye. Spatial Resolution (Rods) Human Field of View

Lecture Flat Panel Display Devices

These are used for producing a narrow and sharply focus beam of electrons.

B. TECH. VI SEM. I MID TERM EXAMINATION 2018

!"#"$%& Some slides taken shamelessly from Prof. Yao Wang s lecture slides

Screens; media that use additive primaries

Chapter 3. Display Devices and Interfacing

Displays and framebuffers

Nintendo. January 21, 2004 Good Emulators I will place links to all of these emulators on the webpage. Mac OSX The latest version of RockNES

Display Technology. Cathode Ray Tube. Images stolen from various locations on the web...

Computer Graphics NV1 (1DT383) Computer Graphics (1TT180) Cary Laxer, Ph.D. Visiting Lecturer

Display Technology. Images stolen from various locations on the web... Cathode Ray Tube

High-resolution screens have become a mainstay on modern smartphones. Initial. Displays 3.1 LCD

Display Technology.! Images stolen from various locations on the web... Cathode Ray Tube

Design of VGA Controller using VHDL for LCD Display using FPGA

General Items: Reading Materials: Miscellaneous: Lecture 8 / Chapter 6 COSC1300/ITSC 1401/BCIS /19/2004. Tests? Questions? Anything?

UNIT 1 INTRODUCTION TO COMPUTER

An Alternative Architecture for High Performance Display R. W. Corrigan, B. R. Lang, D.A. LeHoty, P.A. Alioshin Silicon Light Machines, Sunnyvale, CA

decodes it along with the normal intensity signal, to determine how to modulate the three colour beams.

How to Match the Color Brightness of Automotive TFT-LCD Panels

Design and Implementation of an AHB VGA Peripheral

Lecture Flat Panel Display Devices

Elements of a Television System

Television History. Date / Place E. Nemer - 1

Monitor and Display Adapters UNIT 4

IMS B007 A transputer based graphics board

L14 - Video. L14: Spring 2005 Introductory Digital Systems Laboratory

Dan Schuster Arusha Technical College March 4, 2010

An Efficient SOC approach to Design CRT controller on CPLD s

VARIOUS DISPLAY TECHNOLOGIESS

January 21, Nintendo. Bob Rost January 21, 2004

Written Tutorial and copyright 2016 by Open for free distribution as long as author acknowledgment remains.

Flat Panel Displays: 1. Introduction

Audio and Video II. Video signal +Color systems Motion estimation Video compression standards +H.261 +MPEG-1, MPEG-2, MPEG-4, MPEG- 7, and MPEG-21

Ch. 1: Audio/Image/Video Fundamentals Multimedia Systems. School of Electrical Engineering and Computer Science Oregon State University

INSTRUMENT CATHODE-RAY TUBE

Designing Custom DVD Menus: Part I By Craig Elliott Hanna Manager, The Authoring House at Disc Makers

Video. Updated fir31.filtered on website Fall 2008 Lecture 12

PROFESSIONAL D-ILA PROJECTOR DLA-G11

Basically we are fooling our brains into seeing still images at a fast enough rate so that we think its a moving image.

PROFESSIONAL D-ILA PROJECTOR DLA-G11

DISPLAY TECHNOLOGIES. Group 6: Steve Lenhart, Ryan King, Ramsey Akl, and Andrew Scheib

INSTRUMENT CATHODE-RAY TUBE

Video Display Unit (VDU)

Chapter 2. RECORDING TECHNIQUES AND ANIMATION HARDWARE. 2.1 Real-Time Versus Single-Frame Animation

High Performance Raster Scan Displays

1 Your computer screen

Vannevar Bush: As We May Think

Introduction. Edge Enhancement (SEE( Advantages of Scalable SEE) Lijun Yin. Scalable Enhancement and Optimization. Case Study:

Sep 09, APPLICATION NOTE 1193 Electronic Displays Comparison

Minimize your cost for Phased Array & TOFD

VectorVGA Tempest User Manual

Hitachi Europe Ltd. ISSUE : app084/1.0 APPLICATION NOTE DATE : 28/04/99

Revision: August 11, E Main Suite D Pullman, WA (509) Voice and Fax. 8 LEDs. Doc: page 1 of 9

Lecture 14: Computer Peripherals

Electrical & Electronic Measurements: Class Notes (15EE36) Module-5. Display Devices

LEDs, New Light Sources for Display Backlighting Application Note

Data Storage and Manipulation

Presented by: Amany Mohamed Yara Naguib May Mohamed Sara Mahmoud Maha Ali. Supervised by: Dr.Mohamed Abd El Ghany

CHAPTER 3 OSCILLOSCOPES AND SIGNAL GENERATOR

Display Devices & its Interfacing

Physics in Entertainment and the Arts

Swept-tuned spectrum analyzer. Gianfranco Miele, Ph.D

Development of Simple-Matrix LCD Module for Motion Picture

D-ILA PROJECTOR DLA-G15 DLA-S15

Titling for video production is in a

Transcription:

Output Concepts

Start with some basics: display devices Just how do we get images onto a screen? Most prevalent device: CRT Cathode Ray Tube AKA TV tube 2

Cathode Ray Tubes Cutting edge 1930 s technology (basic device actually 100 yrs old) Vacuum tube (big, power hog, ) Refined some, but no fundamental changes But still dominant Because TVs are consumer item LCD s just starting to challenge 3

How a CRT works (B/W) Vacuum Tube Phosphor Coating Electron Gun Deflection Coils Negative charge 15-20 Kv Positive charge 4

Move electron beam in fixed scanning pattern Raster lines across screen Modulate intensity along line (in spots) to get pixels 5

Pixels determined by 2D array of intensity values in memory Frame buffer Each memory cell controls 1 pixel 42 DAC All drawing by placing values in memory 6

Adding color Use 3 electron guns For each pixel place 3 spots of phosphor (glowing R, G, & B) Arrange for red gun to hit red spot, etc. Requires a lot more precision than simple B/W Use shadow mask behind phosphor spots to help 7

Color frame buffer Frame buffer now has 3 values for each pixel each value drives one electron gun can only see ~ 2^8 gradations of intensity for each of R,G,&B 1 byte ea => 24 bits/pixel => full color 8

Other display technologies: LCD Liquid Crystal Display Discovered in 1888 (!) by Reinitzer Uses material with unusual physical properties: liquid crystal rest state: rotates polarized light 90 voltage applied: passes as is 9

Layered display Layers Horizontal Polarizer Liquid Crystal Vertical Polarizer In rest state: light gets through Horizontally polarized, LC flips 90, becomes vertically polarized Passes through 10

Layered display Layers Horizontal Polarizer Liquid Crystal Vertical Polarizer In powered state: light stopped Horizontally polarized, LC does nothing, stopped by vertical filter 11

Lots of other interesting/cool technologies Direct retinal displays University of Washington HIT lab Set of 3 color lasers scan image directly onto retinal surface Scary but it works Very high contrast, all in focus Potential for very very high resolution Has to be head mounted 12

All these systems use a frame buffer Again, each pixel has 3 values Red, Green Blue Why R, G, B? R, G, and B are particular freq of light Actual light is a mix of lots of frequencies Why is just these 3 enough? 13

Why R, G, & B are enough Eye has receptors (cones) that are sensitive to (one of) these Eye naturally quantizes/samples frequency distribution 8-bit of each does a pretty good job, but some complications 14

Complications Eye s perception is not linear (logarithmic) CRT s (etc.) do not respond linearly Different displays have different responses different dynamic ranges different color between devices! Need to compensate for all of this 15

Gamma correction Response of all parts understood (or just measured) Correct: uniform perceived color Normally table driven 0 255 in (linear intensity scale) 0 N out to drive guns N=1024 or 2048 typical 16

Unfortunately, gamma correction not always done E.g., TV is not gamma corrected Knowing RGB values does not tell you what color you will get! For systems you control: do gamma correction 17

24 bits/pixel => true color, but what if we have less? 16 bits/pixel 5 each in RGB with 1 left over decent range (32 gradations each) Unfortunately often only get 8 3 bits for GB, 2 for R not enough Use a trick instead 18

Color lookup tables (CLUTs) Extra piece of hardware Use value in FB as index into CLUT e.g. 8 bit pixel => entries 0 255 2 0: R G B 1: R G B... 2: 17 236 129 255: R G B Each entry in CLUT has full RBG value used to drive 3 guns 19

Palettes 8 bits / pixel with CLUT Gives palette of 256 different colors Chosen from 16M Can do a lot better than uniform by picking a good palette for the image to be displayed (nice algorithms for doing this) 20

Software models of output (Imaging models) Start out by abstracting the HW Earliest imaging models abstracted early hardware: vector refresh stroke or vector (line only) models 21

Vector models Advantages can freely apply mathematical xforms Scale rotate, translate Only have to manipulate endpoints Disadvantages limited / low fidelity images wireframe, no solids, no shading 22

Current dominant: Raster models Most systems provide model pretty close to raster display HW integer coordinate system 0,0 typically at top-left with Y down all drawing primitives done by filling in pixel color values (values in FB) 23

Issue: Dynamics Suppose we want to rubber-band a line over complex background Drawing line is relatively easy But how do we undraw it? 24

Undrawing things in raster model Ideas? (red, su, xo, pal, fwd) 25

Undrawing things in raster models Four solutions: 1) Redraw method Redraw all the stuff under Then redraw the line Relatively expensive (but HW is fast) Note: don t have to redraw all, just damaged area Simplest and most robust (back) 26

How to undraw 2) Save-unders When you draw the line, remember what pixel values were under it To undraw, put back old values Issue: (what is it?) 27

How to undraw 2) Save-unders When you draw the line, remember what pixel values were under it To undraw, put back old values Issue: what if background changes Tends to either be complex or not robust (back) Typically used only in special cases 28

How to undraw 3) Use bit manipulation of colors Colors stored as bits Instead of replacing bits XOR with what is already there A ^ B ^ B ==? 29

How to undraw 3) Use bit manipulation of colors Colors stored as bits Instead of replacing bits XOR with what is already there A ^ B ^ B == A (for any A and B) Draw line by XOR with some color Undraw line by XOR with same color 30

Issue with XOR? What is it? 31

Issue with XOR Colors unpredictable SomeColor ^ Blue ==?? Don t know what color you will get Not assured of good contrast Ways to pick 2nd color to maximize contrast, but still get wild colors 32

Undraw with XOR Advantage of XOR undraw Fast Don t have to worry about what is under the drawing, just draw In the past used a lot where dynamics needed May not be justified on current HW (back) 33

How to undraw 4) Simulate independent bit-planes using CLUT tricks Won t consider details, but can use tricks with CLUT to simulate set of transparent layers Probably don t want to use this solution, but sometimes used for special cases like cursors (back) 34

Higher level imaging models Simple pixel/raster model is somewhat impoverished Integer coordinate system No rotation (or good scaling) Not very device independent 35

Higher level imaging models Would like: Real valued coordinate system oriented as Descarte intended? Support for full transformations real scale and rotate Richer primitives curves 36

Stencil and paint model All drawing modeled as placing paint on a surface through a stencil Stencil modeled as closed curves (e.g., splines) Issue: how do we draw lines? 37

Stencil and paint model All drawing modeled as placing paint on a surface through a stencil Modeled as closed curves (splines) Issue: how do we draw lines? (Conceptually) very thin stencil along direction of line Actually special case & use line alg. 38

Stencil and paint model Original model used only opaque paint Modeled hardcopy devices this was developed for (at Xerox PARC) Current systems now support paint that combines with paint already under it e.g., translucent paint ( alpha values) 39

Stencil and paint model(s) Postscript model is based on this approach Dominant model for hardcopy, but not screen New Java drawing model (Java2D) also takes this approach Mac OS X derived from NeXTstep, which used Display Postscript Windows Vista? 40

Stencil and paint model(s) Advantages Resolution & device independent does best job possible on avail HW Don t need to know size of pixels Can support full transformations rotate & scale 41

Stencil and paint model(s) Disadvantages Slower Less and less of an issue But interactive response tends to be dominated by redraw time Much harder to implement 42

Stencil and paint model(s) Stencil and paint type models generally the way to go But have been slow to catch on Market forces tend to keep us with old models Much harder to implement But starting to see these models for screen based stuff (esp. w/ Java2D) 43

Object-oriented abstractions for drawing Most modern systems provide uniform access to all graphical output capabilities / devices Treated as abstract drawing surface Canvas abstraction subarctic: drawable Macintosh: grafport Windows: device context X Windows: GC (GraphicsContext) Java: Graphics/Graphics2D classes 44

Object-oriented abstractions for drawing Abstraction provides set of drawing primitives Might be drawing on Window, direct to screen, in-memory bitmap, printer, Key point is that you can write code that doesn t have to know which one 45

Object-oriented abstractions for drawing Generally don t want to depend on details of device but sometimes need some: How big is it Is it resizable Color depth (e.g., B/W vs. full color) Pixel resolution (for fine details only) 46

A particular drawing abstraction: java.awt.graphics Fairly typical raster-oriented model More recent version: Graphics2D 47

java.awt.graphics Gives indirect access to drawing surface / device Contains Reference to screen Drawing state Current clipping, color, font, etc. Graphics Graphics Multiple graphics instances may reference the same drawing surface (but hold different state information) 48

Fonts and drawing strings Font provides description of the shape of a collection of chars Shapes are called glyphs Plus information e.g. about how to advance after drawing a glyph And aggregate info for the whole collection More recent formats (OpenType) can specify lots more E.g., ligatures, alternates 49

Fonts Typically specified by: A family or typeface e.g., courier, helvetica, times roman A size (normally in points ) A style e.g., plain, italic, bold, bold & italic other possibles (from mac): underline, outline, shadow See java.awt.font 50

Points An odd and archaic unit of measurement 72.27 points per inch Origin: 72 per French inch (!) Postscript rounded to 72/inch most have followed Early Macintosh: point==pixel (1/75th) 51

FontMetrics Objects that allow you to measure characters, strings, and properties of whole fonts java.awt.fontmetrics Get it by using: Graphics.getFontMetrics() 52

Reference point and baseline Each glyph has a reference point Draw a character at x,y, reference point will end up at x,y (not top-left) Reference point defines a baseline p 53

Advance width Each glyph has an advance width Where reference point of next glyph goes along baseline pa 54

Widths Each character also has a bounding box width May be different from advance width in some cases Don t get this with AWT FontMetrics, so there width means advance width 55

Ascent and decent Glyphs are drawn both above and below baseline Distance below: decent of glyph Distance above: ascent of glyph Decent p Ascent 56

Standard ascent and decent Font as a whole has a standard ascent and standard decent Std Decent pm Std Ascent AWT has separate notion of Max ascent and decent, but these are usually the same 57

Leading Leading = space between lines of text Pronounce led -ing after the lead strips that used to provide it space between bottom of standard decent and top of standard ascent i.e. interline spacing 58

Height Height of character or font ascent + decent + leading not standard across systems: on some systems doesn t include leading (but does in AWT) 59

FontMetrics FontMetrics objects give you all of above measurements for chars & Strings also char and byte arrays for whole fonts Graphics method will get you FontMetrics for a given font 60

61