رفتن به محتوای اصلی
Koohestun
توضیح کوهستانفشرده‌سازی تصویرگزارش تشریحی· 5 دقیقه مطالعه· در فناوری

چگونه تبدیل کسینوسی گسسته ۸x۸ و جدول کوانتیزاسیون، داده‌های تصویر را برای همیشه دور می‌ریزند

فرمت فراگیر تصویر JPEG کاهش چشمگیر حجم فایل‌های خود را نه با فشرده‌سازی کارآمدتر داده‌ها، بلکه با شناسایی ریاضی و حذف دائمی جزئیات بصری با فرکانس بالایی که چشم انسان قادر به درک آن‌ها نیست، به دست می‌آورد.

به قلم کیان راد

تولیدکنندگان لوازم الکترونیکی مصرفی 40%آرشیویست‌ها و محافظان آثار 30%محققان بینایی ماشین 30%
تولیدکنندگان لوازم الکترونیکی مصرفی
تراکم ذخیره‌سازی و سرعت انتقال را در اولویت قرار می‌دهند و استدلال می‌کنند که محدودیت‌های بصری انسان باعث می‌شود داده‌های دور ریخته‌شده بی‌اهمیت باشند.
آرشیویست‌ها و محافظان آثار
از فرمت‌های بدون اتلاف (lossless) حمایت می‌کنند، زیرا کوانتیزاسیون داده‌های تاریخی را برای همیشه از بین می‌برد.
محققان بینایی ماشین
مصنوعات JPEG را به عنوان نویزهای مخربی می‌بینند که می‌توانند مدل‌های یادگیری ماشینی آموزش‌دیده روی داده‌های دست‌نخورده را گیج کنند.

یک عکس فشرده‌نشده ۱۲ مگاپیکسلی گوشی هوشمند دقیقاً به ۳۶ مگابایت فضای ذخیره‌سازی نیاز دارد؛ این مبنا با اختصاص سه بایت داده رنگی به تک‌تک ۱۲ میلیون پیکسل آن محاسبه می‌شود. با این حال، وقتی این تصویر در گالری دوربین ذخیره می‌شود، تنها ۲٫۵ مگابایت فضا اشغال می‌کند. ۳۳٫۵ مگابایتِ گمشده پنهان نشده‌اند یا به گونه‌ای فشرده نشده‌اند که بتوان آن‌ها را از حالت فشرده خارج کرد؛ آن‌ها برای همیشه نابود شده‌اند. الگوریتم مسئول این حذف، استاندارد گروه مشترک کارشناسان عکاسی (JPEG) است که در سال ۱۹۹۲ رسمی شد.[1]

اصطلاح «فشرده‌سازی» تداعی‌کننده چمدانی است که با فشار بسته شده است، و این‌طور القا می‌کند که محتویات آن دست‌نخورده باقی می‌مانند و هنگام باز شدن می‌توان آن‌ها را به‌طور کامل بازیابی کرد. اما JPEG این‌گونه کار نمی‌کند. این فرمت در واقع یک دستگاه کاغذخردکن الگوریتمی است که برای تصمیم‌گیری درباره اینکه چه چیزی را دور بیندازد، به محدودیت‌های بیولوژیکی انسان متکی است. به‌طور خاص، چشم انسان به تغییرات روشنایی بسیار حساس است، اما در تشخیص تغییرات سریع در رنگ‌های با فرکانس بالا عملکرد بسیار ضعیفی دارد.[3]

پیش از آنکه حتی ریاضیات هسته‌ای آغاز شود، خط لوله JPEG از طریق فرآیندی به نام نمونه‌برداری فرعی رنگ (chroma subsampling) از این نقطه کور بیولوژیکی سوءاستفاده می‌کند. تصویر از فضای رنگی استاندارد قرمز-سبز-آبی (RGB) به درخشندگی (Luminance) و رنگ‌مایگی (Chrominance) تبدیل می‌شود. از آنجا که چشم ما روشنایی را در اولویت قرار می‌دهد، الگوریتم بلافاصله تا ۵۰ درصد از داده‌های رنگی را دور می‌ریزد و یک مقدار رنگی واحد را بین پیکسل‌های مجاور به اشتراک می‌گذارد.[4]

سپس تصویر به شبکه‌ای از مربع‌های مجزا خرد می‌شود که ابعاد هر کدام ۸ در ۸ پیکسل است. این بلوک ۶۴ پیکسلی واحد بنیادی فشرده‌سازی JPEG است. الگوریتم دیگر به عکس به عنوان یک کل منسجم نگاه نمی‌کند و در عوض آن را به عنوان هزاران جزیره ۸x۸ جدا از هم پردازش می‌کند. این انزوا همان دلیل مکانیکی است که باعث می‌شود در فایل‌های JPEG که به‌شدت فشرده شده‌اند، مصنوعات (artifacts) بلوکی و قابل‌مشاهده‌ای در امتداد لبه‌های اشیاء ایجاد شود.[5]

در داخل هر بلوک ۸x۸، پیکسل‌های فضایی به تبدیل کسینوسی گسسته (DCT) داده می‌شوند. این موتور ریاضی داده‌های بصری را از دامنه مکانی به دامنه فرکانس ترجمه می‌کند. به جای ثبت اینکه پیکسل بالا-چپ آبی تیره و پیکسل پایین-راست آبی روشن است، DCT کل بلوک ۶۴ پیکسلی را به عنوان ترکیبی از ۶۴ الگوی موج نوسانی استاندارد توصیف می‌کند.[5]

تبدیل DCT داده‌های پیکسل فضایی را به ۶۴ شکل موج فرکانس متمایز ترجمه می‌کند.

خروجی DCT یک ماتریس از ۶۴ ضریب است. اولین مقدار که به عنوان ضریب DC شناخته می‌شود، نشان‌دهنده میانگین رنگ پایه کل بلوک است. ۶۳ مقدار باقی‌مانده، یعنی ضرایب AC، الگوهای با فرکانس بالا و با جزئیات فزاینده را نشان می‌دهند. دقیقاً در این مرحله، هیچ داده‌ای از دست نرفته است؛ DCT یک ترجمه ریاضی برگشت‌پذیر است.[3]

اولین مقدار که به عنوان ضریب DC شناخته می‌شود، نشان‌دهنده میانگین رنگ پایه کل بلوک است.

نابودی دائمی داده‌ها در مرحله بعدی رخ می‌دهد: کوانتیزاسیون (quantization). ۶۴ ضریب DCT بر یک جدول کوانتیزاسیون ۸x۸ متناظر تقسیم شده و سپس به نزدیک‌ترین عدد صحیح گرد می‌شوند. همان‌طور که در تحلیل فنی TechSpot اشاره شده است: «مرحله کوانتیزاسیون جایی است که بخش اتلافی (lossy) فشرده‌سازی JPEG در آن اتفاق می‌افتد.»[3][4]

جدول کوانتیزاسیون عمداً طوری وزن‌دهی شده است که جزئیات با فرکانس بالایی را که چشم ما در دیدن آن‌ها مشکل دارد، هدف قرار دهد. مقادیر با فرکانس پایین که نشان‌دهنده خطوط کلی تصویر هستند، بر اعداد کوچکی مانند ۱ یا ۲ تقسیم می‌شوند و تا حد زیادی دست‌نخورده باقی می‌مانند. مقادیر با فرکانس بالا که نشان‌دهنده جزئیات ریز و دانه‌ای هستند، بر اعداد بسیار بزرگ‌تری، اغلب ۵۰، ۱۰۰ یا بیشتر تقسیم می‌شوند.[5]

عملیات گرد کردن نقش جلاد را ایفا می‌کند. اگر یک جزئیات با فرکانس بالا ضریب DCT برابر با ۴۰ تولید کند و جدول کوانتیزاسیون آن را بر ۵۰ تقسیم کند، نتیجه ریاضی ۰٫۸ خواهد بود. از آنجا که JPEG به اعداد صحیح نیاز دارد، آن ۰٫۸ به سمت پایین یعنی ۰ گرد می‌شود. به این ترتیب، آن جزئیات به‌طور کامل از فایل پاک می‌شود.[4]

جداول کوانتیزاسیون با اجبار داده‌های با فرکانس بالا به صفر، حجم فایل را به‌طور تصاعدی کاهش می‌دهند.

با اجبار اکثریت قریب به اتفاق ضرایب AC با فرکانس بالا به صفر، ماتریس عمدتاً خالی می‌شود. این امر به مرحله نهایی خط لوله، یعنی کدگذاری آنتروپی (entropy coding)، اجازه می‌دهد تا داده‌های باقی‌مانده را با کارایی فوق‌العاده‌ای بسته‌بندی کند. یک رشته پیوسته از سی صفر در مقایسه با سی عدد متمایز، تقریباً به هیچ فضای ذخیره‌سازی نیاز ندارد.[1]

استاندارد IEEE سال ۱۹۹۲ یک جدول کوانتیزاسیون واحد و جهانی را الزامی نمی‌کند. این استاندارد نمونه‌های پایه‌ای را ارائه می‌دهد، اما توسعه‌دهندگان نرم‌افزار و تولیدکنندگان دوربین آزادند تا ماتریس‌های خود را بنویسند. این انعطاف‌پذیری باعث دهه‌ها تحقیق در زمینه بهینه‌سازی شده است.[1]

در سال ۱۹۹۴، محققان مرکز تحقیقات ایمز (Ames) ناسا نشان دادند که ماتریس‌های کوانتیزاسیون می‌توانند به‌طور پویا برای تصاویر منفرد بهینه‌سازی شوند. مقاله‌ای از اندرو واتسون (Andrew Watson) به تفصیل توضیح داد که چگونه تنظیم جدول بر اساس حساسیت کنتراست انسان می‌تواند حذف داده‌ها را بدون ایجاد مصنوعات بصری به حداکثر برساند.[2]

امروزه، وقتی کاربری نوار لغزان کیفیت را در نرم‌افزارهای ویرایش تصویر از ۱۰۰ به ۵۰ کاهش می‌دهد، در واقع وضوح تصویر را تغییر نمی‌دهد. بلکه در حال اعمال یک ضریب بر جدول کوانتیزاسیون است. تنظیم کیفیت پایین‌تر، مقسوم‌علیه‌های جدول را افزایش می‌دهد و ضرایب بیشتری را مجبور می‌کند تا به صفر گرد شوند و بخش بیشتری از عکس اصلی را برای همیشه دور می‌ریزد.[4]

ما با میل و رغبت، وفاداری ریاضی را با تراکم ذخیره‌سازی مبادله می‌کنیم. DCT ۸x۸ و جدول کوانتیزاسیون همراه آن، یک خط لوله بسیار کارآمد و اتلافی را تشکیل می‌دهند که فرض می‌کند آنچه ما نمی‌توانیم درک کنیم اهمیتی ندارد، و بقیه را برای همیشه دور می‌ریزد تا چرخ دنیای دیجیتال به حرکت خود ادامه دهد.[6]

گرد کردن به نزدیک‌ترین عدد صحیح، داده‌هایی را که پایین‌تر از آستانه کوانتیزاسیون قرار می‌گیرند، برای همیشه پاک می‌کند.

چرا مهم است

درک نحوه کارکرد فشرده‌سازی JPEG نشان می‌دهد که آرشیوهای دیجیتال ما بازتاب بی‌نقصی از واقعیت نیستند، بلکه تقریب‌هایی فیلترشده از نظر ریاضی‌اند که برای صرفه‌جویی در فضای ذخیره‌سازی با سوءاستفاده از محدودیت‌های بیولوژیکی بینایی انسان طراحی شده‌اند.

آنچه نمی‌دانیم

  • ماتریس‌های کوانتیزاسیون اختصاصی و دقیقی که توسط پردازنده‌های سیگنال تصویر در گوشی‌های هوشمند مدرن استفاده می‌شوند و به عنوان اسرار تجاری به‌شدت محافظت می‌شوند.
  • اینکه چگونه مدل‌های ارتقاء مقیاس (upscaling) مبتنی بر هوش مصنوعی در آینده، داده‌های خاص با فرکانس بالایی را که جداول کوانتیزاسیون برای همیشه نابود کرده‌اند، به‌طور قابل‌اعتمادی بازسازی خواهند کرد.

منابع

پوشش منابع

6 منبع

3 دیدگاه شناسایی‌شده

تولیدکنندگان لوازم الکترونیکی مصرفی 40%آرشیویست‌ها و محافظان آثار 30%محققان بینایی ماشین 30%
  1. [1]IEEE Xplore

    The JPEG Still Picture Compression Standard

    مطالعه در IEEE Xplore
  2. [2]NASA NTRS

    Visual optimization of DCT quantization matrices for individual images

    مطالعه در NASA NTRS
  3. [3]TechSpot

    How JPEG Image Compression Works

    مطالعه در TechSpot
  4. [4]cgjennings.ca

    How JPEG works

    مطالعه در cgjennings.ca
  5. [5]Medium

    How JPEG Compression Works: The DCT Explained

    مطالعه در Medium
  6. [6]تیم سردبیری کوهستان

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

دریافت فناوری اخبار همراه با پوشش کامل منابع و تحلیل دیدگاه‌ها، مستقیم در صندوق ورودی شما.