অ্যান্ড্রয়েড 13 এবং উচ্চতর সংস্করণে চলমান ডিভাইসগুলির জন্য, অ্যান্ড্রয়েড ডায়নামিক রেঞ্জ প্রোফাইলগুলির মাধ্যমে 10-বিট ক্যামেরা আউটপুট সমর্থন করে যা স্ট্রিম কনফিগারেশনের অংশ হিসাবে ক্যামেরা ক্লায়েন্ট দ্বারা কনফিগার করা যেতে পারে। ডিভাইস নির্মাতারা HLG10, HDR 10, HDR 10+ এবং Dolby Vision-এর মতো 10-বিট ডায়নামিক রেঞ্জ প্রোফাইলের জন্য সমর্থন যোগ করতে পারে।
10-বিট ক্যামেরা আউটপুট সমর্থন ক্যামেরা ক্লায়েন্টদের getSupportedProfiles
কল করে একটি ডিভাইসের সমর্থিত 10-বিট গতিশীল পরিসর প্রোফাইলগুলি আবিষ্কার করতে দেয়৷ ফ্রেমওয়ার্ক তারপর DynamicRangeProfiles
এর একটি উদাহরণ প্রদান করে, যার মধ্যে সমর্থিত গতিশীল পরিসীমা প্রোফাইল সম্পর্কে তথ্য রয়েছে এবং যদি উপলব্ধ থাকে, অনুরোধের সীমাবদ্ধতাগুলি ক্যাপচার করে। HLG10
প্রোফাইল অবশ্যই সমর্থিত হতে হবে। প্রস্তাবিত গতিশীল পরিসর প্রোফাইলটি REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
ক্ষেত্রে তালিকাভুক্ত করা হয়েছে৷
ক্যামেরা ক্লায়েন্টরা setDynamicRangeProfile
কল করে স্ট্রিম কম্বিনেশন কনফিগার করতে পারে। বাধ্যতামূলক আউটপুট স্ট্রীম সংমিশ্রণ সম্পর্কে আরও তথ্যের জন্য, নিয়মিত ক্যাপচারে 10-বিট আউটপুট অতিরিক্ত গ্যারান্টিযুক্ত কনফিগারেশন টেবিলটি দেখুন।
প্রয়োজনীয়তা
10-বিট ক্যামেরা আউটপুট সমর্থন করার জন্য, ডিভাইসে অবশ্যই একটি 10-বিট বা উচ্চতর সক্ষম ক্যামেরা সেন্সর থাকতে হবে যার সাথে সংশ্লিষ্ট ISP সমর্থন রয়েছে। 10-বিট সমর্থনের জন্য সম্পর্কিত সামঞ্জস্যের প্রয়োজনীয়তা সম্পর্কে বিশদ বিবরণের জন্য, বিভাগ 7.5 দেখুন। সিডিডিতে ক্যামেরা ।
বাস্তবায়ন
10-বিট ক্যামেরা আউটপুটের জন্য সমর্থন প্রদান করতে, ডিভাইস নির্মাতাদের অবশ্যই নিম্নলিখিত ক্যামেরা AIDL HAL ইন্টিগ্রেশনগুলি সম্পাদন করতে হবে:
- ক্যামেরার ক্ষমতার মধ্যে
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
অন্তর্ভুক্ত করুন। - সমস্ত সমর্থিত গতিশীল পরিসর প্রোফাইল এবং তাদের সীমাবদ্ধতার একটি বিটম্যাপ সহ
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP
তৈরি করুন৷HLG10
প্রোফাইল অবশ্যই সমর্থিত হতে হবে। ক্যামেরা ক্লায়েন্টদের সর্বোত্তম সমর্থিত বিন্যাস সম্পর্কে অবহিত করার জন্য আপনাকে অবশ্যই একটি প্রস্তাবিত গতিশীল পরিসর প্রোফাইল অন্তর্ভুক্ত করতে হবে। - P010 ফর্ম্যাট ব্যবহার করে স্ট্রিমগুলির জন্য স্ট্রীম কনফিগারেশনের সময় গতিশীল পরিসর প্রোফাইল মানের জন্য সমর্থন নিশ্চিত করুন বা একটি বাস্তবায়ন-সংজ্ঞায়িত ফর্ম্যাটের জন্য সমর্থন (
ImageFormat.PRIVATE
)৷ - ডায়নামিক রেঞ্জ প্রোফাইলের উপর নির্ভর করে, ক্যামেরা পরিষেবাকে অবহিত করার আগে প্রক্রিয়াকৃত Gralloc 4 বাফারগুলির স্ট্যাটিক বা গতিশীল মেটাডেটা বাফার সেট করুন।
ক্যামেরা HAL-এ 10-বিট ক্যামেরা আউটপুট সম্পর্কে আরও বিশদ বিবরণের জন্য, metadata_definitions.xml
এ নিম্নলিখিতটি দেখুন:
-
DYNAMIC_RANGE_TEN_BIT
-
availableDynamicRangeProfilesMap
ম্যাপের জন্য HAL বিশদ -
recommendedTenBitDynamicRangeProfile
-
10BIT_OUTPUT
10-বিট ক্যামেরা আউটপুট সমর্থনকারী একটি রেফারেন্স ক্যামেরা HAL বাস্তবায়নের জন্য, /hardware/google/camera/devices/EmulatedCamera/hwl
দেখুন।
বৈধতা
10-বিট ক্যামেরা আউটপুট আপনার বাস্তবায়নকে যাচাই করতে এবং তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলি বৈশিষ্ট্যটি সক্ষম করতে পারে তা নিশ্চিত করতে, আমরা যাচাইকরণের নিম্নলিখিত তিনটি ধাপগুলি সম্পাদন করার পরামর্শ দিই৷
- API কার্যকরী নির্ভুলতা পরীক্ষা করুন
- নেটিভ ক্যামেরা এবং থার্ড-পার্টি অ্যাপের তুলনা করুন
- স্ট্যান্ডার্ড ডাইনামিক রেঞ্জ এবং হাই ডাইনামিক রেঞ্জের তুলনা করুন
10-বিট ক্যামেরা আউটপুটের ভিজ্যুয়াল বৈধতার জন্য, এটা ধরে নেওয়া হয় যে ডিভাইসটি HDR (1000+ nits ডিসপ্লে) প্রদর্শন সমর্থন করে এবং ভিডিও দেখার অ্যাপ (উদাহরণস্বরূপ, Google Photos) HDR ভিডিওর প্লেব্যাক সমর্থন করে।
API কার্যকরী নির্ভুলতা পরীক্ষা করুন
10-বিট ক্যামেরা আউটপুটের API কার্যকরী সঠিকতা পরীক্ষা করতে, নিম্নলিখিত CTS, ক্যামেরা ITS, এবং VTS পরীক্ষাগুলি চালান:
-
hardware/interfaces/camera/provider/aidl/vts/
: মৌলিক আবিষ্কার, কনফিগারেশন এবং স্ট্রিমিংয়ের জন্য পরীক্ষা এবং যেখানে প্রয়োজন সেখানে HDR মেটাডেটার উপস্থিতি পরীক্ষা করে। -
tests/camera/src/android/hardware/camera2/cts/
: নিশ্চিত করে যে ক্যামেরা AOSP API স্পেসিফিকেশন অনুযায়ী আচরণ করে। -
cts/apps/CameraITS
: যখন HDR প্রোফাইল ব্যবহার করা হয় তখন সাধারণ ভিডিও আচরণ সামঞ্জস্যপূর্ণ হয় তা নিশ্চিত করে। নির্দিষ্ট পরীক্ষা হলtests/scene4/test_video_aspect_ratio_and_crop.py
।
নেটিভ ক্যামেরা এবং থার্ড-পার্টি অ্যাপের তুলনা করুন
আমরা দৃঢ়ভাবে এটি নিশ্চিত করার জন্য সুপারিশ করছি যে একটি তৃতীয় পক্ষের অ্যাপের মাধ্যমে 10-বিট ভিডিও ক্যাপচার করার ফলাফল নেটিভ ক্যামেরা অ্যাপের সাথে অভিন্ন না হলে একই রকম হয়। এর মানে হল যে এক্সপোজার, ডাইনামিক রেঞ্জ এবং রঙের মতো টিউনিং পছন্দগুলি নেটিভ অ্যাপ থেকে তৃতীয় পক্ষের অ্যাপে নিয়ে যাওয়া উচিত। আপনার ডিভাইসে 10-বিট ক্যামেরা আউটপুট সমর্থনকারী তৃতীয় পক্ষের অ্যাপের ভিডিও রেকর্ডিং আচরণ যাচাই করতে, GitHub-এ Camera2Video নমুনা অ্যাপ ব্যবহার করুন। নিম্নলিখিত নির্দেশিকাগুলি সেন্সর, প্যানেল, দেখার শর্ত এবং বিক্রেতার পছন্দগুলির পরিবর্তনশীলতার কারণে উদ্দেশ্যমূলক সংখ্যা ছাড়াই HDR-এর দৃশ্যমান দিকগুলিকে চিত্রিত করতে কাজ করে৷
তুলনা করার জন্য প্রস্তাবিত দৃশ্য
নেটিভ ক্যামেরা অ্যাপ এবং একটি থার্ড-পার্টি অ্যাপের মধ্যে তুলনা করতে, নেটিভ ক্যামেরা অ্যাপ এবং Camera2Video নমুনা অ্যাপ উভয়ের মাধ্যমে বিভিন্ন দৃশ্য ব্যবহার করে ভিডিও ক্যাপচার করুন। তুলনা করার জন্য নিম্নলিখিত দৃশ্যগুলি ব্যবহার করার পরামর্শ দেওয়া হয়েছে:
- একটি উজ্জ্বল বস্তুর সাথে একটি মধ্য-আলো থেকে কম-আলোর দৃশ্য, যেমন একটি মোমবাতি বা ছোট উজ্জ্বল আলো যা উজ্জ্বলতার একটি উল্লেখযোগ্য পরিসর তৈরি করে। এটি অটো এক্সপোজার আচরণ এবং গতিশীল পরিসীমা নিশ্চিত করে।
- একটি গাড়িতে ক্রোম বাম্পারের মতো প্রাণবন্ত রঙ এবং প্রতিফলিত বস্তু সহ একটি উজ্জ্বল বহিরঙ্গন দৃশ্য, যা উজ্জ্বল হাইলাইট তৈরি করে। এটি আরও উজ্জ্বল হাইলাইট সহ উজ্জ্বল দৃশ্যগুলির জন্য রেন্ডারিং নিশ্চিত করে৷
- একটি মধ্য-পরিসর, নিম্ন গতিশীল পরিসরের দৃশ্য যেমন একটি বাড়ি বা অফিসে একটি অভ্যন্তরীণ প্রাকৃতিক দৃশ্য। এটি নিশ্চিত করে যে কম চরম আলো পরিস্থিতি প্রত্যাশিত হিসাবে আচরণ করে।
সমস্ত দৃশ্যের জন্য, আমরা এক্সপোজার, রঙ এবং ত্বকের টোন হ্যান্ডলিং যাচাই করার জন্য লোক এবং মুখ থাকার পরামর্শ দিই। শট-টু-শট বৈচিত্র্য হ্রাস করা ব্যাক-টু-ব্যাক তুলনা সহজ করে।
স্ট্যান্ডার্ড ডাইনামিক রেঞ্জ এবং হাই ডাইনামিক রেঞ্জের তুলনা করুন
একটি স্ট্যান্ডার্ড ডায়নামিক রেঞ্জ প্রোফাইলের উপর 10-বিট ডায়নামিক রেঞ্জ প্রোফাইল ব্যবহার করার একটি অনুভূত সুবিধা রয়েছে তা নিশ্চিত করতে, HDR ভিডিওগুলির বিপরীতে SDR (কোনও HDR প্রোফাইল নেই) ব্যবহার করে ভিডিও ক্যাপচারের তুলনা করুন যাতে HDR-এর মূল দিকগুলি ক্যাপচারগুলিতে উপস্থিত হয়। SDR এবং HDR তুলনা করতে, Camera2Video নমুনা অ্যাপ ব্যবহার করুন এবং নেটিভ ক্যামেরা অ্যাপ এবং থার্ড-পার্টি অ্যাপের তুলনা করার জন্য প্রস্তাবিত দৃশ্যগুলি ব্যবহার করুন।
প্রস্তাবিত দৃশ্যগুলিতে যাচাই করার জন্য নিম্নলিখিতগুলি মূল দিকগুলি। HDR-এ সক্ষম ডিসপ্লে প্যানেলগুলি উজ্জ্বলতার মাত্রায় পরিবর্তিত হয় (নিট বা লুমেনে পরিমাপ করা হয়), তাই নিম্নলিখিত সংখ্যাগুলিকে উদাহরণ হিসাবে বোঝানো হয়েছে:
- মধ্য-আলো থেকে কম-আলোর দৃশ্যে, মোমবাতি বা ছোট আলোর উজ্জ্বল হাইলাইটগুলি HDR ক্লিপে প্রদর্শনের জন্য সর্বাধিক উজ্জ্বলতায় (সম্ভবত 1000 নিট পর্যন্ত) রেন্ডার করা হয় এবং SDR (প্রায় 100) এর জন্য সর্বাধিক উজ্জ্বলতায় রেন্ডার করা হয় nits) SDR ক্লিপে। HDR ক্লিপে, উজ্জ্বল হাইলাইটগুলি ডিসপ্লের বাইরে উজ্জ্বল হওয়া উচিত, দৃশ্যটির প্রকৃত গতিশীল পরিসর কী ছিল সে সম্পর্কে ব্যবহারকারীর উপলব্ধি ক্যাপচার করে৷ এইচডিআর ক্লিপের তুলনায়, এসডিআর ক্লিপটি চ্যাপ্টা এবং কম উজ্জ্বল হওয়া উচিত।
- উজ্জ্বল আউটপুট দৃশ্যে, ডিভাইসের টিউনিংয়ের উপর নির্ভর করে, HDR ক্লিপ SDR ক্লিপের তুলনায় পর্দার উজ্জ্বলতায় একটি আপাত পার্থক্য দেখায়। HDR ক্লিপের জন্য, সামগ্রিক দৃশ্যের (হেডরুমের উপর নির্ভর করে) স্ক্রিনের উজ্জ্বলতা বেশি হওয়া উচিত, উদাহরণস্বরূপ, 800 নিট পর্যন্ত, এবং আরও বেশি উজ্জ্বল হাইলাইট যেমন ক্রোম বাম্পারগুলির জন্য, সর্বাধিক উজ্জ্বলতার কাছাকাছি।
- মিড-রেঞ্জে, কম ডায়নামিক রেঞ্জ ইনডোর ক্যাপচারে, HDR এবং SDR ক্লিপগুলি রঙ এবং টোনে একই রকম, HDR ক্যাপচার SDR-এর থেকে সম্ভাব্য উজ্জ্বল। HDR SDR এর চেয়ে গাঢ় হওয়া উচিত নয়। যদি টিউনিং পছন্দগুলি এটিকে অসম্ভব করে তোলে, তবে নিশ্চিত করুন যে তৃতীয় পক্ষের অ্যাপ আচরণ নেটিভ ক্যামেরা অ্যাপের আচরণের সাথে মেলে।
অ্যান্ড্রয়েড 13 এবং উচ্চতর সংস্করণে চলমান ডিভাইসগুলির জন্য, অ্যান্ড্রয়েড ডায়নামিক রেঞ্জ প্রোফাইলগুলির মাধ্যমে 10-বিট ক্যামেরা আউটপুট সমর্থন করে যা স্ট্রিম কনফিগারেশনের অংশ হিসাবে ক্যামেরা ক্লায়েন্ট দ্বারা কনফিগার করা যেতে পারে। ডিভাইস নির্মাতারা HLG10, HDR 10, HDR 10+ এবং Dolby Vision-এর মতো 10-বিট ডায়নামিক রেঞ্জ প্রোফাইলের জন্য সমর্থন যোগ করতে পারে।
10-বিট ক্যামেরা আউটপুট সমর্থন ক্যামেরা ক্লায়েন্টদের getSupportedProfiles
কল করে একটি ডিভাইসের সমর্থিত 10-বিট গতিশীল পরিসর প্রোফাইলগুলি আবিষ্কার করতে দেয়৷ ফ্রেমওয়ার্ক তারপর DynamicRangeProfiles
এর একটি উদাহরণ প্রদান করে, যার মধ্যে সমর্থিত গতিশীল পরিসীমা প্রোফাইল সম্পর্কে তথ্য রয়েছে এবং যদি উপলব্ধ থাকে, অনুরোধের সীমাবদ্ধতাগুলি ক্যাপচার করে। HLG10
প্রোফাইল অবশ্যই সমর্থিত হতে হবে। প্রস্তাবিত গতিশীল পরিসর প্রোফাইলটি REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
ক্ষেত্রে তালিকাভুক্ত করা হয়েছে৷
ক্যামেরা ক্লায়েন্টরা setDynamicRangeProfile
কল করে স্ট্রিম কম্বিনেশন কনফিগার করতে পারে। বাধ্যতামূলক আউটপুট স্ট্রীম সংমিশ্রণ সম্পর্কে আরও তথ্যের জন্য, নিয়মিত ক্যাপচারে 10-বিট আউটপুট অতিরিক্ত গ্যারান্টিযুক্ত কনফিগারেশন টেবিলটি দেখুন।
প্রয়োজনীয়তা
10-বিট ক্যামেরা আউটপুট সমর্থন করার জন্য, ডিভাইসে অবশ্যই একটি 10-বিট বা উচ্চতর সক্ষম ক্যামেরা সেন্সর থাকতে হবে যার সাথে সংশ্লিষ্ট ISP সমর্থন রয়েছে। 10-বিট সমর্থনের জন্য সম্পর্কিত সামঞ্জস্যের প্রয়োজনীয়তা সম্পর্কে বিশদ বিবরণের জন্য, বিভাগ 7.5 দেখুন। সিডিডিতে ক্যামেরা ।
বাস্তবায়ন
10-বিট ক্যামেরা আউটপুটের জন্য সমর্থন প্রদান করতে, ডিভাইস নির্মাতাদের অবশ্যই নিম্নলিখিত ক্যামেরা AIDL HAL ইন্টিগ্রেশনগুলি সম্পাদন করতে হবে:
- ক্যামেরার ক্ষমতার মধ্যে
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
অন্তর্ভুক্ত করুন। - সমস্ত সমর্থিত গতিশীল পরিসর প্রোফাইল এবং তাদের সীমাবদ্ধতার একটি বিটম্যাপ সহ
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP
তৈরি করুন৷HLG10
প্রোফাইল অবশ্যই সমর্থিত হতে হবে। ক্যামেরা ক্লায়েন্টদের সর্বোত্তম সমর্থিত বিন্যাস সম্পর্কে অবহিত করার জন্য আপনাকে অবশ্যই একটি প্রস্তাবিত গতিশীল পরিসর প্রোফাইল অন্তর্ভুক্ত করতে হবে। - P010 ফর্ম্যাট ব্যবহার করে স্ট্রিমগুলির জন্য স্ট্রীম কনফিগারেশনের সময় গতিশীল পরিসর প্রোফাইল মানের জন্য সমর্থন নিশ্চিত করুন বা একটি বাস্তবায়ন-সংজ্ঞায়িত ফর্ম্যাটের জন্য সমর্থন (
ImageFormat.PRIVATE
)৷ - ডায়নামিক রেঞ্জ প্রোফাইলের উপর নির্ভর করে, ক্যামেরা পরিষেবাকে অবহিত করার আগে প্রক্রিয়াকৃত Gralloc 4 বাফারগুলির স্ট্যাটিক বা গতিশীল মেটাডেটা বাফার সেট করুন।
ক্যামেরা HAL-এ 10-বিট ক্যামেরা আউটপুট সম্পর্কে আরও বিশদ বিবরণের জন্য, metadata_definitions.xml
এ নিম্নলিখিতটি দেখুন:
-
DYNAMIC_RANGE_TEN_BIT
-
availableDynamicRangeProfilesMap
ম্যাপের জন্য HAL বিশদ -
recommendedTenBitDynamicRangeProfile
-
10BIT_OUTPUT
10-বিট ক্যামেরা আউটপুট সমর্থনকারী একটি রেফারেন্স ক্যামেরা HAL বাস্তবায়নের জন্য, /hardware/google/camera/devices/EmulatedCamera/hwl
দেখুন।
বৈধতা
10-বিট ক্যামেরা আউটপুট আপনার বাস্তবায়নকে যাচাই করতে এবং তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলি বৈশিষ্ট্যটি সক্ষম করতে পারে তা নিশ্চিত করতে, আমরা যাচাইকরণের নিম্নলিখিত তিনটি ধাপগুলি সম্পাদন করার পরামর্শ দিই৷
- API কার্যকরী নির্ভুলতা পরীক্ষা করুন
- নেটিভ ক্যামেরা এবং থার্ড-পার্টি অ্যাপের তুলনা করুন
- স্ট্যান্ডার্ড ডাইনামিক রেঞ্জ এবং হাই ডাইনামিক রেঞ্জের তুলনা করুন
10-বিট ক্যামেরা আউটপুটের ভিজ্যুয়াল বৈধতার জন্য, এটা ধরে নেওয়া হয় যে ডিভাইসটি HDR (1000+ nits ডিসপ্লে) প্রদর্শন সমর্থন করে এবং ভিডিও দেখার অ্যাপ (উদাহরণস্বরূপ, Google Photos) HDR ভিডিওর প্লেব্যাক সমর্থন করে।
API কার্যকরী নির্ভুলতা পরীক্ষা করুন
10-বিট ক্যামেরা আউটপুটের API কার্যকরী সঠিকতা পরীক্ষা করতে, নিম্নলিখিত CTS, ক্যামেরা ITS, এবং VTS পরীক্ষাগুলি চালান:
-
hardware/interfaces/camera/provider/aidl/vts/
: মৌলিক আবিষ্কার, কনফিগারেশন এবং স্ট্রিমিংয়ের জন্য পরীক্ষা এবং যেখানে প্রয়োজন সেখানে HDR মেটাডেটার উপস্থিতি পরীক্ষা করে। -
tests/camera/src/android/hardware/camera2/cts/
: নিশ্চিত করে যে ক্যামেরা AOSP API স্পেসিফিকেশন অনুযায়ী আচরণ করে। -
cts/apps/CameraITS
: যখন HDR প্রোফাইল ব্যবহার করা হয় তখন সাধারণ ভিডিও আচরণ সামঞ্জস্যপূর্ণ হয় তা নিশ্চিত করে। নির্দিষ্ট পরীক্ষা হলtests/scene4/test_video_aspect_ratio_and_crop.py
।
নেটিভ ক্যামেরা এবং থার্ড-পার্টি অ্যাপের তুলনা করুন
আমরা দৃঢ়ভাবে এটি নিশ্চিত করার জন্য সুপারিশ করছি যে একটি তৃতীয় পক্ষের অ্যাপের মাধ্যমে 10-বিট ভিডিও ক্যাপচার করার ফলাফল নেটিভ ক্যামেরা অ্যাপের সাথে অভিন্ন না হলে একই রকম হয়। এর মানে হল যে এক্সপোজার, ডাইনামিক রেঞ্জ এবং রঙের মতো টিউনিং পছন্দগুলি নেটিভ অ্যাপ থেকে তৃতীয় পক্ষের অ্যাপে নিয়ে যাওয়া উচিত। আপনার ডিভাইসে 10-বিট ক্যামেরা আউটপুট সমর্থনকারী তৃতীয় পক্ষের অ্যাপের ভিডিও রেকর্ডিং আচরণ যাচাই করতে, GitHub-এ Camera2Video নমুনা অ্যাপ ব্যবহার করুন। নিম্নলিখিত নির্দেশিকাগুলি সেন্সর, প্যানেল, দেখার শর্ত এবং বিক্রেতার পছন্দগুলির পরিবর্তনশীলতার কারণে উদ্দেশ্যমূলক সংখ্যা ছাড়াই HDR-এর দৃশ্যমান দিকগুলিকে চিত্রিত করতে কাজ করে৷
তুলনা করার জন্য প্রস্তাবিত দৃশ্য
নেটিভ ক্যামেরা অ্যাপ এবং একটি থার্ড-পার্টি অ্যাপের মধ্যে তুলনা করতে, নেটিভ ক্যামেরা অ্যাপ এবং Camera2Video নমুনা অ্যাপ উভয়ের মাধ্যমে বিভিন্ন দৃশ্য ব্যবহার করে ভিডিও ক্যাপচার করুন। তুলনা করার জন্য নিম্নলিখিত দৃশ্যগুলি ব্যবহার করার পরামর্শ দেওয়া হয়েছে:
- একটি উজ্জ্বল বস্তুর সাথে একটি মধ্য-আলো থেকে কম-আলোর দৃশ্য, যেমন একটি মোমবাতি বা ছোট উজ্জ্বল আলো যা উজ্জ্বলতার একটি উল্লেখযোগ্য পরিসর তৈরি করে। এটি অটো এক্সপোজার আচরণ এবং গতিশীল পরিসীমা নিশ্চিত করে।
- একটি গাড়িতে ক্রোম বাম্পারের মতো প্রাণবন্ত রঙ এবং প্রতিফলিত বস্তু সহ একটি উজ্জ্বল বহিরঙ্গন দৃশ্য, যা উজ্জ্বল হাইলাইট তৈরি করে। এটি আরও উজ্জ্বল হাইলাইট সহ উজ্জ্বল দৃশ্যগুলির জন্য রেন্ডারিং নিশ্চিত করে৷
- একটি মধ্য-পরিসর, নিম্ন গতিশীল পরিসরের দৃশ্য যেমন একটি বাড়ি বা অফিসে একটি অভ্যন্তরীণ প্রাকৃতিক দৃশ্য। এটি নিশ্চিত করে যে কম চরম আলো পরিস্থিতি প্রত্যাশিত হিসাবে আচরণ করে।
সমস্ত দৃশ্যের জন্য, আমরা এক্সপোজার, রঙ এবং ত্বকের টোন হ্যান্ডলিং যাচাই করার জন্য লোক এবং মুখ থাকার পরামর্শ দিই। শট-টু-শট বৈচিত্র্য হ্রাস করা ব্যাক-টু-ব্যাক তুলনা সহজ করে।
স্ট্যান্ডার্ড ডাইনামিক রেঞ্জ এবং হাই ডাইনামিক রেঞ্জের তুলনা করুন
একটি স্ট্যান্ডার্ড ডায়নামিক রেঞ্জ প্রোফাইলের উপর 10-বিট ডায়নামিক রেঞ্জ প্রোফাইল ব্যবহার করার একটি অনুভূত সুবিধা রয়েছে তা নিশ্চিত করতে, HDR ভিডিওগুলির বিপরীতে SDR (কোনও HDR প্রোফাইল নেই) ব্যবহার করে ভিডিও ক্যাপচারের তুলনা করুন যাতে HDR-এর মূল দিকগুলি ক্যাপচারগুলিতে উপস্থিত হয়। SDR এবং HDR তুলনা করতে, Camera2Video নমুনা অ্যাপ ব্যবহার করুন এবং নেটিভ ক্যামেরা অ্যাপ এবং থার্ড-পার্টি অ্যাপের তুলনা করার জন্য প্রস্তাবিত দৃশ্যগুলি ব্যবহার করুন।
প্রস্তাবিত দৃশ্যগুলিতে যাচাই করার জন্য নিম্নলিখিতগুলি মূল দিকগুলি। HDR-এ সক্ষম ডিসপ্লে প্যানেলগুলি উজ্জ্বলতার মাত্রায় পরিবর্তিত হয় (নিট বা লুমেনে পরিমাপ করা হয়), তাই নিম্নলিখিত সংখ্যাগুলিকে উদাহরণ হিসাবে বোঝানো হয়েছে:
- মধ্য-আলো থেকে কম-আলোর দৃশ্যে, মোমবাতি বা ছোট আলোর উজ্জ্বল হাইলাইটগুলি HDR ক্লিপে প্রদর্শনের জন্য সর্বাধিক উজ্জ্বলতায় (সম্ভবত 1000 নিট পর্যন্ত) রেন্ডার করা হয় এবং SDR (প্রায় 100) এর জন্য সর্বাধিক উজ্জ্বলতায় রেন্ডার করা হয় nits) SDR ক্লিপে। HDR ক্লিপে, উজ্জ্বল হাইলাইটগুলি ডিসপ্লের বাইরে উজ্জ্বল হওয়া উচিত, দৃশ্যটির প্রকৃত গতিশীল পরিসর কী ছিল সে সম্পর্কে ব্যবহারকারীর উপলব্ধি ক্যাপচার করে৷ এইচডিআর ক্লিপের তুলনায়, এসডিআর ক্লিপটি চ্যাপ্টা এবং কম উজ্জ্বল হওয়া উচিত।
- উজ্জ্বল আউটপুট দৃশ্যে, ডিভাইসের টিউনিংয়ের উপর নির্ভর করে, HDR ক্লিপ SDR ক্লিপের তুলনায় পর্দার উজ্জ্বলতায় একটি আপাত পার্থক্য দেখায়। HDR ক্লিপের জন্য, সামগ্রিক দৃশ্যের (হেডরুমের উপর নির্ভর করে) স্ক্রিনের উজ্জ্বলতা বেশি হওয়া উচিত, উদাহরণস্বরূপ, 800 নিট পর্যন্ত, এবং আরও বেশি উজ্জ্বল হাইলাইট যেমন ক্রোম বাম্পারগুলির জন্য, সর্বাধিক উজ্জ্বলতার কাছাকাছি।
- মিড-রেঞ্জে, কম ডায়নামিক রেঞ্জ ইনডোর ক্যাপচারে, HDR এবং SDR ক্লিপগুলি রঙ এবং টোনে একই রকম, HDR ক্যাপচার SDR-এর থেকে সম্ভাব্য উজ্জ্বল। HDR SDR এর চেয়ে গাঢ় হওয়া উচিত নয়। যদি টিউনিং পছন্দগুলি এটিকে অসম্ভব করে তোলে, তবে নিশ্চিত করুন যে তৃতীয় পক্ষের অ্যাপ আচরণ নেটিভ ক্যামেরা অ্যাপের আচরণের সাথে মেলে।
অ্যান্ড্রয়েড 13 এবং উচ্চতর সংস্করণে চলমান ডিভাইসগুলির জন্য, অ্যান্ড্রয়েড ডায়নামিক রেঞ্জ প্রোফাইলগুলির মাধ্যমে 10-বিট ক্যামেরা আউটপুট সমর্থন করে যা স্ট্রিম কনফিগারেশনের অংশ হিসাবে ক্যামেরা ক্লায়েন্ট দ্বারা কনফিগার করা যেতে পারে। ডিভাইস নির্মাতারা HLG10, HDR 10, HDR 10+ এবং Dolby Vision-এর মতো 10-বিট ডায়নামিক রেঞ্জ প্রোফাইলের জন্য সমর্থন যোগ করতে পারে।
10-বিট ক্যামেরা আউটপুট সমর্থন ক্যামেরা ক্লায়েন্টদের getSupportedProfiles
কল করে একটি ডিভাইসের সমর্থিত 10-বিট গতিশীল পরিসর প্রোফাইলগুলি আবিষ্কার করতে দেয়৷ ফ্রেমওয়ার্ক তারপর DynamicRangeProfiles
এর একটি উদাহরণ প্রদান করে, যার মধ্যে সমর্থিত গতিশীল পরিসীমা প্রোফাইল সম্পর্কে তথ্য রয়েছে এবং যদি উপলব্ধ থাকে, অনুরোধের সীমাবদ্ধতাগুলি ক্যাপচার করে। HLG10
প্রোফাইল অবশ্যই সমর্থিত হতে হবে। প্রস্তাবিত গতিশীল পরিসর প্রোফাইলটি REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
ক্ষেত্রে তালিকাভুক্ত করা হয়েছে৷
ক্যামেরা ক্লায়েন্টরা setDynamicRangeProfile
কল করে স্ট্রিম কম্বিনেশন কনফিগার করতে পারে। বাধ্যতামূলক আউটপুট স্ট্রীম সংমিশ্রণ সম্পর্কে আরও তথ্যের জন্য, নিয়মিত ক্যাপচারে 10-বিট আউটপুট অতিরিক্ত গ্যারান্টিযুক্ত কনফিগারেশন টেবিলটি দেখুন।
প্রয়োজনীয়তা
10-বিট ক্যামেরা আউটপুট সমর্থন করার জন্য, ডিভাইসে অবশ্যই একটি 10-বিট বা উচ্চতর সক্ষম ক্যামেরা সেন্সর থাকতে হবে যার সাথে সংশ্লিষ্ট ISP সমর্থন রয়েছে। 10-বিট সমর্থনের জন্য সম্পর্কিত সামঞ্জস্যের প্রয়োজনীয়তা সম্পর্কে বিশদ বিবরণের জন্য, বিভাগ 7.5 দেখুন। সিডিডিতে ক্যামেরা ।
বাস্তবায়ন
10-বিট ক্যামেরা আউটপুটের জন্য সমর্থন প্রদান করতে, ডিভাইস নির্মাতাদের অবশ্যই নিম্নলিখিত ক্যামেরা AIDL HAL ইন্টিগ্রেশনগুলি সম্পাদন করতে হবে:
- ক্যামেরার ক্ষমতার মধ্যে
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT
অন্তর্ভুক্ত করুন। - সমস্ত সমর্থিত গতিশীল পরিসর প্রোফাইল এবং তাদের সীমাবদ্ধতার একটি বিটম্যাপ সহ
ANDROID_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP
তৈরি করুন৷HLG10
প্রোফাইল অবশ্যই সমর্থিত হতে হবে। ক্যামেরা ক্লায়েন্টদের সর্বোত্তম সমর্থিত বিন্যাস সম্পর্কে অবহিত করার জন্য আপনাকে অবশ্যই একটি প্রস্তাবিত গতিশীল পরিসর প্রোফাইল অন্তর্ভুক্ত করতে হবে। - P010 ফর্ম্যাট ব্যবহার করে স্ট্রিমগুলির জন্য স্ট্রীম কনফিগারেশনের সময় গতিশীল পরিসর প্রোফাইল মানের জন্য সমর্থন নিশ্চিত করুন বা একটি বাস্তবায়ন-সংজ্ঞায়িত ফর্ম্যাটের জন্য সমর্থন (
ImageFormat.PRIVATE
)৷ - ডায়নামিক রেঞ্জ প্রোফাইলের উপর নির্ভর করে, ক্যামেরা পরিষেবাকে অবহিত করার আগে প্রক্রিয়াকৃত Gralloc 4 বাফারগুলির স্ট্যাটিক বা গতিশীল মেটাডেটা বাফার সেট করুন।
ক্যামেরা HAL-এ 10-বিট ক্যামেরা আউটপুট সম্পর্কে আরও বিশদ বিবরণের জন্য, metadata_definitions.xml
এ নিম্নলিখিতটি দেখুন:
-
DYNAMIC_RANGE_TEN_BIT
-
availableDynamicRangeProfilesMap
ম্যাপের জন্য HAL বিশদ -
recommendedTenBitDynamicRangeProfile
-
10BIT_OUTPUT
10-বিট ক্যামেরা আউটপুট সমর্থনকারী একটি রেফারেন্স ক্যামেরা HAL বাস্তবায়নের জন্য, /hardware/google/camera/devices/EmulatedCamera/hwl
দেখুন।
বৈধতা
10-বিট ক্যামেরা আউটপুট আপনার বাস্তবায়নকে যাচাই করতে এবং তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলি বৈশিষ্ট্যটি সক্ষম করতে পারে তা নিশ্চিত করতে, আমরা যাচাইকরণের নিম্নলিখিত তিনটি ধাপগুলি সম্পাদন করার পরামর্শ দিই৷
- API কার্যকরী নির্ভুলতা পরীক্ষা করুন
- নেটিভ ক্যামেরা এবং থার্ড-পার্টি অ্যাপের তুলনা করুন
- স্ট্যান্ডার্ড ডাইনামিক রেঞ্জ এবং হাই ডাইনামিক রেঞ্জের তুলনা করুন
10-বিট ক্যামেরা আউটপুটের ভিজ্যুয়াল বৈধতার জন্য, এটা ধরে নেওয়া হয় যে ডিভাইসটি HDR (1000+ nits ডিসপ্লে) প্রদর্শন সমর্থন করে এবং ভিডিও দেখার অ্যাপ (উদাহরণস্বরূপ, Google Photos) HDR ভিডিওর প্লেব্যাক সমর্থন করে।
API কার্যকরী নির্ভুলতা পরীক্ষা করুন
10-বিট ক্যামেরা আউটপুটের API কার্যকরী সঠিকতা পরীক্ষা করতে, নিম্নলিখিত CTS, ক্যামেরা ITS, এবং VTS পরীক্ষাগুলি চালান:
-
hardware/interfaces/camera/provider/aidl/vts/
: মৌলিক আবিষ্কার, কনফিগারেশন এবং স্ট্রিমিংয়ের জন্য পরীক্ষা এবং যেখানে প্রয়োজন সেখানে HDR মেটাডেটার উপস্থিতি পরীক্ষা করে। -
tests/camera/src/android/hardware/camera2/cts/
: নিশ্চিত করে যে ক্যামেরা AOSP API স্পেসিফিকেশন অনুযায়ী আচরণ করে। -
cts/apps/CameraITS
: যখন HDR প্রোফাইল ব্যবহার করা হয় তখন সাধারণ ভিডিও আচরণ সামঞ্জস্যপূর্ণ হয় তা নিশ্চিত করে। নির্দিষ্ট পরীক্ষা হলtests/scene4/test_video_aspect_ratio_and_crop.py
।
নেটিভ ক্যামেরা এবং থার্ড-পার্টি অ্যাপের তুলনা করুন
আমরা দৃঢ়ভাবে এটি নিশ্চিত করার জন্য সুপারিশ করছি যে একটি তৃতীয় পক্ষের অ্যাপের মাধ্যমে 10-বিট ভিডিও ক্যাপচার করার ফলাফল নেটিভ ক্যামেরা অ্যাপের সাথে অভিন্ন না হলে একই রকম হয়। এর মানে হল যে এক্সপোজার, ডাইনামিক রেঞ্জ এবং রঙের মতো টিউনিং পছন্দগুলি নেটিভ অ্যাপ থেকে তৃতীয় পক্ষের অ্যাপে নিয়ে যাওয়া উচিত। আপনার ডিভাইসে 10-বিট ক্যামেরা আউটপুট সমর্থনকারী তৃতীয় পক্ষের অ্যাপের ভিডিও রেকর্ডিং আচরণ যাচাই করতে, GitHub-এ Camera2Video নমুনা অ্যাপ ব্যবহার করুন। নিম্নলিখিত নির্দেশিকাগুলি সেন্সর, প্যানেল, দেখার শর্ত এবং বিক্রেতার পছন্দগুলির পরিবর্তনশীলতার কারণে উদ্দেশ্যমূলক সংখ্যা ছাড়াই HDR-এর দৃশ্যমান দিকগুলিকে চিত্রিত করতে কাজ করে৷
তুলনা করার জন্য প্রস্তাবিত দৃশ্য
নেটিভ ক্যামেরা অ্যাপ এবং একটি থার্ড-পার্টি অ্যাপের মধ্যে তুলনা করতে, নেটিভ ক্যামেরা অ্যাপ এবং Camera2Video নমুনা অ্যাপ উভয়ের মাধ্যমে বিভিন্ন দৃশ্য ব্যবহার করে ভিডিও ক্যাপচার করুন। তুলনা করার জন্য নিম্নলিখিত দৃশ্যগুলি ব্যবহার করার পরামর্শ দেওয়া হয়েছে:
- একটি উজ্জ্বল বস্তুর সাথে একটি মধ্য-আলো থেকে কম-আলোর দৃশ্য, যেমন একটি মোমবাতি বা ছোট উজ্জ্বল আলো যা উজ্জ্বলতার একটি উল্লেখযোগ্য পরিসর তৈরি করে। এটি অটো এক্সপোজার আচরণ এবং গতিশীল পরিসীমা নিশ্চিত করে।
- একটি গাড়িতে ক্রোম বাম্পারের মতো প্রাণবন্ত রঙ এবং প্রতিফলিত বস্তু সহ একটি উজ্জ্বল বহিরঙ্গন দৃশ্য, যা উজ্জ্বল হাইলাইট তৈরি করে। এটি আরও উজ্জ্বল হাইলাইট সহ উজ্জ্বল দৃশ্যগুলির জন্য রেন্ডারিং নিশ্চিত করে৷
- একটি মধ্য-পরিসর, নিম্ন গতিশীল পরিসরের দৃশ্য যেমন একটি বাড়ি বা অফিসে একটি অভ্যন্তরীণ প্রাকৃতিক দৃশ্য। এটি নিশ্চিত করে যে কম চরম আলো পরিস্থিতি প্রত্যাশিত হিসাবে আচরণ করে।
সমস্ত দৃশ্যের জন্য, আমরা এক্সপোজার, রঙ এবং ত্বকের টোন হ্যান্ডলিং যাচাই করার জন্য লোক এবং মুখ থাকার পরামর্শ দিই। শট-টু-শট বৈচিত্র্য হ্রাস করা ব্যাক-টু-ব্যাক তুলনা সহজ করে।
স্ট্যান্ডার্ড ডাইনামিক রেঞ্জ এবং হাই ডাইনামিক রেঞ্জের তুলনা করুন
একটি স্ট্যান্ডার্ড ডায়নামিক রেঞ্জ প্রোফাইলের উপর 10-বিট ডায়নামিক রেঞ্জ প্রোফাইল ব্যবহার করার একটি অনুভূত সুবিধা রয়েছে তা নিশ্চিত করতে, HDR ভিডিওগুলির বিপরীতে SDR (কোনও HDR প্রোফাইল নেই) ব্যবহার করে ভিডিও ক্যাপচারের তুলনা করুন যাতে HDR-এর মূল দিকগুলি ক্যাপচারগুলিতে উপস্থিত হয়। SDR এবং HDR তুলনা করতে, Camera2Video নমুনা অ্যাপ ব্যবহার করুন এবং নেটিভ ক্যামেরা অ্যাপ এবং থার্ড-পার্টি অ্যাপের তুলনা করার জন্য প্রস্তাবিত দৃশ্যগুলি ব্যবহার করুন।
প্রস্তাবিত দৃশ্যগুলিতে যাচাই করার জন্য নিম্নলিখিতগুলি মূল দিকগুলি। HDR-এ সক্ষম ডিসপ্লে প্যানেলগুলি উজ্জ্বলতার মাত্রায় পরিবর্তিত হয় (নিট বা লুমেনে পরিমাপ করা হয়), তাই নিম্নলিখিত সংখ্যাগুলিকে উদাহরণ হিসাবে বোঝানো হয়েছে:
- মধ্য-আলো থেকে কম-আলোর দৃশ্যে, মোমবাতি বা ছোট আলোর উজ্জ্বল হাইলাইটগুলি HDR ক্লিপে প্রদর্শনের জন্য সর্বাধিক উজ্জ্বলতায় (সম্ভবত 1000 নিট পর্যন্ত) রেন্ডার করা হয় এবং SDR (প্রায় 100) এর জন্য সর্বাধিক উজ্জ্বলতায় রেন্ডার করা হয় nits) SDR ক্লিপে। HDR ক্লিপে, উজ্জ্বল হাইলাইটগুলি ডিসপ্লের বাইরে উজ্জ্বল হওয়া উচিত, দৃশ্যটির প্রকৃত গতিশীল পরিসর কী ছিল সে সম্পর্কে ব্যবহারকারীর উপলব্ধি ক্যাপচার করে৷ এইচডিআর ক্লিপের তুলনায়, এসডিআর ক্লিপটি চ্যাপ্টা এবং কম উজ্জ্বল হওয়া উচিত।
- উজ্জ্বল আউটপুট দৃশ্যে, ডিভাইসের টিউনিংয়ের উপর নির্ভর করে, HDR ক্লিপ SDR ক্লিপের তুলনায় পর্দার উজ্জ্বলতায় একটি আপাত পার্থক্য দেখায়। HDR ক্লিপের জন্য, সামগ্রিক দৃশ্যের (হেডরুমের উপর নির্ভর করে) স্ক্রিনের উজ্জ্বলতা বেশি হওয়া উচিত, উদাহরণস্বরূপ, 800 নিট পর্যন্ত, এবং আরও বেশি উজ্জ্বল হাইলাইট যেমন ক্রোম বাম্পারগুলির জন্য, সর্বাধিক উজ্জ্বলতার কাছাকাছি।
- মিড-রেঞ্জে, কম ডায়নামিক রেঞ্জ ইনডোর ক্যাপচারে, HDR এবং SDR ক্লিপগুলি রঙ এবং টোনে একই রকম, HDR ক্যাপচার SDR-এর থেকে সম্ভাব্য উজ্জ্বল। HDR SDR এর চেয়ে গাঢ় হওয়া উচিত নয়। যদি টিউনিং পছন্দগুলি এটিকে অসম্ভব করে তোলে, তবে নিশ্চিত করুন যে তৃতীয় পক্ষের অ্যাপ আচরণ নেটিভ ক্যামেরা অ্যাপের আচরণের সাথে মেলে।