Skip to main content

Topic: do we really know how good/bad is AC3 encoding? (Read 31637 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • googlebot
  • [*][*][*][*][*]
do we really know how good/bad is AC3 encoding?
Reply #50
Isn't the auditory system's receptivity to pre-echo directly related to its capability to discern closely followed events? So not its temporal resolution regarding the discrimination of stationary signals but its ability to discriminate transients or complex short signals. Once your partition length is above that, the distribution of quantization noise is not just a complex, but solvable, technical problem anymore, but impossible, as I understand it.

Do you have any reference for 2x128 blocks? I could not find anything.
  • Last Edit: 30 March, 2010, 09:30:41 AM by googlebot

  • timcupery
  • [*][*][*][*][*]
do we really know how good/bad is AC3 encoding?
Reply #51
The spec's bad choice of the very long minimum block size of 256 samples makes it pretty hard to improve things as transient handling above a certain point. Even if you employ the best programmers on earth.


That would be one of those assertions that needs to be supported by some real world data. Where's the AC3 listening test performed with the latest-greatest encoders from Dolby?

Otherwise, you're basically messing with TOS 8.

Well Arnold, we've got to make do with the data we have here. The reason that I started this thread was precisely because there seems to be so little information about audio quality of the top AC3 implementations. And if the companies won't offer their encoders for ABX tests, the next best thing we can do is reason through the limits of the format.
Of course we can't make definitive statements about quality based on general understanding of format limitations, but such reasoning based on general understanding is better than nothing.
(note that I'm not saying the particular reasoning you questioned is right or wrong, just saying that this is a valid place for discussion to go in the absence of available data)
God kills a kitten every time you encode with CBR 320

  • SebastianG
  • [*][*][*][*][*]
  • Developer
do we really know how good/bad is AC3 encoding?
Reply #52
Once your partition length is above that, the distribution of quantization noise is not just a complex, but solvable, technical problem anymore, but impossible, as I understand it.

No, it's not. You have 6 blocks per frame and AC3 allows you to allocate more bits to a block that "needs" it (i.e. a block that contains an attack or something like that). These bits can be borrowed from the other blocks. Also, encoders may use noise shaping to temporally shape the quantization noise within a block. Also, encoders may switch to a 2x128 spectral coefficient block. Don't make me repeat myself for a third time. :-)

Do you have any reference for 2x128 blocks? I could not find anything.

Right here: http://multimedia.cx/mirror/a_52b.pdf
Look for "block switch"
Note, this specification tends to deal with window lengths. It often says something like "block length of 512 or 256" but that's just the window size. The number of spectral coefficients is 256 or 128 for the first half and 128 for the second half.

Cheers,
SG

  • googlebot
  • [*][*][*][*][*]
do we really know how good/bad is AC3 encoding?
Reply #53
Sorry for being a PITA, your comments are very insightful, as always.

The spec says:

Quote
In the AC-3 transform block switching procedure, a block length of either 512 or 256 samples (time resolution of 10.7 or 5.3 ms for sampling frequency of 48 kHz) can be employed.

So you can't switch from a 256 sample to a 2x128 sample resolution, but only from 512 to 256*. For the stationary blocks of 512 samples 256 spectral coefficients are computed, for the short blocks of 256 samples (which I was talking about) 2x128 coefficients. So there isn't any additional possible step to increase temporal resolution beyond anything better than 5.3 ms. That should be half the maximum temporal resolution of AAC at the same sample rate or does AAC use blocks of 128 spectral coefficients for blocks of 128 samples?

For the record:

Quote
Normal blocks are of length 512 samples. When a normal windowed block is transformed, the result is 256 unique frequency domain transform coefficients. Shorter blocks are constructed by taking the usual 512 sample windowed audio segment and splitting it into two segments containing 256 samples each. The first half of an MDCT block is transformed separately but identically to the second half of that block. Each half of the block produces 128 unique non-zero transform coefficients representing frequencies from 0 to fs/2, for a total of 256. This is identical to the number of coefficients produced by a single 512 sample block, but with two times improved temporal resolution. Transform coefficients from the two half-blocks are interleaved together on a coefficient-by-coefficient basis to form a single block of 256 values.


* Not, that you would have said anything else. But you were talking about the number of coefficients, I was talking about the corresponding number of time domain samples.
  • Last Edit: 30 March, 2010, 04:43:38 PM by googlebot

  • krabapple
  • [*][*][*][*][*]
do we really know how good/bad is AC3 encoding?
Reply #54
Well Arnold, we've got to make do with the data we have here. The reason that I started this thread was precisely because there seems to be so little information about audio quality of the top AC3 implementations. And if the companies won't offer their encoders for ABX tests, the next best thing we can do is reason through the limits of the format.



The DTS Pro Packer/Encoder/Encrypter software package (with no malware attached) is certainly floating out there in the interweb ether for, um, evaluation.  Don't know about pro level AC3 encoders but I would not be surprised if it's the same story.

I think the problem withlistening test  comparison would still makins sure it was apples to apples.  For awhile, both companies were putting out battling white papers touting themselves over the other, and matching the test conditions for both codecs was always a point of contention even in those.  What would be an equivalent settings for DTS vs AC3 in a comparison test.  Clearly just using the same bitrate is not correct.
  • Last Edit: 30 March, 2010, 04:42:56 PM by krabapple

  • SebastianG
  • [*][*][*][*][*]
  • Developer
do we really know how good/bad is AC3 encoding?
Reply #55
[...] That should be half the maximum temporal resolution of AAC at the same sample rate

No it's not. If you define "time resolution" the way the AC3 spec does, then AAC also has a "time resolution" of only 5 ms. I put "time resolution" in quotes because I think that's just really a bad way of putting it and causing people to get the wrong idea. These time/frequency partitions don't inherently limit what signals you can represent.

or does AAC use blocks of 128 spectral coefficients for blocks of 128 samples?

In "AC3 spec speak" (the spec kind of uses "block" interchangably with the analysis/synthesis windows): One AAC mode has "256 sample blocks" that overlap 50% and produce 128 spectral coefficients each.

Possible AAC time/frequency partitions:
- 1x1024 coefficients per frame (1024 frequency bands)
- 8x128 coeffiicients per frame (128 frequency bands)

Possible AC3 time/frequency partitions:
- 1x256 coefficients per block (256 frequency bands)
- 2x128 coefficients per block (128 frequency bands)
- A frame divides the time into 6 consecutive blocks
  • Last Edit: 31 March, 2010, 03:33:31 AM by SebastianG

  • googlebot
  • [*][*][*][*][*]
do we really know how good/bad is AC3 encoding?
Reply #56
Thank you!

  • chrizoo
  • [*][*][*][*]
do we really know how good/bad is AC3 encoding?
Reply #57
You can hardly rip a blu-ray with a mono-core barton sempron 3000+  so I gave up anyway.

You don't need a powerful computer, just a big hard drive and the tools (which I think would violate TOS if I mentioned). There's no transcoding necessary, and there are now many (though mostly unreliable due to bugs) HDMI solutions that will bitstream the bluray codecs even from individual files.

Why would it violate the TOS? After all the software is not illegal, is it?

do we really know how good/bad is AC3 encoding?
Reply #58
AC3 is unable to satisfy such a capability with 5.3 ms long samples. As said, no programmer or "latest-greatest encoder" from Dolby can go beyond that.

This is nonsense. You're implying that a codec using a filterbank with 256 banks isn't able to represent arbitrarily small time shifts. This is wrong for the same reason why this is wrong: people claiming -- just because PCM is sampled -- it's not able to represent sub-sample time shifts. Yes it is. And so is AC3. Sampling just limits the signal bandwidth, nothing else.


+1.



  • googlebot
  • [*][*][*][*][*]
do we really know how good/bad is AC3 encoding?
Reply #59