G.711

G.711 هو برنامج ترميز صوتي ضيق النطاق، صُمم في الأصل للاستخدام في الاتصالات الهاتفية ، ويوفر جودة صوت عالية بمعدل 64 كيلوبت/ثانية. وهو معيار (توصية) صادر عن الاتحاد الدولي للاتصالات (ITU-T ) لترميز الصوت ، بعنوان " تعديل رمز النبض (PCM) لترددات الصوت"، وقد صدر للاستخدام في عام 1972. 

يقوم G.711 بتمرير الإشارات الصوتية في نطاق التردد من 300 إلى 3400  هرتز ويقوم بأخذ عينات منها بمعدل 8000  هرتز، مع هامش خطأ في هذا المعدل يبلغ 50 جزءًا في المليون (ppm).

يستخدم هذا النظام إحدى خوارزميتي ضغط لوغاريتميتين مختلفتين : خوارزمية μ-law ، المستخدمة بشكل أساسي في أمريكا الشمالية واليابان، وخوارزمية A-law ، المستخدمة في معظم الدول الأخرى خارج أمريكا الشمالية. يتم تكميم كل عينة مضغوطة إلى 8 بتات، مما ينتج عنه معدل بتات  يبلغ 64 كيلوبت/ثانية .

يُعدّ معيار G.711 معيارًا مطلوبًا في العديد من التقنيات، مثل معياري H.320 و H.323 . [ 1 ] ويمكن استخدامه أيضًا للاتصال عبر الفاكس من خلال شبكات بروتوكول الإنترنت (كما هو محدد في مواصفات T.38 ).

تم نشر تحسينين لـ G.711: يستخدم G.711.0 ضغط البيانات بدون فقدان لتقليل استخدام النطاق الترددي، ويعمل G.711.1 على زيادة جودة الصوت عن طريق زيادة النطاق الترددي.

سمات

الأنواع

يُحدد المعيار G.711 خوارزميتين رئيسيتين لضغط وتوسيع نطاق الإشارة ، وهما خوارزمية قانون μ وخوارزمية قانون A. كلتاهما لوغاريتميتان ، ولكن خوارزمية قانون A صُممت خصيصًا لتكون أسهل في المعالجة الحاسوبية . كما يُحدد المعيار سلسلة من قيم الترميز المتكررة التي تُحدد مستوى الطاقة عند 0 ديسيبل .

تقوم خوارزميتا قانون μ وقانون A بترميز عينات PCM الخطية الموقعة ذات 14 بت و13 بت (على التوالي) إلى عينات لوغاريتمية ذات 8 بت. وبالتالي، سيُنشئ مُشفِّر  G.711 دفق بتات بسرعة 64 كيلوبت/ثانية لإشارة مُسجَّلة بتردد 8  كيلوهرتز. [ 1 ]

يميل قانون G.711 μ إلى إعطاء دقة أكبر لإشارات المدى الأعلى بينما يوفر قانون G.711 A مستويات تكميم أكثر عند مستويات الإشارة المنخفضة.

تُستخدم المصطلحات PCMU و G711u و G711MU أيضًا للإشارة إلى قانون G.711 μ، و PCMA و G711A للإشارة إلى قانون G.711 A. [ 2 ]

قانون أ

وبالتالي، تأخذ عملية ترميز قانون A عينة صوتية خطية موقعة ذات 13 بت كمدخل وتحولها إلى قيمة 8 بت على النحو التالي:

رمز الإدخال الخطي [ ملاحظة 1 ]رمز مضغوط XOR 01010101رمز الإخراج الخطي [ ملاحظة 2 ]
s0000000abcdxs000abcds0000000abcd1
s0000001abcdxs001abcds0000001abcd1
s000001abcdxxs010abcds000001abcd10
s00001abcdxxxs011abcds00001abcd100
s0001abcdxxxxs100abcds0001abcd1000
s001abcdxxxxxs101abcds001abcd10000
s01abcdxxxxxxs110abcds01abcd100000
s1abcdxxxxxxxs111abcds1abcd1000000
  1. يتم إنتاج هذه القيمة عن طريق أخذ تمثيل المتمم الثنائي لقيمة الإدخال، وعكس جميع البتات بعد بت الإشارة إذا كانت القيمة سالبة.
  2. تمثيل المقدار الموقّع

أين sتوجد بتة الإشارة؟ sوما هو معكوسها؟ (أي أن القيم الموجبة تُشفّر باستخدام البتة الأكثر أهمية  = s = 1)، وتُهمل البتات المميزة. لاحظ أن العمود الأول من الجدول يستخدم تمثيلًا مختلفًا للقيم السالبة عن العمود الثالث. فعلى سبيل المثال، تُمثَّل القيمة العشرية المدخلة -21 في النظام الثنائي بعد عكس البتات على أنها 1000000010100، والتي تُقابل 00001010 (وفقًا للصف الأول من الجدول). عند فك التشفير، تُقابل هذه القيمة 1000000010101، والتي تُفسَّر على أنها القيمة العشرية -21. تُقابل القيمة المدخلة +52 (0000000110100 في النظام الثنائي) على أنها 10011010 (وفقًا للصف الثاني)، والتي تُقابل 0000000110101 (+53 في النظام العشري).   x

يمكن اعتبار هذا عددًا عشريًا بأربعة بتات للكسر m (ما يعادل دقة 5 بتات)، وثلاثة بتات للأس e ، وبت إشارة واحد s ، مُنسقًا على النحو التالي، seeemmmmمع القيمة الخطية المُفكَّكة y المُعطاة بالصيغة

y=(-1)s(16مين{هـ،1}+م+0.5)2الأعلى{هـ،1}،{\displaystyle y=(-1)^{s}\cdot (16\cdot \min\{e,1\}+m+0.5)\cdot 2^{\max\{e,1\}},}

وهو عدد صحيح ذو إشارة مكون من 13 بت، يقع ضمن النطاق من ±1 إلى ±(2^ 12  -  2^ 6 ). لاحظ أنه لا يمكن فك تشفير أي رمز مضغوط إلى الصفر بسبب إضافة 0.5 (نصف خطوة التكميم).

بالإضافة إلى ذلك، ينص المعيار على عكس جميع البتات الزوجية الناتجة ( حيث يكون البت الأقل أهمية زوجيًا) قبل إرسال البايت. يهدف هذا إلى توفير عدد كافٍ من الانتقالات بين 0 و1 لتسهيل عملية استعادة إشارة الساعة في مستقبلات PCM. وبالتالي، تحتوي قناة PCM المشفرة بقانون A الصامت على عينات من 8 بت مشفرة بالرمز 0xD5 بدلاً من 0x80 في البايتات.

عند إرسال البيانات عبر E0 ( G.703 )، يتم إرسال MSB (الإشارة) أولاً ويتم إرسال LSB أخيرًا.

يحدد ITU-T STL [ 3 ] خوارزمية فك التشفير على النحو التالي (يضع القيم التي تم فك تشفيرها في 13 بت الأكثر أهمية من نوع بيانات الإخراج 16 بت).

void alaw_expand ( lseg , logbuf , linbuf ) long lseg ; short * linbuf ; short * logbuf ; { short ix , mant , iexp ; long n ;for ( n = 0 ; n < lseg ; n ++ ) { ix = logbuf [ n ] ^ ( 0x0055 ); /* إعادة تبديل البتات المبدلة */ix &= ( 0x007F ); /* إزالة بت الإشارة */ iexp = ix >> 4 ; /* استخراج الأس */ mant = ix & ( 0x000F ); /* الحصول على الجزء الكسري */ if ( iexp > 0 ) mant = mant + 16 ; /* إضافة '1' في البداية، إذا كان الأس > 0 */mant = ( mant << 4 ) + ( 0x0008 ); /* الآن تتم محاذاة الجزء الكسري إلى اليسار و */ /* تمت إضافة خطوة تكميم بمقدار 1/2 */ if ( iexp > 1 ) /* الآن يتم الإزاحة إلى اليسار وفقًا للأس */ mant = mant << ( iexp - 1 );linbuf [ n ] = logbuf [ n ] > 127 /* عكس القيمة إذا كانت العينة سالبة * / ? mant : -mant ; } }

انظر أيضًا "دليل مستخدم مكتبة أدوات برامج ITU-T 2009" الذي يمكن العثور عليه في [ 4 ] .

قانون μ

تأخذ ترميز μ-law (يشار إليه أحيانًا باسم ulaw أو G.711Mu أو G.711μ) عينة صوتية خطية موقعة مكونة من 14 بت في تمثيل المتمم الثنائي كمدخل، وتعكس جميع البتات بعد بت الإشارة إذا كانت القيمة سالبة، وتضيف 33 (ثنائي 100001) وتحولها إلى قيمة 8 بت على النحو التالي:

قيمة الإدخال الخطي [ ملاحظة 1 ]الكود المضغوط XOR 11111111قيمة الخرج الخطي [ ملاحظة 2 ]
s00000001abcdxs000abcds00000001abcd1
s0000001abcdxxs001abcds0000001abcd10
s000001abcdxxxs010abcds000001abcd100
s00001abcdxxxxs011abcds00001abcd1000
s0001abcdxxxxxs100abcds0001abcd10000
s001abcdxxxxxxs101abcds001abcd100000
s01abcdxxxxxxxs110abcds01abcd1000000
s1abcdxxxxxxxxs111abcds1abcd10000000
  1. يتم إنتاج هذه القيمة عن طريق أخذ تمثيل المتمم الثنائي لقيمة الإدخال، وعكس جميع البتات بعد بت الإشارة إذا كانت القيمة سالبة، وإضافة 33.
  2. تمثيل القيمة المطلقة الموقعة . يتم الحصول على النتيجة النهائية عن طريق تقليل مقدار هذه القيمة بمقدار 33.

أين sتوجد بتة الإشارة، xويتم تجاهل البتات المميزة.

بالإضافة إلى ذلك، ينص المعيار على عكس البتات المشفرة قبل إرسال الثمانية بتات. وبالتالي، فإن قناة PCM المشفرة بقانون μ الصامتة تحتوي على عينات من 8 بتات تُرسل بالقيمة 0xFF بدلاً من 0x00 في الثمانية بتات.

إضافة 33 ضرورية حتى تقع جميع القيم في مجموعة ضغط ويتم طرحها مرة أخرى عند فك التشفير.

بتقسيم القيمة المشفرة المنسقة seeemmmmإلى 4 بتات للجزء الكسري m ، و3 بتات للأس e ، وبت إشارة واحد s ، تُعطى القيمة الخطية المُفكَّكة y بالصيغة التالية:

y=(-1)s[(33+2م)2هـ-33]،{\displaystyle y=(-1)^{s}\cdot [(33+2m)\cdot 2^{e}-33],}

وهو عدد صحيح موقع مكون من 14 بت في النطاق من ±0 إلى ±8031.

لاحظ أن 0 يتم إرسالها كـ 0xFF، و -1 يتم إرسالها كـ 0x7F، ولكن عند استلامها تكون النتيجة 0 في كلتا الحالتين.

G.711.0

يستخدم معيار G.711.0، المعروف أيضًا باسم G.711 LLC، ضغط البيانات بدون فقدان لتقليل استخدام عرض النطاق الترددي بنسبة تصل إلى 50%. [ 5 ] وقد اعتمد الاتحاد الدولي للاتصالات (ITU-T) معيار ضغط البيانات بدون فقدان لتعديل رمز النبض G.711 في سبتمبر 2009. [ 6 ] [ 7 ]

G.711.1

G.711.1 "امتداد النطاق العريض المضمن لتعديل رمز النبض G.711" هو امتداد عالي الدقة لـ G.711، تم التصديق عليه في عام 2008 وتم توسيعه بشكل أكبر في عام 2012. [ 8 ]

يسمح معيار G.711.1 بإضافة سلسلة من طبقات التحسين فوق دفق G.711 الأساسي الخام (الطبقة 0): تقوم الطبقة 1 بتشفير الصوت ذي 16 بت في نفس النطاق الضيق 4 كيلوهرتز، بينما تسمح الطبقة 2 بنطاق عريض 8 كيلوهرتز باستخدام تحويل جيب التمام المنفصل متعدد الدرجات (MDCT) ؛ وتستخدم كل طبقة معدل بت ثابت قدره 16  كيلوبت في الثانية بالإضافة إلى  معدل البت الأساسي البالغ 64 كيلوبت في الثانية. يمكن استخدام الطبقتين معًا أو بشكل منفرد، وتقوم كل طبقة بتشفير الاختلافات عن الطبقة السابقة. وفي عام 2012، تم اعتماد الطبقة 3 التي توسع نطاق الطبقة 2 إلى 16 كيلوهرتز "النطاق العريض الفائق"، مما يسمح بزيادة قدرها 16  كيلوبت في الثانية لأعلى الترددات، مع الحفاظ على استقلالية كل طبقة. ويبلغ معدل البت الأقصى 96  كيلوبت في الثانية في معيار G.711.1 الأصلي، أو 112  كيلوبت في الثانية مع النطاق العريض الفائق. لم يتم تحديد أي طريقة داخلية لتحديد الطبقات أو فصلها، مما يترك مهمة تقسيمها إلى حزم أو إرسال إشارات إليها للتنفيذ. [ 9 ] [ 10 ]

قد يتجاهل جهاز فك التشفير الذي لا يفهم أي مجموعة من طبقات الدقة أو يسقط الحزم غير الأساسية دون التأثير عليها، مما يتيح التدهور السلس عبر أي نظام هاتف G.711 (أو G.711.1 الأصلي) دون أي تغييرات.

كما تمّت المصادقة في عام 2012 على معيار G.711.0 المُوسّع بدون فقدان للبيانات ليشمل طبقات الدقة الجديدة. وكما هو الحال مع G.711.0، يتم التضحية بالتوافق الكامل مع الإصدارات السابقة من G.711 لصالح الكفاءة، مع العلم أن العقدة المُدركة لـ G.711.0 قد تتجاهل أو تُسقط حزم الطبقات التي لا تفهمها.

الترخيص

انتهت صلاحية براءات اختراع G.711، التي صدرت عام 1972، لذا يمكن استخدامها دون الحاجة إلى ترخيص. [ 1 ]

انظر أيضاً

مراجع

  1. 1 2 3 "G.711  : تعديل رمز النبض (PCM) لترددات الصوت" . www.itu.int . مؤرشف من الأصل بتاريخ 17-06-2019 . تم الاطلاع عليه بتاريخ 11-11-2019 .
  2. "برامج ترميز الفيديو/الصوت/الكلام" . جراندستريم . تم الاطلاع عليه بتاريخ 19 يوليو 2020 .
  3. G.191  : أدوات برمجية لتوحيد ترميز الكلام والصوت . دالةalaw_expandفي ملفSoftware/stl2009/g711/g711.c. Itu.int. تم الاطلاع عليه بتاريخ 18-09-2013.
  4. G.191  : دليل مستخدم مكتبة أدوات برمجيات ITU-T لعام 2009. Itu.int (23-07-2010). تاريخ الاطلاع: 18-09-2013.
  5. الاتحاد الدولي للاتصالات - تقييس الاتصالات (17 يوليو/تموز 2009). "نشرة أخبار الاتحاد الدولي للاتصالات - ترميز صوتي جديد بتقنية ضغط بدون فقدان البيانات" . مؤرشف من الأصل بتاريخ 3 مارس/آذار 2016. تم الاطلاع عليه بتاريخ 28 فبراير/شباط 2010 .
  6. ITU-T. "G.711.0 : ضغط بدون فقدان لتعديل رمز النبض G.711" . تم الاسترجاع في 28-02-2010 . 
  7. التطورات الحديثة في ترميز الصوت/الكلام في الاتحاد الدولي للاتصالات - قطاع تقييس الاتصالات والاتجاهات المستقبلية (ملف PDF) ، أغسطس 2008 ، تم الاطلاع عليه بتاريخ 28 فبراير 2010
  8. G.711.1 : امتداد مضمن واسع النطاق لتعديل رمز النبض G.711 ، الاتحاد الدولي للاتصالات - تقييس الاتصالات، 2012 ، تم الاطلاع عليه بتاريخ 24-12-2022 
  9. لابير وآخرون (25-08-2008)، تشكيل الضوضاء في برنامج ترميز مضمن متوافق مع معيار ITU-T G.711 (ملف PDF) ، تم الاطلاع عليه بتاريخ 11-06-2024 
  10. ^ هيواساكي. وآخرون . (2008-08-25)، G.711.1: امتداد النطاق العريض لـ ITU-T G.711 (PDF) ، تم استرجاعه في 11/06/2024