অ্যান্ড্রয়েড স্ক্রিনশটগুলিতে HDR

হাই ডাইনামিক রেঞ্জ (HDR) ভিডিও চালু হওয়ার পর, স্ট্রিমিং পরিষেবাগুলি পূর্ণ-স্ক্রিন অভিজ্ঞতার উপর দৃষ্টি নিবদ্ধ করে HDR ভিডিও স্ট্রিমিং শুরু করে। সোশ্যাল মিডিয়া অ্যাপগুলি এখন HDR ভিডিও এবং আল্ট্রা HDR সমর্থন করে, যা বিভিন্ন অ্যাপ জুড়ে HDR গ্রহণের প্রতি ক্রমবর্ধমান আগ্রহের ইঙ্গিত দেয়।

HDR এর জন্য Android সাপোর্ট

অ্যান্ড্রয়েড বেশ কয়েকটি মাইলফলকের মধ্য দিয়ে HDR প্রযুক্তি সমর্থন করেছে:

অ্যান্ড্রয়েড ৭

  • HDR ভিডিও ডিকোডিং এবং প্রদর্শনের জন্য প্রাথমিক সমর্থন।
  • HDR ক্ষমতার ক্ষেত্রে অব্যাহত অগ্রগতি।

অ্যান্ড্রয়েড ১৩

  • HDR ভিডিও ক্যাপচার, এনকোডিং এবং ডিসপ্লের জন্য এন্ড-টু-এন্ড সাপোর্ট।
  • মিশ্র SDR এবং HDR কম্পোজিশন চালু করা হয়েছে, যা SDR এবং HDR এর মধ্যে বিভিন্ন প্রদর্শনযোগ্য আলোকসজ্জার পরিসর নির্ধারণ করে।

অ্যান্ড্রয়েড ১৪

HDR স্ক্রিনশট সাপোর্টও বিকশিত এবং পরিবর্তিত হয়েছে।

HDR স্ক্রিনশট ক্ষমতার অগ্রগতি

এই বিভাগটি অ্যান্ড্রয়েড আপডেটগুলিতে HDR স্ক্রিনশট ক্ষমতার অগ্রগতি বর্ণনা করে।

অ্যান্ড্রয়েড ৯

অ্যান্ড্রয়েডের গ্রাফিক্স কম্পোজিটর, সারফেসফ্লিঙ্গার, HDR ভিডিও সাপোর্ট চালু করেছে। HDR ভিডিও এবং স্ক্রিনশটের GPU রেন্ডারিং একটি জটিল পলিনোমিয়াল টোন ম্যাপার ব্যবহার করে। এই টোন-ম্যাপিং কার্ভটি সর্বদা ডিসপ্লে টোন-ম্যাপারের সমতুল্য নয়, তাই স্ক্রিনশটগুলি অন-স্ক্রিন কন্টেন্ট থেকে আলাদা।

অ্যান্ড্রয়েড ১৩

SurfaceFlinger এর GPU রেন্ডারিং ব্লকে একটি টোন ম্যাপিং প্লাগইন রয়েছে, যা OEM কে তাদের ডিসপ্লের টোন-ম্যাপিং কার্ভের সাথে মেলে এমন একটি GPU শেডার প্রদান করতে দেয়। স্ক্রিনশটগুলি প্রায় অন-স্ক্রিন কন্টেন্টের সাথে মিলে যায়, তবে নিম্নলিখিত পার্থক্যগুলি সহ:

  • স্ক্রিনশটগুলি SDR ফর্ম্যাটে থাকে। ফলস্বরূপ, HDR দৃশ্যের পাশাপাশি দেখা গেলে, স্ক্রিনশটের মধ্যে HDR অঞ্চলগুলি আরও ম্লান দেখায়।
  • SDR লুমিন্যান্স পরিচালিত হয় না, তাই স্ক্রিনশটের মধ্যে SDR কন্টেন্ট HDR কন্টেন্টের মতোই উজ্জ্বল দেখাচ্ছে।

অন্য কথায়, সিস্টেমটি স্ক্রিনশটে ধারণ করা যেকোনো HDR ভিডিওকে SDR ভিডিওতে রূপান্তর করে।

অ্যান্ড্রয়েড ১৪

স্ক্রিনশট নেওয়ার ক্ষেত্রে আল্ট্রা এইচডিআর একটি গুরুত্বপূর্ণ চ্যালেঞ্জ। ভিডিওর বিপরীতে, সিস্টেমটি সাধারণত UI ফ্রেমবাফারের মধ্যে ছবি রেন্ডার করে, যার দুটি প্রধান প্রভাব রয়েছে:

  • ছবিগুলিতে টোনম্যাপিং সহ ইমেজ প্রসেসিং থাকতে পারে না, যা আশেপাশের UI থেকে আলাদা।
  • অ্যাপগুলি তাদের UI রেন্ডার করার সময় উৎস-ভিত্তিক টোন ম্যাপিংয়ের জন্য দায়ী।

এই চ্যালেঞ্জ কমাতে, তিনটি সম্ভাব্য স্ক্রিনশটিং বাস্তবায়ন বিবেচনা করুন:

  • একটি আল্ট্রা এইচডিআর ছবির এইচডিআর বিবরণ সংরক্ষণ করুন, যার ফলে স্ক্রিনশটে একটি অন্ধকার অ্যাপ ইউআই দেখা যাবে।
  • অ্যাপের UI বিশদ সংরক্ষণ করুন, যার ফলে আল্ট্রা HDR ইমেজ ক্লিপিং হবে।
  • HDR হাইলাইটগুলি ক্লিপ করার সময় অ্যাপ UI উজ্জ্বল করে আপস করুন।

অ্যান্ড্রয়েড ১৪ অ্যাপের ইউআই উজ্জ্বল করার এবং এইচডিআর হাইলাইটগুলি ক্লিপ করার তৃতীয় পদ্ধতিটি বাস্তবায়ন করে।

অ্যান্ড্রয়েড ১৫-কিউপিআর১

সারফেসফ্লিংগারে স্ক্রিনশটের জন্য একটি স্থানীয় টোন-ম্যাপিং অ্যালগরিদম অন্তর্ভুক্ত রয়েছে। এই প্রক্রিয়াটিতে অন্তর্ভুক্ত রয়েছে:

  • ইনপুট ইমেজটিকে ছোট ছোট ছবিতে ভাগ করা।
  • প্রতিটি ছবিতে সর্বাধিক আলোকসজ্জা গণনা করা এবং প্রতিটি বিভাগের মধ্যে কম আলোকসজ্জার মান বাদ দেওয়া।
  • ঝাপসা এবং পুনঃনমুনাকরণের মাধ্যমে গণনাকৃত আলোকসজ্জাগুলিকে ইন্টারপোলেট করা।
  • ইন্টারপোলেটেড লুমিন্যান্স মানের উপর ভিত্তি করে ইনপুট ছবিতে একটি প্যারামিটারাইজড রেইনহার্ড টোনম্যাপার প্রয়োগ করা হচ্ছে।

এই অ্যালগরিদমটি Android 14 এবং Android 15-QPR1 এর মধ্যে স্ক্রিনশটগুলিকে উল্লেখযোগ্যভাবে উন্নত করে, যেমনটি নিম্নলিখিত উদাহরণগুলি দেখায়:

  • উদাহরণ ১ হল একটি HDR ভিডিওর স্ক্রিনশট যা একটি Chrome পৃষ্ঠার উপরে আল্ট্রা HDR ধারণকারী অবস্থায় ওভারলে করা হয়েছে। নতুন বাস্তবায়নে UI রঙগুলি বেশিরভাগই সংরক্ষিত আছে এবং ছবিটি আর ক্লিপ করা নেই।

    অ্যান্ড্রয়েড ১৪ অ্যান্ড্রয়েড ১৫-কিউপিআর১
    অ্যান্ড্রয়েড ১৪-এ উদাহরণ ১অ্যান্ড্রয়েড ১৫কিউপিআর-এ উদাহরণ ১

    চিত্র ১. উদাহরণ ১-এর জন্য অ্যান্ড্রয়েড ১৪ এবং অ্যান্ড্রয়েড ১৫-কিউপিআর১-এর তুলনা।

  • উদাহরণ ২ হল সেটিংসের উপরে একটি HDR ভিডিওর স্ক্রিনশট যা পরবর্তী স্ক্রিনশট সহ আচ্ছাদিত। অ্যান্ড্রয়েড ১৪-এ, স্ক্রিনশটের রঙগুলি ধারাবাহিকভাবে গাঢ় হয়। অ্যান্ড্রয়েড ১৫-কিউপিআর১-এ, টোনম্যাপার সঠিকভাবে UI রঙগুলি প্রতিলিপি করে এবং সংরক্ষণ করে।

    অ্যান্ড্রয়েড ১৪ অ্যান্ড্রয়েড ১৫-কিউপিআর১
    অ্যান্ড্রয়েড ১৪-এ উদাহরণ ২অ্যান্ড্রয়েড ১৫কিউপিআর-এ উদাহরণ ২

    চিত্র ২। উদাহরণ ২-এর জন্য Android 14 এবং Android 15-QPR1-এর তুলনা।

অ্যান্ড্রয়েড ১৬

আল্ট্রা এইচডিআর এর মতো, এইচডিআর স্ক্রিনশটগুলি রেন্ডারিংয়ের সময় এইচডিআর উপস্থাপনা পুনরুদ্ধার করার জন্য স্ক্রিনশট ফাইলে একটি গেইনম্যাপ সংরক্ষণ করে। তবে, আল্ট্রা এইচডিআরের বিপরীতে, পিএনজি স্ক্রিনশট গ্রহণকারী সিস্টেমগুলির সাথে ব্যাকওয়ার্ড সামঞ্জস্যের জন্য স্ক্রিনশটটি পিএনজি ফর্ম্যাটে থাকে।

স্ক্রিনশট তৈরিতে নিম্নলিখিতগুলি জড়িত:

  • যখন ডিভাইসে HDR কন্টেন্ট প্রদর্শিত হয়, তখন FP16 পিক্সেল ব্যবহার করে একটি স্ক্রিনশট তৈরি করা হয়।
  • অ্যান্ড্রয়েড ১৫-কিউপিআর১- এ বর্ণিত স্থানীয় টোন-ম্যাপারটি একটি ৮-বিট বেস এসডিআর রেন্ডিশন তৈরি করে।
  • SDR বেস রেন্ডিশনকে HDR রেন্ডিশনের সাথে একত্রিত করে একটি 8-বিট গেইনম্যাপ তৈরি করা হয়।
  • SDR বেস রেন্ডিশন এবং গেইনম্যাপ একটি একক PNG ফাইলে এনকোড করা আছে।

PNG এনকোডিংয়ে নিম্নলিখিতগুলি জড়িত:

  • গেইনম্যাপটি একটি PNG ইমেজ হিসেবে এনকোড করা আছে, যার মধ্যে একটি gmAP চাঙ্ক রয়েছে, যেখানে গেইনম্যাপের জন্য ISO 21496-1 মেটাডেটা রয়েছে।
  • SDR বেস রেন্ডিশনটি একটি PNG ইমেজ হিসেবে এনকোড করা হয়েছে, যার মধ্যে একটি gmAP চাঙ্ক রয়েছে, যার মধ্যে ISO 21496-1 মেটাডেটার সংস্করণ রয়েছে। এই PNG ইমেজটিতে একটি gdAT চাঙ্কও রয়েছে, যার মধ্যে এনকোডেড গেইনম্যাপ PNG এর সম্পূর্ণতা রয়েছে।

নিচের চিত্রটি PNG অংশগুলির বিন্যাস দেখায়:

Layout of the PNG chunks

চিত্র ৩। PNG অংশগুলির বিন্যাস।

অ্যান্ড্রয়েড ১৬-তে, PNG কোডেক এই PNG গুলির এনকোডিং এবং ডিকোডিং উভয়ই সমর্থন করে। অ্যাপগুলি Ultra HDR- এর মতোই গেইনম্যাপ সহ PNG প্রদর্শন করতে পারে।