کم کردن حجم عکس: چه چیزی برای ۱۰۰، ۲۰۰ و ۵۰۰ کیلوبایت واقعاً جواب میدهد
پایین آوردن کیفیت بهتنهایی حجم عکسهای گوشی ما را تقریباً کم نکرد و با کیفیت بالا حتی آنها را بزرگتر کرد. اندازه گرفتیم کدام ترکیب ابعاد و کیفیت در سقف حجم رایج سامانهها جا میشود.
فرمهای آپلود معمولاً سقف سختگیرانهای دارند: عکس پرسنلی حداکثر ۲۰۰ کیلوبایت، مدرک ثبتنام کمتر از ۱ مگابایت، پیوست ایمیلی که صندوق گیرنده را پر نکند. بیشتر ما اول نوار کیفیت را پایین میکشیم و تعجب میکنیم که حجم فایل تقریباً تغییری نمیکند. اندازه گرفتیم چرا. سه عکس معمولی گوشی و یک اسکرینشات را در Chrome 141 با ترکیبهای زیادی از ابعاد، کیفیت و فرمت دوباره ذخیره کردیم و هر نتیجه را با نسخهی اصلی مقایسه کردیم. ابزار فشردهسازی تصویر ما از همین تابع مرورگر استفاده میکند و در Chrome دقیقاً همین فایلها را میسازد. در مرورگرهای دیگر عددها ممکن است کمی فرق کنند، چون هر مرورگر رمزگذار (encoder) خودش را دارد.
عکسهای آزمایش
این سه عکس از یک جشن خانوادگیاند و یک کیک روی میز، یک دیوار تزئینشده و یک سینی خوراکی را نشان میدهند. هر کدام ۲٬۵۷۶ × ۱٬۹۳۲ پیکسل، یعنی حدود ۵ مگاپیکسل دارد (عکس کیک ایستاده است) و حجمشان ۵۰۶، ۷۳۸ و ۶۲۲ کیلوبایت است. بررسی فایلها نشان داد که از قبل بهصورت JPG با کیفیت حدود ۷۵ ذخیره شده بودند. از این عکسها فقط برای اندازهگیری استفاده کردیم و آنها را منتشر نمیکنیم.
برای مقایسهی کیفیت از SSIM (شباهت ساختاری) استفاده کردیم؛ معیاری رایج که ساختار دو تصویر را مقایسه میکند: ۱ یعنی کاملاً یکسان، و از حدود ۰٫۹۷ به بالا تفاوتها در اندازهی معمولی بهسختی دیده میشوند. در همهی جدولها هر کیلوبایت ۱٬۰۰۰ بایت است.
پایین آوردن کیفیت بهتنهایی تقریباً فایده ندارد
اول عکسها را در اندازهی کامل دوباره ذخیره کردیم و فقط کیفیت را تغییر دادیم:
| کیفیت | حجم نسبت به نسخهی اصلی | SSIM |
|---|---|---|
| ۹۵ | ۱۴۸ تا ۱۵۸ درصد | ۰٫۹۹۹ |
| ۹۰ | ۱۲۱ تا ۱۲۴ درصد | ۰٫۹۹۷ |
| ۸۰ | ۱۰۳ تا ۱۰۴ درصد | ۰٫۹۹۴ تا ۰٫۹۹۵ |
| ۷۵ | ۹۷ تا ۹۸ درصد | ۰٫۹۹۹ |
| ۷۰ | ۹۴ تا ۹۶ درصد | ۰٫۹۹۴ تا ۰٫۹۹۵ |
| ۶۰ | ۸۵ تا ۸۶ درصد | ۰٫۹۷۸ تا ۰٫۹۸۴ |
| ۵۰ | ۷۵ تا ۷۶ درصد | ۰٫۹۴۸ تا ۰٫۹۶۵ |
با کیفیت ۹۰ یا ۹۵ فایلها تا ۵۸ درصد بزرگتر شدند، بیآنکه بهتر شوند: جزئیاتی که در ذخیرهی اول حذف شده دیگر برنمیگردد. با کیفیت ۷۵، یعنی همان کیفیت فایلهای اصلی، فایلهای تازه تقریباً یکسان بودند (SSIM ۰٫۹۹۹) و فقط ۲ تا ۳ درصد کمحجمتر. صرفهجویی واقعی از کیفیت ۵۰ تا ۶۰ شروع شد و حتی با کیفیت ۶۰ هم حجم عکسها هنوز ۴۳۰ تا ۶۳۴ کیلوبایت بود. اگر عکسی یک بار فشرده شده باشد، نوار کیفیت ابزار درستی برای کم کردن حجم آن نیست.
اول تعداد پیکسلها را کم کنید
تعداد پیکسلها خیلی بیشتر از سطح کیفیت حجم فایل را تعیین میکند. عکسها را طوری کوچک کردیم که ضلع بلندترشان طول مشخصی داشته باشد و آنها را با کیفیت ۷۵ ذخیره کردیم:
| ضلع بلندتر | مگاپیکسل | کیک / دیوار / سینی | نسبت به نسخهی اصلی |
|---|---|---|---|
| ۲٬۵۷۶ پیکسل (اندازهی اصلی) | ۵٫۰ | ۴۹۲ / ۷۲۰ / ۶۱۲ کیلوبایت | ۹۷ تا ۹۸ درصد |
| ۱٬۹۲۰ پیکسل | ۲٫۸ | ۳۰۵ / ۴۱۱ / ۳۶۹ کیلوبایت | ۵۶ تا ۶۰ درصد |
| ۱٬۶۰۰ پیکسل | ۱٫۹ | ۲۲۶ / ۲۹۵ / ۲۷۴ کیلوبایت | ۴۰ تا ۴۵ درصد |
| ۱٬۲۸۰ پیکسل | ۱٫۲ | ۱۵۷ / ۱۹۵ / ۱۹۰ کیلوبایت | ۲۶ تا ۳۱ درصد |
| ۱٬۰۲۴ پیکسل | ۰٫۸ | ۱۱۰ / ۱۳۲ / ۱۳۵ کیلوبایت | ۱۸ تا ۲۲ درصد |
| ۸۰۰ پیکسل | ۰٫۵ | ۷۴ / ۸۶ / ۹۱ کیلوبایت | ۱۲ تا ۱۵ درصد |
با نصف کردن ضلع بلندتر فقط یکچهارم پیکسلها باقی میماند و حجم فایلها به ۲۶ تا ۳۱ درصد حجم اصلی رسید. برای بسیاری از کاربردها همین هم کافی است: ۱٬۲۸۰ پیکسل برای ایمیل یا تصویری در ستون متن بس است و ۸۰۰ پیکسل برای عکس پروفایل یا پیشنمایش. اگر عکسی باید روی صفحهنمایشهای با تراکم پیکسل بالا در تمام عرض یک سایت واضح دیده شود، راهنمای JPG، PNG، WebP یا AVIF؟ حدود دو برابر عرض نمایش را پیشنهاد میکند.
تنظیمات برای سقفهای حجم رایج
بر اساس این اندازهگیریها تنظیماتی را انتخاب کردیم که هر سه عکس با آنها زیر سقفهای رایج ماندند:
| سقف حجم | ضلع بلندتر | کیفیت JPG | کیک / دیوار / سینی |
|---|---|---|---|
| ۵۰۰ کیلوبایت | ۱٬۹۲۰ پیکسل | ۸۰ | ۳۵۵ / ۴۷۵ / ۴۲۵ کیلوبایت |
| ۳۰۰ کیلوبایت | ۱٬۶۰۰ پیکسل | ۷۵ | ۲۲۶ / ۲۹۵ / ۲۷۴ کیلوبایت |
| ۲۰۰ کیلوبایت | ۱٬۲۸۰ پیکسل | ۷۵ | ۱۵۷ / ۱۹۵ / ۱۹۰ کیلوبایت |
| ۱۵۰ کیلوبایت | ۱٬۰۲۴ پیکسل | ۷۵ | ۱۱۰ / ۱۳۲ / ۱۳۵ کیلوبایت |
| ۱۰۰ کیلوبایت | ۸۰۰ پیکسل | ۷۵ | ۷۴ / ۸۶ / ۹۱ کیلوبایت |
حالا ابزار ما میتواند این جستوجو را خودش انجام دهد: سقف حجم را در خانهی تازهی حجم هدف بنویسید. ابزار سطحهای کیفیت بین ۶۰ تا ۹۰ را امتحان میکند و بالاترین سطحی را که جا شود نگه میدارد. اگر حتی ۶۰ هم زیاد باشد، ابعاد را مرحلهبهمرحله کوچک میکند و دوباره امتحان میکند. برای عکسهای ما این تنظیمات را انتخاب کرد:
| عکس | هدف ۲۰۰ کیلوبایت | هدف ۱۰۰ کیلوبایت |
|---|---|---|
| کیک (ایستاده) | ۱٬۲۵۲ × ۱٬۶۷۰ پیکسل، کیفیت ۶۴: ۱۹۴ کیلوبایت | ۸۲۹ × ۱٬۱۰۶ پیکسل، کیفیت ۶۲: ۹۷ کیلوبایت |
| دیوار | ۱٬۳۷۵ × ۱٬۰۳۱ پیکسل، کیفیت ۶۸: ۱۹۳ کیلوبایت | ۹۸۰ × ۷۳۵ پیکسل، کیفیت ۶۴: ۹۹٫۵ کیلوبایت |
| سینی | ۱٬۴۹۵ × ۱٬۱۲۱ پیکسل، کیفیت ۶۴: ۱۹۹ کیلوبایت | ۹۹۳ × ۷۴۵ پیکسل، کیفیت ۶۰: ۹۹ کیلوبایت |
ابزار پیکسلهای بیشتری نگه میدارد و کیفیت پایینتری از جدول ما به کار میبرد. هر دو روش معقولاند، چون همانطور که بخش بعد نشان میدهد، تفاوت کیفیت ۶۰ و ۸۰ بهسختی دیده میشود.
کیفیت را تا کجا میشود پایین آورد؟
برای اینکه ببینیم فشردهسازی از کجا به چشم میآید، نسخهی ۱٬۲۸۰ پیکسلی عکس کیک را با کیفیت ۸۰، ۶۰، ۴۰ و ۲۵ ذخیره کردیم و همان بخشها را چهار برابر بزرگ کردیم. کیفیت ۸۰ و ۶۰ عملاً یکسان بودند، حتی در تزئینات براق و پردهی نرم پسزمینه. با کیفیت ۴۰ مربعهای کمرنگی در سطوح نرم و یکدست پیدا شد. با کیفیت ۲۵ این مربعها کاملاً آشکار بودند و رنگهایی که نرم به هم میرسیدند به لکههای تخت تبدیل شدند. این مربعها نشانهی همیشگی JPG است که تصویر را در بلوکهای ۸ × ۸ پیکسلی فشرده میکند.
بنابراین برای عکس، کیفیت ۶۰ تا ۸۰ محدودهی امنی است. اگر فایلی با کیفیت ۶۰ هنوز حجیم است، بهجای پایینتر آوردن کیفیت، ابعاد را بیشتر کوچک کنید: تصویری کمی کوچکتر کمتر از مربعها به چشم میآید. حجم هدف در ابزار ما هم همینطور کار میکند.
WebP: سبکتر، اما همهجا پذیرفته نمیشود
عکسها را بهصورت WebP هم ذخیره کردیم و حجمها را در کیفیت اندازهگیریشدهی یکسان، یعنی SSIM برابر ۰٫۹۷، مقایسه کردیم:
| عکس | ۱٬۶۰۰ پیکسل: از JPG به WebP | ۱٬۲۸۰ پیکسل: از JPG به WebP |
|---|---|---|
| کیک | ۲۱۵ به ۱۹۷ کیلوبایت (۸ درصد کمتر) | ۱۶۱ به ۱۴۳ کیلوبایت (۱۱ درصد کمتر) |
| دیوار | ۳۹۶ به ۲۹۲ کیلوبایت (۲۶ درصد کمتر) | ۲۵۹ به ۱۸۲ کیلوبایت (۳۰ درصد کمتر) |
| سینی | ۲۸۸ به ۲۵۳ کیلوبایت (۱۲ درصد کمتر) | ۱۹۶ به ۱۶۷ کیلوبایت (۱۵ درصد کمتر) |
WebP بین ۸ تا ۳۰ درصد صرفهجویی کرد؛ بیشترینش در عکس پرجزئیات دیوار. در راهنمای JPG، PNG، WebP یا AVIF؟ که با عکسهای دیگر و رمزگذار دیگری اندازه گرفته شد، میانگین ۲۶ درصد بود؛ میزان صرفهجویی به خود تصویر بستگی دارد. برای سایت خودتان WebP انتخاب خوبی است. اما برای فرمها، سامانههای اداری و ایمیل، JPG امنتر است، چون بعضی فرمهای آپلود فقط JPG یا PNG میپذیرند.
اسکرینشات راه دیگری لازم دارد
اسکرینشات نوشتههای تیز و سطوح یکدست بزرگ دارد؛ درست برعکس عکس. یک اسکرینشات ۱٬۲۸۰ × ۱٬۲۰۰ پیکسلی از یکی از راهنماهایمان را آزمودیم که بهصورت PNG با حجم ۲۸۸ کیلوبایت ذخیره شده بود:
| ذخیره بهصورت | حجم | SSIM |
|---|---|---|
| PNG، ذخیرهی دوباره با مرورگر | ۴۲۱ کیلوبایت | ۱ (یکسان) |
| JPG، کیفیت ۹۰ | ۲۳۷ کیلوبایت | ۰٫۹۹۴ |
| JPG، کیفیت ۸۰ | ۱۸۳ کیلوبایت | ۰٫۹۸۶ |
| WebP، کیفیت ۱۰۰ | ۲۱۷ کیلوبایت | ۱ (یکسان) |
| WebP، کیفیت ۹۰ | ۱۳۹ کیلوبایت | ۰٫۹۹۸ |
| WebP، کیفیت ۸۰ | ۱۰۶ کیلوبایت | ۰٫۹۹۶ |
ذخیرهی دوبارهی PNG در مرورگر حجم آن را ۴۶ درصد بیشتر کرد؛ فایلهای PNG برنامههای مختلف با فشردگی بسیار متفاوتی ذخیره میشوند. ابزار ما این را تشخیص میدهد و فایل اصلی را نگه میدارد. WebP با کیفیت ۸۰ برندهی آشکار بود: ۶۳ درصد کمحجمتر از PNG و با این حال نزدیکتر به نسخهی اصلی از JPG با کیفیت ۹۰. با بزرگنمایی سهبرابر، نوشتهها در همهی نسخهها بهراحتی خوانده میشدند. اگر فرمی فقط JPG میپذیرد، برای اسکرینشات کیفیت ۹۰ را انتخاب کنید.
در این میان چه چیزی از دست میرود؟
وقتی مرورگر تصویری را دوباره ذخیره میکند، از روی پیکسلها فایل تازهای میسازد. در آزمایش ما Chrome پروفایل رنگ را نگه داشت، اما اینها را حذف کرد:
- اطلاعات EXIF، مثل مدل دوربین، تاریخ و اگر وجود داشته باشد، موقعیت GPS. این پیش از انتشار عمومی عکسها مفید است.
- نقشهی بهرهی HDR (gain map). هر سه عکس از نوع Ultra HDR بودند: کنار تصویر معمولی، یک تصویر دوم کوچک (۲ تا ۴ درصد حجم فایل) داشتند که به صفحهنمایشهای HDR اجازه میدهد بخشهای روشن را درخشانتر نشان دهند. پس از فشردهسازی، این عکسها روی آن صفحهها مثل عکسهای معمولی دیده میشوند.
هر چیزی که جزئی از خود تصویر است حذف نمیشود. تاریخی که روی عکس چاپ شده، مثل یکی از عکسهای ما، همچنان دیده میشود. اگر میخواهید چیزی پنهان بماند، پیش از فشردهسازی آن را برش بزنید.
گامبهگام: عکسی برای سقف حجم یک سامانه
- فایل اصلی را نگه دارید و روی یک نسخهی کپی کار کنید. هر ذخیرهی بااتلاف کمی جزئیات بیشتری حذف میکند.
- آنچه را لازم ندارید با ابزار برش تصویر حذف کنید. هر پیکسلی که حذف شود، حجم را کم میکند.
- ابزار فشردهسازی تصویر را باز کنید و برای فرمها و ایمیل JPG و برای سایت خودتان WebP را انتخاب کنید.
- سقف حجم را بهعنوان حجم هدف وارد کنید؛ مثلاً ۲۰۰ برای ۲۰۰ کیلوبایت. اگر تنظیمات ثابت را ترجیح میدهید، از جدول بالا استفاده کنید یا اول ابعاد را با ابزار تغییر اندازهی تصویر تعیین کنید.
- نتیجه را با بزرگنمایی ۱۰۰ درصد بررسی کنید، بهخصوص چهرهها و نوشتهها را.
- برای اسکرینشات WebP را انتخاب کنید، یا اگر فقط JPG پذیرفته میشود، JPG با کیفیت ۹۰ را.
ابزارهای این راهنما
-
فشردهسازی تصویر
تصاویر JPG، PNG و WebP را در مرورگر فشرده کنید: کیفیت را انتخاب کنید، ابعاد را کوچک کنید و فایل سبکتر بگیرید؛ بدون آپلود.
باز کردن ابزار -
تغییر اندازهی تصویر
اندازهی تصاویر را به پیکسل دقیق یا درصدی تغییر دهید، با حفظ نسبت ابعاد یا بدون آن. رایگان، سریع و خصوصی.
باز کردن ابزار -
برش تصویر
برش آنلاین تصویرهای JPG، PNG و WebP: کادر را بکشید یا پیکسلها را وارد کنید، با نسبتهایی مثل ۱:۱، ۴:۳ و ۱۶:۹. رایگان و بدون آپلود.
باز کردن ابزار -
تبدیل فرمت تصویر (JPG، PNG، WebP)
تصاویر را در مرورگر بین JPG، PNG و WebP تبدیل کنید؛ مثلاً PNG به JPG یا JPG به PNG. تبدیل گروهی و بدون آپلود.
باز کردن ابزار
پرسشهای متداول
چطور حجم عکس را به ۱۰۰ کیلوبایت برسانم؟
در ابزار فشردهسازی تصویر ما عدد ۱۰۰ را بهعنوان حجم هدف وارد کنید. بدون این گزینه، ضلع بلندتر را به حدود ۸۰۰ پیکسل برسانید و عکس را با کیفیت ۷۵ بهصورت JPG ذخیره کنید. سه عکس ۵ مگاپیکسلی آزمایش ما بعد از این کار ۷۴ تا ۹۱ کیلوبایت شدند.
چرا حجم عکس بعد از فشردهسازی بیشتر شد؟
چون از قبل فشرده شده بود. ذخیرهی دوبارهی JPG با کیفیتی بالاتر از قبل فقط داده اضافه میکند: عکسهای گوشی ما که با کیفیت حدود ۷۵ ذخیره شده بودند، با کیفیت ۹۰ بین ۲۱ تا ۲۴ درصد بزرگتر شدند. اگر نتیجه با همان ابعاد و فرمت بزرگتر شود، ابزار ما فایل اصلی را نگه میدارد.
هر کیلوبایت ۱٬۰۰۰ بایت است یا ۱٬۰۲۴ بایت؟
طبق استاندارد بینالمللی، هر کیلوبایت (kB) ۱٬۰۰۰ بایت است و ۱٬۰۲۴ بایت یک کیبیبایت (KiB). ویندوز و بعضی فرمها هنوز با ۱٬۰۲۴ حساب میکنند. فایلی که با حساب ۱٬۰۰۰ بایت زیر سقف باشد، با حساب ۱٬۰۲۴ هم زیر سقف است؛ به همین دلیل حجم هدف در ابزار ما با ۱٬۰۰۰ بایت حساب میشود.
آیا فشردهسازی موقعیت مکانی را از عکسهایم حذف میکند؟
در آزمایش ما Chrome هنگام ذخیره همهی اطلاعات EXIF، از جمله مختصات GPS در صورت وجود، را حذف کرد. آنچه روی خود تصویر چاپ شده، مثل تاریخ، باقی میماند.
برای فایل کمحجم WebP بهتر است یا JPG؟
در آزمایش ما WebP با کیفیت یکسان ۸ تا ۳۰ درصد کمحجمتر بود. از آن برای سایت خودتان استفاده کنید؛ برای فرمها، ایمیل و چاپ JPG امنتر است، چون همهی گیرندگان WebP را نمیپذیرند.
آیا عکسهایم آپلود میشوند؟
خیر. ابزارهای تصویر ما در مرورگر شما اجرا میشوند. عکسها روی دستگاه خودتان پردازش میشوند و هرگز به سرور ما فرستاده نمیشوند.
منابع و مطالعهی بیشتر
- MDN Web Docs: HTMLCanvasElement.toBlob() – the browser function our image tools use to save images (developer.mozilla.org)
- Android Developers: Ultra HDR Image Format v1.1 (gain map stored next to the normal JPG image) (developer.android.com)
- Wang, Bovik, Sheikh, Simoncelli (2004): Image quality assessment: from error visibility to structural similarity (SSIM). IEEE Transactions on Image Processing 13(4) (doi.org)