kodek 2 - Codec 2

Codec 2 , patentsiz ve açık kaynaklı , düşük bit hızlı bir konuşma ses codec'idir ( konuşma kodlaması ) . Codec 2 , insan konuşması için özelleşmiş bir yöntem olan sinüzoidal kodlamayı kullanarak konuşmayı sıkıştırır . 3200 ila 450 bit/s'lik bit hızları başarıyla oluşturuldu. Codec 2, amatör radyo ve diğer yüksek sıkıştırmalı ses uygulamaları için kullanılmak üzere tasarlanmıştır .

genel bakış

Codec, David Grant Rowe tarafından, diğer araştırmacıların (örn., Opus'tan Jean-Marc Valin ) desteği ve işbirliğiyle geliştirilmiştir .

Codec 2, 3200, 2400, 1600, 1400, 1300, 1200, 700 ve 450 bit/s kodek modlarından oluşur. Diğer düşük bit hızlı konuşma kodeklerinin çoğundan daha iyi performans gösterir . Örneğin, konuşmayı benzer kalitede kodlamak için Advanced Multi-Band Excitation bant genişliğinin yarısını kullanır . Konuşma codec bileşeni, 16 bit PCM örneklenmiş ses kullanır ve paketlenmiş dijital baytlar verir. Paketlenmiş dijital baytlar gönderildiğinde, PCM örneklenmiş ses çıkarır. Ses örnekleme hızı 8 kHz'de sabitlenmiştir.

Referans uygulama açık kaynak ve bir serbestçe kullanılabilir GitHub depo. Kaynak kodu, GNU Kısıtlı Genel Kamu Lisansı'nın (LGPL) 2.1 sürümünün koşulları altında yayımlanmıştır . C'de programlanmıştır ve mevcut kaynak kodu , algoritmanın kendisi bunu gerektirmese de kayan nokta aritmetiği gerektirir. Referans yazılım paketi ayrıca bir frekans bölmeli multipleks dijital ses yazılım modemi ve WxWidgets'a dayalı bir grafik kullanıcı arayüzü içerir . Yazılım Linux üzerinde geliştirilmiştir ve bir Apple Macintosh sürümüne ek olarak Cygwin ile oluşturulan Microsoft Windows için bir bağlantı noktası sunulmaktadır .

Codec bileşeni çeşitli konferanslarda sunuldu ve 2012 ARRL Teknik Yenilik Ödülü'nü ve Linux Avustralya Konferansı'nın En İyi Sunum Ödülü'nü aldı.

teknoloji

Dahili olarak, parametrik ses kodlama algoritmaları, insan sesinin bir modelini kullanarak 10 ms'lik PCM çerçeveleri üzerinde çalışır. Bu ses bölümlerinin her biri sesli (sesli) veya sesli (ünsüz) olarak bildirilir.

Codec 2, konuşmayı modellemek için çok bantlı uyarma kodekleriyle yakından ilişkili olan sinüzoidal kodlamayı kullanır . Sinüzoidal kodlama, üst ton frekansları modelindeki düzenliliklere (periyodiklik) ve harmonik sinüzoid katmanlarına dayanır. Konuşulan ses, konuşmayı, hat spektral çiftleri veya LSP adı verilen bağımsız genliklere sahip harmonik olarak ilişkili sinüs dalgalarının bir toplamı olarak, konuşmacının sesinin (perde) belirlenmiş bir temel frekansının üstünde modelleyerek yeniden oluşturulur . Ve (quantised) hatve ve genlik (enerji) harmonikler kodlanan ve edilmektedir LSP en dijital biçimde bir kanal boyunca değiştirilir ile. LSP katsayıları , frekans alanında Doğrusal Öngörülü Kodlama (LPC) modelini temsil eder ve kendilerini LPC parametrelerinin sağlam ve verimli nicelleştirilmesine verir.

Dijital baytlar, birlikte baytlar halinde paketlenmiş bir bit alanı biçimindedir. Bu bit alanları ayrıca gruplandırılmadan önce isteğe bağlı olarak gri kodlanmıştır . Gri kodlama, ham gönderirken faydalı olabilir, ancak normalde bir uygulama sadece bit alanlarını patlatır. Bit alanları, depolanan veya değiş tokuş edilen çeşitli parametreleri (perde, enerji, sesli boolean, LSP'ler, vb.) oluşturur.

Örneğin, Mod 3200, 64 Bit'e dönüştürülmüş 20 ms sese sahiptir. Bu nedenle, minimum 3200 bit/s veri hızı için her 20 ms'de bir (saniyede 50 kez) 64 Bit çıkacaktır. Bu 64 bit, bit alanlarını açması veya baytları bir veri kanalı üzerinden göndermesi gereken uygulamaya 8 bayt olarak gönderilir.

Başka bir örnek, 40 ms ses gönderilen ve minimum 1300 bit/sn hız için her 40 ms'de (saniyede 25 kez) 52 Bit çıkış veren Mod 1300'dür. Bu 52 bit, uygulamaya veya veri kanalına 7 bayt olarak gönderilir.

Benimseme

Codec 2 şu anda çeşitli radyolarda ve Yazılım Tanımlı Radyo Sistemlerinde kullanılmaktadır.

  • ÜcretsizDV
  • FlexRadio 6000 serisi
  • SM1000
  • quisk
  • M17

Codec2 da entegre edilmiştir FreeSWITCH ve orada yama destek için kullanılabilir Asterisk'in .

Amatör radyo CubeSat LilacSat-1'de (çağrı işareti ON02CN, QB50 takımyıldızı) dünya yörüngesinde bir FM'den Codec2'ye dijital ses tekrarlayıcı vardı ve bu, Uluslararası Uzay İstasyonu'ndan 2017'de fırlatıldı ve ardından konuşlandırıldı .

Tarih

Önde gelen özgür yazılım savunucusu ve radyo amatörü Bruce Perens , 5 kBit/s'den daha düşük hızda çalışacak bir özgür konuşma kodeğinin oluşturulması için lobi yaptı. Kendi geçmişi olmadığı için, 2008'de Jean-Marc Valin'e başvurdu ve Jean-Marc Valin'i Valin ile birkaç kez Speex üzerinde çalışmış olan lider geliştirici David Grant Rowe ile tanıştırdı . Rowe'un kendisi de bir radyo amatörüydü (amatör radyo çağrı işareti VK5DGR) ve konuşma sinyalleri için ses kodekleri ve diğer sinyal işleme algoritmaları oluşturma ve kullanma konusunda deneyime sahipti. 1990'larda konuşma kodlama alanında doktora derecesi aldı ve ilk uydu telefon sistemlerinden birinin ( Mobilesat ) geliştirilmesinde yer aldı.

Görevi kabul etti ve 21 Ağustos 2009'da bir format üzerinde çalışma kararını açıkladı. Doktora tezinden araştırma ve bulgular üzerine inşa etti. Altta yatan sinüzoidal modelleme, 1980'lerin ortalarından itibaren Robert J. McAulay ve Thomas F. Quatieri (MIT Lincoln laboratuvarları) tarafından yapılan gelişmelere dayanmaktadır.

Ağustos 2010'da David Rowe, 0.1 alfa sürümünü yayınladı. Sürüm 0.2, 2011'in sonuna doğru piyasaya sürüldü ve 1.400 bit/sn'lik bir mod ve nicelemede önemli iyileştirmeler getirdi.

Ocak 2012'de linux.conf.au'da Jean-Marc Valin, Rowe'un daha az aşina olduğu çizgi spektral çiftlerinin nicelleştirilmesinin geliştirilmesine yardımcı oldu. 2011/2012 kışında ve ilkbaharda mevcut bit hızı modlarında yapılan birkaç değişiklikten sonra, o yılın Mayıs ayından sonra 2.400, 1.400 ve 1.200 bit/s modları mevcuttu.

700 bit/s bit hızına sahip yeni bir mod olan Codec 2 700C, 2017'nin başlarında tamamlandı.

Temmuz 2018'de Erlangen-Nürnberg Üniversitesi'nde bir yüksek lisans tezinin parçası olarak geliştirilen deneysel bir 450 bit/s modu gösterildi. Vektör nicelemenin akıllıca eğitimiyle, 700C modu ilkesine dayalı olarak veri hızı daha da düşürülebilir.

Referanslar

Dış bağlantılar