প্রায়শই সমস্ত চিত্রের ক্ষয়ক্ষতি ঘটে যখন কোনও চিত্র প্রথমবারের মতো JPEG হিসাবে সংকুচিত হয়। কোনও জেপিইজি একই সেটিংসে যতবার সংক্ষেপিত হয় না , প্রজন্মের লোকসানগুলি গোলাকৃতির ত্রুটির মধ্যে সীমাবদ্ধ।
এমসিইউ সীমানা অবধি অক্ষত (8x8 ব্লক)।
ক্রোমা সাবসাম্পলিং অক্ষম।
ধ্রুবক ডিকিউটি (একই মানের সেটিংস)।
তবে উপরোক্ত মানদণ্ডগুলি মেটেনি এমন প্রতিটি পুনরাবৃত্তির জন্য রাউন্ডিং ত্রুটিগুলি বড় হতে পারে এবং সমস্ত মূল ফাইলের ব্যাকআপ রাখা বুদ্ধিমানের কাজ।
রঙের স্থান পরিবর্তন করুন। যদি ইচ্ছা হয় তবে ডাউনসাম্পল রঙের তথ্য (ক্রোমা সাবসম্পলিং) (লসী) । যদি নিচে নমুনা না থাকে, তথ্যের ক্ষতি গোলাকার ত্রুটির ফলাফল ।
সেগমেন্টেশন। প্রতিটি চ্যানেলকে 8x8 ব্লকে ভাগ করুন (এমসিইউ = ন্যূনতম কোডিং ইউনিট)। (অবচয়হীন)
দ্রষ্টব্য: ক্রোমা সাবসাম্পলিং সক্ষম করা থাকলে, মূল চিত্রের ক্ষেত্রে এমসিইউগুলি কার্যকরভাবে 16x8, 8x16 বা 16x16 হতে পারে। তবে, এমসিইউগুলি এখনও 8x8 টি ব্লক।
প্রতিটি এমসিইউতে ডিগ্রি কোসিন ট্রান্সফর্ম (ডিসিটি)। রাউন্ডিং ত্রুটির ফলস্বরূপ তথ্য হ্রাস ।
Quantization। এমসিইউর প্রতিটি কক্ষের মান একটি কোয়ান্টাইজেশন সারণীতে (ডিকিউটি) নির্দিষ্ট করা একটি সংখ্যা দ্বারা ভাগ করা হয়। মানগুলি গোল করা হয়, যার অনেকগুলি শূন্য হয়ে যাবে। এটি অ্যালগরিদমের প্রাথমিক ক্ষতির অংশ।
জিগ-জাগ স্ক্যান। জিগ-জ্যাগ প্যাটার্ন অনুসরণ করে প্রতিটি এমসিইউতে মানগুলি পুনরায় সাজানো সংখ্যার ক্রমে করুন range কোয়ান্টাইজেশন চলাকালীন শূন্যগুলি একত্রে গ্রুপ করা হবে। (অবচয়হীন)
ডিপিসিএম = ডিফারেনশিয়াল পালস কোড মড্যুলেশন। সংখ্যার সিকোয়েন্সগুলি এমন আকারে রূপান্তর করুন যা সংকোচন করা সহজ। (অবচয়হীন)
আরএলই = দৈর্ঘ্য এনকোডিং চালান। ধারাবাহিক শূন্যগুলি সংকুচিত হয়। (অবচয়হীন)
এন্ট্রপি / হাফম্যান কোডিং। (অবচয়হীন)
জেপিইজি পুনরায় সংক্ষেপণ
নোট করুন যে রঙ চ্যানেলগুলি ডাউনস্যাম্পলিং এবং কোয়ান্টাইজেশন একমাত্র উদ্দেশ্যমূলক ক্ষতির পদক্ষেপ । আপাতত রাউন্ডিং ত্রুটি নির্ধারণ করে, অন্যান্য সমস্ত পদক্ষেপ নিখরচায়। একবার কোয়ান্টাইজেশন হওয়ার পরে, পদক্ষেপটি বিপরীত করা এবং পুনরাবৃত্তি করা অভিন্ন ফলাফল দেয়। অন্য কথায়, পুনঃ-কোয়ান্টাইজেশন (একই ডিকিউটি সহ) হ্রাসহীন ।
নীতিগতভাবে, একটি পুনরায় মডেলিং অ্যালগরিদম তৈরি করা সম্ভব যা প্রথম পাসের পরে নিখুঁত। যাইহোক, ইমেজম্যাগিকের প্রয়োগের সাথে, ধীরে ধীরে স্থিতিস্থাপিত হওয়ার আগে রংগুলি খুব দ্রুত বদলে যেতে পারে, যেমনটি এর ছবিতে দেখা যায়।
সর্বোত্তম শর্ত দেওয়া হয়েছে, একই মানের সেটিংসের সাথে একটি জেপিগ্রে সংশোধন করার ফলে ঠিক একই জেপিইগির ফলাফল হবে। অন্য কথায়, জেপিগগুলি পুনরায় সংক্রামিত করা সম্ভাব্য ক্ষয়ক্ষতিহীন । অনুশীলনে, জেপিইজিগুলি পুনরায় সংক্ষেপণ ক্ষতিহীন নয়, তবে গোলাকার ত্রুটির সাপেক্ষে এবং এর দ্বারা সীমাবদ্ধ। যদিও গোলাকার ত্রুটিগুলি প্রায়শই শেষ পর্যন্ত শূন্যে রূপান্তরিত হয় , যাতে একই চিত্রটি আবার তৈরি হয়, ক্রোমা সাবসাম্পলিংয়ের ফলে উল্লেখযোগ্য রঙ পরিবর্তন হতে পারে।
বিক্ষোভ (একই মানের সেটিংস)
আমি নিম্নলিখিত bash
স্ক্রিপ্টটি লিখেছি , যা প্রদত্ত মানের সেটিংসে বারবার একটি জেপিইজি ফাইলটি পুনরায় সংহত করতে চিত্রম্যাগিক ব্যবহার করে:
#!/usr/bin/env bash
n=10001; q1=90
convert original.png -sampling-factor 4:4:4 -quality ${q1} ${n}.jpg
while true ; do
q2=${q1} # for variants, such as adding randomness
convert ${n}.jpg -quality ${q2} $((n+1)).jpg
#\rm $((n-5)).jpg # uncomment to avoid running out of space
n=$((n+1))
echo -n "$q2 "
md5sum ${n}.jpg
done
এটি কয়েক শতাধিক পুনরাবৃত্তির জন্য চালিয়ে দেওয়ার পরে, আমি md5sum
ফলাফলগুলিতে ছুটে এসেছি :
d9c0d55ee5c8b5408f7e50f8ebc1010e original.jpg
880db8f146db87d293def674c6845007 10316.jpg
880db8f146db87d293def674c6845007 10317.jpg
880db8f146db87d293def674c6845007 10318.jpg
880db8f146db87d293def674c6845007 10319.jpg
880db8f146db87d293def674c6845007 10320.jpg
আমরা দেখতে পাচ্ছি যে, প্রকৃতপক্ষে, বৃত্তাকার ত্রুটিটি শূন্যে রূপান্তরিত হয়েছে এবং ঠিক একই চিত্রটি বারবার উত্পন্ন হচ্ছে ।
আমি বিভিন্ন চিত্র এবং মান সেটিংস সহ এই একাধিকবার পুনরাবৃত্তি করেছি। সাধারণত, অবিচলিত স্থিতিতে পৌঁছে যায় এবং ঠিক একই চিত্রটি বারবার উত্পন্ন হয়।
আমি উবুন্টু 18.04 এ ইমেজম্যাগিক ব্যবহার করে ম্যাটডেমের ফলাফলগুলি প্রতিলিপি করার চেষ্টা করেছি। মূলটি রাউথেরাপিতে টিআইএফএফ-এ কাঁচা রূপান্তর ছিল, তবে মনে হয় এটি আর উপলব্ধ নেই। এর জায়গায়, আমি বর্ধিত সংস্করণ নিয়েছি এবং এটির মূল আকারে (256x256) কমিয়েছি। তারপরে আমি কনভার্ভেশন না হওয়া পর্যন্ত আমি 75 এ পুনরাবৃত্তি করেছি। এখানে ফলাফল (মূল, 1, এন, পার্থক্য):
আমার ফলাফলগুলি ভিন্ন। আসল মূল ব্যতীত পার্থক্যের কারণ নির্ধারণ করা অসম্ভব is
আমি পূর্ণাঙ্গতার উপরের বাম দিকের কোণটি থেকে 90 এ রূপান্তর না হওয়া পর্যন্ত চিত্রটি পুনরায় সংক্ষেপিত করেছি। এটি ফলাফল (মূল, 1, এন, পার্থক্য):
ক্রোমা সাবসাম্পলিং সক্ষম করার পরে, অবিচলিত অবস্থার সাথে সাথে রঙগুলি পরিবর্তন হয় change
অল্প সংখ্যক সেটিংসের মধ্যে পরিবর্তন করা
ভেরিয়েবলটি সংশোধন করে q2
, গুণমানের সেটিংটি সমানভাবে বিতরণকৃত মানগুলির সেটগুলিতে সীমাবদ্ধ হতে পারে।
q2=$(( (RANDOM % 3)*5 + 70 ))
একটি জন্য সেটিং পছন্দের অল্প সংখ্যক সুস্থিতি অবশেষে পৌঁছে পারে , যা দেখা যায় যখন MD5 মান আবর্তক শুরু। ভারসাম্যটি পৌঁছানোর আগে এটি সেটটি যত বেশি বড় লাগে, তত বেশি সময় নেয় এবং চিত্রটি তত খারাপ হয়।
ভারসাম্যহীনতায় যা ঘটবে বলে মনে হচ্ছে কোয়ান্টিমাইজেশনের আগে ডিসিটি সহগ হয় কোয়ান্টাম মানের সমস্ত (বা বেশিরভাগ) বিভাজ্য হতে হবে। উদাহরণস্বরূপ, যদি দুটি ডিকিউটি মধ্যে স্যুইচ করা হয় যেখানে ডিসিটি সহগটি পর্যায়ক্রমে 3 এবং 5 দ্বারা বিভক্ত করা হয়, যখন ডিসিটি সহগ 15 দ্বারা বিভাজ্য হয় তখনই ভারসাম্যটি পৌঁছে যায় This এটি ব্যাখ্যা করে যে কেন মানের ড্রপটি মূল সেটিংসের পার্থক্যের চেয়ে অনেক বেশি।
বৃহত্তর সংখ্যক সেটিংসের মধ্যে পরিবর্তন করা
ইয়েওর খুশি হয় না যখন এরকমভাবে q2
পরিবর্তিত হয়:
q2=$(( (RANDOM % 9) + 90 ))
একটি ভিডিও বানাতে, ব্যবহার করুন ffmpeg
:
rename 's@1@@' 1*.jpg
ffmpeg -r 30 -i %04d.jpg -c:v libx264 -crf 1 -vf fps=25 -pix_fmt yuv420p output.mp4
ওয়াচিং প্রথম 9999 পুনরাবৃত্তিও প্রায় পানি ফোঁড়া পর্যবেক্ষক মত হল। প্লেব্যাক গতি দ্বিগুণ করতে চান। 11999 পুনরাবৃত্তির পরে এখানে আইয়ার রয়েছে:
এমসইউয়ের সীমানা বদলালে কী হবে?
যদি পরিবর্তনগুলি সীমিত সংখ্যক বার সংঘটিত হয়, বারবার পুনরায় সংক্ষেপণ স্থির অবস্থায় পৌঁছতে পারে। যদি প্রতিটি পুনরাবৃত্তিতে পরিবর্তনগুলি ঘটে থাকে তবে চিত্রটি সম্ভবত DQT পরিবর্তিত হওয়ার সাথে একইভাবে হ্রাস পাবে।
- ভিডিওগুলিতে এটি ঘটে যা 8 দ্বারা বিভাজ্য নয় এমন একটি মাত্রা সহ কোনও চিত্র ঘোরায়।
সম্পাদনা সম্পর্কে কি?
সম্পাদনার পরে রিকম্প্রেসিংয়ের প্রভাব সম্পাদিত নির্দিষ্ট সম্পাদনার উপর নির্ভর করে। উদাহরণস্বরূপ, জেপিইজি আর্টিক্টস হ্রাস করার পরে একই মানের সেটিংসে সঞ্চয় করা একই শিল্পকর্মগুলির পুনরায় উত্পাদন করতে পারে। তবে, নিরাময় করা ব্রাশের মতো স্থানীয়করণের পরিবর্তনের প্রয়োগগুলি স্পর্শ করা হয়নি এমন অঞ্চলে প্রভাব ফেলবে না।
চিত্রের মানের সবচেয়ে বড় ড্রপটি যখন কোনও প্রদত্ত মানের সেটিংসে ফাইলটি প্রথমবার সংকুচিত হয় তখন ঘটে। পরবর্তীকালে একই সেটিংসের সাথে পুনরায় সংক্ষেপে রাউন্ডিং ত্রুটির চেয়ে বড় কোনও পরিবর্তন প্রবর্তন করা উচিত নয়। সুতরাং আমি কোনও মানের মান সেটিংসে সম্পাদনা-পুনরুদ্ধার চক্রগুলি একই মানের সেটিংসের সাথে সংরক্ষিত অন্য কোনও চিত্রের মতো দেখতে প্রত্যাশা করব (যতক্ষণ না এমসিইউ সীমানা অক্ষত থাকে এবং ক্রোমা সাব্পাম্পলিং অক্ষম থাকে )।
এই ভিডিওগুলি সম্পর্কে কি?
ত্রুটিযুক্ত জেপিজি বাস্তবায়ন? ( 10/12 এ ফটোশপের সাথে 500 বার পুনরায় সঞ্চয় করা ))
মানের সেটিংস পরিবর্তন করা হচ্ছে। (সর্বাধিক ভিডিও।)
এমসিইউ সীমানা ব্যাহত হচ্ছে। (ক্রপিং বা আবর্তন )
অন্যান্য কৌশলগুলি যা চিত্রের গুণমান হ্রাস করে বা জেপিজি অ্যালগরিদমের সাথে হস্তক্ষেপ করে?
আমি কি পুনরায় সংক্ষেপিত জেপিইজি দিয়ে আমার মূলগুলি ওভার-লিখন করতে পারি?
সমস্ত আসল ফাইলের ব্যাকআপ রাখা বুদ্ধিমানের কাজ, তবে আপনি যদি দুর্ঘটনাক্রমে একটিতে ওভাররাইট করেন তবে ক্ষতি সম্ভবত সীমাবদ্ধ থাকবে। ক্রোমা সাবসাম্পলিং অক্ষম হয়ে জেপিজিতে কাজ করাও ঠিক হবে ।
রঙিনে 8 টির বেশি বিট ব্যবহার করে এমন চিত্রের জন্য জেপিজি ব্যবহার করা যাবে না।