অ্যান্ড্রয়েড ১৩ রিলিজে ক্যামেরা আইটিএস- এ বেশ কিছু পরিবর্তন আনা হয়েছে। আপডেট করা পাইথন ও প্যাকেজ ভার্সন এবং টেস্ট হার্ডওয়্যার আপডেটের মতো ক্রমবর্ধমান পরিবর্তনগুলোর পাশাপাশি, অ্যান্ড্রয়েড ১৩ ভিডিও টেস্টিং সমর্থন করে।
এই পৃষ্ঠায় অ্যান্ড্রয়েড ১৩-এর ক্যামেরা আইটিএস (Camera ITS) পরিবর্তনগুলোর সারসংক্ষেপ দেওয়া হয়েছে। এই পরিবর্তনগুলোকে সাতটি প্রধান শ্রেণীতে ভাগ করা যায়:
- পাইথন এবং প্যাকেজ সংস্করণ
- কনফিগারেশন ফাইল সংযোজন
- পরীক্ষার পরিবর্তন
- নতুন ট্যাবলেট-ভিত্তিক পরীক্ষা
- ভিডিও পরীক্ষা
- হার্ডওয়্যার আপডেট এবং সংযোজন
- ভাঁজযোগ্য পরীক্ষার সমর্থন
পাইথন এবং প্যাকেজ সংস্করণ
অ্যান্ড্রয়েড ১২-এ সমর্থিত পাইথন সংস্করণ ও লাইব্রেরিগুলো ছাড়াও অ্যান্ড্রয়েড ১৩ নিম্নলিখিত পাইথন সংস্করণগুলো সমর্থন করে:
- পাইথন ৩.৯.২
- ওপেনসিভি ৪.২.০
- নামপাই ১.২০.৩
- ম্যাটপ্লটলিব ৩.৩.৪
- Scipy 1.6.2
- পাইসিরিয়াল ৩.৫
- বালিশ ৮.৩.১
- পাইওয়াইএএমএল ৫.৪.১
- মবলি ১.১১
- FFmpeg 4.4.1
কনফিগারেশন ফাইল সংযোজন
test_auto_flash.py টেস্টের জন্য লাইটিং কন্ট্রোল যুক্ত করার কারণে, config.yml ফাইলে কন্ট্রোলার এবং লাইটিং চ্যানেলের জন্য দুটি অতিরিক্ত প্যারামিটার প্রয়োজন। পরীক্ষাধীন ডিভাইসটি (DUT) ফোল্ডেবল কিনা তা শনাক্ত করার জন্য, config.yml ফাইলে একটি তৃতীয় অতিরিক্ত প্যারামিটার প্রয়োজন, যা অবশ্যই ট্যাবলেট-ভিত্তিক এবং সেন্সর ফিউশন উভয় সেকশনেই যোগ করতে হবে।
TestBeds:
- Name: TEST_BED_TABLET_SCENES
# Test configuration for scenes[0:4, 6, _change]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False" # "True" or "False"; quotes needed
lighting_cntl: <controller-type> # "arduino" or "None"; quotes needed
lighting_ch: <controller-channel>
camera: 0
foldable_device: "False". # set "True" if testing foldable
scene: <scene-name> # if <scene-name> runs all scenes
পরীক্ষার পরিবর্তন
scene1_1/test_black_white.py
test_black_white টেস্টটিতে অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলোর সাথে সামঞ্জস্যপূর্ণ চ্যানেল স্যাচুরেশন চেকিং রয়েছে, যার অর্থ হলো চ্যানেল স্যাচুরেশন চেকের জন্য প্রয়োজনীয় প্রথম এপিআই লেভেলটি হলো অ্যান্ড্রয়েড ১০।
scene1_2/test_yuv_plus_raw.py
test_yuv_plus_raw টেস্টটি RAW-এর জন্য উন্নততর সাপোর্ট দিতে ১৬:৯ বা ৪:৩ নয় এমন সেন্সরও পরিচালনা করে। যদি টেস্টটি সেন্সরের RAW ফরম্যাট এবং YUV ক্যাপচার ফরম্যাটগুলোর মধ্যে কোনো সাধারণ ফরম্যাট খুঁজে না পায়, তবে অ্যাস্পেক্ট রেশিও ভিন্ন হলেও এটি RAW ক্যাপচারটিকে সবচেয়ে বড় YUV ক্যাপচারের সাথে তুলনা করে।
scene2_a/test_faces.py
test_faces রিফ্যাক্টর করে test_num_faces এ পরিণত করা হয়েছে।
scene2_a/test_num_faces.py
test_num_faces টেস্টটি সেন্সর ক্রপ সামলায় এবং ক্রপ করা UW ক্যামেরা ক্যাপচারে মুখের আয়তক্ষেত্রগুলিকে সঠিকভাবে স্থাপন করে।
scene3/test_lens_position.py
অ্যান্ড্রয়েড ১৩-এ test_lens_position টেস্টটি বাতিল করা হয়েছে।
scene6/test_zoom.py
তিনটি এবং চারটি ক্যামেরা সিস্টেমের সহজতর পরীক্ষার জন্য test_zoom টেস্টটিকে রিফ্যাক্টর করা হয়েছে। জুমে ১০x অনুপাতের পরিসরে ক্যামেরাটি সঠিকভাবে পরীক্ষিত হলে, টেস্টটি সঠিকভাবে শেষ হয়। এর ফলে একটিমাত্র চার্ট দূরত্বে জুম পরীক্ষা করা সম্ভব হয়।
scene_change/test_scene_change.py
অ্যান্ড্রয়েড ১৩-এ test_scene_change টেস্টটি বাতিল করা হয়েছে।
নতুন ট্যাবলেট-ভিত্তিক পরীক্ষা
অ্যান্ড্রয়েড ১৩-এ দুটি নতুন ট্যাবলেট-ভিত্তিক পরীক্ষা অন্তর্ভুক্ত করা হয়েছে। যেসব ডিভাইস অ্যান্ড্রয়েড ১৩ সহ বাজারে আসছে, তাদের জন্য এই দুটি পরীক্ষাই বাধ্যতামূলক, কিন্তু যেসব ডিভাইস অ্যান্ড্রয়েড ১৩-এ আপগ্রেড করছে, সেগুলোতে এই পরীক্ষা দুটি বাদ দেওয়া হয়েছে।
| দৃশ্য | পরীক্ষার নাম | প্রথম এপিআই স্তর | বর্ণনা |
|---|---|---|---|
| ২_ক | টেস্ট_অটো_ফ্ল্যাশ | ৩৩ | নিশ্চিত করে যে অন্ধকার দৃশ্যে স্বয়ংক্রিয় ফ্ল্যাশ চালু হয়। |
| ২_খ | test_yuv_jpg_capture_sameness | ৩৩ | নিশ্চিত করে যে YUV এবং JPEG স্থিরচিত্রগুলো বিটগতভাবে অভিন্ন। |
scene2_a/test_auto_flash.py
অ্যান্ড্রয়েড ১৩-এ test_auto_flash টেস্টটি যুক্ত করা হয়েছে।
প্যারামিটার
-
flash: ফ্ল্যাশ উপলব্ধ না থাকলে পরীক্ষাটি এড়িয়ে যাওয়া হয়।
পদ্ধতি
এই পরীক্ষাটি অটো-ফ্ল্যাশের জন্য ক্যাপচার অনুরোধ কনফিগার করে এবং এমন একটি দৃশ্য উপস্থাপন করে যেখানে একটি ফ্ল্যাশ ইভেন্টের প্রয়োজন হয়। অটো-এক্সপোজার অ্যালগরিদমের জন্য একটি অন্ধকার দৃশ্য উপস্থাপন করতে টেস্ট রিগ এবং ট্যাবলেটের আলো বন্ধ রাখা হয়। পরীক্ষাটি অটো-ফ্ল্যাশ সক্রিয় রেখে NUM_FRAMES সংখ্যক ক্যাপচারের একটি ক্রম কনফিগার করে। যদি AE_STATE সেটিংটি FLASH_REQUIRED রিটার্ন করে, তবে পরীক্ষাটি যাচাই করে যে ক্যাপচারগুলিতে একটি ফ্ল্যাশ ফায়ার হয়েছে।
নির্দেশনা অনুযায়ী আলো ম্যানুয়ালি নিয়ন্ত্রণ করা যায়, অথবা স্বয়ংক্রিয় পরীক্ষার জন্য লাইটিং কন্ট্রোল যুক্ত একটি আরডুইনো কন্ট্রোলারের মাধ্যমে স্বয়ংক্রিয়ভাবে নিয়ন্ত্রণ করা যায়। lighting_control_utils নামের একটি নতুন ইউটিলিটি ফোল্ডার পরীক্ষার সময় আলো নিয়ন্ত্রণের কোডকে কেন্দ্রীভূত করে।
scene2_a/test_yuv_jpeg_capture_sameness.py
অ্যান্ড্রয়েড ১৩-এ test_yuv_jpeg_capture_sameness টেস্টটি যুক্ত করা হয়েছে।
প্যারামিটার
-
streamUseCase: ক্যামেরাটি স্ট্রিম ইউজ কেস সমর্থন করে কিনা তা নির্ধারণ করে। -
android.jpeg.quality: জেপিইজি কোয়ালিটি ১০০-তে সেট করে।
পদ্ধতি
এই পরীক্ষাটি সবচেয়ে বড় প্রচলিত YUV এবং JPEG ফরম্যাট ব্যবহার করে দুটি ছবি তোলে, যেগুলোর অ্যাস্পেক্ট রেশিও সবচেয়ে বড় JPEG ফরম্যাটের সমান এবং রেজোলিউশন 1920x1440 অতিক্রম করে না। পরীক্ষাটি jpeg.quality কে 100-এ সেট করে এবং একটি ডুয়াল সারফেস রিকোয়েস্ট ক্যাপচার করে। এরপর এটি উভয় ছবিকে RGB অ্যারেতে রূপান্তর করে এবং ছবি দুটির মধ্যে 3D রুট মিন স্কয়ার (RMS) পার্থক্য গণনা করে। পার্থক্যের টলারেন্স 1%-এ সেট করা থাকে।
ভিডিও পরীক্ষা
অ্যান্ড্রয়েড ১৩-এ ক্যামেরা আইটিএস ভিডিও টেস্টিংয়ের সুবিধা যোগ করেছে।
অ্যান্ড্রয়েড ১৩-এ নিম্নলিখিত পরীক্ষাগুলো যোগ করা হয়েছে:
| দৃশ্য | পরীক্ষার নাম | প্রথম এপিআই স্তর | বর্ণনা |
|---|---|---|---|
| ৪ | test_preview_stabilization_fov | ৩৩ | নিশ্চিত করে যে স্টেবিলাইজেশন চালু থাকা অবস্থায় ভিডিও প্রিভিউ খুব বেশি ক্রপ হয় না। |
| ৪ | test_video_aspect_ratio_and_crop | ৩৩ | ভিডিও ফরম্যাটের ফিল্ড অফ ভিউ (FoV), অ্যাসপেক্ট রেশিও এবং ক্রপিং নিশ্চিত করে। |
| সেন্সর_ফিউশন | টেস্ট_প্রিভিউ_স্থিতিশীলতা | ৩৩ | নিশ্চিত করা হয়েছে যে প্রিভিউ স্টেবিলাইজেশন কাজ করছে। | সেন্সর_ফিউশন | test_video_stabilition | ৩৩ | ভিডিও স্ট্যাবিলাইজেশন কাজ করছে বলে নিশ্চিত করা হলো। |
scene4/test_preview_stabilization_fov.py
অ্যান্ড্রয়েড ১৩-এ test_preview_stabilization_fov টেস্টটি যুক্ত করা হয়েছে। এই টেস্টটি সমর্থিত প্রিভিউ সাইজগুলো যাচাই করে, যাতে ফিল্ড অফ ভিউ (FoV) অযাচিতভাবে ক্রপ না হয়ে যায়।
পদ্ধতি
এই পরীক্ষায় দুটি ভিডিও ধারণ করা হয়, একটিতে প্রিভিউ স্ট্যাবিলাইজেশন চালু থাকে এবং অন্যটিতে বন্ধ থাকে। প্রতিটি ভিডিও থেকে একটি প্রতিনিধিত্বমূলক ফ্রেম নির্বাচন করে বিশ্লেষণ করা হয়, যাতে নিশ্চিত করা যায় যে ভিডিও দুটির FoV (ফিল্ড অফ ভিউ) পরিবর্তন নির্দিষ্ট সীমার মধ্যে রয়েছে।
বিশেষভাবে, এই পরীক্ষাটি প্রিভিউ স্টেবিলাইজেশন সহ এবং ছাড়া নিম্নলিখিত প্যারামিটারগুলো যাচাই করে:
- বৃত্তের গোলাকারত্ব অপরিবর্তিত থাকে।
- বৃত্তের কেন্দ্র স্থির থাকে।
- বৃত্তের আকার ২০%-এর বেশি পরিবর্তিত হয় না, অর্থাৎ FoV (ফিল্ড অফ ভিউ) সর্বোচ্চ ২০% পরিবর্তিত হয়।
scene4/test_video_aspect_ratio_and_crop.py
অ্যান্ড্রয়েড ১৩-এ test_video_aspect_ratio_and_crop টেস্টটি যুক্ত করা হয়েছে। স্থিরচিত্রের জন্য ব্যবহৃত test_aspect_ratio_and_crop টেস্টের মতোই, এই টেস্টটি সমর্থিত ভিডিও ফরম্যাটগুলো পরীক্ষা করে নিশ্চিত করে যে ভিডিও ফ্রেমগুলো অনুপযুক্তভাবে প্রসারিত বা ক্রপ করা হচ্ছে না। ব্যবহারকারীর দেওয়া সমস্ত ভিডিও কোয়ালিটি পরীক্ষা করা হয়। এছাড়াও, ক্যামেরাটি HLG10 ভিডিও সাপোর্ট করলে, ১০-বিট ভিডিও পরীক্ষা করা হয়।
অ্যান্ড্রয়েড ১৩ তার its_session_utils ফাংশনে ` get_available_video_qualities মেথডটি যুক্ত করেছে। বিদ্যমান টেস্টগুলোর সাথে সাধারণ কোড শেয়ার করার জন্য, অ্যান্ড্রয়েড ১৩-এ image_fov_utils এবং video_processing_utils নামে আরও দুটি নতুন ইউটিলিটি ফাংশন অন্তর্ভুক্ত করা হয়েছে।
পদ্ধতি
পরীক্ষাটি RAW ফরম্যাটে অথবা RAW সমর্থিত না হলে সর্বোচ্চ রেজোলিউশনের JPEG ফরম্যাটে একটি রেফারেন্স ইমেজ ধারণ করে। রেফারেন্স ইমেজ থেকে বৃত্তের আকার এবং অবস্থান নির্ধারণ করা হয়। এরপর সমর্থিত সমস্ত ভিডিও কোয়ালিটিতে সংক্ষিপ্ত ভিডিও ধারণ করা হয়। প্রতিটি ভিডিও কোয়ালিটি থেকে চূড়ান্ত রেফারেন্স ফ্রেমটি বের করে নেওয়া হয়। রেফারেন্স ফ্রেম থেকে প্রতিটি ভিডিও কোয়ালিটির জন্য ফিল্ড-অফ-ভিউ (FoV), সেন্টারিং (ক্রপ) এবং অ্যাসপেক্ট রেশিও গণনা করা হয়।
FoV গণনার জন্য, পরীক্ষাটি ভিডিও ফ্রেমের বৃত্তের আকারকে রেফারেন্স ইমেজ এবং ভিডিও ফরম্যাটের আকার থেকে গণনা করা বৃত্তের আকারের সাথে তুলনা করে। ক্রপ চেকের জন্য, পরীক্ষাটি ভিডিও ফ্রেমের কেন্দ্রিকতাকে রেফারেন্স ইমেজের কেন্দ্রিকতার সাথে তুলনা করে। অ্যাস্পেক্ট রেশিও চেকের জন্য, সাদা পটভূমিতে একটি বড় কালো বৃত্তের দৃশ্যটি ব্যবহার করে, পরীক্ষাটি বৃত্তটির অ্যাস্পেক্ট রেশিও নির্ধারণ করে এবং যাচাই করে যে ফ্রেমটি বিকৃত নয়।
sensor_fusion/test_preview_stabilization.py
অ্যান্ড্রয়েড ১৩-এ test_preview_stabilization টেস্টটি যুক্ত করা হয়েছে, যা 1920x1080 পর্যন্ত সমস্ত সমর্থিত প্রিভিউ কোয়ালিটি পরীক্ষা করে। এই টেস্টটি সেন্সর ফিউশন টেস্ট রিগ ব্যবহার করে এবং এর জন্য নতুন রিভিশন ২ সেন্সর ফিউশন কন্ট্রোলার অথবা পূর্ববর্তী আরডুইনো কন্ট্রোলার সংস্করণগুলোর ফার্মওয়্যার আপগ্রেড প্রয়োজন। নতুন কন্ট্রোলার সম্পর্কে আরও বিস্তারিত জানতে, হার্ডওয়্যার আপডেট এবং সংযোজন দেখুন।
পদ্ধতি
প্রিভিউ স্ট্যাবিলাইজেশন চালু রেখে ফোনটিকে প্রায় ১৫ ডিগ্রি কোণে ধীরে ধীরে ঘোরানো হয়। এরপর ছবিগুলোর ঘূর্ণনকে জাইরোস্কোপের ঘূর্ণনের সাথে তুলনা করা হয়।
sensor_fusion/test_video_stabilization.py
অ্যান্ড্রয়েড ১৩-এ test_video_stabilization টেস্টটি যুক্ত করা হয়েছে, যা 1920x1080 পর্যন্ত সমর্থিত ভিডিও কোয়ালিটি পরীক্ষা করে। QCIF লো-রেজোলিউশন ভিডিও কোয়ালিটি এর আওতাভুক্ত নয়। এই টেস্টটি সেন্সর ফিউশন টেস্ট রিগ ব্যবহার করে এবং এর জন্য নতুন রিভিশন ২ সেন্সর ফিউশন কন্ট্রোলার অথবা পূর্ববর্তী আরডুইনো কন্ট্রোলার সংস্করণগুলোর ফার্মওয়্যার আপগ্রেড প্রয়োজন। নতুন কন্ট্রোলার সম্পর্কে আরও বিস্তারিত জানতে, হার্ডওয়্যার আপডেট এবং সংযোজন দেখুন।
পদ্ধতি
টেস্ট রিগটি প্রিভিউ স্ট্যাবিলাইজেশন চালু রেখে ফোনটিকে প্রায় ১৫ ডিগ্রি কোণে ধীরে ধীরে ঘোরায়। এরপর ছবিগুলোর ঘূর্ণনকে জাইরোস্কোপের ঘূর্ণনের সাথে তুলনা করা হয়।
হার্ডওয়্যার আপডেট এবং সংযোজন
অ্যান্ড্রয়েড ১৩-এ আরডুইনো-ভিত্তিক রিভিশন ২ সেন্সর ফিউশন কন্ট্রোলারের একটি আপগ্রেড অন্তর্ভুক্ত রয়েছে। এই আপগ্রেডে হার্ডওয়্যার এবং ফার্মওয়্যার উভয় ধরনের পরিবর্তন আনা হয়েছে। এই আপগ্রেডের ফলে কন্ট্রোলারটি ঘূর্ণন গতি এবং লাইটিং নিয়ন্ত্রণ করতে পারে। এছাড়াও এই আপগ্রেডে একটি নতুন শিল্ড (চিত্র ১-এ দেখানো) রয়েছে, যা ঘূর্ণনের জন্য তিনটি চ্যানেল এবং লাইটিং নিয়ন্ত্রণের জন্য তিনটি চ্যানেল সরবরাহ করে।

চিত্র ১. ঘূর্ণন এবং আলো নিয়ন্ত্রণ সহ আরডুইনো শিল্ড সংস্করণ ২.০
এছাড়াও, ১৩-এর জন্য, ঘূর্ণন গতি নিয়ন্ত্রণ সক্ষম করতে বিদ্যমান কন্ট্রোলারগুলির ফার্মওয়্যার অবশ্যই আপডেট করতে হবে। এই ফার্মওয়্যারটি এখান থেকে ডাউনলোড করা যাবে:
নতুন কন্ট্রোলার সম্পর্কে আরও তথ্যের জন্য, Android 13 sensor fusion controller দেখুন।
ভাঁজযোগ্য পরীক্ষার সমর্থন
অ্যান্ড্রয়েড ১৩-এ ফোল্ডেবল ডিভাইস পরীক্ষার সুবিধা অন্তর্ভুক্ত করা হয়েছে। ফোল্ডেবল ফোনের জন্য মাল্টি-ক্যামেরা এপিআই চালু করতে, পরীক্ষার সময় ফোনের অবস্থা ( Folded বা Unfolded ) জানা প্রয়োজন। নন-ফোল্ডেবল ফোন সহ সমস্ত ডিইউটি-এর জন্য ফোনের অবস্থা পোলিং চালু করতে, ডিইউটি হোস্টের সাথে সংযুক্ত হওয়ার পরে নিম্নলিখিত adb কমান্ডটি চালান।
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier