From: RWilson@acorn.co.uk
Newsgroups: comp.multimedia
Subject: Acorn Replay blurb
Date: 11 Nov 92 11:14:44 GMT

If you have the Acorn Replay CD 'VideoClip Collection One' please read the
ProgIf and AE7Doc files inside the !ARMovie resource directory for the
real 'programmer' class information... Of course, if you have this disc and
an Archimedes, I recommend watching the pictures!

Replay's goal in life is to emulate video players: its not to be a computer
driven non linear video editor (buy an EIDOS system at 15,000 pounds complete
if you want that on an Acorn ARM powered machine: EIDOS provide realtime 25fps
sound and video compression and can store 3hrs of material on a 300MByte
magneto optic disc: all editing is previewed on screen).

Replay has no technical limit on framesize, save that the x size must be a
multiple of 8. However you don't want to make large movies in any of them since
they become a sequence of stills... The largest movie I have made in Replay was
320x256 (45 pixel per inch) at 12.5 fps: i.e. it plays at full screen without
using the 'Play Big' option of Replay. It is very impressive, but uses too much
bandwidth to come off a 150KByte per second CD ROM drive: unlike Mac systems,
many Archimedes people don't have enough hard disc space to copy movies to
them... (the 42 second movie is 10724336 bytes!) Replay can play at 12.5 fps on
any 2MByte Archimedes (without going mad reconfiguring it, either!). Replay can
play at 25 fps on any ARM3 powered Archimedes (including the A4 notebook). Most
Replay movies are 160x128 pixels on the VideoClip CD (45 pixels per inch) which
are 1/4 of the screen: Replay expands the movie pixels onto the display pixels
using ordered dithering - differently size ordered dithers support different
physical pixel sizes. Discs like Dictionary of The Living World, Creepy
Crawlies, Frontier 2000, CD-ROM of British Birds etc (all available) use movies
of different sizes, principally to fit in with their screen layout!

Replay currently supports the following sound formats:
  8 bit exponential mono and stereo
  8 bit linear signed mono and stereo
  8 bit linear unsigned mono and stereo
 16 bit linear signed mono and stereo
  4 bit linear ADPCM (represents 16 bit linear) mono and stereo
The Replay 'VideoClip Collection One' has 8 and 16 bit stereo samples of sound
only Replay movies. 16 (and 4 bit ADPCM) sound is run time converted to VIDC1
format on current machines. Replay also supports movies with multiple sound
tracks: a particular track is nominated and the movie is played with that
soundtrack. Replay's sound and video are interleaved in 'chunks' in the file.
On CD-ROMs these chunks are sector aligned: the disc IO process, the
decompression process and the paint process form a pipeline with all parts
simulataneously executing (well, each interrupts the other).

Replay plays from standard speed CD ROMs: on ARM2 machines at 12.5fps and on
ARM3 25 fps. Of course your CD ROM must work at this speed: many people have
poorly connected SCSI busses whose CD ROM drives are not able to run at
150KBytes per second, which has caused a problem when they first run Replay
(though even these drives, retrying all the time, can run at 12.5 fps...). You
also MUST have CDFS 2.10 - earlier ones have awe inspiring bugs! Of course,
Replay movies can come from any fast enough filing system: I have run them from
hard disc (trivial), magneto-optic disc (fairly easy: MO is 1/2 the speed of
hard disc), CD-ROM (lowly Chinon and nice Sony), NFS on Ethernet and AUN on
Ethernet.

Replay uses 15bpp pixels which can be YUV or RGB. In theory Replay's
decompressor addresses any of the 16bpp graphics cards around, in practise I've
only got the PCATS so it might not work on the newer ones. Replay does realtime
ordered dither to 8bpp (or less) screen modes.

Replay writes directly to the screen. However it does so using all the legal
access methods, so works with arbitary modes and graphics enhancers. Replay
doesn't multitask: in the cooperative environment this would lead to dropping
the refresh rate... Replay does have a sound only multitasking player.

Replay can only be played forwards. Thus it can use certain compression
tricks... Of course, with sufficient store, combined use of the key frames and
the compressed stream would allow a movie to be played backwards - but what's
the point?

If Replay cannot paint the pictures fast enough, then it skips painting frames
in order to catch up (allows processing power to be spent on decompressing).
Audio continuity is only broken if the underlying drive is not fast enough.
(Quicktime can load the entire soundtrack first whereas Replay loads it in
blocks dynamically: hence, if the source is not fast enough GET IT FIXED!).

Replay only plots into rectangles of a size specified by the maker of the
movie. However, in the latest version of the decompressor, the window can be
programmed to follow an arbitary trajectory while it is decompressing. All
still at 25fps displayed frames...

Replay and QuickTIme both support arbitary compression systems: for the Mac
there are enough people willing to spend $2500 on a hardware board that people
make them. For the Archimedes only Irlam Instruments have so far shown interest
in hardware compression/decompression commercially: for the ESPRIT project
MULTIWORKS, a moving JPEG hardware board supporting Replay has been built.


Replay news: Irlam Instruments are preparing a low cost capture card: pour
video directly onto your hard disc: all machines should manage 12.5fps, faster
hard discs should manage 25fps. Only provides 1/4 screen (160x128 15bpp YUV)
capture. Price tba, but Acorn User claims 250 pounds.

A patent for Replay's base compression and decompression technology is being
applied for: if its granted you can read it, if its not granted, then I'll
probably end up posting the technical info... Acorn are quite happy to consider
requests for licenses. (The A4's greyscale dithering is already patented in the
UK: ditto for requests). Compression time is 5-10 seconds per frame (mostly due
to exhaustive search for motion).

--Roger
Newsgroups: comp.multimedia