Codec  چیست ؟

انتقال صدا به طور کلی به صورت آنالوگ صورت می گیرد ، در حالی که شبکه انتقال دیتا به صورت دیجیتال و IP می باشد . فرآیند نمونه برداری از موج های صوتی آنالوگ و تبدیل آن به اطلاعات دیجیتال توسط یک encoder-decoder ( رمزگذار و رمزگشا) انجام می شود که به آن کدک Codec گفته می شود . بنابراین کلمه Codec از کلمات encoder – decoder و یا compressor-decompressor به وجود آمده است . کدک ها به طور کلی سه کار زیر را انجام می دهند .

Encoding – Decoding

Compression – Decompression

Encryption – Decryption

انتقال صدا در شبکه VoIP به این صورت انجام می شود که ابتدا در مبدا موج های صوتی به سیگنال های دیجیتال تبدیل می شوند که به آن encoding گفته می شود که توسط کدک انجام می شود و در مقصد این صداهای دیجیتال باید decode شوند و به حالت اصلی آنالوگ خود بازگردند و در نتیجه طرف مقابل صدای شما را می تواند به صورت آنالوگ بشنود .

فشرده سازی امواج صوتی می تواند در شرایطی که مشکل پهنای باند داریم و سرعت پایین است موثر باشد و پهنای باند کمتری مصرف نماید که در نتیجه می توان چندین ارتباط ویپ را در یک زمان ایجاد نمود . روش دیگر برای حفظ پهنای باند استفاده از Silence suppression است که در این حالت زمانی که مکالمه ای صورت نمی گیرد Packet های IP ارسال نشوند .

Encryption – Decryption

Encryption یا رمزگذاری یکی از بهترین ابزار امنیتی است که در واقع تغییر دیتا به صورتی که نتوان محتوای آن را متوجه شد . در این حالت حتی اگر دیتا توسط افراد غیر مجاز مورد شنود قرار بگیرد باز هم نمی توانند دیتا به صورت محرمانه باقی می ماند . زمانی که دیتای encrypt شده به مقصد درست برسد به حالت اصلی خود رمزگشایی می شود .

جدولی که در زیر مشاهده می نمایید لیست از کدک های شناخته شده می باشد :

Bit Rate : میزان و تعداد بیت هایی که در یک مسیر ارتباطی انتقال داده می شود که عموما به صورت کیلو بیت در ثانیه عنوان می شود .

Sampling Rate : تعداد نمونه های گرفته شده در ثانیه گفته می شود که هنگام تبدیل صدای آنالوگ به دیجیتال انجام می شود . کیفیت صدا و در واقع کیفیت دیجیتالی کردن صوت بستگی به نمونه های گرفته شده از صدای آنالوگ در ثانیه دارد .

Frame Size : زمانی بین ارسال packet ها

MOS(Mean Opinion Score) : اندازه گیری کیفیت صدا بین 1 تا 5

NumberStandard byDescriptionBit rate (kb/s)Sampling rate (kHz)Frame size (ms)Remarks
MOS (Mean Opinion Score)
G.711 * ITU-T Pulse code modulation (PCM) 64 8 Sampling U-law (US, Japan) and A-law (Europe) companding
4.1
G.711.1 ITU-T Pulse code modulation (PCM) 80-96 Kbps 8 Sampling Improvement og G.711 to provide an audio bandwidth of 50 Hz to 7 kHz More info
4.1
G.721 ITU-T Adaptive differential pulse code modulation (ADPCM) 32 8 Sampling Now described in G.726; obsolete.
 
G.722 ITU-T 7 kHz audio-coding within 64 kbit/s 64 16 Sampling Subband-codec that divides 16 kHz band into two subbands, each coded using ADPCM
 
G.722.1 ITU-T Coding at 24 and 32 kbit/s for hands-free operation in systems with low frame loss 24/32 16 20  
 
G.722.2 AMR-WB ITU-T Adaptive Multi-Rate Wideband Codec (AMR-WB) 23.85/ 23.05/ 19.85/
18.25/ 15.85/ 14.25/
12.65/ 8.85/ 6.6
16 20 is mainly used for speech compression in the 3rd generation mobile telephony. More info
 
G.723 ITU-T Extensions of Recommendation G.721 adaptive differential pulse code modulation to 24 and 40 kbit/s for digital circuit multiplication equipment application 24/40 8 Sampling Superceded by G.726; obsolete. This is a completely different codec than G.723.1
 
G.723.1 ITU-T Dual rate speech coder for multimedia communications transmitting at 5.3 and 6.3 kbit/s 5.6/6.3 8 30 Part of H.324 video conferencing. It encodes speech or other audio signals in frames using linear predictive analysis-by-synthesis coding. The excitation signal for the high rate coder is Multipulse Maximum Likelihood Quantization (MP-MLQ) and for the low rate coder is Algebraic-Code-Excited Linear-Prediction (ACELP).
3.8-3.9
G.726 ITU-T 40, 32, 24, 16 kbit/s adaptive differential pulse code modulation (ADPCM) 16/24/32/40 8 Sampling ADPCM; replaces G.721 and G.723.
3.85
G.727 ITU-T 5-, 4-, 3- and 2-bit/sample embedded adaptive differential pulse code modulation (ADPCM) var.   Sampling ADPCM. Related to G.726
 
G.728 ITU-T Coding of speech at 16 kbit/s using low-delay code excited linear prediction 16 8 2.5 CELP.
3.61
G.729 ** ITU-T Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear-prediction (CS-ACELP) 8 8 10 Low delay (15 ms)
3.92
G.729.1 ITU-T Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear-prediction (CS-ACELP) 8/12/14/16/
18/20/22/24/
26/28/30/32
8 10 Improvement og G.711 to provide an audio bandwidth of 50 Hz to 7 kHz More info  
GSM 06.10 ETSI Regular­Pulse Excitation Long­Term Predictor (RPE-LTP) 13 8 22.5 Used for GSM cellular telephony.
 
LPC10 USA Government Linear-predictive codec 2.4 8 22.5 10 coefficients.
 
Speex     8, 16, 32 2.15-24.6 (NB)
4-44.2 (WB)
30 ( NB )
34 ( WB )
 
 
iLBC     8 13.3 30  
 
DoD CELP American Department of Defense (DoD) USA Government   4.8   30  
 
EVRC 3GPP2 Enhanced Variable Rate CODEC 9.6/4.8/1.2 8 20 Se usa en redes CDMA
 
DVI Interactive Multimedia Association (IMA) DVI4 uses an adaptive delta pulse code modulation (ADPCM) 32 Variable Sampling  
 
L16   Uncompressed audio data samples 128 Variable Sampling  
SILK Skype   From 6 to 40 Variable 20 Harmony codec is related with SILK
 

  در زیر به برخی از کدک هایی که بیشتر مورد استفاده قرار می گیرند به طور خلاصه اشاره می کنیم :

کدک G.711

کدک G.711 سیگنال صدا را تا 64 Kbps فشرده می نماید . امتیاز MOS این کدک 4.1 می باشد .

G.711 دو نسخه U-law و A-law دارد که U-law مربوط به ژاپن و امریکا و A-law  مربوط به اروپا می باشد.

U-Law همراه با استاندارد T1 در امریکای شمالی و ژاپن استفاده می شود و A-Law همراه با استاندارد E1 در بقیه مناطق جهان به کار می رود .

فرکانس نمونه برداری در این کدک 8000 هرتز است که در واقع در هر ثانیه 8000 نمونه از صدا گرفته می شود .

 

کدک G.722

کدک G.722 یک استاندارد ITU-T است که به نام SB-ADPCM نیز شناخته می شود . فرکانس نمونه برداری در این کدک 7 کیلو هرتز است و در پهنای باند 48 ، 56 و 64 کیلوبیت بر ثانیه کار می کند . امتیاز MOS این کدک در پهنای باند 64 کیلو بیت بر ثانیه 4 می باشد .

 

کدک G.729

این کدک بیشترین مورد استفاده را در ویپ دارد و از خانواده G.722 محسوب می شود و در سرعت 8 کیلوبیت در ثانیه کار می کند . امتیاز MOS کدک G.728 چهار 4.0 است که کیفیت مطلوبی را در اختیار شما قرار می دهد .

G.729A و یا A annex ساده سازی شده ی G.729 است و با G.729 سازگار می باشد پیچیدگی کمتری نسبت به کدک اصلی دارد و کیفیت کمتری در اختیار شما قرار می دهد .

G.729B و یا B annex در واقع کدک G.729  است که در آن silence suppression اعمال شده است و با ورژن های قبلی سازگار نیست .

G.729AB در واقع همان g729A همراه با silence suppression و فقط با G.729B سازگار می باشد.

برای محاسبه پهنای مورد نیاز برای مکالمات VoIP بر اساس کدک های مختلف می توانید از وب سایت های زیر که ابزاری برای محاسبه پهنای باند دراختیار شما قرار می دهند ، استفاده نمایید :

VoIP Bandwidth Calculator

Asterisk guru VoIP Bandwidth Calculator