Guide to making your own digital stereo-video movies in DVD quality for playing on computers

Copyright 2001 by Michal Husak


My other pages dedicated to stereoscopic problematic:


GLSRenderer - final solution for stereo video rendering on PC
(now licensed to Lightspeed Design company - DepthQ project)

Sample code using 3DOF headtracking + VFX3D HMD in combiation with stereoscopy

Tutorial on adding stereo capabilities to OpenGL applications

OpenGL and MGL stereoscopic viewer for stereo images in JPS format

Original page dedicated to stereo mpeg1/2 compression and playback



1. Introduction

The main purpose of this article is to give to other people information about methods an freely available tools for making their own digital stereo video. This article will be focused on mainly on the most cheap tools for making this process but the testing shows that the result could be really excellent. I discuss primary the possibility to play the movie on computer monitors with software mpeg decoders, playing on standard TV is another branch of this problematic.

2. Theory

2.1 Existing sources of stereo-video movie

If you want to make an stereo-video movie, you must have some source of pictures calculated for left and right eye + optionally some source of audio signal.

2.1.1 Computer animation

One possible source of video information for making the stereo movie is an result of computer generated animation. Some examples of this calculation could be found on following www :


Programs like freely available Pov-Ray or commercial 3D-studio MAX are suitable for this purpose. It is possible to adjust the cameras for left and right eye separately and then produce two movies for both eyes. Several 3D-studio MAX plugin like Vrex Deph Charge of freely available XidMary plugin could make the stereo camera placement more easy. How to make the stereo-video movie from this source will be discussed later.

2.1.2 Existing movies on VHS cassette

It should be possible to digitize existing stereo movies form VHS cassette. I did not test this process up to now but the result will be probably similar as the processing of source from NuView camera attachment.

2.1.3 Your own movies obtained by NuView camera attachment

This source of signal for making your stereo movie looks very promising. NuView is an standard video-camera attachment which can encode the stereo information on the cassette. The adapter encode in different lines pictures form two view separated about 6.5 cm:

Details about this device could be found on this link:

2.2 Possible formats of digital stereo-video movie

2.2.1 Interlaced format

Interlaced format is the result which you obtained from digitized video from video cassette or video camera with NuView attachment. The even lines contains the picture for left-eye and the odd lines for right eye. If you do not zoom this images, It can be seen using LCD glasses + spec HW. The main disadvantage of this format is , that it is absolutely not suitable for any non-mpeg2 based compression and the stereo effect is lost when zoomed. The correctly set mpeg2 compression could be used for this format (no compression ghosting!!). Movies stored in this format could be compatible with TV watching systems. See chapter 3.3 for details. Films in this format could be the bridge between TV and PC technology.

2.2.2 Above/below format

From my point of view, this format is now an compromise between quality an existing hardware. The left image is vertically stretched to 1/2 and placed to the top part of the image and the second one is place in the bottom part. Some blank lines must be inserted between this to images if you want to use synch. doubler for watching (will be discussed later). Disadvantage of this format is the loose of quality in vertical direction + the shift necessary for synch. doubling. But this format have some great advantages:

a) the picture is suitable for numerical compression algorithm

b) video in interlaced format could be converted in this format without loose of quality, because the original source does not contain full information in vertical direction.

c) it is possible to use standard software for normal video processing, because the format is the same

as for video without stereo pictures encoded inside.

2.2.3 Future Hi Quality format

In the future will be probably establishes some standard format for stereo video, witch does not

cripple the information for left and right eye. It will be probably something like relaxed eye format ( both images placed right after the left like in JPS format for still stereo images). The troubles with this format are following :

a) 2x amount of data for decompression. From my experiments it looks like the next generation of 64 bit

processor (Merced) will be able to decompress this amount of data and show it on the screen in S-VHS quality.

b) non-standard format necessary. It is necessary to use non standard for mpeg1 or 2 storing

and playing. Standard encoders an players usually does not accept such format.

Other solution will be an special mpeg2 format utilizing the similarity of left and right images for better compression. This problem was theoretically solved (let me know for details, I have several scientific articles about this topic) without any application in praxis.


2.3 Existing possibilities for digital stereo video movie playback

2.3.1 Synch. doubling

In this case the standard AVI, DVD or mpeg layer is used for playing. The movie is stored in above/below format with proper vertical shift. A special device called synchronization doubler double the vertical refresh rate the monitor and synchronize this action with LCD glasses. Such device are commercially available from several companies like Stereographic, NuVision or yet not existing H3D. I will discuss my experiences with NuVision 60 GX later. You can use normal graphic card for this purpose. Disadvantages of this method are following:

a) full screen mode necessary

b) it is necessary to switch refresh rate of the graphic card to 60 Hz (120 Hz after doubling)

c) not really clear standard for vertical blank delay could produce so called. vertical parallax

2.3.2 HW page flipping

This method require special graphic card (like Fire GL 1000 pro, Elsa Gloria XXL ...). The image is extracted to two video buffers in the graphic card and the card take care about screen flipping and synchronization with LCD glasses or LCD monitor filter. Special software can emulate this mode on other graphic card as well. It is necessary to write an special mpeg player witch can use this mode - this software is under development by me an some other people in the word now. This technique is in quality superior to anything else, but it need special HW, SW and powerful processor.

 2.3.3 Line blanking

This method is suitable when the output on the screen is in interlaced format. The line-blanking controller hide odd lines for right eye and even for left eye. The frequency of watching is 1/2 of the monitor frequency. Glassees as Iart Eye3D, H3D or VrJoy have this future build in the controller.

2.3.4 Anaglyph

The left and right image could be coded as an red an blue (or red/green) signal in the video. The complete color information is lost. The result could be seen in red and blue (red/green) glasses.

3. Praxis

In this part of my article I would like to describe an procedure for making an stereo movie. The whole process was tested on an short 2 min. stereo clip called Jurassic Park. The movie was recorded by Mr. Sejin Ahn ( by an standard video camera using NuView camera attachment. The result will be an mpeg2 .vob video file in above/below format.

3.1 Digitizing the movie from video source

3.1.1 From analogue source

You have to do following things before you start the movie digitalization:

a) chose the audio and video resolution in this stage if possible. According to compression I strongly suggest some standard mpeg2 resolution:

Some standard video resolution for mpeg2 encoding:

NTSC 720*480 , 30 frames/second

PAL 720*576, 25 frames/second

Suggested audio res. 16-bit 44kHz/s stereo

We have use non standard 640*480, 24 frames/s + 16-bit 44kHz/s stereo audio in making Jurassic Park. This values were acceptable for each software used in the processing. If you want to use some mpeg compression for output, both vertical and horizontal resolution must be multiple of 16, because mpeg compression algorithms work in 16*16 macroblocks. I suggest to use the width/height ratio 4:3 as well. The reason is that some mpeg players( Xing one, PowerDVD is O.K.) do not zoom different formats to full screen resolution properly (this factor has critical for proper stereo-viewing).

b) digitize the output from the video camera to an avi file using MJPEG compression. The lowest possible compression and no size shrinking should be used in this step - the interlaced line should not be destroyed.

I have my own experiences with digitalization by the help of Fast AV Master 2000 digitalization board:

This board is available from Fast multimedia.

I had successfully digitized stereo signal from Santa Barbara Into Deep VHS cassette from as well as output from Philips VKR6847 VHS-C camera (PAL format, NuView attachment) by this device. I had some trouble with digitalization of cassettes in NTSC format (the result was black and white) - the reason is probably non-NTSC optimal VHS player used as the source of this signal (I live in Europe, PAL country). Standard IDE hard disk working on 5400 rpm in FAT32 format and MJPEG compression 10:1 was used for experiments. This equipment is not optimal, I have got about 3% frame drop. An ULTRA ATA 66 disk working at 7200 rpm and 6:1 compression will be more suitable. We have used the composite signal for digitalization. Using the S-VHS signal will improve the results drastically. The full PAL (both fields) capturing in 768x576 res. was necessary. See 4.1 for sample results in above/below format. I will buy new VHS recorder and better HD for experiments in the future ....

Mr. Sejin Ahn send me following description of digitalization process by the help of Miro DC 20 digitalization card.

Making a Stereoscopic Movie.

1. Required Hardware and Software

1) Hardware

- A camcorder (analog or digital, I used SONY TRV9 digital camcorder)

- NuView 3D adapter

- A capture card which can capture both even/odd fields.(Miro DC20)

2) Software

- Unlead MediaStudio(bundled with DC20), Adobe Premiere (4.2)

3) Computer (this is only for reference)

- CPU : Pentium II 300MHz, RAM : 128MB (I think 64MB is enough for capturing)

- HDD : Ultra Wide SCSI 4.5GB (Quantum Viking II)

- VGA : any VGA

- SCSI adapter : Adaptec 2940 UW

2. Shooting 3D movie

With a camcorder with NuView 3D adapter, shoot any movie you want. You may have to adjust 3D depth of the adapter. Refer to the manual of the adapter for adjusting 3D depth.

3. Capturing

1) Connect the output of the camcorder to the input of the capture card(RCA or S-VHS)

2) By using capturing software(Unlead MediaStudio, included with DC20), capture the movie. Be sure to set the captured movie size to full size(for NTSC 640x480). If you capture the movie with half size or costume size, the software may interpolate the even and odd lines, so stereoscopic effect will disappear.

My settings :

Setup -> Frame Adust: , Horizontal : Full resolution, Vertical : Both fields , Frame ratio : 4:3

Setup -> Video compression -> No recompression or Full frames(uncompressed)

Capture -> Frame rate : 24 or 30 which you want.

* You may use cropping without destroying stereoscopic effect.

3) You get AVI movie with MJPEG compression.

Other suitable digitalization boars are probably Miro DC 10 Plus and Miro CD 30 Plus available from Pinacle Systemes . I have never tested them, but they should do the job according to their technical parameters ...

If you have an camera with DV out you must use an card with IEEE (iLink) interface (FireWire). I have no experiences with DV signal, but I have an discussion with tectonics from Canon on Invex exhibition ... They told me that the digital DV signal contains the interlaced images separated and that DV camera works in interlaced mode as standard one (exception is shooting still images). The DV out should therefore work theoretically excellent for stereo purpose, let me know if you have any experiences in this area.

3.1.1 From digital (DV source)

I have recently totally switch to this sort of processing . I use SONY TRV 310 E digital video camera (Digital-8 system) and an AZD Tech Pyro DV digitalization board. THE RESULTS LOOKS MUCH MORE BETTER THAN FROM ANALOGUE SOURCE The Ulead Media Studio Pro 6 0 is used for processing. You can export the AVI file to Adobe Premiere or you can directly extract left and right stream in Media Studio Pro. Boris FX plugin or Photoshop based filters could than be used for stereo-video processing. This process is just under investigation. E-meil me, please , if you need some specific details ....

The latest version of Adobe Premiere (6.0) could work with DV video source O.K. as well. The have unfortunately removed the Filter Factory filter and transition from the distribution. You will need to use the corresponding .prm files for Premiere 5.1 (copy them to plug-in directory of premiere 6.0) if you want to develop filters based on Filter Factory in this environment.

3.2 Conversion to above/below format

The result AVI could be processed in Adobe Premiere like other one. The problem is that the transformation an compression of the movie could destroy the interlaced lines and produce compression based artifacts. I suggest to convert the whole movie to the final above/below format before editing.

3.2.1 Interlaced - > above/below conversion

The conversion is done by the Int AB filter. This filter (the file name is fl-IntAB.prm, source code : fl-InterlacedAB.pff ) should be placed in Adobe Premiere Plugin subdirectory. Adobe will find it during the start. You can find this filter in the filter menu. If you want to see the source code of the filter, download the Filter Factory filter from the Filter menu and load the InterlacedAB.pff source code. The filter factory will work in the same way as the plugin with this code. The filter setting are pre-set for no parallax correction and vertical delay corresponding to 800*600 120 Hz resolution for playing. This filter must be applied to the whole movie. The odd lines (corresponding to left eye image) are placed to the top, the even lines (right eye image) to the bottom. If you have lines in different order use the Int BA filter (fl-IntBA.prm, source code: fl-InterlacedBA.pff). The principle of pure interlaced - > above/below conversion is illustrated on following picture:

Warning !! Source and result movie must have the same size or the de-interlacing conversion produce nonsense ! Cropping of the result is allowed. In the Output options the Full Size Frame must be chosen ! The preview picture in the filter window is just for orientation, if it look like non-de interlaced it is O.K. (the final movie will be correct) ! Blank delay adjustment problem

There is an problem how to choose the value for the shift of the second half of the image to the first half. The value of the shift , witch is necessary for synch. doubling play depends mainly on graphic resolution used for final playing + monitor refresh rate used. I am just experimenting how much this value depend on graphic card, type of the monitor and synch. doubling unit. If you set this value , you de facto fix the monitor resolution + refresh rate for movie plying. I suggest to fix this value on optimum for 800*600 resolution + 60/120 Hz vertical refresh rate. From testing on several computers the value of 2.3% looks promising. It means for example that if the vertical resolution of the movie is 600 the delay should be 14 lines. For vertical resolution of the movie 480 ->10 line. This value is automatically adjusted in the filter but should be customized by the slider 0 and 1 (Sep + , Sep -) . I do not suggest this correction, because the movie will be playable only on your computer in this case.

The difference between normal stereo picture in above/below format an picture in above/below format suitable directly for viewing via synchronization doubler is illustrated on following picture (schematic):

The original two pictures dimensions are W,H/2 (H=H/2+H/2) for example 800,300 (600). The to images

must be shifted one to other for A*2 points (14, A=7), one A lines up, second A lines down.. If you do not want to scratch the images (computational time consuming, filtering and antialiasing needed) you must cut of A lines on both sides of the images. The result H2= H/2 - 2*A. The blank interval V is necessary for the monitor,

in this case V=4*A (28 lines). The monitor use the V part of picture for returning the electron beam from the bottom part of the screen to the top one if the synchronization doubling is activated. From my experiments it looks like the proper value of A is 7/600*(horizontal size of the movie) if the 800*600 resolution and 60Hz/120Hz freguency for viewing is used. Stereo separation + zooming problem

The human eye can accept from the standard distance from the monitor about 3cm shift of the image for left and right eye (called parallax). Greater parallax could be accepted, when you watch the movie from great distance. Problem with the parallax could come from following source: You make an movie in e.g. 640*480 res. or lover. The parallax is 2 cm or so on 15’ monitor without zooming and it is O.K. Than you zoom it on 800*600 res. + 21’ monitor. The parallax could be 6 cm what look horrible in LCD from normal distance. It is better if the parallax is set to proper value during the movie composition, because the parallax correction of one part of the image could destroy parallax of other parts or the whole movie. The movie should be corrected and left right images shifted if you want to play the video zoomed or if the parallax in the source video is wrong. Parallax could be adjusted by the help the sliders 2 and 3 (Par +, Par -). When such shift is made, only an part of the movie could be used for the final movie. Part of the image corresponding to the shift must be cat off using the Setting in Make Movie-Compression menu. You can cat the borders and re-stretch the film to original resolution in this menu as well. Remember that the result width of the film must be an multiple of 16 if you want to use mpeg2 compression, or better some standard one (see. 3.1). Different parallax correction could be applied on different part of the film. The cut of must correspond to the biggest shift used.

3.2.2 Future plugin

The LR to AB transition (in the transition menu) is suitable for processing of computer animation results and input from two separated cameras ( transition filter name FX-2AB.prm source code FX-TwoAB.pff). This transition combines two data streams for left and right eye into one stream in above/below format. Separation and parallax correction could be adjusted in the same way as in previous filters. The left eye stream should be the first one (placed to the top part of the image). You can switch the left/right stream by the help of the arrow.

I have written an experimental filter adding artificial vertical parallax gradient ( source code - fl-InterlacedABArtifVerParGrad.pff ). This plugin change parallax (and 3D depth as an result) in dependence on the vertical y coordinate. Artificial parallax is adjustable+- by the help of sliders 4,5. Such an effect could be used for 3D titling (make titles like in Star Wars) function e.t.c.

I want to write more plugin for 3D stereo effect creation e.t.c. in the future . Some of them are in experimental stage now like titling function creating time dependent 3D effects. You can write them yourself if you catch the Filter Factory philosophy ....

3.2.3 Comparison of my plugin with Neotek Tri DVD system

The Neotek company ( had produced an similar complete of plugin as I did. The Neotek system is called Tri DVD and it is commercially available from this company on CD with synchronization doubler and LCD glasses. The Tri DVD plugin are in some points better then my own especially in the speed of conversion (aprox. 6 time faster conversion then my version). The parallax adjustment is made in a bit different way, it is not available for two stream merging. The Tri DVD plugin are a bit more user friendly + they have some additional functions. The result is almost identical. The advantage of my plugin is that the source code is available for modification and you do not have to pay for them. If you need quicker conversion you can buy the Neotek Tri DVD.

3.2.4 Using the plugin for Mac Premiere

According the information from Adobe www, the Mac and PC plugin source code are not compatible. In the following table, the source code of Int. AB, Int. RB and LR to AB is given. If you write or copy the text exactly to the proper filed of the Filter Factory it should work on every platform and probably in Photoshop as well. The identical codes have the same color.

                    Plugin Name

Filter Factory channel Int AB Int RB LR to AB

// Interlaced -> above/below stero filter

// Michal Husak 1999

// warnig ! result img. must have the same size as orig.

// blank optimized for 800*600 res 120 Hz

// Interlaced -> red/blue stereo filter

// Michal Husak 1999

// warning ! src. img. must have the same size as res.

// red blue ratio intensity set to 170/ 257


//L+R images -> above/below stero filter

// Michal Husak 1999

// warnig ! result img. must have the same size as orig.

// blank optimized fro 800*600 res 120 Hz

// reg 0 vert delay/2, reg 1 parallax correction

put(((15+val(0,0,15)-val(1,0,15))*Y)/600,0), // vert. shift


y<(Y/2-get(0)) ? src(x-get(1),(y+get(0)/2)*2+1,p) : y>(Y/2+get(0)) ? src(x+get(1),(y-Y/2-get(0)/2)*2,p) : 0

put(-val(4,0,50)+val(5,0,50),0) ,

y%2 ? (77*src(x+get(0),y,0)+150*src(x+get(0),y,1)

+29*src(x+get(0),y,2))/(257-val(0,0,128)+val(1,0,128)) : (77*src(x+get(0),y+1,0)+150*src(x+get(0),y+1,1)


put(((15+val(0,0,15)-val(1,0,15))*Y)/600,0), // vert. shift

put(val(2,0,50)-val(3,0,50),1), // parallax correction

y<(Y/2-get(0)) ?

// Left image (+antialias)


+ src0(x-get(1),(y+get(0)/2)*2+1,p))/2

: y>(Y/2+get(0)) 

// Right image (+antialias)

? (src1(x+get(1),(y-Y/2-get(0)/2)*2,p)


// Blank space

: 0

put(((15+val(0,0,15)-val(1,0,15))*Y)/600,0), // vert. shift


y<(Y/2-get(0)) ? src(x-get(1),(y+get(0)/2)*2+1,p) : y>(Y/2+get(0)) ? src(x+get(1),(y-Y/2-get(0)/2)*2,p) : 0

0 put(((15+val(0,0,15)-val(1,0,15))*Y)/600,0), // vert. shift

put(val(2,0,50)-val(3,0,50),1), // parallax correction

y<(Y/2-get(0)) ?

// Left image (+antialias)


+ src0(x-get(1),(y+get(0)/2)*2+1,p))/2

: y>(Y/2+get(0)) 

// Right image (+antialias)

? (src1(x+get(1),(y-Y/2-get(0)/2)*2,p)


// Blank space

: 0

put(((15+val(0,0,15)-val(1,0,15))*Y)/600,0), // vert. shift


y<(Y/2-get(0)) ? src(x-get(1),(y+get(0)/2)*2+1,p) : y>(Y/2+get(0)) ? src(x+get(1),(y-Y/2-get(0)/2)*2,p) : 0

put(val(4,0,50)-val(5,0,50),0) ,

y%2 ? (77*src(x+get(0),y+1,0)+150*src(x+get(0),y+1,1)

+29*src(x+get(0),y+1,2))/(170-val(2,0,85)+val(3,0,85)) : (77*src(x+get(0),y,0)+150*src(x+get(0),y,1)


put(((15+val(0,0,15)-val(1,0,15))*Y)/600,0), // vert. shift

put(val(2,0,50)-val(3,0,50),1), // parallax correction

y<(Y/2-get(0)) ?

// Left image (+antialias)


+ src0(x-get(1),(y+get(0)/2)*2+1,p))/2

: y>(Y/2+get(0)) 

// Right image (+antialias)

? (src1(x+get(1),(y-Y/2-get(0)/2)*2,p)


// Blank space

: 0


3.2.5 Compressing the movie in above/below format

The final stage of the movie preparation is the final compression. The best way is to compress directly from Adobe Premiere by the help of suitable Adobe plugin compressor . For mpeg2 compression is optimal DVMPEG or bbMpeg. For mpeg1 compression is suitable Panasonic PWI encoder. Xing mpeg1 encoder is not suitable, because it works for mpeg1 standards resolutions only

If you want to recompress the movie using mpeg2 compressor do following:

a) use the lowest possible compression (none is optimal but usually disk space not acceptable)

b) use standard mpeg2 framerate - 24,25 or 30 fps. Indeo 5.01 is an compromise.

c) use audio in uncompressed form , 16 bit 41kHz or 44kHz, check the manual of your mpeg2 encoder for acceptable values

d) use the same output resolution as is the resolution of the source video (especial when the interlaced - above/below conversion is done in this step). You can set some cropping only if you want to change the size of the final movie.

e) be sure to check the Full Size Frame in the Output options Microsoft Video based compression

You can choose witch codec you want. The trouble is that the Microsoft Video codec are not the last word of the technology according to compression rate. Mpeg 2 compression

You can stop your work if you are happy with your stereo-video avi file. But if you want to make an longer movie in hi-quality a mpeg2 compression is necessary. Commercial mpeg2 encoders like DVMPEG (Darim Vision Co. ) or MegaPEG (Digigami) could be used. I have tested DVMPEG and a freely available bbMpeg compressor. DVMPEG is very fast and it works as Adobe Premiere plugin + standard Windows AVI encoder. The problem with DVMPEG is that the speed of encoding has negative influence on the quality. The bbMpeg speed of encoding is slow, you need to save the stream as AVI before encoding, but the result quality is excellent. Compressing the movie using bbMPEG

The compression directly from Adobe Premiere is possible, if you have Premiere 5.0 or higher. In this case bbMpeg works similar to DVMPEG. Compression outside the Premiere could be done in following way:

a) run the bbMpeg

b) open the avi file

c) press the Start Encoding

d) DO NOT press the Start button now !!

e) press Setting and set the framerate in Video Properties to the same value as in your avi

e.g. 24 fp/s with we used in Jurassic park. If you forget to do that, the audio will be not

correctly synchronized with the video signal.

g) I suggest to set the bitrate to 4 000 000 bit/s, some software decoders

have trouble with higher bitrate

h) I suggest to set the square pell option as well

i) You can start encoding now.

The bbMpeg could multiplex existing mpeg2 video-only source with mp2 coded audio as well. This future could be used for example for multiplexing animated stereo-video compressed by another codec. I for example use this future for preparing animated movies, computed and compressed on my SGI workstation using my own UNIX based mpeg2 encoder.

3.2.6 Playing the movie

You can play the stereo movie using standard software mpeg2 DVD players. I have tested Xing DVD and PowerDVD ver. 1.3 . Some HW decoding card could be probably use as well. For the synchronization doubling an playing the NuVision 60 GX SRN doubling unit + 60 GX LCD glasses were used. Information about this product could be found on . A lot of very useful information about different LCD glasses and synchronization doubling unit could be found on You can find there even an manual how to make this unit yourself. Other glasses witch have the necessary sync. doubling unit are H3D glasses and Iart Eye3D glasses. Sorry, ELSA Relevator is not suitable, you will need an sync. doubling unit with DIN-3 connector for this device. NuVison 60GX NSR synch. doubler + LCD glasses

To watch the stereo effect do the following:

a) switch the screen resolution two 800x600

b) switch the refresh rate two 60 Hz, it could be usually done in Windows screen adjustment.

If you do not have this option available, check if your have the proper monitor parameters

adjusted in windows and if you have the latest drivers for your graphic card.

c) start to play the movie in full resolution

d) start the work of synch. doubler unit . Over/Under LED and Power LED should light .

On Nu Vision 60GX SRN it could be done easy by pushing the mode button ... Over/Under LED and Power LED shuld light .

On other products , like the H3D one, some color pattern code could be necessary for activating this mode.

e) Check if you do not have to reverse the eye and enjoy !! Other possible solution

It is principally possible to play the movie in above/below format by the help of HW page flipping. It is necessary to write an special mpeg player witch will do that. The player will decompress the image, restore the vertical size form 1/2 to original. It must cat out the blank interval as well. I have written such an player for SGI based on OpenGL API. For WIN 95 it is necessary to write an alternative video renderer (based on Direct Media technology + Direct X) or an special DirectX based player. I have such an player ( the most important part of code was done by Mr. Sejin Ahn, in alpha version. It use the WIN3D API for output. The main problem is with the speed, even P II 450 MHz have trouble with this operation. It is realy confusing, we have activated all the modern technology options in existing HW ( Direct Draw operation made by graphic card HW, MMX instuction for mpeg decoding, AGP bus, 100 Mhz motherborad + DRAM) but it is still to slow ... About 12 fps for 640x480 movie. Let me know if somebody want to participate in development.

It is possible to convert the image back to interlaced on the flay during playing as well. The devices for watching interlaced images (like VR Joy) could be used for watching. This method does not require special graphic card but the special software is needed again. The WIN3D API could do that. The complete solution is to write an Direct Media alternative Video Renderer again an spec. again.

3.3 Conversion to interlaced mpeg2 (TV compatible format)

The ideal digital format for storing stereo video sequence is an format compatible with both TV stereo viewing sets, DVD technology (TV DVD players, and computers. The big surprise is, that to make an movie in such format is much more easy than to convert an movie to above/below format. The main problem is that specialized non standard mpeg2 player for playback on computer is absolutely necessary.

3.3.1 Theoretical background

The idea of common TV, PC stereo video format is based on standard mpeg2 format definition. Mpeg2 compression was optimized for digital video storing and broadcasting. It achieve compatibility with existing TV systems. Mpeg2 algorithm can compress odd and even interlaced lines separately in different fields. The picture from this two images are not mixed together, the signal is stored in similar way as on an stereo VHS cassette. This is the main advantage of mpeg2 format because it is de facto stereo-capable in its basic definition. Other compression algorithms including mpeg1 are absolutely not suitable for stereo compression of interlaced images (compression ghosting).

3.3.2 Setting of the compression for DVMPEG and bbMpeg

If you want to make an TV compatible format, you most use some of following standardized mpeg2 resolutions using interlaced images:

resolution TV standard full frames/s half frames/s
352x480 NTSC 30 60
352x576 PAL 25 50
720x480 NTSC 30 60
720x576 PAL 25 50

The source must be an digitized stereo video in interlaced format. No rescaling operation in Adobe premiere could be made, because such operation lead to dissolving the interlaced lines ! You can only use cutting operation without rescaling to get some of the resolution listed in the table. None processing parameter in Adobe could be set to some de-interlacing values !

The key is the proper setting of mpeg2 compression. The mpeg2 compression algorithm automatically separate the odd/an even lines, no special plugin is necessary. The standard PAL and NTSC setting for mpeg2 compression work in this way.

In DVMPEG you have to load standard PAL or NTSC setting. The parameter responsible for correct compression to individual fields is the field_frame parameter in MPEG Adv -> MpegSetup setting. The value of this parameter must be Field.

In bbMpeg you must load standard PAL or NTSC setting as well. The key parameter is Progressive Frame parameter in Advanced Video Setting - > General . The value of this parameter must be set to 0 .

I suggest to use DVMPEG for this sort of processing, because I had sometimes trouble with proper bbMpeg setting.

3.3.3 Reinterlacin of computer animations and separated left/right video streams.

If you have a computer animation (streams for left and right eye) , separated streams from two camera or separated odd/even lines streems from NuView camera attachment as the source you must reconstruct the interlaced images. My Create interlaced (FX-2Int.prm, souce code: FX-TwoInterlaced.pff ) transition plugin to Adobe Premiere could do that. The source code of this filter is very easy : a in the A field and, y % 2 ? src0(x,y,p) : src1(x,y,p) text in R,G,B fields of Transition Factory transition. Creation of the interlaced image is the last step in stream creation. Rescaling operation are allowed in this case. The compression setting is the same as in the case of interlaced video source.

3.3.4 Playback of this format on TV

You need an HW mpeg decoding card with composite TV out for playback on TV. I have tested the A2 and A3 version of Sigma Design Real Magic Hollywood Plus card.

You need an standard stereo TV LCD watching glasses system as well. I was testing NuShades Wired and NuShades Wireless from An semi professional combination is using the DIN-3 connector on NuShades Wired controller box for connection with NuVision 60 GX professional glasses.

You can use some more advanced devices for watching e.g. BARCO stereo projecting systems.

An theoretical option for playback is an standard TV DVD player. The streams which you get by this process are DVD format compatible, it is necessary to burn them on DVD and make the authoring process. The main trouble is the high price of DVD burners ( 10 000 $, 100 $ medium). I hope that it will change in the future.

You can save the stream on VHS cassette as an stereo-video movie and play on standard Video Player. This sort of processing is optimal for stereo-VHS cassettes production in small quantities because the quality of the analog source signal is very high. The available PAL/NTSC NTSC/PAL conversion in Sigma Design card is interesting from this point of view. The stereo information is not harmed by this process.

3.3.5 Playback of this format on computer

The de-interlacing algorithms (BOB, WEAVE) used in every commercial MPEG2 player for PC is the key problem for playback of this format on PC. I have written my own  mpeg2 player for this purpose. This player use special non-deinterlacing rendering routines in the final rendering.

Futures of the player:

Futures of the player:

1. Can play mpeg2 stream non deinterlaced , it produce interlaced image without compression ghosting as an result. Such an picture is directly suitable for direct watching in stereo by the help of line-blanking method.

2. On graphic cards with HW page flipping available via OpenGL stereo commands (Fire GL 1000 Pro, ELSA Gloria XL, XXL) the player is able to show the film via HW page flipping. The stereo capable drivers are usually available for NT 4 only.


1. To slow.

2. No time synchronization.

3. Crashes when the audio stream is contained in the source stream. No audio support.

4. No support for WIN 95 HW page flipping via Direct X.

I am not able to solve this trouble myself, it is an work for professionals. If you know about some software company witch have access to fast mpeg2 audio and video routines and is interested in stereo problematic, LET ME KNOW ! ! I can help them to produce the best PC stereo video player in the world. The modification of rendering routines for stereo purpose is very easy, but you must have access to the source code ;( .

3.4 Conversion to anaglyph format

3.4.1 conversion from interlaced source

The conversion of the movie in the interlaced format to an anaglyph movie could be done by the Int RB filter. Plugin file name for this filter is fl-IntRB.prm, source code fl-InterlacedRB.pff . The intensity of red and blue color in the result image is adjustable by the sliders 0,1 resp. 2,3(Red +,Red -, Blue +,Blue -). Parallax could be corrected by the sliders 4,5 (Par +, Par -).

3.4.2 conversion from two separated streams

Adobe Premiere have this future as an standard option. The Three-D transition could do that. It is part of normal Premiere distribution.

3.5 Storing the results

The result of this process is an very long AVI , mpg or .VOB file. Such file could be stored on HD, CD or DVD for future playing. For short movies, the CD is optimal, because modern CD drivers provide the necessary bitrate. About 20 min. of hi-quality stereo-video could be stored on one CD. In lower quality using higher compression the time should be longer. The future is in using DVD media for storing the DVD. The 2 min. Jurassic Part had in result about 100 Mb - such an movie could be transferred on an ZIP diskette.

3.6 Suitable LCD glasses systems for watching

Comparison chart of several LCD glasses system according to stereo-video watching methods

Glasses Syncronization Doubling Line Blanking HW page flipping TV stereo watching 

(with spec. contoller)

Link to buy
StereoGraphics StereoEyes

No No Yes Yes (NuShades wired controller)
NuVision 60 GX standard 

No No Yes Yes (NuShades wired controller) http://
NuVision 60 GX + NSR unit 

Yes No Yes Yes (NuShades wired controler) http://

Yes Yes Yes Yes(NuShades wireles controler) http://
Iart Eye3D 

Yes Yes Yes Yes (Iart controller)
ELSA Relevator No (Yes with sync doubling unit 
with DIN-3 conector like
NuVision NSR or homebrave one)
No Yes ?? NuShades wireless controller
shuld be theoretically compatible

No Yes Yes, great trouble
to sync. for longer time


4. Sample result movie

4.1 above below/format

All the moves are mpeg2 compressed (exception is the Mars, low.res), above below format optimized for 800x600 full screen resolution 60/120 Hz playing with synchronization doubling. I strongly suggest Xing DVD software player (all the movies were tested with this one). The original movie author are listed, the stereo conversion was done by my.

The movies are available from autors on the request. You can contact us at

Others movies are available at in the gallery section.

Picture Movie Name/ Author Res./Size Processing Details
Jurassic Park , Sejin Ahn

640x480 45 Mb


The original movie was recorded by the Nu View camera attachment, details are above. This is the best what could be achived. MJPG captured movie directly transofrmet to above/below. Miro DC20 used for digitalization.
A day from a live of house fly, Neil Alexander,
Fly speaches
512x384, 15 Mb


3 D MAX 2.5 generated animation. Vrex Dept Charge plugin used for sterescopic camera adjustment. Series of .tga images put together in Adobe Premiere.
Landing on Mars, Neil Alexander,
Sound by Jan Cejka
512x384, 16 Mb


An award wining Pov-Ray animation.10 days of computation on SGI R1000. Panasonic encoder used fore mpeg1 compression (combined in Premiere from .tga series)
Poll Shark, Neil Alexander,
Sound by Jan Cejka
512x384, 10 Mb


Another award wining animation from Neil Alexandr
Nice Lady :), author unknown 320x240, 13 Mb


This is a conversion from mpeg file in interlaced format. The original mpeg was de-multiplexed, converted to series of .TGA, processed in Adobe Premiere and directly coded from Premiere by Panasonic plugin to the .m1v stream. The result was then remultiplexed with the original audio stream.
Tattoine racing, 

H. E. Day (Howard Earl)

640x480 8M


Povray animation recomputed in stereo . Converted to above/below in Premiere from series of .tga images. Compresed by the Panasonic plugin to mpeg1. Original film audio soundtrack used.
Michal Husak (me :) ) and a molecule of an zeolite. Autoportret. 720x576 28M

PAL mpg2

Recorded by NuVIew camera attachment. Digitized by AV Master 2000. Converted to above/below in Premiere and directly compressed by bbMpeg.
Crab an rejnock. 720x576 13M

PAL mpg2

Digitized from Santa Barbara into deep stereo VHS cassete (PAL). AV master 2000 , Premiere plugin, bbMpeg used for processing.
The world of Kapo the clown 640x480



Complex animation from an group of Spanish specialists made in 3 D Studio MAX


The company was recently renamed to EjeZeta see

Your own stereo movie ??? Let me know if you have some, I can place it here.


4.2 Interlaced format

Movies in this section could be watched in stereo on TV by the help of HW mpeg2 decompression card and TV viewing set. They can be watched by the help of my non de-interlacing player and LCD glasses with line-blanking contoller.

Picture Movie Name/ Author Res./Size Processing Details Download link
Tattoine racing, 

H. E. Day (Howard Earl)

720x576 10M

PAL mpg2

An interlaced movie was created in Premiere from series of .tga images. DVMPEG compression (field mode) in standard PAL setting was used for compression. No audio. 


Your own stereo movie ??? Let me know if you have some, I can place it here. . . . .

5. Software for download + links

5.1 Freely available tools

Program name Description Link for download
Adobe Premiere

Stereo Plugin

My version of stereo processing plugin described in this article and this text in MS Word format

Experimental stereo mpeg player GLSMpegPlayer v 1.2 + source code for Visual C ++ 5. My own specilaized experimental stereo mpeg player, see 3.3 for details, I have made souce code available for peolpe witch want to participate in deveopment.

bbMpeg mpeg2 encoder

Pov-Ray raytracing program suitable for stereo animation
stereompeg encoder My mpeg2 encoder for series of TGA images, encoding to several experimental formats, above/below format with synch. doubling shift available as setting 9 (UNIX version available on request)  Sorry, still under develpoment E-mail me for beta ver.
XidMary Stereo plugin to 3D Studio MAX 2.x

5.2 Useful commercial programs

Program name Description www pages with additional information
Adobe Premiere professional video editing program
DVMPEG mpeg2 encoding software

Tri DVD commercially avialable plugins for stereo conversion
Power DVD  Mpeg2 playing software


5.3 Other useful links

Description Link
My original stereo-mpeg page, I have stopped to develop this system because an better system based on MS Direct Show is under development now  stereompg.html
General mpeg/DVD compression, playback site. You can get a lot of software for "reduced" price from this link :) .
Stereographic.Com - source of the best profesional LCD glasses , interesting documents and sample codes
NuView homepage, you can order the camera attachment from this page http://
NuVision homepage, very good LCD glasses with synch. doubler unit
The best stereoscopic page on the web !!!, almost every topic covered http://
General mpeg information + list of freely avialable encoders
WIN3D API - universal 3D WIN 95/98 stereo API for a lot of stereo devices
Fast Multimedia - produce the AVMaster 2000 digitalization board Fast multimedia
Pinacle Systems - produce Miro DC 20, DC 30+ and DC 10+ digitalization board Pinacle Systemes
Sigma Design - produce the Real Magic H+ mpeg decompression card Sigma Design 

6. Contact for the author

Every comments, suggestion and information with experiences with this system are welcome.
dr. Michal Husak

  cesky   english