[Vorbis-dev] Vorbis for digital radio at low bitrates
michael.feilen at tum.de
Tue Mar 23 02:59:17 PDT 2010
A transform length of 960 samples per frame is important to store an integer number of audio frames per audio super frame (ASF). One ASF corresponds to 400 ms of audio in one mode and 200 ms of audio in the other mode. The 400/200 ms are fixed and cannot be changed since then the whole OFDM framing of DRM had to be changed.
Let's do an example for an ASF duration of 200 ms:
At a sample rate of 48 kHz one ASF carries 48 kHz * 200 ms = 9600 samples of audio per channel. Now, 960 samples per frame gives 9600/960 = 10 audio frames per ASF which is a nice integer number.
I think this requirement is somewhat crucial!
Other (bad) solutions:
1) Given the assumption that there is some space for additional ASF index signaling and using a transform length of 1024 samples per frame: then, one had to receive 8 ASFs containing an integer number of 75 audio frames with a transform length of 1024 samples until the audio decoding could be started: (9600 / 1024) * 8 = 75 audio frames corresponding to 200 ms * 8 = 1.6 seconds. This is hardly acceptable.
2) One could use an audio sample rate of 46080 kHz. 46080 kS/s * 0.2 sec per ASF / 1024 samples per audio frame = 9 audio frames per ASF
Any other ideas from you guys?
Von: giles at thaumas.net [mailto:giles at thaumas.net] Im Auftrag von Ralph Giles
Gesendet: Montag, 22. März 2010 17:42
An: Feilen, Michael
Cc: vorbis-dev at xiph.org
Betreff: Re: [Vorbis-dev] Vorbis for digital radio at low bitrates
On 22 March 2010 06:58, Feilen, Michael <michael.feilen at tum.de> wrote:
> My name is Michael Feilen and I've been working on Digital Radio Mondiale (DRM) transmitters and receivers for quite a while now. DRM uses HE-AACv2 by Dolby to encode the audio content (see http://www.drm.org/uploads/media/es_201980v030101p.pdf - pages 23 ff). As I think Vorbis is an excellent alternative, I'd like to implement and define an interface for Vorbis encoded audio as unofficial amendment to the standard and I would be grateful if one of you could help me with the integration.
Sounds great; thanks for supporting free formats!
> The encoder requirements for DRM(+) are:
> * Support for 12 kHz, 24 kHz and 48 kHz sample rates.
This is no problem, although the reference encoder is tuned for 44/48
kHz and will perform better there than at 12 kHz.
> * A frame-format (transform length) of 960 samples per frame. At the moment, the codec seems only to support transform lengths of powers of two (e.g. 512, 1024, ...).
It's worse than that; Vorbis uses a mix of two different transform
lengths. There's no way this requirement can be met by a Vorbis
implementation. Can you explain why this is important?
> * Fixed bitrates from 12 kBit/s to ~128 kBit/s.
This is no problem. The reference encoder supports ABR/CBR output.
More information about the Vorbis-dev