الضغط الإدراكي
الآن نركّب: تحويل ترددي (٠١–٠٢) + نموذج الأذن (٠٥) + تكميم (٠٠) + ترميز إنتروبي. هذا بالضبط MP3 — وبنيته تطابق JPEG في مسار الصور خطوةً بخطوة، لأن كليهما نموذج × مرمّز يستغلّ حاسّة.
عندك ثانية صوت = 44100 عيّنة × 16 بِت = ~700 كيلوبِت. تريد ضغطها إلى ~128 كيلوبِت (نسبة ~11:1) دون أن تسمع الأذن فرقاً.
من العقدة ٠٥ تعرف "ما يمكن حذفه". لكن كيف تطبّقه عملياً؟ التكميم يضيف ضجيجاً موزّعاً عبر كل الترددات، بينما الإخفاء يحمي ترددات معيّنة فقط. كيف تجعل ضجيج التكميم يقع تحديداً حيث تخفيه الأذن، لا حيث تسمعه؟ فكّر: ماذا لو كمّمت كل نطاق ترددي بخشونة مختلفة حسب عتبة إخفائه؟
خطّ MP3 — سبع خطوات تطابق JPEG
MDCT (Modified DCT) تحويلٌ متداخل (overlapping): الإطارات تتشارك نصفها، فيُلغى "تأثير الحدود" (نقر مسموع عند أطراف الإطارات) تماماً عند إعادة البناء (time-domain aliasing cancellation). هذا حلّ أنيق لمشكلة قصّ الإطارات التي رأيناها في العقدة ٠٢ — وهو نظير "الامتداد المرآتي" في DCT الصور.
جواب اللغز: نقسّم الطيف لنطاقات (scale factor bands). لكل نطاق، يخبرنا النموذج النفسي بعتبة الإخفاء، فنختار خطوة تكميم تجعل ضجيج التكميم أدنى من العتبة بقليل. النتيجة: كل الضجيج المُضاف يقع تحت ما تسمعه الأذن. نخصّص بِتّات أكثر للنطاقات المكشوفة وأقلّ للمحميّة. هذا "تخصيص البِتّات الإدراكي".
التطوّر: AAC ثمّ Opus
| الكوديك | القفزة |
|---|---|
| MP3 (1993) | أول ضغط إدراكي واسع. ولِد جزئياً من تحسين ترميز الكلام. |
| AAC | MDCT أنقى، نوافذ متكيّفة الحجم (قصيرة للانتقالات الحادّة، طويلة للنغمات — مقايضة غابور ٠٢!)، أدوات أذكى. أكفأ من MP3 بنفس المعدّل. |
| Opus (2012) | يدمج كوديك كلام (LPC/CELT) مع كوديك موسيقى، يبدّل ديناميكياً، زمن استجابة منخفض جداً (للمكالمات). مفتوح وحرّ — صدى نمط البراءات من مسار الصور. |
عايَر Karlheinz Brandenburg خوارزمية MP3 على أغنية "Tom's Diner" لـSuzanne Vega (صوت بشري عارٍ تقريباً، يكشف أي عيب). أعاد ضبطها مئات المرّات حتى لم يسمع فرقاً. يُسمّى صوتها أحياناً "أمّ الـMP3". الدرس: الكوديك مُعايَر على إدراك بشري حقيقي، لا على رياضيات مجرّدة.
- طبّق MDCT (أو استعمل DFT المتداخل كتقريب) على إطارات صوت. لكل إطار، احسب الطيف.
- قسّم الطيف لنطاقات. استعمل نموذجك النفسي المصغّر (العقدة ٠٥) لحساب عتبة إخفاء لكل نطاق.
- كمّم كل نطاق بخطوة ∝ عتبته (نطاق محميّ ⇒ خطوة كبيرة ⇒ بِتّات أقل). أعِد البناء واسمع.
- ارسم منحنى المعدّل/الجودة: غيّر صرامة العتبة، وقِس (الحجم مقابل خطأ مسموع). هذا rate-distortion إدراكي — نظير منحنى DCT في الصور.
الضغط الإدراكي = MDCT + نموذج نفسي + تكميم لكل نطاق (يخبّئ الضجيج تحت العتبة) + Huffman. بنية مطابقة لـJPEG، حاسّة مختلفة. لكن أحياناً نريد كل بِت بلا فقد (أرشفة، إنتاج). هل يمكن ضغط الصوت بلا أي خسارة، بكفاءة؟ نعم — بنموذجٍ مختلف.