এই পৃষ্ঠায় মিশ্র SDR এবং HDR কম্পোজিশনের জন্য SDR কন্টেন্ট ডিমিং ফিচারের প্রয়োজনীয়তা, কনফিগারেশন এবং ভ্যালিডেশন বর্ণনা করা হয়েছে।
অ্যান্ড্রয়েড ১৩ নিম্নলিখিত বৈশিষ্ট্যগুলি প্রবর্তনের মাধ্যমে স্ক্রিনে একযোগে এসডিআর এবং এইচডিআর কম্পোজিশন প্রদর্শনের জন্য সমর্থন উন্নত করেছে:
HDR উজ্জ্বলতাকে টোন ম্যাপিংয়ের মাধ্যমে SDR-উপযোগী পরিসরে রূপান্তর করা।
libtonemapব্যবহার করে হার্ডওয়্যার কম্পোজার (HWC), সারফেসফ্লিঙ্গার এবং অ্যাপগুলোর মধ্যে টোন ম্যাপিং সামঞ্জস্যপূর্ণ করা যায়। OEM-রা তাদের নিজস্ব টোন ম্যাপিং কার্ভ প্রয়োগ করতে পারে, যা ভেন্ডর এবং ফ্রেমওয়ার্ক কম্পোনেন্টগুলোর মধ্যে শেয়ার করা যাবে।HDR কন্টেন্টের সাথে একই সময়ে প্রদর্শিত হলে স্ক্রিনে থাকা SDR কন্টেন্টের আলো কমে যায়।
যখন স্ক্রিনে HDR কন্টেন্ট থাকে, তখন এর বর্ধিত উজ্জ্বলতার পরিসরের সাথে সামঞ্জস্য রাখতে স্ক্রিনের ব্রাইটনেস বাড়িয়ে দেওয়া হয়। স্ক্রিনে থাকা যেকোনো SDR কন্টেন্টের উজ্জ্বলতা বাড়ার সাথে সাথে তা নির্বিঘ্নে ম্লান হয়ে যায়, যাতে SDR কন্টেন্টের অনুভূত উজ্জ্বলতা পরিবর্তিত না হয়। OEM-রা তাদের বিল্ট-ইন ডিসপ্লে এমনভাবে কনফিগার করতে পারে, যাতে HDR কন্টেন্টের পাশাপাশি প্রদর্শিত হলে স্ক্রিনে থাকা SDR কন্টেন্টও ম্লান হয়ে যায়।
OEM প্রয়োজনীয়তা
SDR কন্টেন্ট ডিমিং-এর মাধ্যমে HDR এবং SDR কন্টেন্টের জন্য উন্নত কম্পোজিশন ব্যবহার করতে, নিম্নলিখিত শর্তাবলী অনুসরণ করুন:
HWC-এর AIDL সংস্করণটি প্রয়োগ করুন, যাতে ডিভাইসটির কালার পাইপলাইনে হার্ডওয়্যার-ত্বরিত ডিমিং-এর জন্য সমর্থন অন্তর্ভুক্ত রয়েছে। প্রয়োজনীয় সক্ষমতাগুলো প্রয়োগ করার জন্য HWC-এর AIDL দেখুন।
HWC-তে হার্ডওয়্যার ওভারলেগুলির আলো নির্ভুলভাবে কমানোর জন্য, ওভারলেগুলির রৈখিক আলোর স্কেল নির্ধারণ করতে নির্দিষ্ট হার্ডওয়্যারের প্রয়োজন হয়। পর্যাপ্ত হার্ডওয়্যার ছাড়া ইমপ্লিমেন্টেশনগুলিতে SurfaceFlinger-এর মাধ্যমে কম্পোজিশনের কাজটি GPU-এর উপর ছেড়ে দিতে হয়, যার ফলে ব্যাটারির চার্জ দ্রুত শেষ হয়ে যায় এবং আলোর মান কমে যাওয়ার সম্ভাবনা থাকে।
ডিভাইসটিকে অবশ্যই
Display.getHdrCapabilitiesদ্বারা রিপোর্ট করা অন্তত একটি HDR প্রযুক্তি সমর্থন করতে হবে।
কনফিগারেশন
অন্তর্নির্মিত ডিসপ্লে ডিভাইসের বৈশিষ্ট্য অনুযায়ী মিশ্র SDR এবং HDR কন্টেন্ট কম্পোজিশন ফিচারটি কনফিগার করা যায়, যার ফলে ব্যাটারি লাইফ, বার্ন-ইন এবং কন্টেন্টের গুণমানের মধ্যে একটি ভারসাম্য স্থাপন করা হয়।
উন্নত কম্পোজিশনটি সক্রিয় ও সমন্বয় করা হয় একটি ডিসপ্লে কনফিগারেশনের মাধ্যমে, যার স্কিমাটি display-device-config.xsd ফাইলে অবস্থিত। ডিসপ্লে কনফিগারেশন সেট করার ক্ষেত্রে নিম্নলিখিত নতুন মূল উপাদানগুলো গুরুত্বপূর্ণ:
sdrHdrRatioMapএলিমেন্টটি SDR ডিমিং সক্ষম করে এবং স্ক্রিনে HDR কন্টেন্ট থাকলে প্রদর্শিত HDR-এর জন্য স্ক্রিনের উজ্জ্বলতাকে SDR হোয়াইট পয়েন্টের সাথে ম্যাপ করার জন্য একটি লুক-আপ টেবিল (LUT) নির্ধারণ করে।যদি
sdrHdrRatioMapসংজ্ঞায়িত থাকে, তাহলে স্ক্রিনের উজ্জ্বলতা নিয়ন্ত্রণের অংশ হিসেবে,DisplayManagerServiceকাঙ্ক্ষিত SDR হোয়াইট পয়েন্টটি SurfaceFlinger-কে জানিয়ে দেয়, যাতে SurfaceFlinger প্রতিটি লেয়ারের জন্য উপযুক্ত ডিমিং রেশিও HWC-তে পাঠাতে পারে।যদি
sdrHdrRatioMapসংজ্ঞায়িত না থাকে, তাহলে SDR ডিমিং সক্রিয় হয় না, এমনকি যদি HWC ইমপ্লিমেন্টেশন SDR ডিমিং সমর্থন করে তবুও।minimumHdrPercentOfScreenএলিমেন্টটির মান ০ থেকে ১০০-এর মধ্যে থাকে এবং এটি নিয়ন্ত্রণ করে কখন একটি প্যানেলের হাই ব্রাইটনেস মোড চালু করার অনুমতি দেওয়া হবে। অ্যান্ড্রয়েড ১৩-এর সাথে, এই থ্রেশহোল্ডটি টিউন করা যায়, যার ফলে পিকচার-ইন-পিকচার সিনারিওর মতো আরও অনেক ক্ষেত্রে হাই ব্রাইটনেস মোড চালু করা সম্ভব হয়। AOSP-এর পূর্ববর্তী সংস্করণগুলিতে এই মানটি ৫০%-এ স্থির ছিল।
ডিসপ্লে কনফিগারেশনের মূল উপাদানগুলোর জন্য নিম্নলিখিত কোড ব্লকটি দেখুন:
<displayConfiguration>
...
<highBrightnessMode>
...
<!--Percentage of the screen that must be covered by HDR layers until high brightness mode is enabled.
<minimumHdrPercentOfScreen>...</minimumHdrPercentOfScreen>
<!--sdrHdrRatioMap, backed by spline, must have at least two entries -->
<sdrHdrRatioMap>
<point>
<sdrNits>...</sdrNits>
<hdrRatio>...</hdrRatio>
</point>
<point>
<sdrNits>...</sdrNits>
<hdrRatio>...</hdrRatio>
</point>
<!--More interpolation points may be added –->
...
</sdrHdrRatioMap>
...
</highBrightnessMode>
...
</displayConfiguration>
সতর্কতা
টোন ম্যাপিং এবং এসডিআর কন্টেন্ট ডিমিং ফিচারগুলো সক্রিয় করলে নিম্নলিখিত পরিস্থিতিগুলো ঘটতে পারে:
ডিভাইসে প্লে করা HDR কন্টেন্টের স্পষ্টতা বাড়তে পারে, কারণ SDR কন্টেন্টের উপাদানগুলো ম্লান হয়ে যায়।
নিম্নলিখিত পরিস্থিতিগুলিতে ব্যাটারির আয়ু কমে যেতে পারে:
যেসব HWC ইমপ্লিমেন্টেশন ডিমিং অপারেশন GPU-তে স্থানান্তরিত করে, সেগুলো GPU-এর ব্যবহার বাড়িয়ে দিতে পারে।
যেসব ডিসপ্লে কনফিগারেশনে হাই ব্রাইটনেস মোড চালু করার জন্য একটি নিম্নতর থ্রেশহোল্ড থাকে, সেগুলো স্ক্রিনকে উচ্চতর ব্রাইটনেসে চালানোর জন্য পাওয়ার ড্র বাড়িয়ে দিতে পারে।
উচ্চ ব্রাইটনেস মোডে বেশি সময় কাটানোর কারণে স্ক্রিনের স্বাস্থ্য ক্ষতিগ্রস্ত হতে পারে, যা ডিসপ্লের স্বাস্থ্যের ওপর বার্ন-ইন-এর মতো দীর্ঘমেয়াদী সমস্যা সৃষ্টি করতে পারে।
বৈধতা
OEM-রা ডিমিংয়ের সঠিকতা যাচাই করতে এবং ইনপুট ডিমিং রেশিও যাচাই করতে VTS টেস্ট ব্যবহার করতে পারেন, যা HWC-এর টেস্ট স্যুটের অংশ হিসেবে অন্তর্ভুক্ত রয়েছে।
এই ফিচারটির যাচাইকরণ ডিভাইস-নির্ভর, তাই এটিকে সমর্থন করার জন্য কোনো CTS বা GTS টেস্ট নেই।
ম্লান করা এসডিআর উপাদানগুলির ছবির মান গ্রহণযোগ্য কিনা তা যাচাই করার জন্য ওইএম-দের অবশ্যই ম্যানুয়াল পরীক্ষা চালাতে হবে। ডিভাইসটি যে এইচডিআর স্ট্যান্ডার্ড সমর্থন করে, সেই স্ট্যান্ডার্ডের কন্টেন্ট SurfaceView মাধ্যমে চালিয়ে যাচাই করা যেতে পারে যে, এইচডিআর কন্টেন্টের পাশাপাশি চালানো কোনো এসডিআর উপাদান অতিরিক্ত উজ্জ্বল হয়ে ওঠে না।
সমস্যা
এসডিআর ছবির উজ্জ্বলতা কমালে ব্ল্যাক ক্রাশ হতে পারে, অর্থাৎ মূল ছবির অন্ধকার অংশগুলোতে তথ্যের ঘাটতি দেখা দিতে পারে। এর কারণ হলো, গাঢ় রঙের মানগুলো সংকুচিত হয়ে একগুচ্ছ ডার্ক কোডের মধ্যে এসে পড়ে।
ডিমিং-এর এমন কোনো বাস্তবায়ন, যা অগ্রহণযোগ্য ব্ল্যাক ক্রাশ সৃষ্টি করে, তাকে অবশ্যই ডিথারিং অ্যালগরিদম প্রয়োগ করতে হবে, যা চূড়ান্ত ছবিতে নয়েজ প্রবেশ করিয়ে ব্যান্ডিং প্রভাব হ্রাস করে।
যেসব HWC ইমপ্লিমেন্টেশন কালার পাইপলাইনের যথাযথ স্থানে ইমেজ ডিথার করতে অক্ষম, তাদের অবশ্যই সারফেসফ্লিঙ্গারকে জিপিইউ-তে ডিমিং ও ডিথারিং প্রয়োগ করার জন্য অনুরোধ করতে হবে।
এসডিআর এলিমেন্টগুলোর ডিমিংয়ের পরিমাণ সীমিত করার জন্য ইমপ্লিমেন্টেশনগুলো sdrHdrRatioMap এর মানও অ্যাডজাস্ট করতে পারে। খুব কম ব্রাইটনেস লেভেলে ডিমিং করার জন্য জিপিইউ ব্যবহারের প্রয়োজন হয়, যা ছবির মান উন্নত করে কিন্তু ব্যাটারির আয়ু কমিয়ে দিতে পারে।