PDA

View Full Version : Compressibility test results


Boulder
28th August 2002, 22:07
Hi guys, I did a small compressibility test to check out how the different resizing methods compare to each other and how much TemporalSmoother and Unfilter affect the compressibility of the AVI file.

The clip the test was done on was a one-minute analog TV capture. The aspect ratio was 16:9 and the codec used was Morgan Multimedia MJPEG at the quality setting 98. I know, I should have used Huffyuv so that the compression during capture would have been lossless, but as encoding Huffyuv is much slower than MJPEG, I decided to use the latter one.

Here's the basic script I used:

LoadPlugin("c:\windows\system\mpeg2dec2.dll")
LoadPlugin("c:\windows\system\simpleresize.dll")
LoadPlugin("c:\windows\system\unfilter.dll")
LoadPlugin("c:\windows\system\greedyhma.dll")
AVISource("c:\temp\captures\capture.00.avi")
GreedyHMA(0,0,0,0,1,0,0,0)
#TemporalSmoother(2,1)
#UnFilter(60,60)
#SimpleResize(480,574)
#BicubicResize(480,574)
#BilinearResize(480,574)
AddBorders(0,1,0,1)
ResampleAudio(44100)

The borders were added to avoid the CCE bug/glitch that is mentioned for example in the FitCD docs.

The encoding was done with CCE 2.50SP, one pass VBR MPEG-2, Q=30, min. bitrate 300 and max. bitrate 2588. Upper field first was not enabled, progressive frames and zigzag scan enabled. Intra DC precision was set to 10 and the image quality priority was set to 23.

The results (filesize) with the least compressed first:

SimpleResize, Unfilter 12 544 536
Bicubic 0.75, Unfilter 11 336 880
Bicubic 0.60, Unfilter 11 058 432
Bicubic 0.50, Unfilter 10 900 836
Bicubic standard, Unfilter 10 130 608
Bicubic 0.75, AN=2 10 068 712
Bicubic 0.75, AN=6 9 950 960
SimpleResize, AN=2 9 862 764
Bicubic 0.60, AN=2 9 862 048
Bilinear, Unfilter 9 755 328
Bicubic 0.60, AN=6 9 748 144
Bicubic 0.50, AN=2 9 735 176
Bicubic 0.50, AN=6 9 629 072
SimpleResize, AN=6 9 549 696
Bicubic standard, AN=2 9 151 508
SimpleResize, TS1,1 , Unfilter 9 069 660
Bicubic standard, AN=6 9 058 616
Bilinear, AN=2 8 902 724
BilinearResize, AN=6 8 796 504
Bicubic 0.75, TS1,1 , Unfilter 8 743 856
Bicubic 0.60, TS1,1 , Unfilter 8 567 804
SimpleResize, TS2,1 , Unfilter 8 405 104
Bicubic 0.60, TS2,1 , Unfilter 8 067 236
Bicubic 0.75, TS1,1 7 977 664
Bicubic 0.60, TS1,1 7 841 352
SimpleResize, TS1,1 7 698 736
Bilinear, TS1,1 , Unfilter 7 588 248
Bicubic 0.60, TS2,1 7 468 704
SimpleResize, TS2,1 7 324 780
Bilinear, TS2,1 , Unfilter 7 226 904
Bilinear, TS1,1 7 221 948
Bilinear, TS2,1 7 086 488

Bicubic standard means that no parms were used (b=1/3, c=1/3, that is). AN means the anti noise filter in CCE and TS means TemporalSmoother(2,1) or (1,1). If TemporalSmoother was used, the anti noise filter was set to 2. Unfilter means that the filter was used at 60 horizontal and 60 vertical sharpness.

Any thoughts on this? I hope this is of use to someone out there and that something like this hasn't been posted here (I tried searching but couldn't find any) :)

Boulder
29th August 2002, 09:52
Oops, forgot to add that if Unfilter was used, the anti noise filter was set to 12.

mb1
30th August 2002, 22:54
AddBorders(0,1,0,1)
.....
The borders were added to avoid the CCE bug/glitch that is mentioned for example in the FitCD docs
You missunderstood that bug (meanwhile we are discussing if it is really a bug or genius cce motion detection which is outstanding).

Only if you have minimum one full black macroblock row outside the "coded film pixels" cce tends to encode some macroblocks if you don't resize to black macroblock+1.
But you have coded film pixel height of 574, so there are no extra macroblocks which cce could encode.

Look at the following (attached) pictures (mod please validate).

The first one shows "2.35:1 Letterbox (Resize : 448 x 320 / AddBorder 16/128/16/128)". CCE encodes some of the black macroblocks because it detects motion (blue vectors)

mb1
30th August 2002, 22:59
The second picture shows "2.35:1 Letterbox (Resize : 448 x 318 / AddBorder 16/129/16/129)". CCE did not encode any black boundaries ...

The infos are provided from this (fantastic) site (in german only):
http://www.uni-kassel.de/~eckhardm/Frame2HQ.htm

Homepage (Angel SVCD): http://www.uni-kassel.de/~eckhardm/hq.htm

mb1
30th August 2002, 23:01
Ahh, forgot to say thanks Boulder, interesting findings about compressability. Very good work.

Boulder
31st August 2002, 18:12
I just edited the Avisynth script as FitCD told me to;)

So, am I supposed to do a standard resize of 480,576 and leave 'upper field first' checked?

mb1
1st September 2002, 15:56
Sorry but did you ever read the FitCD.txt completely ?
Also disable the 'Upper Field first'-option, because when activating
it, CCE moves the whole picture 1 pixel upwards, destroying the
optimization. CCE is encoding "Upper Field first" anyway.
If you really need the 'Upper Field first'-option, correct the
'AddBorders'-line of the avisynth-script to have a centered
picture-position in the end.

Always encode with deselected upper field first.

Boulder
1st September 2002, 18:43
Yes I did.. that's why I didn't select it and added the borders. The program itself adds the borders to the script and the docs tell that upper field first should be unchecked. As you told me that I'd misunderstood the CCE thing, I was unsure whether it also applied to the upper field first selection. Thanks for correcting me here:)

mb1
1st September 2002, 22:16
OK, thanks for showing me that FitCD mistake (I thought you selfedited the FitCD-Script because there was no "blocks tv overscan" but you simply unchecked it). I reproduced it. Will inform the author about that.

Now all should be clear. For you and me :)