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: Ogg Vorbis use DCT based algo ? (Read 6053 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Ogg Vorbis use DCT based algo ?

Hi, can you tell me whether Ogg Vorbis use DCT/MDCT based algorithms ??
basically LAME use DCT algorithm for compression. And all lossless audio codecs dont use DCT algorithms.
What I think is that DCT/MDCT based algorithms are lossy(thats obvious) and not close to waveform coding while other algorithms like CELP is waveform coder algorithm.

Is this the reason all lossless audio codecs dont use lossy codec inside them rather they are based on linear prediction ?

----
devilal

Ogg Vorbis use DCT based algo ?

Reply #1
Sorry, but DCT and MDCT are not lossy. They are reversible.

Ogg Vorbis use DCT based algo ?

Reply #2
Quote
Sorry, but DCT and MDCT are not lossy. They are reversible.
[a href="index.php?act=findpost&pid=362950"][{POST_SNAPBACK}][/a]

I don't think he stated that. He says that lossy codecs are based on DCT and MDCT.

Ogg Vorbis use DCT based algo ?

Reply #3
Thanks for your comments and rectifications,
One more thing I noticed(correct me if my experiment is wrong) is this that I encode and decode an audio file with "some codec" and then find the residual signal.
I analysed it with using "some codec = Speex" and "some codec = LAME" and found that even for 44.1 KHz audio, its Speex which gives me smaller residual signal than Lame.
So, what I conclude is if you see the waveform of the reconstructed signal or if you mean it for Lossless Coding i.e. if you are going to encode the residual signal with entropy coding then its important to have a residual as small as possible.
And Speex gives me better. Further Speex is based on CELP and Lame is based on MDCT.

can u suggest me if CELP based algo and/or other algos are more suitable for lossless coding engine than others...!!

---
devilal

Ogg Vorbis use DCT based algo ?

Reply #4
Power if residual signal is increasing with psychoacoustic model quality, by design.
The goal of a psy model is to determine where to introduce degradation instead of having a uniform degradation. Shaping the distortion increases its power, but this does not imply that it will introduce more audible distortions.

Note: computing an mdct does not induce any residue by itself, as this transform is reversible.
Prediction of the signal leads to a residue, as the prediction step (isolated) is not reversible.

Ogg Vorbis use DCT based algo ?

Reply #5
Quote
can u suggest me if CELP based algo and/or other algos are more suitable for lossless coding engine than others...!!
[a href="index.php?act=findpost&pid=362965"][{POST_SNAPBACK}][/a]


Predictive coding algorithms certainly have done better in lossless coders. They almost all use it. The only transform lossless codecs I know if are LTAC and SLS, and I'm not even sure if SLS should be counted here.

Ogg Vorbis use DCT based algo ?

Reply #6
Quote
Thanks for your comments and rectifications,
One more thing I noticed(correct me if my experiment is wrong) is this that I encode and decode an audio file with "some codec" and then find the residual signal.
I analysed it with using "some codec = Speex" and "some codec = LAME" and found that even for 44.1 KHz audio, its Speex which gives me smaller residual signal than Lame.
So, what I conclude is if you see the waveform of the reconstructed signal or if you mean it for Lossless Coding i.e. if you are going to encode the residual signal with entropy coding then its important to have a residual as small as possible.
And Speex gives me better. Further Speex is based on CELP and Lame is based on MDCT.

can u suggest me if CELP based algo and/or other algos are more suitable for lossless coding engine than others...!!

---
devilal
[a href="index.php?act=findpost&pid=362965"][{POST_SNAPBACK}][/a]


Speex (and the CELP coder that it was based on) was specifically designed to code speech only, not music.  The reason for this is that CELP, in a way, models the human vocal tract by an all-pole filter which is used to filter an excitation signal, which models the glottal excitation that's either resonated by the vocal cords (to give pitch periodicity in vowels like /i/) or constricted by the articulators (tongue, lips, etc.) to give your fricatives (like /s/).  Even in terms of residual (error between coded and original speech), CELP does not attempt to minimise that uniformly, but applies a perceptual weighting filter, where more error (or, noise) is shifted to the formant regions (where they get masked).  So CELP isn't anymore lossless than MDCT-based audio coders.  While it may be reaching transparency (where we can't hear the difference), it is certainly not lossless.

Ogg Vorbis use DCT based algo ?

Reply #7
Quote
Sorry, but DCT and MDCT are not lossy. They are reversible.


Yes, and this can be proven via a long and pretty looking equation.  MDCT is primarily used in audio coding to reduce blocking artifacts.
budding I.T professional