অ্যান্ড্রয়েড 13 রিলিজে ক্যামেরা আইটিএস- এ বেশ কিছু পরিবর্তন রয়েছে। আপডেটেড পাইথন এবং প্যাকেজ সংস্করণ এবং পরীক্ষা হার্ডওয়্যার আপডেটের মতো ক্রমবর্ধমান পরিবর্তনগুলি ছাড়াও, Android 13 ভিডিও পরীক্ষা সমর্থন করে।
এই পৃষ্ঠাটি Android 13-এর জন্য ক্যামেরা আইটিএস পরিবর্তনের সংক্ষিপ্ত বিবরণ দেয়। পরিবর্তনগুলি সাতটি বিস্তৃত বিভাগে পড়ে:
- পাইথন এবং প্যাকেজ সংস্করণ
- কনফিগার ফাইল সংযোজন
- পরীক্ষা পরিবর্তন
- নতুন ট্যাবলেট-ভিত্তিক পরীক্ষা
- ভিডিও পরীক্ষা
- হার্ডওয়্যার আপডেট এবং সংযোজন
- ফোল্ডেবল টেস্টিং সাপোর্ট
পাইথন এবং প্যাকেজ সংস্করণ
অ্যান্ড্রয়েড 13 অ্যান্ড্রয়েড 12 সমর্থিত পাইথন সংস্করণ এবং লাইব্রেরি ছাড়াও নিম্নলিখিত পাইথন সংস্করণগুলিকে সমর্থন করে:
- পাইথন 3.9.2
- OpenCV 4.2.0
- নমপি 1.20.3
- Matplotlib 3.3.4
- স্কিপি 1.6.2
- pySerial 3.5
- বালিশ 8.3.1
- PyYAML 5.4.1
- মোবলি 1.11
- 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
পরীক্ষা পরিবর্তন
দৃশ্য1_1/test_black_white.py
test_black_white
টেস্টে Android এর পূর্ববর্তী সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ চ্যানেল স্যাচুরেশন চেক করা হয়েছে, যার মানে হল চ্যানেল স্যাচুরেশন চেকের জন্য প্রয়োজনীয় প্রথম API স্তরটি Android 10।
দৃশ্য1_2/test_yuv_plus_raw.py
test_yuv_plus_raw
পরীক্ষাটি RAW এর জন্য আরও ভাল সমর্থন প্রদানের জন্য নন 16:9 বা 4:3 সেন্সর পরিচালনা করে। যদি পরীক্ষাটি সেন্সর 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
Android 13-এ test_lens_position
পরীক্ষাটি বাতিল করা হয়েছে।
scene6/test_zoom.py
test_zoom
পরীক্ষাটি তিন এবং চারটি ক্যামেরা সিস্টেমের সহজ পরীক্ষা সক্ষম করার জন্য রিফ্যাক্টর করা হয়েছে। যদি ক্যামেরাটি জুমের 10x অনুপাতের পরিসরে সঠিকভাবে পরীক্ষা করে, পরীক্ষাটি সঠিকভাবে প্রস্থান করে। এটি একটি একক চার্ট দূরত্বে সঞ্চালিত হতে জুম পরীক্ষা সক্ষম করে।
scene_change/test_scene_change.py
Android 13-এ test_scene_change
পরীক্ষাটি বাতিল করা হয়েছে।
নতুন ট্যাবলেট-ভিত্তিক পরীক্ষা
Android 13-এ দুটি নতুন ট্যাবলেট-ভিত্তিক পরীক্ষা রয়েছে। উভয় পরীক্ষাই Android 13 এর সাথে লঞ্চ হওয়া ডিভাইসগুলির জন্য বাধ্যতামূলক, তবে Android 13 এ আপগ্রেড করা ডিভাইসগুলির জন্য এড়িয়ে যাওয়া হয়েছে।
দৃশ্য | পরীক্ষার নাম | প্রথম API স্তর | বর্ণনা |
---|---|---|---|
2_ক | পরীক্ষা_স্বয়ংক্রিয়_ফ্ল্যাশ | 33 | অন্ধকার দৃশ্যগুলি স্বয়ংক্রিয় ফ্ল্যাশ ট্রিগার নিশ্চিত করে৷ |
2_খ | test_yuv_jpg_capture_sameness | 33 | নিশ্চিত করে যে YUV এবং JPEG এখনও ক্যাপচারগুলি বিট-ভিত্তিক অভিন্ন৷ |
scene2_a/test_auto_flash.py
Android 13 test_auto_flash
পরীক্ষা যোগ করে।
পরামিতি
-
flash
: ফ্ল্যাশ উপলব্ধ না হলে পরীক্ষা এড়িয়ে যায়।
পদ্ধতি
পরীক্ষাটি স্বয়ংক্রিয়-ফ্ল্যাশের জন্য ক্যাপচার অনুরোধটি কনফিগার করে এবং একটি ফ্ল্যাশ ইভেন্টের প্রয়োজন এমন একটি দৃশ্য উপস্থাপন করে। অটো-এক্সপোজার অ্যালগরিদমের জন্য একটি অন্ধকার দৃশ্য উপস্থাপন করতে পরীক্ষার রিগ এবং ট্যাবলেটের আলো বন্ধ করা হয়েছে। পরীক্ষাটি স্বয়ংক্রিয়-ফ্ল্যাশ সক্ষম সহ NUM_FRAMES
ক্যাপচারের একটি ক্রম কনফিগার করে৷ যদি AE_STATE
সেটিং FLASH_REQUIRED
ফেরত দেয় পরীক্ষাটি যাচাই করে যে ক্যাপচারগুলিতে একটি ফ্ল্যাশ গুলি করা হয়েছে৷
প্রম্পট করা হলে আলো ম্যানুয়ালি নিয়ন্ত্রণ করা যেতে পারে, অথবা স্বয়ংক্রিয়ভাবে স্বয়ংক্রিয়ভাবে পরীক্ষার জন্য আলো নিয়ন্ত্রণ সহ একটি Arduino কন্ট্রোলারের সাহায্যে নিয়ন্ত্রণ করা যেতে পারে। একটি নতুন ইউটিলিটি ফোল্ডার lighting_control_utils
পরীক্ষায় আলো নিয়ন্ত্রণের জন্য কোড কেন্দ্রীভূত করে।
scene2_a/test_yuv_jpeg_capture_sameness.py
Android 13 test_yuv_jpeg_capture_sameness
পরীক্ষা যোগ করে।
পরামিতি
-
streamUseCase
: ক্যামেরা স্ট্রিম ব্যবহারের ক্ষেত্রে সমর্থন করে কিনা তা নির্ধারণ করে। -
android.jpeg.quality
: JPEG গুণমান 100 এ সেট করে।
পদ্ধতি
এই পরীক্ষাটি 1920x1440 রেজোলিউশনের বেশি না হওয়া বৃহত্তম JPEG ফর্ম্যাটের মতো একই আকৃতির অনুপাত সহ বৃহত্তম সাধারণ YUV এবং JPEG ফর্ম্যাটগুলি ব্যবহার করে দুটি চিত্র ক্যাপচার করে৷ পরীক্ষাটি jpeg.quality
কে 100 এ সেট করে এবং একটি দ্বৈত পৃষ্ঠের অনুরোধ ক্যাপচার করে। এটি তারপর উভয় চিত্রকে RGB অ্যারেতে রূপান্তর করে এবং দুটি চিত্রের মধ্যে 3D রুট গড় বর্গক্ষেত্র (RMS) পার্থক্য গণনা করে। পার্থক্য সহনশীলতা 1% এ সেট করা হয়েছে।
ভিডিও পরীক্ষা
ক্যামেরা আইটিএস অ্যান্ড্রয়েড 13-এ ভিডিও পরীক্ষার জন্য সমর্থন যোগ করে।
Android 13 নিম্নলিখিত পরীক্ষাগুলি যোগ করে:
দৃশ্য | পরীক্ষার নাম | প্রথম API স্তর | বর্ণনা |
---|---|---|---|
4 | test_preview_stabilization_fov | 33 | স্থিতিশীলতা সক্ষম করে ভিডিও পূর্বরূপ খুব বেশি ক্রপ করে না তা নিশ্চিত করে। |
4 | পরীক্ষা_ভিডিও_আসপেক্ট_অনুপাত_এবং_ফসল | 33 | ভিডিও ফরম্যাট এফওভি, অ্যাসপেক্ট রেশিও এবং ক্রপিং নিশ্চিত করে। |
সেন্সর_ফিউশন | পরীক্ষা_প্রিভিউ_স্থিতিশীলতা | 33 | প্রিভিউ স্ট্যাবিলাইজেশন কাজ নিশ্চিত করে। | সেন্সর_ফিউশন | পরীক্ষা_ভিডিও_স্থিতিশীলতা | 33 | ভিডিও স্ট্যাবিলাইজেশন কাজ নিশ্চিত করে। |
scene4/test_preview_stabilization_fov.py
Android 13 test_preview_stabilization_fov
পরীক্ষা যোগ করে। এই পরীক্ষাটি সমর্থিত পূর্বরূপ আকারগুলি পরীক্ষা করে নিশ্চিত করে যে FoV অনুপযুক্তভাবে ক্রপ করা হয়নি।
পদ্ধতি
পরীক্ষাটি দুটি ভিডিও ক্যাপচার করে, একটি প্রিভিউ স্ট্যাবিলাইজেশন চালু সহ এবং একটি প্রিভিউ স্ট্যাবিলাইজেশন অফ সহ। প্রতিটি ভিডিও থেকে একটি প্রতিনিধি ফ্রেম নির্বাচন করা হয়, এবং দুটি ভিডিওতে FoV পরিবর্তনগুলি নির্দিষ্টকরণের মধ্যে রয়েছে তা নিশ্চিত করার জন্য বিশ্লেষণ করা হয়।
বিশেষত, পরীক্ষাটি পূর্বরূপ স্থিরকরণ সহ এবং ছাড়া নিম্নলিখিত পরামিতিগুলির জন্য পরীক্ষা করে:
- বৃত্তের গোলাকারতা স্থির থাকে।
- বৃত্তের কেন্দ্র স্থিতিশীল থাকে।
- বৃত্তের আকার 20% এর বেশি পরিবর্তিত হয় না, অর্থাৎ FoV সর্বাধিক 20% পরিবর্তিত হয়।
দৃশ্য4/পরীক্ষা_ভিডিও_আস্পেক্ট_অনুপাত_এন্ড_ক্রপ.পি
Android 13 test_video_aspect_ratio_and_crop
test যোগ করে। স্থির ক্যাপচারের জন্য test_aspect_ratio_and_crop
পরীক্ষার অনুরূপ, এই পরীক্ষাটি সমর্থিত ভিডিও ফরম্যাটগুলি পরীক্ষা করে নিশ্চিত করে যে ভিডিও ফ্রেমগুলি প্রসারিত বা অনুপযুক্তভাবে কাটছে না। সমস্ত স্ব-প্রতিবেদিত ভিডিও গুণমান পরীক্ষা করা হয়। অতিরিক্তভাবে, যদি ক্যামেরা HLG10
ভিডিও সমর্থন করে, 10-বিট ভিডিও পরীক্ষা করা হয়।
Android 13 its_session_utils
এ get_available_video_qualities
পদ্ধতি যোগ করে। বিদ্যমান পরীক্ষার সাথে সাধারণ কোড শেয়ার করতে, Android 13-এ দুটি নতুন ইউটিলিটি ফাংশন, image_fov_utils
এবং video_processing_utils
অন্তর্ভুক্ত রয়েছে।
পদ্ধতি
RAW সমর্থিত না হলে পরীক্ষাটি RAW ফর্ম্যাট বা সর্বোচ্চ রেজোলিউশন JPEG ফর্ম্যাট সহ একটি রেফারেন্স চিত্র ক্যাপচার করে৷ রেফারেন্স ইমেজ থেকে, বৃত্তের আকার এবং অবস্থান নির্ধারণ করা হয়। সংক্ষিপ্ত ভিডিওগুলি তারপর সমর্থিত সমস্ত ভিডিও গুণাবলী সহ নেওয়া হয়। চূড়ান্ত রেফারেন্স ফ্রেম প্রতিটি ভিডিও গুণমান থেকে বের করা হয়. রেফারেন্স ফ্রেম থেকে, প্রতিটি ভিডিও মানের জন্য ফিল্ড-অফ-ভিউ (FoV), সেন্টারিং (ক্রপ) এবং আকৃতির অনুপাত গণনা করা হয়।
FoV গণনার জন্য, পরীক্ষাটি রেফারেন্স ইমেজ এবং ভিডিও ফরম্যাটের আকার থেকে গণনাকৃত বৃত্তের আকারের সাথে ভিডিও ফ্রেমের বৃত্তের আকারের তুলনা করে। ক্রপ চেকের জন্য, পরীক্ষাটি রেফারেন্স ইমেজ সেন্টারিংয়ের সাথে ভিডিও ফ্রেম কেন্দ্রিকের তুলনা করে। দৃষ্টিভঙ্গি অনুপাত পরীক্ষা করার জন্য, দৃশ্যটি ব্যবহার করে, যা একটি সাদা পটভূমিতে একটি বড় কালো বৃত্ত, পরীক্ষাটি বৃত্তের আকৃতির অনুপাত নির্ধারণ করে এবং যাচাই করে যে ফ্রেমটি বিকৃত হয়নি।
sensor_fusion/test_preview_stabilization.py
Android 13 test_preview_stabilization
পরীক্ষা যোগ করে, যা 1920x1080 পর্যন্ত সমস্ত সমর্থিত পূর্বরূপ গুণাবলী পরীক্ষা করে। পরীক্ষাটি সেন্সর ফিউশন টেস্ট রিগ ব্যবহার করে এবং এর জন্য নতুন রিভিশন 2 সেন্সর ফিউশন কন্ট্রোলার বা আগের Arduino কন্ট্রোলার সংস্করণগুলির একটি ফার্মওয়্যার আপগ্রেড প্রয়োজন। নতুন কন্ট্রোলার সম্পর্কে আরও বিশদ বিবরণের জন্য, হার্ডওয়্যার আপডেট এবং সংযোজন দেখুন।
পদ্ধতি
প্রিভিউ স্ট্যাবিলাইজেশন সক্ষম করে ফোনটিকে মোটামুটি 15 ডিগ্রি কোণে ধীরে ধীরে সরানো হয়। তারপরে চিত্রগুলির ঘূর্ণনকে জাইরোস্কোপের ঘূর্ণনের সাথে তুলনা করা হয়।
sensor_fusion/test_video_stabilization.py
Android 13 test_video_stabilization
পরীক্ষা যোগ করে, যা 1920x1080 পর্যন্ত সমর্থিত ভিডিও গুণাবলী পরীক্ষা করে। QCIF কম রেজোলিউশন ভিডিও গুণমান বাদ দেওয়া হয়. পরীক্ষাটি সেন্সর ফিউশন টেস্ট রিগ ব্যবহার করে এবং এর জন্য নতুন রিভিশন 2 সেন্সর ফিউশন কন্ট্রোলার বা আগের Arduino কন্ট্রোলার সংস্করণগুলির একটি ফার্মওয়্যার আপগ্রেড প্রয়োজন। নতুন কন্ট্রোলার সম্পর্কে আরও বিশদ বিবরণের জন্য, হার্ডওয়্যার আপডেট এবং সংযোজন দেখুন।
পদ্ধতি
টেস্ট রিগ ফোনটিকে প্রায় 15 ডিগ্রি কোণে ধীরে ধীরে প্রিভিউ স্ট্যাবিলাইজেশন সক্ষম করে নিয়ে যায়। তারপরে চিত্রগুলির ঘূর্ণনকে জাইরোস্কোপের ঘূর্ণনের সাথে তুলনা করা হয়।
হার্ডওয়্যার আপডেট এবং সংযোজন
Android 13-এ Arduino-ভিত্তিক রিভিশন 2 সেন্সর ফিউশন কন্ট্রোলারে একটি আপগ্রেড অন্তর্ভুক্ত রয়েছে। এই আপগ্রেডে হার্ডওয়্যার এবং ফার্মওয়্যার পরিবর্তন উভয়ই অন্তর্ভুক্ত রয়েছে। আপগ্রেড নিয়ামককে ঘূর্ণন গতি এবং বাজ নিয়ন্ত্রণ সেট করতে দেয়। আপগ্রেডটিতে একটি নতুন শিল্ড (চিত্র 1-এ দেখানো হয়েছে) অন্তর্ভুক্ত রয়েছে, যা তিনটি ঘূর্ণন চ্যানেল এবং আলো নিয়ন্ত্রণের তিনটি চ্যানেল প্রদান করে।
চিত্র 1. ঘূর্ণন এবং আলো নিয়ন্ত্রণ সহ আরডুইনো শিল্ড rev2.0
অতিরিক্তভাবে, 13-এর জন্য, ঘূর্ণন গতি নিয়ন্ত্রণ সক্ষম করতে বিদ্যমান কন্ট্রোলারের ফার্মওয়্যার আপডেট করা আবশ্যক। এই ফার্মওয়্যারটি এখান থেকে ডাউনলোড করা যেতে পারে:
নতুন কন্ট্রোলার সম্পর্কে আরও তথ্যের জন্য, Android 13 সেন্সর ফিউশন কন্ট্রোলার দেখুন।
ফোল্ডেবল টেস্টিং সাপোর্ট
অ্যান্ড্রয়েড 13 ভাঁজযোগ্য ডিভাইসগুলির জন্য পরীক্ষার সমর্থন অন্তর্ভুক্ত করে। ফোল্ডেবলের জন্য মাল্টি-ক্যামেরা API সক্ষম করতে, পরীক্ষার সময় ফোনের অবস্থা ( Folded
বা Unfolded
) প্রয়োজন৷ নন-ফোল্ডেবল ফোন সহ সমস্ত DUT-এর জন্য ফোন স্টেটের পোলিং সক্ষম করতে, DUT হোস্টের সাথে সংযুক্ত হওয়ার পরে নিম্নলিখিত adb কমান্ডটি চালান।
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier