JPEG, PNG, WebP নাকি AVIF: কোনটা রাখবেন?
একই ছবি আমার চারটা ফরম্যাটে আছে। কোনটা রাখব আর কোনটা মুছে ফেলব?
ফরম্যাট নয়, শুরু করুন ছবিটা দিয়ে
ফরম্যাট নিয়ে তর্কটা প্রায় সব সময়ই সবার আগে করার মতো ভুল তর্ক। ফলাফল ঠিক করে দেয় ইমেজের কনটেন্ট। ছবি তৈরি হয় মসৃণ, নয়েজি গ্রেডিয়েন্ট দিয়ে, যেখানে একই পিক্সেলের পুনরাবৃত্তি নেই। স্ক্রিনশট, লোগো, ডায়াগ্রাম আর পিক্সেল আর্ট তৈরি হয় সমতল এলাকা, কড়া প্রান্ত আর অল্প কয়েকটা নির্দিষ্ট রং দিয়ে। এই দুই ধরনের ছবি সম্পূর্ণ আলাদা পদ্ধতিতে কম্প্রেস হয়, আর যে ফরম্যাট একটায় দুর্দান্ত সে সাধারণত অন্যটায় মাঝারি।
তাই প্রথম প্রশ্নটা “AVIF কি JPEG-এর চেয়ে ভালো” নয়। প্রশ্নটা হলো “এটা কি ছবি না গ্রাফিক, আর এর কি স্বচ্ছতা দরকার”। এর উত্তর পেয়ে গেলে সংক্ষিপ্ত তালিকায় সাধারণত এক বা দুটো ফরম্যাটই থাকে।
কোন ফরম্যাট আসলে কী করে
| ফরম্যাট | কম্প্রেশন | স্বচ্ছতা | অ্যানিমেশন | সবচেয়ে মানানসই |
|---|---|---|---|---|
| JPEG | শুধু লসি | না | না | যেসব ছবি সব জায়গায় খুলতেই হবে |
| PNG | শুধু লসলেস | হ্যাঁ, 8-বিট আলফা | না (APNG আলাদা একটা সুবিধা) | স্ক্রিনশট, লোগো, সমতল গ্রাফিক, হুবহু পিক্সেল |
| WebP | লসি বা লসলেস | হ্যাঁ, দুই মোডেই | হ্যাঁ | JPEG আর PNG দুটোরই সাধারণ বিকল্প |
| AVIF | লসি বা লসলেস | হ্যাঁ, 10-বিট সহ | হ্যাঁ | যেসব ছবির ক্ষেত্রে এনকোডের সময়টা মেনে নেওয়া যায় |
টেবিলটা একটা কথা চেপে যায়, যেটা স্পষ্ট করে বলা দরকার: কোয়ালিটি স্লাইডার নামিয়ে PNG ছোট করা যায় না, কারণ PNG-তে কোয়ালিটি স্লাইডারই নেই। PNG অপটিমাইজার ফাইল ছোট করে ভালো প্রেডিকশন ফিল্টার আর ভালো প্যালেট খুঁজে বের করে, ডিটেইল ফেলে দিয়ে নয়। এ কারণেই PNG হিসেবে সেভ করা ছবির উপর যত টুলই চালান, সেটা বিশাল থেকেই যায় — তথ্য ফেলে দেওয়ার কোনো ব্যবস্থাই ফরম্যাটটার ভেতরে নেই।
লসি আর লসলেস কোয়ালিটির গ্রেড নয়
“লসলেস” মানে “ভালো” আর “লসি” মানে “খারাপ” — এভাবে পড়ে ফেলার লোভ হয়। এগুলো কোয়ালিটির গ্রেড নয়, আলাদা আলাদা কাজ। লসলেস মানে ডিকোড করা পিক্সেল যা ঢুকেছিল তার সঙ্গে বিট-বাই-বিট অভিন্ন; পিক্সেলগুলোই যখন আসল কথা তখন এটাই সঠিক পছন্দ, যেমন কোনো UI স্ক্রিনশট যেখান থেকে কেউ লেখা পড়বে। লসি মানে চোখ যে ডিটেইল সহজে ধরতে পারে না, এনকোডার সেটা ফেলে দেওয়ার অনুমতি পায় — কেবল এ কারণেই বারো-মেগাপিক্সেলের একটা ছবি আদৌ কয়েকশো কিলোবাইটে আঁটে।
কাজের একটা নিয়ম: একটামাত্র পিক্সেল ভুল হলেও যদি আপনার চোখে পড়ে, লসলেস ফরম্যাট নিন। না পড়লে, বিবেচনাসম্পন্ন কোয়ালিটি সেটিংয়ে লসি ফরম্যাট অনেক ছোট ফাইল দেবে আর স্বাভাবিক দেখার মাপে আপনি পার্থক্যটা ধরতেই পারবেন না।
WebP আর AVIF কোথায় নিজেদের জায়গা করে নেয়
নতুন এই দুই ফরম্যাটেই এমন প্রেডিকশন আর ট্রান্সফর্ম টুল আছে, যা 1992 সালে মান হিসেবে গৃহীত JPEG-এ নেই। বাস্তবে এর মানে, একই রকম দৃশ্যমান কোয়ালিটি এরা ছোট সাইজে পৌঁছাতে পারে, আর দুটোই স্বচ্ছতা সামলায়, যা JPEG আদৌ পারে না। WebP হলো বাস্তববাদীটা: এটা দ্রুত এনকোড করে আর একটামাত্র ফরম্যাট দিয়েই JPEG ও PNG দুটোর জায়গা নেয়। AVIF হলো উচ্চাভিলাষীটা: এটা AV1 ভিডিও কোডেকের ইন্ট্রা-ফ্রেম টুল কাজে লাগায়, বেশি বিট ডেপথ সমর্থন করে, আর ফটোগ্রাফিক কনটেন্টে চারটির মধ্যে সাধারণত সবচেয়ে ছোট ফাইল দেয়।
এর দাম হলো এনকোডের সময়। AVIF এনকোডিং একটা খোঁজের সমস্যা, আর এনকোডার তাতে সত্যিকারের CPU সময় খরচ করে। ব্রাউজার ট্যাবে, ফোনের ভেতরে, সেই সময়টা আপনার — এ কারণেই FileSlimmer অপেক্ষাটা ঘটছেই না এমন ভান না করে AVIF-এর জন্য প্রতিটি ফাইলের অগ্রগতি দেখায়। একটামাত্র হিরো ইমেজ কনভার্ট করলে এই বিনিময় স্পষ্টতই লাভজনক। চারশোটা কনভার্ট করলে WebP ভেবে দেখুন।
পুরোনো ফাইল কনভার্ট করলে পুরোনো ক্ষতি মেরামত হয় না
সবচেয়ে চেনা হতাশাটা এটাই। বছর কয়েক আগে কম কোয়ালিটিতে সেভ করা কোনো JPEG নিয়ে যদি PNG বা লসলেস WebP-তে কনভার্ট করেন, ব্লকিং আর রিঙিং আর্টিফ্যাক্টগুলো নিখুঁতভাবে নতুন ফাইলে কপি হয়ে যায়। লসলেস মানে “ইনপুটের সঙ্গে অভিন্ন”, আর ইনপুটের পিক্সেলে ক্ষতিটা আগেই পাকাপাকিভাবে বসে গেছে। আপনি পান একটা বড় ফাইল, যাতে ঠিক একই খুঁতগুলো আছে।
একটা লসি ফাইলকে আরেকটা লসি ফরম্যাটে কনভার্ট করা মানে দ্বিতীয় আলাদা একটা কম্প্রেশন পাস, তাই এটা তার নিজের আর্টিফ্যাক্টও উপরে যোগ করতে পারে। সুযোগ থাকলে আপনার হাতে থাকা সবচেয়ে মূল ফাইল থেকে কনভার্ট করুন — ক্যামেরার মূল ফাইল, ডিজাইন টুল থেকে করা এক্সপোর্ট — কম্প্রেসারের ভেতর দিয়ে একবার ঘুরে আসা কপি থেকে নয়।
কাজে লাগানোর মতো একটা সংক্ষিপ্ত তালিকা
- ছবি, পুরোনো সফটওয়্যার সহ যেকোনো কিছুতে খুলতে হবে: JPEG রাখুন।
- ছবি, নিজের সাইট বা অ্যাপের জন্য, আর কে সেটা পড়বে তা আপনারই নিয়ন্ত্রণে: WebP, অথবা এনকোডের সময়টা দিতে পারলে AVIF।
- স্ক্রিনশট, লোগো, ডায়াগ্রাম, চার্ট, বা পিক্সেলের ভেতরে লেখা আছে এমন যেকোনো কিছু: PNG, অথবা সর্বজনীন সমর্থনের চেয়ে সাইজ বেশি জরুরি হলে লসলেস WebP।
- স্বচ্ছ ব্যাকগ্রাউন্ড লাগে এমন যেকোনো কিছু: PNG, WebP বা AVIF। JPEG নয়।
- পরে আবার এডিট করতে পারেন এমন সংরক্ষণের কপি: মূল ফাইলটা যা-ই হোক রেখে দিন, আর প্রতিটি কম্প্রেস করা সংস্করণকে ফেলে দেওয়ার মতো জিনিস ধরে নিন।
এই তুলনা আপনাকে যা বলে না
এখানে সাইজের কোনো ক্রম দেওয়া হয়নি, আর সেটা ইচ্ছাকৃত। প্রকাশিত তুলনাগুলো মাপা হয় নির্দিষ্ট একটা ইমেজ সেটে, নির্দিষ্ট এনকোডার সংস্করণ আর সেটিংয়ে, আর এর যেকোনো একটা বদলালে ফলাফলও সরে যায়। আপনার নিজের ছবির বর্ণনা দেয় কেবল আপনার নিজের ছবিটাই। একই উৎস থেকে আপনার কাছে গ্রহণযোগ্য একটা কোয়ালিটি সেটিংয়ে প্রতিটি সম্ভাব্য ফরম্যাটে একবার করে কনভার্ট করুন, তারপর দুটো সংখ্যা আর দুটো ছবি পাশাপাশি রেখে মিলিয়ে দেখুন।
সমর্থনও সময়ের সঙ্গে বদলায়। পুরো একটা লাইব্রেরিকে নতুন ফরম্যাটে নিয়ে যাওয়ার আগে দেখে নিন ফাইলগুলো কী কী দিয়ে খুলতে হবে: ব্রাউজার, ফোনের গ্যালারি, প্রিন্টার, কোনো ক্লায়েন্টের দশ বছরের পুরোনো ডেস্কটপ অ্যাপ্লিকেশন। সেই তালিকার সবকিছু সত্যিই পড়তে পারে, এমন ফরম্যাটগুলোর মধ্যে সবচেয়ে ছোটটাই সেরা।
এই কাজের টুল
সূত্র
- ITU-T T.81 — the JPEG standard
- W3C — Portable Network Graphics (PNG) Specification (Third Edition)
- Google — WebP container and bitstream documentation
- Alliance for Open Media — AV1 Image File Format (AVIF)