aspose.info
HU

iLBC Audio Formátum Útmutató: Jellemzők, Architektúra és Hogyan Nyissuk Meg a .ilbc Fájlokat

Frissítve

1. Mi az iLBC audio formátum?

A Internet Low Bitrate Codec eredetileg a Global IP Solutions (GIPS) által lett létrehozva – egy svéd audio mérnöki vállalat, amelyet a Google 2010-ben felvásárolt. Az Internet Engineering Task Force által definiált RFC 3951 és az RFC 3952-ben leírt RTP payload kapszulázás alapján, az iLBC kifejezetten a stabil beszédátvitelre lett tervezve instabil IP kapcsolatokon.

Miközben a modern webböngészők gyakran az Opus kodeket használják a korszerű valós idejű kommunikációhoz, az iLBC továbbra is kulcsfontosságú, jogdíjmentes szabvány, amely be van ágyazva vállalati telefoniai rétegekbe, SIP kliensekbe, WebRTC visszafelé kompatibilitási profilokba, valamint a Cisco, Polycom és Asterisk PBX rendszerek által gyártott régi VoIP eszközökbe.

2. Az iLBC kulcsfontosságú jellemzői

ParaméterSpecifikáció
StandardizálásIETF RFC 3951 (Kodek), RFC 3952 (RTP hasznos adat)
Általános fájlkiterjesztések.ilbc, .lbc
MIME médiatípusaudio/iLBC
Mintavételezési frekvencia$8\text{ kHz}$ (Keskenysávú)
Kvantálási felbontás16 bites lineáris PCM
HangcsatornákMono (egysávos beszéd)
Támogatott kerethosszak$20\text{ ms}$ mód és $30\text{ ms}$ mód
Működési bitsebességek$15.20\text{ kbit/s}$ ($20\text{ ms}$) / $13.33\text{ kbit/s}$ ($30\text{ ms}$)
Blokkonkénti hasznos adatbitek$304\text{ bit}$ ($20\text{ ms}$) / $400\text{ bit}$ ($30\text{ ms}$)
Mágikus fejléc azonosító#!iLBC20\n ($20\text{ ms}$) vagy #!iLBC30\n ($30\text{ ms}$)
LicencelésRoyalty-Free (3-clause BSD nyílt forráskód a WebRTC-n keresztül)

3. Mélyreható jellemzők és architekturális tervezés

Független keretkódolás (nulla hibaterjedés)

A hagyományos beszédkompressziós formátumok, mint a G.729 és a CELP-családú kodekek, inter-frame predikció-t használnak, ahol minden audio keret az előző keret állapotinformációira és pitch prediktor vektoraira támaszkodik. Ha egy csomag elveszik egy zsúfolt hálózaton, az a hiányzó állapot továbbterjed, és több száz milliszekundumig torzítja a lefelé irányuló audio-t.

Az iLBC megszünteti ezt a függőséget. Az iLBC minden beszédkerete függetlenül van kódolva. Ha a $N$ csomag elveszik az átvitel során, a $N+1$ csomag teljes akusztikus hűséggel dekódolódik.

Kettős működési módok ($20\text{ ms}$ vs. $30\text{ ms}$)

A távközlési mérnököknek rugalmas késleltéskezelést biztosítva, az iLBC két kötelező működési módot határoz meg:

  1. $20\text{ ms}$ Keret Mód ($15.20\text{ kbit/s}$):
    • Kódolja a keretenként 160 audio mintát 38 bájtba ($304\text{ bits}$).
    • Alacsonyabb algoritmikus pufferelési késleltetést biztosít, ami alkalmassá teszi interaktív kommunikációkhoz.
  2. $30\text{ ms}$ Keret Mód ($13.33\text{ kbit/s}$):
    • Kódolja a keretenként 240 audio mintát 50 bájtba ($400\text{ bits}$).
    • Körülbelül $12%$-kal csökkenti a bitfogyasztást, optimalizálva a hálózati adatcsomag hatékonyságát a hosszú távú kapcsolatokon.

Fejlett csomagveszteség elrejtés (PLC)

Amikor elveszett csomagok fordulnak elő, az iLBC egy állapotváltozós LPC (Lineáris Prediktív Kódolás) szintézis szűrőt használ, amely a szomszédos keretek határállapotaiból rekonstruálja a hiányzó pitch-ciklus reprezentációkat. A kattogások, digitális puffogások vagy erős elnémítások létrehozása helyett az elveszett hangcsomagok fokozatosan romlanak.

Hangminőség vs. Bitráta profil

Ideális hálózati körülmények (0% csomagveszteség) mellett az iLBC körülbelül 4.14 (az 5.0-ból) Mean Opinion Score (MOS) értéket ér el. Bár kissé alatta marad a tömörítetlen G.711 PCM ($\mu$-law $\sim 4.3$) értéknek, az iLBC megőrzi a hang tisztaságát akár $5%\text{ to }10%$ csomagveszteségi arányoknál is, ahol a G.729 vagy G.711 érthetősége jelentősen csökken.

4. Hogyan nyissuk meg és játsszunk le .ilbc hangfájlokat

Mivel a .ilbc egy speciális nyers telefonia adatfolyam formátum, nem pedig általános célú fogyasztói média konténer (mint az MP3 vagy WAV), a főáramú fogyasztói lejátszók nem mindig tudják felismerni dedikált kodek csomagok nélkül.

Módszer 1: Audacity használata (Nyers adatok importálása)

Az Audacity képes nyers PCM dumpok vagy dekódolt iLBC hangfájlok importálására:

  1. Indítsa el a Audacity-t.
  2. Navigáljon a File > Import > Raw Data… menüpontra.
  3. Válassza ki a fájlt, és állítsa be a kódolást Signed 16-bit PCM-re, a bájtrendet Little-endian, 1 Channel (Mono)-ra, valamint a mintavételezési frekvenciát 8000 Hz-ra.

Módszer 2: Parancssori lejátszás FFplay segítségével

Ha az FFmpeg verziója a libilbc kiterjesztéssel van lefordítva:

ffplay -f ilbc sample.ilbc

Módszer 3: Dedikált VoIP elemzők

Az olyan hálózati diagnosztikai eszközök, mint a Wireshark, képesek közvetlenül a rögzített SIP/RTP csomagülésekből kinyerni és rekonstruálni a .ilbc hangpayload-okat, majd lejátszani őket a beépített RTP Player segédprogrammal.

5. Hogyan hozzunk létre és konvertáljunk .ilbc hangfájlokat

A .ilbc hang használata 16 bites, egycsatornás, $8000\text{ Hz}$ bemeneti hangot igényel.

Kódolás iLBC-re FFmpeg használatával

Egy meglévő .wav vagy .mp3 hangmintát .ilbc bitfolyammá konvertáláshoz:

ffmpeg -i input_speech.wav \
  -ar 8000 \
  -ac 1 \
  -c:a libilbc \
  output_audio.ilbc
  • -ar 8000: Újramintavételezi a hangot a szükséges 8 kHz-es frekvenciára.
  • -ac 1: Többcsatornás hangot monóra kever le.
  • -c:a libilbc: A libilbc referencia enkódert használja.

A keret módjának megadása ($20\text{ ms}$ vagy $30\text{ ms}$)

A -mode kapcsolóval választhatja ki a keret módot:

# Encode using 30ms mode (13.33 kbit/s)
ffmpeg -i input_speech.wav -ar 8000 -ac 1 -c:a libilbc -mode 30 output_30ms.ilbc

# Encode using 20ms mode (15.20 kbit/s)
ffmpeg -i input_speech.wav -ar 8000 -ac 1 -c:a libilbc -mode 20 output_20ms.ilbc

Az .ilbc fájl visszafejtése szabványos WAV formátumba

Egy .ilbc fájl átalakításához egy tetszőleges lejátszóval kompatibilis, tömörítetlen WAV fájlba:

ffmpeg -f ilbc -i voice_message.ilbc converted_audio.wav

6. Gyakran Ismételt Kérdések (GYIK)

Q1: Milyen fő problémát oldott meg az iLBC audio formátum?

Az iLBC formátumot úgy tervezték, hogy megőrizze a beszéd érthetőségét az IP hálózatokon, azáltal, hogy minden hangkeretet függetlené tesz, megakadályozva, hogy a csomagvesztési hibák láncreakcióba kerüljenek a következő beszédkeretekben.

Q2: Melyek az .ilbc fájl két működő bitsebessége?

Egy .ilbc adatfolyam vagy $13.33\text{ kbit/s}$ működik $30\text{ ms}$ keretek használatakor, vagy $15.20\text{ kbit/s}$ amikor $20\text{ ms}$ keretekre van beállítva.

Q3: Használható az iLBC formátum nagy felbontású zene streamingjére?

Nem, az iLBC egy keskenysávú beszédkódoló, amely szigorúan $8\text{ kHz}$ mintavételi frekvenciára korlátozódik, kizárólag az emberi beszéd $90\text{ Hz}$ és $4000\text{ Hz}$ közötti tartományára optimalizálva.

Q4: Az iLBC audio kodek royalty-mentes?

Igen, az iLBC teljesen szabványosított az IETF RFC 3951 szerint, és a WebRTC projekt keretében nyílt forráskódú, jogdíjmentes, 3 klauzulású BSD licenc alatt kerül kiadásra.

Q5: Hogyan viszonyul az iLBC a modern Opus kodekhez?

Miközben az iLBC csomagveszteség elrejtést biztosított a keskenysávú VoIP-hez a korai széles sávú hálózatokban, a modern Opus kodek dinamikus bitrátákat, teljes sávú ($48\text{ kHz}$) hangot és alacsonyabb algoritmikus késleltetést támogat.


7. Hivatalos specifikációk és hivatkozások