Skip to main content

Topic: Ogg Vorbis Development Progress (Read 37013 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • bond
  • [*][*][*][*][*]
Ogg Vorbis Development Progress
Reply #25
Quote
No, multi channel is not still supported. The code which I added is also premised on processing by 2ch stereo.
[a href="index.php?act=findpost&pid=277157"][{POST_SNAPBACK}][/a]

I know, that I know nothing (Socrates)

  • QuantumKnot
  • [*][*][*][*][*]
  • Developer
Ogg Vorbis Development Progress
Reply #26
(I found a serious bug in the first binary I posted here so here is the corrected version)

Time is finally on my side, or at least enough to try out some ideas I've had for fixing the block switching deficiencies of Vorbis 1.1 on microattack samples.

Here is a win32 binary of QKTune Experimental [20050227]:
http://rarewares.org/quantumknot/oggenc-qktune20050227.exe
http://steve8988.homestead.com/files/vorbi...une20050227.zip

For linux:
http://rarewares.org/quantumknot/oggenc-qktune20050227.gz

Features include:

- based on Vorbis 1.1 (no ITP)
- New temporal-based block switching algorithm that assists (not replace) the current Vorbis one (so it can't do any worse than vanilla Vorbis 1.1, I hope)

I've tested this on the Originalsmall.flac  (provided by rotellian) and Bloch_Formule.wv (provided by guruboolez) and it seems to reduce the smearing encountered on both samples at q 4.  Please test this on other samples (esp. those with microattacks) and tell me if something breaks, bitrates fluctuate unusually, etc.  The main focus of this experimental version is for microattacks only and hopefully the bitrate fluctuations in other sections of music are minimised.

Note that the new block switching algorithm has slowed down the encoding somewhat but I'll address that soon.

I will provide a linux binary soon (as soon as a sort out these build problems in vorbis-tools  ).  Also since this is work-in-progress (I've got some more ideas to implement that address coarse rendering and stereo), I'll release the sources when everything is cleaned up and finalised.

Thank you,

QK.

EDIT:  Added static linux binary and second link to win32 binary
EDIT2:  Added observation of slower encoding
  • Last Edit: 27 February, 2005, 02:54:30 AM by QuantumKnot

Ogg Vorbis Development Progress
Reply #27
QuantumKnot: It's not possible for me download your binary 

  • QuantumKnot
  • [*][*][*][*][*]
  • Developer
Ogg Vorbis Development Progress
Reply #28
Quote
QuantumKnot: It's not possible for me download your binary 
[a href="index.php?act=findpost&pid=277458"][{POST_SNAPBACK}][/a]


hmm.....I just tested the link and it seems to work.  Do you have problems access rarewares.org?

Ogg Vorbis Development Progress
Reply #29
Quote
hmm.....I just tested the link and it seems to work. Do you have problems access rarewares.org?


not that I know... I am going to reinitiate my PC.

  • Dologan
  • [*][*][*][*]
  • Members (Donating)
Ogg Vorbis Development Progress
Reply #30
Download link works for me.

  • QuantumKnot
  • [*][*][*][*][*]
  • Developer
Ogg Vorbis Development Progress
Reply #31
Quote
Quote
hmm.....I just tested the link and it seems to work. Do you have problems access rarewares.org?


not that I know... I am going to reinitiate my PC.
[a href="index.php?act=findpost&pid=277468"][{POST_SNAPBACK}][/a]


If it still doesn't work, try the 2nd link.

Ogg Vorbis Development Progress
Reply #32
The link works now  . The problem was my PC.

I tested oggenc-qktune20050227.exe -q6: transparent for me [Originalsmall.flac]

  • QuantumKnot
  • [*][*][*][*][*]
  • Developer
Ogg Vorbis Development Progress
Reply #33
Quote
The link works now  . The problem was my PC.

I tested oggenc-qktune20050227.exe -q6: transparent for me [Originalsmall.flac]
[a href="index.php?act=findpost&pid=277483"][{POST_SNAPBACK}][/a]


Thank you for the test.    I'm also interested in the performance at lower q's, so if you have time, a test of q 4 and 5 would be great

Ogg Vorbis Development Progress
Reply #34
oggenc-qktune20050227.exe -q4: ( 8/8 ) [Originalsmall.flac]; a little smearing.. but a lot better than 1.1RC1

  • Josef K.
  • [*][*][*]
Ogg Vorbis Development Progress
Reply #35
Quantum Knot: I tried both samples with oggenc-qktune20050227.exe -q3 and it seems to me main problems disappeared here:

Bloch_Formule.wv - no block switching problem anymore

Originalsmall.flac - I can't hear this noisy artifact (even with equalizer on in high frequencies). It seems to me there are also some block switching tunings, because there are short blocks here from the very biginning of the sample, not like when encoded with AoTuv b3.

No time to ABX, but in fact I don't no what to ABX.
Great!

Anyway I'v got a question: Foobar info displays this:
vorbis_vendor = Xiph.Org libVorbis I 20040920 (QKTune Experimental [20050227])
Does it mean no orher tunings except these "block switching" ones were made?

Thanks for your work 
Is there a difference between yes and no?

  • QuantumKnot
  • [*][*][*][*][*]
  • Developer
Ogg Vorbis Development Progress
Reply #36
Quote
Anyway I'v got a question: Foobar info displays this:
vorbis_vendor = Xiph.Org libVorbis I 20040920 (QKTune Experimental [20050227])
Does it mean no orher tunings except these "block switching" ones were made?

Thanks for your work 
[a href="index.php?act=findpost&pid=277689"][{POST_SNAPBACK}][/a]


Yes, nothing from Vorbis 1.1 was touched except for the addition of the new block switching algorithm.

  • Enig123
  • [*][*][*]
Ogg Vorbis Development Progress
Reply #37
QuantumKnot, is this version the long-waited wavelet-aided block switching one?

  • QuantumKnot
  • [*][*][*][*][*]
  • Developer
Ogg Vorbis Development Progress
Reply #38
Quote
QuantumKnot, is this version the long-waited wavelet-aided block switching one?
[a href="index.php?act=findpost&pid=277743"][{POST_SNAPBACK}][/a]


No, this is not wavelet-based but it seems to do what I originally intended the wavelet-based one to do quite well.

I've found some special samples (low-pass tonal samples) where the block switching algorithm is choosing short-blocks and the bitrate become excessives, but I've managed to fix this problem and will release it shortly.  However, Block_Formule is the only sample where it fails, so I need to work out how.  It is a very strange sample 

  • HotshotGG
  • [*][*][*][*][*]
Ogg Vorbis Development Progress
Reply #39
Quote
No, this is not wavelet-based but it seems to do what I originally intended the wavelet-based one to do quite well.


Without eleborating to much and getting thrown off track can you even use wavelet's in transform domain via block switching, etc? Everytime I see wavelet papers here and there they are always associate with subband coding  . I don't know that much about wavelet's (nor advanced signal processing for that matter) except for the fact that their scale and translation properties make them mathmatically ellogant for transients in general, but their basis function's just aren't suited for stationary signals.  Math people love talking about these things from a theoretical standpoint and engineer's want to apply them to real world.
budding I.T professional

  • QuantumKnot
  • [*][*][*][*][*]
  • Developer
Ogg Vorbis Development Progress
Reply #40
Quote
Without eleborating to much and getting thrown off track can you even use wavelet's in transform domain via block switching, etc? Everytime I see wavelet papers here and there they are always associate with subband coding  .
[a href="index.php?act=findpost&pid=277770"][{POST_SNAPBACK}][/a]


To be frank, wavelets weren't as impressive as I had expected them to be, unlike in image coding.  For images, wavelets are quite effective at detecting and separating out the edge information from the smooth regions.  But audio is not as smooth as images.  I was testing wavelet packets, where I performed multiple dyadic decompositions with the scaling functions to smooth out the audio and then decomposed the result using the wavelets.  For the Originalsmall.flac and castanets sample, it picked out the transients perfectly.  But I needed do a LOT of dyadic decompositions and the short block size of Vorbis (128) was simply not enough.

Quote
I don't know that much about wavelet's (nor advanced signal processing for that matter) except for the fact that their scale and translation properties make them mathmatically ellogant for transients in general, but their basis function's just aren't suited for stationary signals.  Math people love talking about these things from a theoretical standpoint and engineer's want to apply them to real world.


Certainly for tonal content, MDCT is the best, while wavelets have advantage with short and sharp transients.

Anyway, I'm happy with my current method of dealing with the switch blocking problem for now. I wasn't planning on using wavelets just because it was 'trendy' to do so.
  • Last Edit: 28 February, 2005, 01:32:38 AM by QuantumKnot

  • alter4
  • [*][*][*]
Ogg Vorbis Development Progress
Reply #41
Really good news since my last post!
Thanks a lot for all!!!!!
But this news bring me some reflection
Now vorbis development is really disunite.
Some people made some fine :-) encoder changes... this is all
But nobody rule and mix the tweaks and changes.


With respect    alter4.

  • QuantumKnot
  • [*][*][*][*][*]
  • Developer
Ogg Vorbis Development Progress
Reply #42
QKTune Experimental [20050228]

Changes:

- Fixed excessive high bitrates on low freq. tonals such as this one
- Slightly lower bitrate fluctuations (thanks to above fix)
- Slightly faster encoding (yay!!)

Issues:

- Due to the low freq. tonal fix, block switching on the sample Bloch_Formule is now broken.  I still have no idea why this sample is so strange.


Here is the win32 binary: 

http://rarewares.org/quantumknot/oggenc-qktune20050228.exe


And a static linux binary:

http://rarewares.org/quantumknot/oggenc-qktune20050228.gz


Any feedback would be much appreciated

QK

  • aspifox
  • [*]
Ogg Vorbis Development Progress
Reply #43
Quote
Any feedback would be much appreciated
[a href="index.php?act=findpost&pid=277834"][{POST_SNAPBACK}][/a]

I tried it with some samples of general music and generated-waveforms rather than known 'problem' samples.  It didn't do anything terrible to bitrate (usually much less than 1% increase over oggenc-1.1, at most around 2%) but didn't seem noticably better on these non-problem samples either (note: not ABX'd).

  • Rotellian
  • [*][*]
Ogg Vorbis Development Progress
Reply #44
Good stuff QK, really solves the problem.  I can still ABX it at Q5 (didnt try above this) but not due to the problem.  Tried it at q4 and q3 quickly and again huge improvement over previous encoders of this generation.    Nice one    (but is 228 better than 227 if it doesnt handle Bloch_Formule ?)

  • Josef K.
  • [*][*][*]
Ogg Vorbis Development Progress
Reply #45
I tried ABX Originalsmall.flac against oggenc-qktune20050228.exe -q3.

Code: [Select]
foo_abx v1.2 report
foobar2000 v0.8.3
2005/02/28 22:07:45

File A: file://C:\Documents and Settings\JK\Desktop\Downloads\Testwavs\Originalsmall.flac
File B: file://C:\Documents and Settings\JK\Desktop\Downloads\Testwavs\Originalsmall.ogg

22:07:47 : Test started.
22:09:04 : Trial reset.
22:13:06 : 00/01  100.0%
22:13:21 : 00/02  100.0%
22:13:36 : 01/03  87.5%
22:13:59 : 01/04  93.8%
22:14:24 : 01/05  96.9%
22:14:29 : 02/06  89.1%
22:14:36 : 02/07  93.8%
22:15:19 : 02/08  96.5%
22:15:51 : 02/09  98.0%
22:16:21 : 03/10  94.5%
22:17:03 : 04/11  88.7%
22:17:40 : 05/12  80.6%
22:18:10 : 06/13  70.9%
22:19:07 : 06/14  78.8%
22:19:14 : Test finished.

----------
Total: 6/14 (78.8%)


Wasn't able to hear any differences in the beginning, definitely not these noisy artifacts. Then I started to differ the samples somehow, but very hard to say where's the difference... Bitrate is slightly smaller 131 against 137 with oggenc-qktune20050228.exe -q3

I tried to encode some other samples and "excessive high bitrates on low freqencies" disapeared (jazz music sample with deep bass).

I hope it helps 
Is there a difference between yes and no?

  • QuantumKnot
  • [*][*][*][*][*]
  • Developer
Ogg Vorbis Development Progress
Reply #46
Quote
Nice one    (but is 228 better than 227 if it doesnt handle Bloch_Formule ?)
[a href="index.php?act=findpost&pid=277858"][{POST_SNAPBACK}][/a]


It is regrettable, but the compromise is acceptable, I think.  Either we fix the problem with one sample (Bloch_Formule) and have excessive bitrates on others (227) or break one sample and have normal operation in others (228).  I suspect the problem is deeper than just a block switching one for this sample.  *shrugs*

Many thanks to the above posters for the feedback

  • yong
  • [*][*][*]
Ogg Vorbis Development Progress
Reply #47
New Aoyumi experimental Ogg Vorbis encoder 
http://www.geocities.jp/aoyoume/aotuv/test.html

Ogg Vorbis Development Progress
Reply #48
Quote
New Aoyumi experimental Ogg Vorbis encoder 
http://www.geocities.jp/aoyoume/aotuv/test.html
[a href="index.php?act=findpost&pid=279150"][{POST_SNAPBACK}][/a]

I still see [20050225] on top, and this was already mentioned ?

  • yong
  • [*][*][*]
Ogg Vorbis Development Progress
Reply #49
Opps, i misred this thread 
sorry,
May be i will edit my post...