হাই ডায়নামিক রেঞ্জ (HDR) ভিডিও চালু করার পরে, স্ট্রিমিং পরিষেবা HDR ভিডিও স্ট্রিম করা শুরু করে, যেখানে ফুল-স্ক্রিন অভিজ্ঞতার উপর জোর দেওয়া হয়। সোশ্যাল মিডিয়া অ্যাপ এখন HDR ভিডিও ও আল্ট্রা HDR সাপোর্ট করে, যা বিভিন্ন অ্যাপ জুড়ে HDR ব্যবহার করার ব্যাপারে আগ্রহ বৃদ্ধি পাওয়ার ইঙ্গিত দেয়।
HDR-এর জন্য Android সহায়তা
Android বিভিন্ন মাইলস্টোনের মাধ্যমে HDR টেকনোলজিকে সমর্থন করে:
Android 7
- HDR ভিডিও ডিকোডিং ও ডিসপ্লের জন্য প্রাথমিক সহায়তা।
- HDR কেপেবিলিটিতে ক্রমাগত উন্নতি।
Android 13
- HDR ভিডিও ক্যাপচার, এনকোডিং ও ডিসপ্লে করার জন্য এন্ড-টু-এন্ড সহায়তা।
- মিক্সড SDR ও HDR কম্পোজিশন চালু করা হয়েছে, যা SDR ও HDR-এর মধ্যে ডিসপ্লে করা যায় এমন বিভিন্ন লুমিন্যান্স রেঞ্জকে সংজ্ঞায়িত করে।
Android 14
- Ultra HDR-এর মাধ্যমে HDR ছবির জন্য সহায়তা।
HDR স্ক্রিনশট সাপোর্টও উন্নত ও পরিবর্তিত হয়েছে।
HDR স্ক্রিনশট নেওয়ার ক্ষমতার উন্নতি
এই বিভাগে Android আপডেটে HDR স্ক্রিনশট নেওয়ার ক্ষমতার অগ্রগতি সম্পর্কে বর্ণনা করা হয়েছে।
Android 9
SurfaceFlinger, Android-এর গ্রাফিক্স কম্পোজিটর, HDR ভিডিওর সুবিধা নিয়ে এসেছে। HDR ভিডিও ও স্ক্রিনশটের GPU রেন্ডারিংয়ের জন্য জটিল পলিনোমিয়াল টোন ম্যাপার ব্যবহার করা হয়। এই টোন-ম্যাপিং কার্ভ সবসময় ডিসপ্লে টোন-ম্যাপারের সমতুল্য হয় না, তাই স্ক্রিনশট অন-স্ক্রিন কন্টেন্টের থেকে আলাদা হয়।
Android 13
SurfaceFlinger-এর GPU রেন্ডারিং ব্লকে টোনের ম্যাপিং প্লাগ-ইন থাকে, যা OEM-কে তাদের ডিসপ্লের টোন-ম্যাপিং কার্ভের সাথে ম্যাচ করার জন্য GPU শেডার প্রদান করতে দেয়। স্ক্রিনশট প্রায় স্ক্রিনে দেখানো কন্টেন্টের সাথে মিলছে, কিন্তু নিম্নলিখিত পার্থক্য রয়েছে:
- স্ক্রিনশট SDR ফর্ম্যাটে থেকে যায়। ফলে, কোনও HDR দৃশ্যের সাথে দেখা হলে, স্ক্রিনশটের মধ্যে থাকা HDR অঞ্চলগুলি আরও অনুজ্জ্বল দেখায়।
- SDR লুমিন্যান্স ম্যানেজ করা হয় না, তাই স্ক্রিনশটের মধ্যে SDR কন্টেন্ট HDR কন্টেন্টের মতোই উজ্জ্বল দেখায়।
অন্যভাবে বলতে গেলে, স্ক্রিনশটে ক্যাপচার করা যেকোনও HDR ভিডিওকে সিস্টেম SDR ভিডিওতে কনভার্ট করে।
Android 14
আলট্রা HDR-এর ক্ষেত্রে স্ক্রিনশট নেওয়া একটি বড় চ্যালেঞ্জ। ভিডিওর মতো নয়, সিস্টেম সাধারণত UI ফ্রেমবাফারের মধ্যে ছবি রেন্ডার করে, যার দুটি প্রধান প্রভাব রয়েছে:
- ছবিতে টোনম্যাপিং সহ এমন কোনও ইমেজ প্রসেসিং করা যাবে না যা আশেপাশের UI-এর থেকে আলাদা।
- UI রেন্ডার করার সময় সোর্স-ভিত্তিক টোন ম্যাপ করার জন্য অ্যাপ দায়ী।
এই চ্যালেঞ্জ কমাতে, তিনটি সম্ভাব্য স্ক্রিনশট নেওয়ার প্রয়োগ বিবেচনা করুন:
- Ultra HDR ছবির HDR বিবরণ বজায় রাখুন, যার ফলে স্ক্রিনশটে অ্যাপ UI অন্ধকার দেখায়।
- অ্যাপ UI-এর বিবরণ বজায় রাখে, যার ফলে আলট্রা HDR ছবি ক্লিপিং হয়।
- HDR হাইলাইট ক্লিপ করার সময় অ্যাপ UI উজ্জ্বল করে কম্প্রোমাইজ করা।
Android 14-এ অ্যাপ UI উজ্জ্বল করা এবং HDR হাইলাইট ক্লিপ করার তৃতীয় পদ্ধতি প্রয়োগ করা হয়।
Android 15 QPR1
SurfaceFlinger-এ স্ক্রিনশটের জন্য একটি লোকাল টোন-ম্যাপিং অ্যালগরিদম অন্তর্ভুক্ত থাকে। এই প্রক্রিয়ায় এগুলি অন্তর্ভুক্ত:
- ইনপুট ছবিকে ছোট ছোট ছবিতে ভাগ করা।
- প্রতিটি ছবিতে সর্বাধিক লুমিন্যান্স গণনা করা এবং প্রতিটি বিভাগের মধ্যে কম লুমিন্যান্স মান বাতিল করা।
- ব্লারিং ও রিস্যাম্পেলিংয়ের মাধ্যমে গণনা করা লুমিন্যান্স ইন্টারপোলেট করা।
- ইন্টারপোলেট করা লুমিন্যান্স ভ্যালুর উপর ভিত্তি করে, ইনপুট ইমেজে প্যারামিটারাইজড রেইনহার্ড টোনম্যাপার প্রয়োগ করা হচ্ছে।
এই অ্যালগরিদম Android 14 এবং Android 15 QPR1-এর মধ্যে স্ক্রিনশট উল্লেখযোগ্যভাবে উন্নত করে, যেমনটি নিম্নলিখিত উদাহরণগুলি দেখায়:
উদাহরণ ১ হল একটি HDR ভিডিওর স্ক্রিনশট যা Ultra HDR থাকা Chrome পৃষ্ঠার উপরে ওভারলে করা হয়েছে। নতুন ইমপ্লিমেন্টেশনে UI-এর রঙ বেশিরভাগ ক্ষেত্রে অপরিবর্তিত থাকে এবং ছবি আর ক্লিপ করা হয় না।
Android 14 Android 15 QPR1
ছবি ১. উদাহরণ ১-এর জন্য Android 14 ও Android 15 QPR1-এর তুলনা।
উদাহরণ ২ হল সেটিংস এর উপরে ওভারলে করা একটি HDR ভিডিওর স্ক্রিনশট এবং এর পরে আরও স্ক্রিনশট দেখানো হয়েছে। Android 14-এ, স্ক্রিনশটের রঙ পরপর গাঢ় হয়। Android 15 QPR1-এ, টোনম্যাপার সঠিকভাবে UI কালার রেপ্লিকেট করে এবং সংরক্ষণ করে।
Android 14 Android 15 QPR1
ছবি ২. উদাহরণ ২-এর জন্য Android 14 ও Android 15 QPR1-এর তুলনা।
Android 16
আলট্রা HDR-এর মতো, HDR স্ক্রিনশট রেন্ডারিংয়ের সময় HDR উপস্থাপনা রিকভার করতে স্ক্রিনশট ফাইলে একটি গেনম্যাপ সেভ করে। তবে, Ultra HDR-এর মতো নয়, PNG স্ক্রিনশট ইনজেস্ট করে এমন সিস্টেমের সাথে ব্যাকওয়ার্ড কম্প্যাটিবিলিটির জন্য স্ক্রিনশটটি PNG ফর্ম্যাটে থাকে।
স্ক্রিনশট জেনারেশনের মধ্যে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত:
- ডিভাইসে HDR কন্টেন্ট দেখানো হলে, FP16 পিক্সেল ব্যবহার করে স্ক্রিনশট তৈরি করা হয়।
- Android 15 QPR1-এ বর্ণিত লোকাল টোন-ম্যাপার ৮-বিট বেস SDR রেন্ডিশন তৈরি করে।
- SDR বেস রেন্ডিশনের সাথে HDR রেন্ডিশন মিশিয়ে ৮-বিট গেনম্যাপ তৈরি করা হয়।
- SDR বেস রেন্ডিশন ও গেনম্যাপ একটি PNG ফাইলে এনকোড করা হয়।
PNG এনকোডিংয়ের মধ্যে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত:
- গেনম্যাপটি PNG ছবি হিসেবে এনকোড করা হয়, যার মধ্যে
gmAPচ্যাঙ্ক থাকে, গেনম্যাপের জন্য ISO 21496-1 মেটাডেটা থাকে। - SDR বেস রেন্ডারিং PNG ছবি হিসেবে এনকোড করা হয়, যার মধ্যে
gmAPচ্যাঙ্ক থাকে, এতে ISO 21496-1 মেটাডেটার ভার্সন থাকে। এই PNG ছবিতে একটিgdATচাঙ্কও অন্তর্ভুক্ত থাকে, যার মধ্যে এনকোড করা গেনম্যাপ PNG-এর সম্পূর্ণতা থাকে।
নিচের ছবিতে PNG চঙ্কের লেআউট দেখানো হয়েছে:
ছবি ৩. PNG চঙ্কের লেআউট।
Android 16-এর সাথে, PNG কোডেক এই PNG-এর এনকোডিং এবং ডিকোডিং উভয়কেই সাপোর্ট করে। অ্যাপগুলি গেনম্যাপ সহ PNG-কে Ultra HDR-এর মতো একইভাবে দেখাতে পারে।