SILK
# SILK

SILK ist ein Datenformat/Verfahren zur verlustbehafteten Audiodatenkompression von Sprachsignalen. Es basiert auf Linear Predictive Coding (LPC). Es wurde von Koen Vos, Søren Skak Jensen und Karsten Vandborg Sørensen für das Unternehmen Skype Technologies S.A. für deren IP-Telephonie-Software Skype entwickelt, das Softwarepatente an dem Verfahren hält.
Neben Skype ist SILK in Sprachkonferenz-Software für die Kommunikation zwischen Online-Computer-Spielern im Einsatz (Steam, Team Fortress 2).

## Technik

Technisch nutzt SILK Linear Predictive Coding (LPC), Tonhöhen-Vorhersage, Rauschformungs-Quantisierung, Pyramid Vector Quantisation (PVQ, eine sphärische Vektorquantisierung) und Bereichskodierung. In einem Modul des Kodierers werden zunächst das durchschnittliche Signal-Rausch-Verhältnis eines Blockes und eine geglättete zeitliche Folge der Signal-Rausch-Verhältnisse unterschiedlicher Subbänder bestimmt und dann anhand derer Sprechpausen und ein Maß für die durchschnittliche spektrale Energieverteilung ermittelt. Das Eingangssignal durchläuft dann zunächst ein Hochpass-Filter (Auto Regressive Moving Average, ARMA) mit einer variablen Grenzfrequenz von 80 bis 150 Hz. Aus dem vorgefilterten Signal wird die (Haupt-)Tonhöhe des Nutzsignales bestimmt.

## Merkmale

Das Verfahren unterstützt Abtastraten zwischen 8 kHz und 24 kHz. Variable Bitraten zwischen 6 kbit/s und 40 kbit/s sind möglich. Die algorithmisch bedingte Übertragungsverzögerung beträgt 25 ms. Der Algorithmus besitzt Mechanismen zur Verschleierung von Paketverlusten.
Die Referenz-Implementierung ist in ANSI-C geschrieben und verwendet ausschließlich Integer-Arithmetik.

## Geschichte

Das Verfahren ersetzt den vorher in Skype verwendeten SVOPC, welcher seinerseits als hauseigene Lösung die von Global IP Solutions lizenzierten Codecs iSAC und iLBC ablöste. Es war drei Jahre lang als separater Entwicklungszweig von SVOPC in der Entwicklung. Es wurde im Januar 2009 auf der Consumer Electronics Show angekündigt und war erstmals in der am 7. Januar 2009 veröffentlichten Skype-Version 4.0 Beta 3 integriert, zu der am 3. Februar die fertige Version veröffentlicht wurde. Am 3. März 2009 erklärte Skype Limited, dass der SILK-Codec bald unter einer kostenlosen Lizenz für Drittentwickler von Hard- oder Software verfügbar gemacht würde. Am 6. Juli wurde das Verfahren bei der Internet Engineering Task Force (IETF) zur Standardisierung eingereicht. Dabei wurde es mitsamt dem Quellcode der in C programmierten Referenzimplementierung offengelegt. SILK ist Grundlage des im September 2010 bei der IETF vorgelegten Hybridverfahrens Opus (früher bekannt als „Harmony“), der eine Obermenge zu dem freien Transformationsverfahren CELT und SILK darstellt.