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: why can mpc be the best quality encoder? (Read 5905 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

why can mpc be the best quality encoder?

hi all
i had looked through the mpc key tech. page on developer's homepage. now i get some questions:

1. new properity about mpc
  mpc is superior to mp3 because it divide freuqency band into more narrower,(i think it's subband  may be  half of a critical band.) and tune psychoacoustic model  more carefully, (i think, cause of more narrow subband, so can get more correct masking data). the third skill is huffuman coding be optimalized.

2. mpc vs mp3
    because 1, mpc obviously will be better than mp3.

3. mpc vs  aac or ogg
    acc and ogg can get more subband division , same good psy-model and more lossless coding. why do you think aac or ogg be inferior to mpc?

who can give sufficient reasons for that question?

thanks.
YAN

why can mpc be the best quality encoder?

Reply #1
Quote
1. new properity about mpc
   mpc is superior to mp3 because it divide freuqency band into more narrower,(i think it's subband  may be   half of a critical band.) and tune psychoacoustic model  more carefully, (i think, cause of more narrow subband, so can get more correct masking data). the third skill is huffuman coding be optimalized.
Not true. Both methods use filterbanks which divides the sample into 32 frequency bands. MP3 then uses iMDCT to further divide into a total of 1152 frequency bands, however this further division completely removes the time domain resolution of the sample and this causes the biggest problem in transform coders - pre/post echos. MP2/MPC and subband coders don't suffer from pre-echos and are therefore able to achieve better sound quality at higher bitrates.

It is probably easier to apply psychoacoustics to MP3 because of the higher number of frequency bands. For MP2/MPC, you can only choose to encode or not to encode a subband. The disadvantages doesn't seem to affect MPC so much because of some other techniques used and because it's been tuned very fine.

Quote
2. mpc vs mp3
    because 1, mpc obviously will be better than mp3.
For high bitrates and maybe for medium bitrates. At low bitrates you will find it very hard to compress subbands and transform coders will be able to preserve more things in the tight compression.

Quote
3. mpc vs  aac or ogg
    acc and ogg can get more subband division , same good psy-model and more lossless coding. why do you think aac or ogg be inferior to mpc?
AAC and Vorbis don't use subband at all. They apply iMDCT directly to the ~1024 sample window. They can still suffer from pre/post echos because of iMDCT used. However, they do have an advantage in that by not subbanding, they can get perfect reconstruction of sample assuming all coefficients are used and perfectly represented. You can't get perfect reconstruction of original sample if you subband, which is a lossy process.

why can mpc be the best quality encoder?

Reply #2
> For MP2/MPC, you can only choose to encode or not to encode a subband. The disadvantages doesn't seem to affect MPC so much because of some other techniques used and because it's been tuned very fine.

But you can quantise the subband samples depending on the masking from surrounding subbands, as well as utilise temporal masking in them (perhaps even linear quantisers along the entire subband window).  Just by looking at the spectral output of mpc, it rarely seems to discard subbands completely.  Or am I missing something?

> However, they do have an advantage in that by not subbanding, they can get perfect reconstruction of sample assuming all coefficients are used and perfectly represented.

Just curious, how much larger than the original stream would that be?  I guess with AAC you could use sample prediction (however much that actually helps), but storing unaltered MDCT coefficients would be huge wouldn't it?

-h

why can mpc be the best quality encoder?

Reply #3
AAC has two methods of prediction: backward adaptive (MPEG-2 Main, MPEG-4 Main) and linear (used in MPEG-4 LTP profile).

Prediction is useful only for tonal signals (without transients) - performance gain is not too big (but it is perceptually significant)

why can mpc be the best quality encoder?

Reply #4
Quote
Originally posted by Ivan Dimkovic
AAC has two methods of prediction: backward adaptive (MPEG-2 Main, MPEG-4 Main) and linear (used in MPEG-4 LTP profile). 

do you mean  that predictor before coefficients quantization?

Prediction is useful only for tonal signals (without transients) - performance gain is not too big (but it is perceptually significant)


yes. we had ever used that lattice predictor in our mp3 encoder,
about only decrease ~3kbps.
as i know, a predictor used in freuency domain, when occuring a transients in time domain, can get more predicting gain. i guess TNS could be mainly for the purpose.

why can mpc be the best quality encoder?

Reply #5
Quote
Originally posted by tangent
Not true. Both methods use filterbanks which divides the sample into 32 frequency bands. MP3 then uses iMDCT to further divide into a total of 1152 frequency bands, however this further division completely removes the time domain resolution of the sample and this causes the biggest problem in transform coders - pre/post echos. MP2/MPC and subband coders don't suffer from pre-echos and are therefore able to achieve better sound quality at higher bitrates.//////////////////////////

do you think there are only 32 subbands in mpc?

//////////////////////
For high bitrates and maybe for medium bitrates. At low bitrates you will find it very hard to compress subbands and transform coders will be able to preserve more things in the tight compression.
////////////////////////////
yes

/////////////////////////////
AAC and Vorbis don't use subband at all. They apply iMDCT directly to the ~1024 sample window. They can still suffer from pre/post echos because of iMDCT used. However, they do have an advantage in that by not subbanding, they can get perfect reconstruction of sample assuming all coefficients are used and perfectly represented. You can't get perfect reconstruction of original sample if you subband, which is a lossy process.


how does aac deal with transients? just add up masking threshold?

regards.
YAN

why can mpc be the best quality encoder?

Reply #6
Both backward adaptive and LPC prediction tend to predict coefficients and only the prediction error is coded (instead of entire spectrum) - for tonal signals the prediction error is very small and almost no new data is required - but this is too rare in natural music.

AAC deals with attacks on three ways:

1. By using TNS on long blocks (localization of the quantization error in time domain)

2. By increasing local bitrate (so-called pre-echo threshold)

3. By switching to short blocks

When all of these are correctly implemented, the quality can come very close to MPC at high bitrates. Of course, these features offer much more flexibility for medium and low bitrates than MP2 or MPC, for example.

why can mpc be the best quality encoder?

Reply #7
hi

why can't aac override mpc at high bitrate?
as it is said: aac has a high frequency resolution than mpX,also it can solve pre-echo.

another thread: do you think wavelet package audio encoder can get state-of-the-art  one? (high time and frequency resolution).

as if ogg will adopt wavelet transform, but now maybe still use mdct too.


regards.

why can mpc be the best quality encoder?

Reply #8
Quote
But you can quantise the subband samples depending on the masking from surrounding subbands, as well as utilise temporal masking in them (perhaps even linear quantisers along the entire subband window). Just by looking at the spectral output of mpc, it rarely seems to discard subbands completely. Or am I missing something?
The way I understand it, MP2/MPC discards subbands where all the content lie under the masking curve. Quantisation bits is made available to the subband depending on the maximum Signal-to-Mask ratio.
Quote
Just curious, how much larger than the original stream would that be? I guess with AAC you could use sample prediction (however much that actually helps), but storing unaltered MDCT coefficients would be huge wouldn't it?
Yes, storing unaltered MDCT would be huge. I'm just saying "theoretically". In practice, it's nearly impossible, because even with 64bit floats, you would still run into quantisation error which may cause +-1 errors in the reconstructed sample. What happens in practice is that the MDCT coefficients are usually quantised.
Quote
why can't aac override mpc at high bitrate? 
as it is said: aac has a high frequency resolution than mpX,also it can solve pre-echo.
AAC handles preecho very well, but does not necessarily eliminate it. I'd still expect there to be some pre-echo, but brought down to a near-inaudible level. Don't forget it still has to spend more bits and switching to short blocks reduces frequency resolution.
Quote
another thread: do you think wavelet package audio encoder can get state-of-the-art one? (high time and frequency resolution).
Not really, if I understand Discrete Wavelet Transform correctly. From what I've read about DWT, it allows you to tradeoff between time and frequency resolution in different subbands. Subbands can be of different sizes. Smaller subbands will have high frequency resolution and low time resolution.

why can mpc be the best quality encoder?

Reply #9
Quote
Originally posted by tangent
Yes, storing unaltered MDCT would be huge. I'm just saying "theoretically". In practice, it's nearly impossible, because even with 64bit floats, you would still run into quantisation error which may cause +-1 errors in the reconstructed sample. What happens in practice is that the MDCT coefficients are usually quantised.


They guy who wrote LTAC and LPAC (Tillman Liebchen) addressed exactly this problem in his study thesis and the followup master's thesis. Unfortunately his work is in German

He calculates the probability of reconstruction errors and introduces an error correction which is applied following the reconstruction of the sample.

Pretty interesting reading! (for those of you with an academic interest in signal processing/coding)

I personally found in my experiments that with 16 bit samples, following a 1024 point FFT, a precision of 22 bit for the amplitude and 18 bit for the phase information leads to very few reconstruction errors after the inverse FFT -- like in every 20/th FFT block there is just one or a few mismatching samples.

These could be easily corrected by applying an error correcton code (CRC or whatever).

why can mpc be the best quality encoder?

Reply #10
Quote
Originally posted by cbuchner1

I personally found in my experiments that with 16 bit samples, following a 1024 point FFT, a precision of 22 bit for the amplitude and 18 bit for the phase information leads to very few reconstruction errors after the inverse FFT -- like in every 20/th FFT block there is just one or a few mismatching samples.

These could be easily corrected by applying an error correcton code (CRC or whatever).

Hmm... very interesting. The transform would come to 20 bits per sample though. Not exactly a space saving, but it's also much easier to lossless-compress the transform

I think Huffman-RLE would do better than CRC for correcting the bit errors.

Very interesting indeed. Perhaps I'll look up a bit more into lossless compression techniques when I have the time.