We would like to express our gratitude to the following companies for providing us with codecs and settings:
We would also like to thank these companies for their technical support and help during our tests.
Codec
|
Developer
|
Version
|
1. DivX
|
DivXNetworks, Inc
|
6.0
|
2. ArcSoft H.264
|
ArcSoft, Inc.
|
dev. version for 19.09.05
|
3. Ateme H.264
|
Ateme
|
1.2.1.6
|
4. ATI H.264
|
ATI Technologies Inc.
|
3.1.2
|
5. Elecard H.264
|
Elecard LTD
|
dev. version for 09.09.05
|
6. Franhofer IIS H.264
|
Fraunhofer Institute for Integrated Circuits
|
dev. version for 20.09.05
|
7. VSS H.264
|
Vanguard Software Solutions, Inc.
|
3.0.2.7
|
8. x264
|
Development group x264
|
revision 293
|
Note: DivX
6.0 is not H.264 codec. It is MPEG-4 ASP codec, it takes part in this testing
only as one of the best representative of previous video codec standard MPEG-4
Sequence
|
Number of frames
|
Frames per second
|
Spatial dimension and color space
|
1. foreman
|
300
|
30
|
352x288(YV12)
|
2. susi
|
374
|
25
|
704x576(YV12)
|
3. bbc
|
374
|
25
|
704x576(YV12)
|
4. battle
|
1599
|
24
|
704x288(YV12)
|
5. simpsons
|
365
|
24
|
720x480(YV12)
|
6. matrix
|
239
|
25
|
720x416(YV12)
|
7. concert
|
390
|
25
|
1664x1088(YV12)
|
The main goal of
this document is an evaluation of the quality of new H.264 codecs, using
objective metrics for comparison. The comparison was done using the settings
provided by the developers for each codec.
During testing following metrics were measured:
PSNR (Y, U, V, L, R, G, B components)
SSIM (Y component)
VQM (Y component)
Blurring (Y, U, V components)
Blocking (Y, U, V components)
Detailed
description of these metrics including VQM and SSIM algorithms could be found
here:
http://www.compression.ru/video/quality_measure/info_en.html
Graph type
|
Total number of graph
|
Inserted into this document
|
Average metric
|
196
|
24 (12%)
|
Relative average
|
196
|
7 (3.5%)
|
Per frame metric
|
1414
|
13 (0.9%)
|
Bitrate Handling
|
14
|
14 (100%)
|
Speed/Quality
|
1960
|
8 (0.4%)
|
Speed
|
16
|
16 (100%)
|
Total
|
3796
|
82 (2%)
|
Sequence title
|
foreman
|
Resolution
|
352x288
|
Number of frames
|
300
|
Color space
|
YV12
|
Frames per second
|
30
|
Source
|
Uncompressed (standard sequence), progressive
|
Picture 1.
Frame 77
|
|
Picture 2.
Frame 258
|
This is one of the most famous sequences. It
represents a face with very rich mimic. Motion is not very intensive here, but
on the other hand it is disordered, not forward. Intricate character of motion
creates problems for the motion compensation process. In addition camera is
shaking that makes the image unsteady. In the end of the sequence camera
suddenly turns to the building site and there follows an almost motionless
scene. So this sequence also shows codec's behavior on a static scene after
intensive motion.
Sequence title
|
susi
|
Resolution
|
704x576
|
Number of frames
|
374
|
Color space
|
YV12
|
Frames per second
|
25
|
Source
|
MPEG-2 (40Mbit), Smart Deinterlace
|
|
Picture 3.
Frame 193
|
This sequence is characterized by high-level
noise and slow motion. In its first part the scene is almost static (the girl
only blinks), then there is some motion (she abruptly moves her head) and then
the scene becomes almost static again. Noise is suppressed on every second
frame due to the B-frames option in MPEG-2 codec.
Sequence title
|
bbc
|
Resolution
|
704x576
|
Number of frames
|
374
|
Color space
|
YV12
|
Frames per second
|
25
|
Source
|
Uncompressed (standard sequence), Smart Deinterlace
|
|
|
Picture 4.
Frame 185
|
Picture 5.
Frame 258
|
This sequence is characterized by pronounced
rotary motion. It contains a rotating striped drum with different pictures and
photos on it. Quality of the compressed sequence can be evaluated by observing
details on these images.
Sequence title
|
battle
|
Resolution
|
704x288
|
Number of frames
|
1599
|
Color space
|
YV12
|
Frames per second
|
24
|
Source
|
MPEG-2 (DVD), FlaskMPEG deinterlace
|
|
Picture 6.
Frame 839
|
This sequence is a fragment of the
"Terminator-2" movie, which represents its very beginning. In terms of
compression this sequence is the most difficult one among all other sequences
that took part in the testing. That is because of three main reasons: constant
brightness changes (explosions and laser flashes, see the picture above), very
quick motion and frequent changes of the scene that make codecs often compress
frames as I-frames.
Sequence title
|
simpsons
|
Resolution
|
720x480
|
Number of frames
|
365
|
Color space
|
YV12
|
Frames per second
|
24
|
Source
|
MPEG-2 (DVD),
progressive
|
|
Picture 7.
Frame 50
|
This sequence is a fragment of "Simpsons" cartoon film. This
is a classical representative of cartoon films: sketchy movement, great number
of monochrome regions with abrupt junctions between them. Previously this
sequence was compressed in MPEG-2 with rather low bitrate.
Sequence title
|
matrix
|
Resolution
|
720x416
|
Number of frames
|
239
|
Color space
|
YV12
|
Frames per second
|
25
|
Source
|
MPEG-2 (DVD), Smart Deinterlace
|
|
Picture 8.
Frame 226
|
This sequence is a fragment of "Matrix" movie. Relatively
simple movement, quite dim colors and small resolution allows codec to treat
this sequence in rather simple way.
Sequence title
|
concert
|
Resolution
|
1664x1088
|
Number of frames
|
390
|
Color space
|
YV12
|
Frames per second
|
25
|
Source
|
MPEG-2 (DVD), Smart Deinterlace
|
|
Picture 9.
Frame 128
|
This sequence is a part of HDTV broadcast of symphonic
orchestra concert. Sequence's spatial resolution is very high. At the same time
motion is rather simple and sometimes it completely disappears. There are two
scene changes in this sequence.
DivX 6.0 is not H.264 codec. It is MPEG-4 ASP codec, it
takes part in this testing only as one of the best representative of previous
video codec standard MPEG-4
This is a VfW (Video for Windows) codec.
Compression was performed using VirtualDub 1.6.10 video
processing program.
Evaluation version of codec works for 6 months.
There were no presets from developers. All tests were
performed using "Home Theater Profile". For different test presets only Codec
Performance settings were changed:
For "Best Quality" mode preset "Insane quality" was
used
For "Best Speed" mode preset "Balanced" was used
|
|
Picture 10.
DivX 6.0
|
Remarks:
Codec shifts source video sequence by one frame while
using its own decoder. With other decoders (specifically, XviD) this effect
disappears. For removing such shift next AviSynth script was used:
clip
= AVISource("source.avi")
clip
= clip.DeleteFrame(0)
clip
= clip.DuplicateFrame(clip.FrameCount()-1)
return
clip
Codec generates an error on "concert" sequence's
compression.
However, despite these drawbacks, codec significantly
improved compression quality in comparison with previous version. On the next
graph there is a comparison between different versions of DivX (metric is
Y-PSNR):
|
Picture 11.
DivX 6.0, DivX 5.21 and DivX 3.22 comparison
|
Console encoding program.
DirectShow filters were used for decoding.
Codec (encoder and decoder) and presets were provided
by ArcSoft, Inc company specially for this test.
Remarks:
Codec works without remarks.
|
Picture 12.
Ateme H.264
|
Console encoding program.
Reference decoder JM9.8 was used for decoding.
Codec and presets were provided by Ateme company
specially for testing.
Remarks:
Codec stores compressed sequence in MPEG4 container.
Program mp4box version 0.4.0 was used for extracting H.264 stream from it.
Console encoding program.
Reference decoder JM9.8 was used for decoding.
Codec and presets were provided by ATI Technologies
Inc. company specially for this test.
Remarks:
Codec has only "Best Speed" preset.
Console encoding program.
Console decoder provided by developers was used for
decoding.
Codec (encoder and decoder) and presets were provided
by Elecard LTD company specially for this test.
Remarks:
Codec works without remarks.
|
Picture 13.
Fraunhofer IIS H.264
|
Console encoding program.
Reference decoder JM9.8 was used for decoding.
Codec and presets were provided by Fraunhofer Institute
for Integrated Circuits IIS specially for this test.
Remarks:
Codec works without remarks.
|
Picture 14.
VSS H.264
|
Console encoding program.
Console decoder was used for decoding.
Codec (encoder and decoder) and presets were provided
by Vanguard Software Solutions, Inc. company specially for this test.
Remarks:
Codec generates an error while compressing "foreman"
sequence.
|
Picture 15.
x264
|
Console encoding program.
Program ffmpeg 2005.09.09 was used for decoding.
This codec is an Open Source project.
Optimal settings were provided by codec's Development
Team.
Remarks:
During decoding ffmpeg
program does not write last frame of video sequence. Therefore we used sequences
with duplicated last frame for this codec.