الگوریتم فشرده سازی MP3
همه ی ما تا کنون از فایل های Mp3 استفاده کرده ایم. اما تا به حال به این فکر کرده اید که بین صدایی که از فایل MP3 و صوتی که ما به صورت معمول در گفتگوهای روزانه می شنویم چه تفاوتی وجود دارد. یا شاید با خودتان این فکر را کرده اید که چرا یک خواننده خوب، باید در کنسرت ها خودنمایی کند نه در سی دی های صوتی خود!
ما در این جا قصد نداریم MP3 را محبوب یا خراب کنیم چون بدون شک یکی از بهترین الگوریتم های فشرده سازی صوت است. در این مطلب به طور مختصر به الگوریتم MP3 که یک الگوریتم فشرده سازی صوت است می پردازیم. و در ادامه با مباحث زیر آشنا می شویم:
شرح کلی الگوریتم فشرده سازی MP3
مراحل الگوریتم MP3
خلاصه ای از تکنولوژی MP3
الگوریتم فشرده سازی MP3
هدف اصلی الگوریتم های فشرده سازی، تولید و ارائه سیگنال های دیجیتال صوت به هنگام Decoded (رمز گشایی) و تکثیر است ؛ صوت هایی همانند سیگنال های اورجینال موقعی که حداقل اطلاعات دیجیتال (bit_rate ) برای فشرده سازی استفاده کرده باشند ارائه می دهند.
انواع محتلفی از الگوریتم های فشرده سازی موجود است. این مقاله مقدماتی از فشرده سازی MP3 را بیان می کند. هر برنامه کاربردی مورد استفاده در فشرده سازی حداقل به دو بخش نیاز دارد:
۱- Chip یا Coder (رمزگذار) برای فشرده سازی
۲- Decoder (رمزگشا) برای از فشرده سازی خارج کردن.
به عنوان مثال:
شرح یک سیگنال صوت در دو حوزه ی مختلف، مثالا صدای پیچیده آژیر آمبولانس، می توان این دو روش وابسته را به شرح زیر بیان کرد:
نمونه برداری از دامنه صدا به دفعات زیاد در ثانیه، که با تقریب خوبی تابع صوت در واحد زمان را به ما می دهد. تجزیه و تحلیل صدا در بخش های زیر و بمی صدا و نوت های صدا یا فرکانس و ثبت دامنه هر یک از فرکانس ها.
MP3
(MPEG-1 Audio Layer 3) MP3 یک فرم شکل از فشرده سازی است که به وسیله MPEG در سال ۱۹۹۱ استاندارد شده است. اساس کار تکنولوژی فشرده سازی MP3 روی مدل های روانی شنوایی و حساسیت بشر به فرکانس های مختلف است. این مدل فرکانس های قابل شنیدن توسط بشر را انتخاب می کند و دیگر فرکانس ها را رد می کند.
فرکانس شنوایی بشر می تواند محدوده ای بین ۲۰Hz تا ۲۰Khz باشدو بیشترین حساسیت بین ۲ تا ۴Khz می باشد. بدین ترتیب فایل های MP3 شامل فرکانس هایی در محدوده ی شنوایی است و فرکانس هایی که قابل شنیدن نیستند را رد می کند. این نوع فشرده سازی به عنوان یک فشرده سازی مخرب شناخته می شود و اشکال آن است که فرکانس هایی که رد می شوند یا حذف شده اند در مراحل ایجاد یک MP3 نمی توانند جایگزین شوند اما تمام این اشکالات به علت محدود بودن حس شنوایی بشر قابل لمس نیستند و MP3 را به عنوان یکی از محبوب ترین فشرده سازی ها تبدیل کرده است.
هنگام کد کردن یک فایل به MP3 می توان سطوح مختلف را برای فشرده سازی انتخاب کرد. کیفیت صوت مستقیما متناسب با سایز فایل می باشد به عنوان مثال فایلی که بیشترین سایز را دارد می تواند بهترین کیفیت را داشته باشد و این امری بدیهی است که فایل ایجاد شده با سطح فشرده سازی ۱۲۸Kbit کیفیتی بهتر و حجمی بیشتر نسبت به فشرده سازی با سطح ۵۶Kbit دارد. یکی از فواید فشرده سازی MP3 آن است که افراد می توانند از مجموعه های صوتی خود پشتیبان تهیه کنند و آن ها را بر روی هارد یا سی دی نگه داری کنند.
فرمت MP3 از حدود شنوایی استفاده می کنند، hybrid transform یک تبدیل کننده سیگنال از حدودی زمانی به سیگنال های حدود فرکانس است. این مدل پایه برای سه لایه صوت یکسان است و توسط MPEG تعریف شده است. اما Codec (رمز گذار) پیچیدگی های هر لایه را افزایش می دهد. Codec (رمزگذار) داده ها را به فریم ها تقسیم می کند که هر فریم شامل ۳۸۴ نمونه است. ۱۲ نمونه کلی از هر ۳۲ نمونه توسط sub-band ***** می شوند. (از هر ۳۲ نمونه یکی را توسط ***** sub-band انتخاب می کند)
مراحل الگوریتم MP3
استفاده از حلقه های ***** برای تقسیم سیگنال های صوت (به عنوان مثال صوت ۴۸Khz ) درون فرکانس sub-band که ۳۲ باند بحرانی . (sub-band filtering )
تعیین مقدار masking برای علت هر باند به وسیله نزدیک ترین باند (مدل های روانی شنوایی)
اگر قدرت یک باند زیر آستانه ی masking باشد آن باند رد می شود.
اگر قدرت در حدود قابل پذیرش باشد، تعیین تعداد بیت های لازم برای نمایش ضرائب آن چنان که نویزی به وسیله quantization تولید شود تحت تاثیر masking است. (۱ بیت از quantization حدودا ۶db نویز تولید می کند)
فرمت bitstream
علاوه بر ***** های سطح بالا برای مدل های روانی شنوایی شامل نتایج masking ، از افزونگی های account stereo و دیگر الگوریتم های فشرده سازی نظیر هافمن برای هر چه بهتر شدن فشرده سازی استفاده می کنند.
خلاصه ای از تکنولوژی MP3
حداقل آستانه شنوایی
آستانه شنوایی گوش انسان خطی نیست. آن نمایشی مطابق با قانون Fletcher و Munson به وسیله یک منحنی بین ۲Khz و ۵Khz است. لازم نیست صدا هایی که آستانه آن ها زیر آستانه شنوایی است کد شوند زیرا ما قادر به درک آن ها نیستیم.
اثر Masking
اساس این سیستم بر روی خصوصیات Masking شنوایی بشر است.
هنگامی که شما به خورشید نگاه می کنید، اگر یک پرنده از جلوی شما رد شود شما آن را نمی بینید زیرا نور خورشید مسط بر آن است. در صوت نیز چنین Masking مشابه ای وجود دارد. به این صورت که هنگام که صدای قوی شنیده می شود صدا های ضعیف شنیده نمی شوند.
برای شرح بیشتر مساله یک نمونه از Masking اندام انسان بیان می کنیم. هنگامی که هیچ وسیله ای در حال نواختن نیست شما صدای نفس نی زن را می شنوید اما هنگامی که شروع به نواختن می کند شما دیگر صدای نفس وی را نمی شنوید زیرا صدای نفس وی Mask شده است.
از این رو لازم نیست همه صوت کد شود. این اولین خصوصیتی بود که توسط فرمت MP3 برای بدست آوردن برخی از فضا ها استفاده شد. به این دلیل Encoder های (رمزگذارهای) MP3 از مدل های روانی شنوایی برای مدل کردن رفتار حس شنوایی انسان استفاده می کنند.
ذخیره بایت ها
گاهی، برخی از قطعه های یک بخش موزیکال نمی توانند بر حسب یک نرخ معلوم بدون تغییر کیفیت موزیکال کد شوند. MP3 در آن هنگام از یک مخزن کوچک از بایت ها برای اعمال بافر به استفاده از قطعه ای که بتواند با نرخ پایین و مسیری معلوم کد شود استفاده می کند.
کد گذاری هافمن
MP3 همچنین از تکنولوژی کلاسیک الگوریتم هافمن استفاده می کند. این عمل در پایان فشرده سازی اطلاعات را کد می کند. به این دلیل این یک الگوریتم فشرده سازی برای صوت محسوب نمی شود و بیشتر یک متد کد گذاری است. این کد گذاری کدهای با طول های متفاوت اما صحیح از بیت ها را ایجاد می کند و به احتمال زیاد نمونه کدها کوتاه تر از کد های اصلی می باشند. کد های هافمن خاصیت یکتا بودن را دارند از این رو آن ها می توانند با وجود طول های متفاوتشان به طور صحیح Decode شوند. Decoding بخش خیلی سریعی است. با استفاده از این نوع کد گذاری اجازه ذخیره متوسط یک بیت با فضای ۲۰% کمتر را می دهد.