[Vorbis-dev] Short block encode computation time.

xiphmont at xiph.org xiphmont at xiph.org
Mon Jan 8 18:37:09 PST 2007


On 12/21/06, Doron Veltzer <veltzerdoron at gmail.com> wrote:

> I'm interested in low-latency streaming of small packets of audio captured
> from a sound card.
> I want to focus on the compression computational time (not the transport). I
> have several questions regarding Vorbis :
>
> (1) Vorbis supports block sizes down to 64 samples according to the spec.
> Can I encode, frame, and transport blocks of this size?

Yes.  Using Ogg for it, though, will impose a fairly high overhead for
single packets this small.

> Will the performance
> of a standard vorbis encoder using short sample blocks differ significantly
> from performance with the longer block lengths usually used?

Gods, yes.  In a normal encoder setup using block sizes of 256/2048,
the short blocks are typically only 1/4-1/2 the size of the long
blocks.  So, using only short blocks will incur a compression
performance penalty of 2x to 4x and probably cause nasty blocking
artifacts in pure tones.

> (2) Are such short block lengths compatible with Managed Bitrate modes?

The algorithms are compatable.

> (3) What computation time can I expect  in encoding a 64-sample block?
> 128-sample? (Ordinary, modern P4 platform.)

Dunno, never measured it.

> (4) What are the main sources of computational time in encoding a short
> block?

Frame analysis  The coding itself takes practically no time at all..

> (5) How much of the overall compression is due to perceptual encoding?

80-ish %.

> How
> much due to entropy encoding (huffman)?

20-ish %  It depends alot on how you look at it.

Monty


More information about the Vorbis-dev mailing list