The LLNL visualization team has started a new project named Merlot to
investigate the use of fully digital infrastructures for the delivery
of dynamic imagery. The goal of the Merlot project is to develop a
working infrastructure within which research into various compression
and progressive techniques can be analyzed. The results of this
analysis will be used to help characterize future lab-wide
infrastructure requirements for the support of multiple, digital,
LLNL is currently in the planning stages of ASCI Purple deployment. We
want to deliver imagery at high speeds from Purple and its accompanying
machine to users' offices. Because of the limitations of existing
systems, we need to find an image delivery system that can meet our
We have investigated a system for redirected OpenGL delivery for use in
predicting the network requirements for future deployments. In the
process of that analysis, it became apparent that abstracting image
compression and network transport would be very valuable.
Several related projects exist:
- Sandia's hardware DVI/Analog video over ethernet project
- SGI Vizserver
- HP Sepia
- HP GoldenGate
- RTP/RTSP/other codecs
Each of these projects has important contributions to make to the
general problem of networked image delivery. However, there is a lot of
duplication of effort. No single framework exists to allow researchers to
collaborate and share their work. Merlot is intended to address that
need. MIDAS is intended to be used in any application that needs to
deliver images from one machine to another across a network. It is a
delivery vehicle for image encoding research.
Our application for OpenGL redirection is called MIDAS (Merlot Image
Delivery Application Server). More information on MIDAS, including a
download link, can be found on our MIDAS
To provide the most flexibility, Merlot's archtecture separates network
delivery from image encoding/decoding. And it separates both from the
framework as a whole by delivering their functionality as plugins.
Merlot's functionality is delivered to an application through an API.
This API allows for the loading of various image and network plugins,
which communicate through a plugin manager. Image frames are delivered
to the frame manager, where they be accessed by the image codec. The
image codec delivers encoded frames to the network codec, where they
are delivered across the network to a receiver. And finally, the
session manager allows for Quality of Service (QoS) data to be
communicated from the receiver to the sender so that the performace may
be tuned to the particulars of the network.
Merlot has a taxonomy of image codecs, each of which make different
demands on the framework. Currently, that taxonomy includes:
progressive, lossy, frame-dropping, and QoS-aware.
Merlot is in initial implementation stages. While code exists, it is
not yet mature enough to release. This page will be updated when code
is made available.
More Information This Web page is only
meant to be a brief overview of how Merlot is intended to operate. You
can find a more detailed description in our Merlot Design
For more information about Merlot, contact Sean Ahern