CELT

Template: Infobox file format / Maintenance / Magic number is missing

Constrained -Energy Lapped Transform ( CELT, German about: lapped transform with given energy ) is a ( patent ) Free data format / method for lossy audio data compression with very low codec latency, in order for real-time applications in the processing of typically immediately before the compressed transmission signal generated to cause as little delay ( latency ). The process is documented openly and freely usable by software patent restrictions. It was developed by the Xiph.Org Foundation ( as part of the Ogg codec family) and the codec working group of the Internet Engineering Task Force ( IETF), is, however, now in the development Opus risen. This CELT has been abandoned as a separate format and will be developed only in its SILK with integrated, hybridized form as a layer of Opus. This article deals with the historical, independent format for the integrated form and the place since the integration in Opus developments see the article at Opus.

Properties

The objective is a process for real-time applications. Central desirable characteristic for this is low - latency codec. CELT allows latencies of typically 3 to 9, however, configurable down to under 2 milliseconds, with lower latencies need higher bitrates to get back to achieve comparable quality. CELT undercut significantly the possible with other standard codecs latencies.

It is like the sister project Vorbis a broadband (entire human hearing range mapped ) general-purpose method, without specializing in certain types of signals, which sets it apart from his other sister project Speex. It processes audio signals with sampling rates 32-96 kHz and up to two channels ( stereo ). This format allows in principle transparent results, but also down to bit rates of 24 kbit / s The compression abilities to be significantly superior overall MP3. As another for some real-time applications such as telephony CELT useful property has a very good performance at low bit rates. Here, the sound quality is far superior to using the frequency band folding and Vorbis and even be similar to that of HE- AACv1. In comparative double-blind listening tests, it proved significantly superior to 64 kbit / s as well as HE- AACv1 at ~.

It has a relatively low complexity; the computational effort is similar to the low delay variant of AAC ( AAC -LD ) and adheres to well below that of Vorbis.

It allows constant and variable bit rates. Disappears in pauses and similar cases on the encoder side, the signal in the noise floor, the transmission can be limited to the decoder to signal the bridge with generated comfort noise. Most settings of course, streaming -capable format can be changed in the current data stream.

The format responded robustly to transmission errors. Both the loss of complete packages as well as bit errors can be masked with a uniform increase in interference ( Packet Loss Concealment PLC).

Technology

CELT is a transform codec based on the modified discrete cosine transform ( MDCT) and batches of CELP ( code book for excitation, however, in the frequency domain ).

The original PCM encoded signal is for the MDCT (window function) disassembled into relatively small, overlapping blocks and transformed into frequency coefficients. By choosing a particularly small block length low latency on the one hand allows arises on the other hand, a poor frequency resolution, which must be balanced. To further reduce the latency at the expense of codec slight quality loss by its very nature is practically halved by 50 per cent in each case overlap the MDCT time window by the beginning and end of the window for each eighth of the time the signal is set to zero. Among other things, for the better utilization of inter- block correlations, despite the very short block lengths, the method is stateful and supports the encoding of a CELT block on past data blocks.

The coefficients are grouped into frequency groups, which largely correspond to those of human perception. The total energy content of each group is evaluated, and these energy values ​​are quantized ( = data reduction) and compressed with a prediction by only correction values ​​for the predicted values ​​have to be transmitted (delta - coding).

From the DCT coefficients are respectively the ( unquantized ) energy values ​​calculated out (normalization ). The coefficients of the thus obtained residual signal (English " band- shape" ) with Pyramid Vector Quantization ( PVQ, a spherical vector quantization ) are coded. This encoding produces codewords of a fixed ( predictable ) length, which allows tolerance to bit errors, and continues to make an entropy superfluous. At the end of yet, all output data of the encoder are still packed together with a range coding into a single bit stream. In connection with the PVQ CELT uses a called frequency band convolution technique to afford the reuse coefficient lower for higher frequency bands similar to the spectral band replication ( SBR), and thereby substantially lower implications for the codec latency and complexity ( calculation amount ) has. The increased richness in the corresponding frequency ranges prevents the otherwise commonly occurring interfering chirp artifacts (English " birdie artifacts", " musical noise artifacts" ).

The decoder unpacks the bitstream back into its components, the calculated energy values ​​multiplied separate back together with the DCT coefficient of the residual signal and transfers it to the inverse MDCT again into PCM data. The individual blocks are segmented using a weighted convolution (English " weighted overlap add", WOLA ) put back together. Many parameters are not explicitly transmitted, but instead won the decoder using the same function as in the encoder.

For the channel coupling are / S stereo and Pegeldifferenzstereophonie available at CELT M. Blocks can also be described independently (intra - coded key block ), for example, to allow the decoder an entry into a running stream. Since sharp, high-energy sound events (transients) in transformation codecs can produce audible quantization errors in the entire DCT block, which are masked far less in the backward time direction from transients as then, can be used as anticipatory echoes perceptible artifacts (English "pre- echo artifacts" ) occur. CELT in the blocks can be divided again in each case, in order to counteract such artefacts.

History

2005 was the first one worked at Xiph under the Ghost project on plans and designs for a successor Vorbis (initially in the conversation as Vorbis II). This arose adjacent to the codec plans of Vorbis - creator Christopher Montgomery, lying on the further development of Theora on ice, Jean -Marc valine concept for a very low-latency method. Since 2007, valine developed at CELT and transferred on 29 November the first code in the repository of the project. In December 2007, the first development version 0.0.1 was released, initially named as Code - Excited Lapped Transform. CELT is since July 2009, the IETF as a proposal for a free codec standard for telecommunication over the Internet before, so now the codec working group of the IETF is involved in the development.

As of version 0.9, the previously used pitch prediction in the frequency domain is replaced by a less complex solution with a pre-and a post filter in the time domain, which was contributed by Raymond Chen Broadcom.

With CELT 12:11 on 4 February 2011, the bitstream format has been tentatively set - subject to any, contrary to expectations last of necessary changes.

Although the format is not yet finalized, the process in January 2009 in the IP telephony applications Ekiga and FreeSWITCH and now also Mumble, TeamSpeak and other software will be used. Shortly after the release of the hybrid codec Opus ( formerly known as " Harmony " ) CELT has risen as the foundation of Opus in this and is exclusively developed as part of this follow-up project. Opus is a superset to CELT and SILK method in which the CELT algorithms for an upper frequency component responsible of SILK for the lower. The corresponding design is of the IETF since September 2010.

In April 2011, support for CELT has been added to FFmpeg.

Software

Reference implementation is written in the programming language C program library named libcelt, which is published as free software under Xiphs own dreiklausliger BSD -like license.

Pictures of CELT

171884
de