بیت دپت (bit depth) یا عمق بیت، بعد از مبحث سمپل ریت، جز پایهای ترین مباحث تکنولوژی صدای دیجیتال به شمار میآید. در واقع اگر سمپل ریت را عامل تاثیر گذار بر روی دقت فرکانسهای صدا بدانیم، بیت دپت عامل تاثیر گذار بر روی شدت( amplitude) صداهای ضبط یا تولید شده به شکل دیجیتال خواهد بود.
بیت دپت چیست؟
اساسا برای هر مبدل آنالوگ به دیجیتال دو نکته را باید از قبل تعیین کرد. اول تعداد دفعات سمپلگیری از سیگنال درهر ثانیه (sample rate ) و دوم تعداد بیتهای اطلاعاتی که برای ضبط هر سمپل به کار میرود (bit depth).
برای روشن شدن مفهوم بیت دپت لازم است توضیح مختصری از مفهوم بیت در تکنولوژی کامپیوتر داده شود. سیستمهای دیجیتال اطلاعات را در غالب زنجیرهای از بیتها ذخیره میکنند. هر بیت میتواند عدد صفر و یا یک باشد. از آنجا که سیستمهای دیجیتال از سیستم دو دویی برای انتقال دیتا استفاده میکنند لذا لازم است جهت دستیابی به مقادیر بزرگتر از صفر و یک ، بیتها را گروه بندی کنیم . مثلا هر گاه گروهما شامل ۸ بیت باشد آن را بایت مینامند.
کامپیوترها و سیستمهای دیجیتال برای ساختن ارقام بزرگتر از صفر ویک معمولا بیتها را درکلمه(word) های ۱۶ ، ۳۲ ، و ۶۴ بیتی قرار میدهند. هرچه تعداد بیتهای به کار رفته برای تشکیل یک عدد بیشتر باشد علاوه بر امکان بزرگتر بودن عدد ، دقت عدد (اعشار) هم بالاتر میرود.
Quantization Error and Dynamic range
واضح است هر چه تعداد دفعات نمونه برداری و تعداد بیت های به کار رفته در فرایند نمونه برداری بیشتر باشد سیگنال تبدیلی از آنالوگ به دیجیتال در مقایسه با اصل سیگنال آنالوگ از دقت بالاتری برخوردار خواهد بود. این مسئله ما را به سمت دو تعریف سوق می دهد. اختلاف بین سیگنال اصلی و سیگنال دیجیتال (quantized) شده را quantization error می نامند. و همچنین اختلاف بین بالاترین و پایین ترین سطح سیگنال قابل تبدیل به دیجیتال توسط تعداد مشخصی بیت را Dynamic Range نامگذاری کرده اند.
Quantization error باعث ایجاد دیستورشن در سیگنال دیجیتال می شود. دلیل این امر آن است که سیگنال آنالوگ در نقاط نمونه برداری باید به نزدیک ترین مقداری که در سیستم، قابلیت تشخیص و تبدیل دارد گرد شوند. هر چه تعداد بیت های بکار رفته (bit depth ) در فرایند تبدیل بیشتر باشد مقادیر سمپل شده به مقادیر اصلی نزدیک تر و در نتیجه اختلاف بین سیگنال دیجیتال با سیگنال آنالوگ اصلی کمتر خواهد بود.
برای روشن شدن مفهوم عمق بیت مثالی می آورم:
رض کنید شما یک کیلو میوه خریداری می کنید وقیمت آن ۲۷۰۰ تومان است. اگر شما در جیبتان فقط اسکناس ۲۰۰۰ تومانی داشته باشید یا باید ۴۰۰۰ تومان بپردازید و یا ۲۰۰۰ تومان و این یعنی خطای ۱۳۰۰+ و یا ۷۰۰- تومانی. حال اگر اسکناس ۱۰۰۰ تومانی داشته باشید یا ۳۰۰۰ تومان می پردازید و یا ۲۰۰۰ تومان یعنی خطای ۳۰۰+ و یا ۷۰۰- تومانی. با داشتن اسکناس ۵۰۰ تومانی شما یا۳۰۰۰ تومان می پردازید و یا ۲۵۰۰ تومان یعنی خطای ۳۰۰+ و یا ۲۰۰- تومانی. ملاحضه می کنید هر چه واحد پول موجود در جیب شما کوچک تر باشد به صورت دقیق تری می توانید پول میوه فروش را پرداخت کنید. تصور کنید که جیب شما مملو از سکه های ۲۵ تومانی است در این حالت شما با خطایی بسیار ناچیز می توانید پول میوه را پرداخت نمایید یعنی خطایی ۲۵+ یا ۲۵- تومانی.
داشتن این همه پول خرد البته فضای بسیار زیاد تری را در جیب شما اشغال می کند تا داشتن اسکناس ۲۰۰۰ تومانی. این دقیقا همان چیزی است که با افزایش bit depth در سیستم دیجیتال اتفاق می افتد. هر چه شما از bit depth بالا تری برای ضبط و یا پخش سیگنال استفاده نمایید دقت سیستم بالاتر رفته و مقادیر نقاط سمپل برداری شده به مقادیراصلی نزدیک تر می شود اما در عوض حجم فایل به شدت بالا رفته و همزمان سیستم نیاز به میزان پردازش بیشتری خواهد داشت.
در شکل بالا تاثیر افزایش عمق بیت در دقت سیگنال نشان داده شده است.
همان گونه که قبلا توضیح دادم اختلاف بین بالاترین و پایین تر سطح سیگنالی که مبدل آنالوگ به دیجیتال قادر به تشخیص و تبدیل است را Dynamic range می نامند. هر چه عمق بیت مورد استفاده در یک مبدل بالاتر باشد دینامیک رنج آن مبدل بالاتر خواهد بود. افزایش هر بیت در هنگام تبدیل سیگنال از آنالوگ به دیجیتال مقادیر قابل شناسایی توسط سیستم را دو برابر می کند و بدون ذکر محاسبات ریاضی دو برابر شدن تعداد مقادیر قابل شناسایی، منجر به افزایش ۶٫۰۲ دسیبلی دینامیک رنج سیگنال می گردد. دینامیک رنج از طیق فرمول زیر محاسبه می گردد:
SE = 6/02n + 1/76
در این فرمول n ، تعداد بیت های به کار رفته جهت تبدیل سیگنال از آنالوگ به دیجیتال می باشد. پس طبق این فرمول یک سیگنال ۱۶ بیت که همان فرمت CD است در تئوری حدودا دارای دینامیک رنجی برابر با ۹۸ دسیبل می باشد. البته در عمل به علت محدودیت مدارات الکترونیکی این رقم به حدود ۹۰ دسیبل می رسد .
سیگنال به نویز
بعد از تعریف دینامیک رنج ، مبحث بعدی که قابل طرح کردن می باشد مبحث سیگنال به نویز است. به طور خلاصه نسبت سیگنال به نویز پس زمینه سیگنال به نویز نامیده می شود . معمولا عبارت سیگنال به نویز در ارتباط با سیگنال ضبط شده به کار می رود و نه خود سیستم.
تصور کنید در یک سالن کنسرت نشسته اید و گروه ارکستر روی صحنه آماده اجراست. کمترین شدت صوتی که این گروه ارکستر ایجاد می کند حدود ۳۰ دسیبل است که حاصل سرفه ، عطسه و بقیه نویز های پس زمینه است. ارکستر شروع به نواختن می کند و به نقطه اوج قطعه می رسد. در این نقطه اوج، بالاترین شدت صوت به حدود ۱۰۰ دسیبل می رسد.پس می توانیم بگوییم نسبت سیگنال به نویز موسیقی در لحظه اوج ۷۰=۳۰-۱۰۰ می باشد. واضح است متناسب با شدت بلندی موسیقی در زمان های مختلف و با توجه به ثابت بودن نویز زمینه این نسبت در لحظه های مختلف متفاوت خواهد بود.
ممکن است این سوال مطرح شود که این چه نسبتی است که به جای تقسیم ، با تفریق به دست میاید. پاسخ این است که از آنجا که دسیبل یک عدد لگاریتمی است نسبت اعداد لگاریتمی از طریق تفریق و نه تقسیم به دست می آیند.
در جدول زیر میزان دینامیک رنج و همچنین تعداد مقادیر قابل شناسایی به ازای عمق بیتهای مختلف آمده است.
بیت دپت | تعداد مقادیر قابل شناسایی | داینمیک رنج |
---|---|---|
1 | 2 | 7/8 |
2 | 4 | 13/8 |
4 | 16 | 25/8 |
8 | 256 | 49/9 |
12 | 4096 | 74 |
16 | 65536 | 98 |
18 | 262144 | 110/1 |
20 | 1048576 | 122/1 |
24 | 16777216 | 146/1 |
32 | 4294967296 | 194/4 |
64 | 18446744073709441616 | 387 |
همانگونه که در جدول مشخص است با افزایش تعداد بیتها رزولوشن به شدت افزایش مییابد و این افزایش رزولوشن به قدری زیاد است که در نگاه نخست این سوال در ذهن شکل میگیرد که چرا همیشه از تعداد بیتهای بسیار زیاد استفاده نمیکنیم؟!.
برای پاسخ به این پرسش دو دلیل عمده وجود دارد. اول اینکه گوش انسان دارای محدودیت فیزیکی است و توان تشخیص افزایش رزولوشن را تا حد مشخصی دارا است و بعد از گذشتن از این حد، عملا گوش قادر به تشخیص تفاوت نخواهد بود. دلیل دوم افزایش سرسام آور حجم فایل و همچنین افزایش میزان پردازش لازم برای سیگنالهایی با عمق بیت بالاست و این حقیقت که تمام این هزینهها برای ایجاد تغییراتی صرف میشود که گوش انسان قادر به تشخیص آن نخواهد بود.
علاوه بر موارد بالا تکنیکی به نام”Noise shaping” و یا “Dithering ” وجود دارد که با استفاده از آن میتوان از یک سیگنال ۱۶ بیتی دینامیک رنجی در حدود یک سیگنال ۲۴ بیتی دریافت کرد. در ارتباط با این تکنیک در مقاله بعد توضیحات کامل را ارائه خواهم کرد.