শুধু পরীক্ষা করতে, আমাকে পরীক্ষামূলকভাবে ফরভারওয়ান্টারের বিশ্লেষণ পরীক্ষা করতে দিন।
জেপিইজি সংকোচনের জন্য সবচেয়ে খারাপ ধরণের ইনপুট চিত্র (বা কোনও সংক্ষেপণ, সত্যই) অভিন্ন র্যান্ডম আরজিবি শোর, যা তাত্ত্বিকভাবে জটিল নয় omp সুতরাং আমাকে নেটপিবিএম সরঞ্জামগুলি ব্যবহার করে কিছু উত্পন্ন করতে দিন :
$ rawtoppm < /dev/urandom 640 480 > rnd.ppm
$ pnmtopng < rnd.ppm > rnd.png
$ du -b rnd.*
923772 rnd.png
921615 rnd.ppm
(অবিচ্ছিন্নভাবে এলোমেলো আরজিবি শোরগোল, ক্ষতিহীন পিএনজি ফর্ম্যাট, 903 কেবি)
নোট (মার্চ 2017): আমি মোটামুটি আছি নিশ্চিত ছবিটি উপরে ছিল পিএনজি ফরম্যাটে যখন আমি প্রথম এই উত্তর লিখেছে এবং এটিকে পুনরায় আপলোড 2013 সালে দুর্ভাগ্যবশত, এটা হবে (এমনকি এর নীচে সেই দৃঢ়ভাবে এই বোঝা রঙ ব্যবস্থাপনা সম্পর্কে একটি মন্তব্য।) দেখে মনে হচ্ছে যে এটিকে এখানে চুপচাপ জেপিজিতে রূপান্তরিত করা হয়েছে, এখানে ভিজ্যুয়াল তুলনা অকেজো করে তুলেছে।
আমি একটি নতুন পিএনজি পরীক্ষার চিত্রটি পুনরায় আপলোড করার চেষ্টা করেছি, তবে স্পষ্টতই এটি ইমিগ্রে একটি স্বেচ্ছাসেবী পিএনজি ফাইলের আকার সীমাতে আঘাত করে এবং জেপিজিতে স্বয়ংক্রিয়ভাবে রূপান্তরিত হয়। আমি এই সমস্যাটি সম্পর্কে কোনও উপায় আছে কিনা তা নিশ্চিত নই, তবে কমপক্ষে আপনার যদি লিনাক্স বাক্সে অ্যাক্সেস থাকে তবে আপনি সর্বদা নিজের পরীক্ষার চিত্র তৈরি করার জন্য প্রদত্ত আদেশগুলি পুনরায় চালাতে পারেন। যে কোনও ক্ষেত্রে, সংক্ষেপণের গুণমানের সরাসরি ভিজ্যুয়াল তুলনা রোধ করা ব্যতীত, এটি নীচের বিশ্লেষণটিকে কোনওভাবেই অকার্যকর করে না।
ঠিক আছে, সুতরাং সঙ্কুচিত পিপিএম ফাইলটি 640 × 480 × 3 = 921,600 বাইট দীর্ঘ, প্লাস 15 মিনিট ন্যূনতম পিপিএম শিরোলেখের জন্য প্রত্যাশিত। পিএনজি ফর্ম্যাটটি ব্যবহার করে এটি নিখরচায় সংকুচিত করার চেষ্টা করা মাত্র 2157 বাইট দ্বারা আকার বৃদ্ধি করে শেষ পর্যন্ত, পিএনজি শিরোনাম এবং মেটাডেটা দ্বারা গ্রহণ করা এবং সম্ভবত সংকোচনের অ্যালগরিদমটিতে সামান্য কিছুটা অদক্ষতা যা সংকোচনযোগ্য ডেটা সংকুচিত করার চেষ্টা করছে।
(হ্যাঁ, এটি পিক্সেলের প্রতি 3 বাইট, 4 নয়; এমনকি পিপিএম ফর্ম্যাট, যা গ্রাফিক্স ফাইলের ফর্ম্যাট হিসাবে পাওয়া যায় প্রায় ডিস্কে পিক্সেল প্রতি অপ্রয়োজনীয় চতুর্থ বাইট সংরক্ষণ করার মতো যথেষ্ট মূ isn't় নয় some কিছু থাকতে পারে প্রান্তিককরণের কারণে মেমরির ক্ষেত্রে এটি করার সুবিধা, বিশেষত আপনার যদি একটি আলফা চ্যানেলও সংরক্ষণ করা দরকার তবে কোনও ফাইলটিতে চিত্র লেখার সময় এই কারণগুলি প্রয়োগ হয় না।)
ঠিক আছে, তাহলে জেপিইগির কী হবে? আসুন প্রথমে সংক্ষেপণের ক্ষয়টি হ্রাস করার চেষ্টা করি (গুণমান = 100, কোনও ক্রোমা সাবসাম্পলিং, ভাসমান-পয়েন্ট ডিসিটি) নয়। দুর্ভাগ্যক্রমে, pnmtojpeg
ম্যানুয়ালটি সমস্ত প্রাসঙ্গিক বিকল্পগুলি কীভাবে সেট করবেন তা স্পষ্টভাবে ব্যাখ্যা করে না (বিশেষত, -sample
বিকল্পটি "উইজার্ডের জন্য বিকল্পসমূহ" বিভাগে তালিকাভুক্ত করা হয়েছে, যা কেবলমাত্র লিবিজেপেগ ডকুমেন্টেশনের একটি ফাইলকে উল্লেখ করে) তাই আমি এটিকে রূপান্তর করব পরিবর্তে জিআইএমপি ফলস্বরূপ ফাইলটি দেখতে এমন দেখাচ্ছে:
897249 rnd.jpg
(জেপিইজি সংকুচিত আরজিবি গোলমাল, গুণমান = 100, ক্রোমা সাবসাম্পলিং, 876 কেবি)
কি, এটি ছোট হতে পারে? আমি কি বলিনি যে খাঁটি শব্দ শুনতে পারা যায় না? ওয়েল, জিনিসটি হল, এমনকি সর্বোচ্চ মানের ক্ষেত্রেও, সাধারণ জেপিইজি সংক্ষেপণ যথেষ্ট ক্ষতিহীন নয়। জিম্পে চিত্রটি পুনরায় খোলার এবং এটির সাথে মূলটির সাথে তুলনা করে, কেউ দেখতে পাবে যে কিছু পিক্সেলের রঙিন মানগুলি এক বা দুই ধাপ (256 এর মধ্যে) দ্বারা স্থানান্তরিত হয়েছে। সেগুলি পিক্সেল যেখানে জেপিজি সংক্ষেপণ অ্যালগরিদম "প্রতারণা" করেছে এবং এখানে কিছুটা ফেলে দিয়েছে, অন্য একটি, যেখানে এটি অনুমান করেছিল যে পরিবর্তনটি লক্ষণীয় হবে না। প্রকৃতপক্ষে, বিনা সহায়তাকারী মানুষের চোখের ফলাফলটি মূলটি থেকে একেবারে পৃথক।
সুতরাং যে সর্বোচ্চ মানের ছিল; pnmtojpeg
ডিফল্ট (গুণমান = 75, সাব স্যাম্পলিং সক্ষম) এর মতো আরও সাধারণ সেটিংস সম্পর্কে কী ? চল এটা চেষ্টা করি:
$ pnmtojpeg < rnd.ppm > rnd2.jpg
$ du -b rnd2.jpg
185128 rnd2.jpg
(জেপিইজি সংক্ষেপিত আরজিবি গোলমাল, গুণমান = 75, ক্রোমা সাবম্যাপলিং, 184 কেবি)
বাহ, 901 থেকে 184 কেবি ডাউন! যদিও এটি বেশ আক্রমণাত্মক সংকোচনের বিষয় এবং চিত্রগুলি ঘনিষ্ঠভাবে তুলনা করার সময় আপনি অবশ্যই পার্থক্যটি বলতে পারবেন। এর বেশিরভাগটি ক্রোমা সাবস্পলিংয়ের কারণে, যা মূলত মাত্র 75% রঙ (হিউ / স্যাচুরেশন) ডেটা ফেলে দেয়। জিম্পে সাবমলিং অক্ষম করে এটি ব্যবহার করে এমন একটি 350,618 বাইট ফাইল দেয় যা এখনও দেখায় (মানুষের চোখের দিকে, কমপক্ষে) ম্যাগনিটিভ করার পরেও মূলটির খুব কাছাকাছি থাকে।
যাই হোক, সব এই বিন্দু যে প্রকট হয়, কোন ব্যাপার কিভাবে সশব্দ আপনার রাতের আকাশে ফটো হতে পারে, এবং কোন ব্যাপার আপনি কিভাবে উচ্চ গুণমান নির্বাচন পারে, সেখানে শুধু কোন উপায় একটি 640 × 480 JPEG ফাইল 900 তুলনায় উল্লেখযোগ্যভাবে বৃহত্তর পেতে পারেন KB। (আচ্ছা, যদি না আপনার ক্যামেরাটি এতে একটি বহু-মেগাবাইট এক্সিফ রঙের প্রোফাইল সংযুক্ত করে থাকে বা সমান বোকা কিছু, এটি that) এবং আপনি যদি আরও সাধারণ জেপিইজি সংক্ষেপণ সেটিংস ব্যবহার করেন তবে সর্বাধিক প্রশ্রয়যোগ্য ফাইলের আকার প্রায় 200 কেবি বা আরও নীচে চলে যাবে ।