Performace Test: aacenc32.dll vs. AAC-CLI-Encoder

01.05.2006 von Naito

Im vergangenen Wochenende hat mein Duron800 ganz neu kennen gelernt, was es heißt ein Rechenknecht zu sein. Insgesamt musste er 32h 15min Audio in AAC encodieren. Denn nachdem Nero den AAC-CLI-Encoder veröffentlicht hat, kann ich es mir natürlich nicht nehmen lassen, den mal ordentlich auseinander zu nehmen. Was dabei raus gekommen ist, könnt ihr folgenden Tabellen entnehmen.

1. Testsystem

  • AMD Duron @ 832MHz mit 512MB SD-RAM
  • Windows XP Professional incl. SP 2 (no Patches)
  • Nero aacenc32.dll 3.2.0.30 (aus Nero 6.6.1.4)
  • Nero AAC-CLI-Encoder 01.05.2006
  • BeSweet 1.51 Beta31
  • foobar2000 0.9.1 mit AC3-Plugin 0.7 (foo_ac3.dll)
  • 2. Testbedingung (Test Condition)

  • Für das Transcoding mit aacenc32.dll habe ich BeSweet verwendet.
    Die Kommandozeile sah so aus:
    "BeSweet.exe -core( -input AC3.ac3 -output Art-Profil.mp4 -logfile Art-Profil.log ) -bsn( -6chnew -vbr_Profil -codecquality_high -aacprofile_Art)"
    Art ist entweder LC oder HE. Profil reichen von Tape bis Transcoding.
    (Art is LC or HE, Profil is from Tape up to Transcoding)
  • Für das Transcoding VBR mit dem AAC-CLI-Encoder habe ich foobar2000 verwendet.
    - Die Kommandozeile für erzwungenes LC oder HE sah so aus:
    HE (force): "-ignorelength -he -q 0.xx -if - -of %d"
    LC (force): "-ignorelength -lc -q 0.xx -if - -of %d"
    - Die Kommandozeile für „freies“ VBR sah so aus:
    VBR (free): "-ignorelength -q 0.xx -if - -of %d"
    Die xx sind durch die entsprechenden Zahlenwerte zu ersetzen. Das "-" beim Input weist foobar2000 an, eine Pipe zu nutzen.
  • Für das Transcoding ABR hab ich die AC3 mit Hilfe von BeSweet in eine DD-WAV umgewandelt und anschließen den AAC-CLI-Encoder mit einer Batch-Datei gefüttert.
  • Für 5.1@2.0 hab ich das DSP in foobar2000 aktiviert und die gleiche Kommandozeile ausgeführt wie für 5.1
  • Die einzige Quelldatei ist die deutsche Tonspur aus „Ghost in the Shell ~ Stand Alone Complex – Episode 01“. Only one Sourcefile

  • Quelldatei
    bitrate = 448
    codec = ATSC A/52
    channels = 6
    samplerate = 48000
    ----------
    72388608 samples @ 48000Hz = 25:08.096 (Length)
    File size: 84 453 376 bytes = 80,5 MB

    3.1 Ergebnisse (Results): 5.1-Test (unten sind die Interessanten Sachen)

    Einheiten aacenc32.dll 3.2.0.30 CLI (free) CLI (force) CLI
    Profil  HE LC   LC/HE VBR  Hybrid VBR HE LC LC/HE ABR 2pass Abw
    kbps
    Tape
    109
    155
    1,42
    0.10
    n. m.
    0.10
    81
    165
    2,04
    100
    104
    1,04%
    %

    24,3%
    34,6%




    18,1%
    36,8%

    HE
    23,2%

    Groesse

    19,74
    28,23




    14,68
    29,98


    18,80

    Geschw.

    0,85
    084




    1,41
    0,88


    0,82

    kbps Radio
    129
    203
    1,57
    0.15
    101
    0.15
    117
    224
    1,91
    125
    126
    1,01%
    %

    28,8%
    45,3%

    HE
    22,5%

    26,1%
    50,0%

    HE
    28,1%

    Groesse
    23,33
    36,80


    18,33

    21,16
    40,52


    22,82

    Geschw.
    0,85
    0,80


    1,13

    1,23
    0,87


    0,81

    kbps Internet
    140
    307
    2,19
    0.20
    145
    0.20
    153
    286
    1,87
    150
    150
    1,00%
    %

    31,3%
    68,5%

    HE
    32,4%

    34,2%
    63,8%

    HE
    33,5%

    Groesse
    25,34
    55,44


    26,19

    27,69 51,78


    27,10

    Geschw.
    0,85
    0,72


    1,18

    1,19
    0,82


    0,74

    kbps
    Streaming
    172
    381
    2,22
    0.25
    190
    0.25
    191
    347
    1,82
    175
    176
    1,01%
    %

    38,4%
    85,0%

    HE
    42,4%

    42,6%
    77,5%

    HE
    39,3%

    Groesse
    31,10
    68,75


    34,25

    34,52
    62,57


    31,82

    Geschw.
    0,81
    0,68


    1,25

    1,16
    0,82


    0,73

    kbps Normal
    190
    485
    2,55
    0.30
    234
    0.30
    228
    405
    1,78
    200
    198
    0,99%
    %

    42,4%
    108,3%

    HE
    52,2%

    50,9%
    90,4%

    HE
    44,2%

    Groesse
    34,31
    87,51


    42,17

    41,10
    73,17


    35,78

    Geschw.
    0,79
    0,58


    1,19

    1,16
    0,84


    0,73

    kbps Extreme
    273
    625
    2,29
    0.31
    263
    0.31
    235
    417
    1,77
    225
    219
    0,97%
    %

    60,9%
    139,5%

    LC
    58,7%

    52,5%
    93,1%

    HE
    48,9%

    Groesse
    49,26
    112,61


    47,53

    42,43
    75,27


    0,32

    Geschw.
    0,76
    0,44


    0,73

    1,12
    0,81




    kbps Audiophile
    308
    646
    2,10
    0.35
    320
    0.35
    264
    470
    1,78
    250
    242
    0,97%
    %

    68,8%
    144,2%

    LC
    71,4%

    58,9%
    104,9%

    HE
    54,0%

    Groesse
    55,58
    116,36


    57,82

    47,64
    84,70


    43,71

    Geschw.
    0,79
    0,46


    0,82

    1,32
    0,83


    0,74

    kbps Transcoding
    339
    744
    2,19
    0.40
    390
    0.40
    299
    528
    1,77
    275
    274
    1,00%
    %

    75,7%
    166,1%

    LC
    87,1%

    66,7%
    117,9%

    LC
    61,2%

    Groesse
    61,00
    134,09


    70,42

    53,92
    95,19


    49,61

    Geschw.
    0,77
    0,55


    0,79

    1,23
    0,84


    0,50

    kbps



    0.45
    465
    0.45
    334
    586
    1,75
    300
    293
    0,98%
    %




    LC
    103,8%

    74,6%
    130,8%

    LC
    65,4%

    Groesse




    83,93

    60,21
    105,57


    52,91

    Geschw.




    0,81

    1,26
    0,85


    0,51

    kbps



    0.49
    521
    0.49
    362
    633
    1,75
    325
    315
    0,97%
    %




    LC
    116,3%

    80,8%
    141,3%

    LC
    70,3%

    Groesse




    93,92

    65,26
    114,08


    56,83

    Geschw.




    0,84

    1,28
    0,81


    0,51

    kbps



    0.50
    535
    0.50
    n. m.
    644

    350
    337 0,96%
    %




    LC
    119,4%
    n. m. 143,8%

    LC
    75,2%
    Groesse




    96,39

    n. m. 116,14


    0,31
    Geschw.




    0,84

    n. m. 0,84




    kbps









    375
    348
    0,93%
    %










    LC
    77,7%

    Groesse










    0,31

    Geschw.












    kbps









    400
    367
    0,92%
    %










    LC
    81,9%

    Groesse










    0,31

    Geschw.












    kbps









    425
    389
    0,92%
    %










    LC
    86,8%

    Groesse










    0,31

    Geschw.












    kbps









    450
    410
    0,91%
    %










    LC
    91,5%

    Groesse










    0,31

    Geschw.












    durch. kbps

    0,81
    0,63
    2,07

    0,96

    1,24
    0,84
    1,85

    0,59

    Standartabweich

    0,04
    0,15
    0,38

    0,20

    0,09
    0,02
    0,10

    0,20

    durch. overhead

    0,19%
    0,35%


    0,26%

    0,20%
    0,35%


    0,28%
    0,97%
    Abweichungen (bei der Bitrate) bewegen sich im Bereich von ca. 2%. The Deviation of the Bitrate is around 2%.
    0.00 <= 0.15 is HEv2; 0.16 <= 0.30 is HE; 0.31 <= 0.49 is HE+LC (?); 0.50 < 1.00 is LC
    ABR: 100kbps = 100.000bps

    Zu beachten ist, dass die Standardabweichung die Wurzel aus der Varianz ist, die Excel jedoch falsch berechnet. Deshalb ist die Standardabweichung eher mit Vorsicht zu genießen. Da meine Werte jedoch eh keine statisch belegbare Aussage hat, habe ich das Ergebnis nicht korrigiert. Es dient eher zur Orientierung. Der durchschnittle Overhead berechnet sich aus prozentualer Anteil der Dateigröße minus prozentualer Anteil der Bitrate (die Werte sind in der Tabelle im Anhang zu finden).

    3.2 Ergebnisse (Results): 5.1@2.0

    Einheiten CLI (free) CLI (force)
    VBR Hybrid 5.1/2.0  VBR HE 5.1/2.0
    LC 5.1/2.0
    LC/HE
    kbps
    0.10
    24
    n. m.
    0.10
    22
    3,68
    40
    4,13
    1,82
    Größe (MB)
    4,50



    4,03
    3,64
    7,46
    4,02

    Geschwindigkeit
    4,51



    3,41

    2,54


    kbps
    0.20
    42
    3,45
    0.20
    44
    3,48
    79
    3,62
    1,80
    Größe (MB)
    7,64
    3,43


    8,00
    3,46
    14,40
    3,60

    Geschwindigkeit
    2,86



    2,87

    2,11


    kbps
    0.30
    69 3,39 0.30 68 3,35 113 3,58 1,66
    Größe (MB)
    12,60
    3,77


    12,33
    3,33
    20,61
    3,55

    Geschwindigkeit
    2,80



    2,89

    2,12


    kbps
    0.40
    109
    3,58
    0.40
    86
    3,48
    140
    3,77
    1,63
    Größe (MB)
    19,87
    3,54


    15,59
    3,46
    25,41
    3,75

    Geschwindigkeit
    2,16



    2,97

    2,12


    kbps
    0.50
    141
    3,79
    0,56
    102
    n.m.
    186
    3,46
    1,82
    Größe (MB)
    25,71
    3,75


    18,51

    33,69
    3,45

    Geschwindigkeit
    2,07



    2,83

    2,10


    Mittelwert (kbps)


    3,55

    3,50
    3,71
    1,75
    Standardabweichung (kbps)


    0,18

    0,14
    0,26 0,09
    Mittelwert (MB)


    3,62

    3,47
    3,67
    Standardabweichung (MB)


    0,17

    0,13
    0,22

    4. Auswertung (Appraisal of Results)

  • Besonders fällt die Optimierung bei LC im Multichannel auf. Während bei 3.2.0.30 LC im Mittel 2,1-fach größer ist als HE, ist beim CLI-Encoder eine sichtbare Verbesserung zu erkennen (im Mittel 1,85).
  • Interresanterweise ist 5.1 ungfähr 3,5-fach so groß wie die vergleichbare 2.0-Downmix. Dies weißt auf eine immernoch ungenügendes Channelcuppling hin.
  • HE ist nur bis „-q 0.49“ möglich, ab „-q 0.50“ bringt Nero eine Fehlermeldung und verweigert das Encoding.
  • Interessant ist der „freie“ VBR-Modus (-q 0.xx ohne den -lc oder -he Schalter). Hier liegen die Bitraten ganz anders als bei den "(force)"-Einstellungen. (Wahrscheinlich liegt das an internen Encoder-Optimierungen beim Psychoakustischen-Modell?) Ob nun die erzungenen HE- und LC-Schalter ein besseres Ergebnis liefern, wird ein Listening-Test zeigen müssen. Ohne Grund sollte man diese jedoch nicht aktivieren.
  • Übrigens, falls sich jemand fragen sollte „Warum macht der das überhaupt?“. Ganz einfach, es macht mir Spaß.

    Im Anhang findet ihr Screenshots, Grafiken, ausfühliche Tabelle(n) sowie Batch-Dateien und Logs. (foobar2000 hab ich "per Hand" gemacht)

    QUELLE.
    Zuletzt bearbeitet: 11.05.06