exhibit research | NCM | PC07 Greenscreen Poster | Support Page Producer: WOED | Kevin Walker (kevin@exhibitresearch.com)
Contents How it Works
Greenscreen Masking
Troubleshooting
If posters don't appear in the shop (Networking)
Camera
Printer
Computer
Monitors
Cabling & Connections
Lighting
Poster Software
Attract Loop Software
How to Change Posters
How to Install the Software


How it Works

Five buttons on a graphic panel run to a BBI MiniMSC show controller in the crate on the floor. A button press tells the show controller to light that button and darken all the rest. The show controller also sends an ASCII character (1 thru 5) to the computer.

The computer displays a live video feed from the camera, which is connected to one of the computer's two Firewire (IEEE 1394) ports. The computer processes the video signal in real time, to mask out a certain range of colors. (This greenscreen masking is adjustable in a calibration screen.) The computer's monitor signal is sent to the two plasma monitors, turned 90 degrees clockwise. Note that the live video signal is also flipped 180 degrees horizontally (strictly speaking, it is vertically, but since the monitors are turned it appears horizontal). This is done so that the monitor facing the user acts as a mirror -- if the user moves in one direction, they go the same direction on the monitor.

When the Poster software first starts up, it may display the previous poster image with a different background; this is fixed when a button is pressed. When the computer receives a button press, it displays the proper poster behind the masked video signal. The poster image contains an outline which the user(s) can use as a guide in positioning themselves. The computer begins counting down from 10 (the countdown time is also adjustable in the calibration screen). This is accompanied by audio cues, all of which come from the computer, to which a small amp and speaker are connected. At this time, the computer also begins blocking any further button presses.

At zero, the computer changes its masking. It puts up a background image of the poster without outlines (so they do not appear in the picture) and flips the image 180 degrees horizontally (as it appears on the screens). This is done to correct the mirror effect, so that anyone wearing a printed t-shirt will not have the lettering appear backward. The computer grabs a frame of the masked live video feed, and keeps it on the screen for 10 seconds (this time also adjustable in the calibration screen). The computer also tells the show controller to trigger the flash, just after the photo has been snapped, so that the light from the flash does not change greenscreen masking.

While the snapshot is being displayed, the computer saves a copy of it, as well as a smaller, thumbnail-sized copy, in the localimages folder. It then tries to copy the files over the network to the remote location specified in the calibration screen. If the remote computer is not mounted, it tries to mount it. (A spinning cursor appears when this is happening.) If it fails to copy the image on the first try, the computer will beep (sound of ringing glass). If it cannot mount the remote computer, it will write the name of the snapshot file to a text file called IMAGES_NOT_UPLOADED.

Each time the computer takes a snapshot, if the remote volume is not mounted it will try to mount it. When it finally does, if there are images listed in the IMAGES_NOT_UPLOADED file, it will try to copy a few of them along with the newly snapped image. So if the Gift Shop computer has been unavailable for a while while the poster is running, it will take some time for it to copy all of the images -- they will not all appear at once on the shop computer. Once an image has been copied to the remote computer, it is deleted from the Poster computer.

After the specified display time, and after it has tried to copy the image(s) to the remote computer, the computer returns to a live video feed, showing the last selected poster (with people outlines) in the background. It tells the show controller to darken all of the buttons, and it waits for a button press.

After 5 minutes (adjustable in the calibration screen) the computer will run an attract loop. This is a separate program which just displays the latest 10 images in a certain folder. It has its own adjustable settings. When a button is pressed, the computer closes the attract loop and resumes normal operation.


Greenscreen Masking

The Poster software works by making a certain range of colors in the video frame invisible, and if lighting conditions change, the mask will change and must be calibrated again. When the software starts up, it takes a reference frame, so nothing should be in front of the screen. The computer is set to start up at 9 AM. Just in case the house lights are not turned on at that time (thus creating a greenscreen mask which is calibrated to a darkened room), the computer is set to reboot at 9:55 AM. These times are adjustable in the Energy Saver control panel. Instructions for manual calibration follow:

The calibration screen is activated by pressing the spacebar on the keyboard (inside the crate on the floor). IMPORTANT: The computer takes a reference snapshot when the calibration screen is activated, so nothing should be in front of the greenscreen. There are four basic steps to adjust masking:

Step 1: First, a reference frame is taken. This is done automatically upon activation of the calibration screen, but one can be taken manually with the button in Step 1.

Step 2 is choosing a color that will be used for masking. First, make sure that the Remove Background button in Step 3 is unchecked. Click the Step 2 button that says Choose Color. It will change to say Click on a Color. Click somewhere in the middle of the video frame, until the button changes back to say Choose Color.

Then adjust the tolerance slider beneath the button. A value of around 99 usually works best. Adjust the tolerance so that most of the green disappears. At this point, it is helpful to stand in front of the greenscreen, or have someone else stand there while adjusting. Or you can stick your hand in front of the camera, or get up in front of the screen yourself, then go back and adjust as needed.

The set of three numbers beneath the slider represent RGB color values; the center one is green and should be the largest number. These are mainly provided for reference, but numbers can be manually input here.

Step 3: Now activate the Remove Background button, and all of the green should disappear. This compares the incoming video (30 times a second) to the reference frame, and makes invisible anything that is the same. The tolerance slider is best left to about 30, but can be adjusted as needed.

Step 4: These features are provided for fine-tuning the mask, but usually are not needed, and are best left off, as they will slow down the framerate of the video feed. Remove Holes closes gaps in large masked areas, and Grow/Shrink makes the mask larger or smaller in the number of pixels specified.


Troubleshooting

If the computer freezes: Reboot. To make this easy, a hole has been drilled on the front of the computer crate near the bottom. A lighted button is visible inside. This will start up the computer when it is off, but will not reboot it; to do that, press the smaller button just to the right. Hold until the screens go black and you hear the startup sound. Note that the cursor is hidden most of the time, and the program will generally stop when it is doing something like copying a file over the network. Also, while displaying a snapshot, nothing will be moving on-screen.

If the video feed is not clear: First, try unplugging and re-plugging the Firewire cable going into the computer, then reboot (press ESC to exit the Poster program, click at the top of the screen to activate the menu and select Restart from the Special menu).

Error Messages: The computer has a Control Panel called Okey Dokey which says OK to any dialog box that appears on the screen. If an error keeps flashing on the screen, that means that each time Okey Dokey is dismissing it but the error persists. In this case, try pressing the ESC key repeatedly, or holding the Apple (Command) key and pressing the period key repeatedly.

If the message is a Script Error: please make a note of it and email to kevin@woed.com. Pressing OK to one of these errors will attempt to keep running the program. But if the error prevents continued running it will keep appearing, in which case the error must be cancelled (using the ESC or Cmd-. keys) and the program stopped. Then reboot.

If the message is a communication error between the computer and printer: first try rebooting. If that does not work, check the printer power and data cables. On the computer's desktop, go to the Chooser from the Apple (far left) menu, select POSjet, and verify that a USB connection appears in the right-side window.

If the program crashes to the desktop: An error message will be displayed but will probably be immediately dismissed by Okey Dokey, so the computer will be sitting on the desktop. Reboot. If the problem persists, contact kevin@woed.com. You can try reloading the Poster software (download here).


Networking Issues

The Poster and Gift Shop computers are connected via the Appletalk protocol running over the TCP/IP network backbone in the museum. The Shop computer has File Sharing enabled, and the Poster software attempts to mount the Shop computer as a remote volume, whenever it takes a snapshot and it is unable to copy it to the remote location specified in its Calibration settings.

If images are not appearing on the Gift Shop computer, first check the Poster computer. Exit the Poster software (by pressing the ESC key; you may need to click the mouse first). Once on the desktop, see if the volume printstation appears on the desktop.

If not, look in the Poster036b folder. Double-click on the file called mountvolume.applet. If nothing happens for a while and there is a spinning cursor, it probably means that Poster cannot see Print Station on the network.

Go to the Apple Menu/Chooser (click at the top of the screen to activate the menubar), and click on Appletalk. If printstation appears in the right-hand window, run the mountvolume.applet again to mount it. If this does not mount the Print Station, then the login information on Print Station may have changed. This information is set in the File Sharing control panel of Print Station.

If login information has changed, it will need to be changed on the Poster computer as well. Open mountvolume.source on Poster, and enter the new information there. Then choose Save from the File menu, then Save As Run Only, and save as a Classic Applet, with the box that says Never Show Startup Screen checked and the Stay Open box unchecked. Save it as mountvolume.applet, replacing the existing file.

If the Print Station does not mount, and does not appear in the Chooser, verify that Poster has network connectivity by opening Internet Explorer (inside Poster/Applications (OS9) or under the Apple menu under Recent Applications. If it does not connect to anywhere, check the Ethernet cable going into the computer. Call IT Partners if necessary.

If the Poster computer has network connectivity but still does not see Print Station, go to the Gift Shop and verify that Print Station is on and the Ethernet cable is connected. Check its network connectivity and File Sharing settings as above.

Once you have re-established connectivity between the two machines, open the Poster software and press the spacebar to activate the Calibration screen. Click on the location to select the localimages folder of Print Station. (Macintosh HD/Desktop Folder/printstation008/localimages). Take a couple of pictures to verify connectivity.


Camera

To adjust settings for greenscreen:
  • With Poster software running, open camera housing (velcro bellows cover) and pull back to expose camera
  • Open LCD screen beneath camera (held by small latch). Then close black viewfinder to activate LCD screen.
  • Focus: Use button on top of camera to select manual focus mode, use + and - buttons inside LCD panel to adjust focus manually. Have someone stand on the star while you do this. When focus looks good, press the Set/Select button and hold to lock focus.
  • Zoom: Turn wheel on back of camera to adjust so that edges of greenscreen or not visible, and people of various heights can be seen.
  • Exposure: Press the Menu button (inside LCD screen) and use + or - buttons to locate Program AE. Use buttons to scroll to Sports mode. This uses a fast shutter speed and keeps the colors from changing automatically.
  • White Balance: Locate White Balance menu, and set to Manual (MWB). At this point, place something white in front of the camera (so that light falls on it), zoom until white fills the screen, then press and hold Set/Select to set the white balance. Press Set/Select again once to lock the manual setting.
  • Manual Exposure: Press the Exposure button on top of the camera. Use the + and - buttons beneath to set the exposure to +6, the highes setting. Then press and hold Set/Select to hold this setting. Press Set/Select once again to lock. This compensates for the relative dark exposure of the fast shutter speed.
  • Camera Notes: This camera was selected for its small size, Firewire (IEEE 1394) connectivity, and the ability to adjust and hold settings manually. It will keep its settings when turned off and on, except for zoom and focus; therefore it should be left powered on.

    If a tape is inserted, the camera will turn off after five minutes.

    Complete manual for JVC GR_DVP3u is here.


    Computer

    The PowerMac G4 was selected for its stability, flexibility, and ease of setup and maintenance. The software was developed for the Mac, and the particular custom video software runs only on the Mac. A Stealth Serial Port was added (in the modem slot) to provide a direct serial connection to the show controller, negating the need for troublesome serial-to-USB adapters. The corner handles were removed to fit it into the crate. Due to its sideways orientation, the CD drive cannot be used without pulling the machine out of the crate. (To do this, first disconnect all the cables then carefully pull out the machine from the front. Watch out for sharp edges where the corner handles were, and take care not to damage the bottom of the computer on the metal lip on the bottom of the crate.)

    The machine originally specified for this exhibit was a 933MHz G4 with a fast SCSI-2 drive. However, when a power surge destroyed the Bronc computer, the Poster computer moved there, and the 733MHz/IDE G4 formerly for R04 Ranch Women replaced the Poster computer. A faster processor would probably boost its video processing capabilities, but it was deemed adequate for the task. This particular model has 128MB RAM and a Nvidia GeForce2 MX graphics card.

    More information on the G4 is available here.

    Stealth Serial Port driver is here.


    Monitors

    The 37" Hitachi CMP307XU plasma monitors are fed by a single, SVGA (800x600 pixel) resolution RGB signal from the computer's monitor output, run through an RGB splitter box. These monitors are adjusted with buttons on the side (as they are mounted, though the buttons on the lower monitor are covered with a plate to prevent unwanted button presses.

    More information on the CMP307XU is available here.


    Cabling and Connections

    Power: The power strip inside the crate powers the computer, camera, show controller, and amplifier. Power for lights and the flash is also inside the box. The printer is powered behind and beneath the graphic panel.

    Data: An Ethernet cable comes in from the floor to the computer. The printer is directly connected by USB with a cable run from the crate, under the floor, to the printer. A keyboard is plugged into the other USB port, with a mouse plugged into one of the two USB ports on the keyboard. The camera is directly connected with a Firewire cable which runs from the side of the camera (bottom as it is mounted), down through the floor, and up into the crate. The show controller is directly connected to the serial port on the computer, with all cables inside the crate.

    There are some additional cables in the crate, notably a USB/Ethernet bridge which was tried and abandoned during installation.


    Lighting

    The Poster software uses a range of colors to mask the video signal, and the smaller that range of colors, the better the masking. Therefore, greenscreen lighting should make the screen appear as flat as possible so that the software reads it as few green values as possible.

    The large flourescent fixtures on the side of the greenscreen contain greenscreen-compliant Kino-Flo flourescent tubes. The fixtures were pulled away from the screen to provide a more even spread. There is an additional flourescent fixture above the screen, with standard flourescent tubes. Various track lights were aimed to attempt to fill shadows and darker areas.

    The two large spotlights on the floor are meant primarily to light the visitor. Because these were also filling darker spots on the greenscreen, the power switches were removed so that they stay on all the time (though they, as well as the flourescents, could be tied into the general lighting controls).


    Printer

    The Ithaca POSjet receipt printer is connected to the Mac via USB. Make sure this is selected in the Chooser (Exit Poster program, go to Apple Menu/Chooser. Menus are hidden but if clicking at the top of the screen will make them appear.)

    In the Poster program, printing layout is controlled by a file called "barcodeprinting.cst," in the Poster036b folder on the desktop. (Download it here.) To re-install the Dymo Labelwriter, use this barcodeprinting.cst file.

    After heavy use, the Dymo LabelWriter 330 Turbo was deemed unsuitable for this application, due to difficulties with paper spooling and tearing, heat buildup, and communication problems with the computer.

    POSjet Drivers
    POSjet info sheet
    Dymo LabelWriter 330 Turbo drivers


    Poster Software

    Programmed in Director 8.5 for Mac by Daniel Cummings and Kevin Walker. It uses the VideoMask Xtra by Daniel Rozin, modified to support DV input and image flipping. Serial input support is accomplished with Geoff Smith's Serial Xtra. PICT file export is done with Herbert Diamant's f3 Video Xtra. FileXtra3 is used for external file and folder manipulations, and the PrintOMatic Xtra is used for printing receipts.

    Manual Control: Button presses can be simulated with keys 1 through 5 on the keyboard. The "l" key (lower-case L) will manually trigger the Attract Loop, and the "q" will exit the Attract Loop (it runs in a window on top of Poster). The "'" key (single quote) will trigger the software to continuously take snapshots; this was used for testing, and could be utilized for testing network connectivity problems.

    Other Adjustable Parameters: From the calibration screen (press spacebar to activate), the countdown time, time to Attract Loop, snapshot display time, receipt printing, and remote directory can all be specified. Note that the attract loop timeout is in seconds, so for example 300 seconds = 5 minutes. This information is also written in an external text file, in Prefs/posterprefs.txt. This information can be adjusted from this file if necessary, though the Calibration Screen is easier. In the posterprefs file, look for the following parameters: pathToRemoteImages, countDownValueInSeconds, secondsTillAttractLoop, snapDisplayTime.

    Also note the parameter called postercount, as this shows the current number used in naming posters. This number is incremented every time a snapshot is taken. It can be manually set, but if it is set to a low number, it may write over existing files on the remote machine. When it reaches its upper limit, this number will reset back to zero. Since the limit is quite high, it will likely take years to roll over.

    Poster Naming Convention: Each snapshot is named according the incremental counter described above, and padded with zeroes to create an 11-digit filename, in order to comply with the UPC barcode standard. Each file also includes an extension, separated by a dash, which indicates its poster number (1 through 5). Note that the UPC barcode standard adds a random checksum character to the end of each barcode string; this character will not match the poster number, and in fact is discarded by the Print Station software after the barcode is read.

    In general, each file has a unique name which makes them relatively easy to locate (either by computers or humans), especially when paired with the poster number extension and file creation date. In order to locate a particular file, the printed number beneath the barcode can be compared with filenames. We have also provided a printed thumbnail version of the poster for visual searches.

    Video Issues: The video feed displays at DV (720x480) resolution in a window centered in the 800x600 display. If ever the video display shows all white, or an abstract pattern, check the camera connections, and try unplugging and re-plugging in the Firewire cable going into the computer.

    Files & Folders: The Poster software utilizes externally linked files and folders, and if any file or folder names are changed, it will ask for help in locating them. The files poster and displaysnaps are Director movies which can be opened and manipulated in Director; the StartHere file is merely a "stub projector" which opens poster, and it contains no other code. sharedCast and barcodeprinting.cst are Director cast files which also can be opened in Director.

    The IMAGES_NOT_UPLOADED file is a list of files that the program was not able to copy to the remote computer. Each time a snapshot is taken, the program looks at this list and tries to copy some of these files while the current snapshot is being displayed.

    There are a few simple Applescripts provided. mountvolume.applet and mountvolume.source are run-time and authoring versions of a simple Applescript which merely tries to mount a specified remote volume. To change the remote machine, double-click the mountvolume.source file, enter the new location, save, and save as a Run-Only Classic Applet, under the name mountvolume.applet. The first time the app is run, it will come up with a startup screen which must be disabled. You may need to temporarily disable Okey Dokey (see below) before doing this, as it will automatically try to dismiss any dialog box that appears. Also included are Applescripts that reboot and shut down the machine

    The localimages folder holds all of the poster snapshots, at least until they are copied to the remote machine, after which they are removed from the local localimages folder. posterpicts holds the source files for the five posters, and these are linked files for ease of updating (see below). The Prefs folder holds text files that describe parameters read by the poster and displaysnaps programs. The XTRAS folder holds Director Xtras (plug-ins) used by the programs.

    Utilities and Settings: Also installed on the computer are a couple of Control Panels: Okey Dokey is a freeware utility which simulates pressing "OK" to any alert box or error message that appears. The time is adjustable, and it has been set to its fastest setting. No "special apps" are specified, so it will toggle between being on and off.

    There is a Control Panel called iDo Script Scheduler, another utility which triggers Applescripts at specified times. In this case, it is being used to reboot the computer at 9:55 AM every day.

    The monitor resolution should be set to 800x600@75Hz, Millions of Colors (Monitor Control Panel). Sound should be turned on; the keyboard provides keys for adjusting volume or muting. Energy Saver settings should be set so that the computer never goes to sleep or spins down the hard drive. This Control Panel is set to start up and shut down the computer at specified times.


    Attract Loop Software

    Programmed in Director 8.5 for Mac by Daniel Cummings.

    This is a separate program which acts as a slide show for recently snapped posters. This program is important because the plasma monitors can easily have an image burned in permanently if that image is left on the screen too long.

    The program looks in a specified directory for the 10 (or specified number) most recent images, then shows them for a specified time. A button press closes the program and goes back to Poster. In case there are no files in the localimages folder, the default posters have been placed there. (This was done because snapshots are being deleted after they are copied to the Gift Shop computer.)

    Manual Control: Clicking the mouse will bring up the settings screen. Unfortunately, the Poster software wants to hide the cursor, so you may have to move the mouse around a bit to see it. You can also quit (Apple-q), and adjust the settings from the external text file Prefs/displaysnapsprefs.txt. Look for the following parameters in the text file: folderPath (where to get the snapshots: in the localimages folder); displaytime (how long to show each one); totalNumberOfImagesToCycle.

    When the Attract Loop first loads pictures, it displays a default poster picture. This file is externally linked (posterpicts/attract.pct) and can be changed, as long as the name, size and location are kept the same.


    How to Change Posters

    The poster files are in the posterpicts folder, and there are several files for each poster: a full version of the poster, with outlines of people (PICT format); a smaller PICT which shows only the background; a PICT that is smaller but shows all of the details; and a Flash (.swf) file which contains the foreground -- this is placed over the snapshot when a picture is taken.

    All of these files were exported from layered Photoshop files, which have been provided, one for each poster. The full version of each poster, and the Flash file, is 800x600, to match the monitor resolution. The other PICT files are 720x480, to match the size of the video window. Note that they are turned 90 degrees clockwise to match the rotation of the monitors.

    To put in new posters, export files as described above and keeping the names consistent. Make sure the 720x480 files are exactly in the center of the larger files and that everything lines up.


    How to Install the Software

    Requirements:
  • A reasonably fast PowerMac G4 with at least 512MB RAM, running OS 9.1 or higher (but not OS X).
  • Stealth Serial Port installed in the computer's modem port. Serial-to-USB adapters (such as the Keyspan PDA adapter) will work, but have been found to be unstable. If you are using one, settings in the Director program will have to be changed.
  • A video camera with Firewire (IEEE 1394) output (recommended: iBot from Orange Micro). The camera should have manual focus, zoom, exposure, and white balance settings. DV capability is preferred but not necessary.
  • Install Drivers: