Android 13 থেকে শুরু করে, অ্যাপ ক্লায়েন্টরা প্রতিটি এনকোড করা ভিডিও ফ্রেমের জন্য এনকোডিং পরিসংখ্যান এক্সপোর্ট করতে ভিডিও এনকোডারকে অনুরোধ করতে পারে। ভিডিও এনকোডার থেকে পাওয়া পরিসংখ্যানের সাহায্যে, অ্যাপগুলি ভিডিও এনকোডিং টাস্ক অপ্টিমাইজ করতে পারে। যেমন, এনকোডিংয়ের আগে মাল্টিপাস এনকোডিং ও ফ্রেম প্রিপ্ৰসেসিং।
ভিডিও এনকোডিং সংক্রান্ত পরিসংখ্যান এক্সপোর্ট করতে, SoC ভেন্ডরদের অবশ্যই ভিডিও এনকোডার ড্রাইভারের আপডেট-এ বর্ণিত পদ্ধতি অনুযায়ী ভিডিও এনকোডার ড্রাইভার পরিবর্তন করতে হবে।
ভিডিও এনকোডিংয়ের পরিসংখ্যান সংক্রান্ত ডেটা
Android 13-এর মাধ্যমে, ভিডিও এনকোডার পরিসংখ্যান ডেটা এক্সপোর্ট করে যা নিম্নলিখিত সারণীতে দেখানো হয়েছে।
| এনকোডার পরিসংখ্যানের নাম | বর্ণনা |
|---|---|
| ফ্রেম পিছু গড় ব্লক QP | বিটস্ট্রিমে এনকোড করা ভিডিও ফ্রেমের সব ব্লক QP-এর গড় |
| ছবির ধরন | I বা P বা B টাইপ করুন |
ডেভেলপাররা
MediaFormat
ডেভেলপার ক্লাস ব্যবহার করে প্রতিটি ফ্রেমের জন্য পরিসংখ্যান সংক্রান্ত তথ্য পেতে পারেন।
ভিডিও এনকোডার ড্রাইভারের আপডেট
ভিডিও এনকোডিং পরিসংখ্যান এক্সপোর্ট করার সুবিধা দিতে, SoC ভেন্ডরদের অবশ্যই ভিডিও এনকোডার ড্রাইভার পরিবর্তন করতে হবে। Codec 2.0 বেসে Android 13-এ নিম্নলিখিত কী যোগ করা হয়েছে:
KEY_VIDEO_QP_AVERAGE-এ ফ্রেম পিছু ব্লকের গড় QP-এর বিবরণ দেওয়া আছে।KEY_VIDEO_QP_AVERAGEকী প্রয়োগ করার ক্ষেত্রে নিম্নলিখিত নিয়ম প্রযোজ্য:Codec 2.0-এ পাঠানোর আগে SoC এনকোডারকে অবশ্যই ব্লক QP-এর গড় মানকে নিকটতম পূর্ণসংখ্যায় রাউন্ড করতে হবে।
গড় মান শুধুমাত্র লুমা প্লেন থেকে গণনা করা হয়।
বর্তমান ফ্রেমের সব ব্লক স্কিপ করা মোডে থাকলে SoC এনকোডারকে
INT_MAXরিটার্ন করতে হবে। কোনও কোএফিসিয়েন্ট এনকোড না করা হলে এবং ফ্রেমে কোনও গুরুত্বপূর্ণ QP তথ্য এনকোড না করা হলে এই অবস্থা তৈরি হয়।
KEY_PICTURE_TYPEএনকোড করা ফ্রেমের ছবির ধরনকেPICTURE_TYPE_I,PICTURE_TYPE_P,PICTURE_TYPE_B, বাPICTURE_TYPE_UNKNOWNহিসেবে বর্ণনা করে।KEY_VIDEO_ENCODING_STATISTICS_LEVELভিডিও এনকোডার থেকে নির্গত এনকোডিং পরিসংখ্যান সংক্রান্ত তথ্যের লেভেল বর্ণনা করে, যেমন:এনকোডিং পরিসংখ্যান সম্পর্কে এনকোডার কোনও তথ্য তৈরি না করলে, এই কী
VIDEO_ENCODING_STATISTICS_LEVEL_NONEহিসেবে সেট করা হয়।এনকোডার প্রতিটি ফ্রেমের জন্য
KEY_VIDEO_QP_AVERAGEএবংKEY_PICTURE_TYPEজেনারেট করলে, এই কীVIDEO_ENCODING_STATISTICS_LEVEL_1হিসেবে সেট করা হয়।
রেফারেন্স প্রয়োগের জন্য
VideoEncodingStatisticsTest দেখুন।
যাচাইকরণ
VideoEncodingStatisticsTestভিডিও এনকোডিং পরিসংখ্যানের গড় QP অংশটি
সঠিকভাবে কাজ করে কিনা তা যাচাই করতে CTS পরীক্ষা চালান: CTS একই ইনপুট ভিডিওর দুটি এনকোডিং চালায়, একটি
উচ্চ বিটরেট সহ এবং অন্যটি কম বিটরেট সহ। CTS তারপরে দুটি এনকোডিং থেকে এক্সপোর্ট করা দুটি
গড় QP মান তুলনা করে। কম বিটরেট সহ এনকোডিং থেকে গড় QP যদি
বেশি বিটরেট সহ এনকোডিং থেকে গড় QP-এর চেয়ে বেশি হয়, তাহলে CTS পাস করে।
ভিডিও এনকোডিং পরিসংখ্যান এক্সপোর্ট করার ফিচার চালু থাকাকালীন
সেটি বন্ধ করা হয়েছে কিনা তা যাচাই করতে, নিম্নলিখিত উপায়ে VIDEO_ENCODING_STATISTICS_LEVEL_NONE কী ব্যবহার করুন:
format.setInteger(MediaFormat.KEY_VIDEO_ENCODING_STATISTICS_LEVEL, MediaFormat.VIDEO_ENCODING_STATISTICS_LEVEL_NONE);