| Video Compression Information
This was a post to the Metacreations mail list
back in March of 1998, and things have changed quite a bit in the
field of Codecs for video compression. According to some
professional animators, Apple's QuickTime is the only way to go.
Also, the Sorensen Video Codec has become very popular too. I
guess everyone has their preferences for these things.
I've tried to find Mark to see if he would like
to update this, but I can't find him anywhere. I'm posting this
here as more or less one man's thoughts about it, hoping it may
provide some clues as to how all of this stuff works.
Steve Lareau
Date: 31 Mar 1998 12:09:09 -0800
From: Mark Fedasiuk
Subject: B3D Video Compression Tutorial
Hi Bryce Gang,
Before I started working for MPG (Intel's Microprocessor Design
Group), I used to work for the Multimedia group, there I was
working on the design of the early real time video capture boards,
while the software engineers were working on inventing and
developing 'Indeo'.
Here is a short tutorial to help everyone understand the tricky
concepts of video compression.
For more technical information on Indeo software, FAQ's and
downloads, go to our site at: http://developer.intel.com/ial/Indeo/video/index.htm
Start the good stuff:
So you want to do 20min animations with B3D, but don't have 50
GIGS of disk space on hand huh? Maybe I can help.
****************
What is a Codec?
****************
Codec is short for compression/decompression. I don't know much
about Mac, but in Win95, you can see all of your available codecs
by clicking on 'multimedia' in the control panel, and then
clicking the advanced tab. There you will see a list of all of
your codecs.
Bryce will only list the ones that support compression and
decompression. Some will only do decompression an will not appear
in your list. In case you didn't know, before you animate, you
must tell Bryce what codec to use. Select 'render animation' and
then click on the middle edit tab to get the list.
If you can afford the disk space, just use full frames
uncompressed. This is the best quality, and you can edit/compress
it later if you have something like Adobe Premiere.
If you won't be doing post processing, and want to do long
animations in 'sane' amounts of disk space, you will need to
select a codec.
***********************************
Codecs Win 95 and B3D
***********************************
If you will be compressing anything that looks like 'photo
realistic scenes, you will want to go to the Intel site above and
download the and install the Indeo 5 DEVELOPERS compression suite.
Don't download the playback only ones or Bryce can't use them!
More on this later.
There is a Win95 bug which will confuse 16/32 bit codecs and
double list them and other nasty stuff. If you fool around with
them and then B3D gives you an error when you try and animate, go
to the control panel, and blow away all of your redundant codecs
and reinstall them. Each name can only be listed ONCE or you will
be sorry! If you do download the Indeo codecs, blow away all other
Indeo ones first, as the 5.03 suite is the best, and it WILL
reinstall the most updated versions of Indeo 3, Indeo4, AND Indeo5
so you will have them all.
*****************
Selecting a codec
*****************
There are hundreds of different compression algorithms to choose
from the trick is to pick the right one for the right task. Indeo
is NOT the best choice for all of them so I don't want you to get
the impression that I'm doing a commercial here. I'll explain what
you need to know if you read further.
Here are the four best codecs I know of, and what to use them for:
Indeo 5.03:
Good at-
Best compression ratio. Very good for photo realistic images, or
anything that resembles real motion video (camcorders stuff).
Detailed textures, natural tones.
Bad at-
Deep saturated unnatural colors like much computer animation
stuff. If you are doing simple geometric objects with bold
saturated colors this will not do well. The reason is it uses
luminescence info for compression instead of chrominance, this
certain colors (especially red) will get very blocky when mapped
back. We may fix this.
Cinepak:
Good for scenes with a mix of photo realism and brightly saturated
objects. Not as good compression factor, but this codec changes
it's compression scheme based on the type of animation. Good as a
general codec if you don't know what to use, and aren't looking
for the best compression/data rate factor.
Microsoft Video 1:
Good at deeply saturated computer animated stuff. Not nearly as
good as Indeo for photo realism.
Microsoft RLE:
This is Run Length Encoding. May be even better then Video 1 for
saturated computer animation like stuff, but worst
compression ratio of them all. Haven't done much experimentation
with this.
My favorites:
Indeo for realistic Bryce scenes, and Microsoft Video 1 for
computer animation like stuff.
************************
How to get good quality?
************************
Selecting a codec is not enough. YOU NEED TO SET IT UP!
Go into configure codec if available. There is a quality slider,
but this is defeated if you manually set the data rate. Data rate
is VERY important to balance compression quality and PLAYBACK
SPEED! Read the tech info at the Intel site as it will teach you a
lot!
For very simple scenes which compress very well...like a white
ball on a black background, you can use a very low data rate
like 100k bps. For complex scenes, that might need to go up to
about 200k bps. If you render at 160x120 full frames uncompressed,
your data rate will be about 833k bps.
Data rate is the rate at which the decompressor must stream the
data to the cpu for decode. There are a lot of variables to
determine how high of a data rate your system can support. If you
encode with a data rate too high, you will have problems playing
back and or quality will suffer. You can either experiment and
pick the the data rate which gives you the best balance of
quality/speed, or just use the slider and let the algorithm do the
work for you.
Set the sliders to 100% quality should work for most cases.
For Video one, there are 2 sliders, quality, and something like
temporal locality or something like that. Setting both of these
to 100% gives me great quality for saturated simple animations,
and about 10:1 compression ratio. Indeo 5 gave me 30:1
compression, but unacceptable quality for saturated reds in my
test scene. A saturated red ball on a pure black background is the
absolute worst case quality for Indeo and the algorithm does crazy
mapping, and quality goes to hell. You have to use one of the
others for scenes like this, on the flip side, the compression
ratio of Indeo was stellar.
******************
More info
*****************
I have to go for now, but please browse around the Indeo site and
read all the FAQ's and support info you can as there are some
excellent tutorials already published on how to balance quality,
data rate, key frames, transparency, scalability.
Happy Compressing!
Mark Fedasiuk
Intel
Get
here
from outside?

|