Android 13 रिलीज़ में कैमरा ITS में कई बदलाव शामिल हैं। अद्यतन पायथन और पैकेज संस्करण और परीक्षण हार्डवेयर अपडेट जैसे वृद्धिशील परिवर्तनों के अलावा, Android 13 वीडियो परीक्षण का समर्थन करता है।
यह पृष्ठ Android 13 के लिए कैमरा ITS परिवर्तनों का सार प्रस्तुत करता है। परिवर्तन सात व्यापक श्रेणियों में आते हैं:
- पायथन और पैकेज संस्करण
- कॉन्फ़िग फ़ाइल जोड़
- परीक्षण परिवर्तन
- नए टैबलेट-आधारित परीक्षण
- वीडियो परीक्षण
- हार्डवेयर अद्यतन और परिवर्धन
- तह परीक्षण समर्थन
पायथन और पैकेज संस्करण
एंड्रॉइड 13 एंड्रॉइड 12 में समर्थित पायथन संस्करणों और पुस्तकालयों के अलावा निम्नलिखित पायथन संस्करणों का समर्थन करता है:
- पायथन 3.9.2
- ओपनसीवी 4.2.0
- नम्पी 1.20.3
- माटप्लोटलिब 3.3.4
- स्किपी 1.6.2
- पायसीरियल 3.5
- तकिया 8.3.1
- पीईवाईएएमएल 5.4.1
- मोबली 1.11
- एफएफएमपीईजी 4.4.1
कॉन्फ़िग फ़ाइल जोड़
test_auto_flash.py
परीक्षण के लिए प्रकाश नियंत्रण को जोड़ने के कारण, config.yml
फ़ाइल को नियंत्रक और प्रकाश चैनल के लिए दो अतिरिक्त पैरामीटर की आवश्यकता होती है। यह पहचानने के लिए कि परीक्षण के तहत डिवाइस (डीयूटी) फोल्ड करने योग्य है या नहीं, 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
परीक्षण रॉ के लिए बेहतर समर्थन प्रदान करने के लिए गैर 16:9 या 4:3 सेंसर को संभालता है। यदि परीक्षण सेंसर RAW प्रारूप और YUV कैप्चर स्वरूपों के बीच एक सामान्य प्रारूप नहीं खोज पाता है, तो परीक्षण RAW कैप्चर की तुलना सबसे बड़े YUV कैप्चर से करता है, भले ही पहलू अनुपात भिन्न हों।
दृश्य2_ए/test_faces.py
test_faces
को test_num_faces
में रिफ्लेक्ट किया गया है।
दृश्य2_a/test_num_faces.py
test_num_faces
टेस्ट सेंसर क्रॉप को हैंडल करता है और क्रॉप किए गए UW कैमरा कैप्चर पर चेहरे के आयतों को सही ढंग से रखता है।
दृश्य3/test_lens_position.py
Android 13 में test_lens_position
टेस्ट को हटा दिया गया है।
दृश्य6/test_zoom.py
तीन और चार कैमरा सिस्टम के आसान परीक्षण को सक्षम करने के लिए test_zoom
परीक्षण को फिर से सक्रिय किया गया है। यदि कैमरा ज़ूम में 10x अनुपात सीमा पर सही ढंग से परीक्षण करता है, तो परीक्षण सही ढंग से निकल जाता है। यह जूम परीक्षण को एकल चार्ट दूरी पर निष्पादित करने में सक्षम बनाता है।
दृश्य_परिवर्तन/test_scene_change.py
Android 13 में test_scene_change
टेस्ट को हटा दिया गया है।
नए टैबलेट-आधारित परीक्षण
Android 13 में दो नए टैबलेट-आधारित परीक्षण शामिल हैं। Android 13 के साथ लॉन्च होने वाले उपकरणों के लिए दोनों परीक्षण अनिवार्य हैं, लेकिन Android 13 में अपग्रेड करने वाले उपकरणों के लिए छोड़ दिए गए हैं।
दृश्य | परीक्षण का नाम | पहला एपीआई स्तर | विवरण |
---|---|---|---|
2_अ | test_auto_flash | 33 | पुष्टि करता है कि अंधेरे दृश्य ऑटो फ्लैश को ट्रिगर करते हैं। |
2_बी | test_yuv_jpg_capture_sameness | 33 | पुष्टि करता है कि वाईयूवी और जेपीईजी अभी भी कैप्चर बिट-वार समान हैं। |
दृश्य2_ए/test_auto_flash.py
Android 13 test_auto_flash
परीक्षण जोड़ता है।
पैरामीटर
-
flash
: फ़्लैश उपलब्ध न होने पर परीक्षण छोड़ देता है।
तरीका
परीक्षण ऑटो-फ्लैश के लिए कैप्चर अनुरोध को कॉन्फ़िगर करता है और एक फ्लैश इवेंट की आवश्यकता वाले दृश्य को प्रस्तुत करता है। ऑटो-एक्सपोज़र एल्गोरिदम के लिए एक अंधेरा दृश्य पेश करने के लिए परीक्षण रिग और टैबलेट में प्रकाश बंद कर दिया गया है। परीक्षण NUM_FRAMES
कैप्चर के अनुक्रम को ऑटो-फ़्लैश सक्षम के साथ कॉन्फ़िगर करता है। यदि AE_STATE
सेटिंग FLASH_REQUIRED
है, तो परीक्षण यह सत्यापित करता है कि कैप्चर में फ़्लैश चालू हो गया है।
संकेत मिलने पर प्रकाश को मैन्युअल रूप से नियंत्रित किया जा सकता है, या स्वचालित परीक्षण के लिए जोड़े गए प्रकाश नियंत्रण के साथ Arduino नियंत्रक के साथ स्वचालित रूप से नियंत्रित किया जा सकता है। परीक्षण में lighting_control_utils
व्यवस्था को नियंत्रित करने के लिए एक नया यूटिलिटी फोल्डर 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% पर सेट है।
वीडियो परीक्षण
कैमरा ITS Android 13 में वीडियो परीक्षण के लिए समर्थन जोड़ता है।
Android 13 निम्नलिखित परीक्षण जोड़ता है:
दृश्य | परीक्षण का नाम | पहला एपीआई स्तर | विवरण |
---|---|---|---|
4 | test_preview_stabilization_fov | 33 | पुष्टि करता है कि वीडियो पूर्वावलोकन सक्षम स्थिरीकरण के साथ बहुत अधिक क्रॉप नहीं करता है। |
4 | test_video_aspect_ratio_and_crop | 33 | वीडियो प्रारूप FoV, पहलू अनुपात और क्रॉपिंग की पुष्टि करता है। |
sensor_fusion | test_preview_stabilition | 33 | पूर्वावलोकन स्थिरीकरण कार्यों की पुष्टि करता है। | sensor_fusion | test_video_stabilition | 33 | वीडियो स्थिरीकरण कार्यों की पुष्टि करता है। |
दृश्य4/test_preview_stabilization_fov.py
Android 13 test_preview_stabilization_fov
परीक्षण जोड़ता है। यह परीक्षण यह सुनिश्चित करने के लिए समर्थित पूर्वावलोकन आकारों की जाँच करता है कि FoV अनुपयुक्त रूप से क्रॉप तो नहीं किया गया है।
तरीका
परीक्षण दो वीडियो कैप्चर करता है, एक पूर्वावलोकन स्थिरीकरण के साथ, और एक पूर्वावलोकन स्थिरीकरण बंद के साथ। प्रत्येक वीडियो से एक प्रतिनिधि फ्रेम का चयन किया जाता है, और यह सुनिश्चित करने के लिए विश्लेषण किया जाता है कि दो वीडियो में एफओवी परिवर्तन विनिर्देशों के भीतर हैं।
विशेष रूप से, परीक्षण पूर्वावलोकन स्थिरीकरण के साथ और उसके बिना निम्न पैरामीटर की जांच करता है:
- वृत्त की गोलाई स्थिर रहती है।
- वृत्त का केंद्र स्थिर रहता है।
- सर्कल का आकार 20% से अधिक नहीं बदलता है, जिसका अर्थ है कि एफओवी अधिकतम 20% बदलता है।
दृश्य4/test_video_aspect_ratio_and_crop.py
Android 13 test_video_aspect_ratio_and_crop
परीक्षण जोड़ता है। अभी भी कैप्चर करने के लिए test_aspect_ratio_and_crop
परीक्षण के समान, यह परीक्षण यह सुनिश्चित करने के लिए समर्थित वीडियो प्रारूपों की जांच करता है कि वीडियो फ्रेम अनुपयुक्त रूप से खिंचे या क्रॉप तो नहीं हुए हैं। सभी स्व-रिपोर्ट किए गए वीडियो गुणों का परीक्षण किया जाता है। इसके अतिरिक्त, यदि कैमरा HLG10
वीडियो का समर्थन करता है, तो 10-बिट वीडियो का परीक्षण किया जाता है।
Android 13 get_available_video_qualities
मेथड को its_session_utils
में जोड़ता है। मौजूदा परीक्षणों के साथ सामान्य कोड साझा करने के लिए, Android 13 में दो नए यूटिलिटी फ़ंक्शंस, image_fov_utils
और video_processing_utils
भी शामिल हैं।
तरीका
यदि रॉ समर्थित नहीं है तो परीक्षण रॉ प्रारूप या उच्चतम रिज़ॉल्यूशन जेपीईजी प्रारूप के साथ एक संदर्भ छवि को कैप्चर करता है। संदर्भ छवि से, सर्कल का आकार और स्थान निर्धारित किया जाता है। लघु वीडियो तब समर्थित सभी वीडियो गुणों के साथ लिए जाते हैं। प्रत्येक वीडियो गुणवत्ता से अंतिम संदर्भ फ्रेम निकाला जाता है। संदर्भ फ़्रेम से, प्रत्येक वीडियो गुणवत्ता के लिए फ़ील्ड-ऑफ़-व्यू (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. Arduino ढाल Rev2.0 रोटेशन और प्रकाश नियंत्रण के साथ
इसके अतिरिक्त, 13 के लिए, रोटेशन गति नियंत्रण को सक्षम करने के लिए मौजूदा नियंत्रकों के फर्मवेयर को अद्यतन किया जाना चाहिए। इस फर्मवेयर को यहां से डाउनलोड किया जा सकता है:
नए कंट्रोलर के बारे में अधिक जानकारी के लिए, Android 13 सेंसर फ्यूजन कंट्रोलर देखें।
तह परीक्षण समर्थन
Android 13 में फोल्डेबल डिवाइस के लिए टेस्टिंग सपोर्ट शामिल है। फोल्डेबल्स के लिए मल्टी-कैमरा एपीआई को सक्षम करने के लिए, परीक्षण के दौरान फोन की स्थिति ( Folded
या Unfolded
) की आवश्यकता होती है। गैर-फोल्ड करने योग्य फोन समेत सभी डीयूटी के लिए फोन स्थिति के मतदान को सक्षम करने के लिए, डीयूटी होस्ट से कनेक्ट होने के बाद निम्न एडीबी कमांड चलाएं।
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier