3D Image-Formats and Graphics-Modes

  Page introduced in 1997,
last update on April 28, 2001


Contents:
Stereo3D Image Formats
3D-Image formats and how they are displayed
- an illustrated approach
3D-Image formats and how they are displayed
- a line-by-line approach
A comment on 3D-modes by "Mr. LCD-BIOS" himself
Graphical Introduction by Catalyst
Back to Know-How-Page

Stereo3D Image Formats

(Don't confuse with screen-modes)


Image Format Line Sequential Image
also known as: 
Alternate Line or
Interleaved or
Interlaced
Two seperate Images 
also known as: 
Alternate Page or
Alternate Frame
Above-Below
Split-Screen
also known as:
Over-Under or
Top-Bottom
Side-by-Side Split-Screen Rotated Side-by-Side Split-Screen Anaglyph

red-blue, 
red-green,
blue-yellow 

Chromatek Pulfrich
Screen Mode 
(i.e. - what comes out of the VGA-board?)
Interlace or Page-Flipping 
(or standard progressive scan in conjunction with external Line-Blanker)
Progressive-Scan- Page-Flipping standard, but transformed into Interlace-Scan- Flipping by external Sync-Doubler device standard standard standard standard standard, works only for horizontally moving objects, no 3D-stills, prefered format for TV-broadcasts
Supported Devices some Shutterglasses, some HMDs some Shutterglasses, some HMDs, (polarizer glasses require additional hardware) some Shutterglasses, some lens-viewers free viewing (with bare eyes), lens-viewers, 
some HMDs, some prof. gfx boards plus prof. shutterglasses 
Cyberscope monitor add-on
glasses with color filters
glasses with diffraction filters glasses with one dark and one light eye
Shutterglasses Driver 3D-BIOS (Kasan), 
LCD-BIOS (Don S.), 
VR-BIOS (VRex), 
SGToggle (StereoGr.),
VRViewer(APEC),
3DWin (i-Art),
SSDI (VRex),
no driver required for:
HMD's and for shutterglasses with line-blanker, i.e. H3D, VR-Joy, EyeFX
LCD-BIOS, 
(VR-BIOS (limited)), 
WinSPEX (Nuvision),
VESA-3,
SSDI
no driver required no driver required no driver required no driver required, 
for games use eyeScream light
no driver required no driver required
Software Examples Win-Quake, 
TerminalVelocity, Firedance
Whiplash for LCD-BIOS,
H3D-titles on V-Rush and Rendition, D3D titles on ELSA Revelator, 3D-VHS-tapes, IMAX-3D-movies 
Wicked3D-titles,
H3D-titles on 3Dfx-V2
Duke Nukem 3D,
H3D-DOS-Quake, Tri-DVD
    Duke Nukem 3D (edit duke3d.cfg), Magic Carpet (key F10) Nihilist, Jonny Quest 3D-shows and documentaries on television

3D-Image formats and how they are displayed
- an illustrated approach


3D-Technique Image in memory of VGA-card (simplified) Image at VGA-out-port Image on monitor screen
Interlace
memory bank 1

interlaced
(interlace scan)

flipping interlace image
(two half-frames, one consisting of all odd lines, the other consisting of all even lines; in Line-Blanker modes there are two full-frames with the same content of information)
Line-Blanking
memory bank 1

page-flipped
(progressive scan)
- but looks like interlace!

flipping interlace image
(two full (!)-frames, one consisting of all odd lines, the other consisting of all even lines; half of all lines are filled with a black video-signal from external line-blanker video-processor)
Page Flipping
memory bank1 (page1)

memory bank2 (page2)
OR

memory bank1

page-flipped
(progressive scan)

flipping full-res image
Sync Doubling
(sync doubler sits between VGA-card and monitor and doubles the vertical sync frequency)

memory bank 1
example: 640x480

split screen
(progressive scan)
640x480@60Hz

flipping interlace image
640x240@120Hz

3D-Image formats and how they are displayed
- a line-by-line approach

The Retrace-signal brings the electron beam in the monitor tube from the lower right corner back to the upper left corner.
In other words: a new frame is about to be "drawn".


Alternate Line Image (Interlaced) Standard Mode
(Progressive-Scan)
Interlace Mode  Page-Flipping
(line doubled)
Line-Blanking
"synthetic" interlace 
(H3D, VR-Joy, EyeFX)

example: 
10 line interlaced image 

odd-lines: half res right image 
even-lines: half res left image










10 
Retrace

(works for HMD's, no stereo vision with shutterglasses)






Retrace + 1 line time gap




10 
Retrace










Retrace








10 
10 
Retrace

2 black signal

4 black signal 

6 black signal 

8 black signal 

10 black signal 
Retrace
1 black signal 

3 black signal 

5 black signal 

7 black signal 

9 black signal 
10 
Retrace
Above-Below Image Standard Mode
(Progressive-Scan)
Sync Doubling

example: 
10 line top-down image 
line 1-5 half res left image 
line 6-10 half res right image



4





10 
Retrace

(no stereo vision)






Retrace by external sync doubler




10 
Retrace by VGA-card

The refresh rate is doubled in the process.
(In practice some lines in the middle are lost because of the retrace time. There has to be a black border between the two images)

Two Full-Res Images Standard mode
(Progressive-Scan)
Page-flipping full-res

10 line full-res right image 

10 line full-res left image
shows only one image at a time








10 
Retrace
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
Retrace

(best quality!)

PLEASE NOTE:
1.) It's hard to tell an interlaced and a page-flipped screen on the monitor apart with bare eyes.
2.) Quite often an interleaved image is displayed using page-flipping. The even lines are stored as one page and the odd lines as the other page. Programs like Nascar or Descent2 deliver an interleaved format, which is displayed by interlace (3D-BIOS, VR-BIOS) or by page-flipping (LCD-BIOS) depending on the driver used. LCD-BIOS & NuvFrag double the lines to avoid black interleave lines, but the effective resolution stays the same (half-res per eye).
I hope it becomes all clearer now.

Page Flipping in full resolution yields the best image quality. Under Windows it requires a VGA-chipset specific driver.

Interlace is good for high resolution and/or high refresh rates, even on low- and midrange monitors, but needs a VGA-chipset specific driver.

Sync doubling doesn't require a driver for the flipping process. The controller is more complex. The sync doubling method has some advantages. It delivers high refresh and 100% compatibility to any graphics hardware. The refresh rate is automatically doubled by the device. The two images for the right/left eye only have to be displayed simultaneously as a split screen. This works with any standard screen mode. The external box between card and monitor does all the work. No drivers, nothing. Just software which shows two images as split screen.

Interlace and Sync doubling have a drawback, compared to full frame page flipping, however. The number of lines is divided by 2. Each eye only get's half of the resolution. 640x480 results in less than 640x240 per eye. On the other some page-flipping software uses half-resolution also!
 
 

Mr. Donald "LCD-BIOS" Sawdai on page-flipping and interlace techniques: 

Page-Flipping

There are 3 major ways to do page flipping. 

(1) Have 1 screen in video memory.  After every refresh, copy the other 
eye view onto the screen.  This is possible for small windows on the 
screen, but it is impractical for full-screen images. 

(2) Have data for both L/R screens in video memory.  Have software change 
the Start Address on the graphics card (the pointer to the first byte 
to display on the screen) between the beginning of the L or R buffer 
after each refresh.  This is software page flipping. 
The fact the software is doing the flipping means that it consumes 
CPU time. 

(3) Have data for both L/R screens in video memory.  Give the Start 
Addresses for both views to the graphics card, and tell it to automatically 
flip between these 2 Start Addresses on every refresh.  This is hardware 
page flipping, and it has no CPU overhead.  BUT it requires hardware 
functionality on the graphics card -- which is now popular due to the 
new VESA 3.0 spec.  It is also does not co-exist well with serial/parallel 
port glasses, because you still need software to signal the glasses. 

Interlace

Note that interlaced screen modes are actually a special case of 
hardware page flipping. 

...the graphics card sends a vertical sync pulse 
to the CRT once per refresh to signal the vertical retrace.  In interlaced 
modes, the width of the vertical sync pulse is different for the even and 
odd scan half-fields. 

Line-Doubled Page-Flipping

Technically, the term line-doubling means that the graphics card 
scans every row of data from video memory twice.  So, if you enable 
line doubling in 640x480, each of the first 240 lines are scanned twice 
to the CRT.  In effect, you get 640x240 but at the same CRT parameters 
(and hence same refresh rate, since you are still sending 480 scan 
lines to the monitor) as 640x480.  This mode only requires enough 
video memory as 640x240. 

Another way to achieve 640x240 is to create a new graphics mode. 
This is very complicated, since you need to recompute the CRTC parameters 
(H and V parameters).  You also need to reprogram the CRTC clock -- 
note that any given graphics chip (like the ATI Mach 32) can be 
on a board with any one of many different clock chips.  This mode 
would only scan out 240 lines, though, so you could use very high
refresh rates. 

The final way to achieve 640x240 is by using interlaced graphics 
modes... 

There are 2 disadvantages of line doubling.  First, your refresh rate 
is the same as your 640x480 mode.  Second, not all graphics cards can 
do line doubling in the VESA or accelerated graphics modes (like the 
ATI Mach32). 

There is one big advantage of line doubling -- the screen looks better 
on high-performance monitors.  When a monitor syncs to a graphics mode, 
it adjusts the spot size of its electron beam.  For low-res modes, it 
uses a bigger spot.  For hi-res and interlaced modes, it uses a smaller 
spot.  For very lo-res modes (?x200) on a large (15" and up) monitor, 
you will see thin black lines between each row of pixels, because the 
CRT can not make the spot any bigger.  By double scanning at low res, 
the CRT will remove these black lines. 

Note that all VGA resolutions below 350 rows use line doubling. 

Donald Sawdai 

LCD-BIOS page


 

It seems that serial and parallel port controllers are unable to work with Interlace. It's hard and sometimes even impossible to sync them. Only the VGA-cards Ram-DAC "knows" when a new Interlace-half-frame starts and it won't tell it to the rest of the system. To get Windows to work with page-flipping a rather complex piece of software is required. Examples are WinSPEX, ELSA Revelator and ASUS drivers.

HMD's doesn't need drivers for stereoscopic vision. They work using normal screen modes. The software just has to deliver an image of an appropriate format. For consumer HMD's this usually means an alternate line (interlace) image. That's the reason why those HMD titles work flawlessly on shutterglasses which support interlace. Just kick in interlace mode, activate glasses and off you go. 

Graphical Introduction


I highly recomment the animated graphical introduction by  Catalystto the 
3 main display techniques used for Shutterglasses 
The 3 techniques are:1) Interlace  2) Page Flipping  3) Sync Doubling    Please keep in mind that an interlaced image (not to be confused with interlace mode) can be displayed using page-flipping technique using some software conversion. That's not shown in the Skylink animations.

There's a new technique not discussed there: 4) Line Blanking - synthetic interlace

    I have to make one statement however. Skylink claims that interlace and page-flipping deliver very poor refresh rates and name 70 Hz. as a typical value. That's because Skylink wants to sell sync-doubler devices. I like sync-doublers, but the refresh rates achievable with interlace or page-flipping are much higher than 70 Hz.
 

I also recommend to download the StereoGraphics Developers' Handbook and the CrystalEyes™ Software Development Kit Handbook in Acrobat format from the StereoGraphics website. It's like getting two excellent books on Stereo3D principles and programming for free.
 
 

 Back to Know-How-Page