Ogg is the file extension used for Ogg Vorbis audio files. This is a patent free public domain music format.
Vorbis is a completely open, patent-free, professional audio encoding and streaming technology with all the benefits of Open Source. It claims to sound better than MP3 for the same file size, particularly for 64K bitrate and below.
The same MP3 metadata can also be appended to the OGG file, however Vorbis has a defined comment section as well. This section is always UTF-8 coded clear text. The comment section can include the following information.
- TITLE Track/Work name
- ALBUM - The collection name to which this track belongs
- ARTIST - for popular music this is a performer, for classical music this is the composer, for an audio book this is the original author.
- PERFORMER - This is usually omitted if the same as the artist.
- ORGANIZATION - Producer
- DATE - recording date
- LOCATION: recording location
- ISRC - ISRC number for the track
FLAC stands for Free Lossless Audio Codec, an audio format similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality. This is similar to how ZIP works, except with FLAC you will get much better compression because it is designed specifically for audio playback. For audiophiles this will offer distinctly better sound as good as CD quality. Note that the files, even though compressed, are much larger than the equivalent MP3 file.
FLAC supports metadata including: Streaminfo, Application, padding (used to make room to add data after the file is made), seektable, Vorbus comment, cuesheet, and picture.
Speex is a speech compression codec. Speex is based on CELP and is designed to compress voice at bitrates ranging from 2 to 44 kbps. Some of Speex's features include:
- Narrowband (8 kHz), wideband (16 kHz), and ultra-wideband (32 kHz) compression in the same bitstream
- Intensity stereo encoding
- Packet loss concealment
- Variable bitrate operation (VBR)
- Voice Activity Detection (VAD)
- Discontinuous Transmission (DTX)
- Fixed-point port
- Acoustic echo canceller
- Noise suppression
Note that Speex has a number of features that are not present in other codecs, such as intensity stereo encoding, integration of multiple sampling rates in the same bitstream (embedded coding), and a VBR mode. The format will typically have a SPX extension. See also Opus which is based on CELP and and Speex.
Theora is a lossy video codec. OGG-video consists of Theora+Vorbis in an OGG container usually called OGM (OGG Media). It features low overhead muliplexing and instant access seeking.
Theora is a superset of VP3, so VP3 streams (with minor syntactic modifications) can be upgraded to Theora streams without recompression.
Theora currently supports progressive video data of arbitrary dimensions at a constant frame rate in one of several Y'CbCr color spaces. Three different chroma sub-sampling formats are supported: 4:2:0, 4:2:2, and 4:4:4. The Theora format does not support interlaced material, variable frame rates, bit-depths larger than 8 bits per component, nor alternate color spaces such as RGB. Monochrome content can be efficiently encoded. Support for interlaced material is planned for a future version. It is in the same class of codecs as MPEG-1, -2, -4, and H.263.
A video frame in Theora is a two-dimensional array of pixels. Theora divides the pixel array up into three separate color planes, one for each of the Y', Cb, and Cr components of the pixel. The Y' plane is also called the luma plane, and the Cb and Cr planes are also called the chroma planes. The width and height of the frame are required to be multiples of 16. A smaller picture region within the frame does not have this restriction.
There are two frame types, inter-frame and intra-frame. Small blocks are combined into Macro-blocks and motion vectors can be assigned to inter-frame elements.
The format is fully documented on their web site as is an API to use the codec.