1. iLBC Audio Formatı nədir?
The İnternet Aşağı Bitrate Kodeki ilk olaraq Global IP Solutions (GIPS) tərəfindən yaradılmışdır — 2010-cu ildə Google tərəfindən əldə edilən İsveçli audio mühəndislik şirkəti. İnternet Mühəndislik Tapşırıq Qrupu tərəfindən RFC 3951 altında təyin edilmiş və RTP yükünün RFC 3952 ilə izah edildiyi iLBC, qeyri-sabit IP bağlantıları üzərində etibarlı səs ötürülməsi üçün xüsusi olaraq dizayn edilmişdir.
Modern veb brauzerlər tez-tez Opus kodekini müasir real‑zaman rabitəsi üçün istifadə etsələr də, iLBC müəssisə telefon sistemləri, SIP müştəriləri, WebRTC geriyə uyğunluq profilləri və Cisco, Polycom və Asterisk PBX sistemləri tərəfindən istehsal olunan köhnə VoIP cihazları daxilində yerləşdirilmiş vacib, royalty‑pulsuz standart olaraq qalır.
2. iLBC-nin əsas xüsusiyyətləri
| Parametr | Spesifikasiya |
|---|---|
| Standartlaşdırma | IETF RFC 3951 (Kodek), RFC 3952 (RTP Yükü) |
| Ümumi Fayl Uzantıları | .ilbc, .lbc |
| MIME Media Növü | audio/iLBC |
| Nümunə Çəkmə Tezliyi | $8\text{ kHz}$ (Darbant) |
| Kvantlaşdırma Rezolyusiyası | 16-bit xətti PCM |
| Audio Kanalları | Mono (Tək-kanallı danışıq) |
| Dəstəklənən Çərçivə Uzunluqları | $20\text{ ms}$ rejimi və $30\text{ ms}$ rejimi |
| Əməliyyat Bit Sürətləri | $15.20\text{ kbit/s}$ ($20\text{ ms}$) / $13.33\text{ kbit/s}$ ($30\text{ ms}$) |
| Blok Başına Yük Bitləri | $304\text{ bits}$ ($20\text{ ms}$) / $400\text{ bits}$ ($30\text{ ms}$) |
| Sehrli Başlıq Tanımaçısı | #!iLBC20\n ($20\text{ ms}$) or #!iLBC30\n ($30\text{ ms}$) |
| Lisenziya | Rəqəmsiz Ödənişsiz (3-şərtli BSD açıq mənbə WebRTC vasitəsilə) |
3. Dərin Xüsusiyyətlər və Memarlıq Dizaynı
Müstəqil Çərçivə Kodlaşdırması (Sıfır Səhv Yayılması)
G.729 və CELP-ailəsi kodekləri kimi ənənəvi nitq sıxışdırma formatları inter-frame proqnozlaşdırması istifadə edir, burada hər bir audio çərçivə əvvəlki çərçivədən vəziyyət məlumatı və pitch proqnoz vektorlarına bağlıdır. Sıx şəbəkədə paket düşərsə, bu itkin vəziyyət irəliyə yayılır və bir neçə yüz millisekund ərzində aşağı axın audioyu pozur.
iLBC bu asılılığı aradan qaldırır. iLBC-də hər bir nitq çərçivəsi müstəqil şəkildə kodlanır. Paket $N$ ötürülmə zamanı düşərsə, $N+1$ paketi tam akustik dəqiqliklə dekodlaşdırılır.
İki Əməliyyat Rejimi ($20\text{ ms}$ vs. $30\text{ ms}$)
Telekommunikasiya mühəndislərinə elastik gecikmə idarəetməsi təmin etmək üçün iLBC iki məcburi işləmə rejimini təyin edir:
- $20\text{ ms}$ Çərçivə Rejimi ($15.20\text{ kbit/s}$):
- Hər çərçivədə 160 audio nümunəsini 38 bayta ($304\text{ bits}$) kodlayır.
- Aşağı alqoritmik tamponlama gecikməsi təmin edir, bu da interaktiv rabitə üçün uyğun edir.
- $30\text{ ms}$ Çərçivə Rejimi ($13.33\text{ kbit/s}$):
- Hər çərçivədə 240 audio nümunəsini 50 bayta ($400\text{ bits}$) kodlayır.
- Bit istehlakını təxminən $12%$ azaldır, uzun məsafəli bağlantılarda şəbəkə yükləməsinin səmərəliliyini optimallaşdırır.
Təkmilləşdirilmiş Paket İtkisi Gizlədilməsi (PLC)
Paketlərin itirildiyi hallarda, iLBC vəziyyət dəyişənli LPC (Linear Predictive Coding) sintez filtrindən istifadə edərək, qonşu çərçivələrin sərhəd vəziyyətlərindən istifadə edərək itmiş pitch-dövrü təmsillərini bərpa edir. Kliklər, rəqəmsal poplar və ya sərt susdurmalar yaratmaq əvəzinə, itirilmiş səs paketləri tədricən keyfiyyətini itirir.
Audio Keyfiyyəti vs. Bitreyt Profili
İdeal şəbəkə şərtlərində (0% paket itkisində), iLBC təxminən 4.14 (5.0-dən) ortalama rəy balı (MOS) əldə edir. Sıxılmış olmayan G.711 PCM ($\mu$-law $\sim 4.3$) ilə bir qədər aşağı olsa da, iLBC paket itki nisbətləri $5%\text{ to }10%$ qədər yüksək olduqda səs aydınlığını saxlayır, bu zaman G.729 və ya G.711 anlaşıqlılığı əhəmiyyətli dərəcədə azalır.
4. .ilbc Audio Fayllarını Açmaq və Oynatmaq
Çünki .ilbc ümumi məqsədli istehlakçı media konteyneri (MP3 və ya WAV kimi) deyil, ixtisaslaşmış xam telefonluq axını formatıdır, əsas istehlakçı pleyerlər onu xüsusi kodek paketləri olmadan həmişə aşkar edə bilmirlər.
Metod 1: Audacity istifadə edərək (Xam Məlumatı İdxal Et)
Audacity xam PCM dump-larını və ya dekodlaşdırılmış iLBC səs fayllarını idxal edə bilər:
- Audacity-i işə salın.
- File > Import > Raw Data… bölməsinə keçin.
- Faylı seçin və kodlamanı Signed 16-bit PCM, bayt sırasını Little-endian, 1 Channel (Mono) və nümunə sürətini 8000 Hz olaraq təyin edin.
Metod 2: FFplay vasitəsilə Komanda Sətiri Oynatma
FFmpeg quruluşunuz libilbc uzantısı ilə tərtib olunmuşdursa:
ffplay -f ilbc sample.ilbc
Metod 3: Xüsusi VoIP Analizatorları
Wireshark kimi şəbəkə diaqnostika alətləri .ilbc səs yükünü birbaşa tutulan SIP/RTP paket sessiyalarından çıxara və yenidən qura bilər və daxili RTP Player vasitəsilə oynada bilərlər.
5. .ilbc Audio Fayllarını Yaratmaq və Çevirmək
.ilbc audio ilə işləmək üçün 16-bit, tək-kanallı, $8000\text{ Hz}$ giriş audio tələb olunur.
FFmpeg ilə iLBC Kodlaşdırması
Mövcud .wav və ya .mp3 audio nümunəsini .ilbc bit axınına çevirmək üçün:
ffmpeg -i input_speech.wav \
-ar 8000 \
-ac 1 \
-c:a libilbc \
output_audio.ilbc
-ar 8000: Audioyu tələb olunan 8 kHz sürətinə yenidən nümunələyir.-ac 1: Çoxkanallı audioyu mono-ya endirir.-c:a libilbc:libilbcreferans kodlayıcısını istifadə edir.
Kadr Rejimini Təyin Edilməsi ($20\text{ ms}$ və ya $30\text{ ms}$)
-mode bayrağı ilə çərçivə rejimini seçə bilərsiniz:
# 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
Bir .ilbc Faylını Standart WAV-ə Geri Dekodlaşdırmaq
.ilbc faylını hər yerdə oynatıla bilən sıxılmamış WAV faylına çevirmək üçün:
ffmpeg -f ilbc -i voice_message.ilbc converted_audio.wav
6. Tez-tez Soruşulan Suallar (FAQ)
Q1: iLBC audio formatı hansı əsas problemi həll etmək üçün yaradılmışdır?
iLBC formatı, hər bir audio çərçivəsini müstəqil edərək, paket itkisinin növbəti danışıq çərçivələrinə yayılmasının qarşısını alaraq, IP şəbəkələrində nitqin anlaşıqlığını qorumaq üçün hazırlanmışdır.
Q2: .ilbc faylının iki işlək bit sürəti hansılardır?
Bir .ilbc axını $30\text{ ms}$ çərçivələrindən istifadə edərkən $13.33\text{ kbit/s}$ və ya $20\text{ ms}$ çərçivələr üçün konfiqurasiya edildikdə $15.20\text{ kbit/s}$ sürətlə işləyir.
Q3: iLBC formatı yüksək keyfiyyətli musiqinin axını üçün istifadə edilə bilərmi?
Xeyr, iLBC $8\text{ kHz}$ nümunə götürmə sürətinə məhdudlaşdırılmış darbantlı səs kodeki olub, yalnız $90\text{ Hz}$ ilə $4000\text{ Hz}$ arasında insan səsi üçün optimallaşdırılmışdır.
Q4: iLBC audio kodeki royalty‑free (royalti ödənişsiz)dirmi?
Bəli, iLBC IETF RFC 3951 altında tam standartlaşdırılıb və WebRTC layihəsi vasitəsilə açıq mənbəli, royalty‑free 3‑bəndli BSD lisenziyası altında yayımlanıb.
Q5: iLBC müasir Opus kodeki ilə necə müqayisə olunur?
iLBC erkən genişzolaqlı şəbəkələrdə darbantlı VoIP üçün paket itkisinin gizlədilməsini təmin edərkən, müasir Opus kodeki dinamik bit sürətləri, tam‑bant ($48\text{ kHz}$) audio və daha aşağı alqoritmik gecikmə dəstəkləyir.
7. Rəsmi Spesifikasiyalar və İstinadlar
- IETF RFC 3951 Spesifikasiyası: İnternet Aşağı Bit Sürəti Kodeki (iLBC) Səs və Audio Standartı
- IETF RFC 3952 Yük Formatı: Real-time Transport Protocol (RTP) iLBC üçün Yük Formatı
- WebRTC Açıq Mənbə Layihəsi: WebRTC Kodek Lisenziyalaşdırması və iLBC İmplementasiyası
- FFmpeg kodek sənədləşməsi: FFmpeg libilbc inteqrasiya təlimatları