Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Audio (AAC) Compressin Performance (Read 3953 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Audio (AAC) Compressin Performance

Hi,
I have a question here regarding the compression of an audio  stream with any general audio codec and in specific, AAC.
In order to evaluate your decoder, you profile it for certain streams available. But wouldn't the performance varies with the content of the stream ?
Like in video, the compression varies with the amount of motion in the video, i.e. a video conferencing stream or an action movie stream.

Do we(in  Audio) also have this kind of content based performance evaluation?

I understand that using(or not using) certain tools can give you different figure for the same stream. For example, if you do not TNS and PNS in AAC then your performance number (in terms of cycles) will be less.
My question is that if two different streams use same tools, will the performance varies depending upon the content ?? If YES, then are there some standard streams which you test and assign the performance number of your decoder with these streams ??
Or once the AAC decoder is ready with you, you have a single performance count for it?

Please reply.

Audio (AAC) Compressin Performance

Reply #1
Your guesses are correct. A codec's performance does heavily vary dependant on the contents it progresses, that's the case in terms of both video and audio. Same goes for a decoder, if there's more data to decode due to content which produced higher bitrates during encoding, then its performance will be impacted as well. In my experience the best comparisons to evaluate this behaviour can be made by encoding samples of both Classical and Metal music. A typical symphony often consists of easy to progress parts, like a flute playing a solo or a few strings silently playing their notes in a more deliberate moment. Components like these usually cause the bitrate to drop, while the whole orchestra loudly and quickly playing will cause the bitrate to rise, especially if lots of higher-frequency content is present. The latter is notorious for causing troubles during encoding, in modern music the bitrate commonly explodes as soon as the drummer starts to valiantly knock the poor drums around or if hard, electric guitar riffs dominate the scene.

I for my part like listening to Thrash Metal, which is both highly guitar- and drum-driven. I've provided a short sample of Trivium's "Contempt Breeds Contamination" in the upload section. Its average bitrate is a whoppy 115 kbps, though it was encoded using Nero AAC -q 0.35, whose nominal bitrate should be around 100 kbps.

For comparison: The first seconds of Mozart's and Franz Xaver Süßmayr's Requiem, rather silent, average bitrate around 91 kbps.

Lots of different human voices can be a bit harder to encode as well: http://www.hydrogenaudio.org/forums/index....ost&id=2855
Though there's almost nothing except voices and the bass to hear, the average bitrate is way higher than in the sample provided above.

 

Audio (AAC) Compressin Performance

Reply #2
Your guesses are correct. A codec's performance does heavily vary dependant on the contents it progresses, that's the case in terms of both video and audio. Same goes for a decoder, if there's more data to decode due to content which produced higher bitrates during encoding, then its performance will be impacted as well. In my experience the best comparisons to evaluate this behaviour can be made by encoding samples of both Classical and Metal music. A typical symphony often consists of easy to progress parts, like a flute playing a solo or a few strings silently playing their notes in a more deliberate moment. Components like these usually cause the bitrate to drop, while the whole orchestra loudly and quickly playing will cause the bitrate to rise, especially if lots of higher-frequency content is present. The latter is notorious for causing troubles during encoding, in modern music the bitrate commonly explodes as soon as the drummer starts to valiantly knock the poor drums around or if hard, electric guitar riffs dominate the scene.

I for my part like listening to Thrash Metal, which is both highly guitar- and drum-driven. I've provided a short sample of Trivium's "Contempt Breeds Contamination" in the upload section. Its average bitrate is a whoppy 115 kbps, though it was encoded using Nero AAC -q 0.35, whose nominal bitrate should be around 100 kbps.

For comparison: The first seconds of Mozart's and Franz Xaver Süßmayr's Requiem, rather silent, average bitrate around 91 kbps.

Lots of different human voices can be a bit harder to encode as well: http://www.hydrogenaudio.org/forums/index....ost&id=2855
Though there's almost nothing except voices and the bass to hear, the average bitrate is way higher than in the sample provided above.



Thank you for elaborated explanation,

If the performance of a codec varies with the content of the stream it is being tested, for example- classical music or  metal.

Do we have a set of standardized streams to test this?
I mean are there streams to test a decoder and market your decoder by quoting the performance for that bunch of streams.

Though we have test streams from ISO for HE-AAC decoder testing, please tell us if there are standard streams for measuring this kind of content based variation in the performance.

Thanks,